From ac73780e04a62c5cd4b716bc45da34974cd294f7 Mon Sep 17 00:00:00 2001 From: Jan Schneider Date: Mon, 12 Jan 2009 18:25:47 +0100 Subject: [PATCH] Add Kronolith from CVS HEAD. --- kronolith/COPYING | 280 ++ kronolith/README | 87 + kronolith/add.php | 65 + kronolith/attend.php | 79 + kronolith/attendees.php | 270 ++ kronolith/calendars/create.php | 44 + kronolith/calendars/delete.php | 61 + kronolith/calendars/edit.php | 60 + kronolith/calendars/index.php | 78 + kronolith/calendars/info.php | 53 + kronolith/calendars/remote_edit.php | 73 + kronolith/calendars/remote_subscribe.php | 44 + kronolith/calendars/remote_unsubscribe.php | 61 + kronolith/config/.gitignore | 1 + kronolith/config/.htaccess | 1 + kronolith/config/conf.xml | 101 + kronolith/config/keywords.php.dist | 17 + kronolith/config/menu.php.dist | 41 + kronolith/config/prefs.php.dist | 499 ++++ kronolith/contacts.php | 79 + kronolith/data.php | 326 +++ kronolith/day.php | 43 + kronolith/delete.php | 81 + kronolith/docs/CHANGES | 926 +++++++ kronolith/docs/CREDITS | 76 + kronolith/docs/INSTALL | 267 ++ kronolith/docs/RELEASE_NOTES | 50 + kronolith/docs/TODO | 44 + kronolith/docs/UPGRADING | 122 + kronolith/docs/lighttpd-kronolith.conf | 13 + kronolith/edit.php | 185 ++ kronolith/event.php | 67 + kronolith/fb.php | 70 + kronolith/feed/.htaccess | 6 + kronolith/feed/index.php | 158 ++ kronolith/ics.php | 84 + kronolith/imple.php | 69 + kronolith/index.php | 22 + kronolith/js/calendar-panel.js | 1 + kronolith/js/embed.js | 1 + kronolith/js/src/calendar-panel.js | 35 + kronolith/js/src/embed.js | 16 + kronolith/js/src/views.js | 114 + kronolith/js/views.js | 1 + kronolith/lib/Block/month.php | 212 ++ kronolith/lib/Block/monthlist.php | 184 ++ kronolith/lib/Block/prevmonthlist.php | 174 ++ kronolith/lib/Block/summary.php | 199 ++ kronolith/lib/Block/tree_alarms.php | 70 + kronolith/lib/Block/tree_menu.php | 41 + kronolith/lib/Day.php | 127 + kronolith/lib/Driver.php | 2462 ++++++++++++++++++ kronolith/lib/Driver/holidays.php | 253 ++ kronolith/lib/Driver/ical.php | 159 ++ kronolith/lib/Driver/kolab.php | 1651 ++++++++++++ kronolith/lib/Driver/sql.php | 1031 ++++++++ kronolith/lib/FBView.php | 264 ++ kronolith/lib/FBView/day.php | 64 + kronolith/lib/FBView/month.php | 101 + kronolith/lib/FBView/week.php | 95 + kronolith/lib/FBView/workweek.php | 23 + kronolith/lib/Forms/CreateCalendar.php | 54 + kronolith/lib/Forms/DeleteCalendar.php | 94 + kronolith/lib/Forms/EditCalendar.php | 70 + kronolith/lib/Forms/EditRemoteCalendar.php | 79 + kronolith/lib/Forms/SubscribeRemoteCalendar.php | 76 + kronolith/lib/Forms/UnsubscribeRemoteCalendar.php | 66 + kronolith/lib/FreeBusy.php | 253 ++ kronolith/lib/Imple.php | 103 + kronolith/lib/Imple/ContactAutoCompleter.php | 242 ++ kronolith/lib/Imple/Embed.php | 125 + kronolith/lib/Kronolith.php | 2092 +++++++++++++++ kronolith/lib/Maintenance/Task/purge_events.php | 78 + kronolith/lib/Maintenance/kronolith.php | 68 + kronolith/lib/Scheduler/kronolith.php | 296 +++ kronolith/lib/Storage.php | 142 ++ kronolith/lib/Storage/kolab.php | 88 + kronolith/lib/Storage/sql.php | 187 ++ kronolith/lib/Views/Day.php | 504 ++++ kronolith/lib/Views/DeleteEvent.php | 84 + kronolith/lib/Views/EditEvent.php | 129 + kronolith/lib/Views/Event.php | 142 ++ kronolith/lib/Views/ExportEvent.php | 44 + kronolith/lib/Views/Month.php | 260 ++ kronolith/lib/Views/Week.php | 373 +++ kronolith/lib/Views/WorkWeek.php | 26 + kronolith/lib/Views/Year.php | 183 ++ kronolith/lib/api.php | 1437 +++++++++++ kronolith/lib/base.php | 118 + kronolith/lib/prefs.php | 199 ++ kronolith/lib/tests/allday.ics | 23 + kronolith/lib/tests/allday.phpt | 53 + kronolith/lib/tests/bug6031.phpt | 90 + kronolith/lib/tests/bug7068.ics | 31 + kronolith/lib/tests/bug7068.phpt | 43 + kronolith/lib/tests/toicalendar.phpt | 175 ++ kronolith/lib/version.php | 1 + kronolith/locale/ar_SY/LC_MESSAGES/kronolith.mo | Bin 0 -> 35514 bytes kronolith/locale/bg_BG/LC_MESSAGES/kronolith.mo | Bin 0 -> 64517 bytes kronolith/locale/ca_ES/LC_MESSAGES/kronolith.mo | Bin 0 -> 161703 bytes kronolith/locale/ca_ES/help.xml | 149 ++ kronolith/locale/cs_CZ/LC_MESSAGES/kronolith.mo | Bin 0 -> 154895 bytes kronolith/locale/da_DK/LC_MESSAGES/kronolith.mo | Bin 0 -> 149991 bytes kronolith/locale/de_DE/LC_MESSAGES/kronolith.mo | Bin 0 -> 195063 bytes kronolith/locale/de_DE/help.xml | 163 ++ kronolith/locale/el_GR/LC_MESSAGES/kronolith.mo | Bin 0 -> 151693 bytes kronolith/locale/en_US/help.xml | 187 ++ kronolith/locale/es_ES/LC_MESSAGES/kronolith.mo | Bin 0 -> 185724 bytes kronolith/locale/es_ES/help.xml | 145 ++ kronolith/locale/et_EE/LC_MESSAGES/kronolith.mo | Bin 0 -> 167037 bytes kronolith/locale/eu_ES/LC_MESSAGES/kronolith.mo | Bin 0 -> 167753 bytes kronolith/locale/eu_ES/help.xml | 89 + kronolith/locale/fi_FI/LC_MESSAGES/kronolith.mo | Bin 0 -> 181267 bytes kronolith/locale/fi_FI/help.xml | 170 ++ kronolith/locale/fr_FR/LC_MESSAGES/kronolith.mo | Bin 0 -> 183728 bytes kronolith/locale/fr_FR/help.xml | 146 ++ kronolith/locale/hu_HU/LC_MESSAGES/kronolith.mo | Bin 0 -> 184126 bytes kronolith/locale/hu_HU/help.xml | 183 ++ kronolith/locale/it_IT/LC_MESSAGES/kronolith.mo | Bin 0 -> 181868 bytes kronolith/locale/ja_JP/LC_MESSAGES/kronolith.mo | Bin 0 -> 165018 bytes kronolith/locale/ko_KR/LC_MESSAGES/kronolith.mo | Bin 0 -> 33063 bytes kronolith/locale/lt_LT/LC_MESSAGES/kronolith.mo | Bin 0 -> 172362 bytes kronolith/locale/lv_LV/LC_MESSAGES/kronolith.mo | Bin 0 -> 28494 bytes kronolith/locale/nb_NO/LC_MESSAGES/kronolith.mo | Bin 0 -> 101955 bytes kronolith/locale/nl_NL/LC_MESSAGES/kronolith.mo | Bin 0 -> 176140 bytes kronolith/locale/nn_NO/LC_MESSAGES/kronolith.mo | Bin 0 -> 35310 bytes kronolith/locale/pl_PL/LC_MESSAGES/kronolith.mo | Bin 0 -> 91037 bytes kronolith/locale/pt_BR/LC_MESSAGES/kronolith.mo | Bin 0 -> 183794 bytes kronolith/locale/pt_BR/help.xml | 147 ++ kronolith/locale/pt_PT/LC_MESSAGES/kronolith.mo | Bin 0 -> 169167 bytes kronolith/locale/ro_RO/LC_MESSAGES/kronolith.mo | Bin 0 -> 22092 bytes kronolith/locale/ru_RU/LC_MESSAGES/kronolith.mo | Bin 0 -> 30413 bytes kronolith/locale/sk_SK/LC_MESSAGES/kronolith.mo | Bin 0 -> 180971 bytes kronolith/locale/sl_SI/LC_MESSAGES/kronolith.mo | Bin 0 -> 154454 bytes kronolith/locale/sv_SE/LC_MESSAGES/kronolith.mo | Bin 0 -> 108897 bytes kronolith/locale/tr_TR/LC_MESSAGES/kronolith.mo | Bin 0 -> 176838 bytes kronolith/locale/tr_TR/help.xml | 135 + kronolith/locale/uk_UA/LC_MESSAGES/kronolith.mo | Bin 0 -> 143911 bytes kronolith/locale/zh_CN/LC_MESSAGES/kronolith.mo | Bin 0 -> 102212 bytes kronolith/locale/zh_TW/LC_MESSAGES/kronolith.mo | Bin 0 -> 157232 bytes kronolith/month.php | 43 + kronolith/new.php | 81 + kronolith/packaging/redhat/kronolith.README | 9 + kronolith/packaging/redhat/kronolith.conf | 32 + kronolith/packaging/redhat/kronolith.spec | 131 + kronolith/perms.php | 279 ++ kronolith/po/.cvsignore | 1 + kronolith/po/README | 1 + kronolith/po/ar_SY.po | 996 ++++++++ kronolith/po/bg_BG.po | 850 +++++++ kronolith/po/ca_ES.po | 1898 ++++++++++++++ kronolith/po/cs_CZ.po | 1602 ++++++++++++ kronolith/po/da_DK.po | 2020 +++++++++++++++ kronolith/po/de_DE.po | 2674 ++++++++++++++++++++ kronolith/po/el_GR.po | 1716 +++++++++++++ kronolith/po/es_ES.po | 2578 +++++++++++++++++++ kronolith/po/et_EE.po | 2497 ++++++++++++++++++ kronolith/po/eu_ES.po | 1933 ++++++++++++++ kronolith/po/fi_FI.po | 2557 +++++++++++++++++++ kronolith/po/fr_FR.po | 2583 +++++++++++++++++++ kronolith/po/hu_HU.po | 2572 +++++++++++++++++++ kronolith/po/it_IT.po | 2564 +++++++++++++++++++ kronolith/po/ja_JP.po | 2430 ++++++++++++++++++ kronolith/po/ko_KR.po | 670 +++++ kronolith/po/kronolith.pot | 2513 ++++++++++++++++++ kronolith/po/lt_LT.po | 2446 ++++++++++++++++++ kronolith/po/lv_LV.po | 749 ++++++ kronolith/po/nb_NO.po | 957 +++++++ kronolith/po/nl_NL.po | 2463 ++++++++++++++++++ kronolith/po/nn_NO.po | 680 +++++ kronolith/po/pl_PL.po | 2196 ++++++++++++++++ kronolith/po/pt_BR.po | 2570 +++++++++++++++++++ kronolith/po/pt_PT.po | 1920 ++++++++++++++ kronolith/po/ro_RO.po | 451 ++++ kronolith/po/ru_RU.po | 680 +++++ kronolith/po/sk_SK.po | 2627 +++++++++++++++++++ kronolith/po/sl_SI.po | 2047 +++++++++++++++ kronolith/po/sv_SE.po | 1768 +++++++++++++ kronolith/po/tr_TR.po | 2641 +++++++++++++++++++ kronolith/po/uk_UA.po | 2383 +++++++++++++++++ kronolith/po/zh_CN.po | 2196 ++++++++++++++++ kronolith/po/zh_TW.po | 2513 ++++++++++++++++++ kronolith/pref_api.php | 71 + kronolith/scripts/.htaccess | 1 + kronolith/scripts/agenda.php | 37 + kronolith/scripts/import_icals.php | 71 + kronolith/scripts/import_squirrelmail_calendar.php | 164 ++ kronolith/scripts/sql/kronolith.mssql.sql | 82 + kronolith/scripts/sql/kronolith.mysql.sql | 82 + kronolith/scripts/sql/kronolith.oci8.sql | 82 + kronolith/scripts/sql/kronolith.pgsql.sql | 82 + kronolith/scripts/sql/kronolith.sql | 82 + kronolith/scripts/sql/kronolith.xml | 470 ++++ kronolith/scripts/upgrades/1.1_to_2.0.mysql.sql | 27 + kronolith/scripts/upgrades/1.1_to_2.0.oci8.sql | 25 + kronolith/scripts/upgrades/1.1_to_2.0.pgsql.sql | 56 + kronolith/scripts/upgrades/2.1_to_2.2.pgsql.sql | 48 + kronolith/scripts/upgrades/2.1_to_2.2.sql | 43 + kronolith/scripts/upgrades/2.2_to_2.3.oci8.sql | 3 + kronolith/scripts/upgrades/2.2_to_2.3.pgsql.sql | 3 + kronolith/scripts/upgrades/2.2_to_2.3.sql | 3 + .../upgrades/2006-03-16_add_private_flag.sql | 3 + .../2006-08-20_fix_recur_int_fields.mysql.sql | 3 + .../upgrades/2007-03-23_add_recur_count.sql | 1 + .../upgrades/2008-06-17_fix_varchar_lengths.sql | 2 + .../scripts/upgrades/2008-09-23_fix_group_uid.sql | 1 + .../upgrades/2008-10-21_add_allday_flag.pgsql.sql | 5 + .../upgrades/2008-10-21_add_allday_flag.sql | 5 + .../upgrades/convert_datatree_shares_to_sql.php | 204 ++ kronolith/scripts/upgrades/convert_to_utc.php | 72 + kronolith/search.php | 130 + kronolith/templates/attendees/attendees.inc | 107 + kronolith/templates/calendar_info.php | 40 + kronolith/templates/calendar_list.php | 61 + kronolith/templates/calendar_titles.inc | 9 + kronolith/templates/category_legend.inc | 26 + kronolith/templates/common-header.inc | 56 + kronolith/templates/contacts/contacts.inc | 201 ++ kronolith/templates/data/export.inc | 211 ++ kronolith/templates/data/import.inc | 35 + kronolith/templates/day/all_day.inc | 8 + kronolith/templates/day/head.inc | 10 + kronolith/templates/day/head_side_by_side.inc | 13 + kronolith/templates/day/rows.html | 12 + kronolith/templates/delete/delete.inc | 32 + kronolith/templates/delete/one.inc | 28 + kronolith/templates/edit/edit.inc | 390 +++ kronolith/templates/edit/edit_timespan.inc | 126 + kronolith/templates/edit/javascript.inc | 276 ++ kronolith/templates/fbview/busyblock.html | 1 + kronolith/templates/fbview/emptyblock.html | 1 + kronolith/templates/fbview/header.html | 3 + kronolith/templates/fbview/legend.html | 15 + kronolith/templates/fbview/meetingblock.html | 1 + kronolith/templates/fbview/row.html | 4 + kronolith/templates/fbview/section.html | 13 + kronolith/templates/fbview/unknownblock.html | 1 + kronolith/templates/feeds/atom.xml | 34 + kronolith/templates/javascript/goto.js | 318 +++ kronolith/templates/javascript_defs.php | 24 + kronolith/templates/menu.inc | 4 + kronolith/templates/month/head.inc | 28 + kronolith/templates/month/head_side_by_side.inc | 25 + kronolith/templates/panel.inc | 89 + kronolith/templates/perms/perms.inc | 346 +++ .../templates/prefs/default_alarm_management.inc | 32 + kronolith/templates/prefs/fb_cals_select.inc | 31 + kronolith/templates/prefs/shareselect.inc | 16 + kronolith/templates/prefs/sourceselect.inc | 338 +++ kronolith/templates/search/empty.inc | 4 + kronolith/templates/search/event_footers.inc | 1 + kronolith/templates/search/event_headers.inc | 9 + kronolith/templates/search/event_summaries.inc | 10 + kronolith/templates/search/header.inc | 7 + kronolith/templates/search/search.inc | 67 + kronolith/templates/search/search_advanced.inc | 114 + kronolith/templates/view/view.inc | 185 ++ kronolith/templates/week/head.inc | 36 + kronolith/templates/week/head_side_by_side.inc | 13 + kronolith/templates/year/head.inc | 7 + kronolith/test.php | 59 + kronolith/themes/bluewhite/screen.css | 27 + kronolith/themes/burntorange/screen.css | 10 + kronolith/themes/categoryCSS.php | 36 + kronolith/themes/embed.css | 106 + .../themes/fadetogreen/graphics/headerbox.png | Bin 0 -> 125 bytes kronolith/themes/fadetogreen/screen.css | 41 + kronolith/themes/feed-rss.xsl | 83 + kronolith/themes/graphics/addressbook_browse.png | Bin 0 -> 263 bytes kronolith/themes/graphics/alarm-000.png | Bin 0 -> 180 bytes kronolith/themes/graphics/alarm-fff.png | Bin 0 -> 180 bytes kronolith/themes/graphics/alarm.png | Bin 0 -> 422 bytes kronolith/themes/graphics/attendees.png | Bin 0 -> 626 bytes kronolith/themes/graphics/az.png | Bin 0 -> 117 bytes kronolith/themes/graphics/calendars.png | Bin 0 -> 241 bytes kronolith/themes/graphics/dayview.png | Bin 0 -> 201 bytes kronolith/themes/graphics/delete-000.png | Bin 0 -> 163 bytes kronolith/themes/graphics/delete-fff.png | Bin 0 -> 163 bytes kronolith/themes/graphics/edit-000.png | Bin 0 -> 183 bytes kronolith/themes/graphics/edit-fff.png | Bin 0 -> 183 bytes kronolith/themes/graphics/favicon.ico | Bin 0 -> 1406 bytes kronolith/themes/graphics/goto.png | Bin 0 -> 430 bytes kronolith/themes/graphics/kronolith.png | Bin 0 -> 241 bytes kronolith/themes/graphics/loading.gif | Bin 0 -> 1737 bytes kronolith/themes/graphics/minus.png | Bin 0 -> 203 bytes kronolith/themes/graphics/monthview.png | Bin 0 -> 241 bytes kronolith/themes/graphics/new.png | Bin 0 -> 501 bytes kronolith/themes/graphics/new_big.png | Bin 0 -> 254 bytes kronolith/themes/graphics/new_small.png | Bin 0 -> 224 bytes kronolith/themes/graphics/plus.png | Bin 0 -> 229 bytes kronolith/themes/graphics/private-000.png | Bin 0 -> 246 bytes kronolith/themes/graphics/private-fff.png | Bin 0 -> 188 bytes kronolith/themes/graphics/recur-000.png | Bin 0 -> 180 bytes kronolith/themes/graphics/recur-fff.png | Bin 0 -> 180 bytes kronolith/themes/graphics/redbox_spinner.gif | Bin 0 -> 6820 bytes kronolith/themes/graphics/search.png | Bin 0 -> 794 bytes kronolith/themes/graphics/today.png | Bin 0 -> 372 bytes kronolith/themes/graphics/unknown-background.png | Bin 0 -> 116 bytes kronolith/themes/graphics/weekview.png | Bin 0 -> 213 bytes kronolith/themes/graphics/workweekview.png | Bin 0 -> 223 bytes kronolith/themes/graphics/yearview.png | Bin 0 -> 219 bytes kronolith/themes/graphics/za.png | Bin 0 -> 119 bytes kronolith/themes/mozilla/screen.css | 7 + kronolith/themes/print/screen.css | 57 + kronolith/themes/screen.css | 465 ++++ .../themes/silver/graphics/addressbook_browse.png | Bin 0 -> 770 bytes kronolith/themes/silver/graphics/alarm-000.png | Bin 0 -> 180 bytes kronolith/themes/silver/graphics/alarm-fff.png | Bin 0 -> 180 bytes kronolith/themes/silver/graphics/alarm.png | Bin 0 -> 789 bytes kronolith/themes/silver/graphics/attendees.png | Bin 0 -> 743 bytes kronolith/themes/silver/graphics/calendars.png | Bin 0 -> 626 bytes kronolith/themes/silver/graphics/dayview.png | Bin 0 -> 572 bytes kronolith/themes/silver/graphics/delete-000.png | Bin 0 -> 163 bytes kronolith/themes/silver/graphics/delete-fff.png | Bin 0 -> 163 bytes kronolith/themes/silver/graphics/edit-000.png | Bin 0 -> 172 bytes kronolith/themes/silver/graphics/edit-fff.png | Bin 0 -> 197 bytes kronolith/themes/silver/graphics/favicon.ico | Bin 0 -> 1150 bytes kronolith/themes/silver/graphics/goto.png | Bin 0 -> 753 bytes kronolith/themes/silver/graphics/kronolith.png | Bin 0 -> 626 bytes kronolith/themes/silver/graphics/loading.gif | Bin 0 -> 1737 bytes kronolith/themes/silver/graphics/minus.png | Bin 0 -> 746 bytes kronolith/themes/silver/graphics/monthview.png | Bin 0 -> 595 bytes kronolith/themes/silver/graphics/new.png | Bin 0 -> 703 bytes kronolith/themes/silver/graphics/new_big.png | Bin 0 -> 254 bytes kronolith/themes/silver/graphics/new_small.png | Bin 0 -> 27028 bytes kronolith/themes/silver/graphics/plus.png | Bin 0 -> 733 bytes kronolith/themes/silver/graphics/private-000.png | Bin 0 -> 246 bytes kronolith/themes/silver/graphics/private-fff.png | Bin 0 -> 188 bytes kronolith/themes/silver/graphics/recur-000.png | Bin 0 -> 180 bytes kronolith/themes/silver/graphics/recur-fff.png | Bin 0 -> 180 bytes kronolith/themes/silver/graphics/search.png | Bin 0 -> 692 bytes kronolith/themes/silver/graphics/today.png | Bin 0 -> 806 bytes .../themes/silver/graphics/unknown-background.png | Bin 0 -> 116 bytes kronolith/themes/silver/graphics/weekview.png | Bin 0 -> 480 bytes kronolith/themes/silver/graphics/workweekview.png | Bin 0 -> 480 bytes kronolith/themes/silver/graphics/yearview.png | Bin 0 -> 675 bytes kronolith/themes/silver/screen.css | 22 + kronolith/themes/silver/themed_graphics | 0 kronolith/themes/simplex/screen.css | 24 + kronolith/themes/sounds/theetone.wav | Bin 0 -> 24776 bytes .../tango-blue/graphics/addressbook_browse.png | Bin 0 -> 263 bytes kronolith/themes/tango-blue/graphics/alarm-000.png | Bin 0 -> 180 bytes kronolith/themes/tango-blue/graphics/alarm-fff.png | Bin 0 -> 180 bytes kronolith/themes/tango-blue/graphics/alarm.png | Bin 0 -> 422 bytes kronolith/themes/tango-blue/graphics/attendees.png | Bin 0 -> 911 bytes kronolith/themes/tango-blue/graphics/calendars.png | Bin 0 -> 416 bytes kronolith/themes/tango-blue/graphics/dayview.png | Bin 0 -> 320 bytes .../themes/tango-blue/graphics/delete-000.png | Bin 0 -> 163 bytes .../themes/tango-blue/graphics/delete-fff.png | Bin 0 -> 163 bytes kronolith/themes/tango-blue/graphics/edit-000.png | Bin 0 -> 172 bytes kronolith/themes/tango-blue/graphics/edit-fff.png | Bin 0 -> 197 bytes kronolith/themes/tango-blue/graphics/favicon.ico | Bin 0 -> 1406 bytes kronolith/themes/tango-blue/graphics/goto.png | Bin 0 -> 456 bytes kronolith/themes/tango-blue/graphics/kronolith.png | Bin 0 -> 416 bytes kronolith/themes/tango-blue/graphics/loading.gif | Bin 0 -> 1737 bytes kronolith/themes/tango-blue/graphics/minus.png | Bin 0 -> 203 bytes kronolith/themes/tango-blue/graphics/monthview.png | Bin 0 -> 416 bytes kronolith/themes/tango-blue/graphics/new.png | Bin 0 -> 897 bytes kronolith/themes/tango-blue/graphics/new_big.png | Bin 0 -> 254 bytes kronolith/themes/tango-blue/graphics/new_small.png | Bin 0 -> 266 bytes kronolith/themes/tango-blue/graphics/plus.png | Bin 0 -> 229 bytes .../themes/tango-blue/graphics/private-000.png | Bin 0 -> 246 bytes .../themes/tango-blue/graphics/private-fff.png | Bin 0 -> 188 bytes kronolith/themes/tango-blue/graphics/recur-000.png | Bin 0 -> 180 bytes kronolith/themes/tango-blue/graphics/recur-fff.png | Bin 0 -> 180 bytes kronolith/themes/tango-blue/graphics/search.png | Bin 0 -> 794 bytes kronolith/themes/tango-blue/graphics/today.png | Bin 0 -> 606 bytes .../tango-blue/graphics/unknown-background.png | Bin 0 -> 116 bytes kronolith/themes/tango-blue/graphics/weekview.png | Bin 0 -> 337 bytes .../themes/tango-blue/graphics/workweekview.png | Bin 0 -> 369 bytes kronolith/themes/tango-blue/graphics/yearview.png | Bin 0 -> 219 bytes kronolith/themes/tango-blue/screen.css | 25 + kronolith/themes/tango-blue/themed_graphics | 0 kronolith/view.php | 21 + kronolith/week.php | 43 + kronolith/workweek.php | 43 + kronolith/year.php | 43 + 377 files changed, 94328 insertions(+) create mode 100644 kronolith/COPYING create mode 100644 kronolith/README create mode 100644 kronolith/add.php create mode 100644 kronolith/attend.php create mode 100644 kronolith/attendees.php create mode 100644 kronolith/calendars/create.php create mode 100644 kronolith/calendars/delete.php create mode 100644 kronolith/calendars/edit.php create mode 100644 kronolith/calendars/index.php create mode 100644 kronolith/calendars/info.php create mode 100644 kronolith/calendars/remote_edit.php create mode 100644 kronolith/calendars/remote_subscribe.php create mode 100644 kronolith/calendars/remote_unsubscribe.php create mode 100644 kronolith/config/.gitignore create mode 100644 kronolith/config/.htaccess create mode 100644 kronolith/config/conf.xml create mode 100644 kronolith/config/keywords.php.dist create mode 100644 kronolith/config/menu.php.dist create mode 100644 kronolith/config/prefs.php.dist create mode 100644 kronolith/contacts.php create mode 100644 kronolith/data.php create mode 100644 kronolith/day.php create mode 100644 kronolith/delete.php create mode 100644 kronolith/docs/CHANGES create mode 100644 kronolith/docs/CREDITS create mode 100644 kronolith/docs/INSTALL create mode 100644 kronolith/docs/RELEASE_NOTES create mode 100644 kronolith/docs/TODO create mode 100644 kronolith/docs/UPGRADING create mode 100755 kronolith/docs/lighttpd-kronolith.conf create mode 100644 kronolith/edit.php create mode 100644 kronolith/event.php create mode 100644 kronolith/fb.php create mode 100644 kronolith/feed/.htaccess create mode 100644 kronolith/feed/index.php create mode 100644 kronolith/ics.php create mode 100644 kronolith/imple.php create mode 100644 kronolith/index.php create mode 100644 kronolith/js/calendar-panel.js create mode 100644 kronolith/js/embed.js create mode 100644 kronolith/js/src/calendar-panel.js create mode 100644 kronolith/js/src/embed.js create mode 100644 kronolith/js/src/views.js create mode 100644 kronolith/js/views.js create mode 100644 kronolith/lib/Block/month.php create mode 100644 kronolith/lib/Block/monthlist.php create mode 100644 kronolith/lib/Block/prevmonthlist.php create mode 100644 kronolith/lib/Block/summary.php create mode 100644 kronolith/lib/Block/tree_alarms.php create mode 100644 kronolith/lib/Block/tree_menu.php create mode 100644 kronolith/lib/Day.php create mode 100644 kronolith/lib/Driver.php create mode 100644 kronolith/lib/Driver/holidays.php create mode 100644 kronolith/lib/Driver/ical.php create mode 100644 kronolith/lib/Driver/kolab.php create mode 100644 kronolith/lib/Driver/sql.php create mode 100644 kronolith/lib/FBView.php create mode 100644 kronolith/lib/FBView/day.php create mode 100644 kronolith/lib/FBView/month.php create mode 100644 kronolith/lib/FBView/week.php create mode 100644 kronolith/lib/FBView/workweek.php create mode 100644 kronolith/lib/Forms/CreateCalendar.php create mode 100644 kronolith/lib/Forms/DeleteCalendar.php create mode 100644 kronolith/lib/Forms/EditCalendar.php create mode 100644 kronolith/lib/Forms/EditRemoteCalendar.php create mode 100644 kronolith/lib/Forms/SubscribeRemoteCalendar.php create mode 100644 kronolith/lib/Forms/UnsubscribeRemoteCalendar.php create mode 100644 kronolith/lib/FreeBusy.php create mode 100644 kronolith/lib/Imple.php create mode 100644 kronolith/lib/Imple/ContactAutoCompleter.php create mode 100644 kronolith/lib/Imple/Embed.php create mode 100644 kronolith/lib/Kronolith.php create mode 100644 kronolith/lib/Maintenance/Task/purge_events.php create mode 100644 kronolith/lib/Maintenance/kronolith.php create mode 100644 kronolith/lib/Scheduler/kronolith.php create mode 100644 kronolith/lib/Storage.php create mode 100644 kronolith/lib/Storage/kolab.php create mode 100644 kronolith/lib/Storage/sql.php create mode 100644 kronolith/lib/Views/Day.php create mode 100644 kronolith/lib/Views/DeleteEvent.php create mode 100644 kronolith/lib/Views/EditEvent.php create mode 100644 kronolith/lib/Views/Event.php create mode 100644 kronolith/lib/Views/ExportEvent.php create mode 100644 kronolith/lib/Views/Month.php create mode 100644 kronolith/lib/Views/Week.php create mode 100644 kronolith/lib/Views/WorkWeek.php create mode 100644 kronolith/lib/Views/Year.php create mode 100644 kronolith/lib/api.php create mode 100644 kronolith/lib/base.php create mode 100644 kronolith/lib/prefs.php create mode 100644 kronolith/lib/tests/allday.ics create mode 100644 kronolith/lib/tests/allday.phpt create mode 100644 kronolith/lib/tests/bug6031.phpt create mode 100644 kronolith/lib/tests/bug7068.ics create mode 100644 kronolith/lib/tests/bug7068.phpt create mode 100644 kronolith/lib/tests/toicalendar.phpt create mode 100644 kronolith/lib/version.php create mode 100644 kronolith/locale/ar_SY/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/bg_BG/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/ca_ES/LC_MESSAGES/kronolith.mo create mode 100755 kronolith/locale/ca_ES/help.xml create mode 100644 kronolith/locale/cs_CZ/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/da_DK/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/de_DE/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/de_DE/help.xml create mode 100644 kronolith/locale/el_GR/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/en_US/help.xml create mode 100644 kronolith/locale/es_ES/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/es_ES/help.xml create mode 100644 kronolith/locale/et_EE/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/eu_ES/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/eu_ES/help.xml create mode 100644 kronolith/locale/fi_FI/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/fi_FI/help.xml create mode 100644 kronolith/locale/fr_FR/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/fr_FR/help.xml create mode 100644 kronolith/locale/hu_HU/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/hu_HU/help.xml create mode 100644 kronolith/locale/it_IT/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/ja_JP/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/ko_KR/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/lt_LT/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/lv_LV/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/nb_NO/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/nl_NL/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/nn_NO/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/pl_PL/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/pt_BR/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/pt_BR/help.xml create mode 100644 kronolith/locale/pt_PT/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/ro_RO/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/ru_RU/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/sk_SK/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/sl_SI/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/sv_SE/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/tr_TR/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/tr_TR/help.xml create mode 100644 kronolith/locale/uk_UA/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/zh_CN/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/locale/zh_TW/LC_MESSAGES/kronolith.mo create mode 100644 kronolith/month.php create mode 100644 kronolith/new.php create mode 100644 kronolith/packaging/redhat/kronolith.README create mode 100644 kronolith/packaging/redhat/kronolith.conf create mode 100644 kronolith/packaging/redhat/kronolith.spec create mode 100644 kronolith/perms.php create mode 100644 kronolith/po/.cvsignore create mode 100644 kronolith/po/README create mode 100644 kronolith/po/ar_SY.po create mode 100644 kronolith/po/bg_BG.po create mode 100644 kronolith/po/ca_ES.po create mode 100644 kronolith/po/cs_CZ.po create mode 100644 kronolith/po/da_DK.po create mode 100644 kronolith/po/de_DE.po create mode 100644 kronolith/po/el_GR.po create mode 100644 kronolith/po/es_ES.po create mode 100644 kronolith/po/et_EE.po create mode 100644 kronolith/po/eu_ES.po create mode 100644 kronolith/po/fi_FI.po create mode 100644 kronolith/po/fr_FR.po create mode 100644 kronolith/po/hu_HU.po create mode 100644 kronolith/po/it_IT.po create mode 100644 kronolith/po/ja_JP.po create mode 100644 kronolith/po/ko_KR.po create mode 100644 kronolith/po/kronolith.pot create mode 100644 kronolith/po/lt_LT.po create mode 100644 kronolith/po/lv_LV.po create mode 100644 kronolith/po/nb_NO.po create mode 100644 kronolith/po/nl_NL.po create mode 100644 kronolith/po/nn_NO.po create mode 100644 kronolith/po/pl_PL.po create mode 100644 kronolith/po/pt_BR.po create mode 100644 kronolith/po/pt_PT.po create mode 100644 kronolith/po/ro_RO.po create mode 100644 kronolith/po/ru_RU.po create mode 100644 kronolith/po/sk_SK.po create mode 100644 kronolith/po/sl_SI.po create mode 100644 kronolith/po/sv_SE.po create mode 100644 kronolith/po/tr_TR.po create mode 100644 kronolith/po/uk_UA.po create mode 100644 kronolith/po/zh_CN.po create mode 100644 kronolith/po/zh_TW.po create mode 100644 kronolith/pref_api.php create mode 100644 kronolith/scripts/.htaccess create mode 100644 kronolith/scripts/agenda.php create mode 100755 kronolith/scripts/import_icals.php create mode 100755 kronolith/scripts/import_squirrelmail_calendar.php create mode 100644 kronolith/scripts/sql/kronolith.mssql.sql create mode 100644 kronolith/scripts/sql/kronolith.mysql.sql create mode 100644 kronolith/scripts/sql/kronolith.oci8.sql create mode 100644 kronolith/scripts/sql/kronolith.pgsql.sql create mode 100644 kronolith/scripts/sql/kronolith.sql create mode 100644 kronolith/scripts/sql/kronolith.xml create mode 100644 kronolith/scripts/upgrades/1.1_to_2.0.mysql.sql create mode 100644 kronolith/scripts/upgrades/1.1_to_2.0.oci8.sql create mode 100644 kronolith/scripts/upgrades/1.1_to_2.0.pgsql.sql create mode 100644 kronolith/scripts/upgrades/2.1_to_2.2.pgsql.sql create mode 100644 kronolith/scripts/upgrades/2.1_to_2.2.sql create mode 100644 kronolith/scripts/upgrades/2.2_to_2.3.oci8.sql create mode 100644 kronolith/scripts/upgrades/2.2_to_2.3.pgsql.sql create mode 100644 kronolith/scripts/upgrades/2.2_to_2.3.sql create mode 100644 kronolith/scripts/upgrades/2006-03-16_add_private_flag.sql create mode 100644 kronolith/scripts/upgrades/2006-08-20_fix_recur_int_fields.mysql.sql create mode 100644 kronolith/scripts/upgrades/2007-03-23_add_recur_count.sql create mode 100644 kronolith/scripts/upgrades/2008-06-17_fix_varchar_lengths.sql create mode 100644 kronolith/scripts/upgrades/2008-09-23_fix_group_uid.sql create mode 100644 kronolith/scripts/upgrades/2008-10-21_add_allday_flag.pgsql.sql create mode 100644 kronolith/scripts/upgrades/2008-10-21_add_allday_flag.sql create mode 100755 kronolith/scripts/upgrades/convert_datatree_shares_to_sql.php create mode 100755 kronolith/scripts/upgrades/convert_to_utc.php create mode 100644 kronolith/search.php create mode 100644 kronolith/templates/attendees/attendees.inc create mode 100644 kronolith/templates/calendar_info.php create mode 100644 kronolith/templates/calendar_list.php create mode 100644 kronolith/templates/calendar_titles.inc create mode 100644 kronolith/templates/category_legend.inc create mode 100644 kronolith/templates/common-header.inc create mode 100644 kronolith/templates/contacts/contacts.inc create mode 100644 kronolith/templates/data/export.inc create mode 100644 kronolith/templates/data/import.inc create mode 100644 kronolith/templates/day/all_day.inc create mode 100644 kronolith/templates/day/head.inc create mode 100644 kronolith/templates/day/head_side_by_side.inc create mode 100644 kronolith/templates/day/rows.html create mode 100644 kronolith/templates/delete/delete.inc create mode 100644 kronolith/templates/delete/one.inc create mode 100644 kronolith/templates/edit/edit.inc create mode 100644 kronolith/templates/edit/edit_timespan.inc create mode 100644 kronolith/templates/edit/javascript.inc create mode 100644 kronolith/templates/fbview/busyblock.html create mode 100644 kronolith/templates/fbview/emptyblock.html create mode 100644 kronolith/templates/fbview/header.html create mode 100644 kronolith/templates/fbview/legend.html create mode 100644 kronolith/templates/fbview/meetingblock.html create mode 100644 kronolith/templates/fbview/row.html create mode 100644 kronolith/templates/fbview/section.html create mode 100644 kronolith/templates/fbview/unknownblock.html create mode 100644 kronolith/templates/feeds/atom.xml create mode 100644 kronolith/templates/javascript/goto.js create mode 100644 kronolith/templates/javascript_defs.php create mode 100644 kronolith/templates/menu.inc create mode 100644 kronolith/templates/month/head.inc create mode 100644 kronolith/templates/month/head_side_by_side.inc create mode 100644 kronolith/templates/panel.inc create mode 100644 kronolith/templates/perms/perms.inc create mode 100644 kronolith/templates/prefs/default_alarm_management.inc create mode 100644 kronolith/templates/prefs/fb_cals_select.inc create mode 100644 kronolith/templates/prefs/shareselect.inc create mode 100644 kronolith/templates/prefs/sourceselect.inc create mode 100644 kronolith/templates/search/empty.inc create mode 100644 kronolith/templates/search/event_footers.inc create mode 100644 kronolith/templates/search/event_headers.inc create mode 100644 kronolith/templates/search/event_summaries.inc create mode 100644 kronolith/templates/search/header.inc create mode 100644 kronolith/templates/search/search.inc create mode 100644 kronolith/templates/search/search_advanced.inc create mode 100644 kronolith/templates/view/view.inc create mode 100644 kronolith/templates/week/head.inc create mode 100644 kronolith/templates/week/head_side_by_side.inc create mode 100644 kronolith/templates/year/head.inc create mode 100644 kronolith/test.php create mode 100644 kronolith/themes/bluewhite/screen.css create mode 100644 kronolith/themes/burntorange/screen.css create mode 100644 kronolith/themes/categoryCSS.php create mode 100644 kronolith/themes/embed.css create mode 100644 kronolith/themes/fadetogreen/graphics/headerbox.png create mode 100644 kronolith/themes/fadetogreen/screen.css create mode 100644 kronolith/themes/feed-rss.xsl create mode 100644 kronolith/themes/graphics/addressbook_browse.png create mode 100644 kronolith/themes/graphics/alarm-000.png create mode 100644 kronolith/themes/graphics/alarm-fff.png create mode 100644 kronolith/themes/graphics/alarm.png create mode 100644 kronolith/themes/graphics/attendees.png create mode 100644 kronolith/themes/graphics/az.png create mode 100644 kronolith/themes/graphics/calendars.png create mode 100644 kronolith/themes/graphics/dayview.png create mode 100644 kronolith/themes/graphics/delete-000.png create mode 100644 kronolith/themes/graphics/delete-fff.png create mode 100644 kronolith/themes/graphics/edit-000.png create mode 100644 kronolith/themes/graphics/edit-fff.png create mode 100644 kronolith/themes/graphics/favicon.ico create mode 100644 kronolith/themes/graphics/goto.png create mode 100644 kronolith/themes/graphics/kronolith.png create mode 100644 kronolith/themes/graphics/loading.gif create mode 100644 kronolith/themes/graphics/minus.png create mode 100644 kronolith/themes/graphics/monthview.png create mode 100644 kronolith/themes/graphics/new.png create mode 100644 kronolith/themes/graphics/new_big.png create mode 100644 kronolith/themes/graphics/new_small.png create mode 100644 kronolith/themes/graphics/plus.png create mode 100644 kronolith/themes/graphics/private-000.png create mode 100644 kronolith/themes/graphics/private-fff.png create mode 100644 kronolith/themes/graphics/recur-000.png create mode 100644 kronolith/themes/graphics/recur-fff.png create mode 100644 kronolith/themes/graphics/redbox_spinner.gif create mode 100644 kronolith/themes/graphics/search.png create mode 100644 kronolith/themes/graphics/today.png create mode 100644 kronolith/themes/graphics/unknown-background.png create mode 100644 kronolith/themes/graphics/weekview.png create mode 100644 kronolith/themes/graphics/workweekview.png create mode 100644 kronolith/themes/graphics/yearview.png create mode 100644 kronolith/themes/graphics/za.png create mode 100644 kronolith/themes/mozilla/screen.css create mode 100644 kronolith/themes/print/screen.css create mode 100644 kronolith/themes/screen.css create mode 100644 kronolith/themes/silver/graphics/addressbook_browse.png create mode 100644 kronolith/themes/silver/graphics/alarm-000.png create mode 100644 kronolith/themes/silver/graphics/alarm-fff.png create mode 100644 kronolith/themes/silver/graphics/alarm.png create mode 100644 kronolith/themes/silver/graphics/attendees.png create mode 100644 kronolith/themes/silver/graphics/calendars.png create mode 100644 kronolith/themes/silver/graphics/dayview.png create mode 100644 kronolith/themes/silver/graphics/delete-000.png create mode 100644 kronolith/themes/silver/graphics/delete-fff.png create mode 100644 kronolith/themes/silver/graphics/edit-000.png create mode 100644 kronolith/themes/silver/graphics/edit-fff.png create mode 100644 kronolith/themes/silver/graphics/favicon.ico create mode 100644 kronolith/themes/silver/graphics/goto.png create mode 100644 kronolith/themes/silver/graphics/kronolith.png create mode 100644 kronolith/themes/silver/graphics/loading.gif create mode 100644 kronolith/themes/silver/graphics/minus.png create mode 100644 kronolith/themes/silver/graphics/monthview.png create mode 100644 kronolith/themes/silver/graphics/new.png create mode 100644 kronolith/themes/silver/graphics/new_big.png create mode 100644 kronolith/themes/silver/graphics/new_small.png create mode 100644 kronolith/themes/silver/graphics/plus.png create mode 100644 kronolith/themes/silver/graphics/private-000.png create mode 100644 kronolith/themes/silver/graphics/private-fff.png create mode 100644 kronolith/themes/silver/graphics/recur-000.png create mode 100644 kronolith/themes/silver/graphics/recur-fff.png create mode 100644 kronolith/themes/silver/graphics/search.png create mode 100644 kronolith/themes/silver/graphics/today.png create mode 100644 kronolith/themes/silver/graphics/unknown-background.png create mode 100644 kronolith/themes/silver/graphics/weekview.png create mode 100644 kronolith/themes/silver/graphics/workweekview.png create mode 100644 kronolith/themes/silver/graphics/yearview.png create mode 100644 kronolith/themes/silver/screen.css create mode 100644 kronolith/themes/silver/themed_graphics create mode 100644 kronolith/themes/simplex/screen.css create mode 100644 kronolith/themes/sounds/theetone.wav create mode 100644 kronolith/themes/tango-blue/graphics/addressbook_browse.png create mode 100644 kronolith/themes/tango-blue/graphics/alarm-000.png create mode 100644 kronolith/themes/tango-blue/graphics/alarm-fff.png create mode 100644 kronolith/themes/tango-blue/graphics/alarm.png create mode 100644 kronolith/themes/tango-blue/graphics/attendees.png create mode 100644 kronolith/themes/tango-blue/graphics/calendars.png create mode 100644 kronolith/themes/tango-blue/graphics/dayview.png create mode 100644 kronolith/themes/tango-blue/graphics/delete-000.png create mode 100644 kronolith/themes/tango-blue/graphics/delete-fff.png create mode 100644 kronolith/themes/tango-blue/graphics/edit-000.png create mode 100644 kronolith/themes/tango-blue/graphics/edit-fff.png create mode 100644 kronolith/themes/tango-blue/graphics/favicon.ico create mode 100644 kronolith/themes/tango-blue/graphics/goto.png create mode 100644 kronolith/themes/tango-blue/graphics/kronolith.png create mode 100644 kronolith/themes/tango-blue/graphics/loading.gif create mode 100644 kronolith/themes/tango-blue/graphics/minus.png create mode 100644 kronolith/themes/tango-blue/graphics/monthview.png create mode 100644 kronolith/themes/tango-blue/graphics/new.png create mode 100644 kronolith/themes/tango-blue/graphics/new_big.png create mode 100644 kronolith/themes/tango-blue/graphics/new_small.png create mode 100644 kronolith/themes/tango-blue/graphics/plus.png create mode 100644 kronolith/themes/tango-blue/graphics/private-000.png create mode 100644 kronolith/themes/tango-blue/graphics/private-fff.png create mode 100644 kronolith/themes/tango-blue/graphics/recur-000.png create mode 100644 kronolith/themes/tango-blue/graphics/recur-fff.png create mode 100644 kronolith/themes/tango-blue/graphics/search.png create mode 100644 kronolith/themes/tango-blue/graphics/today.png create mode 100644 kronolith/themes/tango-blue/graphics/unknown-background.png create mode 100644 kronolith/themes/tango-blue/graphics/weekview.png create mode 100644 kronolith/themes/tango-blue/graphics/workweekview.png create mode 100644 kronolith/themes/tango-blue/graphics/yearview.png create mode 100644 kronolith/themes/tango-blue/screen.css create mode 100644 kronolith/themes/tango-blue/themed_graphics create mode 100644 kronolith/view.php create mode 100644 kronolith/week.php create mode 100644 kronolith/workweek.php create mode 100644 kronolith/year.php diff --git a/kronolith/COPYING b/kronolith/COPYING new file mode 100644 index 000000000..a6b67561a --- /dev/null +++ b/kronolith/COPYING @@ -0,0 +1,280 @@ + 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. + + 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.) + +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. + + 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. + + 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 diff --git a/kronolith/README b/kronolith/README new file mode 100644 index 000000000..9752f1fc9 --- /dev/null +++ b/kronolith/README @@ -0,0 +1,87 @@ +What is Kronolith? +================== + +:Last update: $Date: 2005/08/23 09:54:43 $ +:Revision: $Revision: 1.10 $ +:Contact: kronolith@lists.horde.org + +.. contents:: Contents +.. section-numbering:: + +Kronolith is a web-based calendar system written in PHP and utilizing the +Horde Application Framework. + +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 Kronolith +------------------- + +Further information on Kronolith and the latest version can be obtained at + + http://www.horde.org/kronolith/ + + +Documentation +------------- + +The following documentation is available in the Kronolith 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 Kronolith versions + + +Installation +------------ + +Instructions for installing Kronolith can be found in the file INSTALL_ in the +``docs/`` directory of the Kronolith distribution. + + +Assistance +---------- + +If you encounter problems with Skeleton, 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 +Kronolith distribution. + +Thanks, + +The Kronolith 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 diff --git a/kronolith/add.php b/kronolith/add.php new file mode 100644 index 000000000..09b236d2f --- /dev/null +++ b/kronolith/add.php @@ -0,0 +1,65 @@ +getShare($calendar_id); + if (is_a($share, 'PEAR_Error')) { + $notification->push(sprintf(_("There was an error accessing the calendar: %s"), $share->getMessage()), 'horde.error'); + } elseif ($user != Auth::getAuth() && + !$share->hasPermission(Auth::getAuth(), PERMS_DELEGATE, Auth::getAuth())) { + $notification->push(sprintf(_("You do not have permission to delegate events to %s."), Kronolith::getUserName($user)), 'horde.warning'); + } elseif ($user == Auth::getAuth() && + !$share->hasPermission(Auth::getAuth(), PERMS_EDIT, Auth::getAuth())) { + $notification->push(sprintf(_("You do not have permission to add events to %s."), $share->get('name')), 'horde.warning'); + } elseif (Kronolith::hasPermission('max_events') === true || + Kronolith::hasPermission('max_events') > Kronolith::countEvents()) { + $kronolith_driver->open($calendar_id); + $event = &$kronolith_driver->getEvent(); + $event->readForm(); + $result = $event->save(); + if (is_a($result, 'PEAR_Error')) { + $userinfo = $result->getUserInfo(); + if (is_array($userinfo)) { + $userinfo = implode(', ', $userinfo); + } + $message = $result->getMessage() . ($userinfo ? ' : ' . $userinfo : ''); + + $notification->push(sprintf(_("There was an error adding the event: %s"), $message), 'horde.error'); + } else { + if (Util::getFormData('sendupdates', false)) { + $event = &$kronolith_driver->getEvent($result); + if (is_a($event, 'PEAR_Error')) { + $notification->push($event, 'horde.error'); + } else { + Kronolith::sendITipNotifications($event, $notification, KRONOLITH_ITIP_REQUEST); + } + } + } + } +} + +if ($url = Util::getFormData('url')) { + header('Location: ' . $url); +} else { + $url = Util::addParameter($prefs->getValue('defaultview') . '.php', + array('month' => Util::getFormData('month'), + 'year' => Util::getFormData('year'))); + header('Location: ' . Horde::applicationUrl($url, true)); +} diff --git a/kronolith/attend.php b/kronolith/attend.php new file mode 100644 index 000000000..e3c5d5b19 --- /dev/null +++ b/kronolith/attend.php @@ -0,0 +1,79 @@ + + */ + +@define('AUTH_HANDLER', true); +@define('KRONOLITH_BASE', dirname(__FILE__)); +require_once KRONOLITH_BASE . '/lib/base.php'; + +$cal = Util::getFormData('c'); +$id = Util::getFormData('e'); +$uid = Util::getFormData('i'); +$user = Util::getFormData('u'); + +switch (Util::getFormData('a')) { +case 'accept': + $action = KRONOLITH_RESPONSE_ACCEPTED; + $msg = _("You have successfully accepted attendence to this event."); + break; + +case 'decline': + $action = KRONOLITH_RESPONSE_DECLINED; + $msg = _("You have successfully declined attendence to this event."); + break; + +case 'tentative': + $action = KRONOLITH_RESPONSE_TENTATIVE; + $msg = _("You have tentatively accepted attendence to this event."); + break; + +default: + $action = KRONOLITH_RESPONSE_NONE; + $msg = ''; + break; +} + +if (((empty($cal) || empty($id)) && empty($uid)) || empty($user)) { + $notification->push(_("The request was incomplete. Some parameters that are necessary to accept or decline an event are missing."), 'horde.error'); + $title = ''; +} else { + if (empty($uid)) { + $kronolith_driver->open($cal); + $event = $kronolith_driver->getEvent($id); + } else { + $event = $kronolith_driver->getByUID($uid); + } + if (is_a($event, 'PEAR_Error')) { + $notification->push($event, 'horde.error'); + $title = ''; + } elseif (!$event->hasAttendee($user)) { + $notification->push(_("You are not an attendee of the specified event."), 'horde.error'); + $title = $event->getTitle(); + } else { + $event->addAttendee($user, KRONOLITH_PART_IGNORE, $action); + $result = $event->save(); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result, 'horde.error'); + } elseif (!empty($msg)) { + $notification->push($msg, 'horde.success'); + } + $title = $event->getTitle(); + } +} + +require KRONOLITH_TEMPLATES . '/common-header.inc'; + +?> + +notify(array('listeners' => 'status')); +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/attendees.php b/kronolith/attendees.php new file mode 100644 index 000000000..8dfb7a4d8 --- /dev/null +++ b/kronolith/attendees.php @@ -0,0 +1,270 @@ + + * Copyright 2004-2007 Stuart Binge + * + * See the enclosed file COPYING for license information (GPL). If you + * did not receive this file, see http://www.fsf.org/copyleft/gpl.html. + */ + +@define('KRONOLITH_BASE', dirname(__FILE__)); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once KRONOLITH_BASE . '/lib/FreeBusy.php'; +require_once KRONOLITH_BASE . '/lib/FBView.php'; +require_once KRONOLITH_BASE . '/lib/Imple.php'; +require_once 'Horde/Identity.php'; +require_once 'Horde/UI/Tabs.php'; +require_once 'Horde/Variables.php'; + +// Get the current attendees array from the session cache. +$attendees = (isset($_SESSION['kronolith']['attendees']) && + is_array($_SESSION['kronolith']['attendees'])) + ? $_SESSION['kronolith']['attendees'] + : array(); +$editAttendee = null; + +// Get the action ID and value. This specifies what action the user initiated. +$actionID = Util::getFormData('actionID'); +if (Util::getFormData('clearAll')) { + $actionID = 'clear'; +} +$actionValue = Util::getFormData('actionValue'); + +// Perform the specified action, if there is one. +switch ($actionID) { +case 'add': + require_once 'Mail/RFC822.php'; + $parser = new Mail_RFC822; + // Add new attendees. Multiple attendees can be seperated on a single line + // by whitespace and/or commas. + $newAttendees = trim(Util::getFormData('newAttendees')); + if (empty($newAttendees)) { + if (Util::getFormData('addNewClose')) { + Util::closeWindowJS(); + exit; + } + break; + } + + require_once 'Horde/MIME.php'; + foreach (MIME::rfc822Explode($newAttendees) as $newAttendee) { + // Parse the address without validation to see what we can get out of + // it. We allow email addresses (john@example.com), email address with + // user information (John Doe ), and plain names + // (John Doe). + $newAttendeeParsed = $parser->parseAddressList($newAttendee, '', false, + false); + + // If we can't even get a mailbox out of the address, then it is + // likely unuseable. Reject it entirely. + if (is_a($newAttendeeParsed, 'PEAR_Error') || + !isset($newAttendeeParsed[0]) || + !isset($newAttendeeParsed[0]->mailbox)) { + $notification->push( + sprintf(_("Unable to recognize \"%s\" as an email address."), + $newAttendee), + 'horde.error'); + continue; + } + + // Loop through any addresses we found. + foreach ($newAttendeeParsed as $newAttendeeParsedPart) { + // If there is only a mailbox part, then it is just a local name. + if (empty($newAttendeeParsedPart->host)) { + $attendees[] = array( + 'attendance' => KRONOLITH_PART_REQUIRED, + 'response' => KRONOLITH_RESPONSE_NONE, + 'name' => $newAttendee, + ); + continue; + } + + // Build a full email address again and validate it. + $name = empty($newAttendeeParsedPart->personal) + ? '' + : $newAttendeeParsedPart->personal; + $newAttendeeParsedPartNew = MIME::encodeAddress( + MIME::rfc822WriteAddress($newAttendeeParsedPart->mailbox, + $newAttendeeParsedPart->host, $name)); + $newAttendeeParsedPartValidated = $parser->parseAddressList( + $newAttendeeParsedPartNew, '', null, true); + if (is_a($newAttendeeParsedPartValidated, 'PEAR_Error')) { + $notification->push($newAttendeeParsedPartValidated, + 'horde.error'); + } else { + $email = $newAttendeeParsedPart->mailbox . '@' + . $newAttendeeParsedPart->host; + // Avoid overwriting existing attendees with the default + // values. + if (!isset($attendees[$email])) + $attendees[$email] = array( + 'attendance' => KRONOLITH_PART_REQUIRED, + 'response' => KRONOLITH_RESPONSE_NONE, + 'name' => $name, + ); + } + } + } + + $_SESSION['kronolith']['attendees'] = $attendees; + + if (Util::getFormData('addNewClose')) { + Util::closeWindowJS(); + exit; + } + break; + +case 'edit': + // Edit the specified attendee. + if (isset($attendees[$actionValue])) { + if (empty($attendees[$actionValue]['name'])) { + $editAttendee = $actionValue; + } else { + require_once 'Horde/MIME.php'; + $editAttendee = MIME::trimEmailAddress( + $attendees[$actionValue]['name'] + . (strpos($actionValue, '@') === false + ? '' + : ' <' . $actionValue . '>')); + } + unset($attendees[$actionValue]); + $_SESSION['kronolith']['attendees'] = $attendees; + } + break; + +case 'remove': + // Remove the specified attendee. + if (isset($attendees[$actionValue])) { + unset($attendees[$actionValue]); + $_SESSION['kronolith']['attendees'] = $attendees; + } + break; + +case 'changeatt': + // Change the attendance status of an attendee + list($partval, $partname) = explode(' ', $actionValue, 2); + if (isset($attendees[$partname])) { + $attendees[$partname]['attendance'] = $partval; + $_SESSION['kronolith']['attendees'] = $attendees; + } + break; + +case 'changeresp': + // Change the response status of an attendee + list($partval, $partname) = explode(' ', $actionValue, 2); + if (isset($attendees[$partname])) { + $attendees[$partname]['response'] = $partval; + $_SESSION['kronolith']['attendees'] = $attendees; + } + break; + +case 'dismiss': + // Close the attendee window. + if ($browser->hasFeature('javascript')) { + Util::closeWindowJS(); + exit; + } + + $url = Util::getFormData('url'); + if (!empty($url)) { + $location = Horde::applicationUrl($url, true); + } else { + $url = Util::addParameter($prefs->getValue('defaultview') . '.php', + 'month', Util::getFormData('month')); + $url = Util::addParameter($url, 'year', Util::getFormData('year')); + $location = Horde::applicationUrl($url, true); + } + + // Make sure URL is unique. + $location = Util::addParameter($location, 'unique', md5(microtime())); + header('Location: ' . $location); + exit; + +case 'clear': + // Remove all the attendees. + $attendees = array(); + $_SESSION['kronolith']['attendees'] = $attendees; + break; +} + +// Get the current Free/Busy view; default to the 'day' view if none specified. +$view = Util::getFormData('view', 'day'); + +// Pre-format our delete image/link. +$delimg = Horde::img('delete.png', _("Remove Attendee"), null, + $registry->getImageDir('horde')); + +$ident = &Identity::singleton(); +$identities = $ident->getAll('id'); +$vars = Variables::getDefaultVariables(); +$tabs = new Horde_UI_Tabs(null, $vars); +$tabs->addTab(_("Day"), 'javascript:switchView(\'day\')', 'day'); +$tabs->addTab(_("Work Week"), 'javascript:switchView(\'workweek\')', 'workweek'); +$tabs->addTab(_("Week"), 'javascript:switchView(\'week\')', 'week'); +$tabs->addTab(_("Month"), 'javascript:switchView(\'month\')', 'month'); + +$attendee_view = &Kronolith_FreeBusy_View::singleton($view); + +// Add the creator as a required attendee in the Free/Busy display +$cal = @unserialize($prefs->getValue('fb_cals')); +if (!is_array($cal)) { + $cal = null; +} + +// If the free/busy calendars preference is empty, default to the user's +// default_share preference, and if that's empty, to their username. +if (!$cal) { + $cal = $prefs->getValue('default_share'); + if (!$cal) { + $cal = Auth::getAuth(); + } + $cal = array($cal); +} +$vfb = Kronolith_FreeBusy::generate($cal, null, null, true, Auth::getAuth()); +if (!is_a($vfb, 'PEAR_Error')) { + $attendee_view->addRequiredMember($vfb); +} else { + $notification->push( + sprintf(_("Error retrieving your free/busy information: %s"), + $vfb->getMessage())); +} + +// Add the Free/Busy information for each attendee. +foreach ($attendees as $email => $status) { + if (strpos($email, '@') !== false && + ($status['attendance'] == KRONOLITH_PART_REQUIRED || + $status['attendance'] == KRONOLITH_PART_OPTIONAL)) { + $vfb = Kronolith_Freebusy::get($email); + if (!is_a($vfb, 'PEAR_Error')) { + $organizer = $vfb->getAttribute('ORGANIZER'); + if (empty($organizer)) { + $vfb->setAttribute('ORGANIZER', 'mailto:' . $email, array(), + false); + } + if ($status['attendance'] == KRONOLITH_PART_REQUIRED) { + $attendee_view->addRequiredMember($vfb); + } else { + $attendee_view->addOptionalMember($vfb); + } + } else { + $notification->push( + sprintf(_("Error retrieving free/busy information for %s: %s"), + $email, $vfb->getMessage())); + } + } +} + +$date = Util::getFormData('date', date('Ymd')) . '000000'; +$date = new Horde_Date($date); +$vfb_html = $attendee_view->render($date); + +// Add the ContactAutoCompleter +Imple::factory('ContactAutoCompleter', array('triggerId' => 'newAttendees')); + +$title = _("Edit attendees"); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +$notification->notify(array('status')); +require KRONOLITH_TEMPLATES . '/attendees/attendees.inc'; +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/calendars/create.php b/kronolith/calendars/create.php new file mode 100644 index 000000000..21bade270 --- /dev/null +++ b/kronolith/calendars/create.php @@ -0,0 +1,44 @@ + + */ + +@define('KRONOLITH_BASE', dirname(dirname(__FILE__))); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once KRONOLITH_BASE . '/lib/Forms/CreateCalendar.php'; + +// Exit if this isn't an authenticated user or if the user can't +// create new calendars (default share is locked). +if (!Auth::getAuth() || $prefs->isLocked('default_share')) { + header('Location: ' . Horde::applicationUrl($prefs->getValue('defaultview') . '.php', true)); + exit; +} + +$vars = Variables::getDefaultVariables(); +$form = new Kronolith_CreateCalendarForm($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 calendar \"%s\" has been created."), $vars->get('name')), 'horde.success'); + } + + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$title = $form->getTitle(); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; +echo $form->renderActive($form->getRenderer(), $vars, 'create.php', 'post'); +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/calendars/delete.php b/kronolith/calendars/delete.php new file mode 100644 index 000000000..5c9769028 --- /dev/null +++ b/kronolith/calendars/delete.php @@ -0,0 +1,61 @@ + + */ + +@define('KRONOLITH_BASE', dirname(dirname(__FILE__))); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once KRONOLITH_BASE . '/lib/Forms/DeleteCalendar.php'; + +// Exit if this isn't an authenticated user. +if (!Auth::getAuth()) { + header('Location: ' . Horde::applicationUrl($prefs->getValue('defaultview') . '.php', true)); + exit; +} + +$vars = Variables::getDefaultVariables(); +$calendar_id = $vars->get('c'); +if ($calendar_id == Auth::getAuth()) { + $notification->push(_("This calendar cannot be deleted."), 'horde.warning'); + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$calendar = $kronolith_shares->getShare($calendar_id); +if (is_a($calendar, 'PEAR_Error')) { + $notification->push($calendar, 'horde.error'); + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} elseif ($calendar->get('owner') != Auth::getAuth()) { + $notification->push(_("You are not allowed to delete this calendar."), 'horde.error'); + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$form = new Kronolith_DeleteCalendarForm($vars, $calendar); + +// 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 calendar \"%s\" has been deleted."), $calendar->get('name')), 'horde.success'); + } + + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$title = $form->getTitle(); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; +echo $form->renderActive($form->getRenderer(), $vars, 'delete.php', 'post'); +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/calendars/edit.php b/kronolith/calendars/edit.php new file mode 100644 index 000000000..7ac53f358 --- /dev/null +++ b/kronolith/calendars/edit.php @@ -0,0 +1,60 @@ + + */ + +@define('KRONOLITH_BASE', dirname(dirname(__FILE__))); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once KRONOLITH_BASE . '/lib/Forms/EditCalendar.php'; + +// Exit if this isn't an authenticated user. +if (!Auth::getAuth()) { + header('Location: ' . Horde::applicationUrl($prefs->getValue('defaultview') . '.php', true)); + exit; +} + +$vars = Variables::getDefaultVariables(); +$calendar = $kronolith_shares->getShare($vars->get('c')); +if (is_a($calendar, 'PEAR_Error')) { + $notification->push($calendar, 'horde.error'); + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} elseif ($calendar->get('owner') != Auth::getAuth()) { + $notification->push(_("You are not allowed to change this calendar."), 'horde.error'); + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} +$form = new Kronolith_EditCalendarForm($vars, $calendar); + +// Execute if the form is valid. +if ($form->validate($vars)) { + $original_name = $calendar->get('name'); + $result = $form->execute(); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result, 'horde.error'); + } else { + if ($calendar->get('name') != $original_name) { + $notification->push(sprintf(_("The calendar \"%s\" has been renamed to \"%s\"."), $original_name, $calendar->get('name')), 'horde.success'); + } else { + $notification->push(sprintf(_("The calendar \"%s\" has been saved."), $original_name), 'horde.success'); + } + } + + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$vars->set('name', $calendar->get('name')); +$vars->set('description', $calendar->get('desc')); +$title = $form->getTitle(); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; +echo $form->renderActive($form->getRenderer(), $vars, 'edit.php', 'post'); +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/calendars/index.php b/kronolith/calendars/index.php new file mode 100644 index 000000000..8cf127023 --- /dev/null +++ b/kronolith/calendars/index.php @@ -0,0 +1,78 @@ + $max_length) { + return substr_replace($url, $separator, $first_chunk_length, -$last_chunk_length); + } + + return $url; +} + +@define('KRONOLITH_BASE', dirname(dirname(__FILE__))); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once 'Horde/RPC.php'; +if (@include_once 'HTTP/WebDAV/Server.php') { + require_once 'Horde/RPC/webdav.php'; +} + +// Exit if this isn't an authenticated user. +if (!Auth::getAuth()) { + header('Location: ' . Horde::applicationUrl($prefs->getValue('defaultview') . '.php')); + exit; +} + +$webdav = is_callable(array('HTTP_WebDAV_Server_Horde', 'DELETE')); +$rewrite = isset($conf['urls']['pretty']) && + $conf['urls']['pretty'] == 'rewrite'; +$edit_url_base = Horde::applicationUrl('calendars/edit.php'); +$remote_edit_url_base = Horde::applicationUrl('calendars/remote_edit.php'); +$delete_url_base = Horde::applicationUrl('calendars/delete.php'); +$remote_unsubscribe_url_base = Horde::applicationUrl('calendars/remote_unsubscribe.php'); +$perms_url_base = Horde::applicationUrl('perms.php', true); +$display_url_base = Horde::applicationUrl('month.php', true, -1); +$subscribe_url_base = $webdav ? + Horde::url($registry->get('webroot', 'horde') + . ($rewrite ? '/rpc/kronolith/' : '/rpc.php/kronolith/'), + true, -1) : + Util::addParameter(Horde::applicationUrl('ics.php', true, -1), 'c', ''); + +$calendars = array(); +$sorted_calendars = array(); +$my_calendars = Kronolith::listCalendars(true); +foreach ($my_calendars as $calendar) { + $calendars[$calendar->getName()] = $calendar; + $sorted_calendars[$calendar->getName()] = $calendar->get('name'); +} +$remote_calendars = unserialize($prefs->getValue('remote_cals')); +foreach ($remote_calendars as $calendar) { + $calendars[$calendar['url']] = $calendar; + $sorted_calendars[$calendar['url']] = $calendar['name']; +} +asort($sorted_calendars); + +$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 Calendars"); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; +require KRONOLITH_TEMPLATES . '/calendar_list.php'; +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/calendars/info.php b/kronolith/calendars/info.php new file mode 100644 index 000000000..bd434d133 --- /dev/null +++ b/kronolith/calendars/info.php @@ -0,0 +1,53 @@ +getValue('remote_cals')); + foreach ($remote_calendars as $remote_calendar) { + if ($remote_calendar['url'] == $calendarId) { + $calendar = $remote_calendar; + break; + } + } +} elseif (isset($GLOBALS['all_calendars'][$calendarId])) { + $calendar = $GLOBALS['all_calendars'][$calendarId]; + + $webdav = is_callable(array('HTTP_WebDAV_Server_Horde', 'DELETE')); + $rewrite = isset($conf['urls']['pretty']) && + $conf['urls']['pretty'] == 'rewrite'; + $subscribe_url = $webdav + ? Horde::url($registry->get('webroot', 'horde') + . ($rewrite ? '/rpc/kronolith/' : '/rpc.php/kronolith/'), + true, -1) + . $calendar->get('owner') . '/' . $calendar->getName() . '.ics' + : Util::addParameter(Horde::applicationUrl('ics.php', true, -1), 'c', + $calendar->getName()); +} + +if (is_null($calendar)) { + exit; +} + +require KRONOLITH_TEMPLATES . '/calendar_info.php'; diff --git a/kronolith/calendars/remote_edit.php b/kronolith/calendars/remote_edit.php new file mode 100644 index 000000000..e3afb3c19 --- /dev/null +++ b/kronolith/calendars/remote_edit.php @@ -0,0 +1,73 @@ + + */ + +@define('KRONOLITH_BASE', dirname(dirname(__FILE__))); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once KRONOLITH_BASE . '/lib/Forms/EditRemoteCalendar.php'; + +// Exit if this isn't an authenticated user or if the user can't +// subscribe to remote calendars (remote_cals is locked). +if (!Auth::getAuth() || $prefs->isLocked('remote_cals')) { + header('Location: ' . Horde::applicationUrl($prefs->getValue('defaultview') . '.php', true)); + exit; +} + +$vars = Variables::getDefaultVariables(); +$url = $vars->get('url'); + +$remote_calendar = null; +$remote_calendars = unserialize($GLOBALS['prefs']->getValue('remote_cals')); +foreach ($remote_calendars as $key => $calendar) { + if ($calendar['url'] == $url) { + $remote_calendar = $calendar; + break; + } +} +if (is_null($remote_calendar)) { + $notification->push(_("The remote calendar was not found."), 'horde.error'); + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$form = new Kronolith_EditRemoteCalendarForm($vars, $remote_calendar); + +// 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 calendar \"%s\" has been saved."), $vars->get('name')), 'horde.success'); + } + + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$key = Auth::getCredential('password'); +$username = $calendar['user']; +$password = $calendar['password']; +if ($key) { + require_once 'Horde/Secret.php'; + $username = Secret::read($key, base64_decode($username)); + $password = Secret::read($key, base64_decode($password)); +} + +$vars->set('name', $calendar['name']); +$vars->set('url', $calendar['url']); +$vars->set('username', $username); +$vars->set('password', $password); +$title = $form->getTitle(); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; +echo $form->renderActive($form->getRenderer(), $vars, 'remote_edit.php', 'post'); +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/calendars/remote_subscribe.php b/kronolith/calendars/remote_subscribe.php new file mode 100644 index 000000000..84d40cd8f --- /dev/null +++ b/kronolith/calendars/remote_subscribe.php @@ -0,0 +1,44 @@ + + */ + +@define('KRONOLITH_BASE', dirname(dirname(__FILE__))); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once KRONOLITH_BASE . '/lib/Forms/SubscribeRemoteCalendar.php'; + +// Exit if this isn't an authenticated user or if the user can't +// subscribe to remote calendars (remote_cals is locked). +if (!Auth::getAuth() || $prefs->isLocked('remote_cals')) { + header('Location: ' . Horde::applicationUrl($prefs->getValue('defaultview') . '.php', true)); + exit; +} + +$vars = Variables::getDefaultVariables(); +$form = new Kronolith_SubscribeRemoteCalendarForm($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(_("You have been subscribed to \"%s\" (%s)."), $vars->get('name'), $vars->get('url')), 'horde.success'); + } + + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$title = $form->getTitle(); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; +echo $form->renderActive($form->getRenderer(), $vars, 'remote_subscribe.php', 'post'); +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/calendars/remote_unsubscribe.php b/kronolith/calendars/remote_unsubscribe.php new file mode 100644 index 000000000..11dce5876 --- /dev/null +++ b/kronolith/calendars/remote_unsubscribe.php @@ -0,0 +1,61 @@ + + */ + +@define('KRONOLITH_BASE', dirname(dirname(__FILE__))); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once KRONOLITH_BASE . '/lib/Forms/UnsubscribeRemoteCalendar.php'; + +// Exit if this isn't an authenticated user or if the user can't +// subscribe to remote calendars (remote_cals is locked). +if (!Auth::getAuth() || $prefs->isLocked('remote_cals')) { + header('Location: ' . Horde::applicationUrl($prefs->getValue('defaultview') . '.php', true)); + exit; +} + +$vars = Variables::getDefaultVariables(); +$url = $vars->get('url'); + +$remote_calendar = null; +$remote_calendars = unserialize($GLOBALS['prefs']->getValue('remote_cals')); +foreach ($remote_calendars as $key => $calendar) { + if ($calendar['url'] == $url) { + $remote_calendar = $calendar; + break; + } +} +if (is_null($remote_calendar)) { + $notification->push(_("The remote calendar was not found."), 'horde.error'); + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$form = new Kronolith_UnsubscribeRemoteCalendarForm($vars, $remote_calendar); + +// 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(_("You have been unsubscribed from \"%s\" (%s)."), $calendar['name'], $calendar['url']), 'horde.success'); + } + + header('Location: ' . Horde::applicationUrl('calendars/', true)); + exit; +} + +$vars->set('url', $calendar['url']); +$title = $form->getTitle(); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; +echo $form->renderActive($form->getRenderer(), $vars, 'remote_unsubscribe.php', 'post'); +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/config/.gitignore b/kronolith/config/.gitignore new file mode 100644 index 000000000..cde8069e1 --- /dev/null +++ b/kronolith/config/.gitignore @@ -0,0 +1 @@ +*.php diff --git a/kronolith/config/.htaccess b/kronolith/config/.htaccess new file mode 100644 index 000000000..3a4288278 --- /dev/null +++ b/kronolith/config/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/kronolith/config/conf.xml b/kronolith/config/conf.xml new file mode 100644 index 000000000..4e5bb6888 --- /dev/null +++ b/kronolith/config/conf.xml @@ -0,0 +1,101 @@ + + + + + Calendar Driver Settings + + sql + + + + kronolith_events + + true + + + + + + + + + Free/Busy Driver Settings + + + + sql + + + + kronolith_storage + + + + + + + + + https + http + + + 443 + + + + + + + Metadata Settings + false + + + + Reminder Settings + + + + + + Calendar Auto-Sharing + + + none + read + edit + full + + + + + + Displaying Holidays + true + + + + Menu Settings + true + true + + + + + + + diff --git a/kronolith/config/keywords.php.dist b/kronolith/config/keywords.php.dist new file mode 100644 index 000000000..6ed32d529 --- /dev/null +++ b/kronolith/config/keywords.php.dist @@ -0,0 +1,17 @@ + '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'; + */ + +$_menu = array(); + +/* Add your custom entries below this line. */ diff --git a/kronolith/config/prefs.php.dist b/kronolith/config/prefs.php.dist new file mode 100644 index 000000000..9d79b4a34 --- /dev/null +++ b/kronolith/config/prefs.php.dist @@ -0,0 +1,499 @@ + _("Display Options"), + 'label' => _("User Interface"), + 'desc' => _("Select confirmation options, how to display the different views and choose default view."), + 'members' => array('confirm_delete', 'defaultview', + 'time_between_days', 'week_start_monday', + 'day_hour_start', 'day_hour_end', 'day_hour_force', + 'slots_per_hour', 'show_icons', 'show_time', 'show_location', + 'show_legend', 'show_panel', 'show_fb_legend', 'show_shared_side_by_side', 'show_external_colors'), +); + +$prefGroups['summary'] = array( + 'column' => _("Display Options"), + 'label' => _("Portal Options"), + 'desc' => _("Select which events to show in the portal."), + 'members' => array('summary_days', 'summary_alarms'), +); + +$prefGroups['share'] = array( + 'column' => _("Calendars"), + 'label' => _("Default Calendar"), + 'desc' => _("Choose your default calendar."), + 'members' => array('shareselect'), +); + +if (!empty($GLOBALS['conf']['holidays']['enable'])) { + $prefGroups['holidays'] = array( + 'column' => _("Calendars"), + 'label' => _("Holidays"), + 'desc' => _("Choose which holidays to display"), + 'members' => array('holiday_drivers'), + ); +} + +$prefGroups['event_options'] = array( + 'column' => _("Events"), + 'label' => _("Event Defaults"), + 'desc' => _("Set default values for new events."), + 'members' => array('default_alarm_management'), +); +$prefGroups['maintenance'] = array( + 'column' => _("Events"), + 'label' => _("Maintenance"), + 'desc' => _("Set options for deleting old events."), + 'members' => array('purge_events', 'purge_events_interval', 'purge_events_keep') +); + +$prefGroups['notification'] = array( + 'column' => _("Events"), + 'label' => _("Notifications"), + 'desc' => _("Choose how you want to be notified about event changes, event alarms and upcoming events."), + 'members' => array('event_notification', 'event_notification_exclude_self', 'daily_agenda', 'event_reminder'), +); +if (!empty($GLOBALS['conf']['alarms']['driver'])) { + $prefGroups['notification']['members'][] = 'event_alarms'; +} + +$prefGroups['freebusy'] = array( + 'column' => _("Calendars"), + 'label' => _("Free/Busy Information"), + 'desc' => _("Set your Free/Busy calendars and your own and other users' Free/Busy options."), + 'members' => array('fb_cals_select', 'freebusy_days'), +); + +if ($GLOBALS['registry']->hasMethod('contacts/sources')) { + $prefGroups['addressbooks'] = array( + 'column' => _("Other Options"), + 'label' => _("Address Books"), + 'desc' => _("Select address book sources for adding and searching for addresses."), + 'members' => array('display_contact', 'sourceselect'), + ); +} + +// confirm deletion of events which don't recur? +$_prefs['confirm_delete'] = array( + 'value' => 1, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Confirm deletion of events?") +); + +// default view +$_prefs['defaultview'] = array( + 'value' => 'month', + 'locked' => false, + 'shared' => false, + 'type' => 'enum', + 'enum' => array('day' => _("Day"), + 'week' => _("Week"), + 'workweek' => _("Work Week"), + 'month' => _("Month")), + 'desc' => _("Select the view to display on startup:") +); + +// Display the timeslots between each day column, in week view. +$_prefs['time_between_days'] = array( + 'value' => 0, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Show time of day between each day in week views?") +); + +// what day does the week start with +$_prefs['week_start_monday'] = array( + 'value' => '0', + 'locked' => false, + 'shared' => false, + 'type' => 'enum', + 'desc' => _("Select the first weekday:"), + 'enum' => array('0' => _("Sunday"), + '1' => _("Monday")) +); + +// start of the time range in day/week views: +$_prefs['day_hour_start'] = array( + 'value' => 16, + 'locked' => false, + 'shared' => false, + 'type' => 'select', + 'desc' => _("What time should day and week views start, when there are no earlier events?") +); + +// end of the time range in day/week views: +$_prefs['day_hour_end'] = array( + 'value' => 48, + 'locked' => false, + 'shared' => false, + 'type' => 'select', + 'desc' => _("What time should day and week views end, when there are no later events?") +); + +// enforce hour slots? +$_prefs['day_hour_force'] = array( + 'value' => 0, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Restrict day and week views to these time slots, even if there are earlier or later events?"), +); + +// number of slots in each hour: +$_prefs['slots_per_hour'] = array( + 'value' => 1, + 'locked' => false, + 'shared' => false, + 'type' => 'enum', + 'desc' => _("How long should the time slots on the day and week views be?"), + 'enum' => array(4 => _("15 minutes"), + 3 => _("20 minutes"), + 2 => _("30 minutes"), + 1 => _("1 hour"), + ), +); + +// show delete/alarm icons in the calendar view? +$_prefs['show_icons'] = array( + 'value' => 1, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Show delete, alarm, and recurrence icons in calendar views?"), +); + +// show event start/end times in the calendar and/or print views? +$_prefs['show_time'] = array( + 'value' => 'a:1:{i:0;s:5:"print";}', + 'locked' => false, + 'shared' => false, + 'type' => 'multienum', + 'enum' => array('screen' => _("Month, Week, and Day Views"), + 'print' => _("Print Views"), + ), + 'desc' => _("Choose the views to show event start and end times in:"), +); + +// show event location in the calendar and/or print views? +$_prefs['show_location'] = array( + 'value' => 'a:1:{i:0;s:5:"print";}', + 'locked' => false, + 'shared' => false, + 'type' => 'multienum', + 'enum' => array('screen' => _("Month, Week, and Day Views"), + 'print' => _("Print Views"), + ), + 'desc' => _("Choose the views to show event locations in:"), +); + +// show category legend? +// a value of 0 = no, 1 = yes +$_prefs['show_legend'] = array( + 'value' => 1, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Show category legend?"), +); + +// show the calendar options panel? +// a value of 0 = no, 1 = yes +$_prefs['show_panel'] = array( + 'value' => 1, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Show calendar options panel?"), +); + +// show Free/Busy legend? +// a value of 0 = no, 1 = yes +$_prefs['show_fb_legend'] = array( + 'value' => 1, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Show Free/Busy legend?"), +); + +// collapsed or side by side view +$_prefs['show_shared_side_by_side'] = array( + 'value' => 0, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Show shared calendars side-by-side?"), +); + +// days to show in summary +$_prefs['summary_days'] = array( + 'value' => 7, + 'locked' => false, + 'shared' => false, + 'type' => 'enum', + 'desc' => _("Select the time span to show:"), + 'enum' => array(1 => '1 ' . _("day"), + 2 => '2 ' . _("days"), + 3 => '3 ' . _("days"), + 4 => '4 ' . _("days"), + 5 => '5 ' . _("days"), + 6 => '6 ' . _("days"), + 7 => '1 ' . _("week"), + 14 => '2 ' . _("weeks"), + 21 => '3 ' . _("weeks"), + 28 => '4 ' . _("weeks"), + ), +); + +// show alarms in summary? +$_prefs['summary_alarms'] = array( + 'value' => 0, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Show only events that have an alarm set?"), +); + +// show external event colors? +$_prefs['show_external_colors'] = array( + 'value' => 1, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Show external events using category colors?"), +); + +// default calendar selection widget +$_prefs['shareselect'] = array('type' => 'special'); + +// default calendar +// Set locked to true if you don't want users to have multiple calendars. +$_prefs['default_share'] = array( + 'value' => Auth::getAuth() ? Auth::getAuth() : 0, + 'locked' => false, + 'shared' => false, + 'type' => 'implicit', +); + +// Which drivers are we supposed to use to examine holidays? +$_prefs['holiday_drivers'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'multienum', + 'desc' => _("Which kind of holidays do you want to get displayed?"), +); + +// store the calendars to diplay +$_prefs['display_cals'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit', +); + +// default alarm +$_prefs['default_alarm'] = array( + 'value' => '', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit', +); +$_prefs['default_alarm_management'] = array('type' => 'special'); + +// remote calendars +$_prefs['remote_cals'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit', +); + +// store the remote calendars to display +$_prefs['display_remote_cals'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit' +); + +// store the external calendars to display +$_prefs['display_external_cals'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit' +); + +// new event notifications +$_prefs['event_notification'] = array( + 'value' => '', + 'locked' => false, + 'shared' => false, + 'type' => 'enum', + 'enum' => array('' => _("No"), + 'owner' => _("On my calendars only"), + 'show' => _("On all shown calendars"), + 'read' => _("On all calendars I have read access to")), + 'desc' => _("Choose if you want to be notified of new, edited, and deleted events by email:") +); + +// daily agenda +$_prefs['daily_agenda'] = array( + 'value' => '', + 'locked' => false, + 'shared' => false, + 'type' => 'enum', + 'enum' => array('' => _("No"), + 'owner' => _("On my calendars only"), + 'show' => _("On all shown calendars"), + 'read' => _("On all calendars I have read access to")), + 'desc' => _("Choose if you want to receive daily agenda email reminders:") +); + +$_prefs['event_notification_exclude_self'] = array( + 'value' => 0, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Don't send me a notification if I've added, changed or deleted the event?") +); + +// reminder notifications +$_prefs['event_reminder'] = array( + 'value' => 'owner', + 'locked' => false, + 'shared' => false, + 'type' => 'enum', + 'enum' => array('' => _("No"), + 'owner' => _("On my calendars only"), + 'show' => _("On all shown calendars"), + 'read' => _("On all calendars I have read access to")), + 'desc' => _("Choose if you want to receive reminders for events with alarms:") +); + +// alarm methods +$_prefs['event_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 events with alarms:") +); + +// number of days to generate Free/Busy information for: +$_prefs['freebusy_days'] = array( + 'value' => 30, + 'locked' => false, + 'shared' => false, + 'type' => 'number', + 'desc' => _("How many days of Free/Busy information should be generated?") +); + +// By default, display all contacts in the address book when loading +// the contacts screen. If your default address book is large and +// slow to display, you may want to disable and lock this option. +$_prefs['display_contact'] = array( + 'value' => 1, + 'locked' => false, + 'shared' => true, + 'type' => 'checkbox', + 'desc' => _("List all contacts when loading the contacts screen? (if disabled, you will only see contacts that you search for explicitly)"), +); + +// address book selection widget +$_prefs['sourceselect'] = array('type' => 'special'); + +// address book(s) to use when expanding addresses +// You can provide default values this way (note the \t and the double quotes): +// 'value' => "source_one\tsource_two" +// refer to turba/config/sources.php for possible source values +$_prefs['search_sources'] = array( + 'value' => "", + 'locked' => false, + 'shared' => false, + 'type' => 'implicit', +); + +// field(s) to use when expanding addresses +// This depends on the search_sources preference if you want to provide +// default values: +// 'value' => "source_one\tfield_one\tfield_two\nsource_two\tfield_three" +// will search the fields 'field_one' and 'field_two' in source_one and +// 'field_three' in source_two. +// refer to turba/config/sources.php for possible source and field values +$_prefs['search_fields'] = array( + 'value' => "", + 'locked' => false, + 'shared' => false, + 'type' => 'implicit', +); + +// Calendars to include in generating Free/Busy URLs. +$_prefs['fb_cals'] = array( + 'value' => 'a:0:{}', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit', + 'desc' => _("Choose the calendars to include when generating Free/Busy URLs:") +); + +// Free/Busy calendars selector. +$_prefs['fb_cals_select'] = array('type' => 'special'); + +// The following two preferences are no longer used and only necessary for the +// upgrade script. +$_prefs['event_categories'] = array( + 'value' => '', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit' +); +$_prefs['event_colors'] = array( + 'value' => '', + 'locked' => false, + 'shared' => false, + 'type' => 'implicit' +); + +$_prefs['purge_events'] = array( + 'value' => 0, + 'locked' => false, + 'shared' => false, + 'type' => 'checkbox', + 'desc' => _("Purge old events from your calender?"), +); + +// 'value': yearly = 1, monthly = 2, weekly = 3, daily = 4, every login = 5 +$_prefs['purge_events_interval'] = array( + 'value' => '2', + 'locked' => false, + 'shared' => false, + 'type' => 'select', + 'desc' => _("Purge old events how often:"), +); + +$_prefs['purge_events_keep'] = array( + 'value' => 365, + 'locked' => false, + 'shared' => false, + 'type' => 'number', + 'desc' => _("Purge old events older than this amount of days."), +); + +// last time maintenance was run. +// value is a UNIX timestamp of the last time maintenance ran for the user. +$_prefs['last_kronolith_maintenance'] = array( + 'value' => 0, + 'locked' => false, + 'shared' => false, + 'type' => 'implicit' +); diff --git a/kronolith/contacts.php b/kronolith/contacts.php new file mode 100644 index 000000000..19fab9490 --- /dev/null +++ b/kronolith/contacts.php @@ -0,0 +1,79 @@ +call('contacts/sources'); + +/* If we self-submitted, use that source. Otherwise, choose a good + * source. */ +$source = Util::getFormData('source'); +if (empty($source) || !isset($source_list[$source])) { + /* We don't just pass the second argument to getFormData() because + * we want to trap for invalid sources, not just no source. */ + $source = key($source_list); +} + +/* Get the search as submitted (defaults to '' which should list everyone). */ +$search = Util::getFormData('search'); +$apiargs = array(); +$apiargs['addresses'] = array($search); +$apiargs['addressbooks'] = array($source); +$apiargs['fields'] = array(); + +if ($search_fields_pref = $prefs->getValue('search_fields')) { + foreach (explode("\n", $search_fields_pref) as $s) { + $s = trim($s); + $s = explode("\t", $s); + if (!empty($s[0]) && ($s[0] == $source)) { + $apiargs['fields'][array_shift($s)] = $s; + break; + } + } +} + +if ($search || $prefs->getValue('display_contact')) { + $results = $registry->call('contacts/search', $apiargs); +} else { + $results = array(); +} + +/* The results list returns an array for each source searched - at least + that's how it looks to me. Make it all one array instead. */ +$addresses = array(); +if (!is_a($results, 'PEAR_Error')) { + foreach ($results as $r) { + $addresses = array_merge($addresses, $r); + } +} + +/* If self-submitted, preserve the currently selected users encoded by + javascript to pass as value|text. */ +$selected_addresses = array(); +$sa = explode('|', Util::getFormData('sa')); +for ($i = 0; $i < count($sa) - 1; $i += 2) { + $selected_addresses[$sa[$i]] = $sa[$i + 1]; +} + +/* Set the default list display (name or email). */ +$display = Util::getFormData('display', 'name'); + +/* Display the form. */ +$title = _("Address Book"); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/contacts/contacts.inc'; +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/data.php b/kronolith/data.php new file mode 100644 index 000000000..53e63e1d6 --- /dev/null +++ b/kronolith/data.php @@ -0,0 +1,326 @@ + + */ + +function _cleanup() +{ + global $import_step; + $import_step = 1; + return IMPORT_FILE; +} + +@define('KRONOLITH_BASE', dirname(__FILE__)); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once 'Horde/Data.php'; + +if (!$conf['menu']['import_export']) { + require KRONOLITH_BASE . '/index.php'; + exit; +} + +/* Importable file types. */ +$file_types = array('csv' => _("Comma separated values"), + 'icalendar' => _("vCalendar/iCalendar")); + +/* Templates for the different import steps. */ +$templates = array( + IMPORT_CSV => array($registry->get('templates', 'horde') . '/data/csvinfo.inc'), + IMPORT_MAPPED => array($registry->get('templates', 'horde') . '/data/csvmap.inc'), + IMPORT_DATETIME => array($registry->get('templates', 'horde') . '/data/datemap.inc') +); +if (Kronolith::hasPermission('max_events') !== true && + Kronolith::hasPermission('max_events') <= Kronolith::countEvents()) { + $message = @htmlspecialchars(sprintf(_("You are not allowed to create more than %d events."), Kronolith::hasPermission('max_events')), ENT_COMPAT, NLS::getCharset()); + if (!empty($conf['hooks']['permsdenied'])) { + $message = Horde::callHook('_perms_hook_denied', array('kronolith:max_events'), 'horde', $message); + } + $notification->push($message, 'horde.warning', array('content.raw')); + $templates[IMPORT_FILE] = array(KRONOLITH_TEMPLATES . '/data/export.inc'); +} else { + $templates[IMPORT_FILE] = array(KRONOLITH_TEMPLATES . '/data/import.inc', KRONOLITH_TEMPLATES . '/data/export.inc'); +} + +/* Initial values. */ +$import_step = Util::getFormData('import_step', 0) + 1; +$actionID = Util::getFormData('actionID'); +$next_step = IMPORT_FILE; +$app_fields = array('title' => _("Title"), + 'start_date' => _("Start Date"), + 'start_time' => _("Start Time"), + 'end_date' => _("End Date"), + 'end_time' => _("End Time"), + 'alarm' => _("Alarm Span (minutes)"), + 'alarm_date' => _("Alarm Date"), + 'alarm_time' => _("Alarm Time"), + 'description' => _("Description"), + 'category' => _("Category"), + 'location' => _("Location"), + 'keywords' => _("Keywords"), + 'recur_type' => _("Recurrence Type"), + 'recur_end_date' => _("Recurrence End Date"), + 'recur_interval' => _("Recurrence Interval"), + 'recur_data' => _("Recurrence Data")); +$time_fields = array('start_date' => 'date', + 'start_time' => 'time', + 'end_date' => 'date', + 'end_time' => 'time', + 'recur_end_date' => 'date'); +$param = array('time_fields' => $time_fields, + 'file_types' => $file_types); +$import_format = Util::getFormData('import_format', ''); +$error = false; + +/* Loop through the action handlers. */ +switch ($actionID) { +case 'export': + if (Util::getFormData('all_events')) { + $start = null; + $end = null; + } else { + $start->mday = Util::getFormData('start_day'); + $start->month = Util::getFormData('start_month'); + $start->year = Util::getFormData('start_year'); + $end->mday = Util::getFormData('end_day'); + $end->month = Util::getFormData('end_month'); + $end->year = Util::getFormData('end_year'); + } + + $events = array(); + $calendars = Util::getFormData('exportCal', $display_calendars); + if (!is_array($calendars)) { + $calendars = array($calendars); + } + foreach ($calendars as $cal) { + if ($kronolith_driver->getCalendar() != $cal) { + $kronolith_driver->open($cal); + } + $events[$cal] = $kronolith_driver->listEvents($start, $end); + } + + if (!$events) { + $notification->push(_("There were no events to export."), 'horde.message'); + $error = true; + break; + } + + $exportID = Util::getFormData('exportID'); + switch ($exportID) { + case EXPORT_CSV: + $data = array(); + foreach ($events as $cal => $calevents) { + if ($kronolith_driver->getCalendar() != $cal) { + $kronolith_driver->open($cal); + } + foreach ($calevents as $eventId) { + $event = &$kronolith_driver->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + continue; + } + + $row = array(); + $row['title'] = $event->getTitle(); + $row['category'] = $event->category; + $row['location'] = $event->location; + $row['description'] = $event->description; + $row['keywords'] = implode(',', $event->keywords); + $row['start_date'] = sprintf('%d-%02d-%02d', $event->start->year, $event->start->month, $event->start->mday); + $row['start_time'] = sprintf('%02d:%02d:%02d', $event->start->hour, $event->start->min, $event->start->sec); + $row['end_date'] = sprintf('%d-%02d-%02d', $event->end->year, $event->end->month, $event->end->mday); + $row['end_time'] = sprintf('%02d:%02d:%02d', $event->end->hour, $event->end->min, $event->end->sec); + $row['alarm'] = $event->alarm; + if ($event->recurs()) { + $row['recur_type'] = $event->recurrence->getRecurType(); + $row['recur_end_date'] = sprintf('%d-%02d-%02d', + $event->recurrence->recurEnd->year, + $event->recurrence->recurEnd->month, + $event->recurrence->recurEnd->mday); + $row['recur_interval'] = $event->recurrence->getRecurInterval(); + $row['recur_data'] = $event->recurrence->recurData; + } else { + $row['recur_type'] = null; + $row['recur_end_date'] = null; + $row['recur_interval'] = null; + $row['recur_data'] = null; + } + $data[] = $row; + } + } + + $csv = &Horde_Data::singleton('csv'); + $csv->exportFile(_("events.csv"), $data, true); + exit; + + case EXPORT_ICALENDAR: + require_once 'Horde/Identity.php'; + require_once 'Horde/iCalendar.php'; + $iCal = new Horde_iCalendar(); + + $calNames = array(); + foreach ($events as $cal => $calevents) { + if ($kronolith_driver->getCalendar() != $cal) { + $kronolith_driver->open($cal); + } + + $share = &$kronolith_shares->getShare($cal); + $calNames[] = $share->get('name'); + foreach ($calevents as $id) { + $event = &$kronolith_driver->getEvent($id); + if (is_a($event, 'PEAR_Error')) { + continue; + } + $iCal->addComponent($event->toiCalendar($iCal)); + } + } + + $iCal->setAttribute('X-WR-CALNAME', String::convertCharset(implode(', ', $calNames), NLS::getCharset(), 'utf-8')); + $data = $iCal->exportvCalendar(); + $browser->downloadHeaders(_("events.ics"), 'text/calendar', false, strlen($data)); + echo $data; + exit; + } + break; + +case IMPORT_FILE: + $_SESSION['import_data']['import_cal'] = Util::getFormData('importCal'); + $_SESSION['import_data']['purge'] = Util::getFormData('purge'); + 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 = IMPORT_FILE; + } else { + if ($actionID == IMPORT_FILE) { + $share = &$kronolith_shares->getShare($_SESSION['import_data']['import_cal']); + if (is_a($share, 'PEAR_Error')) { + $notification->push(_("You have specified an invalid calendar."), 'horde.error'); + $next_step = $data->cleanup(); + } elseif (!$share->hasPermission(Auth::getAuth(), PERMS_EDIT)) { + $notification->push(_("You do not have permission to add events to the selected calendar."), 'horde.error'); + $next_step = $data->cleanup(); + } 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(); + } + } + } 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(); + + $events = array(); + $error = false; + $max_events = Kronolith::hasPermission('max_events'); + if ($max_events !== true) { + $num_events = Kronolith::countEvents(); + } + $kronolith_driver->open($_SESSION['import_data']['import_cal']); + + if (!count($next_step)) { + $notification->push(sprintf(_("The %s file didn't contain any events."), + $file_types[$_SESSION['import_data']['format']]), 'horde.error'); + $error = true; + } else { + /* Purge old calendar if requested. */ + if ($_SESSION['import_data']['purge']) { + $result = $kronolith_driver->delete($_SESSION['import_data']['import_cal']); + if (is_a($result, 'PEAR_Error')) { + $notification->push(sprintf(_("The calendar could not be purged: %s"), $result->getMessage()), 'horde.error'); + } else { + $notification->push(_("Calendar successfully purged."), 'horde.success'); + } + } + } + + foreach ($next_step as $row) { + if ($max_events !== true && $num_events >= $max_events) { + $message = @htmlspecialchars(sprintf(_("You are not allowed to create more than %d events."), Kronolith::hasPermission('max_events')), ENT_COMPAT, NLS::getCharset()); + if (!empty($conf['hooks']['permsdenied'])) { + $message = Horde::callHook('_perms_hook_denied', array('kronolith:max_events'), 'horde', $message); + } + $notification->push($message, 'horde.error', array('content.raw')); + break; + } + $event = &$kronolith_driver->getEvent(); + if (!$event || is_a($event, 'PEAR_Error')) { + $msg = _("Can't create a new event."); + if (is_a($event, 'PEAR_Error')) { + $msg .= ' ' . sprintf(_("This is what the server said: %s"), $event->getMessage()); + } + $notification->push($msg, 'horde.error'); + $error = true; + break; + } + if (is_a($row, 'Horde_iCalendar_vevent')) { + $event->fromiCalendar($row); + } elseif (is_a($row, 'Horde_iCalendar')) { + // Skip other iCalendar components for now. + continue; + } else { + $valid = $event->fromHash($row); + if (is_a($valid, 'PEAR_Error')) { + $notification->push($valid, 'horde.error'); + $error = true; + break; + } + } + + $success = $event->save(); + if (is_a($success, 'PEAR_Error')) { + $notification->push($success, 'horde.error'); + $error = true; + break; + } + + $category = $event->getCategory(); + if (!empty($category) && !in_array($category, $categories)) { + $cManager->add($category); + $categories[] = $category; + } + + if ($max_events !== true) { + $num_events++; + } + } + if (!$error) { + $notification->push(sprintf(_("%s file successfully imported"), + $file_types[$_SESSION['import_data']['format']]), 'horde.success'); + } + $next_step = $data->cleanup(); +} + +$title = _("Import/Export Calendar"); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; + +echo '
'; +foreach ($templates[$next_step] as $template) { + require $template; +} +echo '
'; + +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/day.php b/kronolith/day.php new file mode 100644 index 000000000..a2696dbef --- /dev/null +++ b/kronolith/day.php @@ -0,0 +1,43 @@ + + */ + +require_once dirname(__FILE__) . '/lib/base.php'; + +$view = Kronolith::getView('Day'); +$title = $view->getTime($prefs->getValue('date_format')); +$print_view = (bool)Util::getFormData('print'); + +Horde::addScriptFile('tooltip.js', 'horde', true); +if (!$print_view) { + Horde::addScriptFile('popup.js', 'horde', true); +} +require KRONOLITH_TEMPLATES . '/common-header.inc'; + +if ($print_view) { + require $registry->get('templates', 'horde') . '/javascript/print.js'; +} else { + require KRONOLITH_TEMPLATES . '/menu.inc'; +} + +echo '
'; +if (!$print_view) { + Kronolith::tabs(); +} +$view->html(KRONOLITH_TEMPLATES); +echo '
'; + +if ($print_view) { + require KRONOLITH_TEMPLATES . '/calendar_titles.inc'; +} else { + require KRONOLITH_TEMPLATES . '/panel.inc'; +} +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/delete.php b/kronolith/delete.php new file mode 100644 index 000000000..49a7df2c9 --- /dev/null +++ b/kronolith/delete.php @@ -0,0 +1,81 @@ + + */ + +@define('KRONOLITH_BASE', dirname(__FILE__)); +require_once KRONOLITH_BASE . '/lib/base.php'; + +$kronolith_driver->open(Util::getFormData('calendar')); +if ($eventID = Util::getFormData('eventID')) { + $event = &$kronolith_driver->getEvent($eventID); + if (is_a($event, 'PEAR_Error')) { + if (($url = Util::getFormData('url')) === null) { + $url = Horde::applicationUrl($prefs->getValue('defaultview') . '.php', true); + } + header('Location: ' . $url); + exit; + } + $share = &$kronolith_shares->getShare($event->getCalendar()); + if (!$share->hasPermission(Auth::getAuth(), PERMS_DELETE, $event->getCreatorID())) { + $notification->push(_("You do not have permission to delete this event."), 'horde.warning'); + } else { + $notification_type = KRONOLITH_ITIP_CANCEL; + $instance = null; + if (Util::getFormData('future')) { + $recurEnd = new Horde_Date(array('hour' => 0, 'min' => 0, 'sec' => 0, + 'month' => Util::getFormData('month', date('n')), + 'mday' => Util::getFormData('mday', date('j')) - 1, + 'year' => Util::getFormData('year', date('Y')))); + $recurEnd->correct(); + if ($event->end->compareDate($recurEnd) > 0) { + $result = $kronolith_driver->deleteEvent($event->getId()); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result, 'horde.error'); + } + } else { + $event->recurrence->setRecurEnd($recurEnd); + $event->save(); + } + $notification_type = KRONOLITH_ITIP_REQUEST; + } elseif (Util::getFormData('current')) { + $event->recurrence->addException(Util::getFormData('year'), + Util::getFormData('month'), + Util::getFormData('mday')); + $event->save(); + $instance = new Horde_Date(array('year' => Util::getFormData('year'), + 'month' => Util::getFormData('month'), + 'mday' => Util::getFormData('mday'))); + } + + if (!$event->recurs() || + Util::getFormData('all') || + !$event->recurrence->hasActiveRecurrence()) { + $result = $kronolith_driver->deleteEvent($event->getId()); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result, 'horde.error'); + } + } + + if (Util::getFormData('sendupdates', false)) { + Kronolith::sendITipNotifications($event, $notification, $notification_type, $instance); + } + } +} + +if ($url = Util::getFormData('url')) { + $location = $url; +} else { + $url = Util::addParameter($prefs->getValue('defaultview') . '.php', + 'date', Util::getFormData('date', date('Ymd'))); + $location = Horde::applicationUrl($url, true); +} + +header('Location: ' . $location); diff --git a/kronolith/docs/CHANGES b/kronolith/docs/CHANGES new file mode 100644 index 000000000..010e9cc96 --- /dev/null +++ b/kronolith/docs/CHANGES @@ -0,0 +1,926 @@ +-------- +v3.0-cvs +-------- + +[jan] Store events in UTC and convert to the user's timezone on the fly. +[jan] Remove alarm reminder code. +[jan] Change listEvents API method to return keys as dates instead of + timestamps. + + +---------- +v2.3.1-cvs +---------- + +[jan] Allow to manually change attendee responses (paul@carnie.com.au, + Request #7443). +[jan] Fix linking to last week across certain year boundaries (Bug #7827). +[jan] Add script to import events from SquirrelMail database. +[cjh] Add private-***.png graphics to Tango and Silver themes (Bug #7531). +[cjh] Fix listing of users in the calendar/browse API call. +[jan] Set timezone per user preference and fix recurring events when sending + reminders through Kronolith (develop@kristov.de, Bug #7038). +[cjh] Add a PostgreSQL-specific upgrade script for 2.2 to 2.3 + (michael.menge@zdv.uni-tuebingen.de, Bug #7454). + + +---- +v2.3 +---- + +[jan] Change group field in shares table to work with LDAP groups (Bug #6883). +[jan] Fix user name conversion with user hooks in the calendar panel + (Bug #7366). +[gwr] Fixed handling of free events in the Kolab driver + (noethen@uni-paderborn.de, Bug #7192). +[jan] Differentiate between days with events and days with busy events in the + year view. + + +-------- +v2.3-RC1 +-------- + +[jan] Send correct iTip notifications when deleting recurring event instances + (Bug #6636). +[mjr] Add support for embedding calendar widgets on external websites. +[jan] Log moving of events in the history backend (Bug #3207). +[jan] Fix listing alarms of recurring events crossing day boundaries + (Bug #7035). +[jan] Fix deleting all events over WebDAV (Bug #7005). +[jan] Add Atom feeds. +[jan] Fix encoding of holiday names. +[jan] Add Estonian translation (Alar Sing ). +[jan] Consider RECURRENCE-ID attributes in iCalendar data. +[cjh] Fix a problem with the put() API call and events that already exist + (almarin@um.es, Bug #7088). +[jan] Fix importing iCalendar events with only a single recurrence exception + (guyzdm@gmail.com, Bug #7068). +[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV + ). +[mjr] Add support for maintenance tasks and add a task for purging old events. +[jan] Fix future events not being received under certain circumstances + (Bugs #6946, #6966). +[jan] Correctly sort recurring events (develop@kristov.de, Bug #7037). +[jan] Fix display of recurring events crossing midnight in the portal block + (develop@kristov.de, Bug #7036). +[jan] Fix agenda emails containing wrong events. +[mjr] Remove user permissions on all shares when deleting a user. +[jan] Fix warning when importing events through the API (Bug #6865). +[cjh] Be case insensitive when comparing attendees + (aloyse.gilbert@gmail.com, Bug #6833). +[jan] Use smaller icons for private events. + + +---- +v2.2 +---- + +[jan] Identify the correct event when using attend.php to update invitations + (Bug #6606). +[cjh] Improve resource usage in datatree_to_sql share migration script + (Bug #6740). +[jan] Decode user names and passwords when editing remote calendars. +[cjh] Ensure that event_category is always a string (Bug #6696). + + +-------- +v2.2-RC3 +-------- + +[cjh] Apply fix for http://dev.rubyonrails.org/ticket/11473 to prototype.js + (Request #6590). +[cjh] In WebDAV PUT operations, only look for existing events on the calendar + being uploaded (Bug #6617). +[cjh] Add an upgrade script for the new SQL share driver (Request #6109). +[cjh] Use json_encode and json_decode if they are available (Bug #6457). +[cjh] Use the first matching free/busy URL if more than one is found + (almarin@um.es, Request #6638). +[cjh] Allow subscribing/unsubscribing from external calendars through the API + (duck@obala.net, Request #6626). +[jan] Add another directory level for calendar owners to the WebDAV interface. +[jan] Cut off categories at 80 characters to save them correctly (Bug #5211). +[gwr] Fixed removal of recurrence in the Kolab driver. +[jan] Show full title in email alarms (Bug #6510). +[jan] Add export of single events. +[gwr] Fixed History support in the Kolab driver. +[cjh] Don't report cancelled events as busy (m.gabriel@das-netzwerkteam.de, + Bug #6376). +[cjh] Show who created or made the last change to an event along with the date + (Request #6305). +[cjh] Make sure event time and location are shown in the day and week views + (Bug #6158). +[cjh] Include Location and Attendee information in the plain-text portion + of iTip messages (almarin@um.es, Request #6271). +[jan] Add Turkish translation (METU ). + + +-------- +v2.2-RC2 +-------- + +[jan] SECURITY: Fix privilege escalation in Horde API. +[cjh] SECURITY: Fix missing ownership validation on share changes. +[cjh] Fix month links in the year view when the first day of the month is on + the first day of the week (hofsteda@gmail.com, Bug #6172). +[cjh] Make sure calendar info boxes show the full remote URL (Bug #6134). +[jan] Fix importing of events with an existing UID (Bug #6122). +[cjh] Fix timestamps in portal block event links. +[mjr] Fix issue that caused recurring events on 2/29 to appear on 3/1 when + recurrence type is HORDE_DATE_RECUR_YEARLY_DATE. +[cjh] If JavaScript is available, open the Attendees window set to the current + event's date (Request #5813). +[cjh] Fix display of events that end at 00:00 at a non-zero second (Bug #6047). +[cjh] Fix handling of local names in attendees.php + (m.gabriel@das-netzwerkteam.de, Bug #6041). +[cjh] Fix inline calendar search in the calendar panel. +[cjh] New share management UI that doesn't require JavaScript. + + +-------- +v2.2-RC1 +-------- + +[jan] Don't allow to modify private events throught the API (Bug #5736). +[jan] Don't overwrite event owner when changing events over WebDAV (Bug #5736). +[jan] Implement WebDAV DELETE. +[cjh] Event exceptions are now correctly reflected when subscribing to + Kronolith calendars from Apple iCal. +[cjh] When adding attendees, parse email groups and add each member + individually (Bug #5812). +[cjh] External events are now enabled/disabled by individual category, such + as showing a particular tasklist on your calendar, but not all tasks + (Request #4581). +[jan] Add SQL upgrade script. +[cjh] Let the "show" URL of a calendar always show that calendar, instead of + toggling whether or not it is displayed. +[cjh] Fix permissions granted to remote calendar subscribers on calendars + that do not have guest permissions. +[cjh] Fix generation of UIDs with PHP 5.2+. +[cjh] Add preferences for showing event times and locations in screen + views, print views, both, or neither (Request #1982). +[cjh] Run attendee email address through MIME::encodeAddress() before + validating them (Bug #5670). + + +---------- +v2.2-ALPHA +---------- + +[cjh] Add vCalendar 2.0 alarm export (munzli@olmero.ch, Bug #4851). +[jan] Add Ukrainian translation (Andriy Kopystyansky ). +[cjh] Inline PHP-generated javascript to avoid cross-domain leaking + (Bug #5307). +[cjh] Add a preference to not send notifications to the person who is + adding/updating/deleting the event (steven.deboeck@excentis.com, + Request #4770). +[cjh] Add calendar/subscribe and calendar/unsubscribe methods for adding/ + removing calendars to the currently displayed calendars + (duck@obala.net). +[cjh] Remove unneeded Kronolith_Driver::close method. +[cjh] Fix error handling when moving events + (thomas.jarosch@intra2net.com, Bug #5401). +[jan] Show icon for private events (Request #5190). +[jan] Allow to edit existing event attendees. +[jan] Add links to delete exceptions from recurring events. +[jan] Add recurrence types by day of year and weekday of year. +[jan] Add recurrence durations by number of recurrences. +[jan] Allow to edit exceptions from recurring events. +[jan] Allow to specify attendees without email addresses. +[jan] Allow to specify attendee names with the email addresses. +[cjh] Link to remote URLs in iCalendar events, if present (Duck). +[jan] Hide less important event settings in the edit form by default. +[jan] Add support for the Horde_Alarm framework (requires Horde 3.2). +[cjh] Add ContactAutoCompleter javascript to the attendees screen + (Request #1635). +[jan] Add month tab to free/busy view (Gunnar Wrobel , + Request #4896). +[cjh] Use extended Free/Busy information from Kolab (wrobel@pardus.de, + Request #4869). +[ben] Add daily agenda reminder (Request #4655). +[cjh] Include event location in reminders (webmgr@muskingum.edu, + Request #4771). +[cjh] Use global proxy configuration for HTTP requests (Request #1039). +[jan] Display holidays generated with the Date_Holiday package (Stephan + Hohmann , Request #3862). +[cjh] Consider failing to find any attendees to update an error + (Bug #4588). +[cjh] Include a summary of which calendars were printed in print views + (Request #3263). +[jan] Add support for reading and saving events through external clients + (requires Horde 3.2, d.bussink@student.utwente.nl, Request #3032). +[jan] Limit number of events in portal summary block (Duck ). +[cjh] Add a live search to the calendar panel (Request #4607). +[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines. + (Request #4080) +[cjh] Fix Day and Week display of events that overlap with an event that + doesn't start all the way to the left (Bug #2967). +[cjh] Move calendar selection/deselection to a collapsible panel. +[jan] Allow to set user name and password for remote calendars + (tevans@tachometry.com, Request #3696). +[jan] Allow to edit remote calendars (tevans@tachometry.com, Request #3696). +[cjh] Move almost all hiding of elements during printing to CSS classes. +[cjh] Allow the listEvents api call to list events from multiple calendars, + and filter by whether or not events have an alarm + (Ben Klang , Bug #4104). +[mjr] Support for removing user data from backend when user is removed from + Horde. +[jan] Add private flag. +[cjh] Add a default alarm preference. +[cjh] Always include X-WR-CALNAME in iCalendar exports (Request #3618). +[jan] Add multidomain support for Kolab servers (tokoe@kde.org, Request #3579). +[jan] Allow delegation of events. +[cjh] Dynamic switching between Display, Edit, and Delete screens. +[jan] Add preference to force day and week views to selected hours. +[cjh] Make the duration input a text field instead of a 365-day dropdown. +[mdj] Add support for split read/write database. +[mdj] Add failover support for SQL backend. +[cjh] Use partial page fetches to update the main "page" div if the browser + supports the necessary JavaScript. + + +------ +v2.1.7 +------ + +[jan] SECURITY: Fix privilege escalation in Horde API. +[cjh] SECURITY: Fix missing ownership validation on share changes. +[jan] Set the user's timezone in the free/busy information. +[jan] Fix redirection after editing an event from the sidebar menu (Bug #5769). + + +------ +v2.1.6 +------ + +[cjh] Display attendees list correctly without a mail/compose method (Bug + #5127). +[cjh] Send iCalendar data as UTF-8 (Bug #5427). +[jan] Fix duration of remote and imported full-day events (Bugs #4617, #4794). +[jan] Fix recurring multiday events crossing a month border (Bug #5205). +[jan] Fix duration calculation in edit form for events covering more than a + month (Bug #5120). + + +------ +v2.1.5 +------ + +[jan] Fix character set encoding of exported vCalendar/iCalendar data. +[jan] Fixed MS-SQL driver (Bug #5088). +[jan] Add Catalan translation (Jordi Giralt ). +[jan] Fix searching for non-ascii strings (Bug #4773). +[cjh] Display partial hours in free/busy view (cbs@cts.ucla.edu, + Request #4755). +[cjh] Honor date_format preference in reminders and notifications (Bug #4726). + + +------ +v2.1.4 +------ + +[cjh] SECURITY: Close arbitrary file inclusion in free/busy views. + + +------ +v2.1.3 +------ + +[cjh] Set vEvent ORGANIZER to the event creator, not the calendar owner + (kajtzu@basen.net, Bug #4527). +[jan] Fix importing of events without end date and duration (Bug #4519). +[jan] Correctly display recurring events spanning multiple days (Bug #4438). +[jan] Fix recurrence end dates with SQLite backends (Bug #4219). +[jan] Fix calculation of recurrence ends with imported and remote events + (Bug #2813). +[cjh] Consolidate the check for whether or not users can add events in + the day and month views (Bug #4373). +[jan] Fix alarms for recurring events in Kolab driver + (michael.sheldon@credativ.de, Bug #4326). +[jan] Show error message if imported file didn't contain events. +[cjh] Fix the SQL types of several recurrence fields. +[jan] Add categories from imported events to the user's categories. +[jan] Add Slovenian translation (Duck ). +[jan] Deal with attendee email addresses case insensitively. +[jan] Don't consider events from remote calendars as busy time. +[jan] Always try to return the correct event instance if requesting an event + by its UID (Thorsten Schaub, Bug #1994). +[cjh] Fix permissions for the calendar list in advanced search (Bug #4093). + + +------ +v2.1.2 +------ + +[jan] Don't show calendar creation form if multiple calendars are not allowed + (Bug #3988). +[jan] Add "Save and Finish" button to attendees popup (Request #1158). +[jan] Add parameter to Upcoming Events portal block to limit number of + displayed events (dorm@dorm.org, Request #3905). +[jan] Allow adding of events if not using a permanent DataTree backend. +[jan] Fix fatal error for new users on some sytems (Bug #3711). + + +------ +v2.1.1 +------ + +[jan] Fix updating attendee status from KOrganizer replies. +[jan] Fix events of status "free" being included in busy information. +[jan] Automatically add current user's free/busy information to meeting + planner. +[jan] Add 1.1 to 2.x upgrade script for Oracle. +[cjh] Prevent listAlarms() from causing a fatal error if no calendar is + open (Bug #3717). +[jan] Update free/busy information on Kolab server after editing events + (requires Horde 3.1.1) (tokoe@kde.org, Request #3654). +[cjh] Honor time format and language preferences in email notifications + (Bug #2064). +[cjh] Add missing display_contact preference (Bug #3575). +[cjh] Fix fatal error during first login of new users. + + +---- +v2.1 +---- + +[cjh] There are now several guards against users being stuck with no selected + calendars and no way to select one (Bug #3538). + + +-------- +v2.1-RC3 +-------- + +[jan] Fix retrieving of free/busy URLs from Kolab servers (tokoe@kde.org, + Bug #3450). +[jan] Fix recurring events without end dates using the Kolab driver + (tokoe@kde.org, Bug #2734). +[jan] Allow to specify port and protocol of Kolab server for free/busy request + (aseigo@kde.org, tokoe@kde.org, Request #2178). +[jan] Improve attendees and contacts forms. + + +-------- +v2.1-RC2 +-------- + +[jan] Show subscription URL for calendars in "My Calendars" overview + (kevin_myer@iu13.org, Request #3256). +[jan] Fix browser redirection after saving events. + + +-------- +v2.1-RC1 +-------- + +[cjh] The calendar(s) to export data from are now configurable (Request #2330). +[jan] Add Portuguese translation (Manuel Menezes de Sequeira + ). +[cjh] Use HTTP_Request to retrieve Free/Busy information so we don't + rely on allow_url_fopen. +[cjh] Remove disabled PDB import code. +[cjh] Fix display when only remote calendars are active (Bug #2777). +[cjh] Fix alarms for recurring events. +[ben] Add RSVP to iTip so Outlook will send a reply message when the + invitation is accepted/declined/etc. +[jan] Allow automatic sharing of new calendars with users' groups + (gauret@free.fr, Request #1366). +[jan] Add preference to only retrieve event reminders for certain calendars + (kevin_myer@iu13.org, Request #649). +[jan] Always return to last screen after editing or deleting events. +[jan] Allow to freely set event years. +[jan] Add event status of "Free". +[jan] Add CLI script to import iCalendar/vCalendar data. +[cjh] Deprecate the MCAL driver. +[mas] Allow replacing a calendar with an imported one. (Bug #1364) +[mas] Change any output of and tags to and for better + accessibility support. +[cjh] Use CSS for all category colors instead of generating them inline. +[cjh] Use Horde_Template for day and week view rows. +[cjh] The length of time slots in the day and week views is now configurable + (Bug #1952). +[cjh] Add a tree block for showing current alarms. +[jan] Add permissions to restrict number of events. +[cjh] Show event owners in tooltips. +[cjh] Fix assumptions about users being logged in when fetching free/busy + information (tasin (at) fhm (dot) edu, Bug #1850). +[jan] Add calendar popup window to side-by-side view to search for calendars + and toggle their visibility. +[jan] Add icon to calendar names to remove calendars from side-by-side view. +[cjh] fb.php now accepts ?u= arguments as well as ?c=, for displaying a user's + chosen free/busy calendars, allowing users control of which calendars + block out free/busy time without changing the free/busy URL + (kevin_myer@iu13.org, Bug #1683). +[cjh] Add exists() method to calendar drivers for checking if events exist by + UID (Roel Gloudemans ). +[jan] Send links in iTip requests to let users quickly reply to an invitation. +[cjh] Add ics.php (also mirrored by an exportCalendar() API method), which can + be used for integration with Sunbird, iCal, et. al. (srrafa@usc.es, + Bug #917). +[jan] Add preference to send email notifications to users when events have + been added, edited, or deleted in their calendars. +[cjh] Add a Year view (mbydalek@mobilemini.com) (Bug #1238). +[jan] Use OPTGROUPs in calendar drop down list. + + +------ +v2.0.7 +------ + +[cjh] SECURITY: Close arbitrary file inclusion in free/busy views. + + +------ +v2.0.6 +------ + +[cjh] Close several XSS problems with calendar and event fields. + + +------ +v2.0.5 +------ + +[jan] Fix warnings with Internet Explorer on HTTPS connections. +[jan] Fix reminder emails. + + +------ +v2.0.4 +------ + +[jan] Allow to import more than one event from iCalendar data at once. +[cjh] Avoid loops and other errors by immediately failing nextRecurrence() + checking for any event with a recurInterval of 0 (Bug #2709). + + +---------- +v2.0.4-RC1 +---------- + +[jan] Fix navigation popup with Safari browsers (t.zell@gmx.de, Bug #2447). +[cjh] Fix infinite loop with some recurring events (Bug #2346). +[cjh] Fix All Past and All Future searches (Bug #2257). +[cjh] Be smarter about enforcing "end before beginning" check for + am/pm users when creating an event than spans noon (Bug #1731). +[jan] Sort search results by start date and show category colors. +[cjh] Respect twenty_four preference in reminders script (Bug #1896). + + +------ +v2.0.3 +------ + +[jan] Respect SMTP authentication settings when sending reminders and + notifications (requires Horde 3.0.4). +[jan] Include date in reminder message (Bug #1855). +[jan] Fix time grids in free/busy view (Bugs #1557, #1868, tasin@fhm.edu). + + +---------- +v2.0.3-RC1 +---------- + +[jan] Fix browsing through work weeks in attendees view (Bug #1852, + tasin@fhm.edu). +[jan] Fix updating of attendee status in attendees view (Bug #1188). +[jan] Don't show tasks without due dates in all timezones (Bug #514). +[jan] Include attendees in iTip event invitations (Bug #1676). +[jan] Fix generated HTML if no calendar has been selected. +[cjh] Add a PostgreSQL upgrade script (Bug #1778). +[cjh] Show the calendar selection dropdown if there are remote calendars + regardless of number of shares (Bug #1640). +[cjh] Separate buttons on attendees screen (kevin_myer@iu13.org, Bug #1635). +[cjh] Use bind variables in the SQL drivers (selsky@columbia.edu, Bugs #1669, + #1670). +[jan] Send reminders in users' languages (Bug #1654). +[cjh] Don't leave events in the database with no recurrences left (Bug #1503). +[cjh] Make sure that remote events can be edited for saving as new, and never + show a delete button for them (Bug #1639). +[cjh] Always use eventID, not eventIndex. Fixes problems with only one remote + event showing up per day (Bug #1630). +[jan] Fix free/busy generation on broken PHP CGI SAPIs (Bug #1599). +[cjh] Set recurrence end date if present in iCal data (Bug #1365, #1582). +[cjh] Alarms that are a calendar day or more in the future are now sent on + time (Bug #1356) +[jan] Catch errors if importing incomplete events (Bug #1429). +[cjh] Fix display errors with overlapping repeating events and PHP4 + (Bug #1200). +[ben] Allow setting the default domain on attendee email addresses when + checking for freebusy urls. +[cjh] Treat webcal:// URLs as http:// for remote calendars (Bug #1480). +[cjh] Fix problems with PostgreSQL and non-ISO date formats (Bug #1482). +[jan] Workaround IE warning when entering Kronolith over HTTPS (Bug #910). +[jan] Add shortcut icon (favicon.ico). +[jan] Sort whole day events alphabetically (Bug #222). + + +------ +v2.0.2 +------ + +[jan] Fix portal block for missing events at the turn of the year (Bug #1337). + + +---------- +v2.0.2-RC1 +---------- + +[jan] Fix free/busy views with some languages (Bug #1036). +[cjh] Prevent infinite loops if events are set to recur weekly on no + weekdays (Bug #1074). +[cjh] Set iCalendar events with weekly recurrence to recur on the day + of the week of the first recurrence if no BYDAY data is present + (Bug #1074). +[cjh] Make sure that event UIDs are properly set in iTip notifications + (Bug #1153). +[jan] Add Japanese translation (Hiromi Kimura ). +[cjh] Check the completion status of tasks, not just their due date, + before showing them on the calendar (Bug #947). + + +------ +v2.0.1 +------ + +[cjh] Fix one page load delay in showing new/removing deleted shares + on the My Calendars screen (Bug #1048). +[cjh] Fix labeling of weekday columns in the Month view when the + week starts on Monday and show_shared_side_by_side preference + is on (Bug #1049). +[cjh] Fix fatal error when in calendar/import API call + (Sebastián Calero ). +[cjh] Fix a week boundary problem that took you to the previous + week when switching between the week and work week views. +[cjh] Fix several errors in calculating the week number at the + rollover between years. +[cjh] Fix an off-by-one error in the work week view when the user + views weeks starts on Sunday (Bug #1046). +[cjh] Add PostgreSQL version of 2004-12-21_add_event_uid (Bug #1028). +[cjh] Fix typo that prevented attendees from being saved (Bug #1019). + + +---- +v2.0 +---- + +[cjh] UIDs need to be stored in the History system with a kronolith: + prefix and with the calendar so as not to confuse different + instances of the same event (if two users both have a event on + their seperate calendars, they should have unique histories for + that event). +[cjh] The My Calendars page now has a tool for generating Free/Busy URLs + (Bug #571). +[cjh] Pass Horde_Date objects instead of timestamps when exporting to + iCalendar (Bug #950). +[cjh] Clone events before changing their start dates to the current day + in the day view so that the week view isn't wrong. +[cjh] Fix an off-by-one error in the week view when the user views weeks + starting on Sunday. +[cjh] Add a preference for whether or not to show the background color + for tasks shown on the calendar. +[cjh] Don't produce invalid exception dates when exporting iCal files or + when loading SQL events. +[cjh] Users can now get to the category/color edit screen directly + from the category legend, instead of having to find them in + Horde's prefs. + + +-------- +v2.0-RC3 +-------- + +[cjh] Add All Past as an option on simple searches. +[cjh] Add My Calendars menu entry. +[cjh] Event exceptions are now correctly exported in iCalendar files. +[cjh] Fix recurring events that recur on the same day of the month every n + months where n > 1 (Bug #907). +[cjh] Fix month view for months starting on Sunday with the first displayed + day set to Monday (Bug #907). +[cjh] Show event state by CSS styling (Derek P. Moore ). +[jan] Correctly highlight the current view's tab (Bug #896). + + +-------- +v2.0-RC2 +-------- + +[jan] Fix recurring events from remote calendars (Bug #559). +[cjh] The menubar Goto popup is now always on top of ')},onFailure:function(B){RedBox.close()}})})}); \ No newline at end of file diff --git a/kronolith/js/embed.js b/kronolith/js/embed.js new file mode 100644 index 000000000..8bc513d93 --- /dev/null +++ b/kronolith/js/embed.js @@ -0,0 +1 @@ +Event.observe(window,"load",function(){var A=kronolithNodes.length;for(var C=0;C' + transport.responseText + ''); + }, + onFailure: function(transport) { + RedBox.close(); + } + }); + }); +}); diff --git a/kronolith/js/src/embed.js b/kronolith/js/src/embed.js new file mode 100644 index 000000000..84c5cf670 --- /dev/null +++ b/kronolith/js/src/embed.js @@ -0,0 +1,16 @@ +Event.observe(window, 'load', function() { + var nodeCount = kronolithNodes.length; + for (var n = 0; n < nodeCount; n++) { + var j = kronolithNodes[n]; + $(j).update(kronolith[j]); + if (typeof Horde_ToolTips != 'undefined') { + // Need a closure here to ensure we preserve the value of j during + // each loop iteration. + (function() { + var jx = j; + Horde_ToolTips.attachBehavior(jx); + })(); + } + } + Event.observe(window, 'unload', Horde_ToolTips.out.bind(Horde_ToolTips)); +}); \ No newline at end of file diff --git a/kronolith/js/src/views.js b/kronolith/js/src/views.js new file mode 100644 index 000000000..b67bf4333 --- /dev/null +++ b/kronolith/js/src/views.js @@ -0,0 +1,114 @@ +var eventTabs = null; +var Views = { + + hash: $H(), + keys: [], + + get: function(key) + { + return this.hash.get(key); + }, + + push: function(key, val) + { + this.hash.set(key, val); + this.keys.push(key); + if (this.hash.size() > 10) { + this.hash.unset(this.keys.pop()); + } + } + +}; + +function ShowView(view, date, cache) +{ + if (Object.isUndefined(Ajax.Updater)) { + return true; + } + + if (Object.isUndefined(cache)) { + cache = true; + } + + // Build the request URL for later use, and as a hash key. + var params = $H({ view: view }); + if (typeof date == 'object') { + params.update(date); + } else { + params.set('date', date); + } + + var url = KronolithVar.view_url + (KronolithVar.view_url.include('?') ? '&' : '?') + params.toQueryString(); + + // Look for cached views. + if (Views.get(url)) { + $('page').update(Views.get(url)); + _ShowView(); + } else { + // Add the Loading ... notice. + $('page').appendChild(new Element('DIV', { id: 'pageLoading' }).update(KronolithText.loading)); + $('pageLoading').clonePosition('page'); + new Effect.Opacity('pageLoading', { from: 0.0, to: 0.5 }); + + // Update the page div. + if (cache) { + new Ajax.Updater('page', url, { onComplete: function() { Views.push(url, $('page').innerHTML); _ShowView(); } }); + } else { + new Ajax.Updater('page', url, { onComplete: _ShowView }); + } + } + + return false; +} + +function _ShowView() +{ + if (Object.isFunction(stripeAllElements)) { + stripeAllElements(); + } + if (typeof ToolTips == 'object') { + ToolTips.out(); + ToolTips.attachBehavior(); + } + + var titleDiv = $('view_title'); + if (titleDiv && titleDiv.firstChild && titleDiv.firstChild.nodeValue) { + var title = KronolithVar.page_title + titleDiv.firstChild.nodeValue; + try { + document.title = title; + if (parent.frames.horde_main) { + parent.document.title = title; + } + } catch (e) {} + } + + var viewVars = $('view_vars'); + if (viewVars) { + kronolithView = viewVars.readAttribute('view'); + kronolithDate = new Date(viewVars.readAttribute('date')); + kronolithPrintLink = viewVars.readAttribute('print'); + } +} + +function ShowTab(tab) +{ + if (eventTabs == null) { + eventTabs = $('page').select('.tabset ul li'); + } + + eventTabs.each(function(c) { + var t = $(c.id.substring(3)); + if (!t) { + return; + } + if (c.id == 'tab' + tab) { + c.addClassName('activeTab'); + t.show(); + } else { + c.removeClassName('activeTab'); + t.hide(); + } + }); + + return false; +} diff --git a/kronolith/js/views.js b/kronolith/js/views.js new file mode 100644 index 000000000..007c468b6 --- /dev/null +++ b/kronolith/js/views.js @@ -0,0 +1 @@ +var eventTabs=null;var Views={hash:$H(),keys:[],get:function(A){return this.hash.get(A)},push:function(A,B){this.hash.set(A,B);this.keys.push(A);if(this.hash.size()>10){this.hash.unset(this.keys.pop())}}};function ShowView(A,D,B){if(Object.isUndefined(Ajax.Updater)){return true}if(Object.isUndefined(B)){B=true}var E=$H({view:A});if(typeof D=="object"){E.update(D)}else{E.set("date",D)}var C=KronolithVar.view_url+(KronolithVar.view_url.include("?")?"&":"?")+E.toQueryString();if(Views.get(C)){$("page").update(Views.get(C));_ShowView()}else{$("page").appendChild(new Element("DIV",{id:"pageLoading"}).update(KronolithText.loading));$("pageLoading").clonePosition("page");new Effect.Opacity("pageLoading",{from:0,to:0.5});if(B){new Ajax.Updater("page",C,{onComplete:function(){Views.push(C,$("page").innerHTML);_ShowView()}})}else{new Ajax.Updater("page",C,{onComplete:_ShowView})}}return false}function _ShowView(){if(Object.isFunction(stripeAllElements)){stripeAllElements()}if(typeof ToolTips=="object"){ToolTips.out();ToolTips.attachBehavior()}var B=$("view_title");if(B&&B.firstChild&&B.firstChild.nodeValue){var D=KronolithVar.page_title+B.firstChild.nodeValue;try{document.title=D;if(parent.frames.horde_main){parent.document.title=D}}catch(C){}}var A=$("view_vars");if(A){kronolithView=A.readAttribute("view");kronolithDate=new Date(A.readAttribute("date"));kronolithPrintLink=A.readAttribute("print")}}function ShowTab(A){if(eventTabs==null){eventTabs=$("page").select(".tabset ul li")}eventTabs.each(function(C){var B=$(C.id.substring(3));if(!B){return}if(C.id=="tab"+A){C.addClassName("activeTab");B.show()}else{C.removeClassName("activeTab");B.hide()}});return false}; \ No newline at end of file diff --git a/kronolith/lib/Block/month.php b/kronolith/lib/Block/month.php new file mode 100644 index 000000000..bc4c366c1 --- /dev/null +++ b/kronolith/lib/Block/month.php @@ -0,0 +1,212 @@ + array('name' => _("Calendar"), + 'type' => 'enum', + 'default' => '__all')); + $params['calendar']['values']['__all'] = _("All Visible"); + foreach (Kronolith::listCalendars() as $id => $cal) { + $params['calendar']['values'][$id] = $cal->get('name'); + } + + return $params; + } + + /** + * The title to go in this block. + * + * @return string The title text. + */ + function _title() + { + global $registry; + require_once dirname(__FILE__) . '/../base.php'; + + $title = _("All Calendars"); + $url_params = array(); + if (isset($this->_params['calendar']) && $this->_params['calendar'] != '__all') { + $this->_share = &$GLOBALS['kronolith_shares']->getShare($this->_params['calendar']); + if (!is_a($this->_share, 'PEAR_Error')) { + $url_params = array('display_cal' => $this->_params['calendar']); + $title = htmlspecialchars($this->_share->get('name')); + } + } + $date = new Horde_Date(time()); + + return $title . ', ' . Horde::link(Horde::url(Util::addParameter($registry->getInitialPage(), $url_params), true)) . $date->strftime('%B, %Y') . ''; + } + + /** + * The content to go in this block. + * + * @return string The content + */ + function _content() + { + global $prefs; + require_once dirname(__FILE__) . '/../base.php'; + require_once KRONOLITH_BASE . '/lib/Day.php'; + + if (isset($this->_params['calendar']) && $this->_params['calendar'] != '__all') { + if (empty($this->_share)) { + $this->_share = $GLOBALS['kronolith_shares']->getShare($this->_params['calendar']); + } + if (is_a($this->_share, 'PEAR_Error')) { + return _(sprintf("There was an error accessing the calendar: %s", $this->_share->getMessage())); + } + if (!$this->_share->hasPermission(Auth::getAuth(), PERMS_SHOW)) { + return _("Permission Denied"); + } + } + + Horde::addScriptFile('tooltip.js', 'horde', true); + + $year = date('Y'); + $month = date('m'); + $startday = new Horde_Date(array('mday' => 1, + 'month' => $month, + 'year' => $year)); + $startday = $startday->dayOfWeek(); + $daysInView = Date_Calc::weeksInMonth($month, $year) * 7; + if (!$prefs->getValue('week_start_monday')) { + $startOfView = 1 - $startday; + + // We may need to adjust the number of days in the view if + // we're starting weeks on Sunday. + if ($startday == HORDE_DATE_SUNDAY) { + $daysInView -= 7; + } + $endday = new Horde_Date(array('mday' => Horde_Date::daysInMonth($month, $year), + 'month' => $month, + 'year' => $year)); + $endday = $endday->dayOfWeek(); + if ($endday == HORDE_DATE_SUNDAY) { + $daysInView += 7; + } + } else { + if ($startday == HORDE_DATE_SUNDAY) { + $startOfView = -5; + } else { + $startOfView = 2 - $startday; + } + } + + $startDate = new Horde_Date(array('year' => $year, 'month' => $month, 'mday' => $startOfView)); + $endDate = new Horde_Date(array('year' => $year, 'month' => $month, 'mday' => $startOfView + $daysInView, + 'hour' => 23, 'min' => 59, 'sec' => 59)); + $startDate->correct(); + $endDate->correct(); + + /* Table start. and current month indicator. */ + $html = ''; + + /* Set up the weekdays. */ + $weekdays = array(_("Mo"), _("Tu"), _("We"), _("Th"), _("Fr"), _("Sa")); + if (!$prefs->getValue('week_start_monday')) { + array_unshift($weekdays, _("Su")); + } else { + $weekdays[] = _("Su"); + } + foreach ($weekdays as $weekday) { + $html .= ''; + } + + if (isset($this->_params['calendar']) && $this->_params['calendar'] != '__all') { + $all_events = Kronolith::listEvents( + $startDate, + $endDate, + array($this->_params['calendar']), true, false, false); + } else { + $all_events = Kronolith::listEvents($startDate, + $endDate, + $GLOBALS['display_calendars']); + } + if (is_a($all_events, 'PEAR_Error')) { + return '' . $all_events->getMessage() . ''; + } + + $weeks = array(); + $weekday = 0; + $week = -1; + for ($day = $startOfView; $day < $startOfView + $daysInView; ++$day) { + if ($weekday == 7) { + $weekday = 0; + } + if ($weekday == 0) { + ++$week; + $html .= ''; + } + + $date_ob = new Kronolith_Day($month, $day, $year); + if ($date_ob->isToday()) { + $td_class = 'today'; + } elseif ($date_ob->month != $month) { + $td_class = 'othermonth'; + } elseif ($date_ob->dayOfWeek() == 0 || $date_ob->dayOfWeek() == 6) { + $td_class = 'weekend'; + } else { + $td_class = 'text'; + } + $html .= ''; + ++$weekday; + } + + return $html . '
' . $weekday . '
'; + + $url_params = array('date' => $date_ob->dateString()); + if (isset($this->_params['calendar']) && + $this->_params['calendar'] != '__all') { + $url_params['display_cal'] = $this->_params['calendar']; + } + /* Set up the link to the day view. */ + $url = Util::addParameter(Horde::applicationUrl('day.php', true), + $url_params); + + $date_stamp = $date_ob->dateString(); + if (empty($all_events[$date_stamp])) { + /* No events, plain link to the day. */ + $cell = Horde::linkTooltip($url, _("View Day")) . $date_ob->mday . ''; + } else { + /* There are events; create a cell with tooltip to + * list them. */ + $day_events = ''; + foreach ($all_events[$date_stamp] as $event) { + if ($event->isAllDay()) { + $day_events .= _("All day"); + } else { + $day_events .= $event->start->strftime($prefs->getValue('twentyFour') ? '%R' : '%I:%M%p') . '-' . $event->end->strftime($prefs->getValue('twentyFour') ? '%R' : '%I:%M%p'); + } + $day_events .= ':' + . (($event->getLocation()) ? ' (' . $event->getLocation() . ')' : '') + . ' ' . $event->getTitle() . "\n"; + } + $cell = Horde::linkTooltip($url, _("View Day"), '', '', '', $day_events) . $date_ob->mday . ''; + } + + /* Bold the cell if there are events. */ + if (!empty($all_events[$date_stamp])) { + $cell = '' . $cell . ''; + } + + $html .= $cell . '
'; + } + +} diff --git a/kronolith/lib/Block/monthlist.php b/kronolith/lib/Block/monthlist.php new file mode 100644 index 000000000..0aae40f43 --- /dev/null +++ b/kronolith/lib/Block/monthlist.php @@ -0,0 +1,184 @@ + array('name' => _("Calendar"), + 'type' => 'enum', + 'default' => '__all'), + 'months' => array('name' => _("Months Ahead"), + 'type' => 'int', + 'default' => 2), + 'maxevents' => array('name' => _("Maximum number of events to display (0 = no limit)"), + 'type' => 'int', + 'default' => 0)); + $params['calendar']['values']['__all'] = _("All Visible"); + foreach (Kronolith::listCalendars() as $id => $cal) { + $params['calendar']['values'][$id] = $cal->get('name'); + } + + return $params; + } + + /** + * The title to go in this block. + * + * @return string The title text. + */ + function _title() + { + global $registry; + if (isset($this->_params['calendar']) && $this->_params['calendar'] != '__all') { + $url_params = array('display_cal' => $this->_params['calendar']); + } else { + $url_params = array(); + } + return Horde::link(Horde::url(Util::addParameter($registry->getInitialPage(), $url_params), true)) . _("Upcoming Events") . ''; + } + + /** + * The content to go in this block. + * + * @return string The content + */ + function _content() + { + require_once dirname(__FILE__) . '/../base.php'; + require_once KRONOLITH_BASE . '/lib/Day.php'; + + global $registry, $prefs; + + Horde::addScriptFile('tooltip.js', 'horde', true); + + $now = new Horde_Date($_SERVER['REQUEST_TIME']); + $today = date('j'); + $current_month = ''; + + $startDate = new Horde_Date(array('year' => date('Y'), 'month' => date('n'), 'mday' => date('j'))); + $endDate = new Horde_Date(array('year' => date('Y'), 'month' => date('n') + $this->_params['months'], 'mday' => date('j') - 1)); + $endDate->correct(); + + if (isset($this->_params['calendar']) && $this->_params['calendar'] != '__all') { + $calendar = $GLOBALS['kronolith_shares']->getShare($this->_params['calendar']); + if (!is_a($calendar, 'PEAR_Error') && !$calendar->hasPermission(Auth::getAuth(), PERMS_SHOW)) { + return _("Permission Denied"); + } + $all_events = Kronolith::listEvents($startDate, $endDate, array($this->_params['calendar']), true, false, false); + } else { + $all_events = Kronolith::listEvents($startDate, $endDate, $GLOBALS['display_calendars']); + } + if (is_a($all_events, 'PEAR_Error')) { + return '' . $all_events->getMessage() . ''; + } + + $html = ''; + + /* How many days do we need to check. */ + $days = Date_Calc::dateDiff($startDate->mday, $startDate->month, $startDate->year, + $endDate->mday, $endDate->month, $endDate->year); + + /* Loop through the days. */ + $totalevents = 0; + for ($i = 0; $i < $days; ++$i) { + $day = new Kronolith_Day($startDate->month, $today + $i); + $date_stamp = $day->dateString(); + if (empty($all_events[$date_stamp])) { + continue; + } + + if (!empty($this->_params['maxevents']) && + $totalevents >= $this->_params['maxevents']) { + break; + } + + /* Output month header. */ + if ($current_month != $day->month) { + $current_month = $day->strftime('%m'); + $html .= '' . $day->strftime('%B') . ''; + } + + $firstevent = true; + $tomorrow = $day->getTomorrow(); + foreach ($all_events[$date_stamp] as $event) { + if ($event->start->compareDate($day) < 0) { + $event->start = new Horde_Date($day); + } + if ($event->end->compareDate($tomorrow) >= 0) { + $event->end = $tomorrow; + } + if (($event->end->compareDate($now) < 0 && !$event->isAllDay()) || + ($prefs->getValue('summary_alarms') && !$event->alarm)) { + continue; + } + + if ($firstevent) { + $html .= ''; + if ($day->isToday()) { + $html .= _("Today"); + } elseif ($day->isTomorrow()) { + $html .= _("Tomorrow"); + } else { + $html .= $day->mday; + } + $html .= ' '; + $firstevent = false; + } else { + $html .= ' '; + } + + $html .= ''; + if ($event->start->compareDate($now) < 0 && + $event->end->compareDate($now) > 0) { + $html .= '' . $event->getLocation() . ''; + } else { + $html .= $event->getLocation(); + } + + $html .= '   ' . + ''; + + if ($event->start->compareDate($now) < 0 && + $event->end->compareDate($now) > 0) { + $html .= ''; + } + if (isset($event->eventID)) { + $html .= $event->getLink(null, true, null, true); + } elseif (isset($this->external)) { + $html .= Horde::link(Horde::url($registry->link($this->external . '/show', $event->external_params), + true), $event->getTitle()) . $event->getTitle() . ''; + } else { + $html .= $event->getTitle(); + } + if ($event->start->compareDate($now) < 0 && + $event->end->compareDate($now) > 0) { + $html .= ''; + } + $html .= ''; + + $totalevents++; + } + } + + if (empty($html)) { + return '' . _("No events to display") . ''; + } + + return '' . $html . '
'; + } + +} diff --git a/kronolith/lib/Block/prevmonthlist.php b/kronolith/lib/Block/prevmonthlist.php new file mode 100644 index 000000000..05d966ccb --- /dev/null +++ b/kronolith/lib/Block/prevmonthlist.php @@ -0,0 +1,174 @@ + array('name' => _("Calendar"), + 'type' => 'enum', + 'default' => '__all'), + 'months' => array('name' => _("Months Before"), + 'type' => 'int', + 'default' => 2)); + $params['calendar']['values']['__all'] = _("All Visible"); + foreach (Kronolith::listCalendars() as $id => $cal) { + $params['calendar']['values'][$id] = $cal->get('name'); + } + + return $params; + } + + /** + * The title to go in this block. + * + * @return string The title text. + */ + function _title() + { + if (isset($this->_params['calendar']) && $this->_params['calendar'] != '__all') { + $url_params = array('display_cal' => $this->_params['calendar']); + } else { + $url_params = array(); + } + return Horde::link(Horde::url(Util::addParameter($GLOBALS['registry']->getInitialPage(), $url_params), true)) . _("Prior Events") . ''; + } + + /** + * The content to go in this block. + * + * @return string The content + */ + function _content() + { + require_once dirname(__FILE__) . '/../base.php'; + require_once KRONOLITH_BASE . '/lib/Day.php'; + + global $registry, $prefs; + + Horde::addScriptFile('tooltip.js', 'horde', true); + + $startDate = new Horde_Date(array('year' => date('Y'), 'month' => date('n') - $this->_params['months'], 'mday' => date('j'))); + $startDate->correct(); + $endDate = new Horde_Date(array('year' => date('Y'), 'month' => date('n'), 'mday' => date('j') - 1)); + $endDate->correct(); + + $current_month = ''; + + if (isset($this->_params['calendar']) && $this->_params['calendar'] != '__all') { + $calendar = $GLOBALS['kronolith_shares']->getShare($this->_params['calendar']); + if (!is_a($calendar, 'PEAR_Error') && !$calendar->hasPermission(Auth::getAuth(), PERMS_SHOW)) { + return _("Permission Denied"); + } + $all_events = Kronolith::listEvents($startDate, $endDate, array($this->_params['calendar']), true, false, false); + } else { + $all_events = Kronolith::listEvents($startDate, $endDate, $GLOBALS['display_calendars']); + } + if (is_a($all_events, 'PEAR_Error')) { + return '' . $all_events->getMessage() . ''; + } + + $html = ''; + + /* How many days do we need to check. */ + $days = Date_Calc::dateDiff($startDate->mday, $startDate->month, $startDate->year, + $endDate->mday, $endDate->month, $endDate->year); + + /* Loop through the days. */ + for ($i = 0; $i < $days; ++$i) { + $day = new Kronolith_Day($startDate->month, $startDate->mday + $i, $startDate->year); + if (empty($all_events[$day->dateString()])) { + continue; + } + + /* Output month header. */ + if ($current_month != $day->month) { + $current_month = $day->strftime('%m'); + $html .= '' . $day->strftime('%B') . ''; + } + + $firstevent = true; + $tomorrow = $day->getTomorrow(); + foreach ($all_events[$day->dateString()] as $event) { + + if ($event->start->compareDate($day) < 0) { + $event->start = new Horde_Date($day); + } + if ($event->end->compareDate($tomorrow) >= 0) { + $event->end = $tomorrow; + } + + if ($event->end->compareDate($startDate) < 0) { + continue; + } + + if ($prefs->getValue('summary_alarms') && !$event->alarm) { + continue; + } + if ($firstevent) { + $html .= ''; + if ($day->isToday()) { + $html .= _("Today"); + } elseif ($day->isTomorrow()) { + $html .= _("Tomorrow"); + } else { + $html .= $day->mday; + } + $html .= ' '; + $firstevent = false; + } else { + $html .= ' '; + } + + $html .= ''; + if ($event->start->compareDate($startDate) < 0 && + $event->end->compareDate($startDate) > 0) { + $html .= '' . $event->getLocation() . ''; + } else { + $html .= $event->getLocation(); + } + + $html .= '   ' . + ''; + + if ($event->start->compareDate($startDate) < 0 && + $event->end->compareDate($startDate) > 0) { + $html .= ''; + } + if (isset($event->eventID)) { + $html .= $event->getLink(null, true, null, true); + } elseif (isset($this->external)) { + $html .= Horde::link(Horde::url($registry->link($this->external . '/show', $event->external_params), + true), $event->getTitle()) . $event->getTitle() . ''; + } else { + $html .= $event->getTitle(); + } + if ($event->start->compareDate($startDate) < 0 && + $event->end->compareDate($startDate) > 0) { + $html .= ''; + } + $html .= ''; + } + } + + if (empty($html)) { + return '' . _("No events to display") . ''; + } + + return '' . $html . '
'; + } + +} diff --git a/kronolith/lib/Block/summary.php b/kronolith/lib/Block/summary.php new file mode 100644 index 000000000..8213c4582 --- /dev/null +++ b/kronolith/lib/Block/summary.php @@ -0,0 +1,199 @@ + array('name' => _("Calendar"), + 'type' => 'enum', + 'default' => '__all'), + 'maxevents' => array('name' => _("Maximum number of events to display (0 = no limit)"), + 'type' => 'int', + 'default' => 0)); + $params['calendar']['values']['__all'] = _("All Visible"); + foreach (Kronolith::listCalendars() as $id => $cal) { + $params['calendar']['values'][$id] = $cal->get('name'); + } + + return $params; + } + + /** + * The title to go in this block. + * + * @return string The title text. + */ + function _title() + { + global $registry; + + if (isset($this->_params['calendar']) && $this->_params['calendar'] != '__all') { + $url_params = array('display_cal' => $this->_params['calendar']); + } else { + $url_params = array(); + } + return Horde::link(Horde::url(Util::addParameter($registry->getInitialPage(), $url_params), true)) . htmlspecialchars($registry->get('name')) . ''; + } + + /** + * The content to go in this block. + * + * @return string The content + */ + function _content() + { + global $registry, $prefs; + require_once dirname(__FILE__) . '/../base.php'; + require_once KRONOLITH_BASE . '/lib/Day.php'; + require_once 'Horde/Prefs/CategoryManager.php'; + + Horde::addScriptFile('tooltip.js', 'horde', true); + + $now = new Horde_Date($_SERVER['REQUEST_TIME']); + $today = date('j'); + + $startDate = new Horde_Date(array('year' => date('Y'), 'month' => date('n'), 'mday' => date('j'))); + $endDate = new Horde_Date(array('year' => date('Y'), 'month' => date('n'), 'mday' => date('j') + $prefs->getValue('summary_days'))); + $endDate->correct(); + + if (isset($this->_params['calendar']) && + $this->_params['calendar'] != '__all') { + + $calendar = $GLOBALS['kronolith_shares']->getShare($this->_params['calendar']); + if (!is_a($calendar, 'PEAR_Error') && !$calendar->hasPermission(Auth::getAuth(), PERMS_SHOW)) { + return _("Permission Denied"); + } + + $all_events = Kronolith::listEvents($startDate, + $endDate, + array($this->_params['calendar']), + true, false, false); + } else { + $all_events = Kronolith::listEvents($startDate, + $endDate, + $GLOBALS['display_calendars']); + } + if (is_a($all_events, 'PEAR_Error')) { + return '' . $all_events->getMessage() . ''; + } + + $html = ''; + $iMax = $today + $prefs->getValue('summary_days'); + $firstday = true; + $totalevents = 0; + for ($i = $today; $i < $iMax; ++$i) { + $day = new Kronolith_Day(date('n'), $i); + $date_stamp = $day->dateString(); + if (empty($all_events[$date_stamp])) { + continue; + } + + $firstevent = true; + $tomorrow = $day->getTomorrow(); + foreach ($all_events[$date_stamp] as $event) { + if (!empty($this->_params['maxevents']) && + $totalevents >= $this->_params['maxevents']) { + break 2; + } + + if ($event->start->compareDate($day) < 0) { + $event->start = $day; + } + if ($event->end->compareDate($tomorrow) >= 0) { + $event->end = $tomorrow; + } + if ($event->end->compareDate($now) < 0) { + continue; + } + if ($prefs->getValue('summary_alarms') && !$event->alarm) { + continue; + } + $event_active = $event->start->compareDateTime($now) < 0 && + $event->end->compareDateTime($now) > 0; + + if ($firstevent) { + if (!$firstday) { + $html .= ' '; + } + $html .= ''; + if ($day->isToday()) { + $dayname = _("Today"); + } elseif ($day->isTomorrow()) { + $dayname = _("Tomorrow"); + } elseif ($day->diff() < 7) { + $dayname = $day->strftime('%A'); + } else { + $dayname = $day->strftime($prefs->getValue('date_format')); + } + $url_params = array('date' => $day->dateString()); + if (isset($this->_params['calendar']) && + $this->_params['calendar'] != '__all') { + $url_params['display_cal'] = $this->_params['calendar']; + } + $daylink = Horde::applicationUrl('day.php', true); + $daylink = Util::addParameter($daylink, $url_params); + $html .= Horde::link($daylink, sprintf(_("Goto %s"), + $dayname)); + $html .= $dayname . ''; + $firstevent = false; + $firstday = false; + } + $html .= ''; + if ($event_active) { + $html .= ''; + } + + if ($event->isAllDay()) { + $time = _("All day event"); + } else { + $time = $event->start->format($prefs->getValue('twentyFour') ? 'H:i' : 'h:ia') + . '-' . $event->end->format($prefs->getValue('twentyFour') ? 'H:i' : 'h:ia'); + } + + $text = $event->getTitle(); + if ($location = $event->getLocation()) { + $text .= ' (' . $location . ')'; + } + $html .= $time; + if ($event_active) { + $html .= ''; + } + + $html .= '   ' . + ''; + + if ($event_active) { + $html .= ''; + } + $html .= $event->getLink(null, true, null, true); + if ($event_active) { + $html .= ''; + } + $html .= ''; + $totalevents++; + } + } + + if (empty($html)) { + return '' . _("No events to display") . ''; + } + + return '' . $html . '
'; + } + +} diff --git a/kronolith/lib/Block/tree_alarms.php b/kronolith/lib/Block/tree_alarms.php new file mode 100644 index 000000000..438a7d95d --- /dev/null +++ b/kronolith/lib/Block/tree_alarms.php @@ -0,0 +1,70 @@ + $calAlarms) { + foreach ($calAlarms as $event) { + if ($horde_alarm && $horde_alarm->isSnoozed($event->getUID(), Auth::getAuth())) { + continue; + } + $alarmCount++; + $tree->addNode($parent . $calId . $event->getId(), + $parent, + $event->getTitle(), + $indent + 1, + false, + array('icon' => 'alarm.png', + 'icondir' => $GLOBALS['registry']->getImageDir(), + 'title' => $event->getTooltip(), + 'url' => $event->getViewUrl())); + } + } + + if ($registry->get('url', $parent)) { + $purl = $registry->get('url', $parent); + } elseif ($registry->get('status', $parent) == 'heading' || + !$registry->get('webroot')) { + $purl = null; + } else { + $purl = Horde::url($registry->getInitialPage($parent)); + } + $pnode_params = array('url' => $purl, + 'icon' => $registry->get('icon', $parent), + 'icondir' => ''); + $pnode_name = $registry->get('name', $parent); + if ($alarmCount) { + $pnode_name = '' . $pnode_name . ''; + } + + $tree->addNode($parent, $registry->get('menu_parent', $parent), + $pnode_name, $indent, false, $pnode_params); + } + +} diff --git a/kronolith/lib/Block/tree_menu.php b/kronolith/lib/Block/tree_menu.php new file mode 100644 index 000000000..7a5278238 --- /dev/null +++ b/kronolith/lib/Block/tree_menu.php @@ -0,0 +1,41 @@ +getImageDir('horde')), + ); + + foreach ($menus as $menu) { + $tree->addNode($parent . $menu[0], + $parent, + $menu[1], + $indent + 1, + false, + array('icon' => $menu[2], + 'icondir' => isset($menu[4]) ? $menu[4] : $registry->getImageDir(), + 'url' => $menu[3])); + } + } + +} diff --git a/kronolith/lib/Day.php b/kronolith/lib/Day.php new file mode 100644 index 000000000..3f1aa03d2 --- /dev/null +++ b/kronolith/lib/Day.php @@ -0,0 +1,127 @@ + + * @since Kronolith 0.1 + * @package Kronolith + */ +class Kronolith_Day extends Horde_Date { + + /** + * How many time slots are we dividing each hour into? Set from user + * preferences. + * + * @var integer + */ + var $_slotsPerHour; + + /** + * How many slots do we have per day? Calculated from $_slotsPerHour. + * + * @see $_slotsPerHour + * @var integer + */ + var $_slotsPerDay; + + /** + * How many minutes are in each slot? Calculated from $_slotsPerHour. + * + * @see $_slotsPerHour + * @var integer + */ + var $_slotLength; + + /** + * Array of slots holding hours and minutes for each piece of this day. + * + * @var array + */ + var $slots = array(); + + /** + * Constructor. + * + * @param integer $month + * @param integer $day + * @param integer $year + */ + function Kronolith_Day($month = null, $day = null, $year = null) + { + if (is_null($month)) { + $month = date('n'); + } + if (is_null($year)) { + $year = date('Y'); + } + if (is_null($day)) { + $day = date('j'); + } + parent::Horde_Date(array('year' => $year, 'month' => $month, 'mday' => $day)); + $this->correct(); + + $this->_slotsPerHour = $GLOBALS['prefs']->getValue('slots_per_hour'); + if (!$this->_slotsPerHour) { + $this->_slotsPerHour = 1; + } + $this->_slotsPerDay = $this->_slotsPerHour * 24; + $this->_slotLength = 60 / $this->_slotsPerHour; + + for ($i = 0; $i < $this->_slotsPerDay; $i++) { + $minutes = $i * $this->_slotLength; + $this->slots[$i]['hour'] = (int)($minutes / 60); + $this->slots[$i]['min'] = $minutes % 60; + } + } + + function getTime($format, $offset = 0) + { + $date = new Horde_Date(array('month' => $this->month, + 'mday' => $this->mday + $offset, + 'year' => $this->year)); + $date->correct(); + return $date->strftime($format); + } + + function getTomorrow() + { + $date = new Horde_Date(array('month' => $this->month, + 'mday' => $this->mday + 1, + 'year' => $this->year)); + $date->correct(); + return $date; + } + + function getYesterday() + { + $date = new Horde_Date(array('month' => $this->month, + 'mday' => $this->mday - 1, + 'year' => $this->year)); + $date->correct(); + return $date; + } + + function isToday() + { + return $this->compareDate(new Horde_Date(mktime(0, 0, 0))) == 0; + } + + function isTomorrow() + { + $date = new Horde_Date(array('month' => $this->month, + 'mday' => $this->mday - 1, + 'year' => $this->year)); + $date->correct(); + return $date->compareDate(new Horde_Date(mktime(0, 0, 0))) == 0; + } + + function diff() + { + $day2 = new Kronolith_Day(); + return Date_Calc::dateDiff($this->mday, $this->month, $this->year, + $day2->mday, $day2->month, $day2->year); + } + +} diff --git a/kronolith/lib/Driver.php b/kronolith/lib/Driver.php new file mode 100644 index 000000000..829bebf6a --- /dev/null +++ b/kronolith/lib/Driver.php @@ -0,0 +1,2462 @@ + + * @author Jan Schneider + * @since Kronolith 0.1 + * @package Kronolith + */ +class Kronolith_Driver { + + /** + * A hash containing any parameters for the current driver. + * + * @var array + */ + var $_params = array(); + + /** + * The current calendar. + * + * @var string + */ + var $_calendar; + + /** + * An error message to throw when something is wrong. + * + * @var string + */ + var $_errormsg; + + /** + * Constructor. + * + * Just stores the $params in our newly-created object. All other work is + * done by {@link initialize()}. + * + * @param array $params Any parameters needed for this driver. + */ + function Kronolith_Driver($params = array(), $errormsg = null) + { + $this->_params = $params; + if ($errormsg === null) { + $this->_errormsg = _("The Calendar backend is not currently available."); + } else { + $this->_errormsg = $errormsg; + } + } + + /** + * Returns a configuration for this driver. + * + * @since Kronolith 3.0 + * + * @param string $param A parameter name. + * + * @return mixed The parameter value or null if not set. + */ + function getParam($param) + { + return isset($this->_params[$param]) ? $this->_params[$param] : null; + } + + function open($calendar) + { + $this->_calendar = $calendar; + } + + /** + * Returns the currently open calendar. + * + * @return string The current calendar name. + */ + function getCalendar() + { + return $this->_calendar; + } + + /** + * Generates a universal / unique identifier for a task. + * + * This is NOT something that we expect to be able to parse into a + * calendar and an event id. + * + * @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']; + } + + /** + * Renames a calendar. + * + * @param string $from The current name of the calendar. + * @param string $to The new name of the calendar. + * + * @return mixed True or a PEAR_Error on failure. + */ + function rename($from, $to) + { + return true; + } + + /** + * Searches a calendar. + * + * @param object Kronolith_Event $query A Kronolith_Event object with the + * criteria to search for. + * + * @return mixed An array of Kronolith_Events or a PEAR_Error. + */ + function search($query) + { + /* Our default implementation first gets all events in a + * specific period, and then filters based on the actual values that + * are filled in. Drivers can optimize this behavior if they have the + * ability. */ + $results = array(); + + $events = $this->listEvents($query->start, $query->end); + if (is_a($events, 'PEAR_Error')) { + return $events; + } + + foreach ($events as $eventid) { + $event = $this->getEvent($eventid); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + if ((((!isset($query->start) || + $event->end->compareDateTime($query->start) > 0) && + (!isset($query->end) || + $event->end->compareDateTime($query->end) < 0)) || + ($event->recurs() && + $event->end->compareDateTime($query->start) >= 0 && + $event->start->compareDateTime($query->end) <= 0)) && + (empty($query->title) || + stristr($event->getTitle(), $query->title)) && + (empty($query->location) || + stristr($event->getLocation(), $query->location)) && + (empty($query->description) || + stristr($event->getDescription(), $query->description)) && + (empty($query->creatorID) || + stristr($event->getCreatorID(), $query->creatorID)) && + (!isset($query->category) || + $event->getCategory() == $query->category) && + (!isset($query->status) || + $event->getStatus() == $query->status)) { + $results[] = $event; + } + } + + return $results; + } + + /** + * Finds the next recurrence of $eventId that's after $afterDate. + * + * @param string $eventId The ID of the event to fetch. + * @param Horde_Date $afterDate Return events after this date. + * + * @return Horde_Date|boolean The date of the next recurrence or false if + * the event does not recur after $afterDate. + */ + function nextRecurrence($eventId, $afterDate) + { + $event = &$this->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + return $event->recurs() ? $event->recurrence->nextRecurrence($afterDate) : false; + } + + /** + * Attempts to return a concrete Kronolith_Driver instance based on + * $driver. + * + * @param string $driver The type of concrete Kronolith_Driver subclass + * to return. + * + * @param array $params A hash containing any additional configuration or + * connection parameters a subclass might need. + * + * @return Kronolith_Driver The newly created concrete Kronolith_Driver + * instance, or a PEAR_Error on error. + */ + function &factory($driver = null, $params = null) + { + if ($driver === null) { + $driver = $GLOBALS['conf']['calendar']['driver']; + } + $driver = basename($driver); + + if ($params === null) { + $params = Horde::getDriverConfig('calendar', $driver); + } + + include_once dirname(__FILE__) . '/Driver/' . $driver . '.php'; + $class = 'Kronolith_Driver_' . $driver; + if (class_exists($class)) { + $driver = &new $class($params); + $result = $driver->initialize(); + if (is_a($result, 'PEAR_Error')) { + $driver = new Kronolith_Driver($params, sprintf(_("The Calendar backend is not currently available: %s"), $result->getMessage())); + } + } else { + $driver = new Kronolith_Driver($params, sprintf(_("Unable to load the definition of %s."), $class)); + } + + return $driver; + } + + /** + * Stub to initiate a driver. + */ + function initialize() + { + return true; + } + + /** + * Stub to be overridden in the child class. + */ + function &getEvent() + { + $error = PEAR::raiseError($this->_errormsg); + return $error; + } + + /** + * Stub to be overridden in the child class. + */ + function listAlarms($date, $fullevent = false) + { + return PEAR::raiseError($this->_errormsg); + } + + /** + * Stub to be overridden in the child class. + */ + function listEvents() + { + return PEAR::raiseError($this->_errormsg); + } + + /** + * Stub o be overridden in the child class. + */ + function saveEvent() + { + return PEAR::raiseError($this->_errormsg); + } + + /** + * Stub for child class to override if it can implement. + */ + function removeUserData($user) + { + return PEAR::raiseError(_("Removing user data is not supported with the current calendar storage backend.")); + } + +} + +/** + * Kronolith_Event defines a generic API for events. + * + * @author Chuck Hagenbuch + * @author Jan Schneider + * @since Kronolith 0.1 + * @package Kronolith + */ +class Kronolith_Event { + + /** + * Flag that is set to true if this event has data from either a storage + * backend or a form or other import method. + * + * @var boolean + */ + var $initialized = false; + + /** + * Flag that is set to true if this event exists in a storage driver. + * + * @var boolean + */ + var $stored = false; + + /** + * The driver unique identifier for this event. + * + * @var string + */ + var $eventID = null; + + /** + * The UID for this event. + * + * @var string + */ + var $_uid = null; + + /** + * The iCalendar SEQUENCE for this event. + * + * @var integer + */ + var $_sequence = null; + + /** + * The user id of the creator of the event. + * + * @var string + */ + var $creatorID = null; + + /** + * The title of this event. + * + * @var string + */ + var $title = ''; + + /** + * The category of this event. + * + * @var string + */ + var $category = ''; + + /** + * The location this event occurs at. + * + * @var string + */ + var $location = ''; + + /** + * The status of this event. + * + * @var integer + */ + var $status = KRONOLITH_STATUS_CONFIRMED; + + /** + * The description for this event + * + * @var string + */ + var $description = ''; + + /** + * Remote description of this event (URL). + * + * @var string + */ + var $remoteUrl = ''; + + /** + * Remote calendar name. + * + * @var string + */ + var $remoteCal = ''; + + /** + * Whether the event is private. + * + * @var boolean + */ + var $private = false; + + /** + * All the attendees of this event. + * + * This is an associative array where the keys are the email addresses + * of the attendees, and the values are also associative arrays with + * keys 'attendance' and 'response' pointing to the attendees' attendance + * and response values, respectively. + * + * @var array + */ + var $attendees = array(); + + /** + * All the key words associtated with this event. + * + * @var array + */ + var $keywords = array(); + + /** + * The start time of the event. + * + * @var Horde_Date + */ + var $start; + + /** + * The end time of the event. + * + * @var Horde_Date + */ + var $end; + + /** + * The duration of this event in minutes + * + * @var integer + */ + var $durMin = 0; + + /** + * Whether this is an all-day event. + * + * @since Kronolith 3.0 + * + * @var boolean + */ + var $allday = false; + + /** + * Number of minutes before the event starts to trigger an alarm. + * + * @var integer + */ + var $alarm = 0; + + /** + * The identifier of the calender this event exists on. + * + * @var string + */ + var $_calendar; + + /** + * The VarRenderer class to use for printing select elements. + * + * @var Horde_UI_VarRenderer + */ + var $_varRenderer; + + /** + * The Horde_Date_Recurrence class for this event. + * + * @var Horde_Date_Recurrence + */ + var $recurrence; + + /** + * Constructor. + * + * @param Kronolith_Driver $driver The backend driver that this event is + * stored in. + * @param mixed $eventObject Backend specific event object + * that this will represent. + */ + function Kronolith_Event(&$driver, $eventObject = null) + { + static $alarm; + + /* Set default alarm value. */ + if (!isset($alarm) && isset($GLOBALS['prefs'])) { + $alarm = $GLOBALS['prefs']->getValue('default_alarm'); + } + $this->alarm = $alarm; + + $this->_calendar = $driver->getCalendar(); + if ($eventObject !== null) { + $this->fromDriver($eventObject); + } + } + + /** + * Returns a reference to a driver that's valid for this event. + * + * @return Kronolith_Driver A driver that this event can use to save + * itself, etc. + */ + function &getDriver() + { + global $kronolith_driver; + if ($kronolith_driver->getCalendar() != $this->_calendar) { + $kronolith_driver->open($this->_calendar); + } + + return $kronolith_driver; + } + + /** + * Returns the share this event belongs to. + * + * @return Horde_Share This event's share. + */ + function &getShare() + { + if (isset($GLOBALS['all_calendars'][$this->getCalendar()])) { + $share = $GLOBALS['all_calendars'][$this->getCalendar()]; + } else { + $share = PEAR::raiseError('Share not found'); + } + return $share; + } + + /** + * Encapsulates permissions checking. + * + * @param integer $permission The permission to check for. + * @param string $user The user to check permissions for. + * + * @return boolean + */ + function hasPermission($permission, $user = null) + { + if ($user === null) { + $user = Auth::getAuth(); + } + + if ($this->remoteCal) { + switch ($permission) { + case PERMS_SHOW: + case PERMS_READ: + case PERMS_EDIT: + return true; + + default: + return false; + } + } + + return (!is_a($share = &$this->getShare(), 'PEAR_Error') && + $share->hasPermission($user, $permission, $this->getCreatorId())); + } + + /** + * Saves changes to this event. + * + * @return mixed True or a PEAR_Error on failure. + */ + function save() + { + if (!$this->isInitialized()) { + return PEAR::raiseError('Event not yet initialized'); + } + + $this->toDriver(); + $driver = &$this->getDriver(); + $result = $driver->saveEvent($this); + if (!is_a($result, 'PEAR_Error') && + !empty($GLOBALS['conf']['alarms']['driver'])) { + $alarm = $this->toAlarm(new Horde_Date($_SERVER['REQUEST_TIME'])); + if ($alarm) { + $alarm['start'] = new Horde_Date($alarm['start']); + $alarm['end'] = new Horde_Date($alarm['end']); + require_once 'Horde/Alarm.php'; + $horde_alarm = Horde_Alarm::factory(); + $horde_alarm->set($alarm); + } + } + + return $result; + } + + /** + * Exports this event in iCalendar format. + * + * @param Horde_iCalendar &$calendar A Horde_iCalendar object that acts as + * a container. + * + * @return Horde_iCalendar_vevent The vEvent object for this event. + */ + function &toiCalendar(&$calendar) + { + $vEvent = &Horde_iCalendar::newComponent('vevent', $calendar); + $v1 = $calendar->getAttribute('VERSION') == '1.0'; + + if ($this->isAllDay()) { + $vEvent->setAttribute('DTSTART', $this->start, array('VALUE' => 'DATE')); + $vEvent->setAttribute('DTEND', $this->end, array('VALUE' => 'DATE')); + } else { + $vEvent->setAttribute('DTSTART', $this->start); + $vEvent->setAttribute('DTEND', $this->end); + } + + $vEvent->setAttribute('DTSTAMP', $_SERVER['REQUEST_TIME']); + $vEvent->setAttribute('UID', $this->_uid); + + /* Get the event's history. */ + $history = &Horde_History::singleton(); + $created = $modified = null; + $log = $history->getHistory('kronolith:' . $this->_calendar . ':' . $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)) { + $vEvent->setAttribute($v1 ? 'DCREATED' : 'CREATED', $created); + if (empty($modified)) { + $modified = $created; + } + } + if (!empty($modified)) { + $vEvent->setAttribute('LAST-MODIFIED', $modified); + } + + $vEvent->setAttribute('SUMMARY', $v1 ? $this->getTitle() : String::convertCharset($this->getTitle(), NLS::getCharset(), 'utf-8')); + $name = Kronolith::getUserName($this->getCreatorId()); + if (!$v1) { + $name = String::convertCharset($name, NLS::getCharset(), 'utf-8'); + } + $vEvent->setAttribute('ORGANIZER', + 'mailto:' . Kronolith::getUserEmail($this->getCreatorId()), + array('CN' => $name)); + if (!$this->isPrivate() || $this->getCreatorId() == Auth::getAuth()) { + if (!empty($this->description)) { + $vEvent->setAttribute('DESCRIPTION', $v1 ? $this->description : String::convertCharset($this->description, NLS::getCharset(), 'utf-8')); + } + $categories = $this->getCategory(); + if (!empty($categories)) { + $vEvent->setAttribute('CATEGORIES', $v1 ? $categories : String::convertCharset($categories, NLS::getCharset(), 'utf-8')); + } + if (!empty($this->location)) { + $vEvent->setAttribute('LOCATION', $v1 ? $this->location : String::convertCharset($this->location, NLS::getCharset(), 'utf-8')); + } + } + $vEvent->setAttribute('CLASS', $this->isPrivate() ? 'PRIVATE' : 'PUBLIC'); + + // Status. + switch ($this->getStatus()) { + case KRONOLITH_STATUS_FREE: + // This is not an official iCalendar value, but we need it for + // synchronization. + $vEvent->setAttribute('STATUS', 'FREE'); + $vEvent->setAttribute('TRANSP', $v1 ? 1 : 'TRANSPARENT'); + break; + case KRONOLITH_STATUS_TENTATIVE: + $vEvent->setAttribute('STATUS', 'TENTATIVE'); + $vEvent->setAttribute('TRANSP', $v1 ? 0 : 'OPAQUE'); + break; + case KRONOLITH_STATUS_CONFIRMED: + $vEvent->setAttribute('STATUS', 'CONFIRMED'); + $vEvent->setAttribute('TRANSP', $v1 ? 0 : 'OPAQUE'); + break; + case KRONOLITH_STATUS_CANCELLED: + if ($v1) { + $vEvent->setAttribute('STATUS', 'DECLINED'); + $vEvent->setAttribute('TRANSP', 1); + } else { + $vEvent->setAttribute('STATUS', 'CANCELLED'); + $vEvent->setAttribute('TRANSP', 'TRANSPARENT'); + } + break; + } + + // Attendees. + foreach ($this->getAttendees() as $email => $status) { + $params = array(); + switch ($status['attendance']) { + case KRONOLITH_PART_REQUIRED: + if ($v1) { + $params['EXPECT'] = 'REQUIRE'; + } else { + $params['ROLE'] = 'REQ-PARTICIPANT'; + } + break; + + case KRONOLITH_PART_OPTIONAL: + if ($v1) { + $params['EXPECT'] = 'REQUEST'; + } else { + $params['ROLE'] = 'OPT-PARTICIPANT'; + } + break; + + case KRONOLITH_PART_NONE: + if ($v1) { + $params['EXPECT'] = 'FYI'; + } else { + $params['ROLE'] = 'NON-PARTICIPANT'; + } + break; + } + + switch ($status['response']) { + case KRONOLITH_RESPONSE_NONE: + if ($v1) { + $params['STATUS'] = 'NEEDS ACTION'; + $params['RSVP'] = 'YES'; + } else { + $params['PARTSTAT'] = 'NEEDS-ACTION'; + $params['RSVP'] = 'TRUE'; + } + break; + + case KRONOLITH_RESPONSE_ACCEPTED: + if ($v1) { + $params['STATUS'] = 'ACCEPTED'; + } else { + $params['PARTSTAT'] = 'ACCEPTED'; + } + break; + + case KRONOLITH_RESPONSE_DECLINED: + if ($v1) { + $params['STATUS'] = 'DECLINED'; + } else { + $params['PARTSTAT'] = 'DECLINED'; + } + break; + + case KRONOLITH_RESPONSE_TENTATIVE: + if ($v1) { + $params['STATUS'] = 'TENTATIVE'; + } else { + $params['PARTSTAT'] = 'TENTATIVE'; + } + break; + } + + if (strpos($email, '@') === false) { + $email = ''; + } + if ($v1) { + if (!empty($status['name'])) { + require_once 'Horde/MIME.php'; + if (!empty($email)) { + $email = ' <' . $email . '>'; + } + $email = $status['name'] . $email; + $email = MIME::trimEmailAddress($email); + } + } else { + if (!empty($status['name'])) { + $params['CN'] = String::convertCharset($status['name'], NLS::getCharset(), 'utf-8'); + } + if (!empty($email)) { + $email = 'mailto:' . $email; + } + } + + $vEvent->setAttribute('ATTENDEE', $email, $params); + } + + // Alarms. + if (!empty($this->alarm)) { + if ($v1) { + $alarm = new Horde_Date($this->start); + $alarm->min -= $this->alarm; + $alarm->correct(); + $vEvent->setAttribute('AALARM', $alarm); + } else { + $vAlarm = &Horde_iCalendar::newComponent('valarm', $vEvent); + $vAlarm->setAttribute('ACTION', 'DISPLAY'); + $vAlarm->setAttribute('TRIGGER;VALUE=DURATION', '-PT' . $this->alarm . 'M'); + $vEvent->addComponent($vAlarm); + } + } + + // Recurrence. + if ($this->recurs()) { + if ($v1) { + $rrule = $this->recurrence->toRRule10($calendar); + } else { + $rrule = $this->recurrence->toRRule20($calendar); + } + if (!empty($rrule)) { + $vEvent->setAttribute('RRULE', $rrule); + } + + // Exceptions. + $exceptions = $this->recurrence->getExceptions(); + foreach ($exceptions as $exception) { + if (!empty($exception)) { + list($year, $month, $mday) = sscanf($exception, '%04d%02d%02d'); + $exdate = new Horde_Date(array( + 'year' => $year, + 'month' => $month, + 'mday' => $mday, + 'hour' => $this->start->hour, + 'min' => $this->start->min, + 'sec' => $this->start->sec, + )); + $vEvent->setAttribute('EXDATE', array($exdate)); + } + } + } + + return $vEvent; + } + + /** + * Updates the properties of this event from a Horde_iCalendar_vevent + * object. + * + * @param Horde_iCalendar_vevent $vEvent The iCalendar data to update + * from. + */ + function fromiCalendar($vEvent) + { + // Unique ID. + $uid = $vEvent->getAttribute('UID'); + if (!empty($uid) && !is_a($uid, 'PEAR_Error')) { + $this->setUID($uid); + } + + // Sequence. + $seq = $vEvent->getAttribute('SEQUENCE'); + if (is_int($seq)) { + $this->_sequence = $seq; + } + + // Title, category and description. + $title = $vEvent->getAttribute('SUMMARY'); + if (!is_array($title) && !is_a($title, 'PEAR_Error')) { + $this->setTitle($title); + } + + $categories = $vEvent->getAttribute('CATEGORIES'); + if (!is_array($categories) && !is_a($categories, 'PEAR_Error')) { + // The CATEGORY attribute is delimited by commas, so split + // it up. + $categories = explode(',', $categories); + + // We only support one category per event right now, so + // arbitrarily take the last one. + foreach ($categories as $category) { + $this->setCategory($category); + } + } + $desc = $vEvent->getAttribute('DESCRIPTION'); + if (!is_array($desc) && !is_a($desc, 'PEAR_Error')) { + $this->setDescription($desc); + } + + // Remote Url + $url = $vEvent->getAttribute('URL'); + if (!is_array($url) && !is_a($url, 'PEAR_Error')) { + $this->remoteUrl = $url; + } + + // Location + $location = $vEvent->getAttribute('LOCATION'); + if (!is_array($location) && !is_a($location, 'PEAR_Error')) { + $this->setLocation($location); + } + + // Class + $class = $vEvent->getAttribute('CLASS'); + if (!is_array($class) && !is_a($class, 'PEAR_Error')) { + $class = String::upper($class); + if ($class == 'PRIVATE' || $class == 'CONFIDENTIAL') { + $this->setPrivate(true); + } else { + $this->setPrivate(false); + } + } + + // Status. + $status = $vEvent->getAttribute('STATUS'); + if (!is_array($status) && !is_a($status, 'PEAR_Error')) { + $status = String::upper($status); + if ($status == 'DECLINED') { + $status = 'CANCELLED'; + } + if (defined('KRONOLITH_STATUS_' . $status)) { + $this->setStatus(constant('KRONOLITH_STATUS_' . $status)); + } + } + + // Start and end date. + $start = $vEvent->getAttribute('DTSTART'); + if (!is_a($start, 'PEAR_Error')) { + if (!is_array($start)) { + // Date-Time field + $this->start = new Horde_Date($start); + } else { + // Date field + $this->start = new Horde_Date( + array('year' => (int)$start['year'], + 'month' => (int)$start['month'], + 'mday' => (int)$start['mday'])); + } + } + $end = $vEvent->getAttribute('DTEND'); + if (!is_a($end, 'PEAR_Error')) { + if (!is_array($end)) { + // Date-Time field + $this->end = new Horde_Date($end); + // All day events are transferred by many device as + // DSTART: YYYYMMDDT000000 DTEND: YYYYMMDDT2359(59|00) + // Convert accordingly + if (is_object($this->start) && $this->start->hour == 0 && + $this->start->min == 0 && $this->start->sec == 0 && + $this->end->hour == 23 && $this->end->min == 59) { + $this->end = new Horde_Date( + array('year' => (int)$this->end->year, + 'month' => (int)$this->end->month, + 'mday' => (int)$this->end->mday + 1)); + $this->end->correct(); + } + } elseif (is_array($end) && !is_a($end, 'PEAR_Error')) { + // Date field + $this->end = new Horde_Date( + array('year' => (int)$end['year'], + 'month' => (int)$end['month'], + 'mday' => (int)$end['mday'])); + $this->end->correct(); + } + } else { + $duration = $vEvent->getAttribute('DURATION'); + if (!is_array($duration) && !is_a($duration, 'PEAR_Error')) { + $this->end = new Horde_Date($this->start); + $this->end->sec += $duration; + $this->end->correct(); + } else { + // End date equal to start date as per RFC 2445. + $this->end = new Horde_Date($this->start); + if (is_array($start)) { + // Date field + $this->end->mday++; + $this->end->correct(); + } + } + } + + // vCalendar 1.0 alarms + $alarm = $vEvent->getAttribute('AALARM'); + if (!is_array($alarm) && + !is_a($alarm, 'PEAR_Error') && + intval($alarm)) { + $this->alarm = intval(($this->start->timestamp() - $alarm) / 60); + } + + // @TODO: vCalendar 2.0 alarms + + // Attendance. + // Importing attendance may result in confusion: editing an imported + // copy of an event can cause invitation updates to be sent from + // people other than the original organizer. So we don't import by + // default. However to allow updates by SyncML replication, the custom + // X-ATTENDEE attribute is used which has the same syntax as + // ATTENDEE. + $attendee = $vEvent->getAttribute('X-ATTENDEE'); + if (!is_a($attendee, 'PEAR_Error')) { + require_once 'Horde/MIME.php'; + + if (!is_array($attendee)) { + $attendee = array($attendee); + } + $params = $vEvent->getAttribute('X-ATTENDEE', true); + if (!is_array($params)) { + $params = array($params); + } + for ($i = 0; $i < count($attendee); ++$i) { + $attendee[$i] = str_replace(array('MAILTO:', 'mailto:'), '', + $attendee[$i]); + $email = MIME::bareAddress($attendee[$i]); + // Default according to rfc2445: + $attendance = KRONOLITH_PART_REQUIRED; + // vCalendar 2.0 style: + if (!empty($params[$i]['ROLE'])) { + switch($params[$i]['ROLE']) { + case 'OPT-PARTICIPANT': + $attendance = KRONOLITH_PART_OPTIONAL; + break; + + case 'NON-PARTICIPANT': + $attendance = KRONOLITH_PART_NONE; + break; + } + } + // vCalendar 1.0 style; + if (!empty($params[$i]['EXPECT'])) { + switch($params[$i]['EXPECT']) { + case 'REQUEST': + $attendance = KRONOLITH_PART_OPTIONAL; + break; + + case 'FYI': + $attendance = KRONOLITH_PART_NONE; + break; + } + } + $response = KRONOLITH_RESPONSE_NONE; + if (empty($params[$i]['PARTSTAT']) && + !empty($params[$i]['STATUS'])) { + $params[$i]['PARTSTAT'] = $params[$i]['STATUS']; + } + + if (!empty($params[$i]['PARTSTAT'])) { + switch($params[$i]['PARTSTAT']) { + case 'ACCEPTED': + $response = KRONOLITH_RESPONSE_ACCEPTED; + break; + + case 'DECLINED': + $response = KRONOLITH_RESPONSE_DECLINED; + break; + + case 'TENTATIVE': + $response = KRONOLITH_RESPONSE_TENTATIVE; + break; + } + } + $name = isset($params[$i]['CN']) ? $params[$i]['CN'] : null; + + $this->addAttendee($email, $attendance, $response, $name); + } + } + + // Recurrence. + $rrule = $vEvent->getAttribute('RRULE'); + if (!is_array($rrule) && !is_a($rrule, 'PEAR_Error')) { + $this->recurrence = new Horde_Date_Recurrence($this->start); + if (strpos($rrule, '=') !== false) { + $this->recurrence->fromRRule20($rrule); + } else { + $this->recurrence->fromRRule10($rrule); + } + + // Exceptions. + $exdates = $vEvent->getAttributeValues('EXDATE'); + if (is_array($exdates)) { + foreach ($exdates as $exdate) { + if (is_array($exdate)) { + $this->recurrence->addException((int)$exdate['year'], + (int)$exdate['month'], + (int)$exdate['mday']); + } + } + } + } + + $this->initialized = true; + } + + /** + * Imports the values for this event from an array of values. + * + * @param array $hash Array containing all the values. + */ + function fromHash($hash) + { + // See if it's a new event. + if ($this->getId() === null) { + $this->setCreatorId(Auth::getAuth()); + } + if (!empty($hash['title'])) { + $this->setTitle($hash['title']); + } else { + return PEAR::raiseError(_("Events must have a title.")); + } + if (!empty($hash['description'])) { + $this->setDescription($hash['description']); + } + if (!empty($hash['category'])) { + global $cManager; + $categories = $cManager->get(); + if (!in_array($hash['category'], $categories)) { + $cManager->add($hash['category']); + } + $this->setCategory($hash['category']); + } + if (!empty($hash['location'])) { + $this->setLocation($hash['location']); + } + if (!empty($hash['keywords'])) { + $this->setKeywords(explode(',', $hash['keywords'])); + } + if (!empty($hash['start_date'])) { + $date = explode('-', $hash['start_date']); + if (empty($hash['start_time'])) { + $time = array(0, 0, 0); + } else { + $time = explode(':', $hash['start_time']); + if (count($time) == 2) { + $time[2] = 0; + } + } + if (count($time) == 3 && count($date) == 3) { + $this->start = new Horde_Date(array('year' => $date[0], + 'month' => $date[1], + 'mday' => $date[2], + 'hour' => $time[0], + 'min' => $time[1], + 'sec' => $time[2])); + } + } else { + return PEAR::raiseError(_("Events must have a start date.")); + } + if (empty($hash['duration'])) { + if (empty($hash['end_date'])) { + $hash['end_date'] = $hash['start_date']; + } + if (empty($hash['end_time'])) { + $hash['end_time'] = $hash['start_time']; + } + } else { + $weeks = str_replace('W', '', $hash['duration'][1]); + $days = str_replace('D', '', $hash['duration'][2]); + $hours = str_replace('H', '', $hash['duration'][4]); + $minutes = isset($hash['duration'][5]) ? str_replace('M', '', $hash['duration'][5]) : 0; + $seconds = isset($hash['duration'][6]) ? str_replace('S', '', $hash['duration'][6]) : 0; + $hash['duration'] = ($weeks * 60 * 60 * 24 * 7) + ($days * 60 * 60 * 24) + ($hours * 60 * 60) + ($minutes * 60) + $seconds; + $this->end = new Horde_Date($this->start); + $this->end->sec += $hash['duration']; + $this->end->correct(); + } + if (!empty($hash['end_date'])) { + $date = explode('-', $hash['end_date']); + if (empty($hash['end_time'])) { + $time = array(0, 0, 0); + } else { + $time = explode(':', $hash['end_time']); + if (count($time) == 2) { + $time[2] = 0; + } + } + if (count($time) == 3 && count($date) == 3) { + $this->end = new Horde_Date(array('year' => $date[0], + 'month' => $date[1], + 'mday' => $date[2], + 'hour' => $time[0], + 'min' => $time[1], + 'sec' => $time[2])); + } + } + if (!empty($hash['alarm'])) { + $this->setAlarm($hash['alarm']); + } elseif (!empty($hash['alarm_date']) && + !empty($hash['alarm_time'])) { + $date = explode('-', $hash['alarm_date']); + $time = explode(':', $hash['alarm_time']); + if (count($time) == 2) { + $time[2] = 0; + } + if (count($time) == 3 && count($date) == 3) { + $alarm = new Horde_Date(array('hour' => $time[0], + 'min' => $time[1], + 'sec' => $time[2], + 'month' => $date[1], + 'mday' => $date[2], + 'year' => $date[0])); + $this->setAlarm(($this->start->timestamp() - $alarm->timestamp()) / 60); + } + } + if (!empty($hash['recur_type'])) { + $this->recurrence = new Horde_Date_Recurrence($this->start); + $this->recurrence->setRecurType($hash['recur_type']); + if (!empty($hash['recur_end_date'])) { + $date = explode('-', $hash['recur_end_date']); + $this->recurrence->setRecurEnd(new Horde_Date(array('year' => $date[0], 'month' => $date[1], 'mday' => $date[2]))); + } + if (!empty($hash['recur_interval'])) { + $this->recurrence->setRecurInterval($hash['recur_interval']); + } + if (!empty($hash['recur_data'])) { + $this->recurrence->setRecurOnDay($hash['recur_data']); + } + } + + $this->initialized = true; + } + + /** + * Returns an alarm hash of this event suitable for Horde_Alarm. + * + * @param Horde_Date $time Time of alarm. + * @param string $user The user to return alarms for. + * @param Prefs $prefs A Prefs instance. + * + * @return array Alarm hash or null. + */ + function toAlarm($time, $user = null, $prefs = null) + { + if (!$this->getAlarm()) { + return; + } + + if ($this->recurs()) { + $eventDate = $this->recurrence->nextRecurrence($time); + if ($eventDate && $this->recurrence->hasException($eventDate->year, $eventDate->month, $eventDate->mday)) { + return; + } + } + + if (empty($user)) { + $user = Auth::getAuth(); + } + if (empty($prefs)) { + $prefs = $GLOBALS['prefs']; + } + + $methods = @unserialize($prefs->getValue('event_alarms')); + $start = Util::cloneObject($this->start); + $start->min -= $this->getAlarm(); + $start->correct(); + if (isset($methods['notify'])) { + $methods['notify']['show'] = array( + '__app' => $GLOBALS['registry']->getApp(), + 'event' => $this->getId(), + 'calendar' => $this->getCalendar()); + 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->getTitle($user); + $description = $this->getDescription(); + if (!empty($description)) { + $methods['popup']['message'] .= "\n\n" . $description; + } + } + if (isset($methods['mail'])) { + $methods['mail']['body'] = sprintf( + _("We would like to remind you of this upcoming event.\n\n%s\n\nLocation: %s\n\nDate: %s\nTime: %s\n\n%s"), + $this->getTitle($user), + $this->location, + $this->start->strftime($prefs->getValue('date_format')), + $this->start->format($prefs->getValue('twentyFour') ? 'H:i' : 'h:ia'), + $this->getDescription()); + } + + return array( + 'id' => $this->getUID(), + 'user' => $user, + 'start' => $start->timestamp(), + 'end' => $this->end->timestamp(), + 'methods' => array_keys($methods), + 'params' => $methods, + 'title' => $this->getTitle($user), + 'text' => $this->getDescription()); + } + + /** + * TODO + */ + function isInitialized() + { + return $this->initialized; + } + + /** + * TODO + */ + function isStored() + { + return $this->stored; + } + + /** + * Checks if the current event is already present in the calendar. + * + * Does the check based on the uid. + * + * @return boolean True if event exists, false otherwise. + */ + function exists() + { + if (!isset($this->_uid) || !isset($this->_calendar)) { + return false; + } + + $eventID = $GLOBALS['kronolith_driver']->exists($this->_uid, $this->_calendar); + if (is_a($eventID, 'PEAR_Error') || !$eventID) { + return false; + } else { + $this->eventID = $eventID; + return true; + } + } + + function getDuration() + { + static $duration = null; + if (isset($duration)) { + return $duration; + } + + if ($this->start && $this->end) { + require_once 'Date/Calc.php'; + $dur_day_match = Date_Calc::dateDiff($this->start->mday, + $this->start->month, + $this->start->year, + $this->end->mday, + $this->end->month, + $this->end->year); + $dur_hour_match = $this->end->hour - $this->start->hour; + $dur_min_match = $this->end->min - $this->start->min; + while ($dur_min_match < 0) { + $dur_min_match += 60; + --$dur_hour_match; + } + while ($dur_hour_match < 0) { + $dur_hour_match += 24; + --$dur_day_match; + } + if ($dur_hour_match == 0 && $dur_min_match == 0 && + $this->end->mday - $this->start->mday == 1) { + $dur_day_match = 1; + $dur_hour_match = 0; + $dur_min_match = 0; + $whole_day_match = true; + } else { + $whole_day_match = false; + } + } else { + $dur_day_match = 0; + $dur_hour_match = 1; + $dur_min_match = 0; + $whole_day_match = false; + } + + $duration = new stdClass; + $duration->day = $dur_day_match; + $duration->hour = $dur_hour_match; + $duration->min = $dur_min_match; + $duration->wholeDay = $whole_day_match; + + return $duration; + } + + /** + * Returns whether this event is a recurring event. + * + * @return boolean True if this is a recurring event. + */ + function recurs() + { + return isset($this->recurrence) && + !$this->recurrence->hasRecurType(HORDE_DATE_RECUR_NONE); + } + + /** + * Returns a description of this event's recurring type. + * + * @return string Human readable recurring type. + */ + function getRecurName() + { + return $this->recurs() + ? $this->recurrence->getRecurName() + : _("No recurrence"); + } + + /** + * Returns a correcty formatted exception date for recurring events and a + * link to delete this exception. + * + * @param string $date Exception in the format Ymd. + * + * @return string The formatted date and delete link. + */ + function exceptionLink($date) + { + if (!preg_match('/(\d{4})(\d{2})(\d{2})/', $date, $match)) { + return ''; + } + $horde_date = new Horde_Date(array('year' => $match[1], + 'month' => $match[2], + 'mday' => $match[3])); + $formatted = $horde_date->strftime($GLOBALS['prefs']->getValue('date_format')); + return $formatted + . Horde::link(Util::addParameter(Horde::applicationUrl('edit.php'), array('calendar' => $this->getCalendar(), 'eventID' => $this->eventID, 'del_exception' => $date, 'url' => Util::getFormData('url'))), sprintf(_("Delete exception on %s"), $formatted)) + . Horde::img('delete-small.png', _("Delete"), '', $GLOBALS['registry']->getImageDir('horde')) + . ''; + } + + /** + * Returns a list of exception dates for recurring events including links + * to delete them. + * + * @return string List of exception dates and delete links. + */ + function exceptionsList() + { + return implode(', ', array_map(array($this, 'exceptionLink'), $this->recurrence->getExceptions())); + } + + function getCalendar() + { + return $this->_calendar; + } + + function setCalendar($calendar) + { + $this->_calendar = $calendar; + } + + function isRemote() + { + return (bool)$this->remoteCal; + } + + /** + * Returns the locally unique identifier for this event. + * + * @return string The local identifier for this event. + */ + function getId() + { + return $this->eventID; + } + + /** + * Sets the locally unique identifier for this event. + * + * @param string $eventId The local identifier for this event. + */ + function setId($eventId) + { + if (substr($eventId, 0, 10) == 'kronolith:') { + $eventId = substr($eventId, 10); + } + $this->eventID = $eventId; + } + + /** + * Returns the global UID for this event. + * + * @return string The global UID for this event. + */ + function getUID() + { + return $this->_uid; + } + + /** + * Sets the global UID for this event. + * + * @param string $uid The global UID for this event. + */ + function setUID($uid) + { + $this->_uid = $uid; + } + + /** + * Returns the iCalendar SEQUENCE for this event. + * + * @return integer The sequence for this event. + */ + function getSequence() + { + return $this->_sequence; + } + + /** + * Returns the id of the user who created the event. + * + * @return string The creator id + */ + function getCreatorId() + { + return !empty($this->creatorID) ? $this->creatorID : Auth::getAuth(); + } + + /** + * Sets the id of the creator of the event. + * + * @param string $creatorID The user id for the user who created the event + */ + function setCreatorId($creatorID) + { + $this->creatorID = $creatorID; + } + + /** + * Returns the title of this event. + * + * @param string $user The current user. + * + * @return string The title of this event. + */ + function getTitle($user = null) + { + if (isset($this->external) || + isset($this->contactID) || + $this->remoteCal) { + return !empty($this->title) ? $this->title : _("[Unnamed event]"); + } + + if (!$this->isInitialized()) { + return ''; + } + + if ($user === null) { + $user = Auth::getAuth(); + } + + $twentyFour = $GLOBALS['prefs']->getValue('twentyFour'); + $start = $this->start->format($twentyFour ? 'G:i' : 'g:ia'); + $end = $this->end->format($twentyFour ? 'G:i' : 'g:ia'); + + // We explicitly allow admin access here for the alarms notifications. + if (!Auth::isAdmin() && $this->isPrivate() && + $this->getCreatorId() != $user) { + return sprintf(_("Private Event from %s to %s"), $start, $end); + } elseif (Auth::isAdmin() || $this->hasPermission(PERMS_READ, $user)) { + return strlen($this->title) ? $this->title : _("[Unnamed event]"); + } else { + return sprintf(_("Event from %s to %s"), $start, $end); + } + } + + /** + * Sets the title of this event. + * + * @param string The new title for this event. + */ + function setTitle($title) + { + $this->title = $title; + } + + /** + * Returns the description of this event. + * + * @return string The description of this event. + */ + function getDescription() + { + return $this->description; + } + + /** + * Sets the description of this event. + * + * @param string $description The new description for this event. + */ + function setDescription($description) + { + $this->description = $description; + } + + /** + * Returns the category of this event. + * + * @return string The category of this event. + */ + function getCategory() + { + return $this->category; + } + + /** + * Sets the category of this event. + * + * @param string $category The category of this event. + */ + function setCategory($category) + { + $this->category = $category; + } + + /** + * Returns the location this event occurs at. + * + * @return string The location of this event. + */ + function getLocation() + { + return $this->location; + } + + /** + * Sets the location this event occurs at. + * + * @param string $location The new location for this event. + */ + function setLocation($location) + { + $this->location = $location; + } + + /** + * Returns whether this event is private. + * + * @return boolean Whether this even is private. + */ + function isPrivate() + { + return $this->private; + } + + /** + * Sets the private flag of this event. + * + * @param boolean $private Whether this event should be marked private. + */ + function setPrivate($private) + { + $this->private = !empty($private); + } + + /** + * Returns the event status. + * + * @return integer The status of this event. + */ + function getStatus() + { + return $this->status; + } + + /** + * Checks whether the events status is the same as the specified value. + * + * @param integer $status The status value to check against. + * + * @return boolean True if the events status is the same as $status. + */ + function hasStatus($status) + { + return ($status == $this->status); + } + + /** + * Sets the status of this event. + * + * @param integer $status The new event status. + */ + function setStatus($status) + { + $this->status = $status; + } + + /** + * Returns the entire attendees array. + * + * @return array A copy of the attendees array. + */ + function getAttendees() + { + return $this->attendees; + } + + /** + * Checks to see whether the specified attendee is associated with the + * current event. + * + * @param string $email The email address of the attendee. + * + * @return boolean True if the specified attendee is present for this + * event. + */ + function hasAttendee($email) + { + $email = String::lower($email); + return isset($this->attendees[$email]); + } + + /** + * Sets the entire attendee array. + * + * @param array $attendees The new attendees array. This should be of the + * correct format to avoid driver problems. + */ + function setAttendees($attendees) + { + $this->attendees = array_change_key_case($attendees); + } + + /** + * Adds a new attendee to the current event. + * + * This will overwrite an existing attendee if one exists with the same + * email address. + * + * @param string $email The email address of the attendee. + * @param integer $attendance The attendance code of the attendee. + * @param integer $response The response code of the attendee. + * @param string $name The name of the attendee. + */ + function addAttendee($email, $attendance, $response, $name = null) + { + $email = String::lower($email); + if ($attendance == KRONOLITH_PART_IGNORE) { + if (isset($this->attendees[$email])) { + $attendance = $this->attendees[$email]['attendance']; + } else { + $attendance = KRONOLITH_PART_REQUIRED; + } + } + if (empty($name) && isset($this->attendees[$email]) && + !empty($this->attendees[$email]['name'])) { + $name = $this->attendees[$email]['name']; + } + + $this->attendees[$email] = array( + 'attendance' => $attendance, + 'response' => $response, + 'name' => $name + ); + } + + /** + * Removes the specified attendee from the current event. + * + * @param string $email The email address of the attendee. + */ + function removeAttendee($email) + { + $email = String::lower($email); + if (isset($this->attendees[$email])) { + unset($this->attendees[$email]); + } + } + + function getKeywords() + { + return $this->keywords; + } + + function hasKeyword($keyword) + { + return in_array($keyword, $this->keywords); + } + + function setKeywords($keywords) + { + $this->keywords = $keywords; + } + + function isAllDay() + { + return $this->allday || + ($this->start->hour == 0 && $this->start->min == 0 && $this->start->sec == 0 && + (($this->end->hour == 0 && $this->end->min == 0 && $this->end->sec == 0) || + ($this->end->hour == 23 && $this->end->min == 59)) && + ($this->end->mday > $this->start->mday || + $this->end->month > $this->start->month || + $this->end->year > $this->start->year)); + } + + function getAlarm() + { + return $this->alarm; + } + + function setAlarm($alarm) + { + $this->alarm = $alarm; + } + + function readForm() + { + global $prefs, $cManager; + + // Event owner. + $targetcalendar = Util::getFormData('targetcalendar'); + if (strpos($targetcalendar, ':')) { + list(, $creator) = explode(':', $targetcalendar, 2); + } else { + $creator = isset($this->eventID) ? $this->getCreatorId() : Auth::getAuth(); + } + $this->setCreatorId($creator); + + // Basic fields. + $this->setTitle(Util::getFormData('title', $this->title)); + $this->setDescription(Util::getFormData('description', $this->description)); + $this->setLocation(Util::getFormData('location', $this->location)); + $this->setPrivate(Util::getFormData('private')); + $this->setKeywords(Util::getFormData('keywords', $this->keywords)); + + // Category. + if ($new_category = Util::getFormData('new_category')) { + $new_category = $cManager->add($new_category); + $category = $new_category ? $new_category : ''; + } else { + $category = Util::getFormData('category', $this->category); + } + $this->setCategory($category); + + // Status. + $this->setStatus(Util::getFormData('status', $this->status)); + + // Attendees. + if (isset($_SESSION['kronolith']['attendees']) && is_array($_SESSION['kronolith']['attendees'])) { + $this->setAttendees($_SESSION['kronolith']['attendees']); + } + + // Event start. + $start = Util::getFormData('start'); + $start_year = $start['year']; + $start_month = $start['month']; + $start_day = $start['day']; + $start_hour = Util::getFormData('start_hour'); + $start_min = Util::getFormData('start_min'); + $am_pm = Util::getFormData('am_pm'); + + if (!$prefs->getValue('twentyFour')) { + if ($am_pm == 'PM') { + if ($start_hour != 12) { + $start_hour += 12; + } + } elseif ($start_hour == 12) { + $start_hour = 0; + } + } + + if (Util::getFormData('end_or_dur') == 1) { + if (Util::getFormData('whole_day') == 1) { + $start_hour = 0; + $start_min = 0; + $dur_day = 0; + $dur_hour = 24; + $dur_min = 0; + } else { + $dur_day = (int)Util::getFormData('dur_day'); + $dur_hour = (int)Util::getFormData('dur_hour'); + $dur_min = (int)Util::getFormData('dur_min'); + } + } + + $this->start = new Horde_Date(array('hour' => $start_hour, + 'min' => $start_min, + 'month' => $start_month, + 'mday' => $start_day, + 'year' => $start_year)); + $this->start->correct(); + + if (Util::getFormData('end_or_dur') == 1) { + // Event duration. + $this->end = new Horde_Date(array('hour' => $start_hour + $dur_hour, + 'min' => $start_min + $dur_min, + 'month' => $start_month, + 'mday' => $start_day + $dur_day, + 'year' => $start_year)); + $this->end->correct(); + } else { + // Event end. + $end = Util::getFormData('end'); + $end_year = $end['year']; + $end_month = $end['month']; + $end_day = $end['day']; + $end_hour = Util::getFormData('end_hour'); + $end_min = Util::getFormData('end_min'); + $end_am_pm = Util::getFormData('end_am_pm'); + + if (!$prefs->getValue('twentyFour')) { + if ($end_am_pm == 'PM') { + if ($end_hour != 12) { + $end_hour += 12; + } + } elseif ($end_hour == 12) { + $end_hour = 0; + } + } + + $this->end = new Horde_Date(array('hour' => $end_hour, + 'min' => $end_min, + 'month' => $end_month, + 'mday' => $end_day, + 'year' => $end_year)); + $this->end->correct(); + if ($this->end->compareDateTime($this->start) < 0) { + $this->end = new Horde_Date($this->start); + } + } + + // Alarm. + if (Util::getFormData('alarm') == 1) { + $this->setAlarm(Util::getFormData('alarm_value') * Util::getFormData('alarm_unit')); + } else { + $this->setAlarm(0); + } + + // Recurrence. + $recur = Util::getFormData('recur'); + if ($recur !== null && $recur !== '') { + if (!isset($this->recurrence)) { + $this->recurrence = new Horde_Date_Recurrence($this->start); + } + if (Util::getFormData('recur_enddate_type') == 'date') { + $recur_enddate = Util::getFormData('recur_enddate'); + if ($this->recurrence->hasRecurEnd()) { + $recurEnd = $this->recurrence->recurEnd; + $recurEnd->month = $recur_enddate['month']; + $recurEnd->mday = $recur_enddate['day']; + $recurEnd->year = $recur_enddate['year']; + } else { + $recurEnd = new Horde_Date( + array('hour' => 23, + 'min' => 59, + 'sec' => 59, + 'month' => $recur_enddate['month'], + 'mday' => $recur_enddate['day'], + 'year' => $recur_enddate['year'])); + } + $this->recurrence->setRecurEnd($recurEnd); + } elseif (Util::getFormData('recur_enddate_type') == 'count') { + $this->recurrence->setRecurCount(Util::getFormData('recur_count')); + } elseif (Util::getFormData('recur_enddate_type') == 'none') { + $this->recurrence->setRecurCount(0); + $this->recurrence->setRecurEnd(null); + } + + $this->recurrence->setRecurType($recur); + switch ($recur) { + case HORDE_DATE_RECUR_DAILY: + $this->recurrence->setRecurInterval(Util::getFormData('recur_daily_interval', 1)); + break; + + case HORDE_DATE_RECUR_WEEKLY: + $weekly = Util::getFormData('weekly'); + $weekdays = 0; + if (is_array($weekly)) { + foreach ($weekly as $day) { + $weekdays |= $day; + } + } + + if ($weekdays == 0) { + // Sunday starts at 0. + switch ($this->start->dayOfWeek()) { + case 0: $weekdays |= HORDE_DATE_MASK_SUNDAY; break; + case 1: $weekdays |= HORDE_DATE_MASK_MONDAY; break; + case 2: $weekdays |= HORDE_DATE_MASK_TUESDAY; break; + case 3: $weekdays |= HORDE_DATE_MASK_WEDNESDAY; break; + case 4: $weekdays |= HORDE_DATE_MASK_THURSDAY; break; + case 5: $weekdays |= HORDE_DATE_MASK_FRIDAY; break; + case 6: $weekdays |= HORDE_DATE_MASK_SATURDAY; break; + } + } + + $this->recurrence->setRecurInterval(Util::getFormData('recur_weekly_interval', 1)); + $this->recurrence->setRecurOnDay($weekdays); + break; + + case HORDE_DATE_RECUR_MONTHLY_DATE: + $this->recurrence->setRecurInterval(Util::getFormData('recur_day_of_month_interval', 1)); + break; + + case HORDE_DATE_RECUR_MONTHLY_WEEKDAY: + $this->recurrence->setRecurInterval(Util::getFormData('recur_week_of_month_interval', 1)); + break; + + case HORDE_DATE_RECUR_YEARLY_DATE: + $this->recurrence->setRecurInterval(Util::getFormData('recur_yearly_interval', 1)); + break; + + case HORDE_DATE_RECUR_YEARLY_DAY: + $this->recurrence->setRecurInterval(Util::getFormData('recur_yearly_day_interval', 1)); + break; + + case HORDE_DATE_RECUR_YEARLY_WEEKDAY: + $this->recurrence->setRecurInterval(Util::getFormData('recur_yearly_weekday_interval', 1)); + break; + } + } + + $this->initialized = true; + } + + function html($property) + { + global $prefs; + + $options = array(); + $attributes = ''; + $sel = false; + $label = ''; + + switch ($property) { + case 'start[year]': + return '' . + ''; + + case 'start[month]': + $sel = $this->start->month; + for ($i = 1; $i < 13; ++$i) { + $options[$i] = strftime('%b', mktime(1, 1, 1, $i, 1)); + } + $attributes = ' onchange="' . $this->js($property) . '"'; + $label = _("Start Month"); + break; + + case 'start[day]': + $sel = $this->start->mday; + for ($i = 1; $i < 32; ++$i) { + $options[$i] = $i; + } + $attributes = ' onchange="' . $this->js($property) . '"'; + $label = _("Start Day"); + break; + + case 'start_hour': + $sel = $this->start->format($prefs->getValue('twentyFour') ? 'G' : 'g'); + $hour_min = $prefs->getValue('twentyFour') ? 0 : 1; + $hour_max = $prefs->getValue('twentyFour') ? 24 : 13; + for ($i = $hour_min; $i < $hour_max; ++$i) { + $options[$i] = $i; + } + $attributes = ' onchange="document.eventform.whole_day.checked = false; updateEndDate();"'; + $label = _("Start Hour"); + break; + + case 'start_min': + $sel = sprintf('%02d', $this->start->min); + for ($i = 0; $i < 12; ++$i) { + $min = sprintf('%02d', $i * 5); + $options[$min] = $min; + } + $attributes = ' onchange="document.eventform.whole_day.checked = false; updateEndDate();"'; + $label = _("Start Minute"); + break; + + case 'end[year]': + return '' . + ''; + + case 'end[month]': + $sel = $this->isInitialized() ? $this->end->month : $this->start->month; + for ($i = 1; $i < 13; ++$i) { + $options[$i] = strftime('%b', mktime(1, 1, 1, $i, 1)); + } + $attributes = ' onchange="' . $this->js($property) . '"'; + $label = _("End Month"); + break; + + case 'end[day]': + $sel = $this->isInitialized() ? $this->end->mday : $this->start->mday; + for ($i = 1; $i < 32; ++$i) { + $options[$i] = $i; + } + $attributes = ' onchange="' . $this->js($property) . '"'; + $label = _("End Day"); + break; + + case 'end_hour': + $sel = $this->isInitialized() ? + $this->end->format($prefs->getValue('twentyFour') ? 'G' : 'g') : + $this->start->format($prefs->getValue('twentyFour') ? 'G' : 'g') + 1; + $hour_min = $prefs->getValue('twentyFour') ? 0 : 1; + $hour_max = $prefs->getValue('twentyFour') ? 24 : 13; + for ($i = $hour_min; $i < $hour_max; ++$i) { + $options[$i] = $i; + } + $attributes = ' onchange="updateDuration(); document.eventform.end_or_dur[0].checked = true"'; + $label = _("End Hour"); + break; + + case 'end_min': + $sel = $this->isInitialized() ? $this->end->min : $this->start->min; + $sel = sprintf('%02d', $sel); + for ($i = 0; $i < 12; ++$i) { + $min = sprintf('%02d', $i * 5); + $options[$min] = $min; + } + $attributes = ' onchange="updateDuration(); document.eventform.end_or_dur[0].checked = true"'; + $label = _("End Minute"); + break; + + case 'dur_day': + $dur = $this->getDuration(); + return '' . + ''; + + case 'dur_hour': + $dur = $this->getDuration(); + $sel = $dur->hour; + for ($i = 0; $i < 24; ++$i) { + $options[$i] = $i; + } + $attributes = ' onchange="' . $this->js($property) . '"'; + $label = _("Duration Hour"); + break; + + case 'dur_min': + $dur = $this->getDuration(); + $sel = $dur->min; + for ($i = 0; $i < 13; ++$i) { + $min = sprintf('%02d', $i * 5); + $options[$min] = $min; + } + $attributes = ' onchange="' . $this->js($property) . '"'; + $label = _("Duration Minute"); + break; + + case 'recur_enddate[year]': + if ($this->isInitialized()) { + $end = ($this->recurs() && $this->recurrence->hasRecurEnd()) + ? $this->recurrence->recurEnd->year + : $this->end->year; + } else { + $end = $this->start->year; + } + return '' . + ''; + + case 'recur_enddate[month]': + if ($this->isInitialized()) { + $sel = ($this->recurs() && $this->recurrence->hasRecurEnd()) + ? $this->recurrence->recurEnd->month + : $this->end->month; + } else { + $sel = $this->start->month; + } + for ($i = 1; $i < 13; ++$i) { + $options[$i] = strftime('%b', mktime(1, 1, 1, $i, 1)); + } + $attributes = ' onchange="' . $this->js($property) . '"'; + $label = _("Recurrence End Month"); + break; + + case 'recur_enddate[day]': + if ($this->isInitialized()) { + $sel = ($this->recurs() && $this->recurrence->hasRecurEnd()) + ? $this->recurrence->recurEnd->mday + : $this->end->mday; + } else { + $sel = $this->start->mday; + } + for ($i = 1; $i < 32; ++$i) { + $options[$i] = $i; + } + $attributes = ' onchange="' . $this->js($property) . '"'; + $label = _("Recurrence End Day"); + break; + } + + if (!$this->_varRenderer) { + require_once 'Horde/UI/VarRenderer.php'; + $this->_varRenderer = Horde_UI_VarRenderer::factory('html'); + } + + return '' . + ''; + } + + function js($property) + { + switch ($property) { + case 'start[month]': + case 'start[year]': + case 'start[day]': + case 'start': + return 'updateWday(\'start_wday\'); document.eventform.whole_day.checked = false; updateEndDate();'; + + case 'end[month]': + case 'end[year]': + case 'end[day]': + case 'end': + return 'updateWday(\'end_wday\'); updateDuration(); document.eventform.end_or_dur[0].checked = true;'; + + case 'recur_enddate[month]': + case 'recur_enddate[year]': + case 'recur_enddate[day]': + case 'recur_enddate': + return 'updateWday(\'recur_end_wday\'); document.eventform.recur_enddate_type[1].checked = true;'; + + case 'dur_day': + case 'dur_hour': + case 'dur_min': + return 'document.eventform.whole_day.checked = false; updateEndDate(); document.eventform.end_or_dur[1].checked = true;'; + } + } + + /** + * @param array $params + * + * @return string + */ + function getViewUrl($params = array(), $full = false) + { + $params['eventID'] = $this->eventID; + if ($this->remoteUrl) { + return $this->remoteUrl; + } elseif ($this->remoteCal) { + $params['calendar'] = '**remote'; + $params['remoteCal'] = $this->remoteCal; + } else { + $params['calendar'] = $this->getCalendar(); + } + + return Horde::applicationUrl(Util::addParameter('event.php', $params), $full); + } + + /** + * @param array $params + * + * @return string + */ + function getEditUrl($params = array()) + { + $params['view'] = 'EditEvent'; + $params['eventID'] = $this->eventID; + if ($this->remoteCal) { + $params['calendar'] = '**remote'; + $params['remoteCal'] = $this->remoteCal; + } else { + $params['calendar'] = $this->getCalendar(); + } + + return Horde::applicationUrl(Util::addParameter('event.php', $params)); + } + + /** + * @param array $params + * + * @return string + */ + function getDeleteUrl($params = array()) + { + $params['view'] = 'DeleteEvent'; + $params['eventID'] = $this->eventID; + $params['calendar'] = $this->getCalendar(); + return Horde::applicationUrl(Util::addParameter('event.php', $params)); + } + + /** + * @param array $params + * + * @return string + */ + function getExportUrl($params = array()) + { + $params['view'] = 'ExportEvent'; + $params['eventID'] = $this->eventID; + if ($this->remoteCal) { + $params['calendar'] = '**remote'; + $params['remoteCal'] = $this->remoteCal; + } else { + $params['calendar'] = $this->getCalendar(); + } + + return Horde::applicationUrl(Util::addParameter('event.php', $params)); + } + + function getLink($datetime = null, $icons = true, $from_url = null, $full = false) + { + global $prefs, $registry; + + if (is_null($datetime)) { + $datetime = $this->start; + } + if (is_null($from_url)) { + $from_url = Horde::selfUrl(true, false, true); + } + + $link = ''; + $event_title = $this->getTitle(); + if (isset($this->external)) { + $link = $registry->link($this->external . '/show', $this->external_params); + $link = Horde::linkTooltip(Horde::url($link), '', 'event-tentative', '', '', String::wrap($this->description)); + } elseif (isset($this->eventID) && $this->hasPermission(PERMS_READ)) { + $link = Horde::linkTooltip($this->getViewUrl(array('datetime' => $datetime->strftime('%Y%m%d%H%M%S'), 'url' => $from_url), $full), + $event_title, + $this->getStatusClass(), '', '', + $this->getTooltip()); + } + + $link .= @htmlspecialchars($event_title, ENT_QUOTES, NLS::getCharset()); + + if ($this->hasPermission(PERMS_READ) && + (isset($this->eventID) || + isset($this->external))) { + $link .= ''; + } + + if ($icons && $prefs->getValue('show_icons')) { + $icon_color = isset($GLOBALS['cManager_fgColors'][$this->category]) ? + ($GLOBALS['cManager_fgColors'][$this->category] == '#000' ? '000' : 'fff') : + ($GLOBALS['cManager_fgColors']['_default_'] == '#000' ? '000' : 'fff'); + + $status = ''; + if ($this->alarm) { + if ($this->alarm % 10080 == 0) { + $alarm_value = $this->alarm / 10080; + $title = $alarm_value == 1 ? + _("Alarm 1 week before") : + sprintf(_("Alarm %d weeks before"), $alarm_value); + } elseif ($this->alarm % 1440 == 0) { + $alarm_value = $this->alarm / 1440; + $title = $alarm_value == 1 ? + _("Alarm 1 day before") : + sprintf(_("Alarm %d days before"), $alarm_value); + } elseif ($this->alarm % 60 == 0) { + $alarm_value = $this->alarm / 60; + $title = $alarm_value == 1 ? + _("Alarm 1 hour before") : + sprintf(_("Alarm %d hours before"), $alarm_value); + } else { + $alarm_value = $this->alarm; + $title = $alarm_value == 1 ? + _("Alarm 1 minute before") : + sprintf(_("Alarm %d minutes before"), $alarm_value); + } + $status .= Horde::img('alarm-' . $icon_color . '.png', $title, + array('title' => $title, + 'class' => 'iconAlarm'), + Horde::url($registry->getImageDir(), true, -1)); + } + + if ($this->recurs()) { + $title = Kronolith::recurToString($this->recurrence->getRecurType()); + $status .= Horde::img('recur-' . $icon_color . '.png', $title, + array('title' => $title, + 'class' => 'iconRecur'), + Horde::url($registry->getImageDir(), true, -1)); + } + + if ($this->isPrivate()) { + $title = _("Private event"); + $status .= Horde::img('private-' . $icon_color . '.png', $title, + array('title' => $title, + 'class' => 'iconPrivate'), + Horde::url($registry->getImageDir(), true, -1)); + } + + if (!empty($this->attendees)) { + $title = count($this->attendees) == 1 + ? _("1 attendee") + : sprintf(_("%s attendees"), count($this->attendees)); + $status .= Horde::img('attendees.png', $title, + array('title' => $title, + 'class' => 'iconPeople'), + Horde::url($registry->getImageDir(), true, -1)); + } + + if (!empty($status)) { + $link .= ' ' . $status; + } + + if (!$this->eventID || !empty($this->external)) { + return $link; + } + + $edit = ''; + $delete = ''; + if ((!$this->isPrivate() || $this->getCreatorId() == Auth::getAuth()) + && $this->hasPermission(PERMS_EDIT)) { + $editurl = $this->getEditUrl(array('datetime' => $datetime->strftime('%Y%m%d%H%M%S'), + 'url' => $from_url)); + $edit = Horde::link($editurl, sprintf(_("Edit %s"), $event_title), 'iconEdit') + . Horde::img('edit-' . $icon_color . '.png', _("Edit"), '', Horde::url($registry->getImageDir(), true, -1)) + . ''; + } + if ($this->hasPermission(PERMS_DELETE)) { + $delurl = $this->getDeleteUrl(array('datetime' => $datetime->strftime('%Y%m%d%H%M%S'), + 'url' => $from_url)); + $delete = Horde::link($delurl, sprintf(_("Delete %s"), $event_title), 'iconDelete') + . Horde::img('delete-' . $icon_color . '.png', _("Delete"), '', Horde::url($registry->getImageDir(), true, -1)) + . ''; + } + + if ($edit || $delete) { + $link .= $edit . $delete; + } + } + + return $link; + } + + /** + * @return string A tooltip for quick descriptions of this event. + */ + function getTooltip() + { + $tooltip = $this->getTimeRange() + . "\n" . sprintf(_("Owner: %s"), ($this->getCreatorId() == Auth::getAuth() ? + _("Me") : Kronolith::getUserName($this->getCreatorId()))); + + if (!$this->isPrivate() || $this->getCreatorId() == Auth::getAuth()) { + if ($this->location) { + $tooltip .= "\n" . _("Location") . ': ' . $this->location; + } + + if ($this->description) { + $tooltip .= "\n\n" . String::wrap($this->description); + } + } + + return $tooltip; + } + + /** + * @return string The time range of the event ("All Day", "1:00pm-3:00pm", + * "08:00-22:00"). + */ + function getTimeRange() + { + if ($this->isAllDay()) { + return _("All day"); + } elseif (($cmp = $this->start->compareDate($this->end)) > 0) { + $df = $GLOBALS['prefs']->getValue('date_format'); + if ($cmp > 0) { + return $this->end->strftime($df) . '-' + . $this->start->strftime($df); + } else { + return $this->start->strftime($df) . '-' + . $this->end->strftime($df); + } + } else { + $twentyFour = $GLOBALS['prefs']->getValue('twentyFour'); + return $this->start->format($twentyFour ? 'G:i' : 'g:ia') + . '-' + . $this->end->format($twentyFour ? 'G:i' : 'g:ia'); + } + } + + /** + * @return string The CSS class for the event based on its status. + */ + function getStatusClass() + { + switch ($this->status) { + case KRONOLITH_STATUS_CANCELLED: + return 'event-cancelled'; + + case KRONOLITH_STATUS_TENTATIVE: + case KRONOLITH_STATUS_FREE: + return 'event-tentative'; + } + + return 'event'; + } + + function _formIDEncode($id) + { + return str_replace(array('[', ']'), + array('_', ''), + $id); + } + +} diff --git a/kronolith/lib/Driver/holidays.php b/kronolith/lib/Driver/holidays.php new file mode 100644 index 000000000..c5a7b9906 --- /dev/null +++ b/kronolith/lib/Driver/holidays.php @@ -0,0 +1,253 @@ + + * @package Kronolith + * @since Kronolith 2.2 + */ + +class Kronolith_Driver_holidays extends Kronolith_Driver { + + function listAlarms($date, $fullevent = false) + { + return array(); + } + + /** + * Returns a list of all holidays occuring between $startDate + * and $endDate. + * + * @param int|Horde_Date $startDate The start of the datespan to be + * checked. Defaults to the current date. + * @param int|Horde_Date $endDate The end of the datespan. Defaults to + * the current date. + * @param bool $hasAlarm Left in for compatibility reasons and + * has no effect on this function. + * Defaults to false + * + * @return array An array of all holidays within the given datespan. + */ + function listEvents($startDate = null, $endDate = null, $hasAlarm = false) + { + global $language; + + $events = array(); + + if (is_null($startDate)) { + $startDate = new Horde_Date($_SERVER['REQUEST_TIME']); + } + + if (is_null($endDate)) { + $endDate = new Horde_Date($_SERVER['REQUEST_TIME']); + } + + Date_Holidays::staticSetProperty('DIE_ON_MISSING_LOCALE', false); + foreach (unserialize($GLOBALS['prefs']->getValue('holiday_drivers')) as $driver) { + for ($year = $startDate->year; $year <= $endDate->year; $year++) { + $dh = Date_Holidays::factory($driver, $year, $language); + if (Date_Holidays::isError($dh)) { + Horde::logMessage(sprintf('Factory was unable to produce driver object for driver %s in year %s with locale %s', + $driver, $year, $language), + __FILE__, __LINE__, PEAR_LOG_ERR); + continue; + } + + list($type, $file) = $this->_getTranslationFile($driver); + if (empty($file)) { + Horde::logMessage(sprintf('Failed to load translation file for driver %s with locale %s', $driver, $language), __FILE__, __LINE__, PEAR_LOG_DEBUG); + $events = array_merge($events, $this->_getEvents($dh, $startDate, $endDate, 'ISO-8859-1')); + } elseif ($type = 'ser') { + $dh->addCompiledTranslationFile($file, $language); + $events = array_merge($events, $this->_getEvents($dh, $startDate, $endDate, 'UTF-8')); + } else { + $dh->addTranslationFile($file , $language); + $events = array_merge($events, $this->_getEvents($dh, $startDate, $endDate, 'ISO-8859-1')); + } + } + } + + return $events; + } + + function _getEvents($dh, $startDate, $endDate, $charset) + { + $events = array(); + for ($date = new Horde_Date($startDate); + $date->compareDate($endDate) <= 0; + $date->mday++, $date->correct()) { + $holidays = $dh->getHolidayForDate($date->timestamp(), null, true); + if (Date_Holidays::isError($holidays)) { + Horde::logMessage(sprintf('Unable to retrieve list of holidays from %s to %s', + (string)$startDate, (string)$endDate), __FILE__, __LINE__); + continue; + } + + if (is_null($holidays)) { + continue; + } + + foreach ($holidays as $holiday) { + $event = &new Kronolith_Event_holidays($this); + $event->fromDriver($holiday, $charset); + $events[] = $event; + } + } + return $events; + } + + function &getEvent($eventId = null) + { + return false; + } + + /** + * Get an event or events with the given UID value. + * + * @param string $uid The UID to match + * @param array $calendars A restricted array of calendar ids to search + * @param boolean $getAll Return all matching events? If this is false, + * an error will be returned if more than one event is found. + * + * @return Kronolith_Event + */ + function &getByUID($uid, $calendars = null, $getAll = false) + { + return PEAR::raiseError('Not supported'); + } + + function exists() + { + return PEAR::raiseError('Not supported'); + } + + function saveEvent($event) + { + return PEAR::raiseError('Not supported'); + } + + /** + * Moves an event to a new calendar. + * + * @param string $eventId The event to move. + * @param string $newCalendar The new calendar. + */ + function move($eventId, $newCalendar) + { + return PEAR::raiseError('Not supported'); + } + + /** + * Deletes a calendar and all its events. + * + * @param string $calendar The name of the calendar to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function delete($calendar) + { + return PEAR::raiseError('Not supported'); + } + + /** + * Deletes an event. + * + * @param string $eventId The ID of the event to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function deleteEvent($eventId) + { + return PEAR::raiseError('Not supported'); + } + + function _getTranslationFile($driver) + { + static $data_dir; + if (!isset($data_dir)) { + include_once 'PEAR/Config.php'; + $pear_config = new PEAR_Config(); + $data_dir = $pear_config->get('data_dir'); + } + if (empty($data_dir)) { + return; + } + + foreach (array('', '_' . $driver) as $pkg_ext) { + foreach (array('ser', 'xml') as $format) { + $location = $data_dir . '/Date_Holidays' . $pkg_ext . '/lang/' + . $driver . '/' . $GLOBALS['language'] . '.' . $format; + if (file_exists($location)) { + return array($format, $location); + } + } + } + + return array(null, null); + } + +} + +class Kronolith_Event_holidays extends Kronolith_Event { + + /** + * The status of this event. + * + * @var integer + */ + var $status = KRONOLITH_STATUS_FREE; + + /** + * Whether this is an all-day event. + * + * @var boolean + */ + var $allday = true; + + /** + * Parse in an event from the driver. + * + * @param Date_Holidays_Holiday $dhEvent A holiday returned + * from the driver + */ + function fromDriver($dhEvent, $charset) + { + $this->stored = true; + $this->initialized = true; + $this->setTitle(String::convertCharset($dhEvent->getTitle(), $charset)); + $this->setId($dhEvent->getInternalName()); + + $this->start = new Horde_Date($dhEvent->_date->getTime()); + $this->end = new Horde_Date($this->start); + $this->end->mday++; + $this->end->correct(); + } + + /** + * Return this events title. + * + * @return string The title of this event + */ + function getTitle() + { + return $this->title; + } + + /** + * Is this event an all-day event? + * + * Since there are no holidays lasting only a few hours, this is always + * true. + * + * @return boolean true + */ + function isAllDay() + { + return true; + } + +} diff --git a/kronolith/lib/Driver/ical.php b/kronolith/lib/Driver/ical.php new file mode 100644 index 000000000..98935e8c0 --- /dev/null +++ b/kronolith/lib/Driver/ical.php @@ -0,0 +1,159 @@ + + * @since Kronolith 2.0 + * @package Kronolith + */ +class Kronolith_Driver_ical extends Kronolith_Driver { + + /** + * Cache events as we fetch them to avoid fetching or parsing the same + * event twice. + * + * @var array + */ + var $_cache = array(); + + function listAlarms($date, $fullevent = false) + { + return array(); + } + + function listEvents($startDate = null, $endDate = null, $hasAlarm = false) + { + $data = Kronolith::getRemoteCalendar($url); + if (is_a($data, 'PEAR_Error')) { + return $data; + } + + require_once 'Horde/iCalendar.php'; + $iCal = &new Horde_iCalendar(); + if (!$iCal->parsevCalendar($data)) { + return array(); + } + + $components = $iCal->getComponents(); + $events = array(); + $count = count($components); + for ($i = 0; $i < $count; $i++) { + $component = $components[$i]; + if ($component->getType() == 'vEvent') { + $event = &new Kronolith_Event_ical($this); + $event->fromiCalendar($component); + $event->remoteCal = $url; + $event->eventID = $i; + $events[] = $event; + } + } + + return $events; + } + + function &getEvent($eventId = null) + { + $data = Kronolith::getRemoteCalendar($url); + if (is_a($data, 'PEAR_Error')) { + return $data; + } + + require_once 'Horde/iCalendar.php'; + $iCal = &new Horde_iCalendar(); + if (!$iCal->parsevCalendar($data)) { + return array(); + } + + $components = $iCal->getComponents(); + if (isset($components[$eventId]) && $components[$eventId]->getType() == 'vEvent') { + $event = &new Kronolith_Event_ical($this); + $event->fromiCalendar($components[$eventId]); + $event->remoteCal = $url; + $event->eventID = $eventId; + + return $event; + } + + return false; + } + + /** + * Get an event or events with the given UID value. + * + * @param string $uid The UID to match + * @param array $calendars A restricted array of calendar ids to search + * @param boolean $getAll Return all matching events? If this is false, + * an error will be returned if more than one event is found. + * + * @return Kronolith_Event + */ + function &getByUID($uid, $calendars = null, $getAll = false) + { + return PEAR::raiseError('Not supported'); + } + + function exists() + { + return PEAR::raiseError('Not supported'); + } + + function saveEvent($event) + { + return PEAR::raiseError('Not supported'); + } + + /** + * Move an event to a new calendar. + * + * @param string $eventId The event to move. + * @param string $newCalendar The new calendar. + */ + function move($eventId, $newCalendar) + { + return PEAR::raiseError('Not supported'); + } + + /** + * Delete a calendar and all its events. + * + * @param string $calendar The name of the calendar to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function delete($calendar) + { + return PEAR::raiseError('Not supported'); + } + + /** + * Delete an event. + * + * @param string $eventId The ID of the event to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function deleteEvent($eventId) + { + return PEAR::raiseError('Not supported'); + } + +} + +class Kronolith_Event_ical extends Kronolith_Event { + + function fromDriver($vEvent) + { + $this->fromiCalendar($vEvent); + $this->initialized = true; + $this->stored = true; + } + + function toDriver() + { + return $this->toiCalendar(); + } + +} diff --git a/kronolith/lib/Driver/kolab.php b/kronolith/lib/Driver/kolab.php new file mode 100644 index 000000000..f94785cd3 --- /dev/null +++ b/kronolith/lib/Driver/kolab.php @@ -0,0 +1,1651 @@ + + * @author Gunnar Wrobel + * @author Stuart Binge + * @since Kronolith 2.0 + * @package Kronolith + */ +class Kronolith_Driver_kolab extends Kronolith_Driver { + + /** + * Our Kolab server connection. + * + * @var Kolab + */ + var $_kolab = null; + + /** + * The wrapper to decide between the Kolab implementation + * + * @var Kronolith_Driver_kolab_wrapper + */ + var $_wrapper = null; + + /** + * Attempts to open a Kolab Groupware folder. + * + * @return boolean True on success, PEAR_Error on failure. + */ + function initialize() + { + $this->_kolab = &new Kolab(); + if (empty($this->_kolab->version)) { + $wrapper = "Kronolith_Driver_kolab_wrapper_old"; + } else { + $wrapper = "Kronolith_Driver_kolab_wrapper_new"; + } + + $this->_wrapper = &new $wrapper($this); + + return true; + } + + /** + * Change current calendar + */ + function open($calendar) + { + if ($this->_calendar != $calendar) { + $this->_calendar = $calendar; + $this->_wrapper->reset(); + } + + return true; + } + + function listAlarms($date, $fullevent = false) + { + return $this->_wrapper->listAlarms($date, $fullevent); + } + + /** + * Checks if the event's UID already exists and returns all event + * ids with that UID. + * + * @param string $uid The event's uid. + * @param string $calendar_id Calendar to search in. + * + * @return mixed Returns a string with event_id or false if not found. + */ + function exists($uid, $calendar_id = null) + { + return $this->_wrapper->exists($uid, $calendar_id); + } + + /** + * Lists all events in the time range, optionally restricting + * results to only events with alarms. + * + * @param Horde_Date $startInterval Start of range date object. + * @param Horde_Date $endInterval End of range date object. + * @param boolean $hasAlarm Only return events with alarms? + * Defaults to false. + * + * @return array Events in the given time range. + */ + function listEvents($startDate = null, $endDate = null, $hasAlarm = false) + { + return $this->_wrapper->listEvents($startDate, $endDate, $hasAlarm); + } + + function &getEvent($eventID = null) + { + return $this->_wrapper->getEvent($eventID); + } + + /** + * Get an event or events with the given UID value. + * + * @param string $uid The UID to match + * @param array $calendars A restricted array of calendar ids to search + * @param boolean $getAll Return all matching events? If this is false, + * an error will be returned if more than one event is found. + * + * @return Kronolith_Event + */ + function &getByUID($uid, $calendars = null, $getAll = false) + { + return $this->_wrapper->getByUID($uid, $calendars, $getAll); + } + + function saveEvent(&$event) + { + return $this->_wrapper->saveEvent($event); + } + + /** + * Move an event to a new calendar. + * + * @param string $eventId The event to move. + * @param string $newCalendar The new calendar. + */ + function move($eventID, $newCalendar) + { + return $this->_wrapper->move($eventID, $newCalendar); + } + + /** + * Delete a calendar and all its events. + * + * @param string $calendar The name of the calendar to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function delete($calendar) + { + return $this->_wrapper->delete($calendar); + } + + /** + * Rename a calendar. + * + * @param string $from The current name of the calendar. + * @param string $to The new name of the calendar. + * + * @return mixed True or a PEAR_Error on failure. + */ + function rename($from, $to) + { + return $this->_wrapper->rename($from, $to); + } + + /** + * Delete an event. + * + * @param string $eventId The ID of the event to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function deleteEvent($eventID, $silent = false) + { + return $this->_wrapper->deleteEvent($eventID, $silent); + } +} + +/** + * Horde Kronolith wrapper to distinguish between both Kolab driver implementations. + * + * $Horde: kronolith/lib/Driver/kolab.php,v 1.77 2009/01/06 18:01:01 jan Exp $ + * + * Copyright 2004-2009 The Horde Project (http://www.horde.org/) + * + * See the enclosed file LICENSE for license information (ASL). If you + * did not receive this file, see http://www.horde.org/licenses/asl.php. + * + * @author Gunnar Wrobel + * @package Kronolith + */ + +class Kronolith_Driver_kolab_wrapper { + /** + * Our Kolab server connection. + * + * @var Kolab + */ + var $_kolab = null; + + /** + * Link to the parent driver object + * + * @var Kronolith_Driver + */ + + var $_driver = null; + + /** + * Constructor + * + * @param Kronolith_driver $driver Reference to the Kronolith_Driver + */ + function Kronolith_Driver_kolab_wrapper(&$driver) + { + $this->_driver = &$driver; + $this->_kolab = &$driver->_kolab; + } +} + + +/** + * Horde Kronolith driver for the Kolab IMAP Server. + * Copyright 2004-2009 The Horde Project (http://www.horde.org/) + * + * See the enclosed file LICENSE for license information (ASL). If you + * did not receive this file, see http://www.horde.org/licenses/asl.php. + * + * @author Gunnar Wrobel + * @author Stuart Binge + * @package Kronolith + */ +class Kronolith_Driver_kolab_wrapper_old extends Kronolith_Driver_kolab_wrapper { + + /** + * Indicates if the wrapper has connected or not + * + * @var boolean + */ + var $_connected = false; + + /** + * Reset internal variable on share change + */ + function reset() + { + $this->_connected = false; + } + + /** + * 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() + { + if ($this->_connected) { + return true; + } + + $result = $this->_kolab->open($this->_driver->_calendar); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + $this->_connected = true; + + return true; + } + + function listAlarms($date, $fullevent = false) + { + if (!$this->_kolab) { + return array(); + } + + $allevents = $this->listEvents($date, $date, true); + if (is_a($allevents, 'PEAR_Error')) { + return $allevents; + } + + $events = array(); + + foreach ($allevents as $eventId) { + $event = &$this->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + if (!$event->recurs()) { + $start = new Horde_Date($event->start); + $start->min -= $event->getAlarm(); + $start->correct(); + if ($start->compareDateTime($date) <= 0 && + $date->compareDateTime($event->end) <= -1) { + $events[] = $fullevent ? $event : $eventId; + } + } else { + if ($next = $event->recurrence->nextRecurrence($date)) { + if ($event->recurrence->hasException($next->year, $next->month, $next->mday)) { + continue; + } + $start = new Horde_Date($next); + $start->min -= $event->getAlarm(); + $start->correct(); + $end = &new Horde_Date(array('year' => $next->year, + 'month' => $next->month, + 'mday' => $next->mday, + 'hour' => $event->end->hour, + 'min' => $event->end->min, + 'sec' => $event->end->sec)); + if ($start->compareDateTime($date) <= 0 && + $date->compareDateTime($end) <= -1) { + if ($fullevent) { + $event->start = $start; + $event->end = $end; + $events[] = $event; + } else { + $events[] = $eventId; + } + } + } + } + } + + return is_array($events) ? $events : array(); + } + + /** + * Checks if the event's UID already exists and returns all event + * ids with that UID. + * + * @param string $uid The event's uid. + * @param string $calendar_id Calendar to search in. + * + * @return mixed Returns a string with event_id or false if not found. + */ + function exists($uid, $calendar_id = null) + { + $this->connect(); + + // Don't use calendar id here. + if (is_a($this->_kolab->loadObject($uid), 'PEAR_Error')) { + return false; + } + + return $uid; + } + + /** + * Lists all events in the time range, optionally restricting + * results to only events with alarms. + * + * @param Horde_Date $startInterval Start of range date object. + * @param Horde_Date $endInterval End of range date object. + * @param boolean $hasAlarm Only return events with alarms? + * Defaults to false. + * + * @return array Events in the given time range. + */ + function listEvents($startDate = null, $endDate = null, $hasAlarm = false) + { + $this->connect(); + + // We don't perform any checking on $startDate and $endDate, + // as that has the potential to leave out recurring event + // instances. + $events = array(); + + $msg_list = null; + if ($this->_kolab) { + $msg_list = $this->_kolab->listObjects(); + if (is_a($msg_list, 'PEAR_Error')) { + return $msg_list; + } + } + if (!$msg_list) { + return $events; + } + + foreach ($msg_list as $msg) { + $result = $this->_kolab->loadObject($msg, true); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + $events[$this->_kolab->getUID()] = $this->_kolab->getUID(); + } + + return $events; + } + + function &getEvent($eventID = null) + { + if (is_null($eventID)) { + $event = &new Kronolith_Event_kolab_old($this->_driver); + return $event; + } + + $this->connect(); + + $result = $this->_kolab->loadObject($eventID); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + $event = &new Kronolith_Event_kolab_old($this->_driver); + $event->fromDriver($this); + + return $event; + } + + /** + * Get an event or events with the given UID value. + * + * @param string $uid The UID to match + * @param array $calendars A restricted array of calendar ids to search + * @param boolean $getAll Return all matching events? If this is false, + * an error will be returned if more than one event is found. + * + * @return Kronolith_Event + */ + function &getByUID($uid, $calendars = null, $getAll = false) + { + if (!is_array($calendars)) { + $calendars = array_keys(Kronolith::listCalendars(true, PERMS_READ)); + } + + foreach ($calendars as $calendar) { + $this->_driver->open($calendar); + $this->connect(); + + $event = &$this->getEvent($uid); + if (is_a($event, 'PEAR_Error')) { + continue; + } + + if ($getAll) { + $events = array(); + $events[] = &$event; + return $events; + } else { + return $event; + } + } + + return PEAR::raiseError(sprintf(_("Event not found: %s"), $uid)); + } + + function saveEvent(&$event) + { + $this->connect(); + + $edit = false; + if ($event->isStored() || $event->exists()) { + $uid = $event->getUID(); + + $result = $this->_kolab->loadObject($uid); + //No error check here, already done in exists() + + $edit = true; + } else { + if ($event->getUID()) { + $uid = $event->getUID(); + } else { + $uid = md5(uniqid(mt_rand(), true)); + $event->setUID($uid); + $event->setId($uid); + } + + $this->_kolab->newObject($uid); + } + + $xml_hash = &$this->_kolab->getCurrentObject(); + + $this->_kolab->setStr('summary', $event->getTitle()); + $this->_kolab->setStr('body', $event->getDescription()); + $this->_kolab->setStr('categories', $event->getCategory()); + $this->_kolab->setStr('location', $event->getLocation()); + if ($event->isPrivate()) { + $this->_kolab->setStr('sensitivity', 'private'); + } + + $organizer = &$this->_kolab->initRootElem('organizer'); + $this->_kolab->setElemStr($organizer, 'smtp-address', $event->getCreatorID()); + + $this->_kolab->setVal('alarm', $event->getAlarm()); + if ($event->isAllDay()) { + $this->_kolab->setVal('start-date', Kolab::encodeDate($event->start->timestamp())); + $this->_kolab->setVal('end-date', Kolab::encodeDate($event->end->timestamp()-24*60*60)); + } else { + $this->_kolab->setVal('start-date', Kolab::encodeDateTime($event->start->timestamp())); + $this->_kolab->setVal('end-date', Kolab::encodeDateTime($event->end->timestamp())); + } + + switch ($event->status) { + case KRONOLITH_STATUS_FREE: + case KRONOLITH_STATUS_CANCELLED: + $this->_kolab->setVal('show-time-as', 'free'); + break; + + case KRONOLITH_STATUS_TENTATIVE: + $this->_kolab->setVal('show-time-as', 'tentative'); + break; + + case KRONOLITH_STATUS_CONFIRMED: + default: + $this->_kolab->setVal('show-time-as', 'busy'); + break; + } + + $this->_kolab->delAllRootElems('attendee'); + foreach ($event->attendees as $email => $status) { + $attendee = &$this->_kolab->appendRootElem('attendee'); + $this->_kolab->setElemVal($attendee, 'smtp-address', $email); + + switch ($status['response']) { + case KRONOLITH_RESPONSE_ACCEPTED: + $this->_kolab->setElemVal($attendee, 'status', 'accepted'); + break; + + case KRONOLITH_RESPONSE_DECLINED: + $this->_kolab->setElemVal($attendee, 'status', 'declined'); + break; + + case KRONOLITH_RESPONSE_TENTATIVE: + $this->_kolab->setElemVal($attendee, 'status', 'tentative'); + break; + + case KRONOLITH_RESPONSE_NONE: + default: + $this->_kolab->setElemVal($attendee, 'status', 'none'); + } + + switch ($status['attendance']) { + case KRONOLITH_PART_OPTIONAL: + $this->_kolab->setElemVal($attendee, 'role', 'optional'); + break; + + case KRONOLITH_PART_NONE: + $this->_kolab->setElemVal($attendee, 'role', 'resource'); + break; + + case KRONOLITH_PART_REQUIRED: + default: + $this->_kolab->setElemVal($attendee, 'role', 'required'); + } + } + + $this->_kolab->delAllRootElems('recurrence'); + + $range_type = 'none'; + $range = 0; + + if ($event->recurs()) { + $recurrence = &$this->_kolab->initRootElem('recurrence'); + $this->_kolab->setElemVal($recurrence, 'interval', $event->recurrence->getRecurInterval()); + + switch ($event->recurrence->getRecurType()) { + case HORDE_DATE_RECUR_DAILY: + $recurrence->set_attribute('cycle', 'daily'); + break; + + case HORDE_DATE_RECUR_WEEKLY: + $recurrence->set_attribute('cycle', 'weekly'); + + $days = array('sunday', 'monday', 'tuesday', 'wednesday', + 'thursday', 'friday', 'saturday'); + + for ($i = 0; $i <= 7 ; ++$i) { + if ($event->recurrence->recurOnDay(pow(2, $i))) { + $day = &$this->_kolab->appendElem('day', $recurrence); + $day->set_content($days[$i]); + } + } + break; + + case HORDE_DATE_RECUR_MONTHLY_DATE: + $recurrence->set_attribute('cycle', 'monthly'); + $recurrence->set_attribute('type', 'daynumber'); + $this->_kolab->setElemVal($recurrence, 'daynumber', $event->start->mday); + break; + + case HORDE_DATE_RECUR_MONTHLY_WEEKDAY: + $recurrence->set_attribute('cycle', 'monthly'); + $recurrence->set_attribute('type', 'weekday'); + $this->_kolab->setElemVal($recurrence, 'daynumber', (int)(($event->start->mday - 1) / 7)); + $start = new Horde_Date($event->start); + $days = array('sunday', 'monday', 'tuesday', 'wednesday', + 'thursday', 'friday', 'saturday'); + $this->_kolab->setElemVal($recurrence, 'day', $days[$start->dayOfWeek()]); + break; + + case HORDE_DATE_RECUR_YEARLY_DATE: + $recurrence->set_attribute('cycle', 'yearly'); + $recurrence->set_attribute('type', 'monthday'); + + $months = array('january', 'february', 'march', 'april', + 'may', 'june', 'july', 'august', 'september', + 'october', 'november', 'december'); + + $this->_kolab->setElemVal($recurrence, 'month', $months[$event->start->month]); + $this->_kolab->setElemVal($recurrence, 'daynumber', $event->start->mday); + break; + + case HORDE_DATE_RECUR_YEARLY_DAY: + $recurrence->set_attribute('cycle', 'yearly'); + $recurrence->set_attribute('type', 'yearday'); + $this->_kolab->setElemVal($recurrence, 'daynumber', $event->start->dayOfYear()); + break; + + case HORDE_DATE_RECUR_YEARLY_WEEKDAY: + $recurrence->set_attribute('cycle', 'yearly'); + $recurrence->set_attribute('type', 'weekday'); + $this->_kolab->setElemVal($recurrence, 'daynumber', (int)(($event->start->mday - 1) / 7)); + $start = new Horde_Date($event->start); + $days = array('sunday', 'monday', 'tuesday', 'wednesday', + 'thursday', 'friday', 'saturday'); + $this->_kolab->setElemVal($recurrence, 'day', $days[$start->dayOfWeek()]); + $months = array('january', 'february', 'march', 'april', + 'may', 'june', 'july', 'august', 'september', + 'october', 'november', 'december'); + $this->_kolab->setElemVal($recurrence, 'month', $months[$event->start->month]); + break; + } + + if ($event->recurrence->hasRecurEnd()) { + $range_type = 'date'; + // fix off-by-one day + $recur_end = $event->recurrence->getRecurEnd(); + $recur_end->mday -= 1; + $recur_end->correct(); + $range = Kolab::encodeDate($recur_end->timestamp()); + } elseif ($event->recurrence->getRecurCount()) { + $range_type = 'number'; + $range = $event->recurrence->getRecurCount(); + } else { + $range_type = 'none'; + $range = ''; + } + + $range = &$this->_kolab->setElemVal($recurrence, 'range', $range); + $range->set_attribute('type', $range_type); + + foreach ($event->recurrence->getExceptions() as $exception) { + $extime = strtotime($exception); + $exception = Kolab::encodeDate($extime); + $exclusion = &$this->_kolab->appendElem('exclusion', $recurrence); + $exclusion->set_content($exception); + } + } + + $result = $this->_kolab->saveObject(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + if (is_callable('Kolab', 'triggerFreeBusyUpdate')) { + Kolab::triggerFreeBusyUpdate($this->_driver->_calendar); + } + + /* Notify about the changed event. */ + $result = Kronolith::sendNotification($event, $edit ? 'edit' : 'add'); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + } + + return $uid; + } + + /** + * Move an event to a new calendar. + * + * @param string $eventId The event to move. + * @param string $newCalendar The new calendar. + */ + function move($eventID, $newCalendar) + { + $this->connect(); + + $result = $this->_kolab->moveObject($eventID, $newCalendar); + + if (is_callable('Kolab', 'triggerFreeBusyUpdate')) { + Kolab::triggerFreeBusyUpdate($this->_driver->_calendar); + Kolab::triggerFreeBusyUpdate($newCalendar); + } + + return $result; + } + + /** + * Delete a calendar and all its events. + * + * @param string $calendar The name of the calendar to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function delete($calendar) + { + // For the old code we don't care + return true; + } + + /** + * Rename a calendar. + * + * @param string $from The current name of the calendar. + * @param string $to The new name of the calendar. + * + * @return mixed True or a PEAR_Error on failure. + */ + function rename($from, $to) + { + // For the old code we don't care + return true; + } + + /** + * Delete an event. + * + * @param string $eventId The ID of the event to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function deleteEvent($eventID, $silent = false) + { + $this->connect(); + + /* Fetch the event for later use. */ + $event = &$this->getEvent($eventID); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + /* Delete the event. */ + $deleted = $this->_kolab->removeObjects($eventID); + if (!$deleted || is_a($deleted, 'PEAR_Error')) { + return $deleted; + } + + if (is_callable('Kolab', 'triggerFreeBusyUpdate')) { + Kolab::triggerFreeBusyUpdate($this->_driver->_calendar); + } + + /* Notify about the deleted event. */ + if (!$silent) { + $result = Kronolith::sendNotification($event, 'delete'); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + } + } + } + +} + +class Kronolith_Event_kolab_old extends Kronolith_Event { + + function fromDriver($dummy) + { + $driver = &$this->getDriver(); + $kolab = &$driver->_kolab; + + $this->eventID = $kolab->getUID(); + $this->setUID($kolab->getUID()); + $this->title = $kolab->getStr('summary'); + $this->description = $kolab->getStr('body'); + $this->location = $kolab->getStr('location'); + $this->category = $kolab->getStr('categories'); + + $class = String::lower($kolab->getStr('sensitivity')); + if ($class == 'private' || $class == 'confidential') { + $this->private = true; + } + + $organizer = &$kolab->getRootElem('organizer'); + $this->creatorID = $kolab->getElemStr($organizer, 'smtp-address'); + + $this->alarm = $kolab->getVal('alarm'); + $this->start = new Horde_Date(Kolab::decodeDateOrDateTime($kolab->getVal('start-date'))); + $this->end = new Horde_Date(Kolab::decodeFullDayDate($kolab->getVal('end-date'))); + $this->durMin = ($this->end->timestamp() - $this->start->timestamp()) / 60; + + $status = $kolab->getVal('show-time-as'); + switch ($status) { + case 'free': + $this->status = KRONOLITH_STATUS_FREE; + break; + + case 'tentative': + $this->status = KRONOLITH_STATUS_TENTATIVE; + break; + + case 'busy': + case 'outofoffice': + default: + $this->status = KRONOLITH_STATUS_CONFIRMED; + } + + $attendees = array_change_key_case($kolab->getAllRootElems('attendee')); + for ($i = 0, $iMax = count($attendees); $i < $iMax; ++$i) { + $attendee = $attendees[$i]; + + $email = $kolab->getElemStr($attendee, 'smtp-address'); + if (empty($email)) { + continue; + } + + $role = $kolab->getElemVal($attendee, 'role'); + switch ($role) { + case 'optional': + $role = KRONOLITH_PART_OPTIONAL; + break; + + case 'resource': + $role = KRONOLITH_PART_NONE; + break; + + case 'required': + default: + $role = KRONOLITH_PART_REQUIRED; + break; + } + + $status = $kolab->getElemVal($attendee, 'status'); + switch ($status) { + case 'accepted': + $status = KRONOLITH_RESPONSE_ACCEPTED; + break; + + case 'declined': + $status = KRONOLITH_RESPONSE_DECLINED; + break; + + case 'tentative': + $status = KRONOLITH_RESPONSE_TENTATIVE; + break; + + case 'none': + default: + $status = KRONOLITH_RESPONSE_NONE; + break; + } + + $this->addAttendee($email, $role, $status, $kolab->getElemVal($attendee, 'display-name')); + } + + $recurrence = &$kolab->getRootElem('recurrence'); + if ($recurrence !== false) { + $this->recurrence = new Horde_Date_Recurrence($this->start); + $cycle = $recurrence->get_attribute('cycle'); + $this->recurrence->setRecurInterval($kolab->getElemVal($recurrence, 'interval')); + + switch ($cycle) { + case 'daily': + $this->recurrence->setRecurType(HORDE_DATE_RECUR_DAILY); + break; + + case 'weekly': + $this->recurrence->setRecurType(HORDE_DATE_RECUR_WEEKLY); + + $mask = 0; + $bits = array( + 'monday' => HORDE_DATE_MASK_MONDAY, + 'tuesday' => HORDE_DATE_MASK_TUESDAY, + 'wednesday' => HORDE_DATE_MASK_WEDNESDAY, + 'thursday' => HORDE_DATE_MASK_THURSDAY, + 'friday' => HORDE_DATE_MASK_FRIDAY, + 'saturday' => HORDE_DATE_MASK_SATURDAY, + 'sunday' => HORDE_DATE_MASK_SUNDAY, + ); + + $days = $kolab->getAllElems('day', $recurrence); + foreach ($days as $day) { + $day_str = $day->get_content(); + + if (empty($day_str) || !isset($bits[$day_str])) { + continue; + } + + $mask |= $bits[$day_str]; + } + + $this->recurrence->setRecurOnDay($mask); + break; + + case 'monthly': + switch ($recurrence->get_attribute('type')) { + case 'daynumber': + $this->recurrence->setRecurType(HORDE_DATE_RECUR_MONTHLY_DATE); + break; + + case 'weekday': + $this->recurrence->setRecurType(HORDE_DATE_RECUR_MONTHLY_DATE); + break; + } + break; + + case 'yearly': + switch ($recurrence->get_attribute('type')) { + case 'monthday': + $this->recurrence->setRecurType(HORDE_DATE_RECUR_YEARLY_DATE); + break; + case 'daynumber': + $this->recurrence->setRecurType(HORDE_DATE_RECUR_YEARLY_DAY); + break; + case 'weekday': + $this->recurrence->setRecurType(HORDE_DATE_RECUR_YEARLY_WEEKDAY); + break; + } + } + + $range = &$kolab->getElem('range', $recurrence); + $range_type = $range->get_attribute('type'); + $range_val = $kolab->getElemVal($recurrence, 'range'); + + switch ($range_type) { + case 'number': + $this->recurrence->setRecurCount($range_val); + break; + + case 'date': + // fix off-by-one day + $timestamp = Kolab_Date::decodeDate($range_val); + $this->recurrence->setRecurEnd(new Horde_Date($timestamp + 86400)); + break; + } + + $exceptions = $kolab->getAllElems('exclusion', $recurrence); + foreach ($exceptions as $exception) { + $exception = new Horde_Date(Kolab::decodeDate($exception->get_content())); + $this->recurrence->addException($exception->year, $exception->month, $exception->mday); + } + } + + $this->initialized = true; + $this->stored = true; + } + + function toDriver() + { + } + +} + +/** + * Horde Kronolith driver for the Kolab IMAP Server. + * Copyright 2004-2009 The Horde Project (http://www.horde.org/) + * + * See the enclosed file LICENSE for license information (ASL). If you + * did not receive this file, see http://www.horde.org/licenses/asl.php. + * + * @author Thomas Jarosch + * @author Stuart Binge + * @package Kronolith + */ +class Kronolith_Driver_kolab_wrapper_new extends Kronolith_Driver_kolab_wrapper { + + /** + * Internal cache of Kronolith_Event_kolab_new. eventID/UID is key + * + * @var array + */ + var $_events_cache; + + /** + * Indicates if we have synchronized this folder + * + * @var boolean + */ + var $_synchronized; + + /** + * Shortcut to the imap connection + * + * @var Kolab_IMAP + */ + var $_store; + + /** + * Constructor + */ + function Kronolith_Driver_kolab_wrapper_new(&$driver) + { + parent::Kronolith_Driver_kolab_wrapper($driver); + $this->reset(); + } + + /** + * Reset internal variable on share change + */ + function reset() + { + $this->_events_cache = array(); + $this->_synchronized = false; + } + + // We delay initial synchronization to the first use + // so multiple calendars don't add to the total latency. + // This function must be called before all internal driver functions + function synchronize($force = false) + { + if ($this->_synchronized && !$force) { + return; + } + + // Connect to the Kolab backend + $result = $this->_kolab->open($this->_driver->_calendar, 1); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + $this->_store = &$this->_kolab->_storage; + + // build internal event cache + $this->_events_cache = array(); + $events = $this->_store->getObjects(); + foreach($events as $event) { + $this->_events_cache[$event['uid']] = &new Kronolith_Event_kolab_new($this->_driver, $event); + } + + $this->_synchronized = true; + } + + function listAlarms($date, $fullevent = false) + { + $allevents = $this->listEvents($date, null, true); + $events = array(); + + foreach ($allevents as $eventId) { + $event = &$this->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + if (!$event->recurs()) { + $start = new Horde_Date($event->start); + $start->min -= $event->getAlarm(); + $start->correct(); + if ($start->compareDateTime($date) <= 0 && + $date->compareDateTime($event->end) <= -1) { + $events[] = $fullevent ? $event : $eventId; + } + } else { + if ($next = $event->recurrence->nextRecurrence($date)) { + if ($event->recurrence->hasException($next->year, $next->month, $next->mday)) { + continue; + } + $start = new Horde_Date($next); + $start->min -= $event->getAlarm(); + $start->correct(); + $end = &new Horde_Date(array('year' => $next->year, + 'month' => $next->month, + 'mday' => $next->mday, + 'hour' => $event->end->hour, + 'min' => $event->end->min, + 'sec' => $event->end->sec)); + if ($start->compareDateTime($date) <= 0 && + $date->compareDateTime($end) <= -1) { + if ($fullevent) { + $event->start = $start; + $event->end = $end; + $events[] = $event; + } else { + $events[] = $eventId; + } + } + } + } + } + + return is_array($events) ? $events : array(); + } + + /** + * Checks if the event's UID already exists and returns all event + * ids with that UID. + * + * @param string $uid The event's uid. + * @param string $calendar_id Calendar to search in. + * + * @return string|boolean Returns a string with event_id or false if + * not found. + */ + function exists($uid, $calendar_id = null) + { + // Log error if someone uses this function in an unsupported way + if ($calendar_id != $this->_driver->_calendar) { + Horde::logMessage(sprintf("Kolab::exists called for calendar %s. Currently active is %s.", $calendar_id, $this->_driver->_calendar), __FILE__, __LINE__, PEAR_LOG_ERR); + return PEAR::raiseError(sprintf("Kolab::exists called for calendar %s. Currently active is %s.", $calendar_id, $this->_driver->_calendar)); + } + + $result = $this->synchronize(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + if ($this->_store->objectUidExists($uid)) { + return $uid; + } + + return false; + } + + /** + * Lists all events in the time range, optionally restricting + * results to only events with alarms. + * + * @param Horde_Date $startInterval Start of range date object. + * @param Horde_Date $endInterval End of range data object. + * @param boolean $hasAlarm Only return events with alarms? + * Defaults to all events. + * + * @return array Events in the given time range. + */ + function listEvents($startDate = null, $endDate = null, $hasAlarm = false) + { + $result = $this->synchronize(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + if (is_null($startDate)) { + $startDate = &new Horde_Date(array('mday' => 1, 'month' => 1, 'year' => 0000)); + } + if (is_null($endDate)) { + $endDate = &new Horde_Date(array('mday' => 31, 'month' => 12, 'year' => 9999)); + } + + $ids = array(); + + foreach($this->_events_cache as $event) { + if ($hasAlarm && !$event->getAlarm()) { + continue; + } + + $keep_event = false; + /* check if event period intersects with given period */ + if (!(($endDate->compareDateTime($event->start) < 0) || + ($startDate->compareDateTime($event->end) > 0))) { + $keep_event = true; + } + + /* do recurrence expansion if not keeping anyway */ + if (!$keep_event && $event->recurs()) { + $next = $event->recurrence->nextRecurrence($startDate); + while ($next !== false && + $event->recurrence->hasException($next->year, $next->month, $next->mday)) { + $next->mday++; + $next = $event->recurrence->nextRecurrence($next); + } + + if ($next !== false) { + $duration = $next->timestamp() - $event->start->timestamp(); + $next_end = &new Horde_Date($event->end->timestamp() + $duration); + + if ((!(($endDate->compareDateTime($next) < 0) || + ($startDate->compareDateTime($next_end) > 0)))) { + $keep_event = true; + } + } + } + + if ($keep_event) { + $ids[$event->getUID()] = $event->getUID(); + } + } + + return $ids; + } + + function &getEvent($eventId = null) + { + if (is_null($eventId)) { + $event = &new Kronolith_Event_kolab_new($this->_driver); + return $event; + } + + $result = $this->synchronize(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + if (array_key_exists($eventId, $this->_events_cache)) { + return $this->_events_cache[$eventId]; + } + + return PEAR::raiseError(sprintf(_("Event not found: %s"), $eventId)); + } + + /** + * Get an event or events with the given UID value. + * + * @param string $uid The UID to match + * @param array $calendars A restricted array of calendar ids to search + * @param boolean $getAll Return all matching events? If this is false, + * an error will be returned if more than one event is found. + * + * @return Kronolith_Event + */ + function &getByUID($uid, $calendars = null, $getAll = false) + { + if (!is_array($calendars)) { + $calendars = array_keys(Kronolith::listCalendars(true, PERMS_READ)); + } + + foreach ($calendars as $calendar) { + $this->_driver->open($calendar); + $this->synchronize(); + + if (!array_key_exists($uid, $this->_events_cache)) { + continue; + } + + // Ok, found event + $event = &$this->_events_cache[$uid]; + + if ($getAll) { + $events = array(); + $events[] = &$event; + return $events; + } else { + return $event; + } + } + + return PEAR::raiseError(sprintf(_("Event not found: %s"), $uid)); + } + + /** + * Saves an event in the backend. + * If it is a new event, it is added, otherwise the event is updated. + * + * @param Kronolith_Event_new $event The event to save. + * + * @return mixed UID on success, a PEAR error otherwise + */ + function saveEvent(&$event) + { + $result = $this->synchronize(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + $uid = $event->getUID(); + if ($uid == null) { + $event->setUID($this->_store->generateUID()); + } + + $attributes = $event->toDriver(); + + $edit = false; + $stored_uid = null; + if ($event->isStored() || $event->exists()) { + $stored_uid = $attributes['uid']; + $action = array('action' => 'modify'); + $edit = true; + } else { + $action = array('action' => 'add'); + } + + $result = $this->_store->save($attributes, $stored_uid); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + /* Notify about the changed event. */ + $result = Kronolith::sendNotification($event, $edit ? 'edit' : 'add'); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + } + + /* Log the creation/modification of this item in the history log. */ + $history = &Horde_History::singleton(); + $history->log('kronolith:' . $event->getCalendar() . ':' . $event->getUID(), $action, true); + + // refresh IMAP cache + $this->synchronize(true); + + if (is_callable('Kolab', 'triggerFreeBusyUpdate')) { + Kolab::triggerFreeBusyUpdate($this->_store->parseFolder($event->getCalendar())); + } + + return $event->getUID(); + } + + /** + * Move an event to a new calendar. + * + * @param string $eventId The event to move. + * @param string $newCalendar The new calendar. + */ + function move($eventId, $newCalendar) + { + $event = &$this->getEvent($eventId); + + $result = $this->synchronize(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + global $kronolith_shares; + $target = &$kronolith_shares->getShare($newCalendar); + $folder = $target->get('folder'); + + $result = $this->_store->move($eventId, $folder); + if ($result) { + unset($this->_events_cache[$eventId]); + } + + if (is_callable('Kolab', 'triggerFreeBusyUpdate')) { + Kolab::triggerFreeBusyUpdate($this->_store->parseFolder($this->_driver->_calendar)); + Kolab::triggerFreeBusyUpdate($this->_store->parseFolder($newCalendar)); + } + + /* Log the moving of this item in the history log. */ + $uid = $event->getUID(); + $history = &Horde_History::singleton(); + $history->log('kronolith:' . $event->getCalendar() . ':' . $uid, array('action' => 'delete'), true); + $history->log('kronolith:' . $newCalendar . ':' . $uid, array('action' => 'add'), true); + + return $result; + } + + /** + * Delete a calendar and all its events. + * + * @param string $calendar The name of the calendar to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function delete($calendar) + { + $this->_driver->open($calendar); + $result = $this->synchronize(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + $result = $this->_store->deleteAll($calendar); + if (is_callable('Kolab', 'triggerFreeBusyUpdate')) { + Kolab::triggerFreeBusyUpdate($this->_store->parseFolder($calendar)); + } + return true; + } + + /** + * Rename a calendar. + * + * @param string $from The current name of the calendar. + * @param string $to The new name of the calendar. + * + * @return mixed True or a PEAR_Error on failure. + */ + function rename($from, $to) + { + // FIXME: We can't do much here. We'd need to be called after + // renaming the share here. This needs to be checked again. + // kolab/issue2249 ([horde/kronolith] Kronolith is unable to + // trigger a free/busy update on a folder rename) + return true; + } + + /** + * Delete an event. + * + * @param string $eventId The ID of the event to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function deleteEvent($eventId, $silent = false) + { + $result = $this->synchronize(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + if (!$this->_store->objectUidExists($eventId)) { + return PEAR::raiseError(sprintf(_("Event not found: %s"), $eventId)); + } + + $event = &$this->getEvent($eventId); + + if ($this->_store->delete($eventId)) { + // Notify about the deleted event. + if (!$silent) { + $result = Kronolith::sendNotification($event, 'delete'); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + } + } + + /* Log the deletion of this item in the history log. */ + $history = &Horde_History::singleton(); + $history->log('kronolith:' . $event->getCalendar() . ':' . $event->getUID(), array('action' => 'delete'), true); + + if (is_callable('Kolab', 'triggerFreeBusyUpdate')) { + Kolab::triggerFreeBusyUpdate($this->_store->parseFolder($event->getCalendar())); + } + + unset($this->_events_cache[$eventId]); + } else { + return PEAR::raiseError(sprintf(_("Cannot delete event: %s"), $eventId)); + } + + return true; + } + +} + +/** + * @package Kronolith + */ +class Kronolith_Event_kolab_new extends Kronolith_Event { + + function fromDriver($event) + { + $this->eventID = $event['uid']; + $this->setUID($this->eventID); + + if (isset($event['summary'])) { + $this->title = $event['summary']; + } + if (isset($event['body'])) { + $this->description = $event['body']; + } + if (isset($event['location'])) { + $this->location = $event['location']; + } + if (isset($event['categories'])) { + $this->category = $event['categories']; + } + + if (isset($event['sensitivity']) && + ($event['sensitivity'] == 'private' || $event['sensitivity'] == 'confidential')) { + $this->setPrivate(true); + } + + if (isset($event['organizer']['smtp-address'])) { + if (Kronolith::isUserEmail(Auth::getAuth(), $event['organizer']['smtp-address'])) { + $this->creatorID = Auth::getAuth(); + } else { + $this->creatorID = $event['organizer']['smtp-address']; + } + } + + if (isset($event['alarm'])) { + $this->alarm = $event['alarm']; + } + + $this->start = new Horde_Date($event['start-date']); + $this->end = new Horde_Date($event['end-date']); + $this->durMin = ($this->end->timestamp() - $this->start->timestamp()) / 60; + + if (isset($event['show-time-as'])) { + switch ($event['show-time-as']) { + case 'free': + $this->status = KRONOLITH_STATUS_FREE; + break; + + case 'tentative': + $this->status = KRONOLITH_STATUS_TENTATIVE; + break; + + case 'busy': + case 'outofoffice': + default: + $this->status = KRONOLITH_STATUS_CONFIRMED; + } + } else { + $this->status = KRONOLITH_STATUS_CONFIRMED; + } + + // Recurrence + if (isset($event['recurrence'])) { + $this->recurrence = new Horde_Date_Recurrence($this->start); + $this->recurrence->fromHash($event['recurrence']); + } + + // Attendees + $attendee_count = 0; + foreach($event['attendee'] as $attendee) { + $name = $attendee['display-name']; + $email = $attendee['smtp-address']; + + $role = $attendee['role']; + switch ($role) { + case 'optional': + $role = KRONOLITH_PART_OPTIONAL; + break; + + case 'resource': + $role = KRONOLITH_PART_NONE; + break; + + case 'required': + default: + $role = KRONOLITH_PART_REQUIRED; + break; + } + + $status = $attendee['status']; + switch ($status) { + case 'accepted': + $status = KRONOLITH_RESPONSE_ACCEPTED; + break; + + case 'declined': + $status = KRONOLITH_RESPONSE_DECLINED; + break; + + case 'tentative': + $status = KRONOLITH_RESPONSE_TENTATIVE; + break; + + case 'none': + default: + $status = KRONOLITH_RESPONSE_NONE; + break; + } + + // Attendees without an email address get added as incremented number + if (empty($email)) { + $email = $attendee_count; + $attendee_count++; + } + + $this->addAttendee($email, $role, $status, $name); + } + + $this->initialized = true; + $this->stored = true; + } + + function toDriver() + { + $event = array(); + $event['uid'] = $this->getUID(); + $event['summary'] = $this->title; + $event['body'] = $this->description; + $event['location'] = $this->location; + $event['categories'] = $this->category; + + if ($this->isPrivate()) { + $event['sensitivity'] = 'private'; + } else { + $event['sensitivity'] = 'public'; + } + + // Only set organizer if this is a new event + if ($this->getID() == null) { + $organizer = array( + 'display-name' => Kronolith::getUserName($this->getCreatorId()), + 'smtp-address' => Kronolith::getUserEmail($this->getCreatorId()) + ); + $event['organizer'] = $organizer; + } + + if ($this->alarm != 0) { + $event['alarm'] = $this->alarm; + } + + $event['start-date'] = $this->start->timestamp(); + $event['end-date'] = $this->end->timestamp(); + $event['_is_all_day'] = $this->isAllDay(); + + switch ($this->status) { + case KRONOLITH_STATUS_FREE: + case KRONOLITH_STATUS_CANCELLED: + $event['show-time-as'] = 'free'; + break; + + case KRONOLITH_STATUS_TENTATIVE: + $event['show-time-as'] = 'tentative'; + break; + + // No mapping for outofoffice + case KRONOLITH_STATUS_CONFIRMED: + default: + $event['show-time-as'] = 'busy'; + } + + // Recurrence + if ($this->recurs()) { + $event['recurrence'] = $this->recurrence->toHash(); + } else { + $event['recurrence'] = array(); + } + + + // Attendees + $event['attendee'] = array(); + $attendees = $this->getAttendees(); + + foreach($attendees as $email => $attendee) { + $new_attendee = array(); + $new_attendee['display-name'] = $attendee['name']; + + // Attendee without an email address + if (is_int($email)) { + $new_attendee['smtp-address'] = ''; + } else { + $new_attendee['smtp-address'] = $email; + } + + switch ($attendee['attendance']) { + case KRONOLITH_PART_OPTIONAL: + $new_attendee['role'] = 'optional'; + break; + + case KRONOLITH_PART_NONE: + $new_attendee['role'] = 'resource'; + break; + + case KRONOLITH_PART_REQUIRED: + default: + $new_attendee['role'] = 'required'; + break; + } + + $new_attendee['request-response'] = '0'; + + switch ($attendee['response']) { + case KRONOLITH_RESPONSE_ACCEPTED: + $new_attendee['status'] = 'accepted'; + break; + + case KRONOLITH_RESPONSE_DECLINED: + $new_attendee['status'] = 'declined'; + break; + + case KRONOLITH_RESPONSE_TENTATIVE: + $new_attendee['status'] = 'tentative'; + break; + + case KRONOLITH_RESPONSE_NONE: + default: + $new_attendee['status'] = 'none'; + break; + } + + $event['attendee'][] = $new_attendee; + } + + return $event; + } +} diff --git a/kronolith/lib/Driver/sql.php b/kronolith/lib/Driver/sql.php new file mode 100644 index 000000000..8e5b9bfce --- /dev/null +++ b/kronolith/lib/Driver/sql.php @@ -0,0 +1,1031 @@ + + * @author Chuck Hagenbuch + * @since Kronolith 0.3 + * @package Kronolith + */ +class Kronolith_Driver_sql extends Kronolith_Driver { + + /** + * The object 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; + + /** + * Cache events as we fetch them to avoid fetching the same event from the + * DB twice. + * + * @var array + */ + var $_cache = array(); + + function listAlarms($date, $fullevent = false) + { + require_once 'Date/Calc.php'; + + $allevents = $this->listEvents($date, null, true); + if (is_a($allevents, 'PEAR_Error')) { + return $allevents; + } + + $events = array(); + foreach ($allevents as $eventId) { + $event = &$this->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + continue; + } + + if (!$event->recurs()) { + $start = new Horde_Date($event->start); + $start->min -= $event->getAlarm(); + $start->correct(); + if ($start->compareDateTime($date) <= 0 && + $date->compareDateTime($event->end) <= -1) { + $events[] = $fullevent ? $event : $eventId; + } + } else { + if ($next = $event->recurrence->nextRecurrence($date)) { + if ($event->recurrence->hasException($next->year, $next->month, $next->mday)) { + continue; + } + $start = new Horde_Date($next); + $start->min -= $event->getAlarm(); + $start->correct(); + $diff = Date_Calc::dateDiff($event->start->mday, + $event->start->month, + $event->start->year, + $event->end->mday, + $event->end->month, + $event->end->year); + if ($diff == -1) { + $diff = 0; + } + $end = new Horde_Date(array('year' => $next->year, + 'month' => $next->month, + 'mday' => $next->mday + $diff, + 'hour' => $event->end->hour, + 'min' => $event->end->min, + 'sec' => $event->end->sec)); + $end->correct(); + if ($start->compareDateTime($date) <= 0 && + $date->compareDateTime($end) <= -1) { + if ($fullevent) { + $event->start = $start; + $event->end = $end; + $events[] = $event; + } else { + $events[] = $eventId; + } + } + } + } + } + + return is_array($events) ? $events : array(); + } + + function search($query) + { + require_once 'Horde/SQL.php'; + + /* Build SQL conditions based on the query string. */ + $cond = '(('; + $values = array(); + + if (!empty($query->title)) { + $binds = Horde_SQL::buildClause($this->_db, 'event_title', 'LIKE', $this->convertToDriver($query->title), true); + if (is_array($binds)) { + $cond .= $binds[0] . ' AND '; + $values = array_merge($values, $binds[1]); + } else { + $cond .= $binds; + } + } + if (!empty($query->location)) { + $binds = Horde_SQL::buildClause($this->_db, 'event_location', 'LIKE', $this->convertToDriver($query->location), true); + if (is_array($binds)) { + $cond .= $binds[0] . ' AND '; + $values = array_merge($values, $binds[1]); + } else { + $cond .= $binds; + } + } + if (!empty($query->description)) { + $binds = Horde_SQL::buildClause($this->_db, 'event_description', 'LIKE', $this->convertToDriver($query->description), true); + if (is_array($binds)) { + $cond .= $binds[0] . ' AND '; + $values = array_merge($values, $binds[1]); + } else { + $cond .= $binds; + } + } + if (isset($query->category)) { + $binds = Horde_SQL::buildClause($this->_db, 'event_category', '=', $this->convertToDriver($query->category), true); + if (is_array($binds)) { + $cond .= $binds[0] . ' AND '; + $values = array_merge($values, $binds[1]); + } else { + $cond .= $binds; + } + } + if (isset($query->status)) { + $binds = Horde_SQL::buildClause($this->_db, 'event_status', '=', $query->status, true); + if (is_array($binds)) { + $cond .= $binds[0] . ' AND '; + $values = array_merge($values, $binds[1]); + } else { + $cond .= $binds; + } + } + + if (!empty($query->creatorID)) { + $binds = Horde_SQL::buildClause($this->_db, 'event_creator_id', '=', $query->creatorID, true); + if (is_array($binds)) { + $cond .= $binds[0] . ' AND '; + $values = array_merge($values, $binds[1]); + } else { + $cond .= $binds; + } + } + + if ($cond == '((') { + $cond = ''; + } else { + $cond = substr($cond, 0, strlen($cond) - 5) . '))'; + } + + $eventIds = $this->listEventsConditional($query->start, + empty($query->end) + ? new Horde_Date(array('mday' => 31, 'month' => 12, 'year' => 9999)) + : $query->end, + $cond, + $values); + if (is_a($eventIds, 'PEAR_Error')) { + return $eventIds; + } + + $events = array(); + foreach ($eventIds as $eventId) { + $event = &$this->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + $events[] = $event; + } + + return $events; + } + + /** + * Checks if the event's UID already exists and returns all event + * ids with that UID. + * + * @param string $uid The event's uid. + * @param string $calendar_id Calendar to search in. + * + * @return string|boolean Returns a string with event_id or false if + * not found. + */ + function exists($uid, $calendar_id = null) + { + $query = 'SELECT event_id FROM ' . $this->_params['table'] . ' WHERE event_uid = ?'; + $values = array($uid); + + if (!is_null($calendar_id)) { + $query .= ' AND calendar_id = ?'; + $values[] = $calendar_id; + } + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::exists(): user = "%s"; query = "%s"', + Auth::getAuth(), $query), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $event = $this->_db->getRow($query, $values, DB_FETCHMODE_ASSOC); + if (is_a($event, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + return $event; + } + + if ($event) { + return $event['event_id']; + } else { + return false; + } + } + + /** + * Lists all events in the time range, optionally restricting + * results to only events with alarms. + * + * @param Horde_Date $startInterval Start of range date object. + * @param Horde_Date $endInterval End of range data object. + * @param boolean $hasAlarm Only return events with alarms? + * Defaults to all events. + * + * @return array Events in the given time range. + */ + function listEvents($startDate = null, $endDate = null, $hasAlarm = false) + { + if (empty($endDate)) { + $endInterval = new Horde_Date(array('mday' => 31, 'month' => 12, + 'year' => 9999)); + } else { + $endInterval = clone $endDate; + $endInterval->mday++; + } + + $startInterval = null; + if (empty($startDate)) { + $startInterval = new Horde_Date(array('mday' => 1, 'month' => 1, + 'year' => 0000)); + } else { + $startInterval = clone $startDate; + } + + return $this->listEventsConditional($startInterval, $endInterval, + $hasAlarm ? 'event_alarm > ?' : '', + $hasAlarm ? array(0) : array()); + } + + /** + * Lists all events that satisfy the given conditions. + * + * @param Horde_Date $startInterval Start of range date object. + * @param Horde_Date $endInterval End of range data object. + * @param string $conditions Conditions, given as SQL clauses. + * @param array $vals SQL bind variables for use with + * $conditions clauses. + * + * @return array Events in the given time range satisfying the given + * conditions. + */ + function listEventsConditional($startInterval, $endInterval, + $conditions = '', $vals = array()) + { + $q = 'SELECT event_id, event_uid, event_description, event_location,' . + ' event_private, event_status, event_attendees,' . + ' event_keywords, event_title, event_category, event_recurcount,' . + ' event_recurtype, event_recurenddate, event_recurinterval,' . + ' event_recurdays, event_start, event_end, event_allday,' . + ' event_alarm, event_modified, event_exceptions, event_creator_id' . + ' FROM ' . $this->_params['table'] . + ' WHERE calendar_id = ? AND (('; + $values = array($this->_calendar); + + if ($conditions) { + $q .= $conditions . ')) AND (('; + $values = array_merge($values, $vals); + } + + $etime = $endInterval->format('Y-m-d H:i:s'); + $stime = null; + if (isset($startInterval)) { + $stime = $startInterval->format('Y-m-d H:i:s'); + $q .= 'event_end > ? AND '; + $values[] = $stime; + } + $q .= 'event_start < ?) OR ('; + $values[] = $etime; + if (isset($stime)) { + $q .= 'event_recurenddate >= ? AND '; + $values[] = $stime; + } + $q .= 'event_start <= ?' . + ' AND event_recurtype <> ?))'; + array_push($values, $etime, HORDE_DATE_RECUR_NONE); + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::listEventsConditional(): user = "%s"; query = "%s"; values = "%s"', + Auth::getAuth(), $q, implode(',', $values)), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + /* Run the query. */ + $qr = $this->_db->query($q, $values); + if (is_a($qr, 'PEAR_Error')) { + Horde::logMessage($qr, __FILE__, __LINE__, PEAR_LOG_ERR); + return $qr; + } + + $events = array(); + $row = $qr->fetchRow(DB_FETCHMODE_ASSOC); + while ($row && !is_a($row, 'PEAR_Error')) { + /* If the event did not have a UID before, we need to give + * it one. */ + if (empty($row['event_uid'])) { + $row['event_uid'] = $this->generateUID(); + + /* Save the new UID for data integrity. */ + $query = 'UPDATE ' . $this->_params['table'] . ' SET event_uid = ? WHERE event_id = ?'; + $values = array($row['event_uid'], $row['event_id']); + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::listEventsConditional(): user = %s; query = "%s"; values = "%s"', + Auth::getAuth(), $query, implode(',', $values)), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $result = $this->_write_db->query($query, $values); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + } + } + + /* We have all the information we need to create an event + * object for this event, so go ahead and cache it. */ + $this->_cache[$this->_calendar][$row['event_id']] = &new Kronolith_Event_sql($this, $row); + if ($row['event_recurtype'] == HORDE_DATE_RECUR_NONE) { + $events[$row['event_uid']] = $row['event_id']; + } else { + $next = $this->nextRecurrence($row['event_id'], $startInterval); + if ($next && $next->compareDate($endInterval) < 0) { + $events[$row['event_uid']] = $row['event_id']; + } + } + + $row = $qr->fetchRow(DB_FETCHMODE_ASSOC); + } + + return $events; + } + + function &getEvent($eventId = null) + { + if (is_null($eventId)) { + $event = &new Kronolith_Event_sql($this); + return $event; + } + + if (isset($this->_cache[$this->_calendar][$eventId])) { + return $this->_cache[$this->_calendar][$eventId]; + } + + $query = 'SELECT event_id, event_uid, event_description,' . + ' event_location, event_private, event_status, event_attendees,' . + ' event_keywords, event_title, event_category, event_recurcount,' . + ' event_recurtype, event_recurenddate, event_recurinterval,' . + ' event_recurdays, event_start, event_end, event_allday,' . + ' event_alarm, event_modified, event_exceptions, event_creator_id' . + ' FROM ' . $this->_params['table'] . ' WHERE event_id = ? AND calendar_id = ?'; + $values = array($eventId, $this->_calendar); + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::getEvent(): user = "%s"; query = "%s"; values = "%s"', + Auth::getAuth(), $query, implode(',', $values)), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $event = $this->_db->getRow($query, $values, DB_FETCHMODE_ASSOC); + if (is_a($event, 'PEAR_Error')) { + Horde::logMessage($event, __FILE__, __LINE__, PEAR_LOG_ERR); + return $event; + } + + if ($event) { + $this->_cache[$this->_calendar][$eventId] = &new Kronolith_Event_sql($this, $event); + return $this->_cache[$this->_calendar][$eventId]; + } else { + return PEAR::raiseError(_("Event not found")); + } + } + + /** + * Get an event or events with the given UID value. + * + * @param string $uid The UID to match + * @param array $calendars A restricted array of calendar ids to search + * @param boolean $getAll Return all matching events? If this is false, + * an error will be returned if more than one event is found. + * + * @return Kronolith_Event + */ + function &getByUID($uid, $calendars = null, $getAll = false) + { + $query = 'SELECT event_id, event_uid, calendar_id, event_description,' . + ' event_location, event_private, event_status, event_attendees,' . + ' event_keywords, event_title, event_category, event_recurcount,' . + ' event_recurtype, event_recurenddate, event_recurinterval,' . + ' event_recurdays, event_start, event_end, event_allday,' . + ' event_alarm, event_modified, event_exceptions, event_creator_id' . + ' FROM ' . $this->_params['table'] . ' WHERE event_uid = ?'; + $values = array($uid); + + /* Optionally filter by calendar */ + if (!is_null($calendars)) { + if (!count($calendars)) { + return PEAR::raiseError(_("No calendars to search")); + } + $query .= ' AND calendar_id IN (?' . str_repeat(', ?', count($calendars) - 1) . ')'; + $values = array_merge($values, $calendars); + } + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::getByUID(): user = "%s"; query = "%s"; values = "%s"', + Auth::getAuth(), $query, implode(',', $values)), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $events = $this->_db->getAll($query, $values, DB_FETCHMODE_ASSOC); + if (is_a($events, 'PEAR_Error')) { + Horde::logMessage($events, __FILE__, __LINE__, PEAR_LOG_ERR); + return $events; + } + if (!count($events)) { + return PEAR::raiseError($uid . ' not found'); + } + + $eventArray = array(); + foreach ($events as $event) { + $this->open($event['calendar_id']); + $this->_cache[$this->_calendar][$event['event_id']] = &new Kronolith_Event_sql($this, $event); + $eventArray[] = &$this->_cache[$this->_calendar][$event['event_id']]; + } + + if ($getAll) { + return $eventArray; + } + + /* First try the user's own calendars. */ + $ownerCalendars = Kronolith::listCalendars(true, PERMS_READ); + $event = null; + foreach ($eventArray as $ev) { + if (isset($ownerCalendars[$ev->getCalendar()])) { + $event = $ev; + break; + } + } + + /* If not successful, try all calendars the user has access too. */ + if (empty($event)) { + $readableCalendars = Kronolith::listCalendars(false, PERMS_READ); + foreach ($eventArray as $ev) { + if (isset($readableCalendars[$ev->getCalendar()])) { + $event = $ev; + break; + } + } + } + + if (empty($event)) { + $event = $eventArray[0]; + } + + return $event; + } + + /** + * Saves an event in the backend. + * If it is a new event, it is added, otherwise the event is updated. + * + * @param Kronolith_Event $event The event to save. + */ + function saveEvent(&$event) + { + if ($event->isStored() || $event->exists()) { + $values = array(); + + $query = 'UPDATE ' . $this->_params['table'] . ' SET '; + + foreach ($event->getProperties() as $key => $val) { + $query .= " $key = ?,"; + $values[] = $val; + } + $query = substr($query, 0, -1); + $query .= ' WHERE event_id = ?'; + $values[] = $event->getId(); + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::saveEvent(): user = "%s"; query = "%s"; values = "%s"', + Auth::getAuth(), $query, implode(',', $values)), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $result = $this->_write_db->query($query, $values); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + return $result; + } + + /* Log the modification of this item in the history log. */ + if ($event->getUID()) { + $history = &Horde_History::singleton(); + $history->log('kronolith:' . $this->_calendar . ':' . $event->getUID(), array('action' => 'modify'), true); + } + + /* Notify users about the changed event. */ + $result = Kronolith::sendNotification($event, 'edit'); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + } + + return $event->getId(); + } else { + if ($event->getId()) { + $id = $event->getId(); + } else { + $id = md5(uniqid(mt_rand(), true)); + $event->setId($id); + } + + if ($event->getUID()) { + $uid = $event->getUID(); + } else { + $uid = $this->generateUID(); + $event->setUID($uid); + } + + $query = 'INSERT INTO ' . $this->_params['table']; + $cols_name = ' (event_id, event_uid,'; + $cols_values = ' VALUES (?, ?,'; + $values = array($id, $uid); + + foreach ($event->getProperties() as $key => $val) { + $cols_name .= " $key,"; + $cols_values .= ' ?,'; + $values[] = $val; + } + + $cols_name .= ' calendar_id)'; + $cols_values .= ' ?)'; + $values[] = $this->_calendar; + + $query .= $cols_name . $cols_values; + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::saveEvent(): user = "%s"; query = "%s"; values = "%s"', + Auth::getAuth(), $query, implode(',', $values)), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $result = $this->_write_db->query($query, $values); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + return $result; + } + + /* Log the creation of this item in the history log. */ + $history = &Horde_History::singleton(); + $history->log('kronolith:' . $this->_calendar . ':' . $uid, array('action' => 'add'), true); + + /* Notify users about the new event. */ + $result = Kronolith::sendNotification($event, 'add'); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + } + + return $id; + } + } + + /** + * Move an event to a new calendar. + * + * @param string $eventId The event to move. + * @param string $newCalendar The new calendar. + */ + function move($eventId, $newCalendar) + { + /* Fetch the event for later use. */ + $event = &$this->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + $query = 'UPDATE ' . $this->_params['table'] . ' SET calendar_id = ? WHERE calendar_id = ? AND event_id = ?'; + $values = array($newCalendar, $this->_calendar, $eventId); + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::move(): %s; values = "%s"', + $query, implode(',', $values)), + __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; + } + + /* Log the moving of this item in the history log. */ + $uid = $event->getUID(); + if ($uid) { + $history = &Horde_History::singleton(); + $history->log('kronolith:' . $this->_calendar . ':' . $uid, array('action' => 'delete'), true); + $history->log('kronolith:' . $newCalendar . ':' . $uid, array('action' => 'add'), true); + } + + return true; + } + + /** + * Delete a calendar and all its events. + * + * @param string $calendar The name of the calendar to delete. + * + * @return mixed True or a PEAR_Error on failure. + */ + function delete($calendar) + { + $query = 'DELETE FROM ' . $this->_params['table'] . ' WHERE calendar_id = ?'; + $values = array($calendar); + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::delete(): user = "%s"; query = "%s"; values = "%s"', + Auth::getAuth(), $query, implode(',', $values)), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + return $this->_write_db->query($query, $values); + } + + /** + * Delete an event. + * + * @param string $eventId The ID of the event to delete. + * @param boolean $silent Don't send notifications, used when deleting + * events in bulk from maintenance tasks. + * + * @return mixed True or a PEAR_Error on failure. + */ + function deleteEvent($eventId, $silent = false) + { + /* Fetch the event for later use. */ + $event = &$this->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + $query = 'DELETE FROM ' . $this->_params['table'] . ' WHERE event_id = ? AND calendar_id = ?'; + $values = array($eventId, $this->_calendar); + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::deleteEvent(): user = "%s"; query = "%s"; values = "%s"', + Auth::getAuth(), $query, implode(',', $values)), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $result = $this->_write_db->query($query, $values); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + return $result; + } + + /* Log the deletion of this item in the history log. */ + if ($event->getUID()) { + $history = &Horde_History::singleton(); + $history->log('kronolith:' . $this->_calendar . ':' . $event->getUID(), array('action' => 'delete'), true); + } + + /* Remove any pending alarms. */ + if (@include_once 'Horde/Alarm.php') { + $alarm = Horde_Alarm::factory(); + $alarm->delete($event->getUID()); + } + + /* Notify about the deleted event. */ + if (!$silent) { + $result = Kronolith::sendNotification($event, 'delete'); + if (is_a($result, 'PEAR_Error')) { + Horde::logMessage($result, __FILE__, __LINE__, PEAR_LOG_ERR); + } + } + return true; + } + + /** + * Attempts to open a connection to the SQL server. + * + * @return boolean True. + */ + function initialize() + { + Horde::assertDriverConfig($this->_params, 'calendar', + array('phptype')); + + 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'] = 'kronolith_events'; + } + + /* 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']))); + if (is_a($this->_write_db, 'PEAR_Error')) { + return $this->_write_db; + } + $this->_initConn($this->_write_db); + + /* 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']))); + if (is_a($this->_db, 'PEAR_Error')) { + return $this->_db; + } + $this->_initConn($this->_db); + } else { + /* Default to the same DB handle for the writer too. */ + $this->_db = &$this->_write_db; + } + + return true; + } + + /** + */ + function _initConn(&$db) + { + // Set DB portability options. + switch ($db->phptype) { + case 'mssql': + $db->setOption('portability', DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_ERRORS | DB_PORTABILITY_RTRIM); + break; + default: + $db->setOption('portability', DB_PORTABILITY_LOWERCASE | DB_PORTABILITY_ERRORS); + } + + /* Handle any database specific initialization code to run. */ + switch ($db->dbsyntax) { + case 'oci8': + $query = "ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'"; + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::_initConn(): user = "%s"; query = "%s"', + Auth::getAuth(), $query), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $db->query($query); + break; + + case 'pgsql': + $query = "SET datestyle TO 'iso'"; + + /* Log the query at a DEBUG log level. */ + Horde::logMessage(sprintf('Kronolith_Driver_sql::_initConn(): user = "%s"; query = "%s"', + Auth::getAuth(), $query), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + $db->query($query); + break; + } + } + + /** + * Converts a value from the driver's charset to the default + * charset. + * + * @param mixed $value A value to convert. + * + * @return mixed The converted value. + */ + function convertFromDriver($value) + { + return String::convertCharset($value, $this->_params['charset']); + } + + /** + * Converts a value from the default charset to the driver's + * charset. + * + * @param mixed $value A value to convert. + * + * @return mixed The converted value. + */ + function convertToDriver($value) + { + return String::convertCharset($value, NLS::getCharset(), $this->_params['charset']); + } + + /** + * Remove all events owned by the specified user in all calendars. + * + * + * @param string $user The user name to delete events for. + * + * @param mixed True | PEAR_Error + */ + function removeUserData($user) + { + if (!Auth::isAdmin()) { + return PEAR::raiseError(_("Permission Denied")); + } + + $shares = $GLOBALS['kronolith_shares']->listShares($user, PERMS_EDIT); + if (is_a($shares, 'PEAR_Error')) { + return $shares; + } + + foreach (array_keys($shares) as $calendar) { + $ids = Kronolith::listEventIds(null, null, $calendar); + if (is_a($ids, 'PEAR_Error')) { + return $ids; + } + $uids = array(); + foreach ($ids as $cal) { + $uids = array_merge($uids, array_keys($cal)); + } + + foreach ($uids as $uid) { + $event = $this->getByUID($uid); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + $this->deleteEvent($event->getId()); + } + } + return true; + } +} + +/** + * @package Kronolith + */ +class Kronolith_Event_sql extends Kronolith_Event { + + /** + * @var array + */ + var $_properties = array(); + + function fromDriver($SQLEvent) + { + $driver = &$this->getDriver(); + + $this->allday = (bool)$SQLEvent['event_allday']; + if (!$this->allday && $driver->getParam('utc')) { + $tz_local = date_default_timezone_get(); + $this->start = new Horde_Date($SQLEvent['event_start'], 'UTC'); + $this->start->setTimezone($tz_local); + $this->end = new Horde_Date($SQLEvent['event_end'], 'UTC'); + $this->end->setTimezone($tz_local); + } else { + $this->start = new Horde_Date($SQLEvent['event_start']); + $this->end = new Horde_Date($SQLEvent['event_end']); + } + + $this->durMin = ($this->end->timestamp() - $this->start->timestamp()) / 60; + + $this->title = $driver->convertFromDriver($SQLEvent['event_title']); + $this->eventID = $SQLEvent['event_id']; + $this->setUID($SQLEvent['event_uid']); + $this->creatorID = $SQLEvent['event_creator_id']; + + if (!empty($SQLEvent['event_recurtype'])) { + $this->recurrence = new Horde_Date_Recurrence($this->start); + $this->recurrence->setRecurType((int)$SQLEvent['event_recurtype']); + $this->recurrence->setRecurInterval((int)$SQLEvent['event_recurinterval']); + if (isset($SQLEvent['event_recurenddate'])) { + if ($driver->getParam('utc')) { + $recur_end = new Horde_Date($SQLEvent['event_recurenddate'], 'UTC'); + if ($recur_end->min == 0) { + /* Old recurrence end date format. */ + $recur_end = new Horde_Date($SQLEvent['event_recurenddate']); + $recur_end->hour = 23; + $recur_end->min = 59; + $recur_end->sec = 59; + } else { + $recur_end->setTimezone(date_default_timezone_get()); + } + } else { + $recur_end = new Horde_Date($SQLEvent['event_recurenddate']); + $recur_end->hour = 23; + $recur_end->min = 59; + $recur_end->sec = 59; + } + $this->recurrence->setRecurEnd($recur_end); + } + if (isset($SQLEvent['event_recurcount'])) { + $this->recurrence->setRecurCount((int)$SQLEvent['event_recurcount']); + } + if (isset($SQLEvent['event_recurdays'])) { + $this->recurrence->recurData = (int)$SQLEvent['event_recurdays']; + } + if (!empty($SQLEvent['event_exceptions'])) { + $this->recurrence->exceptions = explode(',', $SQLEvent['event_exceptions']); + } + } + + if (isset($SQLEvent['event_category'])) { + $this->category = $driver->convertFromDriver($SQLEvent['event_category']); + } + if (isset($SQLEvent['event_location'])) { + $this->location = $driver->convertFromDriver($SQLEvent['event_location']); + } + if (isset($SQLEvent['event_private'])) { + $this->private = (bool)($SQLEvent['event_private']); + } + if (isset($SQLEvent['event_status'])) { + $this->status = $SQLEvent['event_status']; + } + if (isset($SQLEvent['event_attendees'])) { + $this->attendees = array_change_key_case($driver->convertFromDriver(unserialize($SQLEvent['event_attendees']))); + } + if (isset($SQLEvent['event_keywords'])) { + $this->keywords = explode(',', $driver->convertFromDriver($SQLEvent['event_keywords'])); + } + if (isset($SQLEvent['event_description'])) { + $this->description = $driver->convertFromDriver($SQLEvent['event_description']); + } + if (isset($SQLEvent['event_alarm'])) { + $this->alarm = (int)$SQLEvent['event_alarm']; + } + + $this->initialized = true; + $this->stored = true; + } + + function toDriver() + { + $driver = &$this->getDriver(); + + /* Basic fields. */ + $this->_properties['event_creator_id'] = $driver->convertToDriver($this->getCreatorId()); + $this->_properties['event_title'] = $driver->convertToDriver($this->title); + $this->_properties['event_description'] = $driver->convertToDriver($this->getDescription()); + $this->_properties['event_category'] = $driver->convertToDriver((string)String::substr($this->getCategory(), 0, 80)); + $this->_properties['event_location'] = $driver->convertToDriver($this->getLocation()); + $this->_properties['event_private'] = (int)$this->isPrivate(); + $this->_properties['event_status'] = $this->getStatus(); + $this->_properties['event_attendees'] = serialize($driver->convertToDriver($this->getAttendees())); + $this->_properties['event_keywords'] = $driver->convertToDriver(implode(',', $this->getKeywords())); + $this->_properties['event_modified'] = $_SERVER['REQUEST_TIME']; + + if ($this->isAllDay()) { + $this->_properties['event_start'] = $this->start->strftime('%Y-%m-%d %H:%M:%S'); + $this->_properties['event_end'] = $this->end->strftime('%Y-%m-%d %H:%M:%S'); + $this->_properties['event_allday'] = 1; + } else { + if ($driver->getParam('utc')) { + $start = clone $this->start; + $end = clone $this->end; + $start->setTimezone('UTC'); + $end->setTimezone('UTC'); + } else { + $start = $this->start; + $end = $this->end; + } + $this->_properties['event_start'] = $start->strftime('%Y-%m-%d %H:%M:%S'); + $this->_properties['event_end'] = $end->strftime('%Y-%m-%d %H:%M:%S'); + $this->_properties['event_allday'] = 0; + } + + /* Alarm. */ + $this->_properties['event_alarm'] = (int)$this->getAlarm(); + + /* Recurrence. */ + if (!$this->recurs()) { + $this->_properties['event_recurtype'] = 0; + } else { + $recur = $this->recurrence->getRecurType(); + if ($this->recurrence->hasRecurEnd()) { + if ($driver->getParam('utc')) { + $recur_end = clone $this->recurrence->recurEnd; + $recur_end->setTimezone('UTC'); + } else { + $recur_end = $this->recurrence->recurEnd; + } + } else { + $recur_end = new Horde_Date(array('year' => 9999, 'month' => 12, 'mday' => 31, 'hour' => 23, 'min' => 59, 'sec' => 59)); + } + + $this->_properties['event_recurtype'] = $recur; + $this->_properties['event_recurinterval'] = $this->recurrence->getRecurInterval(); + $this->_properties['event_recurenddate'] = $recur_end->format('Y-m-d H:i:s'); + $this->_properties['event_recurcount'] = $this->recurrence->getRecurCount(); + + switch ($recur) { + case HORDE_DATE_RECUR_WEEKLY: + $this->_properties['event_recurdays'] = $this->recurrence->getRecurOnDays(); + break; + } + $this->_properties['event_exceptions'] = implode(',', $this->recurrence->getExceptions()); + } + } + + function getProperties() + { + return $this->_properties; + } + +} diff --git a/kronolith/lib/FBView.php b/kronolith/lib/FBView.php new file mode 100644 index 000000000..ca4fe580b --- /dev/null +++ b/kronolith/lib/FBView.php @@ -0,0 +1,264 @@ + + * @author Jan Schneider + * @package Kronolith + */ +class Kronolith_FreeBusy_View { + + var $_requiredMembers = array(); + var $_optionalMembers = array(); + var $_timeBlocks = array(); + + var $_startHour; + var $_endHour; + + var $_start; + var $_end; + + function addRequiredMember($vFreebusy) + { + $this->_requiredMembers[] = Util::cloneObject($vFreebusy); + } + + function addOptionalMember($vFreebusy) + { + $this->_optionalMembers[] = Util::cloneObject($vFreebusy); + } + + function render($day = null) + { + global $prefs; + + $this->_startHour = floor($prefs->getValue('day_hour_start') / 2); + $this->_endHour = floor(($prefs->getValue('day_hour_end') + 1) / 2); + + $this->_render($day); + + require_once 'Horde/iCalendar.php'; + $vCal = new Horde_iCalendar(); + $required = &Horde_iCalendar::newComponent('vfreebusy', $vCal); + foreach ($this->_requiredMembers as $member) { + $required->merge($member, false); + } + $required->simplify(); + + $optional = &Horde_iCalendar::newComponent('vfreebusy', $vCal); + foreach ($this->_optionalMembers as $member) { + $optional->merge($member, false); + } + $optional->simplify(); + + $optimal = &Horde_iCalendar::newComponent('vfreebusy', $vCal); + $optimal->merge($required, false); + $optimal->merge($optional); + + $base_url = Horde::selfUrl(); + $base_url = Util::removeParameter($base_url, 'date'); + $base_url = Util::removeParameter($base_url, 'fbview'); + $base_url = Util::addParameter($base_url, 'fbview', $this->view); + + $template = &new Horde_Template(); + $template->set('title', $this->_title()); + + $html = $template->fetch(KRONOLITH_TEMPLATES . '/fbview/header.html') . + '
'; + + $hours_html = $this->_hours(); + + // Set C locale to avoid localized decimal separators during CSS width + // calculation. + $lc = setlocale(LC_NUMERIC, 0); + setlocale(LC_NUMERIC, 'C'); + + // Required to attend. + if (count($this->_requiredMembers) > 0) { + $template = new Horde_Template(); + $rows = ''; + foreach ($this->_requiredMembers as $member) { + $member->simplify(); + $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.html', _("Busy")); + $template = new Horde_Template(); + $template->set('blocks', $blocks); + $template->set('name', $member->getName()); + $rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.html'); + } + + $template = new Horde_Template(); + $template->set('title', _("Required Attendees")); + $template->set('rows', $rows); + $template->set('span', count($this->_timeBlocks)); + $template->set('hours', $hours_html); + $template->set('legend', ''); + $html .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/section.html'); + } + + // Optional to attend. + if (count($this->_optionalMembers) > 0) { + $template = new Horde_Template(); + $rows = ''; + foreach ($this->_optionalMembers as $member) { + $member->simplify(); + $blocks = $this->_getBlocks($member, $member->getBusyPeriods(), 'busyblock.html', _("Busy")); + $template = new Horde_Template(); + $template->set('blocks', $blocks); + $template->set('name', $member->getName()); + $rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.html'); + } + + $template = new Horde_Template(); + $template->set('title', _("Optional Attendees")); + $template->set('rows', $rows); + $template->set('span', count($this->_timeBlocks)); + $template->set('hours', $hours_html); + $template->set('legend', ''); + $html .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/section.html'); + } + + // Possible meeting times. + $optimal->setAttribute('ORGANIZER', _("All Attendees")); + $blocks = $this->_getBlocks($optimal, + $optimal->getFreePeriods($this->_start->timestamp(), $this->_end->timestamp()), + 'meetingblock.html', _("All Attendees")); + + $template = new Horde_Template(); + $template->set('name', _("All Attendees")); + $template->set('blocks', $blocks); + $rows = $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.html'); + + // Possible meeting times. + $required->setAttribute('ORGANIZER', _("Required Attendees")); + $blocks = $this->_getBlocks($required, + $required->getFreePeriods($this->_start->timestamp(), $this->_end->timestamp()), + 'meetingblock.html', _("Required Attendees")); + + $template = new Horde_Template(); + $template->set('name', _("Required Attendees")); + $template->set('blocks', $blocks); + $rows .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/row.html'); + + // Reset locale. + setlocale(LC_NUMERIC, $lc); + + $template = new Horde_Template(); + $template->set('rows', $rows); + $template->set('title', _("Overview")); + $template->set('span', count($this->_timeBlocks)); + $template->set('hours', $hours_html); + if ($prefs->getValue('show_fb_legend')) { + $template->setOption('gettext', true); + $template->set('legend', $template->fetch(KRONOLITH_TEMPLATES . '/fbview/legend.html')); + } else { + $template->set('legend', ''); + } + + return $html . $template->fetch(KRONOLITH_TEMPLATES . '/fbview/section.html') . '
'; + } + + /** + * Attempts to return a concrete Kronolith_FreeBusy_View instance based on + * $view. + * + * @param string $view The type of concrete Kronolith_FreeBusy_View + * subclass to return. + * + * @return mixed The newly created concrete Kronolith_FreeBusy_View + * instance, or false on an error. + */ + function factory($view) + { + $driver = basename($view); + require_once dirname(__FILE__) . '/FBView/' . $driver . '.php'; + $class = 'Kronolith_FreeBusy_View_' . $driver; + if (class_exists($class)) { + return new $class($user, $params); + } + + return false; + } + + /** + * Attempts to return a reference to a concrete Kronolith_FreeBusy_View + * instance based on $view. It will only create a new instance if no + * Kronolith_FreeBusy_View instance with the same parameters currently + * exists. + * + * This method must be invoked as: + * $var = &Kronolith_FreeBusy_View::singleton() + * + * @param string $view The type of concrete Kronolith_FreeBusy_View + * subclass to return. + * + * @return mixed The created concrete Kronolith_FreeBusy_View instance, or + * false on an error. + */ + function &singleton($view) + { + static $instances = array(); + + if (!isset($instances[$view])) { + $instances[$view] = Kronolith_FreeBusy_View::factory($view); + } + + return $instances[$view]; + } + + function _getBlocks($member, $periods, $blockfile, $label) + { + $template = new Horde_Template(); + $template->set('label', $label); + + reset($periods); + list($periodStart, $periodEnd) = each($periods); + + $blocks = ''; + foreach ($this->_timeBlocks as $span) { + /* Horde_iCalendar_vfreebusy only supports timestamps at the + * moment. */ + $start = $span[0]->timestamp(); + $end = $span[1]->timestamp(); + if ($member->getStart() > $start || + $member->getEnd() < $end) { + $blocks .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/unknownblock.html'); + continue; + } + + while ($start > $periodEnd && + list($periodStart, $periodEnd) = each($periods)); + + if (($periodStart <= $start && $periodEnd >= $start) || + ($periodStart <= $end && $periodEnd >= $end) || + ($periodStart <= $start && $periodEnd >= $end) || + ($periodStart >= $start && $periodEnd <= $end)) { + + $l_start = ($periodStart < $start) ? $start : $periodStart; + $l_end = ($periodEnd > $end) ? $end : $periodEnd; + $plen = ($end - $start) / 100.0; + + $left = ($l_start - $start) / $plen; + $width = ($l_end - $l_start) / $plen; + + $template->set('left', $left . '%'); + $template->set('width', $width . '%'); + + $blocks .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/' . $blockfile); + } else { + $blocks .= $template->fetch(KRONOLITH_TEMPLATES . '/fbview/emptyblock.html'); + } + } + + return $blocks; + } + +} diff --git a/kronolith/lib/FBView/day.php b/kronolith/lib/FBView/day.php new file mode 100644 index 000000000..ea08e5feb --- /dev/null +++ b/kronolith/lib/FBView/day.php @@ -0,0 +1,64 @@ + + * @author Jan Schneider + * @package Kronolith + */ +class Kronolith_FreeBusy_View_day extends Kronolith_FreeBusy_View { + + var $view = 'day'; + + function _title() + { + global $registry, $prefs; + + $prev = new Horde_Date($this->_start); + $prev->mday--; + $prev->correct(); + $next = new Horde_Date($this->_start); + $next->mday++; + $next->correct(); + return Horde::link('#', _("Previous Day"), '', '', 'return switchDate(' . $prev->dateString() . ');') + . Horde::img('nav/left.png', '<', null, $registry->getImageDir('horde')) + . '' + . $this->_start->strftime($prefs->getValue('date_format')) + . Horde::link('#', _("Next Day"), '', '', 'return switchDate(' . $next->dateString() . ');') + . Horde::img('nav/right.png', '>', null, $registry->getImageDir('horde')) + . ''; + } + + function _hours() + { + global $prefs; + + $hours_html = ''; + $width = round(100 / ($this->_endHour - $this->_startHour + 1)); + $start = new Horde_Date($this->_start); + $end = new Horde_Date($this->_start); + $end->min = 59; + for ($i = $this->_startHour; $i < $this->_endHour; $i++) { + $start->hour = $end->hour = $i; + $this->_timeBlocks[] = array(clone $start, clone $end); + $hours_html .= '' . $start->strftime($prefs->getValue('twentyFour') ? '%H:00' : '%I:00') . ''; + } + + return $hours_html; + } + + function _render($day = null) + { + $this->_start = new Horde_Date($day); + $this->_start->hour = $this->_startHour; + $this->_end = new Horde_Date($this->_start); + $this->_end->hour = $this->_endHour; + } + +} diff --git a/kronolith/lib/FBView/month.php b/kronolith/lib/FBView/month.php new file mode 100644 index 000000000..cecda70b1 --- /dev/null +++ b/kronolith/lib/FBView/month.php @@ -0,0 +1,101 @@ + + * @author Jan Schneider + * @package Kronolith + */ +class Kronolith_FreeBusy_View_month extends Kronolith_FreeBusy_View { + + var $view = 'month'; + var $_days = 30; + + function _title() + { + global $registry, $prefs; + + $end = new Horde_Date($this->_start); + $end->mday += $this->_days - 1; + $end->correct(); + $prev = new Horde_Date($this->_start); + $prev->month--; + $prev->correct(); + $next = new Horde_Date($this->_start); + $next->month++; + $next->correct(); + return Horde::link('#', _("Previous Month"), '', '', 'return switchDate(' . $prev->dateString() . ');') + . Horde::img('nav/left.png', '<', null, $registry->getImageDir('horde')) + . '' + . $this->_start->strftime('%B %Y') + . Horde::link('#', _("Next Month"), '', '', 'return switchDate(' . $next->dateString() . ');') + . Horde::img('nav/right.png', '>', null, $registry->getImageDir('horde')) + . ''; + } + + function _hours() + { + global $prefs; + + $hours_html = ''; + $dayWidth = round(100 / $this->_days); + $date_format = $prefs->getValue('date_format'); + + $week = Date_Calc::weekOfYear(1, $this->_start->month, $this->_start->year); + $span = (7 - $week) % 7 + 1; + $span_left = $this->_days; + $t = new Horde_Date($this->_start); + while ($span_left > 0) { + $span_left -= $span; + $week_label = Horde::link('#', '', '', '', 'return switchDateView(\'week\',' . $t->dateString() . ');') . ("Week") . ' ' . $week . ''; + $hours_html .= sprintf('%s', + $span, $dayWidth, $week_label); + $week++; + $t->mday += 7; + $t->correct(); + $span = min($span_left, 7); + } + $hours_html .= ' '; + + for ($i = 0; $i < $this->_days; $i++) { + $t = new Horde_Date(array('month' => $this->_start->month, + 'mday' => $this->_start->mday + $i, + 'year' => $this->_start->year)); + $day_label = Horde::link('#', '', '', '', 'return switchDateView(\'day\',' . $t->dateString() . ');') . sprintf("%s.", $i + 1) . ''; + $hours_html .= sprintf('%s', + $dayWidth, $day_label); + } + + for ($i = 0; $i < $this->_days; $i++) { + $start = new Horde_Date(array('hour' => $this->_startHour, + 'month' => $this->_start->month, + 'mday' => $this->_start->mday + $i, + 'year' => $this->_start->year)); + $end = new Horde_Date(array('hour' => $this->_endHour, + 'month' => $this->_start->month, + 'mday' => $this->_start->mday + $i, + 'year' => $this->_start->year)); + $this->_timeBlocks[] = array($start, $end); + } + + return $hours_html; + } + + function _render($day = null) + { + $this->_start = new Horde_Date($day); + $this->_start->mday = 1; + $this->_days = Horde_Date::daysInMonth($day->month, $day->year); + $this->_end = new Horde_Date($this->_start); + $this->_end->hour = 23; + $this->_end->min = $this->_end->sec = 59; + $this->_end->mday = $this->_days; + } + +} diff --git a/kronolith/lib/FBView/week.php b/kronolith/lib/FBView/week.php new file mode 100644 index 000000000..7347244d1 --- /dev/null +++ b/kronolith/lib/FBView/week.php @@ -0,0 +1,95 @@ + + * @author Jan Schneider + * @package Kronolith + */ +class Kronolith_FreeBusy_View_week extends Kronolith_FreeBusy_View { + + var $view = 'week'; + var $_days = 7; + + function _title() + { + global $registry, $prefs; + + $prev = new Horde_Date($this->_start); + $prev->mday -= 7; + $prev->correct(); + $next = new Horde_Date($this->_start); + $next->mday += 7; + $next->correct(); + $end = new Horde_Date($this->_start); + $end->mday += $this->_days - 1; + $end->correct(); + return Horde::link('#', _("Previous Week"), '', '', 'return switchDate(' . $prev->dateString() . ');') + . Horde::img('nav/left.png', '<', null, $registry->getImageDir('horde')) + . '' + . $this->_start->strftime($prefs->getValue('date_format')) . ' - ' + . $end->strftime($prefs->getValue('date_format')) + . Horde::link('#', _("Next Week"), '', '', 'return switchDate(' . $next->dateString() . ');') . + Horde::img('nav/right.png', '>', null, $registry->getImageDir('horde')) . + ''; + } + + function _hours() + { + global $prefs; + + $hours_html = ''; + $dayWidth = round(100 / $this->_days); + $span = floor(($this->_endHour - $this->_startHour) / 3); + if (($this->_endHour - $this->_startHour) % 3) { + $span++; + } + $date_format = $prefs->getValue('date_format'); + for ($i = 0; $i < $this->_days; $i++) { + $t = new Horde_Date(array('month' => $this->_start->month, + 'mday' => $this->_start->mday + $i, + 'year' => $this->_start->year)); + $t->correct(); + $day_label = Horde::link('#', '', '', '', 'return switchDateView(\'day\',' . $t->dateString() . ');') . $t->strftime($date_format) . ''; + $hours_html .= sprintf('%s', + $span, $dayWidth, $day_label); + } + $hours_html .= ' '; + + $width = round(100 / ($span * $this->_days)); + for ($i = 0; $i < $this->_days; $i++) { + for ($h = $this->_startHour; $h < $this->_endHour; $h += 3) { + $start = new Horde_Date(array('hour' => $h, + 'month' => $this->_start->month, + 'mday' => $this->_start->mday + $i, + 'year' => $this->_start->year)); + $end = new Horde_Date($start); + $end->hour += 2; + $end->min = 59; + $this->_timeBlocks[] = array($start, $end); + + $hour = $start->strftime($prefs->getValue('twentyFour') ? '%H:00' : '%I:00'); + $hours_html .= sprintf('%s', $width, $hour); + } + } + + return $hours_html; + } + + function _render($day = null) + { + $this->_start = new Horde_Date(Date_Calc::beginOfWeek($day->mday, $day->month, $day->year, '%Y%m%d000000')); + $this->_end = new Horde_Date($this->_start); + $this->_end->hour = 23; + $this->_end->min = $this->_end->sec = 59; + $this->_end->mday += $this->_days - 1; + $this->_end->correct(); + } + +} diff --git a/kronolith/lib/FBView/workweek.php b/kronolith/lib/FBView/workweek.php new file mode 100644 index 000000000..5f392b51e --- /dev/null +++ b/kronolith/lib/FBView/workweek.php @@ -0,0 +1,23 @@ + + * @author Jan Schneider + * @package Kronolith + */ +class Kronolith_FreeBusy_View_workweek extends Kronolith_FreeBusy_View_week { + + var $view = 'workweek'; + var $_days = 5; + +} diff --git a/kronolith/lib/Forms/CreateCalendar.php b/kronolith/lib/Forms/CreateCalendar.php new file mode 100644 index 000000000..220657897 --- /dev/null +++ b/kronolith/lib/Forms/CreateCalendar.php @@ -0,0 +1,54 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_CreateCalendarForm extends Horde_Form { + + function Kronolith_CreateCalendarForm(&$vars) + { + parent::Horde_Form($vars, _("Create Calendar")); + + $this->addVariable(_("Name"), 'name', 'text', true); + $this->addVariable(_("Description"), 'description', 'longtext', false, false, null, array(4, 60)); + + $this->setButtons(array(_("Create"))); + } + + function execute() + { + // Create new share. + $calendar = $GLOBALS['kronolith_shares']->newShare(md5(microtime())); + if (is_a($calendar, 'PEAR_Error')) { + return $calendar; + } + $calendar->set('name', $this->_vars->get('name')); + $calendar->set('desc', $this->_vars->get('description')); + return $GLOBALS['kronolith_shares']->addShare($calendar); + } + +} diff --git a/kronolith/lib/Forms/DeleteCalendar.php b/kronolith/lib/Forms/DeleteCalendar.php new file mode 100644 index 000000000..6239d5c25 --- /dev/null +++ b/kronolith/lib/Forms/DeleteCalendar.php @@ -0,0 +1,94 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_DeleteCalendarForm extends Horde_Form { + + /** + * Calendar being deleted + */ + var $_calendar; + + function Kronolith_DeleteCalendarForm(&$vars, &$calendar) + { + $this->_calendar = &$calendar; + parent::Horde_Form($vars, sprintf(_("Delete %s"), $calendar->get('name'))); + + $this->addHidden('', 'c', 'text', true); + $this->addVariable(sprintf(_("Really delete the calendar \"%s\"? This cannot be undone and all data on this calendar will be permanently removed."), $this->_calendar->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->_calendar->get('owner') != Auth::getAuth()) { + return PEAR::raiseError(_("Permission denied")); + } + + // Delete the calendar. + $result = $GLOBALS['kronolith_driver']->delete($this->_calendar->getName()); + if (is_a($result, 'PEAR_Error')) { + return PEAR::raiseError(sprintf(_("Unable to delete \"%s\": %s"), $this->_calendar->get('name'), $result->getMessage())); + } else { + // Remove share and all groups/permissions. + $result = $GLOBALS['kronolith_shares']->removeShare($this->_calendar); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + } + + // Make sure we still own at least one calendar. + if (count(Kronolith::listCalendars(true)) == 0) { + // If the default share doesn't exist then create it. + if (!$GLOBALS['kronolith_shares']->exists(Auth::getAuth())) { + require_once 'Horde/Identity.php'; + $identity = &Identity::singleton(); + $name = $identity->getValue('fullname'); + if (trim($name) == '') { + $name = Auth::removeHook(Auth::getAuth()); + } + $calendar = &$GLOBALS['kronolith_shares']->newShare(Auth::getAuth()); + if (is_a($calendar, 'PEAR_Error')) { + return; + } + $calendar->set('name', sprintf(_("%s's Calendar"), $name)); + $GLOBALS['kronolith_shares']->addShare($calendar); + $GLOBALS['all_calendars'][Auth::getAuth()] = &$calendar; + } + } + + return true; + } + +} diff --git a/kronolith/lib/Forms/EditCalendar.php b/kronolith/lib/Forms/EditCalendar.php new file mode 100644 index 000000000..8b07eeb74 --- /dev/null +++ b/kronolith/lib/Forms/EditCalendar.php @@ -0,0 +1,70 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_EditCalendarForm extends Horde_Form { + + /** + * Calendar being edited + */ + var $_calendar; + + function Kronolith_EditCalendarForm(&$vars, &$calendar) + { + $this->_calendar = &$calendar; + parent::Horde_Form($vars, sprintf(_("Edit %s"), $calendar->get('name'))); + + $this->addHidden('', 'c', 'text', true); + $this->addVariable(_("Name"), 'name', 'text', true); + $this->addVariable(_("Description"), 'description', 'longtext', false, false, null, array(4, 60)); + + $this->setButtons(array(_("Save"))); + } + + function execute() + { + $original_name = $this->_calendar->get('name'); + $new_name = $this->_vars->get('name'); + $this->_calendar->set('name', $new_name); + $this->_calendar->set('desc', $this->_vars->get('description')); + + if ($original_name != $new_name) { + $result = $GLOBALS['kronolith_driver']->rename($original_name, $new_name); + if (is_a($result, 'PEAR_Error')) { + return PEAR::raiseError(sprintf(_("Unable to rename \"%s\": %s"), $original_name, $result->getMessage())); + } + } + + $result = $this->_calendar->save(); + if (is_a($result, 'PEAR_Error')) { + return PEAR::raiseError(sprintf(_("Unable to save calendar \"%s\": %s"), $new_name, $result->getMessage())); + } + return true; + } + +} diff --git a/kronolith/lib/Forms/EditRemoteCalendar.php b/kronolith/lib/Forms/EditRemoteCalendar.php new file mode 100644 index 000000000..b43aab9e2 --- /dev/null +++ b/kronolith/lib/Forms/EditRemoteCalendar.php @@ -0,0 +1,79 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_EditRemoteCalendarForm extends Horde_Form { + + function Kronolith_EditRemoteCalendarForm(&$vars, $remote_calendar) + { + parent::Horde_Form($vars, sprintf(_("Edit %s"), $remote_calendar['name'])); + + $this->addVariable(_("Name"), 'name', 'text', true); + $this->addVariable(_("URL"), 'url', 'text', true); + $this->addVariable(_("Username"), 'username', 'text', false); + $this->addVariable(_("Password"), 'password', 'password', false); + + $this->setButtons(array(_("Save"))); + } + + function execute() + { + $name = trim($this->_vars->get('name')); + $url = trim($this->_vars->get('url')); + $username = trim($this->_vars->get('username')); + $password = trim($this->_vars->get('password')); + + if (!(strlen($name) && strlen($url))) { + return false; + } + + if (strlen($username) || strlen($password)) { + $key = Auth::getCredential('password'); + if ($key) { + require_once 'Horde/Secret.php'; + $username = base64_encode(Secret::write($key, $username)); + $password = base64_encode(Secret::write($key, $password)); + } + } + + $remote_calendars = unserialize($GLOBALS['prefs']->getValue('remote_cals')); + foreach ($remote_calendars as $key => $calendar) { + if ($calendar['url'] == $url) { + $remote_calendars[$key]['name'] = $name; + $remote_calendars[$key]['url'] = $url; + $remote_calendars[$key]['user'] = $username; + $remote_calendars[$key]['password'] = $password; + break; + } + } + + $GLOBALS['prefs']->setValue('remote_cals', serialize($remote_calendars)); + return true; + } + +} diff --git a/kronolith/lib/Forms/SubscribeRemoteCalendar.php b/kronolith/lib/Forms/SubscribeRemoteCalendar.php new file mode 100644 index 000000000..e304a0aca --- /dev/null +++ b/kronolith/lib/Forms/SubscribeRemoteCalendar.php @@ -0,0 +1,76 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_SubscribeRemoteCalendarForm extends Horde_Form { + + function Kronolith_SubscribeRemoteCalendarForm(&$vars) + { + parent::Horde_Form($vars, _("Subscribe to a Remote Calendar")); + + $this->addVariable(_("Name"), 'name', 'text', true); + $this->addVariable(_("URL"), 'url', 'text', true); + $this->addVariable(_("Username"), 'username', 'text', false); + $this->addVariable(_("Password"), 'password', 'password', false); + + $this->setButtons(array(_("Subscribe"))); + } + + function execute() + { + $name = trim($this->_vars->get('name')); + $url = trim($this->_vars->get('url')); + $username = trim($this->_vars->get('username')); + $password = trim($this->_vars->get('password')); + + if (!(strlen($name) && strlen($url))) { + return false; + } + + if (strlen($username) || strlen($password)) { + $key = Auth::getCredential('password'); + if ($key) { + require_once 'Horde/Secret.php'; + $username = base64_encode(Secret::write($key, $username)); + $password = base64_encode(Secret::write($key, $password)); + } + } + + $remote_calendars = unserialize($GLOBALS['prefs']->getValue('remote_cals')); + $remote_calendars[] = array( + 'name' => $name, + 'url' => $url, + 'user' => $username, + 'password' => $password, + ); + + $GLOBALS['prefs']->setValue('remote_cals', serialize($remote_calendars)); + return true; + } + +} diff --git a/kronolith/lib/Forms/UnsubscribeRemoteCalendar.php b/kronolith/lib/Forms/UnsubscribeRemoteCalendar.php new file mode 100644 index 000000000..eb1d4e952 --- /dev/null +++ b/kronolith/lib/Forms/UnsubscribeRemoteCalendar.php @@ -0,0 +1,66 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_UnsubscribeRemoteCalendarForm extends Horde_Form { + + function Kronolith_UnsubscribeRemoteCalendarForm(&$vars, $calendar) + { + parent::Horde_Form($vars, sprintf(_("Unsubscribe from %s"), $calendar['name'])); + + $this->addHidden('', 'url', 'text', true); + $this->addVariable(sprintf(_("Really unsubscribe from the calendar \"%s\" (%s)?"), $calendar['name'], $calendar['url']), 'desc', 'description', false); + + $this->setButtons(array(_("Unsubscribe"), _("Cancel"))); + } + + function execute() + { + // If cancel was clicked, return false. + if ($this->_vars->get('submitbutton') == _("Cancel")) { + return false; + } + + $url = trim($this->_vars->get('url')); + if (!strlen($url)) { + return false; + } + + $remote_calendars = unserialize($GLOBALS['prefs']->getValue('remote_cals')); + foreach ($remote_calendars as $key => $calendar) { + if ($calendar['url'] == $url) { + unset($remote_calendars[$key]); + break; + } + } + + $GLOBALS['prefs']->setValue('remote_cals', serialize($remote_calendars)); + return true; + } + +} diff --git a/kronolith/lib/FreeBusy.php b/kronolith/lib/FreeBusy.php new file mode 100644 index 000000000..3073df601 --- /dev/null +++ b/kronolith/lib/FreeBusy.php @@ -0,0 +1,253 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_FreeBusy { + + /** + * Generates the free/busy text for $calendar. Cache it for at least an + * hour, as well. + * + * @param string|array $calendar The calendar to view free/busy slots for. + * @param integer $startstamp The start of the time period to retrieve. + * @param integer $endstamp The end of the time period to retrieve. + * @param boolean $returnObj Default false. Return a vFreebusy object + * instead of text. + * @param string $user Set organizer to this user. + * + * @return string The free/busy text. + */ + function generate($calendar, $startstamp = null, $endstamp = null, + $returnObj = false, $user = null) + { + global $kronolith_shares; + + require_once 'Horde/Identity.php'; + require_once 'Horde/iCalendar.php'; + require_once KRONOLITH_BASE . '/lib/version.php'; + + if (!is_array($calendar)) { + $calendar = array($calendar); + } + + /* Fetch the appropriate share and check permissions. */ + $share = &$kronolith_shares->getShare($calendar[0]); + if (is_a($share, 'PEAR_Error')) { + return $returnObj ? $share : ''; + } + + /* Default the start date to today. */ + if (is_null($startstamp)) { + $startstamp = mktime(0, 0, 0); + } + + /* Default the end date to the start date + freebusy_days. */ + if (is_null($endstamp) || $endstamp < $startstamp) { + $enddate = new Horde_Date($startstamp); + $enddate->mday += $GLOBALS['prefs']->getValue('freebusy_days'); + $enddate->correct(); + $endstamp = $enddate->timestamp(); + } + + /* Get the Identity for the owner of the share. */ + $identity = &Identity::singleton('none', + $user ? $user : $share->get('owner')); + $email = $identity->getValue('from_addr'); + $cn = $identity->getValue('fullname'); + + /* Fetch events. */ + $busy = Kronolith::listEvents($startstamp, $endstamp, $calendar); + if (is_a($busy, 'PEAR_Error')) { + return $busy; + } + + /* Create the new iCalendar. */ + $vCal = new Horde_iCalendar(); + $vCal->setAttribute('PRODID', '-//The Horde Project//Kronolith ' + . KRONOLITH_VERSION . '//EN'); + $vCal->setAttribute('METHOD', 'PUBLISH'); + + /* Create new vFreebusy. */ + $vFb = &Horde_iCalendar::newComponent('vfreebusy', $vCal); + $params = array(); + if (!empty($cn)) { + $params['CN'] = $cn; + } + if (!empty($email)) { + $vFb->setAttribute('ORGANIZER', 'mailto:' . $email, $params); + } else { + $vFb->setAttribute('ORGANIZER', '', $params); + } + + $vFb->setAttribute('DTSTAMP', $_SERVER['REQUEST_TIME']); + $vFb->setAttribute('DTSTART', $startstamp); + $vFb->setAttribute('DTEND', $endstamp); + $vFb->setAttribute('URL', Horde::applicationUrl('fb.php?u=' . $share->get('owner'), true, -1)); + + /* Add all the busy periods. */ + foreach ($busy as $events) { + foreach ($events as $event) { + if ($event->hasStatus(KRONOLITH_STATUS_FREE)) { + continue; + } + if ($event->hasStatus(KRONOLITH_STATUS_CANCELLED)) { + continue; + } + + /* Horde_iCalendar_vfreebusy only supports timestamps at the + * moment. */ + $vFb->addBusyPeriod('BUSY', $event->start->timestamp(), null, + $event->end->timestamp() - $event->start->timestamp()); + } + } + + /* Remove the overlaps. */ + $vFb->simplify(); + $vCal->addComponent($vFb); + + /* Return the vFreebusy object if requested. */ + if ($returnObj) { + return $vFb; + } + + /* Generate the vCal file. */ + return $vCal->exportvCalendar(); + } + + /** + * Retrieves the free/busy information for a given email address, if any + * information is available. + * + * @param string $email The email address to look for. + * + * @return Horde_iCalendar_vfreebusy Free/busy component on success, + * PEAR_Error on failure + */ + function get($email) + { + require_once 'Horde/iCalendar.php'; + require_once 'Mail/RFC822.php'; + require_once 'Horde/MIME.php'; + + /* Properly handle RFC822-compliant email addresses. */ + static $rfc822; + if (is_null($rfc822)) { + $rfc822 = new Mail_RFC822(); + } + + $default_domain = empty($GLOBALS['conf']['storage']['default_domain']) ? null : $GLOBALS['conf']['storage']['default_domain']; + $res = $rfc822->parseAddressList($email, $default_domain); + if (is_a($res, 'PEAR_Error')) { + return $res; + } + if (!count($res)) { + return PEAR::raiseError(_("No valid email address found")); + } + + $email = MIME::rfc822WriteAddress($res[0]->mailbox, $res[0]->host); + + /* Check if we can retrieve a VFB from the Free/Busy URL, if one is + * set. */ + $url = Kronolith_FreeBusy::getUrl($email); + if (is_a($url, 'PEAR_Error')) { + $url = null; + } else { + $url = trim($url); + } + if ($url) { + $options['method'] = 'GET'; + $options['timeout'] = 5; + $options['allowRedirects'] = true; + + if (!empty($GLOBALS['conf']['http']['proxy']['proxy_host'])) { + $options = array_merge($options, $GLOBALS['conf']['http']['proxy']); + } + + require_once 'HTTP/Request.php'; + $http = new HTTP_Request($url, $options); + if (is_a($response = @$http->sendRequest(), 'PEAR_Error')) { + return PEAR::raiseError(sprintf(_("The free/busy url for %s cannot be retrieved."), $email)); + } + if ($http->getResponseCode() == 200 && + $data = $http->getResponseBody()) { + // Detect the charset of the iCalendar data. + $contentType = $http->getResponseHeader('Content-Type'); + if ($contentType && strpos($contentType, ';') !== false) { + list(,$charset,) = explode(';', $contentType); + $charset = trim(str_replace('charset=', '', $charset)); + } else { + $charset = 'UTF-8'; + } + + $vCal = new Horde_iCalendar(); + $vCal->parsevCalendar($data, 'VCALENDAR', $charset); + $components = $vCal->getComponents(); + + $vCal = new Horde_iCalendar(); + $vFb = Horde_iCalendar::newComponent('vfreebusy', $vCal); + $vFb->setAttribute('ORGANIZER', $email); + $found = false; + foreach ($components as $component) { + if (is_a($component, 'Horde_iCalendar_vfreebusy')) { + $found = true; + $vFb->merge($component); + } + } + + if ($found) { + return $vFb; + } + } + } + + /* Check storage driver. */ + require_once KRONOLITH_BASE . '/lib/Storage.php'; + $storage = &Kronolith_Storage::singleton(); + + $fb = $storage->search($email); + if (!is_a($fb, 'PEAR_Error')) { + return $fb; + } elseif ($fb->getCode() == KRONOLITH_ERROR_FB_NOT_FOUND) { + return $url ? + PEAR::raiseError(sprintf(_("No free/busy information found at the free/busy url of %s."), $email)) : + PEAR::raiseError(sprintf(_("No free/busy url found for %s."), $email)); + } + + /* Or else return an empty VFB object. */ + $vCal = new Horde_iCalendar(); + $vFb = Horde_iCalendar::newComponent('vfreebusy', $vCal); + $vFb->setAttribute('ORGANIZER', $email); + + return $vFb; + } + + /** + * Searches address books for the freebusy URL for a given email address. + * + * @param string $email The email address to look for. + * + * @return mixed The url on success or false on failure. + */ + function getUrl($email) + { + $sources = $GLOBALS['prefs']->getValue('search_sources'); + $sources = empty($sources) ? array() : explode("\t", $sources); + + $result = $GLOBALS['registry']->call('contacts/getField', + array($email, 'freebusyUrl', $sources, true, true)); + if (is_a($result, 'PEAR_Error')) { + return $result; + } elseif (is_array($result)) { + return array_shift($result); + } else { + return $result; + } + } + +} diff --git a/kronolith/lib/Imple.php b/kronolith/lib/Imple.php new file mode 100644 index 000000000..bdcff3983 --- /dev/null +++ b/kronolith/lib/Imple.php @@ -0,0 +1,103 @@ + + * @package Kronolith + */ +class Imple { + + /** + * Parameters needed by the subclasses. + * + * @var array + */ + var $_params = array(); + + /** + * Attempts to return a concrete Imple instance based on $imple. + * + * @param string $imple The type of concrete Imple subclass to return + * return, based on the imple type indicated. The + * code is dynamically included. + * @param array $params The configuration parameter array. + * + * @return mixed The newly created concrete Imple instance, or false on + * error. + */ + function factory($imple, $params = array()) + { + $imple = basename($imple); + if (!$imple) { + return false; + } + + $class = 'Imple_' . $imple; + if (!class_exists($class)) { + include_once dirname(__FILE__) . '/Imple/' . $imple . '.php'; + if (!class_exists($class)) { + return false; + } + } + + return new $class($params); + } + + /** + * Constructor. + * + * @param array $params Any parameters needed by the class. + */ + function Imple($params) + { + $this->_params = $params; + $this->attach(); + } + + /** + * Attach the Imple object to a javascript event. + */ + function attach() + { + Horde::addScriptFile('prototype.js', 'horde', true); + Horde::addScriptFile('builder.js', 'horde', true); + Horde::addScriptFile('effects.js', 'horde', true); + Horde::addScriptFile('controls.js', 'horde', true); + } + + /** + * TODO + * + * @param TODO + */ + function handle($args) + { + } + + /** + * Return the rendered HTML code. + * + * @return string The HTML code. + */ + function html() + { + } + + /** + * Generate a random ID string. + * + * @access private + * + * @return string The random ID string. + */ + function _randomid() + { + return 'imple_' . uniqid(mt_rand()); + } + +} diff --git a/kronolith/lib/Imple/ContactAutoCompleter.php b/kronolith/lib/Imple/ContactAutoCompleter.php new file mode 100644 index 000000000..2e34a8674 --- /dev/null +++ b/kronolith/lib/Imple/ContactAutoCompleter.php @@ -0,0 +1,242 @@ + + * @package Kronolith + */ +class Imple_ContactAutoCompleter extends Imple { + + /** + * onShow javascript code. + * + * @var string + */ + var $_onshow = ', onShow: function(e, u){ if(!u.style.position || u.style.position==\'absolute\') { u.style.position = \'absolute\'; Position.clone(e, u, { setHeight: false, offsetTop: e.offsetHeight }); } Effect.Appear(u,{duration:0.15, beforeSetup:function(effect) { effect.element.setOpacity(effect.options.from); effect.element.show(); u.style.height = Math.min(u.offsetHeight, ((window.innerHeight ? window.innerHeight : document.body.clientHeight) - Position.page(e)[1] - e.offsetHeight - 10)) + \'px\'; u.style.overflow = \'auto\'; } }); }'; + + /** + * Constructor. + * + * @param array $params Configuration parameters. + *
+     * 'triggerId' => TODO (optional)
+     * 'resultsId' => TODO (optional)
+     * 
+ */ + function Imple_ContactAutoCompleter($params) + { + if (empty($params['triggerId'])) { + $params['triggerId'] = $this->_randomid(); + } + if (empty($params['resultsId'])) { + $params['resultsId'] = $params['triggerId'] . '_results'; + } + + parent::Imple($params); + } + + /** + * Attach the Imple object to a javascript event. + */ + function attach() + { + parent::attach(); + $url = Horde::url($GLOBALS['registry']->get('webroot', 'kronolith') . '/imple.php?imple=ContactAutoCompleter/input=' . rawurlencode($this->_params['triggerId']), true); + Kronolith::addInlineScript('Event.observe(window, "load", function() { new Ajax.Autocompleter("' . $this->_params['triggerId'] . '", "' . $this->_params['resultsId'] . '", "' . $url . '", { tokens: ",", indicator: "' . $this->_params['triggerId'] . '_loading_img"' . $this->_onshow . ', afterUpdateElement: function(f, t) { if (f.value.lastIndexOf(";") != (f.value.length - 1)) { f.value += ", "; } } }); });'); + } + + /** + * TODO + * + * @param array $args TODO + * + * @return string TODO + */ + function handle($args) + { + // Avoid errors if 'input' isn't set and short-circuit empty searches. + if (empty($args['input']) || + !($input = Util::getFormData($args['input']))) { + return '
    '; + } + + $results = $this->expandAddresses($input, true); + if (is_a($results, 'PEAR_Error')) { + // TODO: error handling + return '
      '; + } + + if (is_array($results)) { + $results = $results[0]; + array_shift($results); + } else { + $results = array($results); + } + + $html = '
        '; + $input = htmlspecialchars($input); + $input_regex = '/(' . preg_quote($input, '/') . ')/i'; + foreach ($results as $result) { + $html .= '
      • ' . str_replace(array('<strong>', '</strong>'), + array('', ''), + htmlspecialchars(preg_replace($input_regex, '$1', $result))) . '
      • '; + } + return $html . '
      '; + } + + /** + * Uses the Registry to expand names and returning error information for + * any address that is either not valid or fails to expand. + * + * @param string $addrString The name(s) or address(es) to expand. + * @param boolean $full If true generate a full, rfc822-valid address + * list. + * + * @return mixed Either a string containing all expanded addresses or an + * array containing all matching address or an error + * object. + */ + function expandAddresses($addrString, $full = false) + { + if (!preg_match('|[^\s]|', $addrString)) { + return ''; + } + + $search_fields = array(); + + $src = explode("\t", $GLOBALS['prefs']->getValue('search_sources')); + if ((count($src) == 1) && empty($src[0])) { + $src = array(); + } + + if (($val = $GLOBALS['prefs']->getValue('search_fields'))) { + $field_arr = explode("\n", $val); + foreach ($field_arr as $field) { + $field = trim($field); + if (!empty($field)) { + $tmp = explode("\t", $field); + if (count($tmp) > 1) { + $source = array_splice($tmp, 0, 1); + $search_fields[$source[0]] = $tmp; + } + } + } + } + + $arr = array_filter(array_map('trim', MIME::rfc822Explode($addrString, ','))); + + $results = $GLOBALS['registry']->call('contacts/search', array($arr, $src, $search_fields, true)); + if (is_a($results, 'PEAR_Error')) { + return $results; + } + + /* Remove any results with empty email addresses. */ + foreach (array_keys($results) as $key) { + for ($i = 0, $subTotal = count($results[$key]); $i < $subTotal; ++$i) { + if (empty($results[$key][$i]['email'])) { + unset($results[$key][$i]); + } + } + } + + $ambiguous = $error = false; + $missing = array(); + $vars = null; + + require_once 'Mail/RFC822.php'; + $parser = new Mail_RFC822(null, '@INVALID'); + + foreach ($arr as $i => $tmp) { + $address = MIME::encodeAddress($tmp, null, ''); + if (!is_a($address, 'PEAR_Error') && + ($parser->validateMailbox($address) || + $parser->_isGroup($address))) { + // noop + } elseif (!isset($results[$tmp]) || !count($results[$tmp])) { + /* Handle the missing/invalid case - we should return error + * info on each address that couldn't be + * expanded/validated. */ + $error = true; + if (!$ambiguous) { + $arr[$i] = PEAR::raiseError(null, null, null, null, $arr[$i]); + $missing[$i] = $arr[$i]; + } + } else { + $res = $results[$tmp]; + if (count($res) == 1) { + if ($full) { + if (strpos($res[0]['email'], ',') !== false) { + if ($vars === null) { + $vars = get_class_vars('MIME'); + } + $arr[$i] = MIME::_rfc822Encode($res[0]['name'], $vars['rfc822_filter'] . '.') . ': ' . $res[0]['email'] . ';'; + } else { + list($mbox, $host) = explode('@', $res[0]['email']); + $arr[$i] = MIME::rfc822WriteAddress($mbox, $host, $res[0]['name']); + } + } else { + $arr[$i] = $res[0]['email']; + } + } else { + /* Handle the multiple case - we return an array + * with all found addresses. */ + $arr[$i] = array($arr[$i]); + foreach ($res as $one_res) { + if (empty($one_res['email'])) { + continue; + } + if ($full) { + if (strpos($one_res['email'], ',') !== false) { + if ($vars === null) { + $vars = get_class_vars('MIME'); + } + $arr[$i][] = MIME::_rfc822Encode($one_res['name'], $vars['rfc822_filter'] . '.') . ': ' . $one_res['email'] . ';'; + } else { + $mbox_host = explode('@', $one_res['email']); + if (isset($mbox_host[1])) { + $arr[$i][] = MIME::rfc822WriteAddress($mbox_host[0], $mbox_host[1], $one_res['name']); + } + } + } else { + $arr[$i][] = $one_res['email']; + } + } + $ambiguous = true; + } + } + } + + if ($ambiguous) { + foreach ($missing as $i => $addr) { + $arr[$i] = $addr->getUserInfo(); + } + return $arr; + } elseif ($error) { + return PEAR::raiseError(_("Please resolve ambiguous or invalid addresses."), null, null, null, $arr); + } else { + $list = ''; + foreach ($arr as $elm) { + if (substr($list, -1) == ';') { + $list .= ' '; + } elseif (!empty($list)) { + $list .= ', '; + } + $list .= $elm; + } + return $list; + } + } + +} diff --git a/kronolith/lib/Imple/Embed.php b/kronolith/lib/Imple/Embed.php new file mode 100644 index 000000000..fed200113 --- /dev/null +++ b/kronolith/lib/Imple/Embed.php @@ -0,0 +1,125 @@ + + * + * @package Ansel + */ +class Imple_Embed extends Imple { + + /** + * Override the parent method since it uses Horde::addScriptFile() + * + */ + function attach() + { + //noop + } + + + /** + * Handles the output of the embedded widget. This must always be valid + * javascript. + *
      +     * The following arguments are required:
      +     *   view      => the view (block) we want
      +     *   container => the DOM node to populate with the widget
      +     *   calendar  => the share_name for the requested calendar
      +     *
      +     * The following are optional (and are not used for all views)
      +     *   months     => the number of months to include
      +     *   maxevents     => the maximum number of events to show
      +     *
      +     * @param array $args  Arguments for this view.
      +     */
      +    function handle($args)
      +    {
      +        /* First, determine the type of view we are asking for */
      +        $view = $args['view'];
      +
      +        /* The DOM container to put the HTML in on the remote site */
      +        $container = $args['container'];
      +
      +        /* The share_name of the calendar to display */
      +        $calendar = $args['calendar'];
      +
      +        /* Deault to showing only 1 month when we have a choice */
      +        $count_month = (!empty($args['months']) ? $args['months'] : 1);
      +
      +        /* Default to no limit for the number of events */
      +        $max_events = (!empty($args['maxevents']) ? $args['maxevents'] : 0);
      +
      +        if (!empty($args['css']) && $args['css'] == 'none') {
      +            $nocss = true;
      +        }
      +
      +        /* Load the registry with no session control */
      +        $registry = &Registry::singleton(HORDE_SESSION_NONE);
      +
      +
      +        /* Build the block parameters */
      +        $params = array('calendar' => $calendar,
      +                        'maxevents' => $max_events,
      +                        'months' => $count_month);
      +
      +        /* Call the Horde_Block api to get the calendar HTML */
      +        $title = $registry->call('horde/blockTitle', array('kronolith', $view, $params));
      +        $results = $registry->call('horde/blockContent', array('kronolith', $view, $params));
      +
      +        /* Some needed paths */
      +        // @TODO: Is this going to be merged to FW_3? If so, need to keep this
      +        // in Kronolith's js path - otherwise we can change it to Horde's
      +        $js_path = $registry->get('jsuri', 'kronolith');
      +        $pturl = Horde::url($js_path . '/prototype.js', true);
      +
      +        /* Local js */
      +        $jsurl = Horde::url($js_path . '/embed.js', true);
      +
      +        /* Horde's js */
      +        $hjs_path = $registry->get('jsuri', 'horde');
      +        $hjsurl = Horde::url($hjs_path . '/horde-embed.js', true);
      +
      +        /* CSS */
      +        if (empty($nocss)) {
      +            $cssurl = Horde::url($registry->get('themesuri', 'kronolith') . '/embed.css', true);
      +            $hcssurl = Horde::url($registry->get('themesurl', 'horde') . '/embed.css', true);
      +        } else {
      +            $cssurl= '';
      +        }
      +
      +        /* Escape the text and put together the javascript to send back */
      +        $results = addslashes('
      ' . $title . '
      ' . $results . '
      '); + $html = <<'); + document.write(''); + } + if (typeof Prototype == 'undefined') { + document.write(''); + } + kronolith = new Object(); + kronolithNodes = new Array(); + document.write(''); + document.write(''); + } + kronolithNodes[kronolithNodes.length] = '$container'; + kronolith['$container'] = "$results"; + //]]> +EOT; + + /* Send it */ + header('Content-Type: text/javascript'); + echo $html; + exit; + } + +} diff --git a/kronolith/lib/Kronolith.php b/kronolith/lib/Kronolith.php new file mode 100644 index 000000000..1510b50e2 --- /dev/null +++ b/kronolith/lib/Kronolith.php @@ -0,0 +1,2092 @@ + + * @since Kronolith 0.1 + * @package Kronolith + */ +class Kronolith { + + /** + * Add inline javascript to the output buffer. + * + * @since Kronolith 2.2 + * + * @param mixed $script The script text to add (can be stored in an + * array also). + * + * @return string The javascript text to output, or empty if the page + * headers have not yet been sent. + */ + function addInlineScript($script) + { + if (is_array($script)) { + $script = implode(';', $script); + } + + $script = trim($script); + if (empty($script)) { + return; + } + + if (!isset($GLOBALS['__kronolith_inline_script'])) { + $GLOBALS['__kronolith_inline_script'] = array(); + } + $GLOBALS['__kronolith_inline_script'][] = $script; + + // If headers have already been sent, we need to output a + // \n"; + } + + $GLOBALS['__kronolith_inline_script'] = array(); + } + + /** + * Returns all the events that happen each day within a time period. + * + * @param object $startDate The start of the time range. + * @param object $endDate The end of the time range. + * @param array $calendars The calendars to check for events. + * @param boolean $alarmsOnly Return only events with an alarm set + * + * @return array The events happening in this time period. + */ + function listEventIds($startDate = null, $endDate = null, + $calendars = null, $alarmsOnly = false) + { + global $kronolith_driver; + + if (!empty($startDate)) { + $startDate = new Horde_Date($startDate); + } + if (!empty($endDate)) { + $endDate = new Horde_Date($endDate); + } + if (!isset($calendars)) { + $calendars = $GLOBALS['display_calendars']; + } + if (!is_array($calendars)) { + $calendars = array($calendars); + } + + $eventIds = array(); + foreach ($calendars as $cal) { + if ($kronolith_driver->getCalendar() != $cal) { + $kronolith_driver->open($cal); + } + $eventIds[$cal] = $GLOBALS['kronolith_driver']->listEvents( + $startDate, $endDate, $alarmsOnly); + } + + return $eventIds; + } + + /** + * Returns all the alarms active right on $date. + * + * @param Horde_Date $date The start of the time range. + * @param array $calendars The calendars to check for events. + * @param boolean $fullevent Whether to return complete alarm objects or + * only alarm IDs. + * + * @return array The alarms active on $date. + */ + function listAlarms($date, $calendars, $fullevent = false) + { + global $kronolith_driver; + + $alarms = array(); + foreach ($calendars as $cal) { + if ($kronolith_driver->getCalendar() != $cal) { + $kronolith_driver->open($cal); + } + $alarms[$cal] = $kronolith_driver->listAlarms($date, $fullevent); + if (is_a($alarms[$cal], 'PEAR_Error')) { + return $alarms[$cal]; + } + } + + return $alarms; + } + + /** + * Search for events with the given properties + * + * @param object $query The search query + * + * @return array The events + */ + function search($query) + { + global $kronolith_driver; + + if (!isset($query->calendars)) { + $calendars = $GLOBALS['display_calendars']; + } else { + $calendars = $query->calendars; + } + + $events = array(); + foreach ($calendars as $cal) { + if ($kronolith_driver->getCalendar() != $cal) { + $kronolith_driver->open($cal); + } + $retevents = $kronolith_driver->search($query); + foreach ($retevents as $event) { + $events[] = $event; + } + } + + return $events; + } + + /** + * 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(); + } + + /* Initialize Kronolith session if we don't have one */ + if (!isset($_SESSION['kronolith_session'])) { + $_SESSION['kronolith_session'] = array(); + Kronolith::loginTasksFlag(1); + } + + /* Fetch display preferences. */ + $GLOBALS['display_calendars'] = @unserialize($GLOBALS['prefs']->getValue('display_cals')); + $GLOBALS['display_remote_calendars'] = @unserialize($GLOBALS['prefs']->getValue('display_remote_cals')); + $GLOBALS['display_external_calendars'] = @unserialize($GLOBALS['prefs']->getValue('display_external_cals')); + + if (!is_array($GLOBALS['display_calendars'])) { + $GLOBALS['display_calendars'] = array(); + } + if (!is_array($GLOBALS['display_remote_calendars'])) { + $GLOBALS['display_remote_calendars'] = array(); + } + if (!is_array($GLOBALS['display_external_calendars'])) { + $GLOBALS['display_external_calendars'] = array(); + } + + /* Update preferences for which calendars to display. If the + * user doesn't have any selected calendars to view then fall + * back to an available calendar. */ + if (($calendarId = Util::getFormData('display_cal')) !== null) { + if (is_array($calendarId)) { + $calendars = $calendarId; + $GLOBALS['display_calendars'] = array(); + $GLOBALS['display_remote_calendars'] = array(); + foreach ($calendars as $calendarId) { + if (strncmp($calendarId, 'remote_', 7) === 0) { + $calendarId = substr($calendarId, 7); + $GLOBALS['display_remote_calendars'][] = $calendarId; + } elseif (strncmp($calendarId, 'external_', 9) === 0) { + $calendarId = substr($calendarId, 9); + $GLOBALS['display_external_calendars'][] = $calendarId; + } else { + $GLOBALS['display_calendars'][] = $calendarId; + } + } + } else { + /* Specifying a single calendar is always to make sure + * that it's shown. Use the "toggle_calendar" argument + * to toggle the state of a single calendar. */ + if (strncmp($calendarId, 'remote_', 7) === 0) { + $calendarId = substr($calendarId, 7); + if (!in_array($calendarId, $GLOBALS['display_remote_calendars'])) { + $GLOBALS['display_remote_calendars'][] = $calendarId; + } + } elseif (strncmp($calendarId, 'external_', 9) === 0) { + $calendarId = substr($calendarId, 9); + if (!in_array($calendarId, $GLOBALS['display_external_calendars'])) { + $GLOBALS['display_external_calendars'][] = $calendarId; + } + } else { + if (!in_array($calendarId, $GLOBALS['display_calendars'])) { + $GLOBALS['display_calendars'][] = $calendarId; + } + } + } + } + + /* Check for single "toggle" calendars. */ + if (($calendarId = Util::getFormData('toggle_calendar')) !== null) { + if (strncmp($calendarId, 'remote_', 7) === 0) { + $calendarId = substr($calendarId, 7); + if (in_array($calendarId, $GLOBALS['display_remote_calendars'])) { + $key = array_search($calendarId, $GLOBALS['display_remote_calendars']); + unset($GLOBALS['display_remote_calendars'][$key]); + } else { + $GLOBALS['display_remote_calendars'][] = $calendarId; + } + } elseif (strncmp($calendarId, 'external_', 9) === 0) { + $calendarId = substr($calendarId, 9); + if (in_array($calendarId, $GLOBALS['display_external_calendars'])) { + $key = array_search($calendarId, $GLOBALS['display_external_calendars']); + unset($GLOBALS['display_external_calendars'][$key]); + } else { + $GLOBALS['display_external_calendars'][] = $calendarId; + } + } else { + if (in_array($calendarId, $GLOBALS['display_calendars'])) { + $key = array_search($calendarId, $GLOBALS['display_calendars']); + unset($GLOBALS['display_calendars'][$key]); + } else { + $GLOBALS['display_calendars'][] = $calendarId; + } + } + } + + /* Make sure all shares exists now to save on checking later. */ + $GLOBALS['all_calendars'] = Kronolith::listCalendars(); + $calendar_keys = array_values($GLOBALS['display_calendars']); + $GLOBALS['display_calendars'] = array(); + foreach ($calendar_keys as $id) { + if (isset($GLOBALS['all_calendars'][$id])) { + $GLOBALS['display_calendars'][] = $id; + } + } + + /* Make sure all the remote calendars still exist. */ + $_temp = $GLOBALS['display_remote_calendars']; + $GLOBALS['display_remote_calendars'] = array(); + $_all = @unserialize($GLOBALS['prefs']->getValue('remote_cals')); + if (is_array($_all)) { + foreach ($_all as $id) { + if (in_array($id['url'], $_temp)) { + $GLOBALS['display_remote_calendars'][] = $id['url']; + } + } + } + $GLOBALS['prefs']->setValue('display_remote_cals', serialize($GLOBALS['display_remote_calendars'])); + + /* Get a list of external calendars. */ + if (isset($_SESSION['all_external_calendars'])) { + $GLOBALS['all_external_calendars'] = $_SESSION['all_external_calendars']; + } else { + $GLOBALS['all_external_calendars'] = array(); + $apis = array_unique($GLOBALS['registry']->listAPIs()); + foreach ($apis as $api) { + if ($GLOBALS['registry']->hasMethod($api . '/listTimeObjects')) { + $categories = $GLOBALS['registry']->call($api . '/listTimeObjectCategories'); + if (is_a($categories, 'PEAR_Error') || !count($categories)) { + continue; + } + + $GLOBALS['all_external_calendars'][$api] = $categories; + } elseif ($api == 'tasks' && $GLOBALS['registry']->hasMethod('tasks/listTasks')) { + $GLOBALS['all_external_calendars'][$api] = array('_listTasks' => $GLOBALS['registry']->get('name', $GLOBALS['registry']->hasInterface($api))); + } + } + $_SESSION['all_external_calendars'] = $GLOBALS['all_external_calendars']; + } + + /* Make sure all the external calendars still exist. */ + $_temp = $GLOBALS['display_external_calendars']; + $GLOBALS['display_external_calendars'] = array(); + foreach ($GLOBALS['all_external_calendars'] as $api => $categories) { + foreach ($categories as $id => $name) { + $calendarId = $api . '/' . $id; + if (in_array($calendarId, $_temp)) { + $GLOBALS['display_external_calendars'][] = $calendarId; + } + } + } + $GLOBALS['prefs']->setValue('display_external_cals', serialize($GLOBALS['display_external_calendars'])); + + /* If an authenticated user has no calendars visible and their + * personal calendar doesn't exist, create it. */ + if (Auth::getAuth() && + !count($GLOBALS['display_calendars']) && + !$GLOBALS['kronolith_shares']->exists(Auth::getAuth())) { + require_once 'Horde/Identity.php'; + $identity = &Identity::singleton(); + $name = $identity->getValue('fullname'); + if (trim($name) == '') { + $name = Auth::removeHook(Auth::getAuth()); + } + $share = &$GLOBALS['kronolith_shares']->newShare(Auth::getAuth()); + $share->set('name', sprintf(_("%s's Calendar"), $name)); + $GLOBALS['kronolith_shares']->addShare($share); + $GLOBALS['all_calendars'][Auth::getAuth()] = &$share; + + /* Make sure the personal calendar is displayed by default. */ + if (!in_array(Auth::getAuth(), $GLOBALS['display_calendars'])) { + $GLOBALS['display_calendars'][] = Auth::getAuth(); + } + + /* Calendar auto-sharing with the user's groups */ + if ($GLOBALS['conf']['autoshare']['shareperms'] != 'none') { + $perm_value = 0; + switch ($GLOBALS['conf']['autoshare']['shareperms']) { + case 'read': + $perm_value = PERMS_READ | PERMS_SHOW; + break; + case 'edit': + $perm_value = PERMS_READ | PERMS_SHOW | PERMS_EDIT; + break; + case 'full': + $perm_value = PERMS_READ | PERMS_SHOW | PERMS_EDIT | PERMS_DELETE; + break; + } + $groups = &Group::singleton(); + $group_list = $groups->getGroupMemberships(Auth::getAuth()); + if (!is_a($group_list, 'PEAR_Error') && count($group_list)) { + $perm = $share->getPermission(); + // Add the default perm, not added otherwise + $perm->addUserPermission(Auth::getAuth(), PERMS_ALL, false); + foreach ($group_list as $group_id => $group_name) { + $perm->addGroupPermission($group_id, $perm_value, false); + } + $share->setPermission($perm); + $share->save(); + $GLOBALS['notification']->push(sprintf(_("New calendar created and automatically shared with the following group(s): %s."), implode(', ', $group_list)), 'horde.success'); + } + } + } + + $GLOBALS['prefs']->setValue('display_cals', serialize($GLOBALS['display_calendars'])); + + } + + /** + * Either sets or checks the value of the logintasks flag. + * + * @param integer $set The value of the flag. + * + * @return integer The value of the flag. + * 0 = No login tasks pending + * 1 = Login tasks pending + * 2 = Login tasks pending, previous tasks interrupted + */ + function loginTasksFlag($set = null) + { + if (($set !== null)) { + $_SESSION['kronolith_session']['_logintasks'] = $set; + } + + return isset($_SESSION['kronolith_session']['_logintasks']) ? + $_SESSION['kronolith_session']['_logintasks'] : 0; + } + + /** + * Fetches a remote calendar into the session and return the data. + * + * @param string $url The location of the remote calendar. + * + * @return mixed Either the calendar data, or an error on failure. + */ + function getRemoteCalendar($url) + { + $url = trim($url); + + /* Treat webcal:// URLs as http://. */ + if (substr($url, 0, 9) == 'webcal://') { + $url = str_replace('webcal://', 'http://', $url); + } + + if (empty($_SESSION['kronolith']['remote'][$url])) { + $options['method'] = 'GET'; + $options['timeout'] = 5; + $options['allowRedirects'] = true; + + if (!empty($GLOBALS['conf']['http']['proxy']['proxy_host'])) { + $options = array_merge($options, $GLOBALS['conf']['http']['proxy']); + } + + require_once 'HTTP/Request.php'; + $http = new HTTP_Request($url, $options); + /* Check for HTTP authentication credentials */ + $cals = unserialize($GLOBALS['prefs']->getValue('remote_cals')); + foreach ($cals as $cal) { + if ($cal['url'] == $url) { + $user = isset($cal['user']) ? $cal['user'] : ''; + $password = isset($cal['password']) ? $cal['password'] : ''; + $key = Auth::getCredential('password'); + if ($key && $user) { + require_once 'Horde/Secret.php'; + $user = Secret::read($key, base64_decode($user)); + $password = Secret::read($key, base64_decode($password)); + } + break; + } + } + if (!empty($user)) { + $http->setBasicAuth($user, $password); + } + @$http->sendRequest(); + if ($http->getResponseCode() != 200) { + Horde::logMessage(sprintf('Failed to retrieve remote calendar: url = "%s", status = %s', + $url, $http->getResponseCode()), + __FILE__, __LINE__, PEAR_LOG_ERR); + return PEAR::raiseError(sprintf(_("Could not open %s."), $url)); + } + $_SESSION['kronolith']['remote'][$url] = $http->getResponseBody(); + + /* Log fetch at DEBUG level. */ + Horde::logMessage(sprintf('Retrieved remote calendar for %s: url = "%s"', + Auth::getAuth(), $url), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + } + + return $_SESSION['kronolith']['remote'][$url]; + } + + /** + * Returns all the events from a remote calendar. + * + * @param string $url The url of the remote calendar. + */ + function listRemoteEvents($url) + { + global $kronolith_driver; + + $data = Kronolith::getRemoteCalendar($url); + if (is_a($data, 'PEAR_Error')) { + return $data; + } + + require_once 'Horde/iCalendar.php'; + $iCal = new Horde_iCalendar(); + if (!$iCal->parsevCalendar($data)) { + return array(); + } + + $components = $iCal->getComponents(); + $events = array(); + $count = count($components); + $exceptions = array(); + for ($i = 0; $i < $count; ++$i) { + $component = $components[$i]; + if ($component->getType() == 'vEvent') { + $event = &$kronolith_driver->getEvent(); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + $event->status = KRONOLITH_STATUS_FREE; + $event->fromiCalendar($component); + $event->remoteCal = $url; + $event->eventID = $i; + + /* Catch RECURRENCE-ID attributes which mark single recurrence + * instances. */ + $recurrence_id = $component->getAttribute('RECURRENCE-ID'); + if (is_int($recurrence_id) && + is_string($uid = $component->getAttribute('UID')) && + is_int($seq = $component->getAttribute('SEQUENCE'))) { + $exceptions[$uid][$seq] = $recurrence_id; + } + $events[] = $event; + } + } + + /* Loop through all explicitly defined recurrence intances and create + * exceptions for those in the event with the matchin recurrence. */ + foreach ($events as $key => $event) { + if ($event->recurs() && + isset($exceptions[$event->getUID()][$event->getSequence()])) { + $timestamp = $exceptions[$event->getUID()][$event->getSequence()]; + $events[$key]->recurrence->addException(date('Y', $timestamp), date('m', $timestamp), date('d', $timestamp)); + } + } + + return $events; + } + + /** + * Returns an event object for an event on a remote calendar. + * + * This is kind of a temorary solution until we can have multiple drivers + * in use at the same time. + * + * @param $url The url of the remote calendar. + * @param $eventId The index of the event on the remote calendar. + * + * @return Kronolith_Event The event object. + */ + function &getRemoteEventObject($url, $eventId) + { + global $kronolith_driver; + + $data = Kronolith::getRemoteCalendar($url); + if (is_a($data, 'PEAR_Error')) { + return $data; + } + + require_once 'Horde/iCalendar.php'; + $iCal = new Horde_iCalendar(); + if (!$iCal->parsevCalendar($data)) { + return array(); + } + + $components = $iCal->getComponents(); + if (isset($components[$eventId]) && + $components[$eventId]->getType() == 'vEvent') { + $event = &$kronolith_driver->getEvent(); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + $event->status = KRONOLITH_STATUS_FREE; + $event->fromiCalendar($components[$eventId]); + $event->remoteCal = $url; + $event->eventID = $eventId; + + return $event; + } + + return false; + } + + /** + * Returns a list of events containing holidays occuring between + * $startDate and $endDate. The outcome depends + * on the user's selection of holiday drivers + * + * @param int|Horde_Date $startDate The start of the datespan to be + * checked. + * @param int|Horde_Date $endDate The end of the datespan. + * + * @return array The matching holidays as an array. + */ + function listHolidayEvents($startDate = null, $endDate = null) + { + if (!@include_once('Date/Holidays.php')) { + Horde::logMessage('Support for Date_Holidays has been enabled but the package seems to be missing.', + __FILE__, __LINE__, PEAR_LOG_ERR); + return array(); + } else { + $dhDriver = Kronolith_Driver::factory('holidays'); + return $dhDriver->listEvents($startDate, $endDate); + } + } + + /** + * Returns all the events that happen each day within a time period + * + * @param int|Horde_Date $startDate The start of the time range. + * @param int|Horde_Date $endDate The end of the time range. + * @param array $calendars The calendars to check for events. + * @param boolean $showRecurrence Return every instance of a recurring + * event? If false, will only return + * recurring events once inside the + * $startDate - $endDate range. + * Defaults to true + * @param boolean $alarmsOnly Filter results for events with alarms + * Defaults to false + * @param boolean $showRemote Return events from remote and + * listTimeObjects as well? + * + * @return array The events happening in this time period. + */ + function listEvents($startDate = null, $endDate = null, $calendars = null, + $showRecurrence = true, $alarmsOnly = false, + $showRemote = true) + { + global $kronolith_driver, $registry; + + if (!empty($startDate)) { + $startDate = new Horde_Date($startDate); + } + if (!empty($endDate)) { + $endDate = new Horde_Date($endDate); + } + if (!isset($calendars)) { + $calendars = $GLOBALS['display_calendars']; + } + + $eventIds = Kronolith::listEventIds($startDate, $endDate, $calendars, $alarmsOnly); + + $startOfPeriod = Util::cloneObject($startDate); + $startOfPeriod->hour = $startOfPeriod->min = $startOfPeriod->sec = 0; + $endOfPeriod = Util::cloneObject($endDate); + $endOfPeriod->hour = 23; + $endOfPeriod->min = $endOfPeriod->sec = 59; + + $results = array(); + foreach ($eventIds as $cal => $events) { + if (is_a($events, 'PEAR_Error')) { + return $events; + } + + if ($kronolith_driver->getCalendar() != $cal) { + $kronolith_driver->open($cal); + } + foreach ($events as $id) { + $event = &$kronolith_driver->getEvent($id); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + Kronolith::_getEvents($results, $event, $startDate, $endDate, + $startOfPeriod, $endOfPeriod, + $showRecurrence); + } + } + + if ($showRemote) { + /* Check for listTimeObjects */ + $apis = array(); + foreach ($GLOBALS['display_external_calendars'] as $external_cal) { + list($api, $category) = explode('/', $external_cal, 2); + if (!isset($apis[$api])) { + $apis[$api] = array(); + } + if (!array_search($category, $apis[$api])) { + $apis[$api][] = $category; + } + } + if (!empty($apis)) { + $endStamp = new Horde_Date(array('month' => $endDate->month, + 'mday' => $endDate->mday + 1, + 'year' => $endDate->year)); + $kronolith_driver->open(Kronolith::getDefaultCalendar(PERMS_SHOW)); + foreach ($apis as $api => $categories) { + if (!$registry->hasMethod($api . '/listTimeObjects')) { + /* Backwards compatibility with versions of Nag + * without the listTimeObjects API call. */ + if ($api == 'tasks' && $registry->hasMethod('tasks/listTasks')) { + $taskList = $registry->call('tasks/listTasks'); + if (is_a($taskList, 'PEAR_Error')) { + continue; + } + + $eventsList = array(); + foreach ($taskList as $task) { + if (!$task['due'] && !empty($task['completed'])) { + continue; + } + $eventsList[$task['task_id']] = array( + 'id' => $task['task_id'], + 'title' => sprintf(_("Due: %s"), $task['name']), + 'description' => $task['desc'], + 'start' => $task['due'], + 'end' => $task['due'], + 'category' => $task['category'], + 'params' => array('task' => $task['task_id'], + 'tasklist' => $task['tasklist_id'])); + } + } + } else { + $eventsList = $registry->call($api . '/listTimeObjects', array($categories, $startDate, $endDate)); + if (is_a($eventsList, 'PEAR_Error')) { + $GLOBALS['notification']->push($eventsList); + continue; + } + } + + foreach ($eventsList as $eventsListItem) { + $eventStart = new Horde_Date($eventsListItem['start']); + $eventEnd = new Horde_Date($eventsListItem['end']); + /* Ignore events out of our period. */ + if ( + /* Starts after the period. */ + $eventStart->compareDateTime($endOfPeriod) > 0 || + /* End before the period and doesn't recur. */ + (!isset($eventsListItem['recurrence']) && + $eventEnd->compareDateTime($startOfPeriod) < 0)) { + continue; + } + + $event = &$kronolith_driver->getEvent(); + + if ($GLOBALS['prefs']->getValue('show_external_colors') && + isset($eventsListItem['category'])) { + $event->category = $eventsListItem['category']; + } + + $event->eventID = '_' . $api . $eventsListItem['id']; + $event->external = $api; + $event->external_params = $eventsListItem['params']; + $event->title = $eventsListItem['title']; + $event->description = isset($eventsListItem['description']) ? $eventsListItem['description'] : ''; + $event->start = $eventStart; + $event->end = $eventEnd; + $event->status = KRONOLITH_STATUS_FREE; + if (isset($eventsListItem['recurrence'])) { + $recurrence = new Horde_Date_Recurrence($eventStart); + $recurrence->setRecurType($eventsListItem['recurrence']['type']); + if (isset($eventsListItem['recurrence']['end'])) { + $recurrence->setRecurEnd($eventsListItem['recurrence']['end']); + if ($recurrence->recurEnd->compareDateTime($startOfPeriod) < 0) { + continue; + } + } + if (isset($eventsListItem['recurrence']['interval'])) { + $recurrence->setRecurInterval($eventsListItem['recurrence']['interval']); + } + if (isset($eventsListItem['recurrence']['count'])) { + $recurrence->setRecurCount($eventsListItem['recurrence']['count']); + } + if (isset($eventsListItem['recurrence']['days'])) { + $recurrence->setRecurOnDay($eventsListItem['recurrence']['days']); + } + if (isset($eventsListItem['recurrence']['exceptions'])) { + foreach ($eventsListItem['recurrence']['exceptions'] as $exception) { + $recurrence->addException(new Horde_Date($exception)); + } + } + $event->recurrence = $recurrence; + } + Kronolith::_getEvents($results, $event, $startDate, $endDate, + $startOfPeriod, $endOfPeriod, + $showRecurrence); + } + } + } + + /* Remote Calendars. */ + foreach ($GLOBALS['display_remote_calendars'] as $url) { + $events = Kronolith::listRemoteEvents($url); + if (!is_a($events, 'PEAR_Error')) { + $kronolith_driver->open(Kronolith::getDefaultCalendar(PERMS_SHOW)); + foreach ($events as $event) { + + /* Ignore events out of our period. */ + if ( + /* Starts after the period. */ + $event->start->compareDateTime($endOfPeriod) > 0 || + /* End before the period and doesn't recur. */ + (!$event->recurs() && + $event->end->compareDateTime($startOfPeriod) < 0) || + /* Recurs and ... */ + ($event->recurs() && + /* ... we don't show recurring events or ... */ + (!$showRecurrence || + /* ... has a recurrence end before the period. */ + ($event->recurrence->hasRecurEnd() && + $event->recurrence->recurEnd->compareDateTime($startOfPeriod) < 0)))) { + continue; + } + Kronolith::_getEvents($results, $event, $startDate, + $endDate, $startOfPeriod, + $endOfPeriod, $showRecurrence); + } + } + } + } + + /* Holidays */ + if (!empty($GLOBALS['conf']['holidays']['enable'])) { + $events = Kronolith::listHolidayEvents($startDate, $endDate); + if (!is_a($events, 'PEAR_Error')) { + $kronolith_driver->open(Kronolith::getDefaultCalendar(PERMS_SHOW)); + foreach ($events as $event) { + Kronolith::_getEvents($results, $event, $startDate, + $endDate, $startOfPeriod, + $endOfPeriod, $showRecurrence); + } + } + } + + foreach ($results as $day => $devents) { + if (count($devents)) { + uasort($devents, array('Kronolith', '_sortEventStartTime')); + $results[$day] = $devents; + } + } + + return $results; + } + + /** + * Calculates recurrences of an event during a certain period. + * + * @access private + */ + function _getEvents(&$results, &$event, $startDate, $endDate, + $startOfPeriod, $endOfPeriod, + $showRecurrence) + { + global $kronolith_driver; + + if ($event->recurs() && $showRecurrence) { + /* Recurring Event. */ + + /* We can't use the event duration here because we might cover a + * daylight saving time switch. */ + $diff = array($event->end->year - $event->start->year, + $event->end->month - $event->start->month, + $event->end->mday - $event->start->mday, + $event->end->hour - $event->start->hour, + $event->end->min - $event->start->min); + while ($diff[4] < 0) { + --$diff[3]; + $diff[4] += 60; + } + while ($diff[3] < 0) { + --$diff[2]; + $diff[3] += 24; + } + while ($diff[2] < 0) { + --$diff[1]; + $diff[2] += Horde_Date::daysInMonth($event->start->month, $event->start->year); + } + while ($diff[1] < 0) { + --$diff[0]; + $diff[1] += 12; + } + + if ($event->start->compareDateTime($startOfPeriod) < 0) { + /* The first time the event happens was before the period + * started. Start searching for recurrences from the start of + * the period. */ + $next = array('year' => $startDate->year, + 'month' => $startDate->month, + 'mday' => $startDate->mday); + } else { + /* The first time the event happens is in the range; unless + * there is an exception for this ocurrence, add it. */ + if (!$event->recurrence->hasException($event->start->year, + $event->start->month, + $event->start->mday)) { + Kronolith::_addCoverDates($results, $event, $event->start, $event->end); + } + + /* Start searching for recurrences from the day after it + * starts. */ + $next = Util::cloneObject($event->start); + ++$next->mday; + $next->correct(); + } + + /* Add all recurrences of the event. */ + $next = $event->recurrence->nextRecurrence($next); + while ($next !== false && $next->compareDate($endDate) <= 0) { + if (!$event->recurrence->hasException($next->year, $next->month, $next->mday)) { + /* Add the event to all the days it covers. */ + $nextEnd = Util::cloneObject($next); + $nextEnd->year += $diff[0]; + $nextEnd->month += $diff[1]; + $nextEnd->mday += $diff[2]; + $nextEnd->hour += $diff[3]; + $nextEnd->min += $diff[4]; + $nextEnd->correct(); + Kronolith::_addCoverDates($results, $event, $next, $nextEnd); + } + $next = $event->recurrence->nextRecurrence( + array('year' => $next->year, + 'month' => $next->month, + 'mday' => $next->mday + 1, + 'hour' => $next->hour, + 'min' => $next->min, + 'sec' => $next->sec)); + } + } else { + /* Event only occurs once. */ + + /* Work out what day it starts on. */ + if ($event->start->compareDateTime($startOfPeriod) < 0) { + /* It started before the beginning of the period. */ + $eventStart = Util::cloneObject($startOfPeriod); + } else { + $eventStart = Util::cloneObject($event->start); + } + + /* Work out what day it ends on. */ + if ($event->end->compareDateTime($endOfPeriod) > 0) { + /* Ends after the end of the period. */ + $eventEnd = Util::cloneObject($event->end); + } else { + /* If the event doesn't end at 12am set the end date to the + * current end date. If it ends at 12am and does not end at + * the same time that it starts (0 duration), set the end date + * to the previous day's end date. */ + if ($event->end->hour != 0 || + $event->end->min != 0 || + $event->end->sec != 0 || + $event->start->compareDateTime($event->end) == 0 || + $event->isAllDay()) { + $eventEnd = Util::cloneObject($event->end); + } else { + $eventEnd = new Horde_Date( + array('hour' => 23, + 'min' => 59, + 'sec' => 59, + 'month' => $event->end->month, + 'mday' => $event->end->mday - 1, + 'year' => $event->end->year)); + } + } + + /* Add the event to all the days it covers. This is + * similar to Kronolith::_addCoverDates(), but for days in + * between the start and end day, the range is midnight to + * midnight, and for the edge days it's start to midnight, + * and midnight to end. */ + $i = $eventStart->mday; + $loopDate = new Horde_Date(array('month' => $eventStart->month, + 'mday' => $i, + 'year' => $eventStart->year)); + while ($loopDate->compareDateTime($eventEnd) <= 0) { + if (!$event->isAllDay() || + $loopDate->compareDateTime($eventEnd) != 0) { + $addEvent = Util::cloneObject($event); + + /* If this is the start day, set the start time to + * the real start time, otherwise set it to + * 00:00 */ + if ($loopDate->compareDate($eventStart) == 0) { + $addEvent->start = $eventStart; + } else { + $addEvent->start = new Horde_Date(array( + 'hour' => 0, 'min' => 0, 'sec' => 0, + 'month' => $eventStart->month, 'mday' => $eventStart->mday, 'year' => $eventStart->year)); + } + + /* If this is the end day, set the end time to the + * real event end, otherwise set it to 23:59. */ + if ($loopDate->compareDate($eventEnd) == 0) { + $addEvent->end = $eventEnd; + } else { + $addEvent->end = new Horde_Date(array( + 'hour' => 23, 'min' => 59, 'sec' => 59, + 'month' => $eventEnd->month, 'mday' => $eventEnd->mday, 'year' => $eventEnd->year)); + } + + $results[$loopDate->dateString()][$addEvent->getId()] = $addEvent; + } + + $loopDate = new Horde_Date( + array('month' => $eventStart->month, + 'mday' => ++$i, + 'year' => $eventStart->year)); + $loopDate->correct(); + } + } + ksort($results); + } + + /** + * Adds an event to all the days it covers. + * + * @param array $result The current result list. + * @param Kronolith_Event $event An event object. + * @param Horde_Date $eventStart The event's start at the actual + * recurrence. + * @param Horde_Date $eventEnd The event's end at the actual recurrence. + */ + function _addCoverDates(&$results, $event, $eventStart, $eventEnd) + { + $i = $eventStart->mday; + $loopDate = new Horde_Date(array('month' => $eventStart->month, + 'mday' => $i, + 'year' => $eventStart->year)); + while ($loopDate->compareDateTime($eventEnd) <= 0) { + if (!$event->isAllDay() || + $loopDate->compareDateTime($eventEnd) != 0) { + $addEvent = Util::cloneObject($event); + $addEvent->start = $eventStart; + $addEvent->end = $eventEnd; + $results[$loopDate->dateString()][$addEvent->getId()] = $addEvent; + } + $loopDate = new Horde_Date( + array('month' => $eventStart->month, + 'mday' => ++$i, + 'year' => $eventStart->year)); + $loopDate->correct(); + } + } + + /** + * Returns the number of events in calendars that the current user owns. + * + * @return integer The number of events. + */ + function countEvents() + { + global $kronolith_driver; + + static $count; + if (isset($count)) { + return $count; + } + + $calendars = Kronolith::listCalendars(true, PERMS_ALL); + $current_calendar = $kronolith_driver->getCalendar(); + + $count = 0; + foreach (array_keys($calendars) as $calendar) { + if ($kronolith_driver->getCalendar() != $calendar) { + $kronolith_driver->open($calendar); + } + + /* Retrieve the event list from storage. */ + $count += count($kronolith_driver->listEvents()); + } + + /* Reopen last calendar. */ + if ($kronolith_driver->getCalendar() != $current_calendar) { + $kronolith_driver->open($current_calendar); + } + + return $count; + } + + /** + * Returns the real name, if available, of a user. + */ + 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 the email address, if available, of a user. + */ + function getUserEmail($uid) + { + static $emails = array(); + + if (!isset($emails[$uid])) { + require_once 'Horde/Identity.php'; + $ident = &Identity::singleton('none', $uid); + $emails[$uid] = $ident->getValue('from_addr'); + if (empty($emails[$uid])) { + $emails[$uid] = $uid; + } + } + + return $emails[$uid]; + } + + /** + * Checks if an email address belongs to a user. + */ + function isUserEmail($uid, $email) + { + static $emails = array(); + + if (!isset($emails[$uid])) { + require_once 'Horde/Identity.php'; + $ident = &Identity::singleton('none', $uid); + + $addrs = $ident->getAll('from_addr'); + $addrs[] = $uid; + + $emails[$uid] = $addrs; + } + + return in_array($email, $emails[$uid]); + } + + /** + * Maps a Kronolith recurrence value to a translated string suitable for + * display. + * + * @param integer $type The recurrence value; one of the + * HORDE_DATE_RECUR_XXX constants. + * + * @return string The translated displayable recurrence value string. + */ + function recurToString($type) + { + switch ($type) { + case HORDE_DATE_RECUR_NONE: + return _("Does not recur"); + + case HORDE_DATE_RECUR_DAILY: + return _("Recurs daily"); + + case HORDE_DATE_RECUR_WEEKLY: + return _("Recurs weekly"); + + case HORDE_DATE_RECUR_MONTHLY_DATE: + case HORDE_DATE_RECUR_MONTHLY_WEEKDAY: + return _("Recurs monthly"); + + case HORDE_DATE_RECUR_YEARLY_DATE: + case HORDE_DATE_RECUR_YEARLY_DAY: + case HORDE_DATE_RECUR_YEARLY_WEEKDAY: + return _("Recurs yearly"); + } + } + + /** + * Maps a Kronolith meeting status string to a translated string suitable + * for display. + * + * @param integer $status The meeting status; one of the + * KRONOLITH_STATUS_XXX constants. + * + * @return string The translated displayable meeting status string. + */ + function statusToString($status) + { + switch ($status) { + case KRONOLITH_STATUS_CONFIRMED: + return _("Confirmed"); + + case KRONOLITH_STATUS_CANCELLED: + return _("Cancelled"); + + case KRONOLITH_STATUS_FREE: + return _("Free"); + + case KRONOLITH_STATUS_TENTATIVE: + default: + return _("Tentative"); + } + } + + /** + * Maps a Kronolith attendee response string to a translated string + * suitable for display. + * + * @param integer $response The attendee response; one of the + * KRONOLITH_RESPONSE_XXX constants. + * + * @return string The translated displayable attendee response string. + */ + function responseToString($response) + { + switch ($response) { + case KRONOLITH_RESPONSE_ACCEPTED: + return _("Accepted"); + + case KRONOLITH_RESPONSE_DECLINED: + return _("Declined"); + + case KRONOLITH_RESPONSE_TENTATIVE: + return _("Tentative"); + + case KRONOLITH_RESPONSE_NONE: + default: + return _("None"); + } + } + + /** + * Maps a Kronolith attendee participation string to a translated string + * suitable for display. + * + * @param integer $part The attendee participation; one of the + * KRONOLITH_PART_XXX constants. + * + * @return string The translated displayable attendee participation + * string. + */ + function partToString($part) + { + switch ($part) { + case KRONOLITH_PART_OPTIONAL: + return _("Optional"); + + case KRONOLITH_PART_NONE: + return _("None"); + + case KRONOLITH_PART_REQUIRED: + default: + return _("Required"); + } + } + + /** + * Maps an iCalendar attendee response string to the corresponding + * Kronolith value. + * + * @param string $response The attendee response. + * + * @return string The Kronolith response value. + */ + function responseFromICal($response) + { + switch (String::upper($response)) { + case 'ACCEPTED': + return KRONOLITH_RESPONSE_ACCEPTED; + + case 'DECLINED': + return KRONOLITH_RESPONSE_DECLINED; + + case 'TENTATIVE': + return KRONOLITH_RESPONSE_TENTATIVE; + + case 'NEEDS-ACTION': + default: + return KRONOLITH_RESPONSE_NONE; + } + } + + /** + * Builds the HTML for an event status widget. + * + * @param string $name The name of the widget. + * @param string $current The selected status value. + * @param string $any Whether an 'any' item should be added + * + * @return string The HTML "; + + $statii = array( + KRONOLITH_STATUS_FREE, + KRONOLITH_STATUS_TENTATIVE, + KRONOLITH_STATUS_CONFIRMED, + KRONOLITH_STATUS_CANCELLED + ); + + if (!isset($current)) { + $current = KRONOLITH_STATUS_NONE; + } + + if ($any) { + $html .= ""; + } + + foreach ($statii as $status) { + $html .= ""; + } + $html .= ''; + + return $html; + } + + /** + * Returns all calendars a user has access to, according to several + * parameters/permission levels. + * + * @param boolean $owneronly Only return calenders that this user owns? + * Defaults to false. + * @param integer $permission The permission to filter calendars by. + * + * @return array The calendar list. + */ + function listCalendars($owneronly = false, $permission = PERMS_SHOW) + { + $calendars = $GLOBALS['kronolith_shares']->listShares(Auth::getAuth(), $permission, $owneronly ? Auth::getAuth() : null, 0, 0, 'name'); + if (is_a($calendars, 'PEAR_Error')) { + Horde::logMessage($calendars, __FILE__, __LINE__, PEAR_LOG_ERR); + return array(); + } + + return $calendars; + } + + /** + * Returns the default calendar for the current user at the specified + * permissions level. + */ + function getDefaultCalendar($permission = PERMS_SHOW) + { + global $prefs; + + $default_share = $prefs->getValue('default_share'); + $calendars = Kronolith::listCalendars(false, $permission); + + if (isset($calendars[$default_share]) || + $prefs->isLocked('default_share')) { + return $default_share; + } elseif (isset($GLOBALS['all_calendars'][Auth::getAuth()]) && + $GLOBALS['all_calendars'][Auth::getAuth()]->hasPermission(Auth::getAuth(), $permission)) { + return Auth::getAuth(); + } elseif (count($calendars)) { + return key($calendars); + } + + return false; + } + + /** + * Returns the feed URL for a calendar. + * + * @param string $calendar A calendar name. + * + * @return string The calendar's feed URL. + */ + function feedUrl($calendar) + { + if (isset($GLOBALS['conf']['urls']['pretty']) && + $GLOBALS['conf']['urls']['pretty'] == 'rewrite') { + $feed_url = 'feed/' . $calendar; + } else { + $feed_url = Util::addParameter('feed/index.php', 'c', $calendar); + } + return Horde::applicationUrl($feed_url, true, -1); + } + + /** + * Returs the HTML/javascript snippit needed to embed a calendar in an + * external website. + * + * @param string $calendar A calendar name. + * + * @return string The calendar's embed snippit. + */ + function embedCode($calendar) + { + /* Get the base url */ + $url = Horde::applicationURL('imple.php', true, -1); + + $html = '
      '; + + return $html; + } + + /** + * Returns a comma separated list of attendees. + * + * @return string Attendee list. + */ + function attendeeList() + { + if (!isset($_SESSION['kronolith']['attendees']) || + !is_array($_SESSION['kronolith']['attendees'])) { + return ''; + } + + require_once 'Horde/MIME.php'; + $attendees = array(); + foreach ($_SESSION['kronolith']['attendees'] as $email => $attendee) { + $attendees[] = empty($attendee['name']) ? $email : MIME::trimEmailAddress($attendee['name'] . (strpos($email, '@') === false ? '' : ' <' . $email . '>')); + } + + return implode(', ', $attendees); + } + + /** + * Sends out iTip event notifications to all attendees of a specific + * event. Can be used to send event invitations, event updates as well as + * event cancellations. + * + * @param Kronolith_Event $event The event in question. + * @param Notification $notification A notification object used to show + * result status. + * @param integer $action The type of notification to send. + * One of the KRONOLITH_ITIP_* values. + * @param Horde_Date $instance If cancelling a single instance of a + * recurring event, the date of this + * intance. + */ + function sendITipNotifications(&$event, &$notification, $action, + $instance = null) + { + global $conf; + + $attendees = $event->getAttendees(); + if (!$attendees) { + return; + } + + require_once 'Horde/Identity.php'; + $ident = &Identity::singleton('none', $event->getCreatorId()); + + $myemail = $ident->getValue('from_addr'); + if (!$myemail) { + $notification->push(sprintf(_("You do not have an email address configured in your Personal Information Options. You must set one %shere%s before event notifications can be sent."), Horde::link(Util::addParameter(Horde::url($GLOBALS['registry']->get('webroot', 'horde') . '/services/prefs.php'), array('app' => 'horde', 'group' => 'identities'))), ''), 'horde.error', array('content.raw')); + return; + } + + require_once 'Horde/MIME.php'; + require_once 'Horde/MIME/Headers.php'; + require_once 'Horde/MIME/Message.php'; + + $myemail = explode('@', $myemail); + $from = MIME::rfc822WriteAddress($myemail[0], isset($myemail[1]) ? $myemail[1] : '', $ident->getValue('fullname')); + + $mail_driver = $conf['mailer']['type']; + $mail_params = $conf['mailer']['params']; + if ($mail_driver == 'smtp' && $mail_params['auth'] && + empty($mail_params['username'])) { + $mail_params['username'] = Auth::getAuth(); + $mail_params['password'] = Auth::getCredential('password'); + } + + $share = &$GLOBALS['kronolith_shares']->getShare($event->getCalendar()); + + foreach ($attendees as $email => $status) { + /* Don't bother sending an invitation/update if the recipient does + * not need to participate, or has declined participating, or + * doesn't have an email address. */ + if (strpos($email, '@') === false || + $status['attendance'] == KRONOLITH_PART_NONE || + $status['response'] == KRONOLITH_RESPONSE_DECLINED) { + continue; + } + + /* Determine all notification-specific strings. */ + switch ($action) { + case KRONOLITH_ITIP_CANCEL: + /* Cancellation. */ + $method = 'CANCEL'; + $filename = 'event-cancellation.ics'; + $subject = sprintf(_("Cancelled: %s"), $event->getTitle()); + break; + + case KRONOLITH_ITIP_REQUEST: + default: + if ($status['response'] == KRONOLITH_RESPONSE_NONE) { + /* Invitation. */ + $method = 'REQUEST'; + $filename = 'event-invitation.ics'; + $subject = $event->getTitle(); + } else { + /* Update. */ + $method = 'ADD'; + $filename = 'event-update.ics'; + $subject = sprintf(_("Updated: %s."), $event->getTitle()); + } + break; + } + + $message = $subject . ' (' . + sprintf(_("on %s at %s"), $event->start->strftime('%x'), $event->start->strftime('%X')) . + ")\n\n"; + + if ($event->getLocation() != '') { + $message .= sprintf(_("Location: %s"), $event->getLocation()) . "\n\n"; + } + + if ($event->getAttendees()) { + require_once 'Horde/MIME.php'; + $attendee_list = array(); + foreach ($event->getAttendees() as $mail => $attendee) { + $attendee_list[] = empty($attendee['name']) ? $mail : MIME::trimEmailAddress($attendee['name'] . (strpos($mail, '@') === false ? '' : ' <' . $mail . '>')); + } + $message .= sprintf(_("Attendees: %s"), implode(', ', $attendee_list)) . "\n\n"; + } + + if ($event->getDescription() != '') { + $message .= _("The following is a more detailed description of the event:") . "\n\n" . $event->getDescription() . "\n\n"; + } + $message .= _("Attached is an iCalendar file with more information about the event. If your mail client supports iTip requests you can use this file to easily update your local copy of the event."); + + if ($action == KRONOLITH_ITIP_REQUEST) { + $attend_link = Util::addParameter(Horde::applicationUrl('attend.php', true, -1), array('c' => $event->getCalendar(), 'e' => $event->getId(), 'u' => $email), null, false); + $message .= "\n\n" . sprintf(_("If your email client doesn't support iTip requests you can use one of the following links to accept or decline the event.\n\nTo accept the event:\n%s\n\nTo accept the event tentatively:\n%s\n\nTo decline the event:\n%s\n"), Util::addParameter($attend_link, 'a', 'accept', false), Util::addParameter($attend_link, 'a', 'tentative', false), Util::addParameter($attend_link, 'a', 'decline', false)); + } + + $mime = new MIME_Part('multipart/alternative'); + $body = new MIME_Part('text/plain', $message, NLS::getCharset()); + $body->setTransferEncoding('quoted-printable'); + + require_once 'Horde/Data.php'; + require_once 'Horde/iCalendar.php'; + + $iCal = new Horde_iCalendar(); + $iCal->setAttribute('METHOD', $method); + $iCal->setAttribute('X-WR-CALNAME', String::convertCharset($share->get('name'), NLS::getCharset(), 'utf-8')); + $vevent = $event->toiCalendar($iCal); + if ($action == KRONOLITH_ITIP_CANCEL && !empty($instance)) { + $vevent->setAttribute('RECURRENCE-ID', $instance, array('VALUE' => 'DATE')); + } + $iCal->addComponent($vevent); + $ics = new MIME_Part('text/calendar', $iCal->exportvCalendar()); + $ics->setName($filename); + $ics->setContentTypeParameter('METHOD', $method); + $ics->setCharset(NLS::getCharset()); + + $mime->addPart($body); + $mime->addPart($ics); + $mime = &MIME_Message::convertMimePart($mime); + + /* Build the notification headers. */ + $recipient = empty($status['name']) ? $email : MIME::trimEmailAddress($status['name'] . ' <' . $email . '>'); + + $msg_headers = new MIME_Headers(); + $msg_headers->addReceivedHeader(); + $msg_headers->addMessageIdHeader(); + $msg_headers->addHeader('Date', date('r')); + $msg_headers->addHeader('From', MIME::encodeAddress($from, NLS::getCharset())); + $msg_headers->addHeader('To', MIME::encodeAddress($recipient, NLS::getCharset())); + $msg_headers->addHeader('Subject', MIME::encode($subject, NLS::getCharset())); + require_once KRONOLITH_BASE . '/lib/version.php'; + $msg_headers->addHeader('User-Agent', 'Kronolith ' . KRONOLITH_VERSION); + $msg_headers->addMIMEHeaders($mime); + + $status = $mime->send($email, $msg_headers, $mail_driver, $mail_params); + if (!is_a($status, 'PEAR_Error')) { + $notification->push( + sprintf(_("The event notification to %s was successfully sent."), $recipient), + 'horde.success' + ); + } else { + $notification->push( + sprintf(_("There was an error sending an event notification to %s: %s"), $recipient, $status->getMessage()), + 'horde.error' + ); + } + } + } + + /** + * Sends email notifications that a event has been added, edited, or + * deleted to users that want such notifications. + * + * @param Kronolith_Event $event An event. + * @param string $action The event action. One of "add", "edit", + * or "delete". + */ + function sendNotification(&$event, $action) + { + global $conf; + + if (!in_array($action, array('add', 'edit', 'delete'))) { + return PEAR::raiseError('Unknown event action: ' . $action); + } + + require_once 'Horde/Group.php'; + require_once 'Horde/Identity.php'; + require_once 'Horde/MIME.php'; + require_once 'Horde/MIME/Headers.php'; + require_once 'Horde/MIME/Message.php'; + + $groups = &Group::singleton(); + $calendar = $event->getCalendar(); + $recipients = array(); + $share = &$GLOBALS['kronolith_shares']->getShare($calendar); + if (is_a($share, 'PEAR_Error')) { + return $share; + } + + $identity = &Identity::singleton(); + $from = $identity->getDefaultFromAddress(true); + + $owner = $share->get('owner'); + $recipients[$owner] = Kronolith::_notificationPref($owner, 'owner'); + + foreach ($share->listUsers(PERMS_READ) as $user) { + if (!isset($recipients[$user])) { + $recipients[$user] = Kronolith::_notificationPref($user, 'read', $calendar); + } + } + 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 (!isset($recipients[$user])) { + $recipients[$user] = Kronolith::_notificationPref($user, 'read', $calendar); + } + } + } + + $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']][] = MIME::rfc822WriteAddress($mailbox, $host, $identity->getValue('fullname')); + } + + if (!$addresses) { + return; + } + + $mail_driver = $conf['mailer']['type']; + $mail_params = $conf['mailer']['params']; + if ($mail_driver == 'smtp' && $mail_params['auth'] && + empty($mail_params['username'])) { + $mail_params['username'] = Auth::getAuth(); + $mail_params['password'] = Auth::getCredential('password'); + } + + $msg_headers = new MIME_Headers(); + $msg_headers->addMessageIdHeader(); + $msg_headers->addAgentHeader(); + $msg_headers->addHeader('Date', date('r')); + $msg_headers->addHeader('From', $from); + + foreach ($addresses as $lang => $twentyFour) { + NLS::setLang($lang); + + switch ($action) { + case 'add': + $subject = _("Event added:"); + $notification_message = _("You requested to be notified when events are added to your calendars.") . "\n\n" . _("The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s."); + break; + + case 'edit': + $subject = _("Event edited:"); + $notification_message = _("You requested to be notified when events are edited in your calendars.") . "\n\n" . _("The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s."); + break; + + case 'delete': + $subject = _("Event deleted:"); + $notification_message = _("You requested to be notified when events are deleted from your calendars.") . "\n\n" . _("The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %s."); + break; + } + + $msg_headers->removeHeader('Subject'); + $msg_headers->addHeader('Subject', $subject . ' ' . $event->title); + + foreach ($twentyFour as $tf => $dateFormat) { + foreach ($dateFormat as $df => $df_recipients) { + $message = "\n" + . sprintf($notification_message, + $event->title, + $share->get('name'), + $event->start->strftime($df), + $event->start->strftime($tf ? '%R' : '%I:%M%p')) + . "\n\n" . $event->getDescription(); + + $mime = new MIME_Message(); + $body = new MIME_Part('text/plain', String::wrap($message, 76, "\n"), NLS::getCharset()); + + $mime->addPart($body); + $msg_headers->addMIMEHeaders($mime); + + Horde::logMessage(sprintf('Sending event notifications for %s to %s', $event->title, implode(', ', $df_recipients)), __FILE__, __LINE__, PEAR_LOG_DEBUG); + $sent = $mime->send(implode(', ', $df_recipients), $msg_headers, $mail_driver, $mail_params); + if (is_a($sent, 'PEAR_Error')) { + return $sent; + } + } + } + } + + return true; + } + + /** + * Returns whether a user wants email notifications for a calendar. + * + * @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 + * calendars he owns. If "read", the method checks + * if the user wants notifications for all + * calendars he has read access to, or only for + * shown calendars and the specified calendar is + * currently shown. + * @param string $calendar The name of the calendar if mode is "read". + * + * @return mixed The user's email, time, and language preferences if they + * want a notification for this calendar. + */ + function _notificationPref($user, $mode, $calendar = null) + { + $prefs = &Prefs::singleton($GLOBALS['conf']['prefs']['driver'], + 'kronolith', $user, '', null, + false); + $prefs->retrieve(); + $vals = array('lang' => $prefs->getValue('language'), + 'tf' => $prefs->getValue('twentyFour'), + 'df' => $prefs->getValue('date_format')); + + if ($prefs->getValue('event_notification_exclude_self') && + $user == Auth::getAuth()) { + return false; + } + + switch ($prefs->getValue('event_notification')) { + case 'owner': + return $mode == 'owner' ? $vals : false; + + case 'read': + return $mode == 'read' ? $vals : false; + + case 'show': + if ($mode == 'read') { + $display_calendars = unserialize($prefs->getValue('display_cals')); + return in_array($calendar, $display_calendars) ? $vals : false; + } + } + + return false; + } + + /** + * @return Horde_Date + */ + function currentDate() + { + if ($date = Util::getFormData('date')) { + return new Horde_Date($date . '000000'); + } + if ($date = Util::getFormData('datetime')) { + return new Horde_Date($date); + } + + return new Horde_Date($_SERVER['REQUEST_TIME']); + } + + /** + * Returns the specified permission for the current user. + * + * @since Kronolith 2.1 + * + * @param string $permission A permission, currently only 'max_events'. + * + * @return mixed The value of the specified permission. + */ + function hasPermission($permission) + { + global $perms; + + if (!$perms->exists('kronolith:' . $permission)) { + return true; + } + + $allowed = $perms->getPermissions('kronolith:' . $permission); + if (is_array($allowed)) { + switch ($permission) { + case 'max_events': + $allowed = max($allowed); + break; + } + } + + return $allowed; + } + + /** + * @param string $tabname + */ + function tabs($tabname = null) + { + $date = Kronolith::currentDate(); + $date_stamp = $date->dateString(); + + require_once 'Horde/UI/Tabs.php'; + require_once 'Horde/Variables.php'; + $tabs = new Horde_UI_Tabs('view', Variables::getDefaultVariables()); + $tabs->preserve('date', $date_stamp); + + $tabs->addTab(_("Day"), Horde::applicationUrl('day.php'), + array('tabname' => 'day', 'id' => 'tabday', 'onclick' => 'return ShowView(\'Day\', \'' . $date_stamp . '\');')); + $tabs->addTab(_("Work Week"), Horde::applicationUrl('workweek.php'), + array('tabname' => 'workweek', 'id' => 'tabworkweek', 'onclick' => 'return ShowView(\'WorkWeek\', \'' . $date_stamp . '\');')); + $tabs->addTab(_("Week"), Horde::applicationUrl('week.php'), + array('tabname' => 'week', 'id' => 'tabweek', 'onclick' => 'return ShowView(\'Week\', \'' . $date_stamp . '\');')); + $tabs->addTab(_("Month"), Horde::applicationUrl('month.php'), + array('tabname' => 'month', 'id' => 'tabmonth', 'onclick' => 'return ShowView(\'Month\', \'' . $date_stamp . '\');')); + $tabs->addTab(_("Year"), Horde::applicationUrl('year.php'), + array('tabname' => 'year', 'id' => 'tabyear', 'onclick' => 'return ShowView(\'Year\', \'' . $date_stamp . '\');')); + + if ($tabname === null) { + $tabname = basename($_SERVER['PHP_SELF']) == 'index.php' ? $GLOBALS['prefs']->getValue('defaultview') : str_replace('.php', '', basename($_SERVER['PHP_SELF'])); + } + echo $tabs->render($tabname); + } + + /** + * @param string $tabname + * @param Kronolith_Event $event + */ + function eventTabs($tabname, $event) + { + if (!$event->isInitialized()) { + return; + } + + require_once 'Horde/UI/Tabs.php'; + require_once 'Horde/Variables.php'; + $tabs = new Horde_UI_Tabs('event', Variables::getDefaultVariables()); + + $date = Kronolith::currentDate(); + $tabs->preserve('datetime', $date->dateString()); + + $tabs->addTab( + htmlspecialchars($event->getTitle()), + $event->getViewUrl(), + array('tabname' => 'Event', + 'id' => 'tabEvent', + 'onclick' => 'return ShowTab(\'Event\');')); + if ((!$event->isPrivate() || + $event->getCreatorId() == Auth::getAuth()) && + $event->hasPermission(PERMS_EDIT)) { + $tabs->addTab( + $event->isRemote() ? _("Save As New") : _("_Edit"), + $event->getEditUrl(), + array('tabname' => 'EditEvent', + 'id' => 'tabEditEvent', + 'onclick' => 'return ShowTab(\'EditEvent\');')); + } + if ($event->hasPermission(PERMS_DELETE)) { + $tabs->addTab( + _("De_lete"), + $event->getDeleteUrl(array('confirm' => 1)), + array('tabname' => 'DeleteEvent', + 'id' => 'tabDeleteEvent', + 'onclick' => 'return ShowTab(\'DeleteEvent\');')); + } + $tabs->addTab( + _("Export"), + $event->getExportUrl(), + array('tabname' => 'ExportEvent', + 'id' => 'tabExportEvent')); + + echo $tabs->render($tabname); + } + + /** + * Get a named Kronolith_View_* object and load it with the + * appropriate date parameters. + * + * @param string $view The name of the view. + */ + function getView($view) + { + switch ($view) { + case 'Day': + case 'Month': + case 'Week': + case 'WorkWeek': + case 'Year': + require_once KRONOLITH_BASE . '/lib/Views/' . basename($view) . '.php'; + $class = 'Kronolith_View_' . $view; + return new $class(Kronolith::currentDate()); + + case 'Event': + require_once KRONOLITH_BASE . '/lib/Views/Event.php'; + + if (Util::getFormData('calendar') == '**remote') { + $event = &Kronolith::getRemoteEventObject( + Util::getFormData('remoteCal'), + Util::getFormData('eventID')); + } elseif ($uid = Util::getFormData('uid')) { + $event = &$GLOBALS['kronolith_driver']->getByUID($uid); + } else { + $GLOBALS['kronolith_driver']->open(Util::getFormData('calendar')); + $event = &$GLOBALS['kronolith_driver']->getEvent( + Util::getFormData('eventID')); + } + if (!is_a($event, 'PEAR_Error') && + !$event->hasPermission(PERMS_READ)) { + $event = PEAR::raiseError(_("Permission Denied")); + } + + return new Kronolith_View_Event($event); + + case 'EditEvent': + require_once KRONOLITH_BASE . '/lib/Views/EditEvent.php'; + + if (Util::getFormData('calendar') == '**remote') { + $event = &Kronolith::getRemoteEventObject( + Util::getFormData('remoteCal'), + Util::getFormData('eventID')); + } else { + $GLOBALS['kronolith_driver']->open(Util::getFormData('calendar')); + $event = &$GLOBALS['kronolith_driver']->getEvent( + Util::getFormData('eventID')); + } + if (!is_a($event, 'PEAR_Error') && + !$event->hasPermission(PERMS_EDIT)) { + $event = PEAR::raiseError(_("Permission Denied")); + } + + return new Kronolith_View_EditEvent($event); + + case 'DeleteEvent': + require_once KRONOLITH_BASE . '/lib/Views/DeleteEvent.php'; + + $GLOBALS['kronolith_driver']->open(Util::getFormData('calendar')); + $event = &$GLOBALS['kronolith_driver']->getEvent + (Util::getFormData('eventID')); + if (!is_a($event, 'PEAR_Error') && + !$event->hasPermission(PERMS_DELETE)) { + $event = PEAR::raiseError(_("Permission Denied")); + } + + return new Kronolith_View_DeleteEvent($event); + + case 'ExportEvent': + require_once KRONOLITH_BASE . '/lib/Views/ExportEvent.php'; + + if (Util::getFormData('calendar') == '**remote') { + $event = &Kronolith::getRemoteEventObject( + Util::getFormData('remoteCal'), + Util::getFormData('eventID')); + } elseif ($uid = Util::getFormData('uid')) { + $event = &$GLOBALS['kronolith_driver']->getByUID($uid); + } else { + $GLOBALS['kronolith_driver']->open(Util::getFormData('calendar')); + $event = &$GLOBALS['kronolith_driver']->getEvent( + Util::getFormData('eventID')); + } + if (!is_a($event, 'PEAR_Error') && + !$event->hasPermission(PERMS_READ)) { + $event = PEAR::raiseError(_("Permission Denied")); + } + + return new Kronolith_View_ExportEvent($event); + } + } + + /** + * Should we show event location, based on the show_location + * preference and $print_view? + */ + function viewShowLocation() + { + $show = @unserialize($GLOBALS['prefs']->getValue('show_location')); + if (!empty($GLOBALS['print_view'])) { + return @in_array('print', $show); + } else { + return @in_array('screen', $show); + } + } + + /** + * Should we show event time, based on the show_time preference + * and $print_view? + */ + function viewShowTime() + { + $show = @unserialize($GLOBALS['prefs']->getValue('show_time')); + if (!empty($GLOBALS['print_view'])) { + return @in_array('print', $show); + } else { + return @in_array('screen', $show); + } + } + + /** + * Builds Kronolith's list of menu items. + */ + function getMenu($returnType = 'object') + { + global $conf, $registry, $browser, $prefs; + + /* Check here for guest calendars so that we don't get multiple + * messages after redirects, etc. */ + if (!Auth::getAuth() && !count($GLOBALS['all_calendars'])) { + $GLOBALS['notification']->push(_("No calendars are available to guests.")); + } + + require_once 'Horde/Menu.php'; + $menu = new Menu(); + + $menu->add(Horde::applicationUrl($prefs->getValue('defaultview') . '.php'), _("_Today"), 'today.png', null, null, null, '__noselection'); + if (Kronolith::getDefaultCalendar(PERMS_EDIT) && + (!empty($conf['hooks']['permsdenied']) || + Kronolith::hasPermission('max_events') === true || + Kronolith::hasPermission('max_events') > Kronolith::countEvents())) { + $menu->add(Util::addParameter(Horde::applicationUrl('new.php'), 'url', Horde::selfUrl(true, false, true)), _("_New Event"), 'new.png'); + } + if ($browser->hasFeature('dom')) { + Horde::addScriptFile('goto.js', 'kronolith'); + $menu->add('#', _("_Goto"), 'goto.png', null, '', 'openKGoto(kronolithDate, event); return false;'); + } + $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'] && ($view = Util::nonInputVar('view'))) { + $menu->add(Util::addParameter($view->link(), 'print', 1), _("_Print"), 'print.png', $registry->getImageDir('horde'), '_blank', 'popup(kronolithPrintLink ? kronolithPrintLink : this.href); return false;', '__noselection'); + } + + if ($returnType == 'object') { + return $menu; + } else { + return $menu->render(); + } + } + + /** + * Used with usort() to sort events based on their start times. + */ + function _sortEventStartTime($a, $b) + { + $diff = $a->start->compareDateTime($b->start); + if ($diff == 0) { + return strcoll($a->title, $b->title); + } else { + return $diff; + } + } + +} diff --git a/kronolith/lib/Maintenance/Task/purge_events.php b/kronolith/lib/Maintenance/Task/purge_events.php new file mode 100644 index 000000000..61d654fb6 --- /dev/null +++ b/kronolith/lib/Maintenance/Task/purge_events.php @@ -0,0 +1,78 @@ + + * @package Horde_Maintenance + */ +class Maintenance_Task_purge_events extends Maintenance_Task { + + /** + * Purge old messages in the Trash folder. + * + * @return boolean Whether any messages were purged from the Trash folder. + */ + function doMaintenance() + { + global $prefs, $kronolith_driver, $notification; + + /* Get the current time minus the number of days specified in + * 'purge_events_keep'. An event will be deleted if it has an end + * time prior to this time. */ + $del_time = new Horde_Date($_SERVER['REQUEST_TIME']); + $del_time -= $prefs->getValue('purge_events_keep'); + $del_time->correct(); + + /* Need to have PERMS_DELETE on a calendar to delete events from it */ + $calendars = Kronolith::listCalendars(false, PERMS_DELETE); + + /* Start building an event object to use for the search */ + $query = &$kronolith_driver->getEvent(); + $query->start = null; + $query->end = $del_time; + $query->category = null; + $query->status = null; + $query->calendars = array_keys($calendars); + $query->creatorID = Auth::getAuth(); + + /* Perform the search */ + $events = Kronolith::search($query); + $count = 0; + foreach ($events as $event) { + if (!$event->recurs()) { + if ($event->getCalendar() != $kronolith_driver->getCalendar()) { + $kronolith_driver->open($event->getCalendar()); + } + $results = $kronolith_driver->deleteEvent($event->getId(), true); + ++$count; + if (is_a($results, 'PEAR_Error')) { + Horde::logMessage($results, __FILE__, __LINE__, PEAR_LOG_ERR); + return $results; + } + } + } + $notification->push(sprintf(ngettext("Deleted %d event older than %d days.", "Deleted %d events older than %d days.", $count), $count, $prefs->getValue('purge_events_keep'))); + + return true; + } + + /** + * Return information for the maintenance function. + * + * @return string Description of what the operation is going to do during + * this login. + */ + function describeMaintenance() + { + return sprintf(_("All of your events older than %d days will be permanently deleted."), + $GLOBALS['prefs']->getValue('purge_events_keep')); + } + +} diff --git a/kronolith/lib/Maintenance/kronolith.php b/kronolith/lib/Maintenance/kronolith.php new file mode 100644 index 000000000..005c1f724 --- /dev/null +++ b/kronolith/lib/Maintenance/kronolith.php @@ -0,0 +1,68 @@ +get('fileroot', 'kronolith') . '/lib/base.php'; + +/** + * $Horde: kronolith/lib/Maintenance/kronolith.php,v 1.2 2009/01/06 18:01:01 jan Exp $ + * + * The Maintenance_Kronolith class defines the maintenance operations run upon + * login to Kronolith + * + * Copyright 2008-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. + * + * @since Kronolith 2.2.1 + * @package Horde_Maintenance + */ +class Maintenance_Kronolith extends Maintenance { + + /** + * Hash holding maintenance preference names. + * + * @var array + */ + var $maint_tasks = array( + 'purge_events' => MAINTENANCE_MONTHLY + ); + + /** + * Execute all confirmed tasks. + * + * FIXME: This has to be overridden here since the parent's method will + * set the global last_maintenance pref...and mess up IMP's maintenance. + * This needs to be fixed for Horde 4. + * + * @access private + */ + function _doMaintenanceTasks() + { + $tasks = $this->_tasklist->getList(); + + foreach ($tasks as $key => $val) { + if ($val['newpage']) { + if ($this->_tasklist->processed()) { + $this->_tasklist->setNewPage($key, false); + } + break; + } elseif ($val['confirmed'] || + Util::getFormData($key . '_confirm')) { + /* Perform maintenance if confirmed. */ + $mod = &$this->_loadModule($key); + $mod->doMaintenance(); + } + $this->_tasklist->removeTask($key); + } + + /* If we've successfully completed every task in the list (or skipped + * it), record now as the last time maintenance was run. */ + if (!count($this->_tasklist->getList())) { + $GLOBALS['prefs']->setValue('last_kronolith_maintenance', time()); + } + } + + + +} diff --git a/kronolith/lib/Scheduler/kronolith.php b/kronolith/lib/Scheduler/kronolith.php new file mode 100644 index 000000000..17d98dcfb --- /dev/null +++ b/kronolith/lib/Scheduler/kronolith.php @@ -0,0 +1,296 @@ +pushApp('kronolith', false); + + // Notification instance for code that relies on it. + $GLOBALS['notification'] = &Notification::singleton(); + + // Create a share instance. This must exist in the global scope for + // Kronolith's API calls to function properly. + $GLOBALS['shares'] = &Horde_Share::singleton($GLOBALS['registry']->getApp()); + + // Create a calendar backend object. This must exist in the global + // scope for Kronolith's API calls to function properly. + $GLOBALS['kronolith_driver'] = &Kronolith_Driver::factory(); + } + + /** + */ + function run() + { + if (isset($_SERVER['REQUEST_TIME'])) { + $this->_runtime = $_SERVER['REQUEST_TIME']; + } else { + $this->_runtime = time(); + } + + // If we haven't fetched the list of calendars in over an hour, + // re-list to pick up any new ones. + if ($this->_runtime - $this->_listtime > 3600) { + $this->_listtime = $this->_runtime; + $this->_calendars = $GLOBALS['shares']->listAllShares(); + } + + // If there are no calendars to check, we're done. + if (!count($this->_calendars)) { + return; + } + + if (!empty($GLOBALS['conf']['reminder']['server_name'])) { + $GLOBALS['conf']['server']['name'] = $GLOBALS['conf']['reminder']['server_name']; + } + + // Send agendas every hour. + if ($this->_runtime - $this->_agendatime >= 0) { + $this->agenda(); + } + } + + /** + */ + function agenda() + { + // Send agenda only once per day. + if (date('z', $this->_runtime) == date('z', $this->_agendatime)) { + //return; + } + + // Retrieve a list of users associated with each calendar, and + // thus a list of users who have used kronolith and + // potentially have an agenda preference set. + $users = array(); + + foreach (array_keys($this->_calendars) as $calendarId) { + $calendar = $GLOBALS['shares']->getShare($calendarId); + if (is_a($calendar, 'PEAR_Error')) { + continue; + } + $users = array_merge($users, $calendar->listUsers(PERMS_READ)); + } + + // Remove duplicates. + $users = array_unique($users); + + $runtime = new Horde_Date($this->_runtime); + $default_timezone = date_default_timezone_get(); + + // Loop through the users and generate an agenda for them + foreach ($users as $user) { + $prefs = &Prefs::singleton($GLOBALS['conf']['prefs']['driver'], + 'kronolith', $user); + $prefs->retrieve(); + $agenda_calendars = $prefs->getValue('daily_agenda'); + + // Check if user has a timezone pref, and set it. Otherwise, make + // sure to use the server's default timezone. + $tz = $prefs->getValue('timezone'); + date_default_timezone_set(empty($tz) ? $default_timezone : $tz); + + if (!$agenda_calendars) { + continue; + } + + require_once 'Horde/Identity.php'; + require_once 'Horde/MIME.php'; + require_once 'Horde/MIME/Headers.php'; + require_once 'Horde/MIME/Message.php'; + + // try to find an email address for the user + $identity = &Identity::singleton('none', $user); + $email = $identity->getValue('from_addr'); + if (strstr($email, '@')) { + list($mailbox, $host) = explode('@', $email); + $email = MIME::rfc822WriteAddress($mailbox, $host, + $identity->getValue('fullname')); + } + + if (empty($email)) { + continue; + } + + // If we found an email address, generate the agenda. + switch ($agenda_calendars) { + case 'owner': + $calendars = $GLOBALS['shares']->listShares($user, PERMS_SHOW, + $user); + break; + case 'read': + $calendars = $GLOBALS['shares']->listShares($user, PERMS_SHOW, + null); + break; + case 'show': + default: + $calendars = array(); + $shown_calendars = unserialize($prefs->getValue('display_cals')); + $cals = $GLOBALS['shares']->listShares( + $user, PERMS_SHOW, null); + foreach ($cals as $calId => $cal) { + if (in_array($calId, $shown_calendars)) { + $calendars[$calId] = $cal; + } + } + } + + // Get a list of events for today + $eventlist = array(); + foreach ($calendars as $calId => $calendar) { + $GLOBALS['kronolith_driver']->open($calId); + $events = $GLOBALS['kronolith_driver']->listEvents($runtime, + $runtime); + foreach ($events as $eventId) { + $event = $GLOBALS['kronolith_driver']->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + // The event list contains events starting at 12am. + if ($event->start->mday != $runtime->mday) { + continue; + } + $eventlist[$event->start->strftime('%Y%m%d%H%M%S')] = $event; + } + } + + if (!count($eventlist)) { + continue; + } + + // If there are any events, generate and send the email. + ksort($eventlist); + $lang = $prefs->getValue('language'); + $twentyFour = $prefs->getValue('twentyFour'); + $dateFormat = $prefs->getValue('date_format'); + + $msg_headers = new MIME_Headers(); + $msg_headers->addMessageIdHeader(); + $msg_headers->addAgentHeader(); + $msg_headers->addHeader('Date', date('r')); + $msg_headers->addHeader('To', 'CalendarReminders:;'); + $msg_headers->addHeader('From', $GLOBALS['conf']['reminder']['from_addr']); + + $mail_driver = $GLOBALS['conf']['mailer']['type']; + $mail_params = $GLOBALS['conf']['mailer']['params']; + if ($mail_driver == 'smtp' && $mail_params['auth'] && + empty($mail_params['username'])) { + Horde::logMessage('Agenda Notifications don\'t work with user based SMTP authentication.', + __FILE__, __LINE__, PEAR_LOG_ERR); + return; + } + + NLS::setLang($lang); + NLS::setTextdomain('kronolith', KRONOLITH_BASE . '/locale', + NLS::getCharset()); + String::setDefaultCharset(NLS::getCharset()); + $pad = max(String::length(_("All day")) + 2, $twentyFour ? 6 : 8); + + $msg_headers->removeHeader('Subject'); + $msg_headers->addHeader( + 'Subject', + sprintf(_("Your daily agenda for %s"), + strftime($dateFormat, $this->_runtime))); + + $message = sprintf(_("Your daily agenda for %s"), + strftime($dateFormat, $this->_runtime)) + . "\n\n"; + foreach ($eventlist as $event) { + if ($event->isAllDay()) { + $message .= str_pad(_("All day") . ':', $pad); + } else { + $message .= str_pad($event->start->format($twentyFour ? 'H:i' : 'h:ia'), + $pad); + } + $message .= $event->title . "\n"; + } + + $mime = new MIME_Message(); + $body = new MIME_Part('text/plain', + String::wrap($message, 76, "\n"), + NLS::getCharset()); + + $mime->addPart($body); + $msg_headers->addMIMEHeaders($mime); + + Horde::logMessage(sprintf('Sending daily agenda to %s', $email), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + $sent = $mime->send($email, $msg_headers, $mail_driver, + $mail_params); + if (is_a($sent, 'PEAR_Error')) { + return $sent; + } + } + + $this->_agendatime = $this->_runtime; + } + +} diff --git a/kronolith/lib/Storage.php b/kronolith/lib/Storage.php new file mode 100644 index 000000000..f2aaf6d7f --- /dev/null +++ b/kronolith/lib/Storage.php @@ -0,0 +1,142 @@ + + * @package Kronolith + */ +class Kronolith_Storage { + + /** + * String containing the current username. + * + * @var string + */ + var $_user = ''; + + /** + * Attempts to return a concrete Kronolith_Storage instance based on $driver. + * + * @param string $driver The type of concrete Kronolith_Storage subclass + * to return. The is based on the storage + * driver ($driver). The code is dynamically + * included. + * + * @param string $user The name of the user who owns the free/busy + * information + * + * @param array $params (optional) A hash containing any additional + * configuration or connection parameters a + * subclass might need. + * + * @return mixed The newly created concrete Kronolith_Storage instance, or + * false on an error. + */ + function &factory($user = null, $driver = null, $params = null) + { + if (is_null($user)) { + $user = Auth::getAuth(); + } + + if (is_null($driver)) { + $driver = $GLOBALS['conf']['storage']['driver']; + } + + $driver = basename($driver); + + if (is_null($params)) { + $params = Horde::getDriverConfig('storage', $driver); + } + + require_once dirname(__FILE__) . '/Storage/' . $driver . '.php'; + $class = 'Kronolith_Storage_' . $driver; + if (class_exists($class)) { + $driver = &new $class($user, $params); + } else { + $driver = PEAR::raiseError(sprintf(_("Unable to load the definition of %s."), $class)); + return $driver; + } + + $result = $driver->initialize(); + if (is_a($result, 'PEAR_Error')) { + $driver = &new Kronolith_Storage($params); + } + + return $driver; + } + + /** + * Attempts to return a reference to a concrete Kronolith_Storage instance + * based on $driver. It will only create a new instance if no + * Kronolith_Storage instance with the same parameters currently exists. + * + * This should be used if multiple storage sources are required. + * + * This method must be invoked as: $var = &Kronolith_Storage::singleton() + * + * @param string $driver The type of concrete Kronolith_Storage subclass + * to return. The is based on the storage + * driver ($driver). The code is dynamically + * included. + * + * @param string $user The name of the user who owns the free/busy + * information + * + * @param array $params (optional) A hash containing any additional + * configuration or connection parameters a + * subclass might need. + * + * @return mixed The created concrete Kronolith_Storage instance, or false + * on error. + */ + function &singleton($user = null, $driver = null, $params = null) + { + static $instances = array(); + + if (is_null($user)) { + $user = Auth::getAuth(); + } + + if (is_null($driver)) { + $driver = $GLOBALS['conf']['storage']['driver']; + } + + if (is_null($params)) { + $params = Horde::getDriverConfig('storage', $driver); + } + + $signature = serialize(array($user, $driver, $params)); + if (!isset($instances[$signature])) { + $instances[$signature] = &Kronolith_Storage::factory($user, $driver, $params); + } + + return $instances[$signature]; + } + + /** + * Stub to initiate a driver. + */ + function initialize() + { + return true; + } + + /** + * Stub to be overridden in the child class. + */ + function search() + { + return PEAR::raiseError(_("Searching free/busy is not available.")); + } + + /** + * Stub to be overridden in the child class. + */ + function store() + { + return PEAR::raiseError(_("Storing free/busy is not available.")); + } + +} diff --git a/kronolith/lib/Storage/kolab.php b/kronolith/lib/Storage/kolab.php new file mode 100644 index 000000000..3e958eee7 --- /dev/null +++ b/kronolith/lib/Storage/kolab.php @@ -0,0 +1,88 @@ + + * @package Kronolith + */ +class Kronolith_Storage_kolab extends Kronolith_Storage { + + var $_params = array(); + + function Kronolith_Storage_kolab($user, $params = array()) + { + $this->_user = $user; + $this->_params = $params; + } + + function search($email, $private_only = false) + { + global $conf; + + @include_once 'Horde/Kolab/Session.php'; + + if (class_exists('Horde_Kolab_Session')) { + $session = &Horde_Kolab_Session::singleton(); + $server = $session->freebusy_server; + } else if (!is_callable('Kolab', 'getServer')) { + $server = sprintf('%s://%s:%d/freebusy/', + $conf['storage']['freebusy']['protocol'], + $conf['kolab']['imap']['server'], + $conf['storage']['freebusy']['port']); + } else { + $server = sprintf('%s://%s:%d/freebusy/', + $conf['storage']['freebusy']['protocol'], + Kolab::getServer('imap'), + $conf['storage']['freebusy']['port']); + } + + $fb_url = sprintf('%s/%s.xfb', $server, $email); + + $options['method'] = 'GET'; + $options['timeout'] = 5; + $options['allowRedirects'] = true; + + if (!empty($GLOBALS['conf']['http']['proxy']['proxy_host'])) { + $options = array_merge($options, $GLOBALS['conf']['http']['proxy']); + } + + require_once 'HTTP/Request.php'; + $http = new HTTP_Request($fb_url, $options); + $http->setBasicAuth(Auth::getAuth(), Auth::getCredential('password')); + @$http->sendRequest(); + if ($http->getResponseCode() != 200) { + return PEAR::raiseError(sprintf(_("Unable to retrieve free/busy information for %s"), + $email), KRONOLITH_ERROR_FB_NOT_FOUND); + } + $vfb_text = $http->getResponseBody(); + + $iCal = new Horde_iCalendar; + $iCal->parsevCalendar($vfb_text); + + $vfb = &$iCal->findComponent('VFREEBUSY'); + if ($vfb === false) { + return PEAR::raiseError(sprintf(_("No free/busy information is available for %s"), + $email), KRONOLITH_ERROR_FB_NOT_FOUND); + } + + return $vfb; + } + + function store($email, $vfb, $public = false) + { + // We don't care about storing FB info at the moment; we rather let + // Kolab's freebusy.php script auto-generate it for us. + return true; + } + +} diff --git a/kronolith/lib/Storage/sql.php b/kronolith/lib/Storage/sql.php new file mode 100644 index 000000000..3bc1c959f --- /dev/null +++ b/kronolith/lib/Storage/sql.php @@ -0,0 +1,187 @@ + + * @package Kronolith + */ +class Kronolith_Storage_sql extends Kronolith_Storage { + + /** + * Handle for the current database connection, used for reading. + * + * @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; + + /** + * Hash containing connection parameters. + * + * @var array + */ + var $_params = array(); + + /** + * Constructs a new Kronolith_Storage SQL instance. + * + * @param array $params A hash containing connection parameters. + */ + function Kronolith_Storage_sql($user, $params = array()) + { + $this->_user = $user; + + /* Use defaults where needed. */ + $this->_params = $params; + $this->_params['table'] = isset($params['table']) ? $params['table'] : 'kronolith_storage'; + } + + /** + * Connect to the database + * + * @return boolean True on success or PEAR_Error on failure. + */ + function initialize() + { + Horde::assertDriverConfig($this->_params, 'storage', + array('phptype'), + 'kronolith storage SQL'); + + if (!isset($this->_params['database'])) { + $this->_params['database'] = ''; + } + if (!isset($this->_params['username'])) { + $this->_params['username'] = ''; + } + if (!isset($this->_params['hostspec'])) { + $this->_params['hostspec'] = ''; + } + + /* Connect to the SQL server using the supplied parameters. */ + include_once 'DB.php'; + $this->_write_db = &DB::connect($this->_params, + array('persistent' => !empty($this->_params['persistent']))); + if (is_a($this->_write_db, 'PEAR_Error')) { + return PEAR::raiseError(_("Unable to connect to SQL server.")); + } + + // 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']))); + 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; + } + + /** + * Search for a user's free/busy information. + * + * @param string $email The email address to lookup + * @param boolean $private_only (optional) Only return free/busy + * information owned by this used. + * + * @return object Horde_iCalendar_vFreebusy on success + * PEAR_Error on error or not found + */ + function search($email, $private_only = false) + { + /* Build the SQL query. */ + $query = sprintf('SELECT vfb_serialized FROM %s WHERE vfb_email=? AND (vfb_owner=?', + $this->_params['table']); + $values = array($email, $this->_user); + + if ($private_only) { + $query .= ')'; + } else { + $query .= " OR vfb_owner='')"; + } + + /* Log the query at debug level. */ + Horde::logMessage(sprintf('SQL search by %s: query = "%s"', + Auth::getAuth(), $query), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + /* Execute the query. */ + $result = $this->_db->query($query, $values); + if (!is_a($result, 'PEAR_Error')) { + $row = $result->fetchRow(DB_GETMODE_ASSOC); + $result->free(); + if (is_array($row)) { + /* Retrieve Freebusy object. TODO: check for multiple + * results and merge them into one and return. */ + require_once 'Horde/Serialize.php'; + $vfb = Horde_Serialize::unserialize($row['vfb_serialized'], SERIALIZE_BASIC); + return $vfb; + } + } + return PEAR::raiseError(_("Not found"), KRONOLITH_ERROR_FB_NOT_FOUND); + } + + /** + * Store the freebusy information for a given email address. + * + * @param string $email The email address to store fb info for. + * @param Horde_iCalendar_vFreebusy $vfb TODO + * @param boolean $private_only (optional) TODO + * + * @return boolean True on success + * PEAR_Error on error or not found + */ + function store($email, $vfb, $public = false) + { + $owner = (!$public) ? $this->_user : ''; + + /* Build the SQL query. */ + require_once 'Horde/Serialize.php'; + $query = sprintf('INSERT INTO %s (vfb_owner, vfb_email, vfb_serialized) VALUES (?, ?, ?)', + $this->_params['table']); + $values = array($owner, $email, Horde_Serialize::serialize($vfb, SERIALIZE_BASIC)); + + /* Log the query at debug level. */ + Horde::logMessage(sprintf('SQL insert by %s: query = "%s"', + Auth::getAuth(), $query), + __FILE__, __LINE__, PEAR_LOG_DEBUG); + + /* Execute the query. */ + return $this->_write_db->query($query, $values); + } + +} diff --git a/kronolith/lib/Views/Day.php b/kronolith/lib/Views/Day.php new file mode 100644 index 000000000..acbf9228d --- /dev/null +++ b/kronolith/lib/Views/Day.php @@ -0,0 +1,504 @@ + + * @author Jan Schneider + * @since Kronolith 0.1 + * @package Kronolith + */ +class Kronolith_View_Day extends Kronolith_Day { + + var $_events = array(); + var $_all_day_events = array(); + var $_all_day_rowspan = array(); + var $_all_day_maxrowspan = 0; + var $_event_matrix = array(); + var $_parsed = false; + var $_span = array(); + var $_totalspan = 0; + var $_sidebyside = false; + var $_currentCalendars = array(); + var $_first; + var $_last; + + function Kronolith_View_Day($date, $events = null) + { + parent::Kronolith_Day($date->month, $date->mday, $date->year); + + $this->_sidebyside = $GLOBALS['prefs']->getValue('show_shared_side_by_side'); + if ($this->_sidebyside) { + $allCalendars = Kronolith::listCalendars(); + foreach ($GLOBALS['display_calendars'] as $cid) { + $this->_currentCalendars[$cid] = &$allCalendars[$cid]; + $this->_all_day_events[$cid] = array(); + } + } else { + $this->_currentCalendars = array(0); + } + + if ($events === null) { + $events = Kronolith::listEvents( + $this, + new Horde_Date(array('year' => $this->year, + 'month' => $this->month, + 'mday' => $this->mday, + 'hour' => 23, 'min' => 59, 'sec' => 59)), + $GLOBALS['display_calendars']); + if (is_a($events, 'PEAR_Error')) { + $this->_events = $events; + } else { + $this->_events = array_shift($events); + } + } else { + $this->_events = $events; + } + + if (is_a($this->_events, 'PEAR_Error')) { + $GLOBALS['notification']->push($this->_events, 'horde.error'); + $this->_events = array(); + } + if (!is_array($this->_events)) { + $this->_events = array(); + } + } + + function setEvents($events) + { + $this->_events = $events; + } + + function html() + { + global $prefs; + + if (!$this->_parsed) { + $this->parse(); + } + + $started = false; + $first_row = true; + $addLinks = Kronolith::getDefaultCalendar(PERMS_EDIT) && + (!empty($GLOBALS['conf']['hooks']['permsdenied']) || + Kronolith::hasPermission('max_events') === true || + Kronolith::hasPermission('max_events') > Kronolith::countEvents()); + $showLocation = Kronolith::viewShowLocation(); + $showTime = Kronolith::viewShowTime(); + + require KRONOLITH_TEMPLATES . '/day/head.inc'; + if ($this->_sidebyside) { + require KRONOLITH_TEMPLATES . '/day/head_side_by_side.inc'; + } + echo ''; + + $eventCategories = array(); + + if ($addLinks) { + $newEventUrl = Util::addParameter( + 'new.php', + array('datetime' => sprintf($this->dateString() . '%02d%02d00', + $this->slots[0]['hour'], $this->slots[0]['min']), + 'allday' => 1, + 'url' => $this->link(0, true))); + $newEventUrl = Horde::link(Horde::applicationUrl($newEventUrl), _("Create a New Event"), 'hour') . _("All day") . + Horde::img('new_small.png', '+', array('class' => 'iconAdd')) . ''; + } else { + $newEventUrl = '' . _("All day") . ''; + } + + /* The all day events are not listed in different columns, but in + * different rows. In side by side view we do not spread an event + * over multiple rows if there are different numbers of all day events + * for different calendars. We just put one event in a single row + * with no rowspan. We put in a rowspan in the row after the last + * event to fill all remaining rows. */ + $row = ''; + $rowspan = ($this->_all_day_maxrowspan) ? ' rowspan="' . $this->_all_day_maxrowspan . '"' : ''; + for ($k = 0; $k < $this->_all_day_maxrowspan; ++$k) { + $row = ''; + foreach ($this->_currentCalendars as $cid => $cal) { + if (count($this->_all_day_events[$cid]) === $k) { + // There are no events or all events for this calendar + // have already been printed. + $row .= ' '; + } elseif (count($this->_all_day_events[$cid]) > $k) { + // We have not printed every all day event yet. Put one + // into this row. + $event = $this->_all_day_events[$cid][$k]; + if ($event->hasPermission(PERMS_READ)) { + $eventCategories[$event->getCategory()] = true; + } + + $row .= '' + . $event->getLink($this, true, $this->link(0, true)); + if ($showLocation) { + $row .= '
      ' . htmlspecialchars($event->getLocation()) . '
      '; + } + $row .= ''; + } + } + require KRONOLITH_TEMPLATES . '/day/all_day.inc'; + $first_row = false; + } + + if ($first_row) { + $row .= ' '; + require KRONOLITH_TEMPLATES . '/day/all_day.inc'; + } + + $day_hour_force = $prefs->getValue('day_hour_force'); + $day_hour_start = $prefs->getValue('day_hour_start') / 2 * $this->_slotsPerHour; + $day_hour_end = $prefs->getValue('day_hour_end') / 2 * $this->_slotsPerHour; + $rows = array(); + $covered = array(); + + for ($i = 0; $i < $this->_slotsPerDay; ++$i) { + if ($i >= $day_hour_end && $i > $this->_last) { + break; + } + if ($i < $this->_first && $i < $day_hour_start) { + continue; + } + + $row = ''; + if (($m = $i % $this->_slotsPerHour) != 0) { + $time = ':' . $m * $this->_slotLength; + $hourclass = 'halfhour'; + } else { + $time = Kronolith_View_Day::prefHourFormat($this->slots[$i]['hour']); + $hourclass = 'hour'; + } + + if (!count($this->_currentCalendars)) { + $row .= ' '; + } + + foreach ($this->_currentCalendars as $cid => $cal) { + $hspan = 0; + foreach ($this->_event_matrix[$cid][$i] as $key) { + $event = &$this->_events[$key]; + + // Since we've made sure that this event's overlap is a + // factor of the total span, we get this event's + // individual span by dividing the total span by this + // event's overlap. + $span = $this->_span[$cid] / $event->overlap; + + // Store the indent we're starting this event at + // for future use. + if (!isset($event->indent)) { + $event->indent = $hspan; + } + + // If the first node that we would cover is + // already covered, we can assume that table + // rendering will take care of pushing the event + // over. However, if the first node _isn't_ + // covered but any others that we would cover + // _are_, we only cover the available nodes. + if (!isset($covered[$i][$event->indent])) { + $collision = false; + $available = 0; + for ($y = $event->indent; $y < ($span + $event->indent); ++$y) { + if (isset($covered[$i][$y])) { + $collision = true; + break; + } + $available++; + } + + if ($collision) { + $span = $available; + } + } + + $hspan += $span; + + $start = new Horde_Date(array( + 'hour' => floor($i / $this->_slotsPerHour), + 'min' => ($i % $this->_slotsPerHour) * $this->_slotLength, + 'month' => $this->month, + 'mday' => $this->mday, + 'year' => $this->year)); + $end_slot = new Horde_Date($start); + $end_slot->min += $this->_slotLength; + $end_slot->correct(); + if (((!$day_hour_force || $i >= $day_hour_start) && + $event->start->compareDateTime($start) >= 0 && + $event->start->compareDateTime($end_slot) < 0 || + $start->compareDateTime($this) == 0) || + ($day_hour_force && + $i == $day_hour_start && + $event->start->compareDateTime($start) < 0)) { + if ($event->hasPermission(PERMS_READ)) { + $eventCategories[$event->getCategory()] = true; + } + + // Store the nodes that we're covering for + // this event in the coverage graph. + for ($x = $i; $x < ($i + $event->rowspan); ++$x) { + for ($y = $event->indent; $y < $hspan; ++$y) { + $covered[$x][$y] = true; + } + } + + $row .= '' + . $event->getLink($this, true, $this->link(0, true)); + if ($showTime) { + $row .= '
      ' . htmlspecialchars($event->getTimeRange()) . '
      '; + } + if ($showLocation) { + $row .= '
      ' . htmlspecialchars($event->getLocation()) . '
      '; + } + $row .= ''; + } + } + + $diff = $this->_span[$cid] - $hspan; + if ($diff > 0) { + $row .= str_repeat(' ', $diff); + } + } + + if ($addLinks) { + $newEventUrl = Util::addParameter( + 'new.php', + array('datetime' => sprintf($this->dateString() . '%02d%02d00', + $this->slots[$i]['hour'], $this->slots[$i]['min']), + 'url' => $this->link(0, true))); + $newEventUrl = Horde::link(Horde::applicationUrl($newEventUrl), _("Create a New Event"), $hourclass) . + $time . Horde::img('new_small.png', '+', array('class' => 'iconAdd')) . ''; + } else { + $newEventUrl = '' . $time . ''; + } + + $rows[] = array('row' => $row, 'slot' => $newEventUrl); + } + + require_once 'Horde/Template.php'; + $template = new Horde_Template(); + $template->set('row_height', round(20 / $this->_slotsPerHour)); + $template->set('rows', $rows); + $template->set('show_slots', true, true); + echo $template->fetch(KRONOLITH_TEMPLATES . '/day/rows.html') + . ''; + + require KRONOLITH_TEMPLATES . '/category_legend.inc'; + } + + /** + * This function runs through the events and tries to figure out + * what should be on each line of the output table. This is a + * little tricky. + */ + function parse() + { + global $prefs; + + $tmp = array(); + $this->_all_day_maxrowspan = 0; + $day_hour_force = $prefs->getValue('day_hour_force'); + $day_hour_start = $prefs->getValue('day_hour_start') / 2 * $this->_slotsPerHour; + $day_hour_end = $prefs->getValue('day_hour_end') / 2 * $this->_slotsPerHour; + + // Separate out all day events and do some initialization/prep + // for parsing. + foreach ($this->_currentCalendars as $cid => $cal) { + $this->_all_day_events[$cid] = array(); + $this->_all_day_rowspan[$cid] = 0; + } + + foreach ($this->_events as $key => $event) { + // If we have side_by_side we only want to include the + // event in the proper calendar. + if ($this->_sidebyside) { + $cid = $event->getCalendar(); + } else { + $cid = 0; + } + + // All day events are easy; store them seperately. + if ($event->isAllDay()) { + $this->_all_day_events[$cid][] = &Util::cloneObject($event); + ++$this->_all_day_rowspan[$cid]; + $this->_all_day_maxrowspan = max($this->_all_day_maxrowspan, $this->_all_day_rowspan[$cid]); + } else { + // Initialize the number of events that this event + // overlaps with. + $event->overlap = 0; + + // Initialize this event's vertical span. + $event->rowspan = 0; + + $tmp[] = &Util::cloneObject($event); + } + } + $this->_events = $tmp; + + // Initialize the set of different rowspans needed. + $spans = array(1 => true); + + // Track the first and last slots in which we have an event + // (they each start at the other end of the day and move + // towards/past each other as we find events). + $this->_first = $this->_slotsPerDay; + $this->_last = 0; + + // Run through every slot, adding in entries for every event + // that we have here. + for ($i = 0; $i < $this->_slotsPerDay; ++$i) { + // Initialize this slot in the event matrix. + foreach ($this->_currentCalendars as $cid => $cal) { + $this->_event_matrix[$cid][$i] = array(); + } + + // Calculate the start and end times for this slot. + $start = new Horde_Date(array( + 'hour' => floor($i / $this->_slotsPerHour), + 'min' => ($i % $this->_slotsPerHour) * $this->_slotLength, + 'month' => $this->month, + 'mday' => $this->mday, + 'year' => $this->year)); + $end = clone $start; + $end->min += $this->_slotLength; + $end->correct(); + + // Search through our events. + foreach ($this->_events as $key => $event) { + // If we have side_by_side we only want to include the + // event in the proper calendar. + if ($this->_sidebyside) { + $cid = $event->getCalendar(); + } else { + $cid = 0; + } + + // If the event falls anywhere inside this slot, add + // it, make sure other events know that they overlap + // it, and increment the event's vertical span. + if (($event->end->compareDateTime($start) > 0 && + $event->start->compareDateTime($end) < 0) || + ($event->end->compareDateTime($event->start) == 0 && + $event->start->compareDateTime($start) == 0)) { + + // Make sure we keep the latest hour that an event + // reaches up-to-date. + if ($i > $this->_last && + (!$day_hour_force || $i <= $day_hour_end)) { + $this->_last = $i; + } + + // Make sure we keep the first hour that an event + // reaches up-to-date. + if ($i < $this->_first && + (!$day_hour_force || $i >= $day_hour_start)) { + $this->_first = $i; + } + + if (!$day_hour_force || + ($i >= $day_hour_start && $i <= $day_hour_end)) { + // Add this event to the events which are in this row. + $this->_event_matrix[$cid][$i][] = $key; + + // Increment the event's vertical span. + ++$this->_events[$key]->rowspan; + } + } + } + + foreach (array_keys($this->_currentCalendars) as $cid) { + // Update the number of events that events in this row + // overlap with. + $max = 0; + $count = count($this->_event_matrix[$cid][$i]); + foreach ($this->_event_matrix[$cid][$i] as $ev) { + $this->_events[$ev]->overlap = max($this->_events[$ev]->overlap, $count); + $max = max($max, $this->_events[$ev]->overlap); + } + + // Update the set of rowspans to include the value for + // this row. + $spans[$cid][$max] = true; + } + } + + foreach (array_keys($this->_currentCalendars) as $cid) { + // Sort every row by start time so that events always show + // up here in the same order. + for ($i = $this->_first; $i <= $this->_last; ++$i) { + if (count($this->_event_matrix[$cid][$i])) { + usort($this->_event_matrix[$cid][$i], array($this, '_sortByStart')); + } + } + + // Now that we have the number of events in each row, we + // can calculate the total span needed. + $span[$cid] = 1; + + // Turn keys into array values. + $spans[$cid] = array_keys($spans[$cid]); + + // Start with the biggest one first. + rsort($spans[$cid]); + foreach ($spans[$cid] as $s) { + // If the number of events in this row doesn't divide + // cleanly into the current total span, we need to + // multiply the total span by the number of events in + // this row. + if ($s != 0 && $span[$cid] % $s != 0) { + $span[$cid] *= $s; + } + } + $this->_totalspan += $span[$cid]; + } + // Set the final span. + if (isset($span)) { + $this->_span = $span; + } else { + $this->_totalspan = 1; + } + + // We're now parsed and ready to go. + $this->_parsed = true; + } + + function link($offset = 0, $full = false) + { + return Horde::applicationUrl( + Util::addParameter('day.php', 'date', $this->getTime('%Y%m%d', $offset)), + $full); + } + + function getName() + { + return 'Day'; + } + + function prefHourFormat($hour) + { + $hour = $hour % 24; + if ($GLOBALS['prefs']->getValue('twentyFour')) { + return $hour; + } + return ($hour % 12 == 0 ? 12 : $hour % 12) + . ($hour < 12 ? 'am' : 'pm'); + } + + function _sortByStart($evA, $evB) + { + $sA = $this->_events[$evA]->start; + $sB = $this->_events[$evB]->start; + + return $sB->compareTime($sA); + } + +} diff --git a/kronolith/lib/Views/DeleteEvent.php b/kronolith/lib/Views/DeleteEvent.php new file mode 100644 index 000000000..4e0c8004c --- /dev/null +++ b/kronolith/lib/Views/DeleteEvent.php @@ -0,0 +1,84 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_View_DeleteEvent { + + var $event; + + /** + * @param Kronolith_Event &$event + */ + function Kronolith_View_DeleteEvent(&$event) + { + $this->event =& $event; + } + + function getTitle() + { + if (!$this->event || is_a($this->event, 'PEAR_Error')) { + return _("Not Found"); + } + return sprintf(_("Delete %s"), $this->event->getTitle()); + } + + function link() + { + return $this->event->getDeleteUrl(); + } + + function html($active = true) + { + if (!$this->event || is_a($this->event, 'PEAR_Error')) { + echo '

      ' . _("The requested event was not found.") . '

      '; + return; + } + + if ($datetime = Util::getFormData('datetime')) { + $datetime = new Horde_Date($datetime); + $month = $datetime->month; + $year = $datetime->year; + $day = $datetime->mday; + } else { + $month = Util::getFormData('month', date('n')); + $day = Util::getFormData('mday', date('j')); + $year = Util::getFormData('year', date('Y')); + } + + $url = Util::getFormData('url'); + + echo ''; + + if ($active && $GLOBALS['browser']->hasFeature('dom')) { + if ($this->event->hasPermission(PERMS_READ)) { + require_once KRONOLITH_BASE . '/lib/Views/Event.php'; + $view = new Kronolith_View_Event($this->event); + $view->html(false); + } + if ($this->event->hasPermission(PERMS_EDIT)) { + require_once KRONOLITH_BASE . '/lib/Views/EditEvent.php'; + $edit = new Kronolith_View_EditEvent($this->event); + $edit->html(false); + } + } + } + + function getName() + { + return 'DeleteEvent'; + } + +} diff --git a/kronolith/lib/Views/EditEvent.php b/kronolith/lib/Views/EditEvent.php new file mode 100644 index 000000000..f1ca8b5d0 --- /dev/null +++ b/kronolith/lib/Views/EditEvent.php @@ -0,0 +1,129 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_View_EditEvent { + + var $event; + + /** + * @param Kronolith_Event &$event + */ + function Kronolith_View_EditEvent(&$event) + { + $this->event = &$event; + } + + function getTitle() + { + if (!$this->event || is_a($this->event, 'PEAR_Error')) { + return _("Not Found"); + } + return sprintf(_("Edit %s"), $this->event->getTitle()); + } + + function link() + { + return $this->event->getEditUrl(); + } + + function html($active = true) + { + require_once 'Horde/Identity.php'; + $identity = &Identity::singleton(); + + if (!$this->event || is_a($this->event, 'PEAR_Error')) { + echo '

      ' . _("The requested event was not found.") . '

      '; + return; + } + + if ($this->event->isRemote()) { + $calendar_id = Kronolith::getDefaultCalendar(PERMS_EDIT); + } else { + $calendar_id = $this->event->getCalendar(); + } + if (!$this->event->hasPermission(PERMS_EDIT) && + !is_a($share = &$this->event->getShare(), 'PEAR_Error')) { + $calendar_id .= ':' . $share->get('owner'); + } + $_SESSION['kronolith']['attendees'] = $this->event->getAttendees(); + + if ($datetime = Util::getFormData('datetime')) { + $datetime = new Horde_Date($datetime); + $month = $datetime->month; + $year = $datetime->year; + } else { + $month = Util::getFormData('month', date('n')); + $year = Util::getFormData('year', date('Y')); + } + + $url = Util::getFormData('url'); + $perms = PERMS_EDIT; + if ($this->event->getCreatorId() == Auth::getAuth()) { + $perms |= PERMS_DELEGATE; + } + $calendars = Kronolith::listCalendars(false, $perms); + + $buttons = array(); + if (($this->event->isRemote() || + !$this->event->hasPermission(PERMS_EDIT)) && + (!empty($GLOBALS['conf']['hooks']['permsdenied']) || + Kronolith::hasPermission('max_events') === true || + Kronolith::hasPermission('max_events') > Kronolith::countEvents())) { + $buttons[] = ''; + } else { + if (!$this->event->isRemote()) { + $buttons[] = ''; + } + if ($this->event->isInitialized()) { + if (!$this->event->recurs() && + (!empty($conf['hooks']['permsdenied']) || + Kronolith::hasPermission('max_events') === true || + Kronolith::hasPermission('max_events') > Kronolith::countEvents())) { + $buttons[] = ''; + } + } + } + + if (isset($url)) { + $cancelurl = $url; + } else { + $cancelurl = Util::addParameter('month.php', array('month' => $month, + 'year', $year)); + $cancelurl = Horde::applicationUrl($cancelurl, true); + } + + $event = &$this->event; + + echo ''; + + if ($active && $GLOBALS['browser']->hasFeature('dom')) { + if ($this->event->hasPermission(PERMS_READ)) { + require_once KRONOLITH_BASE . '/lib/Views/Event.php'; + $view = new Kronolith_View_Event($this->event); + $view->html(false); + } + if ($this->event->hasPermission(PERMS_DELETE)) { + require_once KRONOLITH_BASE . '/lib/Views/DeleteEvent.php'; + $delete = new Kronolith_View_DeleteEvent($this->event); + $delete->html(false); + } + } + } + + function getName() + { + return 'EditEvent'; + } + +} diff --git a/kronolith/lib/Views/Event.php b/kronolith/lib/Views/Event.php new file mode 100644 index 000000000..015b1dab7 --- /dev/null +++ b/kronolith/lib/Views/Event.php @@ -0,0 +1,142 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_View_Event { + + var $event; + + /** + * @param Kronolith_Event &$event + */ + function Kronolith_View_Event(&$event) + { + $this->event = &$event; + } + + function getTitle() + { + if (!$this->event || is_a($this->event, 'PEAR_Error')) { + return _("Not Found"); + } + return $this->event->getTitle(); + } + + function link() + { + return $this->event->getViewUrl(); + } + + function html($active = true) + { + global $conf, $prefs; + + if (!$this->event || is_a($this->event, 'PEAR_Error')) { + echo '

      ' . _("The requested event was not found.") . '

      '; + return; + } + + require_once 'Horde/MIME.php'; + require_once 'Horde/Text.php'; + require_once 'Horde/Text/Filter.php'; + + $createdby = ''; + $modifiedby = ''; + $userId = Auth::getAuth(); + if ($this->event->getUID()) { + /* Get the event's history. */ + $history = &Horde_History::singleton(); + $log = $history->getHistory('kronolith:' . $this->event->getCalendar() . ':' . + $this->event->getUID()); + if ($log && !is_a($log, 'PEAR_Error')) { + foreach ($log->getData() as $entry) { + switch ($entry['action']) { + case 'add': + $created = new Horde_Date($entry['ts']); + if ($userId != $entry['who']) { + $createdby = sprintf(_("by %s"), Kronolith::getUserName($entry['who'])); + } else { + $createdby = _("by me"); + } + break; + + case 'modify': + $modified = new Horde_Date($entry['ts']); + if ($userId != $entry['who']) { + $modifiedby = sprintf(_("by %s"), Kronolith::getUserName($entry['who'])); + } else { + $modifiedby = _("by me"); + } + break; + } + } + } + } + + $creatorId = $this->event->getCreatorId(); + $category = $this->event->getCategory(); + $description = $this->event->getDescription(); + $location = $this->event->getLocation(); + $private = $this->event->isPrivate() && $creatorId != Auth::getAuth(); + $owner = Kronolith::getUserName($creatorId); + $status = Kronolith::statusToString($this->event->getStatus()); + $attendees = $this->event->getAttendees(); + + if ($conf['metadata']['keywords']) { + include KRONOLITH_BASE . '/config/keywords.php'; + $keyword_list = array(); + foreach ($keywords as $cat => $list) { + $sub_list = array(); + foreach ($list as $entry) { + if ($this->event->hasKeyword($entry)) { + $sub_list[] = htmlspecialchars($entry); + } + } + if (count($sub_list)) { + $keyword_list[$cat] = $sub_list; + } + } + } + + if ($datetime = Util::getFormData('datetime')) { + $datetime = new Horde_Date($datetime); + $month = $datetime->month; + $year = $datetime->year; + } else { + $month = (int)Util::getFormData('month', date('n')); + $year = (int)Util::getFormData('year', date('Y')); + } + + $dateFormat = $prefs->getValue('date_format'); + $timeFormat = $prefs->getValue('twentyFour') ? 'G:i' : 'g:ia'; + + echo ''; + + if ($active && $GLOBALS['browser']->hasFeature('dom')) { + if ($this->event->hasPermission(PERMS_EDIT)) { + require_once KRONOLITH_BASE . '/lib/Views/EditEvent.php'; + $edit = new Kronolith_View_EditEvent($this->event); + $edit->html(false); + } + if ($this->event->hasPermission(PERMS_DELETE)) { + require_once KRONOLITH_BASE . '/lib/Views/DeleteEvent.php'; + $delete = new Kronolith_View_DeleteEvent($this->event); + $delete->html(false); + } + } + } + + function getName() + { + return 'Event'; + } + +} diff --git a/kronolith/lib/Views/ExportEvent.php b/kronolith/lib/Views/ExportEvent.php new file mode 100644 index 000000000..e82e8bb29 --- /dev/null +++ b/kronolith/lib/Views/ExportEvent.php @@ -0,0 +1,44 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_View_ExportEvent { + + /** + * @param Kronolith_Event &$event + */ + function Kronolith_View_ExportEvent(&$event) + { + require_once 'Horde/iCalendar.php'; + $iCal = new Horde_iCalendar('2.0'); + + if (!$event->isRemote()) { + $share = &$GLOBALS['kronolith_shares']->getShare($event->getCalendar()); + if (!is_a($share, 'PEAR_Error')) { + $iCal->setAttribute('X-WR-CALNAME', + String::convertCharset($share->get('name'), + NLS::getCharset(), + 'utf-8')); + } + } + + $vEvent = &$event->toiCalendar($iCal); + $iCal->addComponent($vEvent); + $content = $iCal->exportvCalendar(); + + $GLOBALS['browser']->downloadHeaders( + $event->getTitle() . '.ics', + 'text/calendar; charset=' . NLS::getCharset(), + true, strlen($content)); + echo $content; + exit; + } + +} diff --git a/kronolith/lib/Views/Month.php b/kronolith/lib/Views/Month.php new file mode 100644 index 000000000..f8466711b --- /dev/null +++ b/kronolith/lib/Views/Month.php @@ -0,0 +1,260 @@ + + * @author Jan Schneider + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_View_Month { + + /** + * @var integer + */ + var $month; + + /** + * @var integer + */ + var $year; + + /** + * @var Horde_Date + */ + var $date; + + /** + * @var array + */ + var $_events = array(); + + /** + * @var array + */ + var $_currentCalendars = array(); + + /** + * @var integer + */ + var $_daysInView; + + /** + * @var integer + */ + var $_startOfView; + + /** + * @var integer + */ + var $_startday; + + function Kronolith_View_Month($date) + { + global $prefs; + + $this->month = $date->month; + $this->year = $date->year; + + // Need to calculate the start and length of the view. + $this->date = new Horde_Date($date); + $this->date->mday = 1; + $this->_startday = $this->date->dayOfWeek(); + $this->_daysInView = Date_Calc::weeksInMonth($this->month, $this->year) * 7; + if (!$prefs->getValue('week_start_monday')) { + $this->_startOfView = 1 - $this->_startday; + + // We may need to adjust the number of days in the view if + // we're starting weeks on Sunday. + if ($this->_startday == HORDE_DATE_SUNDAY) { + $this->_daysInView -= 7; + } + $endday = new Horde_Date(array('mday' => Horde_Date::daysInMonth($this->month, $this->year), + 'month' => $this->month, + 'year' => $this->year)); + $endday = $endday->dayOfWeek(); + if ($endday == HORDE_DATE_SUNDAY) { + $this->_daysInView += 7; + } + } else { + if ($this->_startday == HORDE_DATE_SUNDAY) { + $this->_startOfView = -5; + } else { + $this->_startOfView = 2 - $this->_startday; + } + } + + $startDate = new Horde_Date(array('year' => $this->year, + 'month' => $this->month, + 'mday' => $this->_startOfView)); + $endDate = new Horde_Date(array('year' => $this->year, + 'month' => $this->month, + 'mday' => $this->_startOfView + $this->_daysInView, + 'hour' => 23, + 'min' => 59, + 'sec' => 59)); + $startDate->correct(); + $endDate->correct(); + + if ($prefs->getValue('show_shared_side_by_side')) { + $allCalendars = Kronolith::listCalendars(); + $this->_currentCalendars = array(); + foreach ($GLOBALS['display_calendars'] as $id) { + $this->_currentCalendars[$id] = &$allCalendars[$id]; + } + } else { + $this->_currentCalendars = array(true); + } + + $this->_events = Kronolith::listEvents($startDate, $endDate, $GLOBALS['display_calendars']); + if (is_a($this->_events, 'PEAR_Error')) { + $GLOBALS['notification']->push($this->_events, 'horde.error'); + $this->_events = array(); + } + if (!is_array($this->_events)) { + $this->_events = array(); + } + } + + function html() + { + global $prefs; + + $sidebyside = $prefs->getValue('show_shared_side_by_side'); + $twentyFour = $prefs->getValue('twentyFour'); + $addLinks = Kronolith::getDefaultCalendar(PERMS_EDIT) && + (!empty($GLOBALS['conf']['hooks']['permsdenied']) || + Kronolith::hasPermission('max_events') === true || + Kronolith::hasPermission('max_events') > Kronolith::countEvents()); + + if ($sidebyside) { + require KRONOLITH_TEMPLATES . '/month/head_side_by_side.inc'; + } else { + require KRONOLITH_TEMPLATES . '/month/head.inc'; + } + + $eventCategories = array(); + + $html = ''; + if (!$sidebyside && count($this->_currentCalendars)) { + $html .= ''; + } + + $showLocation = Kronolith::viewShowLocation(); + $showTime = Kronolith::viewShowTime(); + + foreach ($this->_currentCalendars as $id => $cal) { + if ($sidebyside) { + $html .= ''; + } + + $cell = 0; + for ($day = $this->_startOfView; $day < $this->_startOfView + $this->_daysInView; ++$day) { + $date = new Kronolith_Day($this->month, $day, $this->year); + $date->correct(); + $date->hour = $twentyFour ? 12 : 6; + $week = $date->weekOfYear(); + + if ($cell % 7 == 0 && $cell != 0) { + if ($sidebyside) { + $html .= '' . htmlspecialchars($cal->get('name')) . ''; + } else { + $html .= "\n"; + } + } + if ($date->isToday()) { + $style = 'today'; + } elseif ($date->month != $this->month) { + $style = 'othermonth'; + } elseif ($date->dayOfWeek() == 0 || $date->dayOfWeek() == 6) { + $style = 'weekend'; + } else { + $style = 'text'; + } + + $html .= '
      '; + + $url = Util::addParameter(Horde::applicationUrl('day.php'), + 'date', $date->dateString()); + $html .= '' . $date->mday . ''; + + if ($addLinks) { + $url = Util::addParameter(Horde::applicationUrl('new.php'), + array('date' => $date->dateString(), + 'url' => $this->link(0, true))); + if ($sidebyside) { + $url = Util::addParameter($url, 'calendar', $id); + } + $html .= Horde::link($url, _("Create a New Event"), 'newEvent') . + Horde::img('new_small.png', '+') . ''; + } + + if ($date->dayOfWeek() == HORDE_DATE_MONDAY) { + $url = Util::addParameter('week.php', 'date', $date->dateString()); + $html .= Horde::link(Horde::applicationUrl($url), '', 'week') . sprintf(_("Week %d"), $week) . ''; + } + + $html .= '
       
      '; + + $date_stamp = $date->dateString(); + if (!empty($this->_events[$date_stamp])) { + foreach ($this->_events[$date_stamp] as $event) { + if (!$sidebyside || $event->getCalendar() == $id) { + if ($event->hasPermission(PERMS_READ)) { + $eventCategories[$event->getCategory()] = true; + } + $html .= '
      ' + . $event->getLink($date, true, $this->link(0, true)); + if ($showTime) { + $html .= '
      ' . htmlspecialchars($event->getTimeRange()) . '
      '; + } + if ($showLocation) { + $html .= '
      ' . htmlspecialchars($event->getLocation()) . '
      '; + } + $html .= '
      '; + } + } + } + + $html .= "\n"; + ++$cell; + } + + if ($sidebyside) { + $html .= ''; + } + } + if (!$sidebyside && count($this->_currentCalendars)) { + $html .= ''; + } + + echo $html . ''; + require KRONOLITH_TEMPLATES . '/category_legend.inc'; + } + + function getMonth($offset = 0) + { + $month = new Horde_Date($this->date); + $month->month += $offset; + $month->correct(); + return $month; + } + + function link($offset = 0, $full = false) + { + $month = $this->getMonth($offset); + return Horde::applicationUrl(Util::addParameter('month.php', 'date', $month->dateString()), $full); + } + + function getName() + { + return 'Month'; + } + +} diff --git a/kronolith/lib/Views/Week.php b/kronolith/lib/Views/Week.php new file mode 100644 index 000000000..748d56554 --- /dev/null +++ b/kronolith/lib/Views/Week.php @@ -0,0 +1,373 @@ + + * @author Jan Schneider + * @since Kronolith 0.1 + * @package Kronolith + */ +class Kronolith_View_Week { + + var $parsed = false; + var $days = array(); + var $week = null; + var $year = null; + var $startDay = null; + var $endDay = null; + var $startDate = null; + var $_controller = 'week.php'; + var $_sidebyside = false; + var $_currentCalendars = array(); + + /** + * How many time slots are we dividing each hour into? + * + * @var integer + */ + var $_slotsPerHour = 2; + + /** + * How many slots do we have per day? Calculated from $_slotsPerHour. + * + * @see $_slotsPerHour + * @var integer + */ + var $_slotsPerDay; + + function Kronolith_View_Week($date) + { + $week = $date->weekOfYear(); + $year = $date->year; + if (!$GLOBALS['prefs']->getValue('week_start_monday') && + $date->dayOfWeek() == HORDE_DATE_SUNDAY) { + ++$week; + } + if ($week > 51 && $date->month == 1) { + --$year; + } elseif ($week == 1 && $date->month == 12) { + ++$year; + } + + $this->year = $year; + $this->week = $week; + $day = Horde_Date::firstDayOfWeek($week, $year); + + if (!isset($this->startDay)) { + if ($GLOBALS['prefs']->getValue('week_start_monday')) { + $this->startDay = HORDE_DATE_MONDAY; + $this->endDay = HORDE_DATE_SUNDAY + 7; + } else { + $day->mday--; + $this->startDay = HORDE_DATE_SUNDAY; + $this->endDay = HORDE_DATE_SATURDAY; + } + } + + $this->startDate = new Horde_Date($day); + for ($i = $this->startDay; $i <= $this->endDay; ++$i) { + $day->correct(); + $this->days[$i] = new Kronolith_View_Day($day, array()); + $day->mday++; + } + $day->correct(); + $endDate = new Horde_Date($day); + $allevents = Kronolith::listEvents($this->startDate, $endDate, $GLOBALS['display_calendars']); + if (is_a($allevents, 'PEAR_Error')) { + $GLOBALS['notification']->push($allevents, 'horde.error'); + $allevents = array(); + } + for ($i = $this->startDay; $i <= $this->endDay; ++$i) { + $date_stamp = $this->days[$i]->dateString(); + $this->days[$i]->setEvents(isset($allevents[$date_stamp]) + ? $allevents[$date_stamp] + : array()); + } + $this->_sidebyside = $this->days[$this->startDay]->_sidebyside; + $this->_currentCalendars = $this->days[$this->startDay]->_currentCalendars; + $this->_slotsPerHour = $this->days[$this->startDay]->_slotsPerHour; + $this->_slotsPerDay = $this->days[$this->startDay]->_slotsPerDay; + $this->_slotLength = $this->days[$this->startDay]->_slotLength; + } + + function html() + { + global $prefs; + + $more_timeslots = $prefs->getValue('time_between_days'); + $include_all_events = !$prefs->getValue('show_shared_side_by_side'); + $showLocation = Kronolith::viewShowLocation(); + $showTime = Kronolith::viewShowTime(); + + if (!$this->parsed) { + $this->parse(); + } + + $slots = $this->days[$this->startDay]->slots; + $cid = 0; + require KRONOLITH_TEMPLATES . '/week/head.inc'; + if ($this->_sidebyside) { + require KRONOLITH_TEMPLATES . '/week/head_side_by_side.inc'; + } + echo ''; + + $event_count = 0; + for ($j = $this->startDay; $j <= $this->endDay; ++$j) { + foreach ($this->_currentCalendars as $cid => $cal) { + $event_count = max($event_count, count($this->days[$j]->_all_day_events[$cid])); + reset($this->days[$j]->_all_day_events[$cid]); + } + } + + if ($more_timeslots) { + $newEventUrl = null; + } else { + $newEventUrl = _("All day"); + } + + $eventCategories = array(); + + $row = ''; + for ($j = $this->startDay; $j <= $this->endDay; ++$j) { + $row .= '' . ($more_timeslots ? _("All day") : ' ') . '' . + ''; + if ($this->days[$j]->_all_day_maxrowspan > 0) { + for ($k = 0; $k < $this->days[$j]->_all_day_maxrowspan; ++$k) { + $row .= ''; + foreach ($this->days[$j]->_currentCalendars as $cid => $cal) { + if (count($this->days[$j]->_all_day_events[$cid]) === $k) { + $row .= ''; + } elseif (count($this->days[$j]->_all_day_events[$cid]) > $k) { + $event = $this->days[$j]->_all_day_events[$cid][$k]; + if ($event->hasPermission(PERMS_READ)) { + $eventCategories[$event->getCategory()] = true; + } + + $row .= ''; + } + } + $row .= ''; + } + } else { + $row .= ''; + } + $row .= '
       ' + . $event->getLink($this->days[$j], true, $this->link(0, true)); + if ($showLocation) { + $row .= '
      ' . htmlspecialchars($event->getLocation()) . '
      '; + } + $row .= '
       
      '; + } + + $rowspan = ''; + $first_row = true; + require KRONOLITH_TEMPLATES . '/day/all_day.inc'; + + $day_hour_force = $prefs->getValue('day_hour_force'); + $day_hour_start = $prefs->getValue('day_hour_start') / 2 * $this->_slotsPerHour; + $day_hour_end = $prefs->getValue('day_hour_end') / 2 * $this->_slotsPerHour; + $rows = array(); + $covered = array(); + + for ($i = 0; $i < $this->_slotsPerDay; ++$i) { + if ($i >= $day_hour_end && $i > $this->last) { + break; + } + if ($i < $this->first && $i < $day_hour_start) { + continue; + } + + if (($m = $i % $this->_slotsPerHour) != 0) { + $time = ':' . $m * $this->_slotLength; + $hourclass = 'halfhour'; + } else { + $time = Kronolith_View_Day::prefHourFormat($slots[$i]['hour']); + $hourclass = 'hour'; + } + + $row = ''; + for ($j = $this->startDay; $j <= $this->endDay; ++$j) { + // Add spacer between days, or timeslots. + if ($more_timeslots) { + $row .= '' . $time . ''; + } else { + $row .= ' '; + } + + if (!count($this->_currentCalendars)) { + $row .= ' '; + } + foreach ($this->_currentCalendars as $cid => $cal) { + $hspan = 0; + foreach ($this->days[$j]->_event_matrix[$cid][$i] as $key) { + $event = &$this->days[$j]->_events[$key]; + if ($include_all_events || $event->getCalendar() == $cid) { + // Since we've made sure that this event's + // overlap is a factor of the total span, + // we get this event's individual span by + // dividing the total span by this event's + // overlap. + $span = $this->days[$j]->_span[$cid] / $event->overlap; + + // Store the indent we're starting this + // event at for future use. + if (!isset($event->indent)) { + $event->indent = $hspan; + } + + // If the first node that we would cover + // is already covered, we can assume that + // table rendering will take care of + // pushing the event over. However, if the + // first node _isn't_ covered but any + // others that we would covered _are_, we + // only cover the available nodes. + if (!isset($covered[$j][$i][$event->indent])) { + $collision = false; + $available = 0; + for ($y = $event->indent; $y < ($span + $event->indent); ++$y) { + if (isset($covered[$j][$i][$y])) { + $collision = true; + break; + } + $available++; + } + + if ($collision) { + $span = $available; + } + } + + $hspan += $span; + + $start = new Horde_Date(array( + 'hour' => floor($i / $this->_slotsPerHour), + 'min' => ($i % $this->_slotsPerHour) * $this->_slotLength, + 'month' => $this->days[$j]->month, + 'mday' => $this->days[$j]->mday, + 'year' => $this->days[$j]->year)); + $slot_end = new Horde_Date($start); + $slot_end->min += $this->_slotLength; + $slot_end->correct(); + if (((!$day_hour_force || $i >= $day_hour_start) && + $event->start->compareDateTime($start) >= 0 && + $event->start->compareDateTime($slot_end) < 0 || + $start->compareDateTime($this->days[$j]) == 0) || + ($day_hour_force && + $i == $day_hour_start && + $event->start->compareDateTime($start) < 0)) { + if ($event->hasPermission(PERMS_READ)) { + $eventCategories[$event->getCategory()] = true; + } + + // Store the nodes that we're covering for + // this event in the coverage graph. + for ($x = $i; $x < ($i + $event->rowspan); ++$x) { + for ($y = $event->indent; $y < $hspan; ++$y) { + $covered[$j][$x][$y] = true; + } + } + + $row .= '' + . $event->getLink($this->days[$j], true, $this->link(0, true)); + if ($showTime) { + $row .= '
      ' . htmlspecialchars($event->getTimeRange()) . '
      '; + } + if ($showLocation) { + $row .= '
      ' . htmlspecialchars($event->getLocation()) . '
      '; + } + $row .= ''; + } + } + } + + $diff = $this->days[$j]->_span[$cid] - $hspan; + if ($diff > 0) { + $row .= str_repeat(' ', $diff); + } + } + } + + $rows[] = array('row' => $row, 'slot' => '' . $time . ''); + } + + require_once 'Horde/Template.php'; + $template = new Horde_Template(); + $template->set('row_height', round(20 / $this->_slotsPerHour)); + $template->set('rows', $rows); + $template->set('show_slots', !$more_timeslots, true); + echo $template->fetch(KRONOLITH_TEMPLATES . '/day/rows.html') + . ''; + + require KRONOLITH_TEMPLATES . '/category_legend.inc'; + } + + /** + * Parse all events for all of the days that we're handling; then + * run through the results to get the total horizontal span for + * the week, and the latest event of the week. + */ + function parse() + { + for ($i = $this->startDay; $i <= $this->endDay; ++$i) { + $this->days[$i]->parse(); + } + + $this->totalspan = 0; + $this->span = array(); + for ($i = $this->startDay; $i <= $this->endDay; ++$i) { + $this->totalspan += $this->days[$i]->_totalspan; + foreach ($this->_currentCalendars as $cid => $key) { + if (isset($this->span[$cid])) { + $this->span[$cid] += $this->days[$i]->_span[$cid]; + } else { + $this->span[$cid] = $this->days[$i]->_span[$cid]; + } + } + } + + $this->last = 0; + $this->first = $this->_slotsPerDay; + for ($i = $this->startDay; $i <= $this->endDay; ++$i) { + if ($this->days[$i]->last > $this->last) { + $this->last = $this->days[$i]->last; + } + if ($this->days[$i]->first < $this->first) { + $this->first = $this->days[$i]->first; + } + } + } + + function getWeek($offset = 0) + { + $week = new Horde_Date($this->startDate); + $week->mday += $offset * 7; + $week->correct(); + return $week; + } + + function link($offset = 0, $full = false) + { + $week = $this->getWeek($offset); + return Horde::applicationUrl(Util::addParameter($this->_controller, + 'date', + $week->dateString()), + $full); + } + + function getName() + { + return 'Week'; + } + +} diff --git a/kronolith/lib/Views/WorkWeek.php b/kronolith/lib/Views/WorkWeek.php new file mode 100644 index 000000000..a3b527262 --- /dev/null +++ b/kronolith/lib/Views/WorkWeek.php @@ -0,0 +1,26 @@ + + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_View_WorkWeek extends Kronolith_View_Week { + + var $startDay = HORDE_DATE_MONDAY; + var $endDay = HORDE_DATE_FRIDAY; + var $_controller = 'workweek.php'; + + function getName() + { + return 'WorkWeek'; + } + +} diff --git a/kronolith/lib/Views/Year.php b/kronolith/lib/Views/Year.php new file mode 100644 index 000000000..75cb44013 --- /dev/null +++ b/kronolith/lib/Views/Year.php @@ -0,0 +1,183 @@ + + * @author Jan Schneider + * @since Kronolith 2.2 + * @package Kronolith + */ +class Kronolith_View_Year { + + var $year; + var $_events = array(); + + function Kronolith_View_Year($date) + { + $this->year = $date->year; + $startDate = new Horde_Date(array('year' => $this->year, + 'month' => 1, + 'mday' => 1)); + $endDate = new Horde_Date(array('year' => $this->year, + 'month' => 12, + 'mday' => 31, + 'hour' => 23, + 'min' => 59, + 'sec' => 59)); + + $this->_events = Kronolith::listEvents($startDate, $endDate, $GLOBALS['display_calendars']); + if (is_a($this->_events, 'PEAR_Error')) { + $GLOBALS['notification']->push($this->_events, 'horde.error'); + $this->_events = array(); + } + if (!is_array($this->_events)) { + $this->_events = array(); + } + } + + function html() + { + global $prefs; + + require KRONOLITH_TEMPLATES . '/year/head.inc'; + + $html = ''; + for ($month = 1; $month <= 12; ++$month) { + $html .= ''; + if ($month % 3 == 0 && $month != 12) { + $html .= ''; + } + } + + echo $html . '
      '; + + // Heading for each month. + $date = new Horde_Date(sprintf('%04d%02d01010101', $this->year, $month)); + $mtitle = $date->strftime('%B'); + $url = Util::addParameter(Horde::applicationUrl('month.php'), array('date' => $date->dateString())); + $html .= '

      ' . $mtitle . '

      ' . + ''; + if (!$prefs->getValue('week_start_monday')) { + $html .= ''; + } + $html .= '' . + '' . + '' . + '' . + '' . + ''; + if ($prefs->getValue('week_start_monday')) { + $html .= ''; + } + $html .= ''; + + $startday = new Horde_Date(array('mday' => 1, + 'month' => $month, + 'year' => $this->year)); + $startday = $startday->dayOfWeek(); + + $daysInView = Date_Calc::weeksInMonth($month, $this->year) * 7; + if (!$prefs->getValue('week_start_monday')) { + $startOfView = 1 - $startday; + + // We may need to adjust the number of days in the + // view if we're starting weeks on Sunday. + if ($startday == HORDE_DATE_SUNDAY) { + $daysInView -= 7; + } + $endday = new Horde_Date(array('mday' => Horde_Date::daysInMonth($month, $this->year), + 'month' => $month, + 'year' => $this->year)); + $endday = $endday->dayOfWeek(); + if ($endday == HORDE_DATE_SUNDAY) { + $daysInView += 7; + } + } else { + if ($startday == HORDE_DATE_SUNDAY) { + $startOfView = -5; + } else { + $startOfView = 2 - $startday; + } + } + + $currentCalendars = array(true); + $eventCategories = array(); + + foreach ($currentCalendars as $id => $cal) { + $cell = 0; + for ($day = $startOfView; $day < $startOfView + $daysInView; ++$day) { + $date = new Kronolith_Day($month, $day, $this->year); + $date->hour = $prefs->getValue('twentyFour') ? 12 : 6; + $week = $date->weekOfYear(); + + if ($cell % 7 == 0 && $cell != 0) { + $html .= "\n"; + } + if ($date->month != $month) { + $style = 'monthgrid'; + } elseif ($date->dayOfWeek() == 0 || $date->dayOfWeek() == 6) { + $style = 'weekend'; + } else { + $style = 'text'; + } + + /* Set up the link to the day view. */ + $url = Horde::applicationUrl('day.php', true); + $url = Util::addParameter($url, 'date', $date->dateString()); + + if ($date->month != $month) { + $cellday = ' '; + } elseif (!empty($this->_events[$date->dateString()])) { + /* There are events; create a cell with tooltip to list + * them. */ + $day_events = ''; + foreach ($this->_events[$date->dateString()] as $event) { + if ($event->getStatus() == KRONOLITH_STATUS_CONFIRMED) { + /* Set the background color to distinguish the day */ + $style = 'year-event'; + } + + if ($event->isAllDay()) { + $day_events .= _("All day"); + } else { + $day_events .= $event->start->strftime($prefs->getValue('twentyFour') ? '%R' : '%I:%M%p') . '-' . $event->end->strftime($prefs->getValue('twentyFour') ? '%R' : '%I:%M%p'); + } + $day_events .= ':' + . (($event->getLocation()) ? ' (' . $event->getLocation() . ')' : '') + . ' ' . $event->getTitle() . "\n"; + } + /* Bold the cell if there are events. */ + $cellday = '' . Horde::linkTooltip($url, _("View Day"), '', '', '', $day_events) . $date->mday . ''; + } else { + /* No events, plain link to the day. */ + $cellday = Horde::linkTooltip($url, _("View Day")) . $date->mday . ''; + } + if ($date->isToday() && $date->month == $month) { + $style .= ' today'; + } + + $html .= ''; + ++$cell; + } + } + + $html .= '
      ' . _("Su"). '' . _("Mo") . '' . _("Tu") . '' . _("We") . '' . _("Th") . '' . _("Fr") . '' . _("Sa") . '' . _("Su") . '
      ' . + $cellday . '
      '; + } + + function link($offset = 0, $full = false) + { + return Horde::applicationUrl(Util::addParameter('year.php', 'date', $this->year + $offset) . '0101', $full); + } + + function getName() + { + return 'Year'; + } + +} diff --git a/kronolith/lib/api.php b/kronolith/lib/api.php new file mode 100644 index 000000000..9ccd7acd6 --- /dev/null +++ b/kronolith/lib/api.php @@ -0,0 +1,1437 @@ + array(), + 'type' => '{urn:horde}stringArray' +); + +$_services['removeUserData'] = array( + 'args' => array('user' => 'string'), + 'type' => 'boolean' +); + +$_services['shareHelp'] = array( + 'args' => array(), + 'type' => 'string'); + +$_services['show'] = array( + 'link' => '%application%/event.php?calendar=|calendar|' . + '&eventID=|event|&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' => '{urn:horde}stringArray', +); + +$_services['path_delete'] = array( + 'args' => array('path' => 'string'), + 'type' => 'boolean', +); + +$_services['getFreeBusy'] = array( + 'args' => array('startstamp' => 'int', 'endstamp' => 'int', 'calendar' => 'string'), + 'type' => '{urn:horde}stringArray' +); + +$_services['listCalendars'] = array( + 'args' => array('owneronly' => 'boolean', 'permission' => 'int'), + 'type' => '{urn:horde}stringArray' +); + +$_services['listEvents'] = array( + 'args' => array('startstamp' => 'int', 'endstamp' => 'int', 'calendar' => 'string', 'showRecurrence' => 'string', 'alarmsOnly' => 'boolean'), + 'type' => '{urn:horde}hashHash' +); + +$_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', 'timestamp' => 'int'), + 'type' => 'int', +); + +$_services['import'] = array( + 'args' => array('content' => 'string', 'contentType' => 'string', 'calendar' => 'string'), + 'type' => 'int' +); + +$_services['export'] = array( + 'args' => array('uid' => 'string', 'contentType' => 'string'), + 'type' => 'string' +); + +$_services['exportCalendar'] = array( + 'args' => array('calendar' => 'string', 'contentType' => 'string'), + 'type' => 'string' +); + +$_services['delete'] = array( + 'args' => array('uid' => 'string'), + 'type' => 'boolean' +); + +$_services['replace'] = array( + 'args' => array('uid' => 'string', 'content' => 'string', 'contentType' => 'string'), + 'type' => 'boolean' +); + +// FIXME: create complex type definition for SOAP calls. +$_services['eventFromUID'] = array( + 'args' => array('uid' => 'string'), + 'type' => 'object' +); + +// FIXME: create complex type definition for SOAP calls. +$_services['updateAttendee'] = array( + 'args' => array('response' => 'object', 'sender' => 'string'), + 'type' => 'boolean' +); + +$_services['subscribe'] = array( + 'args' => array('calendar' => '{urn:horde}stringArray'), + 'type' => 'boolean', +); + +$_services['unsubscribe'] = array( + 'args' => array('calendar' => '{urn:horde}stringArray'), + 'type' => 'boolean', +); + +/** + * Returns a list of available permissions. + * + * @return array An array describing all available permissions. + */ +function _kronolith_perms() +{ + $perms = array(); + $perms['tree']['kronolith']['max_events'] = false; + $perms['title']['kronolith:max_events'] = _("Maximum Number of Events"); + $perms['type']['kronolith:max_events'] = '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 _kronolith_removeUserData($user) +{ + if (!Auth::isAdmin() && $user != Auth::getAuth()) { + return PEAR::raiseError(_("You are not allowed to remove user data.")); + } + + require_once dirname(__FILE__) . '/base.php'; + global $kronolith_driver; + + /* Remove all events owned by the user in all calendars. */ + $result = $kronolith_driver->removeUserData($user); + + /* Now delete history as well. */ + $history = &Horde_History::singleton(); + if (method_exists($history, 'removeByParent')) { + $histories = $history->removeByParent('kronolith:' . $user); + } else { + /* Remove entries 100 at a time. */ + $all = $history->getByTimestamp('>', 0, array(), 'kronolith:' . $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); + } + } + } + + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + /* Get the user's default share */ + $share = $GLOBALS['kronolith_shares']->getShare($user); + if (is_a($share, 'PEAR_Error')) { + Horde::logMessage($share, __FILE__, __LINE__, PEAR_LOG_ERR); + } else { + $result = $GLOBALS['kronolith_shares']->removeShare($share); + if (is_a($result, 'PEAR_Error')) { + $hasError = true; + Horde::logMessage($result->getMessage(), __FILE__, __LINE__, PEAR_LOG_ERR); + } + } + + /* Get a list of all shares this user has perms to and remove the perms */ + $shares = $GLOBALS['kronolith_shares']->listShares($user); + if (is_a($shares, 'PEAR_Error')) { + Horde::logMessage($shares, __FILE__, __LINE__, PEAR_LOG_ERR); + } + foreach ($shares as $share) { + $share->removeUser($user); + } + + return true; +} + +/** + * Returns the share helper prefix + * + * @return string + */ +function _kronolith_shareHelp() +{ + return 'shares'; +} + +/** + * Returns the last modification timestamp for the given uid. + * + * @param string $uid The uid to look for. + * + * @return integer The timestamp for the last modification of $uid. + */ +function __kronolith_modified($uid) +{ + $modified = _kronolith_getActionTimestamp($uid, 'modify'); + if (empty($modified)) { + $modified = _kronolith_getActionTimestamp($uid, 'add'); + } + return $modified; +} + +/** + * Browse through Kronolith'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 _kronolith_browse($path = '', $properties = array()) +{ + require_once dirname(__FILE__) . '/base.php'; + global $registry, $kronolith_driver; + + // Default properties. + if (!$properties) { + $properties = array('name', 'icon', 'browseable'); + } + + if (substr($path, 0, 9) == 'kronolith') { + $path = substr($path, 9); + } + $path = trim($path, '/'); + $parts = explode('/', $path); + + if (empty($path)) { + // + // This request is for a list of all users who have calendars visible + // to the requesting user. + // + $calendars = Kronolith::listCalendars(false, PERMS_READ); + $owners = array(); + foreach ($calendars as $calendar) { + $owners[$calendar->get('owner')] = true; + } + + $results = array(); + foreach (array_keys($owners) as $owner) { + $path = 'kronolith/' . $owner; + if (in_array('name', $properties)) { + $results[$path]['name'] = $owner; + } + if (in_array('icon', $properties)) { + $results[$path]['icon'] = + $registry->getImageDir('horde') . '/user.png'; + } + if (in_array('browseable', $properties)) { + $results[$path]['browseable'] = true; + } + if (in_array('contenttype', $properties)) { + $results[$path]['contenttype'] = + 'httpd/unix-directory'; + } + if (in_array('contentlength', $properties)) { + $results[$path]['contentlength'] = 0; + } + if (in_array('modified', $properties)) { + $results[$path]['modified'] = + $_SERVER['REQUEST_TIME']; + } + if (in_array('created', $properties)) { + $results[$path]['created'] = 0; + } + + // CalDAV Properties from RFC 4791 and + // draft-desruisseaux-caldav-sched-03 + $caldavns = 'urn:ietf:params:xml:ns:caldav'; + $kronolith_rpc_base = $GLOBALS['registry']->get('webroot', 'horde') . '/rpc/kronolith/'; + if (in_array($caldavns . ':calendar-home-set', $properties)) { + $results[$path][$caldavns . ':calendar-home-set'] = Horde::url($kronolith_rpc_base . urlencode($owner), true); + } + + if (in_array($caldavns . ':calendar-user-address-set', $properties)) { + // FIXME: Add the calendar owner's email address from their Horde Identity + } + } + return $results; + + } elseif (count($parts) == 1) { + // + // This request is for all calendars owned by the requested user + // + $calendars = $GLOBALS['kronolith_shares']->listShares(Auth::getAuth(), + PERMS_SHOW, + $parts[0]); + $results = array(); + foreach ($calendars as $calendarId => $calendar) { + $retpath = 'kronolith/' . $parts[0] . '/' . $calendarId; + if (in_array('name', $properties)) { + $results[$retpath]['name'] = sprintf(_("Events from %s"), $calendar->get('name')); + $results[$retpath . '.ics']['name'] = $calendar->get('name'); + } + if (in_array('displayname', $properties)) { + $results[$retpath]['displayname'] = rawurlencode($calendar->get('name')); + $results[$retpath . '.ics']['displayname'] = rawurlencode($calendar->get('name')) . '.ics'; + } + if (in_array('icon', $properties)) { + $results[$retpath]['icon'] = $registry->getImageDir() . '/kronolith.png'; + $results[$retpath . '.ics']['icon'] = $registry->getImageDir() . '/mime/icalendar.png'; + } + if (in_array('browseable', $properties)) { + $results[$retpath]['browseable'] = $calendar->hasPermission(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; + // 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 .ics and report it here, but + // the performance hit may be prohibitive. This requires + // further investigation. + $results[$retpath . '.ics']['contentlength'] = 1; + } + if (in_array('modified', $properties)) { + $results[$retpath]['modified'] = $_SERVER['REQUEST_TIME']; + $results[$retpath . '.ics']['modified'] = $_SERVER['REQUEST_TIME']; + } + if (in_array('created', $properties)) { + $results[$retpath]['created'] = 0; + $results[$retpath . '.ics']['created'] = 0; + } + } + return $results; + + } elseif (count($parts) == 2 && + array_key_exists($parts[1], + Kronolith::listCalendars(false, PERMS_READ))) { + // + // This request is browsing into a specific calendar. Generate the list + // of items and represent them as files within the directory. + // + $kronolith_driver->open($parts[1]); + $events = $kronolith_driver->listEvents(); + if (is_a($events, 'PEAR_Error')) { + return $events; + } + + $icon = $registry->getImageDir('horde') . '/mime/icalendar.png'; + $results = array(); + foreach ($events as $uid => $eventId) { + $event = $kronolith_driver->getEvent($eventId); + if (is_a($event, 'PEAR_Error')) { + continue; + } + $key = 'kronolith/' . $path . '/' . $eventId; + if (in_array('name', $properties)) { + $results[$key]['name'] = $event->getTitle(); + } + 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'] = __kronolith_modified($uid); + } + if (in_array('created', $properties)) { + $results[$key]['created'] = _kronolith_getActionTimestamp($uid, 'add'); + } + } + return $results; + } else { + // + // The only valid request left is for either a specific event + // or for the entire calendar. + // + if (count($parts) == 3 && + array_key_exists($parts[1], + Kronolith::listCalendars(false, PERMS_READ))) { + // + // This request is for a specific item within a given calendar. + // + global $kronolith_driver; + if ($kronolith_driver->getCalendar() != $parts[1]) { + $kronolith_driver->open($parts[1]); + } + $event = &$kronolith_driver->getEvent($parts[2]); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + $result = array( + 'data' => _kronolith_export($event->getUID(), 'text/calendar'), + 'mimetype' => 'text/calendar'); + $modified = __kronolith_modified($event->getUID()); + if (!empty($modified)) { + $result['mtime'] = $modified; + } + return $result; + } elseif (count($parts) == 2 && + substr($parts[1], -4, 4) == '.ics' && + array_key_exists( + substr($parts[1], 0, -4), + Kronolith::listCalendars(false, PERMS_READ))) { + // + // This request is for an entire calendar (calendar.ics). + // + $ical_data = _kronolith_exportCalendar(substr($parts[1], 0, -4), 'text/calendar'); + $result = array('data' => $ical_data, + 'mimetype' => 'text/calendar', + 'contentlength' => strlen($ical_data), + 'mtime' => $_SERVER['REQUEST_TIME']); + + return $result; + } else { + // + // All other requests are a 404: Not Found + // + return false; + } + } +} + +/** + * Saves a file into the Kronolith 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 _kronolith_put($path, $content, $content_type) +{ + require_once dirname(__FILE__) . '/base.php'; + global $kronolith_driver; + + if (substr($path, 0, 9) == 'kronolith') { + $path = substr($path, 9); + } + $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'; + } + $calendar = substr($parts[1], 0, -4); + } elseif (count($parts) == 3) { + $calendar = $parts[1]; + + // 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'; + } + } else { + return PEAR::raiseError("Invalid calendar data supplied."); + } + + if (!array_key_exists($calendar, Kronolith::listCalendars(false, PERMS_EDIT))) { + // FIXME: Should we attempt to create a calendar based on the filename + // in the case that the requested calendar does not exist? + return PEAR::raiseError("Calendar does not exist or no permission to edit"); + } + + // Store all currently existings UIDs. Use this info to delete UIDs not + // present in $content after processing. + $ids = array(); + $uids_remove = array_flip(_kronolith_list($calendar)); + + switch ($content_type) { + case 'text/calendar': + case 'text/x-vcalendar': + require_once 'Horde/iCalendar.php'; + $iCal = new Horde_iCalendar(); + if (!is_a($content, 'Horde_iCalendar_vevent')) { + if (!$iCal->parsevCalendar($content)) { + return PEAR::raiseError(_("There was an error importing the iCalendar data.")); + } + } else { + $iCal->addComponent($content); + } + + foreach ($iCal->getComponents() as $content) { + if (is_a($content, 'Horde_iCalendar_vevent')) { + $event = &$kronolith_driver->getEvent(); + $event->fromiCalendar($content); + $event->setCalendar($calendar); + $uid = $event->getUID(); + // Remove from uids_remove list so we won't delete in + // the end. + if (isset($uids_remove[$uid])) { + unset($uids_remove[$uid]); + } + $existing_event = &$kronolith_driver->getByUID( + $uid, array($calendar)); + if (!is_a($existing_event, 'PEAR_Error')) { + // Check if our event is newer then the existing - get the + // event's history. + $history = &Horde_History::singleton(); + $created = $modified = null; + $log = $history->getHistory('kronolith:' . $calendar . ':' + . $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($created)) { + $modified = $created; + } + 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. + $event->setCreatorId($existing_event->getCreatorId()); + } + + // Save entry. + $saved = $event->save(); + if (is_a($saved, 'PEAR_Error')) { + return $saved; + } + $ids[] = $event->getUID(); + } + } + break; + + default: + return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $content_type)); + } + + if (array_key_exists($calendar, Kronolith::listCalendars(false, PERMS_DELETE))) { + foreach (array_keys($uids_remove) as $uid) { + _kronolith_delete($uid); + } + } + + return $ids; +} + +/** + * Deletes a file from the Kronolith tree. + * + * @param string $path The path to the file. + * + * @return mixed The event's UID, or a PEAR_Error on failure. + */ +function _kronolith_path_delete($path) +{ + require_once dirname(__FILE__) . '/base.php'; + global $kronolith_driver; + + if (substr($path, 0, 9) == 'kronolith') { + $path = substr($path, 9); + } + $path = trim($path, '/'); + $parts = explode('/', $path); + + if (substr($parts[1], -4) == '.ics') { + $calendarId = substr($parts[1], 0, -4); + } else { + $calendarId = $parts[1]; + } + + if (!(count($parts) == 2 || count($parts) == 3) || + !array_key_exists($calendarId, Kronolith::listCalendars(false, PERMS_DELETE))) { + return PEAR::raiseError("Calendar does not exist or no permission to delete"); + } + + if (count($parts) == 3) { + // Delete just a single entry + $kronolith_driver->open($calendarId); + return $kronolith_driver->deleteEvent($parts[2]); + } else { + // Delete the entire calendar + $result = $kronolith_driver->delete($calendarId); + if (is_a($result, 'PEAR_Error')) { + return PEAR::raiseError(sprintf(_("Unable to delete calendar \"%s\": %s"), $calendarId, $result->getMessage())); + } else { + // Remove share and all groups/permissions. + $share = $GLOBALS['kronolith_shares']->getShare($calendarId); + $result = $GLOBALS['kronolith_shares']->removeShare($share); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + } + } +} + +/** + * Returns all calendars a user has access to, according to several + * parameters/permission levels. + * + * @param boolean $owneronly Only return calenders that this user owns? + * Defaults to false. + * @param integer $permission The permission to filter calendars by. + * + * @return array The calendar list. + */ +function _kronolith_listCalendars($owneronly = false, $permission = null) +{ + require_once dirname(__FILE__) . '/base.php'; + if (is_null($permission)) { + $permission = PERMS_SHOW; + } + return array_keys(Kronolith::listCalendars($owneronly, $permission)); +} + +/** + * Returns all the events that happen within a time period. + * + * @param string $calendar The calendar to check for events. + * @param object $startstamp The start of the time range. + * @param object $endstamp The end of the time range. + * + * @return array The events happening in this time period. + */ +function _kronolith_list($calendar = null, $startstamp = 0, $endstamp = 0) +{ + require_once dirname(__FILE__) . '/base.php'; + + if (empty($calendar)) { + $calendar = Kronolith::getDefaultCalendar(); + } + if (!array_key_exists($calendar, + Kronolith::listCalendars(false, PERMS_READ))) { + return PEAR::raiseError(_("Permission Denied")); + } + + $ids = Kronolith::listEventIds($startstamp, $endstamp, $calendar); + if (is_a($ids, 'PEAR_Error')) { + return $ids; + } + + $uids = array(); + foreach ($ids as $cal) { + $uids = array_merge($uids, array_keys($cal)); + } + + return $uids; +} + +/** + * Returns an array of UIDs for events 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 $calendar The calendar to search in. + * + * @return array An array of UIDs matching the action and time criteria. + */ +function _kronolith_listBy($action, $timestamp, $calendar = null) +{ + require_once dirname(__FILE__) . '/base.php'; + + if (empty($calendar)) { + $calendar = Kronolith::getDefaultCalendar(); + } + + if (!array_key_exists($calendar, + Kronolith::listCalendars(false, PERMS_READ))) { + return PEAR::raiseError(_("Permission Denied")); + } + + $history = &Horde_History::singleton(); + $histories = $history->getByTimestamp('>', $timestamp, array(array('op' => '=', 'field' => 'action', 'value' => $action)), 'kronolith:' . $calendar); + if (is_a($histories, 'PEAR_Error')) { + return $histories; + } + + // Strip leading kronolith: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 $calendar The calendar to search in. + * + * @return integer The timestamp for this action. + */ +function _kronolith_getActionTimestamp($uid, $action, $calendar = null) +{ + require_once dirname(__FILE__) . '/base.php'; + + if (empty($calendar)) { + $calendar = Kronolith::getDefaultCalendar(); + } + + if (!array_key_exists($calendar, + Kronolith::listCalendars(false, PERMS_READ))) { + return PEAR::raiseError(_("Permission Denied")); + } + + $history = &Horde_History::singleton(); + return $history->getActionTimestamp('kronolith:' . $calendar . ':' . + $uid, $action); +} + +/** + * Imports an event represented in the specified content type. + * + * @param string $content The content of the event. + * @param string $contentType What format is the data in? Currently supports: + *
      + *                             text/calendar
      + *                             text/x-vcalendar
      + *                             
      + * @param string $calendar What calendar should the event be added to? + * + * @return mixed The event's UID, or a PEAR_Error on failure. + */ +function _kronolith_import($content, $contentType, $calendar = null) +{ + require_once dirname(__FILE__) . '/base.php'; + global $kronolith_driver; + + if (!isset($calendar)) { + $calendar = Kronolith::getDefaultCalendar(PERMS_EDIT); + } + if (!array_key_exists($calendar, + Kronolith::listCalendars(false, PERMS_EDIT))) { + return PEAR::raiseError(_("Permission Denied")); + } + $kronolith_driver->open($calendar); + + switch ($contentType) { + case 'text/calendar': + case 'text/x-vcalendar': + require_once 'Horde/iCalendar.php'; + $iCal = new Horde_iCalendar(); + if (!is_a($content, 'Horde_iCalendar_vevent')) { + 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_vevent')) { + $event = &$kronolith_driver->getEvent(); + $event->fromiCalendar($content); + $event->setCalendar($calendar); + // Check if the entry already exists in the data source, first + // by UID. + $uid = $event->getUID(); + $existing_event = &$kronolith_driver->getByUID( + $uid, array($calendar)); + if (!is_a($existing_event, 'PEAR_Error')) { + return PEAR::raiseError(_("Already Exists"), + 'horde.message', null, null, $uid); + } + $result = $kronolith_driver->search($event); + // Check if the match really is an exact match: + if (is_array($result) && count($result) > 0) { + foreach($result as $match) { + if ($match->start == $event->start && + $match->end == $event->end && + $match->title == $event->title && + $match->location == $event->location && + $match->hasPermission(PERMS_EDIT)) { + return PEAR::raiseError(_("Already Exists"), 'horde.message', null, null, $match->getUID()); + } + } + } + + $eventId = $event->save(); + if (is_a($eventId, 'PEAR_Error')) { + return $eventId; + } + $ids[] = $event->getUID(); + } + } + 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)); +} + +/** + * Exports an event, identified by UID, in the requested content type. + * + * @param string $uid Identify the event to export. + * @param string $contentType What format should the data be in? + * A string with one of: + *
      + *                             text/calendar (VCALENDAR 2.0. Recommended as
      + *                                            this is specified in rfc2445)
      + *                             text/x-vcalendar (old VCALENDAR 1.0 format.
      + *                                              Still in wide use)
      + *                            
      + * + * @return string The requested data. + */ +function _kronolith_export($uid, $contentType) +{ + require_once dirname(__FILE__) . '/base.php'; + global $kronolith_driver, $kronolith_shares; + + $event = $kronolith_driver->getByUID($uid); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + if (!$event->hasPermission(PERMS_READ)) { + return PEAR::raiseError(_("Permission Denied")); + } + + $version = '2.0'; + switch ($contentType) { + case 'text/x-vcalendar': + $version = '1.0'; + case 'text/calendar': + $share = &$kronolith_shares->getShare($event->getCalendar()); + + require_once 'Horde/iCalendar.php'; + $iCal = new Horde_iCalendar($version); + $iCal->setAttribute('X-WR-CALNAME', String::convertCharset($share->get('name'), NLS::getCharset(), 'utf-8')); + + // Create a new vEvent. + $vEvent = &$event->toiCalendar($iCal); + $iCal->addComponent($vEvent); + + return $iCal->exportvCalendar(); + + } + + return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $contentType));; +} + +/** + * Exports a calendar in the requested content type. + * + * @param string $calendar The calendar to export. + * @param string $contentType What format should the data be in? + * A string with one of: + *
      + *                             text/calendar (VCALENDAR 2.0. Recommended as
      + *                                            this is specified in rfc2445)
      + *                             text/x-vcalendar (old VCALENDAR 1.0 format.
      + *                                              Still in wide use)
      + *                             
      + * + * @return string The iCalendar representation of the calendar. + */ +function _kronolith_exportCalendar($calendar, $contentType) +{ + require_once dirname(__FILE__) . '/base.php'; + global $kronolith_driver, $kronolith_shares; + + if (!array_key_exists($calendar, + Kronolith::listCalendars(false, PERMS_READ))) { + return PEAR::raiseError(_("Permission Denied")); + } + + if ($kronolith_driver->getCalendar() != $calendar) { + $kronolith_driver->open($calendar); + } + + $events = $kronolith_driver->listEvents(); + + $version = '2.0'; + switch ($contentType) { + case 'text/x-vcalendar': + $version = '1.0'; + case 'text/calendar': + $share = &$kronolith_shares->getShare($calendar); + + require_once 'Horde/iCalendar.php'; + $iCal = new Horde_iCalendar($version); + $iCal->setAttribute('X-WR-CALNAME', String::convertCharset($share->get('name'), NLS::getCharset(), 'utf-8')); + + foreach ($events as $id) { + $event = &$kronolith_driver->getEvent($id); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + $vEvent = &$event->toiCalendar($iCal); + $iCal->addComponent($vEvent); + } + + return $iCal->exportvCalendar(); + } + + return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $contentType)); +} + +/** + * Deletes an event identified by UID. + * + * @param string|array $uid A single UID or an array identifying the event(s) + * to delete. + * + * @return boolean Success or failure. + */ +function _kronolith_delete($uid) +{ + // Handle an array of UIDs for convenience of deleting multiple events at + // once. + if (is_array($uid)) { + foreach ($uid as $g) { + $result = _kronolith_delete($g); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + } + + return true; + } + + require_once dirname(__FILE__) . '/base.php'; + global $kronolith_driver; + + $events = $kronolith_driver->getByUID($uid, null, true); + if (is_a($events, 'PEAR_Error')) { + return $events; + } + + $event = null; + if (Auth::isAdmin()) { + $event = $events[0]; + } + + // First try the user's own calendars. + if (empty($event)) { + $ownerCalendars = Kronolith::listCalendars(true, PERMS_DELETE); + foreach ($events as $ev) { + if (Auth::isAdmin() || isset($ownerCalendars[$ev->getCalendar()])) { + $event = $ev; + break; + } + } + } + + // If not successful, try all calendars the user has access to. + if (empty($event)) { + $deletableCalendars = Kronolith::listCalendars(false, PERMS_DELETE); + foreach ($events as $ev) { + if (isset($deletableCalendars[$ev->getCalendar()])) { + $kronolith_driver->open($ev->getCalendar()); + $event = $ev; + break; + } + } + } + + if (empty($event)) { + return PEAR::raiseError(_("Permission Denied")); + } + + return $kronolith_driver->deleteEvent($event->getId()); +} + +/** + * Replaces the event identified by UID with the content represented in the + * specified contentType. + * + * @param string $uid Idenfity the event to replace. + * @param mixed $content The content of the event. String or + * Horde_iCalendar_vevent + * @param string $contentType What format is the data in? Currently supports: + * text/calendar + * text/x-vcalendar + * (Ignored if content is Horde_iCalendar_vevent) + * + * @return mixed True on success, PEAR_Error otherwise. + */ +function _kronolith_replace($uid, $content, $contentType) +{ + require_once dirname(__FILE__) . '/base.php'; + global $kronolith_driver; + + $event = $kronolith_driver->getByUID($uid); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + + if (!$event->hasPermission(PERMS_EDIT) || + ($event->isPrivate() && $event->getCreatorId() != Auth::getAuth())) { + return PEAR::raiseError(_("Permission Denied")); + } + + if (is_a($content, 'Horde_iCalendar_vevent')) { + $component = $content; + } else { + switch ($contentType) { + case 'text/calendar': + case 'text/x-vcalendar': + if (!is_a($content, 'Horde_iCalendar_vevent')) { + require_once 'Horde/iCalendar.php'; + $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_vevent')) { + if ($component !== null) { + return PEAR::raiseError(_("Multiple iCalendar components found; only one vEvent is supported.")); + } + $component = $content; + } + + } + if ($component === null) { + return PEAR::raiseError(_("No iCalendar data was found.")); + } + } + break; + default: + return PEAR::raiseError(sprintf(_("Unsupported Content-Type: %s"), $contentType)); + } + } + + $event->fromiCalendar($component); + // Ensure we keep the original UID, even when content does not + // contain one and fromiCalendar creates a new one. + $event->setUID($uid); + $eventId = $event->save(); + + return is_a($eventId, 'PEAR_Error') ? $eventId : true; +} + +/** + * Generates free/busy information for a given time period. + * + * @param integer $startstamp The start of the time period to retrieve. + * @param integer $endstamp The end of the time period to retrieve. + * @param string $calendar The calendar to view free/busy slots for. + * Defaults to the user's default calendar. + * + * @return Horde_iCalendar_vfreebusy A freebusy object that covers the + * specified time period. + */ +function _kronolith_getFreeBusy($startstamp = null, $endstamp = null, + $calendar = null) +{ + require_once dirname(__FILE__) . '/base.php'; + require_once KRONOLITH_BASE . '/lib/FreeBusy.php'; + + if (is_null($calendar)) { + $calendar = Kronolith::getDefaultCalendar(); + } + // Free/Busy information is globally available; no permission + // check is needed. + + return Kronolith_FreeBusy::generate($calendar, $startstamp, $endstamp, true); +} + +/** + * Retrieves a Kronolith_Event object, given an event UID. + * + * @param string $uid The event's UID. + * + * @return Kronolith_Event A valid Kronolith_Event on success, or a PEAR_Error + * on failure. + */ +function &_kronolith_eventFromUID($uid) +{ + require_once dirname(__FILE__) . '/base.php'; + + $event = $GLOBALS['kronolith_driver']->getByUID($uid); + if (is_a($event, 'PEAR_Error')) { + return $event; + } + if (!$event->hasPermission(PERMS_SHOW)) { + return PEAR::raiseError(_("Permission Denied")); + } + + return $event; +} + +/** + * Updates an attendee's response status for a specified event. + * + * @param Horde_iCalender_vevent $response A Horde_iCalender_vevent object, + * with a valid UID attribute that + * points to an existing event. + * This is typically the vEvent + * portion of an iTip meeting-request + * response, with the attendee's + * response in an ATTENDEE parameter. + * @param string $sender The email address of the person + * initiating the update. Attendees + * are only updated if this address + * matches. + * + * @return mixed True on success, PEAR_Error on failure. + */ +function _kronolith_updateAttendee($response, $sender = null) +{ + require_once dirname(__FILE__) . '/base.php'; + + $uid = $response->getAttribute('UID'); + if (is_a($uid, 'PEAR_Error')) { + return $uid; + } + + $events = $GLOBALS['kronolith_driver']->getByUID($uid, null, true); + if (is_a($events, 'PEAR_Error')) { + return $events; + } + + /* First try the user's own calendars. */ + $ownerCalendars = Kronolith::listCalendars(true, PERMS_EDIT); + $event = null; + foreach ($events as $ev) { + if (isset($ownerCalendars[$ev->getCalendar()])) { + $event = $ev; + break; + } + } + + /* If not successful, try all calendars the user has access to. */ + if (empty($event)) { + $editableCalendars = Kronolith::listCalendars(false, PERMS_EDIT); + foreach ($events as $ev) { + if (isset($editableCalendars[$ev->getCalendar()])) { + $event = $ev; + break; + } + } + } + + if (empty($event) || + ($event->isPrivate() && $event->getCreatorId() != Auth::getAuth())) { + return PEAR::raiseError(_("Permission Denied")); + } + + $atnames = $response->getAttribute('ATTENDEE'); + if (!is_array($atnames)) { + $atnames = array($atnames); + } + $atparms = $response->getAttribute('ATTENDEE', true); + + $found = false; + $error = _("No attendees have been updated because none of the provided email addresses have been found in the event's attendees list."); + $sender_lcase = String::lower($sender); + foreach ($atnames as $index => $attendee) { + $attendee = str_replace('mailto:', '', String::lower($attendee)); + $name = isset($atparms[$index]['CN']) ? $atparms[$index]['CN'] : null; + if ($event->hasAttendee($attendee)) { + if (is_null($sender) || $sender_lcase == $attendee) { + $event->addAttendee($attendee, KRONOLITH_PART_IGNORE, Kronolith::responseFromICal($atparms[$index]['PARTSTAT']), $name); + $found = true; + } else { + $error = _("The attendee hasn't been updated because the update was not sent from the attendee."); + } + } + } + + $result = $event->save(); + if (is_a($result, 'PEAR_Error')) { + return $result; + } + + if (!$found) { + return PEAR::raiseError($error); + } + + return true; +} + +/** + * Lists events for a given time period. + * + * @param integer $startstamp The start of the time period to retrieve. + * @param integer $endstamp The end of the time period to retrieve. + * @param array $calendars The calendars to view events from. + * Defaults to the user's default calendar. + * @param boolean $showRecurrence Return every instance of a recurring event? + * If false, will only return recurring events + * once inside the $startDate - $endDate range. + * @param boolean $alarmsOnly Filter results for events with alarms. + * Defaults to false. + * + * @return array A list of event hashes. + */ +function _kronolith_listEvents($startstamp = null, $endstamp = null, + $calendars = null, $showRecurrence = true, + $alarmsOnly = false) +{ + require_once dirname(__FILE__) . '/base.php'; + + if (!isset($calendars)) { + $calendars = array($GLOBALS['prefs']->getValue('default_share')); + } elseif (!is_array($calendars)) { + $calendars = array($calendars); + } + $allowed_calendars = Kronolith::listCalendars(false, PERMS_READ); + foreach ($calendars as $calendar) { + if (!array_key_exists($calendar, $allowed_calendars)) { + return PEAR::raiseError(_("Permission Denied")); + } + } + + return Kronolith::listEvents($startstamp, $endstamp, $calendars, $showRecurrence, $alarmsOnly); +} + +/** + * Lists alarms for a given moment. + * + * @param integer $time The time to retrieve alarms for. + * @param string $user The user to retrieve alarms for. All users if null. + * + * @return array An array of UIDs + */ +function _kronolith_listAlarms($time, $user = null) +{ + require_once dirname(__FILE__) . '/base.php'; + require_once 'Horde/Group.php'; + + $current_user = Auth::getAuth(); + if ((empty($user) || $user != $current_user) && !Auth::isAdmin()) { + return PEAR::raiseError(_("Permission Denied")); + } + + $group = &Group::singleton(); + $alarm_list = array(); + $time = new Horde_Date($time); + $calendars = is_null($user) ? array_keys($GLOBALS['kronolith_shares']->listAllShares()) : $GLOBALS['display_calendars']; + $alarms = Kronolith::listAlarms($time, $calendars, true); + if (is_a($alarms, 'PEAR_Error')) { + return $alarms; + } + foreach ($alarms as $calendar => $cal_alarms) { + $share = $GLOBALS['kronolith_shares']->getShare($calendar); + if (is_a($share, 'PEAR_Error')) { + continue; + } + if (empty($user)) { + $users = $share->listUsers(PERMS_READ); + $groups = $share->listGroups(PERMS_READ); + foreach ($groups as $gid) { + $group_users = $group->listUsers($gid); + if (!is_a($group_users, 'PEAR_Error')) { + $users = array_merge($users, $group_users); + } + } + $users = array_unique($users); + } else { + $users = array($user); + } + $owner = $share->get('owner'); + foreach ($cal_alarms as $event) { + foreach ($users as $alarm_user) { + if ($alarm_user == $current_user) { + $prefs = &$GLOBALS['prefs']; + } else { + $prefs = &Prefs::singleton($GLOBALS['conf']['prefs']['driver'], + 'kronolith', $alarm_user, null, + null, false); + } + $shown_calendars = unserialize($prefs->getValue('display_cals')); + $reminder = $prefs->getValue('event_reminder'); + if (($reminder == 'owner' && $alarm_user == $owner) || + ($reminder == 'show' && in_array($calendar, $shown_calendars)) || + $reminder == 'read') { + /* @todo: replace with NLS::setLanguageEnvironement(). */ + NLS::setLang($prefs->getValue('language')); + NLS::setTextdomain('kronolith', KRONOLITH_BASE . '/locale', NLS::getCharset()); + String::setDefaultCharset(NLS::getCharset()); + $alarm = $event->toAlarm($time, $alarm_user, $prefs); + if ($alarm) { + $alarm_list[] = $alarm; + } + } + } + } + } + + return $alarm_list; +} + +/** + * Subscribe to a calendar. + * + * @param array $calendar Calendar description hash, with required 'type' + * parameter. Currently supports 'http' and 'webcal' + * for remote calendars. + */ +function _kronolith_subscribe($calendar) +{ + if (!isset($calendar['type'])) { + return PEAR::raiseError(_("Unknown calendar protocol")); + } + + switch ($calendar['type']) { + case 'http': + case 'webcal': + $username = isset($calendar['username']) ? $calendar['username'] : null; + $password = isset($calendar['password']) ? $calendar['password'] : null; + + $cals = unserialize($GLOBALS['prefs']->getValue('remote_cals')); + if (!is_array($cals)) { + $cals = array(); + } + $array_key = count($cals); + foreach ($cals as $key => $cal) { + if ($cal['url'] == $calendar['url']) { + $array_key = $key; + break; + } + } + + $cals[$array_key] = array('name' => $calendar['name'], + 'url' => $calendar['url'], + 'user' => $username, + 'password' => $password); + $GLOBALS['prefs']->setValue('remote_cals', serialize($cals)); + break; + + case 'external': + $cals = unserialize($GLOBALS['prefs']->getValue('display_external_cals')); + if (array_search($calendar['name'], $cals) === false) { + $cals[] = $calendar['name']; + $GLOBALS['prefs']->setValue('display_external_cals', serialize($cals)); + } + + default: + return PEAR::raiseError(_("Unknown calendar protocol")); + } +} + +/** + * Unsubscribe from a calendar. + * + * @param array $calendar Calendar description array, with required 'type' + * parameter. Currently supports 'http' and 'webcal' + * for remote calendars. + */ +function _kronolith_unsubscribe($calendar) +{ + if (!isset($calendar['type'])) { + return PEAR::raiseError('Unknown calendar specification'); + } + + switch ($calendar['type']) { + case 'http': + case 'webcal': + $cals = unserialize($GLOBALS['prefs']->getValue('remote_cals')); + foreach ($cals as $key => $cal) { + if ($cal['url'] == $calendar['url']) { + unset($cals[$key]); + break; + } + } + + $GLOBALS['prefs']->setValue('remote_cals', serialize($cals)); + break; + + case 'external': + $cals = unserialize($GLOBALS['prefs']->getValue('display_external_cals')); + if (($key = array_search($calendar['name'], $cals)) !== false) { + unset($cals[$key]); + $GLOBALS['prefs']->setValue('display_external_cals', serialize($cals)); + } + + default: + return PEAR::raiseError('Unknown calendar specification'); + } +} diff --git a/kronolith/lib/base.php b/kronolith/lib/base.php new file mode 100644 index 000000000..f7f60a929 --- /dev/null +++ b/kronolith/lib/base.php @@ -0,0 +1,118 @@ +pushApp('kronolith', !defined('AUTH_HANDLER'))), 'PEAR_Error')) { + if ($pushed->getCode() == 'permission_denied') { + Horde::authenticationFailureRedirect(); + } + Horde::fatal($pushed, __FILE__, __LINE__, false); +} +$conf = &$GLOBALS['conf']; +define('KRONOLITH_TEMPLATES', $registry->get('templates')); + +/* Find the base file path of Kronolith. */ +if (!defined('KRONOLITH_BASE')) { + define('KRONOLITH_BASE', dirname(__FILE__) . '/..'); +} + +/* Horde framework libraries. */ +require_once 'Horde/Date.php'; +require_once 'Horde/Date/Recurrence.php'; +require_once 'Horde/Help.php'; +require_once 'Horde/History.php'; + +/* Notification system. */ +$notification = &Notification::singleton(); +$notification->attach('status'); + +/* Kronolith base library. */ +require_once KRONOLITH_BASE . '/lib/Kronolith.php'; +require_once KRONOLITH_BASE . '/lib/Driver.php'; + +/* Categories. */ +require_once 'Horde/Prefs/CategoryManager.php'; +$GLOBALS['cManager'] = new Prefs_CategoryManager(); +$GLOBALS['cManager_fgColors'] = $GLOBALS['cManager']->fgColors(); + +/* PEAR Date_Calc. */ +require_once 'Date/Calc.php'; + +/* Start compression, if requested. */ +Horde::compressOutput(); + +/* Set the timezone variable, if available. */ +NLS::setTimeZone(); + +/* Create a calendar backend object. */ +$GLOBALS['kronolith_driver'] = &Kronolith_Driver::factory(); + +/* Create a share instance. */ +require_once 'Horde/Share.php'; +$GLOBALS['kronolith_shares'] = &Horde_Share::singleton($registry->getApp()); + +Kronolith::initialize(); + +/* Do maintenance operations - need to check for a number of conditions to be + * sure that we aren't here due to alarm notifications (which would occur after + * headers are sent), we aren't on any of the portal pages, and that we haven't + * already performed maintenance. + */ +require_once 'Horde/Maintenance.php'; +if (Kronolith::loginTasksFlag() && + !strstr($_SERVER['PHP_SELF'], 'maintenance.php') && + !headers_sent() && !defined('AUTH_HANDLER') && + $GLOBALS['prefs']->getValue('do_maintenance')) { + + Kronolith::loginTasksFlag(2); + $maint = &Maintenance::factory('kronolith', array('last_maintenance' => $GLOBALS['prefs']->getValue('last_kronolith_maintenance'))); + if (!$maint) { + $GLOBALS['notification']->push(_("Could not execute maintenance operations."), 'horde.warning'); + } else { + $maint->runMaintenance(); + } + Kronolith::loginTasksFlag(0); + +} elseif (Util::getFormData(MAINTENANCE_DONE_PARAM) && + Kronolith::loginTasksFlag()) { + + $maint = &Maintenance::factory('kronolith', array('last_maintenance' => $GLOBALS['prefs']->getValue('last_kronolith_maintenance'))); + if (!$maint) { + $GLOBALS['notification']->push(_("Could not execute maintenance operations."), 'horde.warning'); + } else { + $maint->runMaintenance(); + } + Kronolith::loginTasksFlag(0); + +} diff --git a/kronolith/lib/prefs.php b/kronolith/lib/prefs.php new file mode 100644 index 000000000..95da5e5a7 --- /dev/null +++ b/kronolith/lib/prefs.php @@ -0,0 +1,199 @@ +getValue('remote_cals')); + $cals[] = array('name' => $calName, + 'url' => $calUrl, + 'user' => $calUser, + 'password' => $calPasswd); + $prefs->setValue('remote_cals', serialize($cals)); + return $updated; + } + } elseif ($calActionID == 'delete') { + $cals = unserialize($prefs->getValue('remote_cals')); + foreach ($cals as $key => $cal) { + if ($cal['url'] == $calUrl) { + unset($cals[$key]); + break; + } + } + $prefs->setValue('remote_cals', serialize($cals)); + return $updated; + } elseif ($calActionID == 'edit') { + $cals = unserialize($prefs->getValue('remote_cals')); + foreach ($cals as $key => $cal) { + if ($cal['url'] == $calUrl) { + $cals[$key]['name'] = $calName; + $cals[$key]['url'] = $calUrl; + $cals[$key]['user'] = $calUser; + $cals[$key]['password'] = $calPasswd; + break; + } + } + $prefs->setValue('remote_cals', serialize($cals)); + return $updated; + } + + return false; +} + +function handle_shareselect($updated) +{ + $default_share = Util::getFormData('default_share'); + if (!is_null($default_share)) { + $sharelist = Kronolith::listCalendars(); + if ((is_array($sharelist)) > 0 && isset($sharelist[$default_share])) { + $GLOBALS['prefs']->setValue('default_share', $default_share); + return true; + } + } + + return $updated; +} + +function handle_holiday_drivers($updated) +{ + $holiday_driversSelected = Util::getFormData('holiday_drivers'); + $holiday_driversFiltered = array(); + + if (is_array($holiday_driversSelected)) { + foreach($holiday_driversSelected as $holiday_driver) { + $holiday_driversFiltered[] = $holiday_driver; + } + } + + $GLOBALS['prefs']->setValue('holiday_drivers', serialize($holiday_driversFiltered)); + return true; +} + +function handle_sourceselect($updated) +{ + global $prefs; + + $search_sources = Util::getFormData('search_sources'); + if ($search_sources !== null) { + $prefs->setValue('search_sources', $search_sources); + $updated = true; + } + + $search_fields_string = Util::getFormData('search_fields_string'); + if ($search_fields_string !== null) { + $prefs->setValue('search_fields', $search_fields_string); + $updated = true; + } + + return $updated; +} + +function handle_fb_cals_select($updated) +{ + $fb_calsSelected = Util::getFormData('fb_cals'); + $fb_cals = Kronolith::listCalendars(); + $fb_calsFiltered = array(); + + if (isset($fb_calsSelected) && is_array($fb_calsSelected)) { + foreach ($fb_calsSelected as $fb_cal) { + $fb_calsFiltered[] = $fb_cal; + } + } + + $GLOBALS['prefs']->setValue('fb_cals', serialize($fb_calsFiltered)); + return true; +} + +function handle_default_alarm_management($updated) +{ + $GLOBALS['prefs']->setValue('default_alarm', + (int)Util::getFormData('alarm_value') * (int)Util::getFormData('alarm_unit')); + return true; +} + +if (!$prefs->isLocked('day_hour_start') || !$prefs->isLocked('day_hour_end')) { + $day_hour_start_options = array(); + for ($i = 0; $i <= 48; ++$i) { + $day_hour_start_options[$i] = date(($prefs->getValue('twentyFour')) ? 'G:i' : 'g:ia', mktime(0, $i * 30, 0)); + } + $day_hour_end_options = $day_hour_start_options; +} + +/** + * Do anything that we need to do as a result of certain preferences + * changing. + */ +function prefs_callback() +{ + global $prefs; + + if ($GLOBALS['prefs']->isDirty('event_alarms')) { + $alarms = $GLOBALS['registry']->callByPackage('kronolith', 'listAlarms', array($_SERVER['REQUEST_TIME'])); + if (!is_a($alarms, 'PEAR_Error') && !empty($alarms)) { + require_once 'Horde/Alarm.php'; + $horde_alarm = Horde_Alarm::factory(); + foreach ($alarms as $alarm) { + $alarm['start'] = new Horde_Date($alarm['start']); + $alarm['end'] = new Horde_Date($alarm['end']); + $horde_alarm->set($alarm); + } + } + } + + /* If a maintenance option has been activated, we need to make sure the + * global Horde 'do_maintenance' pref is also active. */ + if (!$prefs->isLocked('do_maintenance') && + !$prefs->getValue('do_maintenance')) { + foreach (array('purge_events') as $val) { + if ($prefs->getValue($val)) { + $prefs->setValue('do_maintenance', true); + break; + } + } + } + +} + +/* Get the interval variables for the prefs */ +require_once KRONOLITH_BASE . '/lib/Maintenance/kronolith.php'; +$maint = &new Maintenance_Kronolith(); +foreach (($maint->exportIntervalPrefs()) as $val) { + $$val = &$intervals; +} + +if (!empty($GLOBALS['conf']['holidays']['enable']) && + @include_once('Date/Holidays.php')) { + foreach (Date_Holidays::getInstalledDrivers() as $driver) { + if ($driver['id'] == 'Composite') { + continue; + } + $_prefs['holiday_drivers']['enum'][$driver['id']] = $driver['title']; + } + asort($_prefs['holiday_drivers']['enum']); +} diff --git a/kronolith/lib/tests/allday.ics b/kronolith/lib/tests/allday.ics new file mode 100644 index 000000000..0b007cd15 --- /dev/null +++ b/kronolith/lib/tests/allday.ics @@ -0,0 +1,23 @@ +BEGIN:VEVENT +DTSTAMP:20061023T132252Z +DTSTART;VALUE=DATE:20061023 +DTEND;VALUE=DATE:20061024 +STATUS:TENTATIVE +SUMMARY:All day +UID:20061023T132252Zxl6qmpcgca8@192.168.60.3 +END:VEVENT +BEGIN:VEVENT +DTSTAMP:20061023T132252Z +DTSTART;VALUE=DATE:20061023 +STATUS:TENTATIVE +SUMMARY:All day without end +UID:20061023T132252Zxl6qmpcgca9@192.168.60.3 +END:VEVENT +BEGIN:VEVENT +DTSTAMP:20061023T132252Z +DTSTART:20061023T120000 +DTEND:20061023T130000 +STATUS:TENTATIVE +SUMMARY:One hour +UID:20061023T132252Zxl6qmpcgca9@192.168.60.3 +END:VEVENT diff --git a/kronolith/lib/tests/allday.phpt b/kronolith/lib/tests/allday.phpt new file mode 100644 index 000000000..1bebd5ef0 --- /dev/null +++ b/kronolith/lib/tests/allday.phpt @@ -0,0 +1,53 @@ +--TEST-- +Import of all-day events +--FILE-- +parsevCalendar(file_get_contents(dirname(__FILE__) . '/allday.ics')); +$components = $iCal->getComponents(); + +define('KRONOLITH_BASE', dirname(__FILE__) . '/../..'); +require KRONOLITH_BASE . '/lib/Kronolith.php'; +require KRONOLITH_BASE . '/lib/Driver.php'; +foreach ($components as $content) { + if (is_a($content, 'Horde_iCalendar_vevent')) { + $event = new Kronolith_Event(new Driver); + $event->fromiCalendar($content); + echo (string)$event->start . "\n"; + echo (string)$event->end . "\n"; + var_export($event->isAllDay()); + echo "\n"; + } +} + +?> +--EXPECT-- +2006-10-23 00:00:00 +2006-10-24 00:00:00 +true +2006-10-23 00:00:00 +2006-10-24 00:00:00 +true +2006-10-23 12:00:00 +2006-10-23 13:00:00 +false diff --git a/kronolith/lib/tests/bug6031.phpt b/kronolith/lib/tests/bug6031.phpt new file mode 100644 index 000000000..6a2b02202 --- /dev/null +++ b/kronolith/lib/tests/bug6031.phpt @@ -0,0 +1,90 @@ +--TEST-- +Bug #6031: Recurring events are not displayed in Kolab. +--FILE-- +prepareBasicSetup(); + +$test->assertTrue($world['auth']->authenticate('wrobel@example.org', + array('password' => 'none'))); + +$GLOBALS['registry']->pushApp('kronolith'); + +$test->prepareNewFolder($world['storage'], 'Calendar', 'event', true); + +/* Pretend that we are kronolith */ +$kolab = &new Kolab(); + +/* Open our calendar */ +$kolab->open('INBOX/Calendar', 1); + +$object = array( + 'uid' => 1, + 'summary' => 'test', + 'start-date' => 0, + 'end-date' => 14400, + 'recurrence' => array( + 'interval' => 1, + 'cycle' => 'daily', + 'range-type' => 'number', + 'range' => 4, + 'exclusion' => array( + '1970-01-02', + '1970-01-03' + ) + ) +); + +// Save the event +var_dump($kolab->_storage->save($object)); + +// Check that the driver can be created +$kron = Kronolith_Driver::factory('kolab'); +$kron->open('wrobel@example.org'); + +$start = &new Horde_Date(86400); +$end = &new Horde_Date(172800); + +// List the events of tomorrow (none, since recurrence has exception) +$a = $kron->listEvents($start, $end); +if (is_a($a, 'PEAR_Error')) { + var_dump($a->getMessage()); +} else { + var_dump($a); +} + +$start = &new Horde_Date(259200); +$end = &new Horde_Date(345600); + +// List the events in three days (recurring event) +$a = $kron->listEvents($start, $end); +if (is_a($a, 'PEAR_Error')) { + var_dump($a->getMessage()); +} else { + var_dump($a); +} +--EXPECT-- +bool(true) +array(0) { +} +array(1) { + [1]=> + string(1) "1" +} diff --git a/kronolith/lib/tests/bug7068.ics b/kronolith/lib/tests/bug7068.ics new file mode 100644 index 000000000..356d8c84e --- /dev/null +++ b/kronolith/lib/tests/bug7068.ics @@ -0,0 +1,31 @@ +BEGIN:VCALENDAR +PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN +VERSION:2.0 +BEGIN:VEVENT +DTSTART:20080715T050000Z +DTEND:20080715T060000Z +DTSTAMP:20080715T124538Z +UID:bb5133681085c756a7e3f21a19015564 +SUMMARY:test repeat +ORGANIZER;CN=guyz:mailto:guyz +CLASS:PUBLIC +STATUS:CONFIRMED +TRANSP:OPAQUE +RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TU +EXDATE:20080729T050000Z +END:VEVENT +BEGIN:VEVENT +DTSTART:20080715T050000Z +DTEND:20080715T060000Z +DTSTAMP:20080715T124538Z +UID:bb5133681085c756a7e3f21a19015564 +SUMMARY:test repeat +ORGANIZER;CN=guyz:mailto:guyz +CLASS:PUBLIC +STATUS:CONFIRMED +TRANSP:OPAQUE +RRULE:FREQ=WEEKLY;INTERVAL=1;BYDAY=TU +EXDATE:20080729T050000Z +EXDATE:20080722T050000Z +END:VEVENT +END:VCALENDAR diff --git a/kronolith/lib/tests/bug7068.phpt b/kronolith/lib/tests/bug7068.phpt new file mode 100644 index 000000000..e97c67b28 --- /dev/null +++ b/kronolith/lib/tests/bug7068.phpt @@ -0,0 +1,43 @@ +--TEST-- +Bug #7068: Single EXDATE properties not imported +--FILE-- +parsevCalendar(file_get_contents(dirname(__FILE__) . '/bug7068.ics')); +$components = $iCal->getComponents(); + +define('KRONOLITH_BASE', dirname(__FILE__) . '/../..'); +require KRONOLITH_BASE . '/lib/Kronolith.php'; +require KRONOLITH_BASE . '/lib/Driver.php'; +$event = new Kronolith_Event(new Driver); +foreach ($components as $content) { + if (is_a($content, 'Horde_iCalendar_vevent')) { + $event->fromiCalendar($content); + var_export($event->recurrence->exceptions); + echo "\n"; + } +} + +?> +--EXPECT-- +array ( + 0 => '20080729', +) +array ( + 0 => '20080722', + 1 => '20080729', +) diff --git a/kronolith/lib/tests/toicalendar.phpt b/kronolith/lib/tests/toicalendar.phpt new file mode 100644 index 000000000..914a0b81f --- /dev/null +++ b/kronolith/lib/tests/toicalendar.phpt @@ -0,0 +1,175 @@ +--TEST-- +Kronolith_Event::toiCalendar() test. +--FILE-- +start = new Horde_Date('2007-03-15 13:10:20'); +$object->end = new Horde_Date('2007-03-15 14:20:00'); +$object->setCreatorId('joe'); +$object->setUID('20070315143732.4wlenqz3edq8@horde.org'); +$object->setTitle('Hübscher Termin'); +$object->setDescription("Schöne Bescherung\nNew line"); +$object->setCategory('Schöngeistiges'); +$object->setLocation('Allgäu'); +$object->setAlarm(10); +$object->recurrence = new Horde_Date_Recurrence($object->start); +$object->recurrence->setRecurType(HORDE_DATE_RECUR_DAILY); +$object->recurrence->setRecurInterval(2); +$object->recurrence->addException(2007, 3, 19); +$object->initialized = true; + +$ical = new Horde_iCalendar('1.0'); +$cal = $object->toiCalendar($ical); +$ical->addComponent($cal); +echo $ical->exportvCalendar() . "\n"; + +$ical = new Horde_iCalendar('2.0'); +$cal = $object->toiCalendar($ical); +$ical->addComponent($cal); +echo $ical->exportvCalendar() . "\n"; + +$object->setPrivate(true); +$object->setStatus(KRONOLITH_STATUS_TENTATIVE); +$object->recurrence = new Horde_Date_Recurrence($object->start); +$object->recurrence->setRecurType(HORDE_DATE_RECUR_MONTHLY_DATE); +$object->recurrence->setRecurInterval(1); +$object->recurrence->addException(2007, 4, 15); +$object->setAttendees( + array('juergen@example.com' => + array('attendance' => KRONOLITH_PART_REQUIRED, + 'response' => KRONOLITH_RESPONSE_NONE, + 'name' => 'Jürgen Doe'), + 0 => + array('attendance' => KRONOLITH_PART_OPTIONAL, + 'response' => KRONOLITH_RESPONSE_ACCEPTED, + 'name' => 'Jane Doe'), + 'jack@example.com' => + array('attendance' => KRONOLITH_PART_NONE, + 'response' => KRONOLITH_RESPONSE_DECLINED, + 'name' => 'Jack Doe'), + 'jenny@example.com' => + array('attendance' => KRONOLITH_PART_NONE, + 'response' => KRONOLITH_RESPONSE_TENTATIVE))); + +$ical = new Horde_iCalendar('1.0'); +$cal = $object->toiCalendar($ical); +$ical->addComponent($cal); +echo $ical->exportvCalendar() . "\n"; + +$ical = new Horde_iCalendar('2.0'); +$cal = $object->toiCalendar($ical); +$ical->addComponent($cal); +echo $ical->exportvCalendar() . "\n"; + +?> +--EXPECTF-- +BEGIN:VCALENDAR +VERSION:1.0 +PRODID:-//The Horde Project//Horde_iCalendar Library//EN +METHOD:PUBLISH +BEGIN:VEVENT +DTSTART:20070315T121020Z +DTEND:20070315T132000Z +DTSTAMP:%d%d%d%d%d%d%d%dT%d%d%d%d%d%dZ +UID:20070315143732.4wlenqz3edq8@horde.org +SUMMARY:Event from 1:10pm to 2:20pm +ORGANIZER;CN=joe:mailto:joe +DESCRIPTION;ENCODING=QUOTED-PRINTABLE;CHARSET=ISO-8859-1:Sch=F6ne Bescherung=0D=0A= +New line +CATEGORIES;ENCODING=QUOTED-PRINTABLE;CHARSET=ISO-8859-1:Sch=F6ngeistiges +LOCATION;ENCODING=QUOTED-PRINTABLE;CHARSET=ISO-8859-1:Allg=E4u +CLASS:PUBLIC +STATUS:CONFIRMED +TRANSP:0 +AALARM:20070315T120020Z +RRULE:D2 #0 +EXDATE:20070319T121020Z +END:VEVENT +END:VCALENDAR + +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//The Horde Project//Horde_iCalendar Library//EN +METHOD:PUBLISH +BEGIN:VEVENT +DTSTART:20070315T121020Z +DTEND:20070315T132000Z +DTSTAMP:%d%d%d%d%d%d%d%dT%d%d%d%d%d%dZ +UID:20070315143732.4wlenqz3edq8@horde.org +SUMMARY:Event from 1:10pm to 2:20pm +ORGANIZER;CN=joe:mailto:joe +DESCRIPTION:Schöne Bescherung\nNew line +CATEGORIES:Schöngeistiges +LOCATION:Allgäu +CLASS:PUBLIC +STATUS:CONFIRMED +TRANSP:OPAQUE +RRULE:FREQ=DAILY;INTERVAL=2 +EXDATE:20070319T121020Z +BEGIN:VALARM +ACTION:DISPLAY +TRIGGER;VALUE=DURATION:-PT10M +END:VALARM +END:VEVENT +END:VCALENDAR + +BEGIN:VCALENDAR +VERSION:1.0 +PRODID:-//The Horde Project//Horde_iCalendar Library//EN +METHOD:PUBLISH +BEGIN:VEVENT +DTSTART:20070315T121020Z +DTEND:20070315T132000Z +DTSTAMP:%d%d%d%d%d%d%d%dT%d%d%d%d%d%dZ +UID:20070315143732.4wlenqz3edq8@horde.org +SUMMARY:Private Event from 1:10pm to 2:20pm +ORGANIZER;CN=joe:mailto:joe +CLASS:PRIVATE +STATUS:TENTATIVE +TRANSP:0 +ATTENDEE;EXPECT=REQUIRE;STATUS=NEEDS ACTION;RSVP=YES;ENCODING=QUOTED-PRINTABLE;CHARSET=ISO-8859-1:J=FCrgen Doe +ATTENDEE;EXPECT=REQUEST;STATUS=ACCEPTED:Jane Doe +ATTENDEE;EXPECT=FYI;STATUS=DECLINED:Jack Doe +ATTENDEE;EXPECT=FYI;STATUS=TENTATIVE:jenny@example.com +AALARM:20070315T120020Z +RRULE:MD1 15 #0 +EXDATE:20070415T111020Z +END:VEVENT +END:VCALENDAR + +BEGIN:VCALENDAR +VERSION:2.0 +PRODID:-//The Horde Project//Horde_iCalendar Library//EN +METHOD:PUBLISH +BEGIN:VEVENT +DTSTART:20070315T121020Z +DTEND:20070315T132000Z +DTSTAMP:%d%d%d%d%d%d%d%dT%d%d%d%d%d%dZ +UID:20070315143732.4wlenqz3edq8@horde.org +SUMMARY:Private Event from 1:10pm to 2:20pm +ORGANIZER;CN=joe:mailto:joe +CLASS:PRIVATE +STATUS:TENTATIVE +TRANSP:OPAQUE +ATTENDEE;ROLE=REQ-PARTICIPANT;PARTSTAT=NEEDS-ACTION;RSVP=TRUE;CN=Jürgen + Doe:mailto:juergen@example.com +ATTENDEE;ROLE=OPT-PARTICIPANT;PARTSTAT=ACCEPTED;CN=Jane Doe: +ATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=DECLINED;CN=Jack + Doe:mailto:jack@example.com +ATTENDEE;ROLE=NON-PARTICIPANT;PARTSTAT=TENTATIVE:mailto:jenny@example.com +RRULE:FREQ=MONTHLY;INTERVAL=1 +EXDATE:20070415T111020Z +BEGIN:VALARM +ACTION:DISPLAY +TRIGGER;VALUE=DURATION:-PT10M +END:VALARM +END:VEVENT +END:VCALENDAR diff --git a/kronolith/lib/version.php b/kronolith/lib/version.php new file mode 100644 index 000000000..44484bf83 --- /dev/null +++ b/kronolith/lib/version.php @@ -0,0 +1 @@ + diff --git a/kronolith/locale/ar_SY/LC_MESSAGES/kronolith.mo b/kronolith/locale/ar_SY/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..4c3abd00fba92e7f718c33bdd618793d352fe0c2 GIT binary patch literal 35514 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%0A5vEeUzI%5J~kD) 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 L@$cK>Sm^Q>7t|wu literal 0 HcmV?d00001 diff --git a/kronolith/locale/ca_ES/LC_MESSAGES/kronolith.mo b/kronolith/locale/ca_ES/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..fbeae0514a4147fc66e7aacd2cdee96826356b5b GIT binary patch literal 161703 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/ca_ES/help.xml b/kronolith/locale/ca_ES/help.xml new file mode 100755 index 000000000..51864be8e --- /dev/null +++ b/kronolith/locale/ca_ES/help.xml @@ -0,0 +1,149 @@ + + + + + Kronolith: Introducció + Que és kronolith? + +Kronolith és una aplicació d'agenda basada en web. A més de les funcions habituals de creació, modificació i eliminació d'esdeveniments, suporta esdeveniments recurrents (amb excepcions i diverses opcions d'eliminació), alarmes, funcions d'importació i exportació (en formats iCalendar i Palm DataBook (PDB)), invitacions iCalendar, múltiples vistes, agendes compartides, visualizació de tasques de Nag (si les Tasques están instal·lades) i la capacitat de mostrar esdeveniments en la pantalla de resum de Horde. + + + + Menú: Avui + Avui + + L'element Avui del menú mostrarà la vista por omisió (mensual, setmanal, diària, etc. segons s'hagi configurat en les Opcions) de la data actual. + + + + Menú: Anar a + Anar a + + L'element Anar a del menú mostrarà una petita finestra desplegable en la qual podrà seleccionar ràpidament un any, mes, setmana o día al que Anar a. Sol ser la forma més ràpida de desplaçar-se dintre de l'agenda. + + + + Menú: Día + Vista diaria + + L'element Día del menú mostrarà una vista diària del día seleccionat actualment. + + + + Menú: Setmana laboral + Vista de setmana laboral + + L'element Setmana laboral del menú mostrarà la vista de setmana laboral (de dilluns a divendres) més adequada del día seleccionat actualment. + + + + Menú: Setmana + Vista setmanal + + L'element Setmana del menú mostrarà una vista setmanal (de 7 dies) de la setmana que contingui el dia seleccionat actualment. + + + + Menú: Mes + Vista mensual + + L'element Mes del menú mostrarà la vista mensual del mes que contingui el dia seleccionat actualment. + + + + Menú: Afegir + Afegir un esdeveniment + + L'element Afegir del menú li permetrà afegir un esdeveniment a l'agenda. + + + + Menú: Opcions + Opcions + + L'element Opcions del menú li permet configurar Opcions (o preferències) que controlen l'aspecte i comportament de kronolith, la seva interacció amb Horde i amb la resta de les aplicacions, gestionar diverses agendes y compartir-les, així com, gestionar codis de categories per als esdeveniments. + + + + Menú: Importar/Exportar + Importar/Exportar + + L'element Importar/Exportar del menú li permet importar o exportar esdeveniments de l'agenda. Actualment es poden importar arxius en format CSV, Outlook de Microsoft, Palm DateBook i vCalendar/iCalendar. Només pot exportar a formats CSV i iCalendar. + + + + Alarmes + Alarmes + + Kronolith pot generar alarmes per als esdeveniments d'una agenda. Per omisió la primera alarma es produirà 15 minuts abans de l'hora prevista d'inici de l'esdeveniment, però es pot configurar (per a cada esdeveniment) perquè es produeixi pràcticamente a qualsevol interval abans de l'hora i data previstes. + + + + + Esdeveniments recurrents + Esdeveniments recurrents + +Els esdeveniments es poden fer recurrents de diverses formes. La majoría dels esdeveniments es repeteixen de certes formes habituals. Per exemple, el tipus de recurrència Mensual provoca que l'element seleccionat es repeteixi cada mes i el tipus Setmanal que ho faci cada setmana. Es poden utilitzar per a reflectir esdeveniments que es repeteixin de formes complexes: per exemple, un element que succeeixi cada últim divendres de cada mes o els dilluns, el dimecres i divendres de cada setmana. + + +També és pot limitar la durada de les repeticions d'un esdeveniment seleccionant una data +final. + + +Normalment, la modificació d'un esdeveniment recurrent s'aplicarà a totes les repeticions del mateix. Es pot modificar una repetició individual d'un esdeveniment recurrent modificant la repetició, eliminant la informació de recurrència i seleccionant l'opció Guardar com nou del menú de recurrència. L'esdeveniment seleccionat es podrà modificar llavors de forma independent a les altres repeticions del mateix. + + + + Impressió + Impressió d'agendes i esdeveniments + + Determinades vistes s'han dissenyat amb l'objectiu de poder imprimir-se. Si està en una d'elles, apareixerá la icona Imprimir en la barra de menú superior. Utilitzi aquesta icona per a imprimir la vista actual. + + + + Calendar Permissions + + Here should go a few explanations on the different users and groups that + permissions can be assigned to. + + + This should be a place to explain the different permission types and + what they mean regarding to events and calendars. + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/cs_CZ/LC_MESSAGES/kronolith.mo b/kronolith/locale/cs_CZ/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..dc33ee2327e12fb6b31c6f9c1ef914ec5b8ae4f1 GIT binary patch literal 154895 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%0AV>mO3T`W>H&A1Doxh>VO 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 B^S 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%0A@&2N3W9qX~UPep>h@~w38u90w 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 PM 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%0ASgxAM2N$gQVA`_ft!-oR3K%4QHKvaWQe! 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/de_DE/help.xml b/kronolith/locale/de_DE/help.xml new file mode 100644 index 000000000..5ab198f35 --- /dev/null +++ b/kronolith/locale/de_DE/help.xml @@ -0,0 +1,163 @@ + + + + + Kronolith: Überblick + + Bei Kronolith handelt es sich um einen webbasierten Kalender. Neben den + üblichen Funktionen wie Eintragen, Bearbeiten und Löschen von Terminen + werden außerdem sich wiederholende Termine (mit Ausnahmen und + verschiedenen Löschmöglichkeiten), Alarme, Im- und Export (iCalendar, + Textdateien und Palm), iCalendar-Einladungen, verschiedene + Kalenderansichten, gemeinsame Kalender, Anzeige von Aufgaben (wenn + die Aufgabenlistenanwendung Nag installiert ist) und die Anzeige von + Terminen im Horde-Portal unterstützt. + + + + Menü: Heute + + Ein Klick auf den Heute-Menüeintrag zeigt Ihre Standardansicht + (Monat, Woche, Tag usw. wie in den Einstellungen festgelegt) für das + aktuelle Datum an. + + + + Menü: Gehe zu + + Ein Klick auf den Gehe zu-Menüeintrag zeigt ein kleines + Popupfenster an, über das Sie schnell zu einen bestimmten Monat, Woche + oder Tag gelangen können. Dies ist für gewöhnlich die schnellste Art, im + Kalender zu navigieren. + + + + Menü: Tag + + Ein Klick auf den Tag-Tabreiter zeigt die Tagesansicht des + ausgewählten Tages an. + + + + Menü: Arbeitswoche + + Ein Klick auf den Arbeitswoche-Tabreiter zeigt die + Arbeitswochenansicht (Montag bis Freitag) des ausgewählten Tages an. + + + + Menü: Woche + + Ein Klick auf den Woche-Tabreiter zeigt die Wochenansicht + (7-Tage-Woche) des ausgewählten Tages an. + + + + Menü: Monat + + Ein Klick auf den Monat-Tabreiter zeigt die Monatsansicht des + ausgewählten Tages an. + + + + Menü: Neuer Termin + + Der Gehe zu-Menüeintrag erlaubt das Hinzufügen neuer Termine zum + Kalender. + + + + Menü: Einstellungen + + Über den Einstellungen-Menüeintrag können Sie die Einstellungen + bearbeiten, die das Aussehen Kronoliths und das Zusammenspiel Kronoliths + mit Horde und und anderen Horde-Anwendungen beeinflussen und mehrere, + auch gemeinsame, Kalender verwalten. + + + + Menü: Import/Export + + Mit dem Import/Export-Menüeintrag können Sie Termine im- und + exportieren. Zur Zeit können Sie kommagetrennte Textdateien, z.B. von + Microsoft Outlook und Dateien im vCalender/iCalendar-Format im- und + exportieren. + + + + Alarme + + Kronolith kann Alarme für Termine erzeugen. Als Standard wird der Alarm + 15 Minuten vor dem Terminbeginn ausgelöst, Sie können die Alarmzeit aber + für jeden Termin frei festlegen. + + + + Wiederkehrende Termine + + Termine können auf verschiedene Weise wiederholt werden, z.B. monatlich + oder wöchentlich. Aber auch komplexere Wiederholrhythmen sind möglich, + z.B. jeden dritten Freitag eines Monats oder jede Woche Montags, + Mittwochs und Freitags. + + + Sie können ebenfalls festlegen, wie lange ein Termin wiederholt wird, + indem Sie ein Enddatum für die Wiederholungen einstellen. + + + Normalerweise wirken sich Änderungen an einem wiederkehrenden Termin auf + alle Wiederholungen dieses Termins aus. Sie können aber eine einzelne + Wiederholung bearbeiten, indem Sie beim Bearbeiten den Wiederholrhythmus + zurücksetzen und die Bearbeitung mit "Als Kopie speichern" + beenden. Danach haben Sie einen einzelnen Termin, den Sie getrennt von + den anderen bearbeiten können. + + + + Drucken + Drucken von Kalendern und Terminen + + Verschiedene Ansichten können ausgedruckt werden. Wenn Sie sich in einer + dieser Ansichten befinden, wird ein Drucken-Symbol im Menü + angezeigt. Wenn Sie auf diesen Eintrag klicken, wird die aktuelle + Ansicht ausgedruckt. + + + + Einbetten + + Sie können kleine Ansichten Ihrer Kalender in externe Webseite einbetten. + Dafür stehen Ihnen die gleichen Ansichten zur Verfügung, die auch als + Blöcke in Horde's Portal benutzt werden können. Es folgen Code-Beispiele, + die Sie verwenden können, um die jeweiligen Ansichten in Ihren Blog oder + Ihre Webseite einzubinden. Sie müssen in dem Code natürlich die richtige + Serveradresse und die richtigen Kalendernamen einsetzen. Der + 'container'-Parameter kann einen beliebigen Wert haben, muss aber der + DOM-Id eines DIV-Elements entsprechen und darf nur einmal auf der ganzen + Seite verwendet werden. + + + Um eine kleine Monatsansicht des aktuellen Monats einzubetten: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + Um eine Ansicht mit den kommenden Terminen einzubetten (beachten Sie die + 'months'- und 'maxevents'-Parameter): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + Um eine Terminübersicht einzubetten: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/el_GR/LC_MESSAGES/kronolith.mo b/kronolith/locale/el_GR/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..533e7e5898f212a39ec116d3fb0ad0b656344e0c GIT binary patch literal 151693 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 -)g?_;l65Ja)9vd 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/en_US/help.xml b/kronolith/locale/en_US/help.xml new file mode 100644 index 000000000..a76d74acc --- /dev/null +++ b/kronolith/locale/en_US/help.xml @@ -0,0 +1,187 @@ + + + + + + Kronolith: Overview + What is Kronolith? + + Kronolith is a web-based calendar application. In addition to the + required functions of creating, modifying, and deleting events, it + currently supports recurring events (with exceptions and various deletion + options), alarms, import and export functions (iCalendar and CSV formats), + iCalendar invitations, multiple calendar views, shared calendars, display + of Task List (Nag) tasks (if Tasks List is installed), and ability to show + events in the Horde summary screen. + + + + + Menu: Today + + The Today menu item will display your default view (month, week, + day, etc. as set in Options) for the current date. + + + + + Menu: Goto + + The Goto menu item will display a small pop-up window in which you + can quickly select a month, week of the year, or day of the month to go + to. This is usually the quickest way to move within the calendar. + + + + + Menu: Day + + The Day tab will display the day view of the currently selected + day. + + + + + Menu: Work Week + + The Work Week tab will display the work week view (Monday through + Friday) closest to the currently selected day. + + + + + Menu: Week + + The Week tab will display the week view (7 day view) for the week + containing the currently selected day. + + + + + Menu: Month + + The Month tab will display the month view for the month containing + the currenly selected day. + + + + + Menu: New Event + + The New Event menu item will allow you to create a new event to be + added to a calendar. + + + + + Menu: Options + + The Options menu item allows you to set Options (or + preferences) that control the look and feel of Kronolith, Kronolith's + interaction with Horde and other Horde applications, and manage multiple + and shared calendars. + + + + + Menu: Import/Export + + The Import/Export menu item allows you to import or export calendar + events. Currently you can import files in CSV, Microsoft Outlook, and + vCalendar/iCalendar formats. You can export to only CSV and iCalendar + formats. + + + + + Alarms + + Kronolith can generate alarms for events in a calendar. By default, the + first alarm is generated fifteen minutes before the appointment is + supposed to start, but the alarm can be set (per event) to occur at almost + any interval before the event start time. + + + + + Recurring Events + + Events can be made to repeat in various ways. Many events repeat in + certain frequently used ways. For example, the Monthly recurrence + types make the selected item repeat each month and the Weekly + recurrence type makes the selected item repeat each per week. These can be + made to represent events that repeat in complex ways: for example, an item + that occurs on the third Friday of each month, or an item that occurs on + Monday, Wednesday, and Friday every week. + + + You can also restrict how long an event repeats by selecting the end + date for the event's recurrence. + + + Normally, a modification to a repeating event applies to all occurrences + of that event. A single occurrence of a repeating event can be modified by + editing the occurrence, removing its recurrence information, and then + choosing the Save as New option from the Repeat menu. The selected + occurrence can now be modified independently of the other occurences. + + + + + Printing + Printing Calendars and Events + + Certain views are designed to be printable. When in one of these views, a + Print icon will appear in the top menu bar. Use this menu icon to + print the current view. + + + + + Calendar Permissions + + Here should go a few explanations on the different users and groups that + permissions can be assigned to. + + + This should be a place to explain the different permission types and + what they mean regarding to events and calendars. + + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/es_ES/LC_MESSAGES/kronolith.mo b/kronolith/locale/es_ES/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..fe4a3b9373dcd29cdb255934a011e2b0bd92d595 GIT binary patch literal 185724 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/es_ES/help.xml b/kronolith/locale/es_ES/help.xml new file mode 100644 index 000000000..f3e7d7c42 --- /dev/null +++ b/kronolith/locale/es_ES/help.xml @@ -0,0 +1,145 @@ + + + + + Kronolith: Introducción + ¿Qué es kronolith? + + Kronolith es una aplicación de agenda basada en web. Además de las funciones habituales de creación, modificación y eliminación de acontecimientos, soporta acontecimientos recurrentes (con excepciones y diversas opciones de eliminación), alarmas, funciones de importación y exportación (en formatos iCalendar y Palm DataBook (PDB)), invitaciones iCalendar, múltiples vistas, agendas compartidas, visualización de tareas de Nag (si las Tareas están instaladas) y la capacidad de mostrar acontecimientos en la pantalla de resumen de Horde. + + + + Menú: Hoy + Hoy + + El elemento Hoy del menú mostrará la vista por omisión (mensual, semanal, diaria, etc. según se haya configurado en las Opciones) de la fecha actual. + + + + Menú: Ir a + Ir a + + El elemento Ir a del menú mostrará una pequeña ventana desplegable en la que podrá seleccionar rápidamente un año, mes, semana o día al que Ir a. Suele ser la forma más rápida de desplazarse dentro de la agenda. + + + + Menú: Día + Vista diaria + + El elemento Día del menú mostrará una vista diaria del día seleccionado actualmente. + + + + Menú: Semana laboral + Vista de semana laboral + + El elemento S. laboral del menú mostrará la vista de semana laboral (de lunes a viernes) más adecuada del día seleccionado actualmente. + + + + Menú: Semana + Vista semanal + + El elemento Semana del menú mostrará una vista semanal (de 7 días) de la semana que contenga el día seleccionado actualmente. + + + + Menú: Mes + Vista mensual + + El elemento Mes del menú mostrará la vista mensual del mes que contenga el día seleccionado actualmente. + + + + Menú: Añadir + Añadir un acontecimiento + + El elemento Añadir del menú le permitirá añadir un acontecimiento a la agenda. + + + + Menú: Opciones + Opciones + + El elemento Opciones del menú le permite configurar Opciones (o preferencias) que controlan el aspecto y comportamiento de kronolith, su interacción con Horde y con el resto de las aplicaciones, gestionar varias agendas y compartirlas así como gestionar códigos de categorías para los acontecimientos. + + + + Menú: Importar/Exportar + Importar/Exportar + + El elemento Importar/Exportar del menú le permite importar o exportar acontecimientos de la agenda. Actualmente se pueden importar archivos en formato CSV, Outlook de Microsoft, Palm DateBook y vCalendar/iCalendar. Sólo se puede exportar a formatos CSV e iCalendar. + + + + Alarmas + Alarmas + + Kronolith puede generar alarmas para los acontecimientos de una agenda. Por omisión la primera alarma se producirá 15 minutos antes de la hora prevista de inicio del acontecimiento, pero se puede configurar (para cada acontecimiento) para que se produzca prácticamente a cualquier intervalo antes de la hora y fecha previstas. + + + + Acontecimientos recurrentes + Acontecimientos recurrentes + + Los acontecimientos se pueden hacer recurrentes de varias formas. La mayoría de los acontecimientos se repiten de ciertas formas habituales. Por ejemplo, el tipo de recurrencia Mensual provoca que el elemento seleccionado se repita cada mes y el tipo Semanal que lo haga cada semana. Se pueden utilizar para reflejar acontecimientos que se repitan de formas complejas: por ejemplo, un elemento que suceda cada último viernes de cada mes o los lunes, miércoles y viernes de cada semana. + + + También se puede limitar la duración de las repeticiones de un acontecimiento seleccionando una fecha final. + + + Normalmente, la modificación de un acontecimiento recurrente se aplicará a todas las repeticiones del mismo. Se puede modificar una repetición individual de un acontecimiento recurrente modificando la repetición, eliminando la información de recurrencia y seleccionando la opción Guardar como nuevo del menú de recurrencia. El acontecimiento seleccionado se podrá modificar entonces de forma independiente a las otras repeticiones del mismo. + + + + Impresión + Impresión de agendas y acontecimientos + + Determinadas vistas se han diseñado con el objetivo de poder imprimirse. Si se está en una de ellas, aparecerá el icono Imprimir en la barra de menú superior. Utilice dicho icono para imprimir la vista actual. + + + + Permisos de la agenda + + Aquí debería haber algunas explicaciones de los distintos usuarios y grupos a los que se puedan asignar permisos. + + + Éste debería ser un sitio para explicar los distintos tipos de permisos y lo que significan con respencto a acontecimientos y agendas. + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/et_EE/LC_MESSAGES/kronolith.mo b/kronolith/locale/et_EE/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..2700045e3e1df3ff7f7022e9b3767ce8a62cb681 GIT binary patch literal 167037 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

      E!o7^7_6=_W|;J6K(tveuqi-M#_2`Zat3! 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/eu_ES/LC_MESSAGES/kronolith.mo b/kronolith/locale/eu_ES/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..b5dd5e87f65a2166f44a0b5c3a9ad86afbdec13f GIT binary patch literal 167753 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 q!xCVI!KLDzVg#UfZ+E>B-K?4fl9o1N;* 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 + + + + Kronolith: Informazio orokorra + Zer da Kronolith? Kronolith webean oinarritutako egutegi-aplikazio bat da. Gertaerak sortzeko, aldatzeko eta ezabatzeko beharrezko funtzioez gain, behin eta berriz behar diren gertaerak ere baditu (salbuespenekin eta hainbat ezabatzeko aukerarekin), alarmak, inportatzeko eta esportatzeko aukerak (iCalendar eta CSV formatuetan), iCalendar gonbidapenak, egutegi-ikuspegi asko, egutegi partekatuak, (zereginen zerrenda instalatuta badago) zeregin-zerrendaren ikuspegia (Nag) eta Horde-ren laburpen-pantailan gertaerak erakusteko gaitasuna. + + Menua: Gaur + Gaur menu-elementuak uneko dataren ikuspegi lehenetsia bistaratuko du (hilabetea, astea, eguna, etab. Aukeretan ezarri bezala). + + Menua: Joan + Joan menu-elementuak elkarrizketa-koadro txiki bat bistaratuko du; eta bertatik, joan nahi duzun hilabetera, urteko astera edo hileko egunera azkarrago iritsiko zara. Askotan, hau da egutegiaren barnean mugitzeko biderik azkarrena. + + Menua: Eguna + Eguna fitxak hautatutako egunaren egun-ikuspegia bistaratuko du. + + Menua: Lan-astea + Lan-astea fitxak hautatutako egunari dagokion lan-astearen ikuspegia (astelehenetik ostiralera) bistaratuko du. + + Menua: Astea + Astea fitxak hautatuko egunari dagokion aste-ikuspegia bistaratuko du (7 eguneko ikuspegia). + + Menua: Hilabetea + Hilabetea fitxak hautatutako egunari dagokion hilabetearen hilabete-ikuspegia bistaratuko du. + + Menua: Nire gertaera + Nire gertaera menu-elementuaren bidez, egutegian gertaera berri bat jar dezakezu. + + Menua: Aukerak + Aukerak menu-elementuaren bidez, Kronolith-en itxura eta izaera kontrolatzen duten Aukerak (edo hobespenak) ezar ditzakezu. Kronolith-ek interakzioa duenez Horde-rekin eta bestelako Horde aplikazioekin, egutegi asko eta partekatuak erabili ahal izango dituzu. + + Menua: Inportatu/Esportatu + Inportatu/Esportatu menu-elementuaren bidez, egutegi-gertaerak inporta edo esporta ditzakezu. Gaur egun fitxategiak CSV, Microsoft Outlook, eta vCalendar/iCalendar formatuetan inporta ditzakezu. Baina, CSV eta iCalendar formatuetan esporta dezakezu soilik. + + Alarmak + Kronolith-ek egutegi bateko gertaeretarako alarmak sor ditzake. Lehenespenez, lehenengo alarmak hitzordua hasi baino hamabost minutu lehenago joko du, baina alarma gertaera hasi baino lehen, edozein denbora-bitartetan jotzeko ezar daiteke (gertaera bakoitzean). + + Gertaera errepikakorrak + Gertaerak hainbat modutara errepika daitezke. Gertaera asko modu jakin batzuetan errepikatzen dira. Adibidez, Hilero errepikatze mota honekin hautatutako elementua hilero errepikatzen da eta Astero errepikatze mota honekin hautatutako elementua astero errepikatzen da. Horiek erabil daitezke modu konplexuan errepikatzen diren gertaerak adierazteko. Adibidez, hil bakoitzeko hirugarren ostiralean gertatzen den elementu bat edo astero astelehenean, asteazkenean eta ostiralean gertatzen den elementu bat adierazteko. Gertaera bat noiz arte errepikatu behar den ere muga dezakezu, Noiz arte errepikatu hautatuz, errepikatzen diren gertaeretan. Normalean, gertaera errepikakor batean aldaketaren bat egiten bada gertaera horren aldi guztietan aplikatzen da. Gertaera errepikakor bateko aldi bat, aldi hori editatuta alda daiteke bere errepikatze-informazioa kenduz eta Errepikatze-menuko Gorde berria bezala aukeratuz. Hautatutako gertaera alda daiteke, gainerakoetan inolako eraginik izan gabe. + + Inprimatzen + Inprimatu egutegiak eta gertaerak Ikuspegi batzuk inprimatzeko diseinatuta daude. Ikuspegi horietakoren batean, Inprimatu ikonoa goiko menu-barran agertuko da. Erabili ikono hau uneko ikuspegia inprimatzeko. + + Calendar Permissions + + Here should go a few explanations on the different users and groups that + permissions can be assigned to. + + + This should be a place to explain the different permission types and + what they mean regarding to events and calendars. + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/fi_FI/LC_MESSAGES/kronolith.mo b/kronolith/locale/fi_FI/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..73391c218b55966630cb2238ba21bc1f7c3f0e99 GIT binary patch literal 181267 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/fi_FI/help.xml b/kronolith/locale/fi_FI/help.xml new file mode 100644 index 000000000..2a6c77f40 --- /dev/null +++ b/kronolith/locale/fi_FI/help.xml @@ -0,0 +1,170 @@ + + + + + Kronolith: Yleiskuva + Mikä on Kronolith? + + Kronolith www-pohjainen kalenterisovellus. Ohjelmisto tukee + perustoimintojen kuten tapahtuman lisäys, muokkaus ja poisto + lisäksi myös toistuvia tapahtumia (jotka voivat sisältää + poikkeuksia), hälytyksiä, tuonti ja vienti toimintoja (iCalendar + tai CSV-muodossa), iCalendar pohjaisia kutsuja, monia + kalenterinäkymiä, jaettuja kalentereita, tehtävälistan (Nag) + tehtävien näyttämisen (Jos Tehtävät ohjelma on asennettu) ja + yhteenvedon tapahtumista voi myös lisätä Horde yhteenvetonäkymään. + + + + Valikko: Tänään + + Tänään valikkotoiminto näyttää asetuksissa valitsemasi + oletusnäkymän (kuukausi, viikko, päivä) kuluvalle päivälle. + + + + Valikko: Mene + + Mene valikkotoiminto avaa pienen ponnahdusikkunan, jossa voit + nopeasti valita kuukauden, viikon tai päivän, jonka kohdalle + haluat mennä. Tämä on usein nopein tapa siirtyä + kalenterissa. + + + + Valikko: Päivä + + Päivä valikkolehti näyttäää valitun päivän tiedot. + + + + Valikko: Työviikko + + Työviikko valikkolehti avaa työviikkonäkymän (maanantaista + perjantaihin), joka on lähinnä valittua päivää. + + + + Valikko: Viikko + + Viikko valikkolehti näyttää viikkonäkymän (näkyvissä + seitsemän päivää) siten että se sisältää valitun päivän. + + + + Valikko: Kuukausi + + Kuukausi valikkolehti näyttää kuukausinäkymän siten että se sisältäen valitun päivän. + + + + Valikko: Uusi tapahtuma + + Uusi tapahtuma valikkotoiminnolla voit lisätä kalenteriin + uuden tapahtuman. + + + + Valikko: Asetukset + + Asetukset valikkotoiminnolla voit muokata ohjelman + asetuksia (tai vaihtoehtoja). Näillä asetuksilla voit + vaikuttaa Kronolith ohjelman ulkonäköön ja toimintaaan, ohjelman + tapaan toimia Horden tai muiden Horde ohjelmien kanssa ja + hallinnoida jaettuja kalentereita. + + + + Valikko: Tuo/Vie + + Tuo/Vie valikkotoiminnolla voit tuoda ja viedä + kalenteritapahtumia. Tällä hetkellä voit tuoda tapahtumia CSV, + Microsoft Outlook tai vCalendar/iCalendar muodoissa. Tapahtumia + voi viedä vain CSV tai iCalendar muodoissa. + + + + Hälytykset + + Kronolith ohjelmassa voi asettaa hälytyksiä + kalenteritapahtumille. Oletuksena ensimmäinen hälytys tulee 15 + minuuttia ennen kuin tapahtuma on merkitty alkavaksi, mutta voit + myös itse määritellä hälytyksen + tapahtumakohtaisesti. + + + + Toistuvat tapahtumat + + Tapahtumia voi toistaa monella eri tavalla. Useimmat toistuvat + tapahtumat toistuvat esimerkiksi kuukausittain (tapahtuu + kerran kuukaudessa) tai viikoittain (tapahtuu kerran + viikossa). Toiston voi myös määritellä monimutkaisemmaksi + esimerkiksi tapahtuma voi toistua kuukausittain vain joka kolmas + perjantai tai viikoittain, mutta vain maanantaisin, + keskiviikkoisin ja perjantaisin. + + + Voit määritellä miten kauan tapahtumaan toistetaan määritelemällä sille toiston loppupäivämäärän. + + + Jos muokkaat toistuvan tapahtuman toistuvuutta, niin muutos tulee + voimaan tapahtuman kaikissa toistoissa. Voit kuitenkin muuttaa + toistuvan tapahtuman yhtä merkintää siten että muokkaat + tapahtumaa ja valitset Tallenna uutena toistuvuus + valikosta. Tämän jälkeen voit muuttaa tapahtumaa itsenäisesti, + ilman että muutokset koskisivat myös muita tapahtuman toistoja. + + + + Tulosta + Kalentereiden ja tapahtumien tulostus + + Jotkut näkymät on suunniteltu tulostettaviksi. Kun olet jossakin tälläisessä näkymässä, niin Tulosta -ikoni tulee näkyviin ruudun yläosan toimintovalikkoon. Voit Tulosta -ikonia napsauttamalla tulostaa näkymän. + + + + Kalenterin oikeudet + + TODO + + + TODO + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/fr_FR/LC_MESSAGES/kronolith.mo b/kronolith/locale/fr_FR/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..6c09cc0df6e86293887f1b2956ead02207dd497c GIT binary patch literal 183728 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 I6t~v=e-c*mwEzGB literal 0 HcmV?d00001 diff --git a/kronolith/locale/fr_FR/help.xml b/kronolith/locale/fr_FR/help.xml new file mode 100644 index 000000000..9e8d52a47 --- /dev/null +++ b/kronolith/locale/fr_FR/help.xml @@ -0,0 +1,146 @@ + + + + + Kronolith: Introduction + Qu'est-ce que kronolith? + +Kronolith est une application internet de calendrier. En plus des fonctions habituelles d'ajout, de modification et de suppression d'événements, il supporte également les événements récurrents, les alarmes, l'importation et l'exportation des données, une liste de tâches et la possibilité d'afficher des événements dans le sommaire de Horde. + + + + Menu: Aujourd'hui + Aujourd'hui + + Le menu Aujourd'hui affichera votre vue par défaut (mois, semaine, jour, etc) pour la date courante. + + + + Menu: Aller à + Aller à + + Le menu Aller à affichera une petit fenêtre dans laquelle vous pourrez rapidement sélectionner une année, un mois, une semaine ou une journée. Ceci est la façon la plus rapide de naviguer dans le calendrier. + + + + Menu: Jour + Vue jour + + Le menu Jour affichera le contenu de la journée sélectionnée. + + + + Menu: Semaine ouvrable + Vue semaine ouvrable + + Le menu Semaine ouvrable affichera le contenu de la semaine ouvrable (du lundi au vendredi) la plus près de la journée sélectionnée. + + + + Menu: Semaine + Vue semaine + + Le menu Semaine affichera la semaine de 7 jours contenant la journée sélectionnée. + + + + Menu: Mois + Vue mois + + Le menu Mois affichera le mois contenant la journée sélectionnée. + + + + Menu: Nouvel événement + Ajouter un nouvel événement + + Le menu Nouvel événement vous permet de créer un événement à ajouter dans le calendrier. + + + + Menu: Options + Options + + Le menu Options vous permet de choisir vos préférences pour le calendrier. + + + + Menu: Importer/Exporter + Importer/Exporter + + Le menu Importer/Exporter vous permet d'importer et d'exporter les événements de votre calendier (les fichiers CSV et le format de Microsoft Outlook). L'exportation est possible seulement en format CSV. + + + Alarme + Alarme + +Kronolith peut vous alerter pour un événement dans le calendrier. Par défaut, la première alarme est générée quinze minute avant l'événement, mais l'alarme peut être ajustée selon vos besoin. + + + + Événement récurrent + Événement récurrent + + Vous pouvez insérer des événements récurrents selon différentes fréquences (à tous les mois, le dernier vendredi de chaque semaine, etc). + + + Vous pouvez également choisir la durée de la répétition en sélectionnant la date de fin pour l'événement. + + + Normallement, une modification à un événement récurrent est aussi réalisée sur les autres événements de la même récurrence. Un des événements d'une série peut être modifié seul en lui enlevant sa récurence lorsque vous l'éditez. + + + + Imprimer + Imprimer + + Certaines vues sont conçues pour être imprimées (un icône apparait dans la barre de menu lorsque c'est le cas). + + + + Calendar Permissions + + Here should go a few explanations on the different users and groups that + permissions can be assigned to. + + + This should be a place to explain the different permission types and + what they mean regarding to events and calendars. + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/hu_HU/LC_MESSAGES/kronolith.mo b/kronolith/locale/hu_HU/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..1a8312176a2c7a2444ff7fc79c1d16dc99c1c79e GIT binary patch literal 184126 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

      +jJz_V4A3au>za!p!g}% zOMI*Tgjr|34fRb;9Yx!ckhD8^vNz!LyuJtj(+PLrpL-8f~3z4r1 z-@09>-kh9JxA}1A?!CCA15V_LRQ+SHf(DcZ-%!GW*fIAE3_XcAqo9nyt+`0J9L;kG zCOcXH*~}Ctn@iMeREKboK&s6MMp{W>{_JL)3HIXWk*qH|Km}3I&W@epjTW*<1G;DD zs4P}?#J6vI3qhvrgrPw012yoK?7F#(dSOWC7Gu=j>lpRWY}FF?9TYGpIA4|c^|y!Q z`*T}D9fU43Q(jW}XK$D7YiJANbVzn_2E<*TxA8TJ`vycp^I*NL$bsK^pC%`H<9Uo`^!*$!NBiEX+yjw5CH@G`NH) z=o|2mwc?e&9tBzdM8HtgGv2cbI7jIPxL{#+3iaO@oT>Ee`@O24WFkg+GJT7jj_PTd zy7HNYUAidF8-!jM>8X2lE-3a6+1FC#(2q zRRJ>{#|+dW51{0#i1QsfR}QtSCq>{c8XF!*eT#*Yq;}oC>Pj5hi;0i0sP6DG$~WOx z=@(OLC(eUWup3mnY3CCAXM6r{u0q)Dx=z847$UNL`!|qm`X>--H%$fmCYzT`R;5jr z*nxIx)#TIXmc_VN)K$=pR3n)J>ff+MzVLE=J6A^In>0_G=$1&mR=nI;e|7)-bv7qkWm!__?{#S@3Tx0XZ4H*NmqMYwxT~;&}OD=h>g*k*LK>7_i7gpI^P|O#jLU z7YpES*n%r;DY!!qI~Gs-6-?;m^ppeNffYiK*GonYP51)YO2N!%XfV5g5q@hZGz-H? zX`Wc0iW40mNY9xqH=WGZlsKG!%I)YUU9T!}vOuJhpt&aFUVy%Fz_*NUn1jPzauC^5 znX>#<;SMGa2>8k}{p23WSPS5Ge{TXU5baD_Ra7i~^&84sD9}O&fP(1aX9r3}KG-|@#foDSb=7y*IQSQ@cuKaQ>zHPPyQ;#( z~~A-DVjEM?kWBiD;Bb65-UPyhh)nTbO?~y zo26{v-~h-=x=N8J{I?KcgF*jS2PN^8GIE?&2eU2~X?Us{)G+&hs1yRGz50i}VR`3Y zZQ0_q@e_3vFNf{7qY!s3Kqo?W=Hj{JK=v*C%XKcF1PgcyIIG!qf3~sBD6*Z!}Q}z#SP}(QbIAH10{cs?lwF|wLLk7!&)p# zo26s$j`_-!=QGGB%Y^Wy6MUR_@tV*S#OB<^c>ekwl2?kWo-3QnqwBTs733^;Ste3z z&fOsDj`B8mNig|%P;&0fATcxTBRN>G>>=x2n(a(3+~=U{O9YG31CvpXFkEfYo6$81 zludlYm6DU$@VHhGY4K_&Yg%y9USR?6;UC&#zM=(&N9Yg(^0SblRqV_qwMDm}mGK=$ ziD9tAz2123t05I1Fcv8ds}} znG2MZ*4K%+r7rv0F{rm5~UxR}&9BW5s77}h3q-oxD8U&NhV`}qTzXSQGW~` zK{{b5m=eteJ^=)Zh6B9>slaqN_dpVD2%9yZYNHp`7`eiy0nil%Rw<55bGQmT3A7<> zA4@6_wF>D4&a_g2O{8jt=jv!8Rmwt9XniI(AE50Q?=zFf+M z1=FFo&}F2KamDfGA$+`pyCqQvasA>hlolWc6M1HJTrY9k1#)AS+438bzJ%nyk`pD% z&`ADR!r!)5Fjf+M*yU0H4^6Tg|Fu%x{%6!U!R9*miU~k3FdhN2O;{i*@~gK0MWIG< zVte{vXyCHNXc?yzzvfTP8%H=xTIR`G{{i6+sqP323GI60phFB&bg0;sx`VRIE<8{m z7ia+PXsDS($zeEzF* zd(^DQ1Au4k+`GT~8Z}Y}fhzQgDMb9SCsuKO{rHUFKSh*P8$&}?7#j7*+H2UBj zbM?FpQicc2+Tx=N1wbNG%|xRujbcWTYhcR>lm^Q|*PZQ`FUycHn%vQato%Xbtr5%Y zrsmWa6K(^=&a=&pS4-ZR3^ZCevpwtK@EC9v+{xq?NGj2>=`hdREQWA%>x_u6@cU)Q z_619JTORDx5FWh7n5Ig3;%U7QC2GtDW%^{GI{M{yg}hD^szJFs;BabQcsaZz_Z!)# zwttd;QzZiu?jDLV0BYwqrV**u)w_ch!nIt}aGVzOX@r(_!f!hYBmVsRu@bpz1zC=I z_~WZY;_R-Ml*_H@_3sOF}e+185sSl%Vc?aO89@Qphll>A)gFS;+Icax*MuQyl7n2b%o?qsuP+5I42{v;!F z$h7Dt(D(2NZ}&yTLX}4C8m=4l(WdS~X4S|fD=#w0oyq-JMjNNlyiVwza8r;wv*`_V zj({D%9v$7#vE@z#MKzP2FsO7y`v=Q}53m(Yc7ZdT)S(YS!%jB9EG5d6EY5(Yb;~IoU%$=-+bJqm7A%Ok9y)xcx!BC z>_xD5+F03dWg7-vTi2(DY%4R|c``)q%%3-(hwcf-iI&mH^|7UgLDFlU{|(YTKTm>o z1B;h@XLA?L(>8tS80AjjJ1~=AMg|J<1Yrz8bUBjJ2O}U5WE#f@hKsnL&U}{$Xzz*l z1*KbOTUyh68cGswnLJPoJJBks+9K)o+o@(2JS9V^dl!-H zL*gk40DraFvxptJN8yEUHp2BNZ-InIg-T>|-jW2tZ~C?Bl&yr9pot*@=m-aT5sjI0 z6fxV4htuVlODfO&q>v^e!AWtAhDH|5RdLdc|JN@_;E{2Z@D3#lUEBzuKpi0^VHR;C zA7?dij-$D@WFTMdprY?5kv0ZOZAp{Yk*KbySI87h+jMN)&^)!j!s$kEv1XUG%9b;& zm=?eh$Qj+AQ87d&;j95ZMe>+%^lki5g6sl5M;CSZa$)S0e^SKO!MAC8o$3hO2 zfz*Zm;oNgK7Z>ZEt6=1dm_B>w7KT2-s;XsV%*vz$m{hG2V2ym>&OJG`a#<{kk^3mg zqfbsE8zku~59C=0!9sXVltXfz?bQu3vM7O4UiYbSLGr%sp#9a{n~a>oWv&t|DTtJt z?kgyj(~{pom=wZDKV=}KC1(7+A;&0*ZZAjc~dWUKhR0}|rMsTx4>a^<{fo~!vIKJR&k@b#` z(_m|OiX#zGi5jf-BG>P5Q04$WycGPzUagf}1r9b>+tPm6N$j+=B9?1dGeW67a6x-U z3Q-^kR$&|-`PAyDv*t7eZN~_a&8yE4>{+9vvaa1U1RRYgLD>kNQb*O*fDsaVrR+kD z!omWM86Ec!C65Wq%Lc>c8%3Jfy_hE&DvbF?J#5Ya0AxRKF^&OrIVY$sKDSn@n=Doql*JFjLBLnCL*`E&ry9Pv8)-DvP?Cqx1)fazNI)^@ zG5C$jfH43q-qXiC6RB#2{a|pA=B6o%-BqhOOvgq=UxUZ-?cU&&Xb-o!`+lo;4%{d} z#NW6X7fsE~xxAVTzS)gAqpz5#YQ_VE4A+~T{ZXfXVNL-OCk7|PLbZhXa5!*IB`+c4#Zu7IZVX|W?%ttz+LM4;Mc4lZKFqfUtYPd<@ZHh_4KztL(h zK?psi*Zx62`iIr&J5DHM!x_k%IhWC}Bhoi9=M?PG1|l>4*GvGa^%S=oIp3q#9U)0D z$0p2T_Es98r&pd-Dg0$vH|=DNBfqa}-qsjvNIOd7#Np2AAv1i17rwI-Gre$qemP+| zxD$$|z1y+Ot>c0+m zDt3mKM>=wJhhWqLGT`gSu;jpJrb5qrQ`>JCxSyA)2fDDMGUJ8v1(2UD zJTm_ozqIOgUjPccDwUa?djZ|YwEZ_6_=r}tzxW*}O_&IbfpY1g1F8XtLByKJWBEeT zFdXC)zA3TPqq!cE4V)}h`<(H)V?H1j&R7+%ncO5;)L}UDqQvfWNPak1Z_I*f;tDc! zCW|*|vmIjyTSCeA6g8J3dN{J8H+rNvMh-of5^0jS>1MDgg^|iaNRAQwwvO>fsr^7D zu0CaR5xh&XEWAF5YT$(OEEQA`kpr&|Y^*Lz!v6W!J7tIyhp>Q*a#pbaKn@7dAgMy( zgX(fi#5X$S!ARB|RL@62T9Wemm|kXeAPbn+X!a^j^PtH3T(g9KBY%_(<~Dk_8(}pe zm}mHQ{_XSHpcjUpm??upB=d?LMOQFInngDS$S=IZ3`vGv?s5J)Cqy?tl4K4+=yhMR z+bLDzqW8nl`EW^Js+HVq?9@QRJZZ<0Z^&GXplbU?r6y;j#4Mic$Q^vG^`n1rc8I@| zT#QH=Z6~P@MvW3y^bXHL(fBr`w0=MR;_eI2*^Kx~hz`d}Amf!Q`zSf=FLDv#C!!-- zKno8P8NUM#&(6kxa{uaoTLEcaDXJ?mlixNch0BB`|cuv|1m4cj>+U` zO9;n?MC?oRmf!>}Bled>iG>`5XaVRFBl><={KdkGhVd^hvN}^kX?xMJ78aA7`YvgCb5CGooH5H-`l-r;@Pk>BG_c0=ov>cK6v% z>!0osH@M5CEteRk5;ubY2Xkd3lZlhqkS@X9SS0+j;-zS2UMi-FBlX&w3-rIA|BeAu z>*W`(B2<=d^)He%hyXNuTxkGH0v}nD2N{Ieoc#$Y{ zdGZtCCIU!;r+y>L6yLBMeyvTjS12$aqD~~QqL_7wuLQJxd1yh(Le_U}Wj8F(2Ic$@JVwpmaj4R|y6w#gO z;qs>cyf?za$zQ^GMXGfO!ayu-=+au{5_{N9;z{+^^JQM2!)O6DEJ^v2#%Jb6l`3vL znt~OvNd*}ggC2q$&Ar|HaNJk6h}2vOVxc>yj4d(55S)N;jug9UW2TftT1C~td38rI z>r&GtBW7GC5!|ktpu9f*ywTQ2zWP$R#*lUGe(7S zrUsPIiFZ(-=#^g8(Pyj?D;6{LgAdEaOX+QcWM?rL!ZA!-LQ(-45y-A|8gkwFPaK8j zrxGa)BODe8(nFmJ#8SUZrY`U?+Q_P@g&btZ5gFUWA{(jNYwzPE1jh&L3SmVSSgAM| z+$PPLU4B~g7Jh1}k6Az)UWrAK&sI$otwC+X66D0&h%@_9x+dr_nZ)3wf|IcoOE@(O zG@gad*)nDw3DDBYGU{$12|df!xcSGGkCa_h%haG<`O)fPQB{JsJjq1EeOj)TKcg0t z_{a!Cv$M9aus=|V0qE)uDWByj#9~8dz#KA`;fKi-?1W|!TAj&;+AxOv;$j%XrGf3t zK2EU!Y*~iMPk-5cV6i*&_3gPj?D(?AKGp7}^2F3cHo-lyNtigU>A{Z|s*d}hh9y@l zH0F*tIweUXVO?ez+VR*$+>dFDEF$4Jb0;sXE0!xjf~RG*Ay2EDL6je9B7lH2APztw zZ6`hX?x7a=f~9T=gz0O`JZU-8)&OQ8cZvImA5klkFW(hj%jRMTEGtg@0#5{*a3TYJ zPPs0bFCHke1+CkX`C!sQ{Z@zqc`jEqkWcz&FP}s--Vk>bPTtbiz{-a+3N=0)UYw5K zoF1OSh%Mf`M_5`^0~PPDnmCIE%2&w^HM&y)eK=i4+tgiyoPk=h(`M{bwizQ@<@Jgv zAmajA;lQx4YK5FH{c1xBt3{mpl$-zPcZ~!GOA(pvkTzw6cN3}(T;L8^kK|J6=eAUs z^Ftj728tS=F;>xe9P=w}a{99N*}4Eam$?pMU^=WcEC?tTsEx&UjHjRhW~6cZx%?c( zyJzt3ZGrY8Y<$exn&;;BY)Qm~DU&ywS8edV~C|kb+626Q^J$Gs0otitESoy|R-ROio z>K|BlwR(`EI};VL#z!27j%vP$84BBy;kHdf57;!>MzIYf*8@5P!3!~?saBWpB-mZ$ zLfhgchl*$?;ik6*Z8XNzWm*Zn<;GanVr2^nyUV#_ErA;6VWT%Zhf>w%d8$njtmo|X z(W+tgPRhSD5!=n#chsSPL5V`z z^eWGf#7)LUXCSePm0HC5Zr(p;<5OB8HgO(WVI@){^tkq^Hvtd%h@)`V%GV4;uxcW% z1;gP{hj1uM1$qQsibOP#deCKvG`JBOq2;pGge(w3^v#FaKJUIvQ3_CB^XAET z6m1tD>}I}F6&})%#BV>GlZbPw>Mk)+$;`;xCJg7K-k5YTY)T?6#k=z#{*&A6ZtVlo6r(U{u)YSJLk8K}n|QHC*;&`QDNSfXmL z$cblC%LpPgR6Pi+FrIlNbBRV@5ty#)5|yXfP?CXLZ)wz0`YR#wZq#^P{7m!Ymh;&+&m~zvIW#;FDBM?gD$v(2!P?M1VTe+7Q2#&cK#%Kqo?RNPk$CCbXD?e_fOD1m>YP;&eS( zKNx$XU``6S4Ef&)y$dP5(-xMsPjSI+`kf#p!O@Y2kt<>u#R!b4{`cj7^!53PQNL@# zB+ON~xBPlUi>k1_P4K=wsWn&{gh82a;M(>kOGsi8ivU(;pH1Wss*IpYs_P^|E_)>h zVHZ~|Oe>?q%@qkQiJchY0HF%2-8h2;46PUh!IYbh759tk!9YS(1ia7{o@L^qamj|T z__Mzj0X1zs&6@#n66>U6h!UsX+@PjC&8Ckjc3goyY92bwZ<5-x0GH@9ElD$*N~iI@ z2-aQxDLH{dnvKM_RP*iBz}4$1ZGHj<+F)|MN=Zoay6O!EI=P%vN$in0|%fAq4 zgp-7+WrlVkR#_Ul0!WNn@xxMtx$0<&n)#%)H;+w3WLE^XpeQ6i z|Map#lHpWh4otMx1yjCt#{~)@3sySpZ(pkc;Ip(83B0sqg|-u{2)*G4C!doF^-UZy+0{IfgTA0FM;oPtEUA!YtzUv~ik z2*!=~o*_D4)FVIy`Q3l{daVQMnXL&M?{ZGsw>+mfc*xpscIvr0lc-5eK@CrHrt~I| zC&SU%$ED|j-Dt{xk+s8NL({blDen90qlF<+KvVbt3p9mc1Ax(hMX!`O)VCW4oM?SA?H+`aef-&AkEuAgPw=zf#aKVbQdx( zg#zJ7@%UUAEEup>cIy z2vnQ`76w^pIZ7c6U*?(GFAT1&m^%oE!Aa8VrZnA^hZDdo6u+Pb z2a;jCL?pvu9#&z0#`@`u&>2$^Z-Pom-REnX>~Y&C9(P z$(PY*ggwO6WP5eIRwghhg+&s}TVgYfv}s~G-s((<4B9{Xm=VxZ#3No3m4vf+1Z1ij zbEQS_VSbzIfUn7xw2jDx7yrIKJhf2w!DM*%~)N{tOM)fmSES{hQLn5Vf}vs_64g^LsapsQ79 z1qZ1}=-(w13Qq#AV{n*B`o0PvBCLLc`7ZIE7eNThu2vS9nGTzk*QQ1I60c;LqAUbt z7tgKEL1lhgyMw)oPd~$J!bj%_v{rH31<4i<$nA>1HU6}_5NVWqh{j&vtn1UHs?yC4(%Zoi$2xN9$4o) zrXl5@{_eG+d)hz9axp2td-li`Di*l;7BRlg&6EN?GD++=h0cQEf2xgqMKQ(3vbTCu5HW#PIt;#%k(wzFK!l)tJkd<(v7B){{Z3`RLS6 zEKz@q_8$!a_o~wnaZO`EWZ;NbS=`Fsmw)9!Fx>y!oxeKD*D1qc5C2Bzs_r|4MwCo988$~EYpe8; zG=gd_)avAB=>D8>2Ip*UN!kd&zq%vhV}3?(A%uq-uh&CYdTi(^CpQ9{$hekGhWg;s zv`s(ZGrl0^T9DquDAzq3PA=u-7uL?Qq91#%X3x*BZNtWR#99_UN%O3=Rj-ZIT3;8Y zo3P@qQsXt;3?qbx7hAAHZ_9J7tJ*t41cV}Hn2@*nqCf2+z^OWYtAy#l--4^5X4gi@O0i2A$y>pMhox_4TQW^|!Y9JR;83`5 z8wPf0P7Ow6r|zFIJ0B9+lkr02NO5lp{^Tnc<_OJ=-Vin-af8p(tL1b`!pRx=3HvEv znT`fRhwuIVvxz?YjY$ zDEdkvq=H>oj%c>#mnSHGgSVqE8(Z_OrN7cji?i*1)KXvJWl$!;NiLP;TOt3QNhoCfpp<-+xrBQFa1zZ?oEwF37a1j!);h(qLWjw zJ(uDUJzs61!Wa{2GTTHdE{8r?bFzZpF4?Whn(~32Y87RK&RStwkD86fu!|42x9wFVgp? zRUo72rxwncp?LTPgm!RZ2VdHjnJYj}zjl8@2qb|!cnSrKuVK<n z=rzA-lAS9uSZC2|8ooJHu=E+#ot+-yf!>bvFXEEsVgES#cIvwUm8{uCBVJ4?dDu3x znWI5^2vc+wSS!98p4k~0PlNZQd8bFQspCLudWO>FMtx_H9&Br^$Wu#Km=Bg0E%O1n7q6@uoeAIMT|Ftl(a@qua zmg44%t@Q`_gU_}6Woc#IC>?9|P9u$q?W0VY%F6i`%S4mL*xJ+ERY3|LXT78qaZvIm zkk#uSU=22g04NO`F3Z^5InDR8@k9{reHCUMOqJGF(%zhy5)cK_8gbk`lS9fJnT#!T zLCZM=vw84P1G(5i7(h;l0^ooE;4OW?PeY6E;Q2AWtgqeaeyYQ zt?GwYN8ZRWd0Jk#hoU?JRhAX2aX|E;w`)?FE&8&&_QQk;uqYBHvt0gBza@wgGe zRP0RJ9Fi0Bc_W+(mtojv5IrQ2c*JfQok`kjpMCbL(Py7Mg&&HWeD+xi;`j`}KE`mU zkN|vAEe&E?}IW*B< z+?iBI73ZUGyG~T|ATT^jZ^0sl9tw4|CFTgRWm8ig5@RCKta_C&*7(Se{EWyeM^8ur zCrp&{L-Jf3jH6^mgAy(6>Mp zRr#KTaHp2;CDbA*JA?#;;{K_(1UM6Yj=ef|ked8a$PdY*U=Z^RGktK(p3^X)RGLaJYE3(;2=x`5(D;uFTS&A9xB6W$++v9pA@n=#5ksaGgJ4cklbZCAIbs2H%g0 z2RG!DcILAwhi&MXMaa3y&i|Fr3yeadcC+L8rEm?M@I)LsM@6zX={~y@JwfWaSU!^g zvsR3?`xk@&2RzWRlZpArI)v0#~NGMW!h?Bg|G+;uMZaWEHv4T2TEOk-5UyU!%S+EiR zSWwO?O5##1P=5?bzgztHWAQ(#qru>Fom7f(w;+C>L#ssT{Ldmn_bqm}KDMIpkJ5%2 z>`U~8&I+?>h_(fMF$T&;VjG|af^V0@{>?nN-y2jp7F7Z+`1OZst@ZfZM94|fUgn9&%IeJqU85(TbL+PAW|G)f(_u43)3w|j`ezsxn0!;PG^ys2u1$A z+uh0s)zDitbAF8SzB_=6^V#iU;r)hnQ^xzH)v+n#oT4|ICkX3#;h?4_G>lD5@29@^ z@uHw9sWrKj&Q1z#TQoNHGb0oAx@%N%dl2%+LHA^q=BGgZtd=M9SfrRia5X+muE$4M zfJIha+^J9w+d$MwruZcMn;X?(z>7`&aQJ2p~~EuIdZ}^1LO1CyVGxEs!Dw z@r29>A&`JCVri_42vK-9Ret&ZeVL>I%KxkuO0V}`^0CB6@?c}%M;7*|A~r7cA1zs^ z1K&qB3u$ywo@J**kTlbjF}Mk7Ik3f}PDe9SR z3W++@RBnJsayEjQt^m~xrmWzo_%lg@%EFSu9&vZD@3EzCC`h;MBnQ zY>}FS;L=_-D2bd8vQ8R7S<;f4);baTg|FIRYcXWsrNOqaTsbi7&rV82WUegmItM^W zrW12pB=#$SOqtTb#Oka|788V*tpfHIy%a$*7K(%x9V9x3sWoe;QRI3VhtPcYxskiL z#rD!SJFF_S&ji@G%p)#hf%~6*wwZhP)Y6}VNCh6TcI)6Jg!KUqIBoYtmmtL`vWc{x z?n~i%N&~gJOXGVCmXRZ z;ULW0w27uS1o(NrYQDqr+zk0A914o{1yU3Up$@g*uuOy;_G!&F8WdJT4A$gy$li=h z>`2Yzd7mIV#E8_c#-k?mtmfMF{WCn}v zd0}Y{%y*5qmoH1Ww%}0r_+sot%Bmr0)agRCAd|L1EaGf5oKbNaRk0oL`1oK|IiEt# z)jVGxsG_VAo#ys)Dlt}iX7PJjE#`b;Bpsn98TL3f5DcebFH|35)`}4Il@KIh`G`ug z&_&^}-W9d9XxRu>9&`Ta{Z;26DF0CytJ5}y7xMO4PA7OV`7hd~f`ija&_-oe34uiO zWd~}*td$QGEFsmYN^V#@)k%09EGf$%#; z_(m81I5Qu4YjL;oZv_{BDR%NM1{voch47byt{h$Q#_8ZII5xN9z~be104gP7@psCP z6&7ZqhVN&a#dN-7urW!ti7V4UowPjXmqRw;O1S;$v%PoISKP>T{Y8^hQYc=OP_pK) zTa!NRMY$N;@nGSA8Rq|`C)+>}#L0L(?6qE&D>j6|yX?3@^iK&ePN(dS~a~ zwfkav5slM6RqA;%nfvkubJYSR^*;(jxG9K9WQ!=&rFr$PTnskF2ty+s1d zgvIr=toH1^*t)1?vd8X|0Wq9=uv}_M)CAo}A~UQJJY_6O%ie_=omW{mxtn;aSX&$; z^B^=st6QsNq)c0%@lf(?gFk!-=c{Shh`mVoIFirQ&o*E<&PXC`Q?U3UIXPxTEd@^C zGOq$wEU{~9O(3L|u_>$QiZu{NI@T=Bh0_uMEww>nH`!iFuS?hF8uGE?v3f?9^_B+N ztVnKmL9}RdQ0lix<^+*U&vEzuOT{|l-xD39@s|!~t?hl!b?5Z-qWJ6c9IGZky@CY~i;nD_b8eAovU%_~SLz1#5o_ zH7tUuOrpfvrp1B+zdFFr*gr96$7)^zt8Oxu9Nt*Gd08nR(1>;wQM%8(8Qy$H4n|5n zj0l!xO}>^H>X|_yciwE+`9qv5k(Q6D-PDm>uDNpg_czVsJ&HFkPOzhSOSH0H~^*g1YTb^%j8a(1sr$`dyPJ*AND`vr2?i^n|(sSo%OOJkICpf{v>C7L5I6tI#CEED_E04 zB0QV9STi@YPJ<-|qm7MH?*>C0OA}Xtsyrm$nS>zwoK2@@Os6PtlyY3W>_S`)+$>QL z!Fx8oGdLUb$2+ZbB-hbZ#QI~qZ+%h*FT(gt`%TXYuRMVE^t9lNs1Z6+&jYQS$WD$b z8X|5mDO%LKatbG(6wx_=3Q#u6LxHe|Ild;YMb-~_48u{7f9fNnmEw;z%1c&Z@c2}$ z6r)cbFnfai&pko2`>AHCWA!!yCJGZX?I0&cRdY8TTTXU71(LVdst*-Qu16frH6ve# znV`H%4q-5Ct*8Wyn>8vP0w<$Gv=~Bk(~pN=6e*~=Sx>OUPshP$!ae4q3~O^k57b7t zvQ5Wfr`RJtZ@$V$kM5Nj+h4HGjJKF-~K|IZ-l0@!1N-gpn1493uy4a_f~U6G*PCoq&i Xb3nkN0d!0j==>a@4 + + + + Kronolith: áttekintés + Mire jó a Kronolith? + +A Kronolith egy web alapú naptárprogram. Azon túl, hogy elfoglaltságokat +lehet létrehozni, változtatni és törölni, egy sor egyéb dolgot is támogat: +ismétlõdõ eseményeket (kivételekkel és törlési lehetõségekkel), alarm, import +és export funkciókat, mutatja a feladatok (Nag) listáját (amennyiben ez a +program installálva van), továbbá az elfoglaltságok listáját a Horde +összefoglaló képernyõn is meg tudja jeleníteni. + + + + Menü: Ma + Ma + + A Ma menüpont az alapértelmezett módon (havi, heti, napi stb. +nézetben, ahogy az Opciókban be van állítva) jeleníti meg az aznapi dátumot. + + + + Menü: Ugrás + Ugrás + + Az Ugrás menüpont egy kis felbukkanó ablakot jelenít meg, melyben +gyorsan kiválasztható, hogy melyik dátumra ugorjunk (pl. megadható az év, +a hónap, az év valahányadik hete, a hónap adott napja). Rendszerint ez a +a naptárban való dátumválasztás leggyorsabb módja. + + + + Menü: Nap + Napi nézet + + A Nap menüpont a kiválasztott dátum napi nézetét jeleníti meg. + + + + Menü: Munkahét + Munkahét nézet + + A Munkahét menüpont a kiválasztott dátumhoz legközelebb esõ +munkahetet jeleníti meg (hétfõtõl péntekig). + + + + Menü: Hét + Heti nézet + + A Hét menüpont a kiválasztott dátumot tartalmazó hét adatait +jeleníti meg (7 napos nézet). + + + + Menü: Hónap + Hónap nézet + + A Hónap menüpont a kiválasztott dátumot tartalmazó hónap adatait +jeleníti meg. + + + + Menü: Új elfoglaltság + Új elfoglaltság létrehozása + + Az Új elfoglaltság menüpont segítségével új eseményt rögzíthet +a naptárban. + + + + Menü: Opciók + Opciók + + Az Opciók menüpont segítségével személyes igényeinek megfelelõen +állíthatja be a program tulajdonságait, más Horde programmodulokkal való +együttmûködését, több ill. másokkal közös naptárakat használhat, továbbá +személyes igényeinek megfelelõen alakíthatja elfoglaltságainak kategorizálását. + + + + Menü: Import/Export + Import/Export + + Az Import/Export menüpont segítségével importálhatók ill. +exportálhatók a naptári elfoglaltságok. Jelenleg CSV (comma separated value: +vesszõvel elválasztott adatformátum) és Microsoft Outlook formátumú adatok +importálhatók. Exportálni csak CSV formátumban lehet. + + + + Figyelmeztetés (alarm) + Figyelmeztetések + + A program ébresztõóraszerûen figyelmeztetni tudja a számítógép +felhasználóját az egyes elfoglaltságokra. Alapértelmezés szerint az +elsõ figyelmeztetést 15 perccel az esemény kezdete elõtt kapja +a felhasználó, de ez szabadon állítható be, külön-külön az egyes +elfoglaltságokra. + + + + Ismétlõdõ elfoglaltságok + Ismétlõdõ elfoglaltságok + + Az egyes eseményekhez többféle módon állítható be az ismétlõdés. Az +elfoglaltságok gyakran egyszerû módon ismétlõdnek, pl. a havi +vagy heti ismétlõdés a kiválasztott eseményt havi ill. heti +ismétõdésûvé teszi. Az ismétlõdések bonyolultabban is megadhatók: pl. +minden hónap utolsó péntekén, vagy minden héten hétfõn, szerdán és +pénteken. + + + Az ismétlõdés idõtartama behatárolható az ismétlõdést végét jelzõ +dátum megadásával. + + + Amennyiben módosítunk egy ismétlõdõ eseményt, akkor a módosítás +az esemény összes elõfordulására érvényes lesz. Amennyiben egy ismétlõdõ +elfoglaltság egyetlen elõfordulását kívánjuk megváltoztatni, akkor szüntessük +meg az ismétlõdését, majd az Újként mentsük el gombra kattintva +mentsük el. Ezt követõen az eseménynek ez az elõfordulása a többi +ismétlõdéstõl függetlenül módosítható. + + + + Nyomtatás + A naptár és az elfoglaltságok kinyomtatása + + A naptár bizonyos megjelenítési módjait ki lehet nyomtatni. Ezekben +az esetekben a felsõ menüsorban megjelenik a Nyomtatás ikon. Erre +az ikonra kattintva kinyomtatható a képernyõ tartalma. + + + + Calendar Permissions + + Here should go a few explanations on the different users and groups that + permissions can be assigned to. + + + This should be a place to explain the different permission types and + what they mean regarding to events and calendars. + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/it_IT/LC_MESSAGES/kronolith.mo b/kronolith/locale/it_IT/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..d2f18dec7d7b12df20277da9a9a42b1ea8eba19d GIT binary patch literal 181868 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

      C^dT_V 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
    • H0Ea7C&Mio_= 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 NV#P1m{&@1z{|7xrJqQ2* literal 0 HcmV?d00001 diff --git a/kronolith/locale/ko_KR/LC_MESSAGES/kronolith.mo b/kronolith/locale/ko_KR/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..8820c4bf71b4a3dd95a9b08f442c446eb8ab8e1e GIT binary patch literal 33063 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 M)i4@qJxa&>f6Lowf&c&j literal 0 HcmV?d00001 diff --git a/kronolith/locale/lt_LT/LC_MESSAGES/kronolith.mo b/kronolith/locale/lt_LT/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..9c312d25abf753b5ea7ffbd96f2fc9cb64560635 GIT binary patch literal 172362 zcmZtO2iVTlANcX-vG?8?kM$Ujy)v@*CL_v-tfGWeW@w;7A`+o!NrM&=rAVZrkRq#6 zM$wSn|NVZ>>3{vM|MkDG>+W@*^F8BpKIeSD_f5ZkKjcaGR06NgnG+I<;{0|A33p~o zNXV92n~?C~wuFQn)PICI@hi-ZM=%rqhFS3+q+3GTPZJW-VJ>9Ig#2iI2`q$_@H%XX zrEmaN#)r`P*J3gJ63gHjtblp8CnOZc8!#DrqT^1&Huxyo{%dsJ3z!Add=}!&j;^Bs zx{k7F+_kX;HjUQ@V0y}TNAJb*lqX^)d;uNzbo;^Am(g_<-jR^- zFxEli*ofwFC+5Zjv3v^ce=(Lb>|{?U=R?PPCHg65q5MytywyTb= z>jun-%`gMDL*wa+w!1YtJl5ZfuKVFwKN~YsUWAUbB9>ppY?R-@D!2uU;5nR!*>;6I zEJv?@fHm+m*2NNE5CitY+PDgD#v^zWHu#dg#Choa3!=->b*#edxF)(8jc*sauD!8* z1angU1?_hMv*N#KezJZQ>T{#(E)*?^Whqz0B(^jf%3ClW zZbRq$9$m+Y=($*b89h%KcZYo`f}Z;dSR9+j@<4RHiP6WSOVB*5j&4BLu^o+TH+r8O zMB_=^6XGv`1t^z8+c&~a*cvP20yK_K(7gVD?)T5=e1D?jCw|R6j@d8=)V%Tv(!W~1$vqU%`|%kQA)#2_FkXRZNi@%u z(0Oa4^R`6C?~0Do8;xTqn*Y)0bMtXDzi&i0VLr;c(0PwVFGch03+*eS&%1i)^Q1TC z#{1BDXQJzzi^lgf8sBrVehnJWI&>dCM%TR`jsJVhk0&q}UXA4(`@{2~40^pWI$sYo ze|=;9ZD>5>(DU^edfz>bH{d4pd2t!tzgpjhaT=lPZ-vHl3p#FpG>*ZTy5DHrQ?MS+ zN6*z4==0?$zKuU(Ib3ugoac|QBIV!EcnW_P^3WK~Q#*A0Zn3^En#W~w?ePajJ|<2 zDesNt%s+(vsEUQDZ;2JKKl+@QiS~aT%i}j#2(P01RN!#PLwQU`xhA@Ab+G`pjP^m- zKPEZ>-LD7H^Yk>D#}#PaR-^fU3mxx!wEr*BvuL{um>&O)_34j<`t0a<`Ox(gL+_W? z=zKlV{ThJQ4@buzkJe8^<9{4o*9vsJm(lxj4Lbj3ERNgIIDSIgokH{TS1e~Z8rG3B zS`?kH0y=(m^xW3Lf>}zi{?g!C*eHP8@%V@lBqVaD) z*Z&o|-v`k4zo6&vPc+U=Vq0-^c66WBD9rrT$_pr#}WM*Khpmm@=^}n z$7<+(HWZ!zv3Pw68rKVGUe;nxT#rrgGjx4f&W82pN6W=9JC?^1SO-0SJ<<8cpwGdl z(Dl8I=HZK2e>$4=T*yO3v|lT%g2ONw7oy{CLdW|)mM_KY1^)J?bib<<7BLctI>E5;ggvCpOCNR(Jfej`XAAJ zT}Jaz=t6kzG{&Zs@4yzg8r}DE==r~f_RnxJl#8L~p)BUaO6Y#yfH|-onup$)3rEEA zBy_wdFfTqG>sQD6&1m~i(dXv3vHno3{|O!cd@QHG6yhv^#!(s_wqVp_| z^)F#&%5Pz6Tjm-qg)AVVH+%jlhAc7K*xCnOX0g{oCnbL zoj{)tzoYFg#p@Zbh40J!XxtUi{&moN_m1^5(YT*N<69Q%*Q4WajqZx>MdLq&?$2Ln zzjXhG`r_#NYoqIEf#$0(8ut)P#(U6qi?KPbLfid@uKOP>fmsp~Q_oLDbRGAg@lQef zzlol!&6pZ5I?gUMAN$aGkE8LPi}i_#;d%~qAFo5tPbu^{k&Nc`26Wuk=sE0+=Bs9CY4i&~vs5J-_dxaea;UKZ-^0EP7tDrU~tfq4}+X_G^RAe=EA~ zJJ7t`9m^BZai^hqd;&dRE70$?&FDBkVLrTyj+ZBGh@&W)w-j`oy6C!Fp?PhO=A(No z_d(Y^7#-(sG@s++^{LTEqw{bA*O#E@qfolA?&@fq9nkd;L+2Tfu5%hz#~D~0H(*gb zfc85dujff0&PNNZNc}xn8<$}U?nTE>%n;h;Mf*2L^V}bO-i<@&pM|dbDRf;+qc5QQ zwmSMgnztRXydTZq&**r6q30k|#!xPVj#mj?Pfc|G8_{zz0&PDjmS@HCQgpvxkL3+$ z{&%4B?~V1xV*MZJIlI3zX6@6BN~5ibUk-sWt@QK^%bm( zhtb~?g)#^0V-n>)=(;AM=WZc-4&Ok3AMHh-OBdtyqFEACpD(r0bJrf-pDyV9BhYn@ zNAK6^==pdIUC&%JAJ3reUO?Be7G2k-SpQ`#A4K=@4BGArI&Y?|iK*Xr+0k+8py#_e z+P)*&z7HDTFf`8(q5U6^<+*4)i_rL2qT{SZcy2w0j{6)M&r4|hZ=mCDMB~|t?)z7{8;XuI5^X;YeV$H1=b0C; zFGAa|K;wNC&D)#kcw5o^JB}^z8n(seITI6F<1Dni7oDd>t`K)JI$m`&jymZ6H9?;Z${Vo37WrM@%kw=-V5k> z8S{j8dC>e^hpwwE`dmuE#y9|-=Q%W<7x4ys9qZ#MEQ85;!+7n{@w=nr_DB2Oj>b6( z&C6tTJb(9 zhUarap~QqcD3?L!pM$o43eC@p=zhM5Nw^U`pNG)zjo;Dpk+yJR>fe`ULF4F%{@(42 z)$mDl-#$j~pNnW-auf;cD1h}Sm&PRQi{^7O8qdpUzx8Oozd+;o1c@W*dU(tRS(fc)B@vyG!m_oTA8dr1ldV6%~8 z&im209*O0-vAhgDC#%prypP7Q6Fp~#(0+f%`h=1po;>Jzy$;QL{aD`^9j6W2uNNBU zZRom3Vgnq9=I0$WpF7YzeT9y92p#_zny184VVqp(?~$Tt`$g!uFQR#Q6Pv|FG zzZzTPI&?o0%7l4xpzAG!?r$-4oRVn2@@QPO(C2hxw0$!yi>=XqccSx+!isnw+VA;T z{~FrwtysSfo#$gT{vFY;(RK&X@s6T-I)TG5p=?lAt(uAuvxxqOJLAhx4i z13hn((0Lce>q}#Kee^?gU7w=!of;M`HbHG#?2SW8CQa3ZnOA33U8g(FSPyW@tXzqx;_zZQlpohf(OhOhLz6jD9bz zK=ZU7jdvS5&NpaWhtd5zh4w3+651!D?Q5cWXd3H#qj?w-y&D~GJlg-^SU)S47sl($ zVtEyM&eo#$@fX+(e?Y$%N>&Qv)k2@6jnVjfqVe2@?*Aw>j%l&{I6D8c=r}K+_tUyq z{{fn}t+9S*EPsXOVIP{$W9W1EA2gqtD~CABpw}Cq`RIb4lVRxZs;TICTZ+cH4xMjX zEPsx!<2y_}XXw73L&v*>#*wE=V(PzVDvq|l6Fr~f(RiLg*Y!?x13KU4=q_~J@6mnv z5uNY%=*4(FZPhS-HuQR7G~Uv&Tp^ZgqIsD%%!v1u|3X}(8S$rIgcP-lP1FV84u_hL-9_)yYHx+B)2J{^Lj_$|5XdVmI2>VqA zJumgJKDI;0e;ECqTZ``BZgiaA(EIordjI698GetHNB6%2dcFq4@;zv~nK%%aq5ad; z3co)Kp!?G(+5z3~o6+BqqtSdlfsXqurr?`c5)Y#LehrPYaP6>Pb+9GnCfF1oLHA`l z8s{$bxo`}P=Ny`!^mW4Xr8v6pWzoD>jph1i9$Lh5cQk+f(D6p1=VUT^A3ubyZ#jAn zUPr$N-b0^b@1yZ-LGP>m=s3Tk`*;CefA#A_`$p*XmT3F#=zK%ab2uVizXu)vK`f7t zqWOFa%iwNw-1BJO($)?6NkY$USxmS2=SCcpI_C{{cDfT(-|G77n-+$u{=0B z5}j`x8t0VgY;?U#&~>ehpF_gcM8qRc{H!t8ix4upz{<#=S@M!t%2sd zYb=jP$617)x0UF=e1xv=Yjobj=sCND-mf_u1@ocp3ZwIvMbAeHI&WQcosH4_wL$0U zh0Z$`J;zfp2^XU0cU>$WL!T3A8;3YrqVeB~wwsAv@GY!@>6(OdUK5?aCpv#$G`=Bd zUPqwocmO@u525Ym#rh>!k@9n~{&Q?bc`th23N;PS$r|XqH>3S$qW9gC==xTn=jk0Z zFCU=u?LhbaK&(H3?$=*vKGQb~?Q^5gtKw*VeY9UIbiVHB_40QY_ z(fF65MS�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℞=e>aD|1z47w97+Y^P=;XMDtk< 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/lv_LV/LC_MESSAGES/kronolith.mo b/kronolith/locale/lv_LV/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..facebb75b350416752dc72c4f91053752b0d43bc GIT binary patch literal 28494 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

      In%1K!Lz0$8YHh>F1NaC2I?E{Mbi5n~=A` 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/nl_NL/LC_MESSAGES/kronolith.mo b/kronolith/locale/nl_NL/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..6f63d9da0202dd5037947fa39ddc407bdc3b1475 GIT binary patch literal 176140 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 H^6~!xZ?QzO literal 0 HcmV?d00001 diff --git a/kronolith/locale/nn_NO/LC_MESSAGES/kronolith.mo b/kronolith/locale/nn_NO/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..b7eea3cce4e3774765379924ce23f828fb414863 GIT binary patch literal 35310 zcmcJX34EPZo%bKHKq;H7vhz?VZJ|jQS;JDgH_)`DNy{RLPja6mx4HK|m;2nCG>9U| zC@SNC2yTp`B94F#I_{&RC?E)kjw9;GI4ERrMje*{?WnK5-{1e7=Pqf|CiuSh)06LW z&U4Or&hkJ1v-d{_&bT$;_uZES!BOym{eoa*w;(7SE!QAeJ2wdSgq`p}cp*Fp=HN`Y z&D*bq2V=h#?gj6Lv*4%T-tfzC9(>f>pNEHFm!m#)C{+BX!1Lf5sPEhW_lLK`Hh3>Q z0sbqT5C04ghx4(_ge%}|xDG151SsT)qY=^56-m@BawSg3m&g z=P$i|#>wve{!r;V1S-D6;lA)VsBjD6v9JRwzDwa8_-c42d?TcKgRelUAovUwc@;TqzFN4ZgA5^>rI0IJTK5zu;{q<1k`)hB%87f`xfr|ITQ1yPVfB#kg z{!yscn3TZei)La;C}D^3-A6XsQNpi z-T6Dyb2EGe?pMNv3J(#5;JZ+A^k=B=9LP(R-w{yda5R*h9uE(Nr$gm$Jybd5pz<*Y zRXzz+I=6ZEH^aTK-vsxD?}5tKUGOsa4^ZX&vPDiF4uSG_6695Inz#2ueZK_bqS~ z>AT$9^HBL2_4YTy5c_RV?eeow7emF@0TpfyRDG=X z_6y+w*e~|>tx);B(sLLp{jc%%YoXfN8=>NRFI0Ve(7(SI>U*DnlD~g~3jYXHxF?|W z$+J-T{xb~W-UyS*bphNDu7+~o3{@Y)a5;P(RC~Q2>ia*2D#xEfh1(8QAA6qS>h}s)whbzVipD zeC~6qi*GJedKW=`_jD+ET?$nnx5GK`{ZQ$75FQ4<0aZWGKz;88sQmr`s=e%enu~9L z&zD2_JJ#FhK&7J%D&1>6H~IIML6ut$Djg|QI)|a+c`a0W-vAGRZ-pv{4?vacy-?}> zGL*jupu#-{^}T|x;S3%YPRw(~hdA`lNe-J9ZPeRq}m!Zo4n^52Tf#-8j`FjDX9QLL%6#s$n zD0mD!51s|jfmcJSBKQJSJNymgUvMffRX-KD6n+BA->;$k&F7{36`=fmlt1$KQz(D) zu*l!5q5ORa%HPwFf5EZmp|jx?a2dP}lH}m~kWT~$<0$`|AWbf~87kaEQ2zEHa>ctG zu7uY>g?j)}%9lUJwNB@CQ)saV9VO;aO1W`5@H$N1)1KJ1oJ&x`N+5jIp97UDFb*LR6YI)N*+R#gv#R_xEEXvm7k5CTcGlF8C3aP0aYIZa6edpFNLpx zA-o2v-0pxU!GDBG|9`-J;J%w&eH;Pzz`g`ZUz`aKfNP-S1ZCm$Q(%dnTB^!T+<^>i~-dTxa(kJ~*z08hYv z7gYH@3RO=30u|3wQ0e#uRQbQ;A{Ty7D7~`}l>1>&;f{f4zl1z_dml>ZK-`BsUkCM_ zo1x-;kLSms%JHk7k3r@4NjMMw80veoE^*~~C_EJV$xz{zLsV(74yqn*f=d7U;bM3n zoDF{hmEYYjb?x9JsPwFX`p!nEaHCM|^)23hm$!e`+rQ)O&qC!tc%_SH4|oLD{h{JH z3C@RSLA8q*D&IH3gW;Xt{&^_*cpR$U{uLer{|l;I_qxoL#{r&4LFIEU)b~$=Du=V- z%i(JO{#E{c5vtx(sB+u})$Xo`isv?XJp3?Je2+lMpycsaQ0?q_|9-buIrmvm^|2pR{l6S4-r4XFIN!ft z3RPZfq3U%rJQ;5D@9%_?kB>pc^8i$NKLM5BXQA@>KT!4bzfk&h))g+Elc4-ZMb3RDRQ?WtD$k?fAUp}Gyl;UD_b#Y(+znN)pYrw}LgjA^ z%HJQLF?;a?B_d%uOb5QAh z2<`?S_x5i=rQ>^0{-1*i|4aY=d2jy%d@1fh&eh)xDF25;rS~|fe78fzcZ%mq@7@Dd z@0UW=cLJ5aw?N6$d%gSTpvv<*@C5i1sCwQrcH`6oVTip4DnB)-`nwt`9dCmQ|6VBh zx*MupeiiC_PeRq-b5P;`1ZTkA`yFRN)#Ltf9y}cG4wpmekF`+g>GAGYK$SxbXTu^? zz1##t_#r6&4?xM&6HxxY5A*P8sQNg6!1aS&a1ZP$R5@J*mA_k|()kgneB29FA7AqB z_d})oA*l3z3+@S@go@`!Q1Aa2D*l(!Sj1V-+7VPbj`HruLdA0;oCy~|mD{OM<+~25 z{k#$?U01@Ha2P7wHBj;X6;!$11oi#fz588o1@=$C#qb5V6wakkmcs#f2E5zbpMjFA z6Sul@It_-{FN6BtYoYS{28h?-tx)ad1vnEPFy!7J0cT;K?d@$)<$J2PuYt#4-vE`r zl6SuzN=|Qt3*bkg+TD}>{coYl=TC4icu2v0?^rko`&@Ve?1DY80#%M*hw}dc_1=Cn+#CBHP~~^8w|@~Hj{RY%^7{!? z{6B>u{0-a)4=OQ6fH|o8xfgcApTm{#v;^GD_nOeXk2D9q)un$5Y<@_z_n=MX3I81Re@+g(|;$q1w+Uq2%z>P;&Mq zsQP#q?hC&QUk0CnG{xX~C^@=po0|t+4KK$2_fYjSbJW$_Y^d)pfd|2jQ1Y0AlJje! z>i2Kq;qYUy9ey1i27e3BfcszNzQ5M<5~%pLLe>B4;LG6+Z~?pns$3t3O82bSxbGYZ zrGHL_C&GnrKHLHq!q-E!pZnk<_z*k={thah1y?)0bPm*aFNP||Ubr6|geuPwsPeoD zDqq(@mFMl={!ys#UxP}|<8Tl7ZK!tieW-YT43)lT;Q?^J*V5);2_B~R~$ zx4@skli={{96tcJV1EoM-0|1Ae653XuwM(Qy5J-5Ss1<^9S3*6*3ElA3-83f<~lcj z{W(OmgB#x9^v)kVkGS6D`%I{OEQ89|`B3F_AymFD^6r?#qc)& z{+FJAhSGogzsd1PsPE5(yTg;9 z5c}U_RywQweXoB$6?grL@&lFbGckL4_doM|5#}`Pw|O_L!8b8#BOz`NV*VBrVxN!E z?|kfk1MkN?jFG--{+-Zd*~Igs-u^$Hk_*HrSU^1g3@?QG4LAhf!u~~`tMJ1Znr`qd zjP#{`D=@0d?Dr4&`4?~bUw8!O7~D?AT!o>C>p#_X_ABx5!OQ|<{Psh-fZ)@Zw`13@ zjQKjxsLJ4<;auc&J)7J<%JX+{I}W}bUI%{!@55xj0uLL! zWh?I`BYy|a!>qzA$6Srk?;Z#H`;329+js?LF6JTpb-}M;q+1`ue!3640rvZ6UIn-E z{7%d#dA_sB{R7z5p7nbi^AzSXOp2d3z<+{jXX;DzYs3CGm^qj$FlwV}Z#|e-VQ$6z zC+2S6>GvF_kLNuwJ(xw9zr*bn@co#pc`jlu=UKla;m2WQHe2op9>8ri_UFBuuo1U^ zXtLjjUB8DgZ?Pvg{;+IhY#eWtgS@{Wp02gMWV7^HcC3+`o#^Z(mP6FXj0V%=<8J z!kmd2!~L(}Cov~t^xGG6J?41qDeU&{JO*FaAAb8|?(yymcs>oIapcc1hkN%L&!6D= zV5r~TJii(qk6Fj_*-*ca^ZXvD_0*fph5ih_9D5ma3ucvf&u{~7`n}&FVAvMKm?~z5 zcMH6q4`Y8P=KRbZ{=`48#m~_^zZJd_^A4WBi}^j~5R870VJ_g^QJA|h70l6?D>0if z`aOb~iTNDn8<^K&^jpIFFJZ3W`BJzEa~98gU>@Q5^Kd&xzf-XH!P#b`55oSBm}{}W z6tf(2pnoTPlXsuPe2C{u;E8YqcEi0e$6)k37`OA_5%6~SZOq4bejVm(82#>r?{bg9 z8{z4g`*Hg+Jl6YpAI}e9&c!?-|K9zTZ~*hKxaZ*(%q2YEfzj{V*tfyg!|}h5;P83e ze+NGc_rctRS&#j1F+)7-_a@8}n73e0F#m#iE#^SXFL3`1=Bt<|G5TGAx!IoFpAX^h zHXcuaFU55Fci-jtRha*S{ZOdiJWoCU6!S&wi!m!Ok79apyAbmpo;xvL#{38N%P}`# zK85`vjDG)yS;_N%!@tJN=J^Ad{V)e$vfn$Jo{z<`9s5hXTQA(*dwh2m0A8o(Ik|8! zsZ}yA2yrOpOSNh|fm52fH6A7ikT$uQ$3}ea3CA>S3)d&rd>@}l!>%Y_s>Y?L)E9>v z%5f#C=97}VtVl}z`AX63^4MLCO1Y?#({oQ;DW+l4A1)iH#Bnh$Rpr{BFT`P5>+6ft zw7*s;jE4DQIjK}*3zJX7d?_qf5`v^@y8_@;iKEH{a`O-jG@^0o}-xPpg&DcISH}O2a6Z!xyQNuYpQZE2m*PnpWfDWS&T6F`uSZc02gAuai?sq9dF` z-j|$WHJ=7&_nx~f?2oEZA&e`Pq!JGD^`x(_Rw0=kXD{qMS6)`eXmP@0^}Bj zeR6eWrUFz2w7h8))VSBBcqELQB9grr7klH14=;yW8gqO^Un)m=_d-r`kqqeB#449h zquxTCYu6jeTgGsCk_=^*UiVDPkN`MIUsi}J#lZfCE2%O6*j82IORO4o12Dl8{%G&;D<6B8@mF^^L zWG(EkB(9%n$!C@}DzVhuD_+qP(bS4bu7;e_rK~VTj&!d_A34ppLh2d~xN>E%l2nYk zza5Ahx|Ot1l5(p?y%F_#WeqDzpWYHll8!MslQN+Pw(b{K1sFw+f|YTf(}FAG{-{={ zhMhUSm9OH#^nr(x<{X^P_0KMW-lF<)+P><9Axuhz(FIN>eXpZ&fW$tcW%Spo(n0oy z+Kd@ppmFr3;k1;mB7m-o>U9<4o11sEEb&Y=6jD04;TSzd85fd)0YpzqObLr}bv>LQ zcq{X1U(I!>dM+1eluJ%&(}2k}Nj~hI>xGt>?B((ZMwQV=WFwJgJ=k6zEC(xVv3ghwCa_uq#IC4>HmC%vO9`zeSj|%< zFI~TyA!FDy)ak%Q@)xX$=w{a>)g)NMXtSihqx@l17A|WD4eHD}rombUmCBi((4lJ+ zT2?j=FpE?9HvHqQ27%)ua*h*z!@Y7fPehJ*C0A{J>x}T+V=u$0BM#C8jQ#u^FR2L^`%+(ZOpXkxYd>NjcxAps7th zCK!0GOZwc15>cTs20~J+igZU#{hM-0C7yIDX;NwryAr-o$PdNTK7+uD4QW+x(!6Eg zyW6;tPJni(xlErLk~Cg>(A5=mb+`4bU$r`9>=yM6YHpTE0-j5ZBCSvDk}m6t%BH;< z{m*I}huI5X-E|lGc-*V>^a!3CuVEhzy5d+x05w)m#YBIt(}&f;BxedVtEODsPut7| zT`J+8(Q?d_CcTnw_e5}WN&SE}=t}s<5Rb1}4ccD>!gE|t+cg??*NR1Hob?+Pgq`8a zBwW9t$4yp)^%2@+eOzUjGz8JH{LOmu_3^f9=)Pf(`lLOWxU4rlXD!mIma=zaLJg(r z<9Mr7Q-T|tb>%bycVD=!-h|qNX$Q2yZC?6$nnC}P^ln+*J?-yBHCh^D8P`xOI0Jb} zC^f{AK%@9<{2gV}1@q~Y#>HLhOrq6AF+o7A)@wA+`UcvczpQd}gie$tx0!-X7+GlE zF(UP0L-I`3x{A#)IiuZ2VQ)>1*EB+{l#^0cG<|-?5#}n4dl{|hOZ`3{G+#}kQ2BG* z!b5*TQ27~l1Gx=-)kM?UY~14KG#e<4O4!*Dsh~cZ&mK~~T+;ZOfmUxJDh;*Q{iI=$ zDHRHx7AjZfDV0({*CYuIY3>uO^3-25vZ=qWPhuGJ+aN7pS}Kpls6<_%mU3y&yL-Y&D_2?lQ`uyY4m6RzwUF5&4s9YO zk0usrfNeOR)KX+_6pNcxHjP;_H;TljQVTaCAR6H_)zFHC4NwOp9607$7R%a$O{AJX zjL^f)w2Fdzwy~DfbkuCG4?NAk^V6vwfo9R{&-APLQJOV3@s^?#X~T+8WpAYF8ZSoU z2%+a)KLs(EDb{dHJ|5}7wTMuAxFwlQG4mS)u}_n|(p(eOsFaSVufpS%HAX!22bu}- z+RCG$IcaIFI-x!Svhr6E?J|O9t z1)6GUO%{GC3Td*iQ_tc%xBTw-y|2 z0neV6r6JQj=gNW_tG4Ex1@C5X%QBXAz}c=!;ud8WunIS#PqDdV%aIzR=JNfv999j7 z84-WraZM{}6+5;c)xF{Ib#VmpNmwCp$NtnuyO+Z+9wv9}ED65!yOy)Qk zRU%gXSY+0YQ7L9;ZgIEWV6v09)ueH+v__?ICKc5B#GbVLK8ujYvDctUEHF?Hu92J+bZpPw7Dd^U|FgwL;Ou9DC(mM_!N};2Vz4u&d6&*ZAm@^lY=-N-J8y1s?>tf=&4)QEHrexW z)U`|_7PsQoT_ZWHcc6K-ah3)>gZ$I7e|?Feqa*AqkV&M(?G_dirt8fIM=S)2C9;)H zc0<`}Q6zp#QOj-p9H(G&Kqp9SN~q-nO`Vz3$Gxf_zr~pabjwO^k%ZL~1`UWQ4Z*GL z*r5?qWzN4TFCx(bI>lDXmQ9rimL&!%QBf-ewsGoohqiV7PG_j$XE<*To50%O*LsaD z0cky@x!@I9#UDP=%9QlJ(-u*=%s#AZk4P8oo|WUQ`{A&NZ5PKZ?}pag+D*NqbhL-5 z)h8sM!#5>z#ZrH6qDV~zsLwFzr^%uxNRNt-BuClWi#AlH?k19(iM*SP)C24wBohVk zOK{q`U_q`{mN2x3DjRbs(vF+<45JErM~!+bM%(hmT2XtF$p|@3^H;TIq~y=lxL!yp zs}i$Bt0lh^dvl2)TBRf_9+eUD&`|cSr&4s(VO?-437ehvEk6us9^KGCg>}u~^k!5@ zZFRY70Y?V&RBm$+4ZCdlkGvwflYVZXko2N8G*Cicb#->F@{5#iCsQeMGS-g_$65sE z``IE{i`=0miqQ~N!dQl=yx4PKrAE>alDOnfC241(Xr~UcUX<7TMVl6s#;0b?36?6K;59LpN~zNMe7N)Z{3~zzn4AYwI+yw8C$+t zj5vH|V#UCWGDrE@7(;^-28FJQrE%1cmzV%HqHE1qy6Z9!$#Rj*%G zg(m5}o`9P#4t3koSqCY2(w(jv0Y2T?Wck|^=*VP}0GDrMwQ9dy;kA{+-! zY#8EdSZTHcfr^ryEo}#SL9N%~j!M#3Qgce`?Mrev#nkxWipii3N&52we!hMyAv3iu-S%V{-zH9PjXnKMZmqHuO9B@DXIokGx96{TTSA8amblHiezEjFW8 z{5&q)qSJ5zE<0?Ko0~0c_eUI9HET9klSMOVbLHz;>(eDSEa?cgXkb4l4K9i*B^pM? zbK z*<@9Hfll$c9yuFED!6TAKTw2r)=rS$4z}Q$%(5}#wt2Gm6+7S89@JxTTMLxA zx(yQ+)sh>@PT);Cr`aR=+I-noo^KkAM(F#tm9>x29{Q~*n<=uVgbMTl?6go;${k8k z>)xI@XfN8o8@G1T8*$W`+}XJfjUdxn*^cJ;0hv$QTefBfW+ZgKAOleU5uiV&jdh_z&mG0D%ok^UNULL3g zW7JGR8srzBQ3~=avOQYsJDX=0jbrJy38ru~I5pEC8=+G#8YH$ljGzPbt>G0q1}~fa zAv}t|!=BSX`(=ueL~lhEwsq#(wop~*)Q+a^WJ&v?w!YzX*2WDzZFZoL_iZcrU`M!Q z(V``7i%x4>bVj&jNyp;TPhNxz9@{pt^{9Au^tWh9$1Bb}dC_A0>6lAfkJs2qr6Xj| zwXM6Fr?qT}svHG7yPOW6m$3d4wI`Kwrx+iYFPl0v?87Ndoz!dU8@e44bKamJ}XWRytWe zYg@$`77c?s!ZUjF)mgggVAbK-xYWQs1NUl2r^qf+5G<-p^m3e=ouaeYvZw4?gx!!B zjyXU!6tk|7OKn3u-O9#wg=-Pr)hO4`2B$icIjy%Mw&V*#V-+`e7-s6l;Wmyp(+_Y+ zk14yGg2bG%!=*enFvhT#ClvD#D-UG25RQdI+egv=6MvrCqbVx@qYF07?LdOXVXB`v zN=b_q&vX182m&xeE>`I8w(NMHn**8Df6MiTtFW@oj&cFVt^B zurO2L%tdJ+yR6XS5YD4u`YZWr)owwo-#)}SDuyeW=N5-?p1B1Q7y9{X=DEe8*|WO^ zu`V8<=VFsSdvMjk*Gf^C^lpuZIO^s7g!Jwb?}md_U9(?TzE%k;+MW3H#XNym=KMQ+ zs5DyDQXhl-Vk1sGaw2mmVj;Jl#4_!tZgFqN+YvCtC@qW;Wi+g-6|BFc+<fK91lYhhv?V%R5Gw;jX?Ta4T>(-coJ7uIH zM4{Tae_@l90j^)LnzydTQL&gq)j19@;tYIm((L<*boo zT`A9tD)X}nbIMan@B&W3#=ZYRs!-$ZqRbehBWX=dC&?48Yq#ojaO1I!1J1dqHo#7k zIX0}TbrCMeRKFcJqVYByOj5iQ_$C-p?;FbHp@fw@#G}X%E@7*P6I4iK$utwQdFgC4 z1&dLgrIONzPPX>nuyVnoEvgK0&Wy6FG2`=!ocj@NLkSrwa|bja+MQ4Ui5+WNwEXQrKh7nT;78H-9H7 zlbxoOVY_S5=I&aQ)OS&W>M_D5)uv-~)?D0mivh|rxPYEWnxP}?rj^hru?GyN?2J!J z%iXFvP)|ZemudY>n;lM)nq-V10}LStBvV{iNd3-=zxc=*HQl?Q8oH$z++QWqtghPJ zW2S|jjg3)oLnZK6b|ilUATO4Lz?PDYXWyxL{`HNzUNE0H_rrQyDm zBdVxM*A>=}%_*H(Z%Jktk8E`coVm(CaaYo0SDJE ztfyWoR|+z<6-X<=pwk8w>Mv~lMu;mtj?T6 zj~|GROP+g4mxe-{@KsM`ELVu=?VL|4!+KG=J+*x4?WVzVAfZ_3MzAZ%FYSb3LpH`I zEO#?Zv!11Ti`h?QGEWnyJ=4@fQa~G|&t(CN^R=7(P{lQHDXOqmwcb$EP<0Q@cQTsA z#J#XVa{W#Qg9?)>_imxLHbl$0GX_GvsM}Wq9Pbuv9vG!x83HBoQV!>d+4P~9?YYbgCYX8y6*E-s}sz?_zSmVe#S%PXD zAKk@VEkq-czzTuZuj-_e8&Dy3UU0$rtMrN!{gfnKT(yc`;qJC3fWi94 zTxUJA@l1}~v%c@1OrkoiB(t{52$dZae{)06y19`}3angpccYDpXee6^&r};NaqJL| zMfkQ%eNPx-r(boU-Pkx{X<&jc?lSzY6TPb_Lc7QDV!q94qQ*zARb|Of>piuLvL%74 zW_p#zBqR&vG*29Ixx-W_UB6xKKn5)uC$flc7Xrbu8g0{QYA640%xmfvt|(Ce)!VoxaDKU7 z>qre>?2K|*zos5OO-ed%&OiIIQgsihR{o4^6tEnpe02ez}*21m_@kGf+sTQ=1?W~mpW)2YMKCQodk8yg-uRh(tWSr zo}+#=THs6hh%<+c8y>D@HtX1YYnyaakyh=|h_HTBWNPuWC>WY%Jz;azle#M(Q;W%6 zXnXPD$LYhrASIbH`iru|lBzAcsB8HP(lUAZHZDoLxbmHD_{qz6x-m^yzSECn!t$MN zG?SOFlp)7;IIaHT%6GcqCokXW#x!C1PCt?f%Xhlb?4*3Ns~0b_c&8V9C#5^Rh$b%F z>Bcc}*-kH($&1$C@_2CtJFUQz7wfd5nM7GmD~??hN7KEPsg=tlX|fwAQ;T8p!kI=S zlV>YCIPqc?)O5q|Bs)w(7(>QWP0569Xu8RntbV4Mmht7we~M!B&|rP`q&btep_pb@ z7~hG83eUBo}#hG7R%_nzI_s(aMJ75{&avt$d`&ejyq7DjXp ztBu&S6W}+(7cih>NXhC)j*Tr=hDeATOGZq<*c&M5n3+b~tlaCEoc81j%)lDiu#uu2;jFh&_P`(g_vt5B_hDo8cX53w!F0v+3t z+6iE#h&{?w$#c8tnm}j#6VsN3uv23MFX`*`FOXd^W%o=N~ zI4XVaoz}{lKi#@^Hm0iK)R7YDE2)t%n}1P5%mpb_a_#4bK4LB>jayLiRW=+o_FfyY zxmu$>8nZvrm7OwB0{V5HJ0&wkR=MQBymp9_{8}LNH(vZ?G21?Dz46l6RZ%AS&jpwp zD;kTyYJ^jYqdF17hjq+?`3*8f)edU&kNGDjADR-efPJo9j8t)ofVxFg@T$eBOrV?g zK6Xejdt17{QqL@fmQQVYvM#1-o}`3x4TTmlwXGFxP!4NZIgJPG|7~GqA{uCO&1J|= z|C9!tPq(L(&C?No8U^QUY*8b!do0lq8(hpkm$I7er+A20{ZtE!7DHr;$+%nWX5u$) zsU+38Dg6&Yr2!)BXas01^X@uO_ja}k3feX-GIV7s*;&$*+m4g*ZJQNJuh4#iZe46q zvvE)Eud3CZ1nAz*y%M%v_|KBoMW*L$jZ!7rnAF=UMr8VpH5*N1oy8h&lehYcV|P*r zy0_bkvaHSSdF@tmZI_Y%&q1}y)R^^P?Nf6p zOOnR_f?67~^#v6!|8<0^JYt|+OEfVmMmsn7Y}(V(LXTU=VEviJ9uA12ma?)TS2|Nf z%XC``gsraA{20N5MXi}=9 z{3axAcAk95ub6PQmxOUGrCIlzc1ueUS+pe>tvp!sVVT_4gCvW#e<`iHW2}@DN?MYf z-Cm){ITows8g~R#3p?ztu~zOny9tCK^QtATe#wB^G16vUrTQC!(Cn3@sam~fq`y71 zvL^fV3{p~5gY8+UMv82$an_8bcnVdAbyZ2$3-X_`u-)2np2^l3ZN<$N=#>~PM@-El zG5e&klttxR>{`)rb>C0|%{_&pw%uh(3rnE7Rzh^{${W|SB=_|zDsCI6>6VHc3QKp4>_%*c4Im@*2xd|vAkQ~{Qs0)srh_ozLKIOtY-v!ZtZc zYSd8RNhoK^`MI{7tkD?oJ(6cS<XkF?k0GTlTI}f6(yT zZ+h5(RGa+|R<%ygDUj^pxPV*48%kFETWlAeKe`MfOZ_s8Eb}-TrK2!5S7|)8?CLTC z=R^}CphnE+GCOCm`7g9wKT;pqxkk6+Kv%jHrJ6fJ3@jcUx*6mk9N3jZ~AoX-XIqbuIN%$(CeYAcRr<}EWqa^_ni2=V+$Csr zO9Nxhf^Ai-Po~}hQ&Ko+_HR>9j(g-?8vTCjc4`yuA^XZPf@xAGZ&@`$6JY(JN;(2PRD!We@P7dc8qg&G literal 0 HcmV?d00001 diff --git a/kronolith/locale/pl_PL/LC_MESSAGES/kronolith.mo b/kronolith/locale/pl_PL/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..d1bba4702a18e7cfcce22e1f67f8eab3d594d372 GIT binary patch literal 91037 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 PWGP_9?~uH_{G#}OoZ(7{ literal 0 HcmV?d00001 diff --git a/kronolith/locale/pt_BR/LC_MESSAGES/kronolith.mo b/kronolith/locale/pt_BR/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..26ec4cdadba9c8492977c6d83b1cac9d18490c5d GIT binary patch literal 183794 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/zh_CN/LC_MESSAGES/kronolith.mo b/kronolith/locale/zh_CN/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..e217361e8a51d87ad45502466b8255525ba0bb9b GIT binary patch literal 102212 zcmbrF2Y6J~_P2*7y@Mci1VT^fT}lWY0--BNnIw~BB*}!C1PG#_pxD5I4M7FFB8m-B zQS72%MHEylpoj$#D~RQLe`l{D16S|8|NEWi*?G@ed+oK?u4kV!@NuoO*ZH{Sp5pU0 zg70?m`EIS?^IefGtTofv0$0EaaE;0L!g9zPVOh8t)`ZW&@^A;N1wVwf;dfBwOEVghE5kalDXa*) z!b-3oRNTX%>JP)pa3QP#FNcb6HB|lUU~BjgRQV5}?7x6@;bEva%3tsF4U8>eWAvS& z;z)xnVGy>0SD5@L^x6Sc?{`q~{{dBB%^Q5as<07Ef^DJ7p9TH!0;qP}237uHSPwo2 zo59_%8~hzIMSY!b^!XaXUN8|(ge~A==*=&98uB|(e!qqF;qOr6RClE--wZZE?g!QH z)1cas1=a3isPZ?!2JmjE@p~S6>jbJjhb`ZK6LSf<59|z!VNZBJoB+RoV`1-AKHn60 z1)L1Ogk53()o#2Bq1rhgs=f=L;#&dLKdVh%2Q?2Kg?{(}RJ_Na`n~eaZl0YA%OE#_ z^4ko`t_{?<_JW#Uqm5@mjaNEUe-yye;9{u$x*4kcX5)6_M^JHo3pE};!+Nm6EsmX` z@<+hYa6Hub-3FV&x1j3z9%_A5y48(WEvR+a6srBBpxQGPY97ykn&-2i+C3YpT?pUPqm@qXap5kdni9WpxQkWYW+?&=0W*c4As8N zO@B4iJh~fd{yzcxz?Y%sXX)GA`1gS-KNzYVsZf5>q4t#=sQQaxFSrbrhOe0X8f=AJ z_I5X3?O|KwvtR;T0yWR>gKE#CQ1fw%>0gGb|1H=7?t(pFg*)6j8vrLFhoR=pOU56K zr{C%J?=i4B`Bxbqg|goTyTDWKa{bmDYQCjGjmJ5#1-urjzn(B|gNk<#R6iVmr^2Jg z8h5+6TNyh*^27I`Nu4?lqF@4Zm*ehcNN%sp;CSAmMB0c-+KhpK-7RQrd(X7Eg?^5?<|@EWM~ zunKBE-D}(kRqqS10^A16z;}(ipw`7lumb!ED&9X#E`6`lSB7d|9q5Nmq2e51911n> zM?Kz8vk7G?g6KcF>LHSz*d_e1F{Xw?W1G zDO9_^fQst}sQGmi4uY-Lxqi$wMqoqq^I!vbEmZ$LXnfAN12#hc1=Kt%eLrIYYr_QC z4Qjqlg(_bJRsT|`@mLP4z}2R|7plKEK(%`-)cC#)tHAf6%6|?uZr?!p`4OuAQtRFP zsRfna2v&wIj2%sXhH((ANd72T2~L7lVE|TvVJN=~p!#DOR6O@WweLZw{@w|-KYa!L zFyR4LZU~g0$x!2$Y5FKseM^j2!m7wOLCx!Xpz3=Csz3LczTAT@zXeQ0p8}KMY^Z)) z13SV^Q02dZ@>gzyJJ+^=+E3D8E4T!jl(*VpN6L)?}VC1hoIv6+2m4Bx^|U^8n3!g zemX(*&v2-?$3wM09V*TOsQ3$^;y=&iCB|h?<*tVV;GIx$?S~rQBT(`9o^sETQ=s%s zjjf>kcYyNW6RMs4jcHKr4?wkNw#nx~&6{N=-vs6NKB)eC7|P$%mj5DDJ@1-+kLf>$ znh!rgt-H#b-G0^-YJcem{ct8!|6TyqZ>ym8=SNK54I3gKhU&knPrLXULiJ;7sQTMO z#n;X92SAN~DpdXBpyq#;<(~^RK9@lC^EFWYuokMm^-%48)%Z4)|J_h=d=6Fq2dH{} zhxK8pXPmzVQ1)%0+Se7T{?Tv&%zzrdPoe7B57qDALAB=?R6m#9;^fLu{aFWUowS46 z-}*t>CBwRK7}U5umM~I756Hrd2laOxhJ9Ge-5fWFI)awCVyu92Fm_tsJMSO zmVVahD?s_F4%OZ|(A!_2+BepC7F2%+p!^g-)jJ2OzZOBY>vE`gmqYno4Q00$Dvotf z{qQi9pO>KWw?Wmn6RO-EsD9rI8^d3r`lar3&QB|-dXu2+dqMf>2Q?1EpzOy&#hqbt z1j=p+R6NU};=Rt~+o9TVAC%wqunBw^D&DuD{JjrVem^`N9)udl>d(7!2~hR7g|a&X zu7N4A8T=e3!16D+_9a5qHxg<-r9riC8dQ67pyHkl700u)$<7)2oJ%gu=7jq zy>A>;JFb9g|4QQ;sB(A1w(xN%|9hdvxysA#ywn!HiEsO#%VHCyNaRuZ3R@^cSHGq1(t*FL;2eS)$iZIvhWDhe)9*^ z`mDIswX+3O`A$&&lTDrqRnIJ_I2Xe5@EWN8xe2y|cSAqi0X42aLCv3vue$xUAyhlM zK>169%Fl#~V-D0jz1rjrmcI>Zf8JyK8ET$Zea*$$9I9P?q2d|{)xHt%6gbH^&6o+* zKeM3hXB&%6e*sj#FNG?9i}6mVdhRzq1htMfLiNK-#&@8`_Y+tN9)z+x0#$GMZSEXg z6{=i!sD4j@vL6pC!0E6e%!cjYY}4OtybHEO{~*-3ya(myE7$@ag^It)cIP(%%5O*L zhrOWuPk~inCRE(Bq2gT#)ep;|#_3L|_#THU_dHa4wnNqP4wV1hChvvn->-~^jYpyU zmU`XQS0Bo6OQ`Yh1l7-JQ2r;Hek#;_o)4?Q%c0`95vrcsp#0ot`p2N!u?4E!8&LD? z6DYgipvsqf!_C*~P<~rLZyi9jCmE`JBP@R`RDIK7RhR`8XCWL4=bQd{sB&*X)%QLu z4fjH|?+cg!zlLRCjW?a2Ig9# z2T*Z-V*CPXzx@VwfaTwE{nP`h-eIsh9B*<4RDb0|m7523?zk3eeXfVq;7d^Lc^9gm zb{Ri~+7}K$#rp@W0c*bP`mq^Q`HoQYqd!#nNl@`jhlwx*JHi`a3%C`^?jRfse}?iq z^c^>zXF`p85RQP0p!#W>>EAK=pz$ZD{qz`AdmHX>?M#4bXFn+YB&d34LdBf}<##Te z49|zP;d`(-{MzJd@49)=3~D?Rpyp90sPg@x{0@P2;Aqol7|($k-`P;(IUlP2MNs9g zgxVi(fa6(-)?*l%I;Ik|Hkw`n*4|5m)q(5*MPOKuMbtO9hATBQ2jmt zDvq&Gc4tA&zg*MLhKjq`^b4WZ-4fGZ4HfSVunxQ()`Xj&=G$vf&yjsl&ne$~uD%9P zew#t{XKU!i1=U{zpvG@Fl>Y$K_~b#wcY*O@sCHcrRsMRY@@t^tyw~&_jn6{W`x;cc z-!gd@l;4kG8@La4hE?CEuiyY!7tV!Aa2f0ZH^ZLrdz0Jja`H5&{pFZ zf3*CvyIs3ZgIX_%#;LFq@}(v}1y%1?Q0u?`2kv|JFsObhf@<%jupPV}Hh|AV^~)YO z7=8(pVd95wzX(IMdm&W3OQ7cGN+`eg!1{1A)O_CwY z`a{)|0@c0|Q02!!jqf<9ePaPU8?J_`_o%Vj$If4KsQTMM#n~IGpHqx!Q0<-u8^hV~ zGgbVDVz({ z-W#Ci*DX-x9yD%(?UA2@>bLKp{8jwa#Zen7jwVokyF&FxZ>ato1J%D1p!}Z=o4`ES z8eU=YV^HmS7dC>QK(+sOsC7{7Ggp5DsQJ+iD$c=B^^JzAF9XUx2P&RIsP@f=vcCZO z;bkxxu7hgVL8y2t>~-VZ364dc3bk(5!^v{#;lV`2whTE`}<9EmZxlK-uqriesPg zSJPMC@8WL=HBVbZ#nS`I-#}v;RQ=PT;+zA^!ONlg<7%k>TnXjpX{i3*4o`uEde+wI6pdISVS@h{+d1Kk{Z*REZsLe29=uslqHnvdOK1vu97r&xY2)HoEHTnsBAUjQ`@ zS3tG@Mpy>k32VW7q55Yt)cSh?YJc7f6W}qZaX9@O*WM1sUa&O!6exc~pyC{1`f*V8 zO@!J9(qUyd4{9G;0{!q7s5rJjjpsYC65Itg+D>hDJ&^B&li?oN0e1Vr^?wkmz5*!!#V`>rg&M!dp!)qu*baUGHSbRO(e1nK zp~iC}RQm%^FLygBO*d9I(Ys1f>=JgS%`u~I)moh)QI2%IMp8#c- z1Ql0T)Au)dm~lL;N&a-Gekg!iuXCZ|xypDeRDVAJ)qk6z*6UWN_H2WSV+WL%z;S;$92o_im{6JZSPJDF4rz{0dZ@Z$j1gvE?6t zDt8Df-Xl={%Kqx~RiNa$@Ko3ss(e={|NWrK4Tg2#SSWv4mLGsb?3}t^dl;7D<@y>x7hec5R zuox=NYoOM_D%cM`1@%1p&Di9qd#((Gt;2}|VH(u9ErPA# zI;i>iF4TN2b*(U8P@-uvk#mChr^9f`<3qx7k@L@4sjrq zJ|DJ$SHUjuNtgh?gNn1xpRPTrup@F248gmg{M7i%Jzvj&osh#&e%3KGNrt6 zS_dU>gN@;zP~+98Y$@+KFaWCGRzmgnt5EyiFHrNOMY&R5{AWP!9l20-M1< z;W&8uDW!b*un%ak z0jPO;7;0Ys0xQC@6`lWTQ1i8c$!%acU##N z{3}rF@pY*Eau-zn-$MEQ4XWH9#&VTPdF#C@)cUFewg0w(^#88`CALM4&F9>>8fs?Hin98I8+=Vlb1pHTMsq9TcPIncP7`Z z=HloB6~_dVi=pbj#`GIZzY}WSeP{VKtGo7efbu^QDvsGuaa?WkW6+Ph6DpoxU^1*( z!<8QohaiWc=J!UZIDdvsV56FjeW2#u6sYmagzDefQ1x93)lci8+Or2Lp3=2SdC%)+ zQ1hZQ)O;NZHJ>Iy*=It{yGx!9|(*P!bC9IBswhkD*MsO{?O2o+x% z)clzS6?Z1oxaUJXCze9hzXHn7S}4C;pvt`uwV! zg`n!62W58=)IM?p)br{!sCD)sRK1@=#aFtnTW?jM`k@|Fe>FCJXDIu=Q01pW^>3!h zOQ6Pg8C3lDK*jx_Yr-$Ts?j$f32bRm(EcA)eV+`L!jat0cAHH z%HK4oIMbo(JICa?Q2nqFDz1x7zY1#HZ-<%(4_W@xQ1j>=sBt_1HJ^Wle%PwM+n%M-nvk6HiC+)B~<@)F?~O%dWOMVI2roki%|XY1yn!$3f0cv zpvwOR)vihnT)S#Q)!P!Pp7wAs>;*MH7sA$XEgTPDgBs5!4PAXbVHf1Hp!U^eP~~5M z+V3hha^-u&mdF_}0bXYM4aVJ2_N5!UeZ33R_zi)@a57YXybUApLl}jlo0RhY{loK6 z&;9;QU7WL^w;o{-{rgb!y|3T3dm2=KL|{319#p?9hMFgrLDjzkR)=>$jqjsS^XWAx z`!}Hacc<|K(|=;}eyI8N4OGAV2sJKMPj}^NK-FK@XvLC9wgQ4mf1LbEDl>Kz5 zI5RCj4=RpAD7#{)`FR19pJh<(xB+Uu-3`^gr%c`sRnMnT<-dd)*F#Xxjpogqeu!~2 zl>bRk@uWlf%YkZNvE?s-it7@SmqFRDH2tkm_1$6m`(aWkp0`lv$j_RW@)g1cE!=bB zN_ZjiBT)M83GN)W4r=^&K|d_p((MxoQ1dqpwt~g52V861ZLHa3<0hzc z!uOWnq_x|RCqj+WB~bb6VJG+@RDD(3ICh6>#|)EigqoMn!F;$Is@$-)&hLCEc|8om zPoVq_Zs+D}KGZrbhU&MAjmwSKLyhAtP~&hX)VSOO)$dP0mEU6AZu;FOe`5UB^hb?< zLG8Qc+Pn4H5o-KXjANkUnF>`;2Gsd1WcmfhB~azAfSQ*#ntU77zWM-Exy>fO3H99C z1GWB+nOrl`wW9-+pEIEL!y!=hPlQ_EQ=#I{f;zul4Yfb6hh9HGt&8oZ|H$|q)V$YZ zRDU*ydj7YC8t)XSbH!|^=fhP{ao-8$cazC4LB+8Ps{VaY_J2XeU8jTVk0wy%+d}n2 zUnskgmOs<-bD{cUq2=EU+aNy-6W~Ws@s;ja%KJXq5e`7kGd=)^ARmHS58XSt{+bTG z{RFBX^Pt9af$5h(^}{l#c3f-R05zW5q1O2>;~wK)C_i69^}`{k{`n26zVe-&zJ{?O zl)fd@KGngPV)>Jy`X}9302SByQ2YBuQ1RahHSZsV^7j(de)a~`K2f@h8}}rreYqc0 z{AWV>n+Cn}k?EH}`MK2cuQB~f)87I$kM1`4aj5n_YupCq|2^Y}Q1N|g`G=wW|8Du^ zy1Md}p!9X2=0g*xbcA5Mc zRGbG)e-x^|(%syAtqIkx7REME`&$y!I1e$7hdN)*ge~B?Q1!2Ys_$;7?>`$%{|Z#x zZ$S0yZm4J_U2Q`jUOfEF}Dk%T=LB;uqag*tvhKl25*cQGH^*(Y0 zYF#zzQOY+94uP%V!^RJdWqZ1HlnB+niN*pb`^#Yxd=zTE?}O@>gHZkY8`ONR+{>+_ z)1ca&02OyfV=t)vVIb5zmIDuOD% z%y>OioVP;NdmmIB51PCYs(+t?I;U-gvfpm`??c&tWZY-`+VT%W?>*P_HT$@F>O=W$ z4848Y*cYnb)1aQ)A*gw{3aXyRpyJ#N)sE+kuR+cC9Z>Oo4fS05+49Su;p}Tbl|Rkc z#Mm4vj@D4?xsU0`8Ye;dn+mml@}TNJ531iUhMJGpLCwEgq2gT+6J0G+B7og(bYTNesds(-(LI%kyW@BFredhhB9HNI1z#v>1EzAT0+ca!Ni zLDlny>A!>;r*Z>ay|tj^wkG$01Chr-mAeM^g6p83w_iZb-=k3V)lPPDTi6kK5L7=E zL5=rX<6ThotTS#hz68}j??CnA9^-zf@`sE+nf|D;^gw4{8G7@~;GVP8Hn7rQS6^4CcK3zyI|^zYkA*sKp9K}yJmUpWc9)ra zrO7v%e6z`SLHSu{`bVJJv)SZVjBi2JzuV*kCLe|x2j37^Uk#`@>KdCsjYlh}ap-FD z2+N-gz5UI24piKQmR}6jKNp&OspVe-73U4G6THpjca5Jw`S}`Z{0>3+DL>T3R}HFs zJt(_oCbu$nhKj2%RC|V+KF#z~q53TdRX)$;h{^Mz>RV{M*!0Vw`r{g?`EV=L{`(Nr zxn~PhKfMLDU+y>kF=Lfs?p)Ux%DxxWJRJcQXAV@{v!UWT*SN^?FM{5DHT_Dc{p}X0 zcpkR=7oq&UY4R?U_d&(?EmZqT4|nxcgp#Wn>q3=pWcdkD^QW!pdl?5p)jtwy9?gKG zVHhg@XN)gE`P*vp+s5}y{~=U=d=AzApP}OU3(C(aBV0dMHl79*Pb;YBNq4Az8E*Os zP~|g>=Roauv!UWBgz|fy@j|HbOD+Ez)31W^v&Q7Rq3XLIYCqlr1x4w(Fl z*fLDi%{$K11Nt-pdVHo?aH@>imwCI`1FKbVG5M}JlFzW z3T5{IRK1TIH$&|+&%tK!4d{o5q2j1D#=U>Fh8>Y7L(RuapxSXe)H-?ysvn<%^7p#w zKY(ig=TPUOZ=mK|xioivIt?n$&c+nePk@Ry4=Ua{CZ7w{&LyV5(s(V@KDZKk?SzWs zaj0>5(eyi@;{FIK-mjtj{|*&rsj;rVD?r8D5^BF0U`#X4gz{Se75_rxRZ!3SwNUNc z1XX^!@gt~m-bLLB)55$;rlHrXOSS1mjfGr$e?9XQO{n-zg(`nK>;v0EjaL>_ zJw=wkz<3cFip-_Q-9Z zp5K$8>Pv^3AG4swXCai|bx`f!VDbx4{kPThZ$j0(7pk4#LanQEXSwo?jm@CSwK6#g z_CW3ewa?9hD!;(w>!9rKf{JgwaU)b*TZ}K7{#7XZcZ|C&|5K=b{=)PJOn=DapP>5x z7*su{OmTjyL)CMtv7ym#Ofa@Jc7Q716>7fsHT_`Ik1&phYVX;Wp9eJ#5tGk{^0V0F zD~wk|jra9X?Y!Oe_nH1dsPWqj)&Fmqd;n@6_#LV})uuYuhVoY*%3p%%+e6uRGJOiv zx*uWrQ%pa@m}Sf}7DDysxh7u>)t+T0UvKiwQ1RSl`gKtA^kJy)`>#WNZ#f9HUspfd zwW~4I`)N1mhvT63hp5R{Le;kc%KsCv1$+i7u6}EfSQ-rLp?WEntlV+csv2M zUp))ejyFyJuJJ=CKYO9p%{NfvUUr5X*G5qJZJ_*hhVs)34ukznztr^0O?B71w-|7n^(uR6JKhJ-2SN{KqYSGgRC!LCvGLp!|LeHUAG7e>Rp5xbdhCmERJo z-Y&*7pyC@0RqqI>ewYf?j&ze}L)p!Pnm6Y``B?>ZuD=7S+o({b)f2N1Eue5au1USK-E9kp$Tvr;eg^Fh-)bnQzRDIi_{OyEo z;I~lg>C{YDeu!}-RKKJ_`I%<=Op`;#0;qnR3pHLBLe+D%@g}J8xg9FLdrkj<@o}hn zo`u>6UN`*#sCo}W&BG&5<*NoAYZ>c7)z=8>Ih|ngNaF;k_@-}^xI873N>!6a$I}5 zL&ed@H$mCmWqc6IZWGk=;c2LKw%hm>)Vw?j z6;F+jvu_I3-z|(Cp!Uz+CijK%I}EB{Q%yes%Fhgw^P&2)7^*$XjccLGJqi`?Q&8jd zB2>LQE&o%Kzl5sq2dHz&uTbOl7gYI*=Q!3fHiW&=w}5Kz45)DnL-|<>{qPE?_|`-9 z|MO7&@g`Kf`=Q!%6w0o`EVoZIh8>YRm^>5eIUj*3@LH&OyUX(TL+x`%OsaVw<%I$@U^Lwav`~?+%l|0ukO`+P|8fqRU znmh%1{bO?27F2z+pxRw%`lY770&2co2Q?12 zLbc}+sQO-oYR9`!YW^&RJ>g2I zcDw`iT>BnsK2|Jr?QaQHZ(pc-N5j@|GSs?R1huYK8#hAvd&~G8RJ~P-oLwWR{O(Y3 zO@N(Y29&?+VF&my>;(6kTxX7(CxeV)M|L z2O6kf?=z_WC^gTuy9reOP}mFRLdAO*)I5FTgxW9uGB!Ea`R@y5cNSE; zXPN#Y<65Y8JPkEIdtqPr1MCMoE-2+21H(}Ly9H|ecfdaIBh%ME&&}`lFcJL(sD8K* z%I{53_1p(FFW-b^;d@a2J~a7rlfN?l0Clc7W^(!SUHKYNan*zJlMS^lb4{KPwXZHT z`7+~`Q1xF6HJ?|Re82G#&HLY>%GX}x*b=JWdzn1em7bny2Q1&Gt@W?fok_esB&4xS+E6i zfyviF)pHY6xwTO7Y%soHd=IKWzk;&+11ioc7rFAyq3UT1bq?(SHP3oL#Xrd8RH%5T zK&`(yP~|R$+D9&jisvDydASK{+@67&hp$5U`_lB^8;_a(l#8AJ>QHv=p!{`(ioXw3 zd}B;M8LIy2Q0p`UD(=}(Nv01$J>Mcw{c%0ic-#dw&mJ{ygYvT%DvocU>N{-uBT#Xby40}>RDL~U6R77$ z0+ioOsCv$Y8plhGS3r%!l~CFoHeLj^{#Qbc>n5mnyb8y{_o4c!%@yu@ zOK0PBsQk;I=EX-a2_Ate-)dPY@Bck_gBpiL#;c(Gt%2%?dyN}R|2R~?KMS>AZi6cS zDOA6HZ~W2t3sk=zHU4QVv)uWw0M-8LuncStW#7u!-q;DM-@BVU2CBXZ#>vJh#%acx zQ2sKY+LHsd{=z2Dg_^hL8!v%s|20tSZxvKM_Zip27RVc*o?knm{C;oz6{`H7Q1iC@ zm2Q4jg_0XUjiVpRZzrgBcQv`Ev5&EzF&UP^?oBm@>rv8n98N^J%+t_ka>TU~oA%s4 zLf(~5<^6pOT`ht=O8zYJs&Rjbqbq5rRa}I9>>7^m>&!n#1Mf=5_CxNrQ+7AH zO)+D$yP5p6(X%AI>mllU&TN`va|8P6)X@R`8y4emtFwr*ny6=ER~Ov?Lgl zk039Mk2U6BuD>EBkk2v9yNa=EO*!pF@8M%0d9mvVc{Q=S1V6XH-;m!YbE_G=gYBK% zA44CzN?|+Mgj*@|Gd}Z3-MBwSIz;|>>RSxor`#aYYv@nD%3-s{lxJb9YYR-o7e^-F z6gZlsE1C2xsWa(e(xce5Beus#Q;~I@W45|~$m0DIyA8-);Yxg_!PvEmo6*>^t#&7uODI8 z9_kw5;OmILF!%RZSv`xlV)qmJ0q8E^zK;3mhI|@z-w!`A`z-8oNU>`Z_xB;ZO_>yI z9>xAi%X|kmjkA?HgLtB_41Ad~<*{#0I$L#O+Y=u(x$k84smv&1ioZIU&x^2GjO{DP z$@oaKG8JHJ((UM;Chr0H=1RoRliU|_e;a&`bc2_}d6@f)>|VGA+kRG0Tk>@Mf}H4X zea$Ve8g=MOq`qmiX*l}ZoXWSK`)@423-|Zp=WS#@q4@S#o5pa@tFd?0g4dF=uzQ~T zce$^P{o|G|qkGYRWbHf+%KiByK7aW#$V;Vcl{otwF_>WXDt{jNw=QD6eap=`O|B&)i>u?E;tO`^kLPfKQM&3SX-z_XBbkX_B=kpRyU;*TCj&%Kk-a zOTJv!!Tx&ETW0$$%3SonkbfB6X7XMo-H2|B3UHMs??zHN^y^J0eHY{vun&3th-D}8 zZ0?(w@ArtKnEW-AS;75}Dnq`mKIq;+_X%kbWk09v7AvRx@p1Q6vHghr3Q*@YUFYKG z49Yg+{z=#X`|HT>?&b2Xgf4bpGfLV@?-lNx*p`cifw&t z_oJ_bya2tf7U)(ZS0P57DL+L20dnlhM4v_(UFREDQRZ9Z>iE}n6#YGvsepb9_s?@5 z;r>2+O{IJ`cJCnT>Oua?=tq%mwt7w@e>w7nq!+P!4V!B4efSnO9G87{Nwb^_Uk*MS zledKQEP7q9lloX4iR7=O+$s3;qf5hPHo8C1Jxv*1r@{-}t#1x_JxRJQ!=^3wjVT+u zKIOg{etsnByFy)T?xp;j+?PZ5vl)gd_ce9BVRgL8{rTkU>Tdp%6$|Bc?IGJ<`RL`3CuB(l+yd7P_-2y9c=+_eV)W=+byLXzu|N9AXWDw6Y@Fje7 zg9l(E%Kv3P|0JJJq`n+nJkI?xY%<|ob9vC}nTpLmQh)OM6MG8!-Prwv{J7cZ{qPO* z%kkg4Ch+$*?5;#U#dON(jgC*jz6RD0w_Dx_{PiN~`ZcbNx1g(l&3ekI$a~1o!z0-A zBQ@v#F475?`A&^fen+{z*56WRQ#NGz?{j}Qc^}5bsjU5^HRPRxehc+~jgQliYmydQ zS>ZJFJ4~*K?N)r9O$Lv6MPg- z!{%WayGmiB?-^&KAIp7J@|IxxC-OM%_nPf^+#NpTqqz^0$-DB$XkJ zCnb^p4rS9RcpEIFj$hF0y20oq_5|eFqd?PTAYgpJQ>(JgKd_uq#d8h1gUwfAZ0u zbT_&vd2Ot$^jV|;atG55!QULK_d)8LA|t!1qi-44ZmB;*ev-%& zWbsW#f3g#^dl&9ANLPY?o9G_l493&+_c2cb>#0t-w>Or$Q8M-X>Gfd z@(a-wAP3}njlfn7|$l=5}3 zor&&J?8k9Gixj)+aI+cP7PRlE`Tqf3F7m_3U9sIk{zUi%avl8LP5!CqCZijGT{Z4! z;`=i4UM6oY_mxSy*25@ipvls`j(uyAs@n#2T}~Q=&5NGIdWy5}itc&j9Bp29kb6R~Fkt#r;Z^LmqFs4(OJHjmA$p@*~t$3*`&Qb1d^>e1y?Ihwfu5 z6X5=J^o?O{bbpfn1{`Pge2KmtNxywONNQsGLRgI5uh_?5k6Hd#M&;EY)-L#X*y=1p znY*cT4}1{nI$(L{Bkv-OMAw}B9q1>(TSI%aw>d{rj@|@)U z-eq-sf|z3c_k`(AH+eTc+EGV3egfD{MV>-lF1mL392MvHGxFAubaf`bBYCCac2ZNy zk0S4Mm+iaC;`$!lb<|l8+X3jJR{vA*W6J5em^6mGUX~}_Lefz4@fp0#?mx14)~gJ0 z)+SX)*A#iH`HNyZi+Vpd+a&m#`91}ET?M4F=&y%&z|%>8VAGKN%J{hq{V=mFi+(o# zMw^ev@P7t2-N@gD-Dr3SwuVM2Td2Pr$9o%D0AB zkT((Ce)48wt1FxPi_q60?IsPw_FK{cQaSRjrjFauhqx~!^|d;`qijC+MdZa_cj31$ zx*^na7HK5+3se_nFD11^7esDB*)K_z%%2~V@3GyATpRLF1AMm-Lkm(%(hZc|j9%9Q zWKsvzLy`NLt?XwZH>Z4SY=7YX40Laje=he$q+`ep zk&hBXIh{<_+HNVk@}$B}oFo{h7+#Qc4Z z?mqIS#pSIfuM2heha*TgTHa~+%fmK_diPjAJ_tKv`vbau+#fN&&vE}Nx>1z*NP%#D zXJr6nVP7 z!%qX))06l{ZuQ=YK4Rta@$nV*pP~zL|0(zHVb`8?gcQQ>tK^j>-9?#K$xk6YfV__U zaooqQS?GqCFxcXb<+VlbPW~>+#I9es>4okp_%&$;shB#(!t2pjBITO>A#|yB{{=Sn zxu0=T9hi96*W@=N>8eKxT8v*%W&&mIMfVozOYUDJ?;2QOzES&bj=Pt<7n`-DQur)S zOu8<>W;W%fs4Th{$;;<{6zONuLGsTg&7s_#49W~7uZZ*k`EMcr#{EW^j7@<1*wvl;V)Ub74g6N-K84JNl$*zWggRT2 zcP6?o&Hv?AXIt`hZA88ko6V-b6;{O8Ozi*SzNgt$#I_Z36ZEfQKbCazRe^F3ps$b3 zI5JSqPFukFlpl^>R}=1+aK9g(id>8P)ub$Z zeNMT-=oY~pqz%+Rn7kiJlgV#{?ge!Da>O-+dtG=Tf69U)cXelzSwzYKuM=4T(}R-=2L`gGlazMJJ;g`cO% zA42|c@_vIG(A`aH&AqNyx$jHa`;jwY1IkVzJx%(J{I|*1bvm3+`V*TM;2i8H!K&n4 z%l%`X75fPFHMY3FM>mF4gY<#LB(uTT=sMkE$Ts^I@I8gRame3szZn0zraSmvzVsw)b{?w#JpfM8psazO&vUbeDcu2e*eU1&|jDniuyCcd3m8i zzZv*L`O(5)Ak!btB0K2M3}yw2atr<8{9rUm-U9L#$jt0JWcVoDxGOm`(>Y5UK8Gi$7iQrw5|Jz8%t%Ck*rZhZN=J`U?Vua_I%#dRRD; z8EoU15%orb8HM3UF5jtl$+^K5B_Z*;9^M+5yAk&HOjv$IqDf zK>uON{By0$rN0l<|F7}1@dC!7a3nTyqi&{X?1S@y8ATfU z^iX~v60(Wwe8h&c@1Wu1@Rbq?GD+g*i0d*&EM;QeI$x?NV~|2Ax5L8hjZH!ZXm{?9#Rj!GuYe>p}&ZR?{uCb-@BKlW?BCQN=fZp+e~9Td)Q zr3b@5?^^LI$D1?%&Jnxg30u2Ypingz2BU>1Ev&dz%$AlH$j^-W(~AoInO;nhqI`cK zznGbupDi~THYw%Ao1pBfYy`)LlKJXAM~d=e^NrmBpZ;)qG@Kh`xOlR}b_&(U1JS!u z{$`fiVzbl7Dg_l21c> z`zL7Y2vg(SNQgd@^+~&IMp49jNS63eaKU*rJHs_8Zg%(!gLwr!h1iXGSQNJLCQDQW z{=1znlppJ+;~S~AcJ0aGNL=r0MF+g+p6yX5w&YCzBKQ(7eE` zpc^m0-|ceV&R<-z*?FU{&W#oXGeTJ*hCenr)Lu8ooeQ@McmrXbX_o%EAsrGlLM0i; zyU-gdTot+H@A(?XG>!GWW}B-f8k}9kbW^>~*v*>3Hb?=EBRV6fKt@g=Kbu%>c9uNi z2IptzhN3zCGgC)-gLP6LdS|eb8i_ftB>Lk$YG=BZ%{z7L)W@F?_0y?rrI|dV!v2C_ zgmKIB+M5>$#-2OoDJR>4NSKC3T_E1non6H7&I=YX zS{R6U8%Mq-CqWz^(x^W_T*zP*<#SpmqeSv+#kPt)BRHMMmTxQe#)vh>8WvTMk$)5A ziFO5q8q@;vdf%(pi_mL|8w;-=G=NT=%K{I2uLrzt#dT7N-rM)oRe`wyHe9cy=efj$ z2^kE{(W_q2udSX3ZCr2q1L8YtKL=#(N@|A)F%P|oIq|!yHJ>koOD87hD~Y4 z-MwV^y|*SFWZCT3kz%u+%lsgEH#-zVb|hR>z~B_K==1)`h{>N9iblP+qkpkfWEtLx zFH;dG`P%!li`*lEv7`y@2|E%Br1Ki;ZTo1wp7kXr^1#mJb&ewk!arWVPTdpJd9-B) z3)t{gU$m&eEd;NRI(PMUqNwkT^nQba(Tqr_KyPwqbV%>_H!6SYu$LXkZKK?g!Q#2R zbwy*=@$yNg<9LnH<2)l6Gd@uhZ=TG~TNvySRFkokAe~*Oc>)c>6uDJESxcK;7rKHV5NXgOBd#HA% zI63Y3Cgdpx&(Q-_=EL|7)!Vxp%|at2-%Mi!gY+ zPIr9f4JzVlR&HJ}FFhD>O(+P2=wUr3*kjr7QiJ(C61K&>qF(Xzb z(c~5LM9*cfi0M65ATv{sReyRoJj>OldgYyA@tzM9RXuKNZtuO9(dYD`_tYQ?T(CQY z^Vwl+BZ+(HxLy07+$H(X;(^9NgKs3+dbW6vZ>%*J)NGBi7d;1xa8y&P*o#v63e-Es zW`?4A0PuXLq*@cBe;}I+E1Q!! z4g&eUU>U) zxXRQ=Q;jfsZ=Si^l1b)dj-H;0j-WPWDB#_B27D^Z;~Q?MfF~j&qwWYQqaa7KFp!@g z8~`uU6y-yr#$OWA9DG!CMin z&G(NF~ z%y1+kkJ;f|54>V~H{tx^yl_#}pB4$vqwDfHDY7$U$fl5Udcb>Z3=Blli!#v_aJ*$S zn9lL{ZbRf{iHflB-kID+GCqgL4DIrsi3~UUF+&>(r1Mm4Jvl^FbEAo!I(O^Ntcb8b za5@{poMwg2$J#Wbz3$?1rQ=<+$ZqBa*w|QokzgLL$!-z42es{{-h-a?-ycUOm(}|s zWivSfF^b+o)?z~FEQpI~$b_`N4T-neyaG-4v|(u_-y{+f`Mkh}orn{Eln*T#ITnQ47Uy<&YVzOv zbs^7+q<4$6miV_(IP2WZ6MT;v^lyDT>xo{RnpAA1-V;JEA@0*0Pu02lmB@QIdY=aU z(LjjTl=$jO9M~$>L(4mgsLxNX#6BmTV3Wr~JFbzbDaoV$O(Uau=>a^)6)?>|m$B!M zmUUKuv0_={;a{{#v8dy6BEfTb!D6|l7yHL04;ntP1clfkb#{s}yJy#p25;kne$clKb2 zQw?p5266*5P+zIFV;}z+Nv9?EqmkAD$NS?ZG={y}Y5k~kv-Mi88$EzB{i8TPAw^~p zt$#=$8kWGeJcb`fvuSM+wP%K4G{le3QC~{xcwfr66w)aFAbn)eW~n)v#xtal{Mb>J zn>?hv^e}DH4U>W1s9)NUL4co~Pc&vt|j=W=XLOTi(ZiNc8_rZXfr8z)L=>kv8cYYMT-V`gu0e-k)Ej zlfJ(1u+sE1h4(?i`{<_bj|4qCo~5?2^Qnwq$gNbA6S5A%7A}j0r+@6%ewu###AF3z zSrGJ3;+w2Gs*w2 z8B4X5$A~HH&Wp=k4f6?To$wB z_}h?|i^AI}tmoa^S$`R4huz=y93nLB^THW=)ztCXzNIlzJbq=R{YoC(W0`|RoG!w@ zui+n{XaIBov9f$^a{F2m{@7&mwZGXmQ{s;@fAcWLIcLg3??(mi%S8$gow%_n;LXAN zph`$YQc$ePgLk}n{Se8|;?2z)DqfZS?)!*dVhpvB9+ARLb0lyY{-R2ztt+(Pr<1v=&&nn7yT~GV?D!~`e*jpiOWfM5w zkc^V2igV>&we%FrRwujXOPo2q7}sa9{&1hT?H`Jid;s${spHE|6E{{M_AOH#sc*sY zF~#z%AO1DldnM#U2rIv+Ae#+}uRGp%Z7=u}UGWOfXASrE$!FnEf!27ds6Uv({fB3P%(f3)r8WGU^1&5_OV){P**PvJ!9A1*DDp~S9s)APA*Ykrhehf1$smK@YwfIsD$G{TuE+x?$_DNI8%KULPSMAe z6!*^zV&uHVZy3iV?^~jo_$N~vUo4MjGKlU;rALJQYlUcGvCb*{-WRuN7Z>RLC8d~e zRP1LwfyWH*nK+IU$#G5G7pqPs`VJFk>5WP64zA2Z^5zE_@z_(#H)xP=5F0|V`>Xd) zeqmyp;B`;B!hrq+y+6v+&y<-?(s@nI^N(>)Z>KGZdJu0>B#vjkK@`;CST`IUzR6?^&ejgu~L7R=N)ZhU-04#`o{`sLeuTuKML~B9Ns^U zYwyml_KDT|Rhp38W3Esi8@(L;^2k4tU=}N1?pm8S2pCAFa_3FALSm#J^>|MbYA zE141chqwA@J}8*4w_Wl0KP~uwy?yz2Q&*Pm`8j{Zt$HtAX0oNxLqdXq z#!k{zy?WI$;D9?|yKNjo{u>|zF_3tWpcZ`F-VS73b*(l?+QaoJwQSeA*inXvf;ehJyjg2_JA-XT^PTL378M@6np zNiz`S5W>NT0Ed(%9pqz~24$qQ#-Wy%ggq4q70Q=;l3A=^^U0-wE#3!Kod}0%;Rl}h zr#e1E86Yg3&GwI$y(eSSjK2Q6m72R&v!z{FgZ*~v+dCN5WWkx)?A2mJc?erp7OT8)S{vxjR4uruWvvtoN zvvps0Gn5EsD}bq7_&nZtBC64(9(Kvy?Sl_33hr&QP=;&)*PUfkm{+e&gHxoK$<&7GV&Z<< z3R(Iw2e8;RrPxTfxq^cQ7Gh2?Mka!1MU;e48Q7`0ZopjHnf}AvIQ4P_3Aj z9c(`Il3J|ky{ZDu)>oU!PO8cZ+~`&{R=2;xjBb4ud?)7f)s9xxIofG`72;1~G!#(& zq(7c7_Ob?qd{t}r0&$#Y$k%mu@YImw7l3QFVRHa>Su&C>V4h@Y4@{3O27JNGIuThF z6}N7U#)dzkf3=7WR{(<}15)|dsuDb8O}-FXqU>$lR7FOIho%~^p!K1bsep3asaMm0 zqX3Z%XoPLeo$Vk8L_yVsI~u;o4)_&rUNzfV_I7qR1A1BK8dw!VXi&*S3+v^fe^zXO{1Dn*y%DK`WbcH$a2uu7TA<4kPOD7gc3fY=zMgzs# zQlwj~o3tA;UVH7BdAfNo3ZI4)9G&8)#rT%r*c6+?Or9$t9DtnW2sGn(*MJ+QRR3wn zm=CZgU^oiJo^Ck;oTbMIN91WhXB4)=IqML#=}3VwQgPbT?dIwB_5;{FjlvS*?g+9v zv1=e$!LTsJm}&mJ9FhkApAC|QS3rU8eWXMxk6#Rc<~p7;;|Gw^s_`( zwlsu5HK)rw4J;38tsA=s$-}%rbqs|EQcx9j@o}_et>Wf1rxEZD#*yrU6{iz`N#^!Eh9^;%n^Ne|>sbL2$fYYl~WK=I$+3Yhkw=>T)cO9&Q-3V~rk%NcL zGmuT-=;H?*rNTEkRt@{$y3vf|<6z!10C6BN16lhY>b7q{yF(pv0cXs$Z&9?&Z0VIh z;qyX*le`rUIw37+3rpICz1g^PNb3m+{m4t5*m)3Wzbq|U!DWX8XI+s;a9B}-^L?Zf z?n+AZ;t9&_3&h#8b<>uHt%Lv~a(CwxW*1O)!Hihx&Al)?ZKIO}ah#HxhhU`j3 z?g4A!`k;OB3=SVQC)^-jpxhPX*$h6>Ys67#!7R1o?C^rkrlv%4qsotGKn#Fx>_P=R z`#D^YqT)oYVOMQW&8$9qnin=Xwqz{m7nHTWM*8^>43lwGo&g8llyJw4sJloTQtcs23b5u2l>rp1 zDhLnoQx*QF8`RtS{a{a9b24t`W~beanC;aiq&z8BC2|7V*t~tq9%rk%9V$4YzU?4J zx2cf-%IBWAlbB_iMhb_J|g>;ZkU{iQZGVYzXhp&1z zRo5VtwPC~yMy(BhYS_=W>0>a}AkukuIl*pFwK#$;9e7*&z>Vmdgs;B3y<0tbTs58w zJN0U|Z4XMl*$!=SXFJ_eklY9JFubF;d*{>gTy5fKtC|gj2*?h~4Q`#e_{aQQRoY(6O&@hl?iMAd+?S~1#{%(MU=Rt4t zRp1sU)B~v$+;WBG$w&ilz=Y^EuB0#D7RF#Z5L@RFuc;YIZPb&S7hCp%0ER%v-UFLk zt3PM3=SqCZmDb$Y0A)L@v}J$WIxf$42u(83%66!f@T546tLbEn{b zA9QcR^lCHAS}Y^%GsNYYsyX zYOc&`a#!(A@pCsls9*@{Qpob%JgJpbv67TV81u+dHM3{bzImP0-Oq0dG(r`%X5q1!%z9wL&34jp~b7a0box z&gTEY#X{XKP;NMw;AqVDuFhtdLu~Kr0$F6X1247ilb>Vw5bxn;3T>W+b1*T?v#=&> z(<}AiLU}y#*b`6GJ-d5@c^2;sn(A3#N>=IyM1Pia{Id{9a1+sb01t4tq;UP49h7*v zl0D=f%yZ4JHNSjNjB%kr?ts9u71TiUp{LAqkQO%MYVCorXTY|DsjxOmw2Q){Fm9gG z2rA;)ByeyiH(@_57VcASRthQ-QCg-DFH-~PMpq#vDMaOK?c9|`OS6DL2mzCXL}orB*0^VG9t?D zpq)i02pnKf(d$5-{aiO~s?2l8Iu9IsP3CO}ge%>Aj~&hJpmOcAL*sGJL}dzIRFLblDgm(B z0i$+M`1tJtW7%$YK+a1mBm9EA_GotNac>^PRAVdbXoZS`c9KV0V4<~x+XtdNSSsvj zrOz+di{fS&#h@|BU7#mm9J~-=A}<&S&2;KinM7K#3xuQ47{YODF-d5z2@)mPC$N5< zHS5(Ip}Qq}`+m*YbrjJmG`YJSGD#_H?B1(#YrTEG4ZtdtLFht_)+&4V9k3JwH$+Ad z$%EZuYQ6)~AJ#ua22K2&!P4!ZeU`i~C_}kXx?W^K@PV`;j|&VE3!g z_5i#cFbxf+VOP@@)6iJgv~%k=Pwj*$Z|6>@$QeC?C{tk9(D<}zXx`V{&T9*>Wh;(b z6IOd03B6A5&)o;wAs>3B>bNyD?{7ZP3@)`3tsqV1#rp^9{kk+QA-zAxKP<%nrww4v7z}@CnClgcY@z*d39e)3uH-r z%~!?a9Ks%)peL*o9rj*z!SB_%PV-w2cOQn5L!fR0#3K0L4s>lAT3Se(x?d21G}MEG zBO$jf^ulzI%LDZXuaRafruM)E2l{b$3c*(0qK-;+8mz}n1HEg6t}MKCFxG)R^a zN`)kXn7|Mykba@~83Ax8i*>bGwA+Tt0X2b^1U5g_AYifA%4Qls&JuRpUz+Zz=~-jg zmzU8K_yiikv~<$8AY@pl(l+7?NK62Ur9GBRdnOo!=7(!&Gf3~?2BIG2(gf9nxVr}z z0m-Sd?O`=(=;~nmem)F8qLp{3O>EhK&QJtP5&XOg`Uao$-Ul2=YPic5PuHk%C=O;CV6YD zwbNC3z&g-nc&*Te0dP1=Ljp~acT^FxuHVCU6-dsyJnSMLeu5cx%&PD-t`6LO)K`P; zFjMWY_iynOwvl|N-yLXbtgOV2(I1{_pfcDDh?qFtkbv-D(vFRu3P=EZ%T;7P zqWFFRQMqWDIowQrPQA!;SDdpRO@L9 zzI?D2q4-mPmwLgO2ImJA7!x!c^Q?=YL2@@?BA|myd6v#-05x$Kh+yX~(99T(w{usM zI@+6^%@7db(n?9|PC&(Ov$N$tns8}>Y(`ld+;pJZo!G=6#()aC!fB6wM?eyi348;7 z`cLHgp5L>B)ij3&MM^=6AS)=SKF5beR)@9yx`$V?x)w$GG4bPG|yK74JVpC7vV?oEx2FK+Q3x;}Ni>s2PP19C{c zej(VvA~-Px-~nhH;M;caAh1&xTM|m=eY!!;tzh2t(;gu>`yEf%ATZZ(umBoxt;A)VEU{UyS~c&4d*QBUxe1 z!Raoe@;;({T-#|(xa*~t_@Ci>b{&R@ zY8U??LkYPFsSgg84>2K|K^tT5isffSYhnXnAs?j`R@N!A1nq z0uVyTJPaMV8ohWRYVgJfTPfPooAB7>)IgNUVVGUCb;c>sfB}k?kx6(5W@C{|q5HX{I%G|>GJwLu!Q0k<}HtG$Y!tJlu zDt=8QB31g<-J2R#K^(XLeE1PD!gH(f5AEQ$U{F|BxZ@mvM3*uV=5Ey(BzQLvyUmid zTW!f95H7XjLCkV4%CSCJmmEVc<0tvJ)w!n~9MqZ|SdJh8b0PUa+=tY#SNLShFGcm6*v0jOu4d`TWykIL16*RQN&sRYV7a+K#>Lj4rhsatdB>@Y>973*$LSh~fr3HpnW6^G@n z3lruS<23lilu62FQoRy!)l;m9!v^?;lcsiuN?d`qYCEFEWUN5Zv8E=KI%os5(-z=S zLxr#wm1*~@cZEtpn+FH3x>qrPU{(0b04%sf)ec1_792!kYexr!P3T$N;cz|DjvKfz z!#fQ_MQB2h@`TEaf_IpNurNl=ViSkqR##A@M`|cAjf4?{?*Ry+Sq={Yh;;UV9w^52 zi!4=x=XZ6(TM9TAu#`QZfG&+|Dhm4Z1$Go&b@)3|#~WzrgYXQX^dp|c?`U|wu?b<| zV7lRu0x$qpLF63D+=48#L7?mmbc$Og=H?jjgw$+({10vab_ge|D{>Inv?T%~6o0Iw zD{zGP8i2hvL_~m2U;;|oC;XrXxsthI<%x9on{^VDTjd+ zgFE0=Oc;9mfZPl0WVC#vd&tWz$2#aa$_aB69Zbi;i$ZHAbQP0{5U=q#~sh1VK><4Xf zObdYq2$h0cOpGfbHy#vFm?L*$R470~_NtyLw0Q}e<)EiR6z>J>iF#xnXn7S^fE{R0 z@GGR99$UZ%4Hg(WwtQ0uk#*0S>Uz zXUkVO4g9e-+V)0Hd^q5d&F4;V4d~&7ji8Qi(m(|+5SFgPx9C8vUy>;&usE{HFhZQ?`wPzCWsw>->4lT{(Bz0JH(d4 z1{MC-awU?oPER~xwBq-Fy&Ba|kv9|bG&xyPg-48byln0mh&?SZEFj=RBxPJc!a-2C z2Nq#Cw2%McF_#p%t<6@+ErM;DJ#<$AUbd2Y>E|dAYqPPws+$=u5P?3MI}U=G4hVT$ z9FXYlEQ!f@HHEwmqtMvUXip#B(oiP$?|}HnB&DQ%W20$oe8x0Bzj-shnP3_*A`-CR z)FDcAH_yR%MB@uUp4!@FtL*6BhbhqNyIXOtRI%DXQS>3ql$N}JSq69zVvt0Pnzsrm ziBMP|YG@t;i7HUbOB>LJ(XkpaRSggew6!DI4iz(MkU9fuYXcF{g4`p}gFy$3ED>^c zGOL^Mb&=@a-zq9`865y+qxyX6uXvJ3&ZaIhCz`ABV99n1E;j+W+_{vCtM zz*JtM{RDN|Kz9mL9%SkJ1@}C&tJ^_GNWva3X|0+7((RLE60Ome3tCVM03&Vwi6jx;z%_C6Ih8Knph~*;i{>VEVG?S%h20u~tB$+7CO0>&h z)I&RBK1Ygx9bw{Dl`rC7yicoWwpSI=0F=ZG4nlQ_^uuXTTMwkF%B?Y#->rtsPUFwRQN(Jj*2w$QCo!mmX%;3*mKR8y zQzziuF@b&qE9^x4BoIGX8&IBhx}~H;e1k|0faMW0Ar1pj2R1n%L8`c7$+y(H2XY0B z5$iHaAAh^V?Wz&+KUKij2-7SZyND_xR_p|5qY2L;&r1IqeXV7nhi(KO!+&`v=iVxl z3Ug^0y%xFgq8_*x;q|ba4#VpZi;Y6%b(B#&NShsOL(n&T{Udad=~PNo&o(BLyxNN^_?%Zm+F|Aw46~aLm{5xMpj*aYi%Q=PGLGlE?6Qd4-Q9x+G zNGWz55oeZ)V5}eMa)3sCRW$~20}AyEdK>fZ6eMuvT_xFtzyOk}!!%k1+t=7~47)}2 zmiQbBr69nhAjL`Hij;wO^y0D81ip*lfpAK!b4cJGCc}J)hE-3oHjvIw0wb*i`x@(8 z=XD)Im@AT`IM*^&Jma2#Mq5`H6gfO<+I5rw3HM^QL9vrOQ9hC3&J34X6!jDsz%}VG z^+dKJY`PeHMjG)%0cSN(hG4Dz=#a~rz{f9}M&kZvZ$}H(5jO}646U^NrN*CRa;F5$ zrleI$R7&ZSIUy#t5!2g@^TeJIW32IIh=W5CH_7OLjRtYqA!zGgCXz=&LO3?k#z5j( zbKMwJ2jg`{K8>K+sJh3mn0op)gftQfI|^Cb79J82zcF%7BiEa<8SFWq2X3sgKt&xG zTH07p_GX>tSaU)8>_6HHS8G~cY&ognHeY|wB$j0?mn*v*@r z$^dYx0~Ujgovi>|Z7<_}VZ9{5^N}E!;#K)*P3}TZlGlW@Xp>^jfLvfP>|UX+=9!47RNf2;1-^SM-GD4IB<}KBw{G`GL7B%6D5ZG z4a*?5)7l&5K#}}W#uX`X&UU{V$sfkRj++B!;jB98Ta}TJ6`~5;hkXT|TTsf%s9((}`R`V%DQIeLdyOno zttd_~p{_d`CpFPO8dOaaeKUFKGEER0;c}>@gYspE6q{(bL;xz_jeG3rtOV& zzkdRXPu|K*BGLA;U{MZVJJ+t7Va#ISe1YkKxYt(=P^|7;O+=vu8(Kla_5Jd)li00a7S=N6{25Aw6RK{VgTNR}F$w)YZD-LY5v=F|^R z;s~KV{6GNuZMZSlP^~n4&r0qaI{PV=uOHkH;@sA!+9sHNg+Lge&_!+nw5qH#ma0qX z1w2_|Ml^HzaIk}UdqBl5Vy>Vr*eXt%RJMI#7TTOKu$1{417b7I)j@HlRM%HAy|c5n zvGb*Ue|Q2iIFO+L;o5buJMq;0ts+(H5?motzJGb@)x$Wn=vDUN>K&*h&J4w>VxDg6 z-u<+)qzJP>y&Om-@jK!^<_JX;^4E?79d0w~SU`@^G7O*L4`!ulk9~5Qr$6zWdlIE`k+?+$F5Mv;3yZr|f5E z2Q2*`ZhloPdm#{SKT7{2>{QS+oUjgl)us6`P1_|Vn=(TbluI|1p-J>Qu^jgSnIpd( zI$}>swM%q?U>8~hr!%o`4H>^J7Y(OO5BVGmh*qzrtxIx4EGQZEq}u6TYa9VM4+c_w z99Tw#uQiTvq2K_<=;&l8Rs7zHdnfCB?wwF%j;k!G;0h-Cln`@@A?sN{6){Y}h7W2#DHuhLjg&)8g@9TDn;7r|uYf15K_LKm!ATCC z5!B_ZH#_|(eW^&33GHJ~qupvacdq+~Y$ECb9Z+=(!B75UR*_gl;_?#JZG_ZvZ64UO z041!Sf<)b35fA-o22D*u=Gde`LU6t6uwwOiRM&sy^&V62!MqAf#bLXB{YzSNkhVEE zv7a57>gD+5Fn9#6H(~3KG4vGS1i5>`Jb?IFcg*e^1(t>8{D)D7Z2s`mU44~IX?2PL zf#zVIM8H-x*!8PFWHn)8xf33uOM;z;tm@`LcFa$|8%3WF0x}PNnhK~eCqeWoN?yoc)AtBxGr(H(_g(jGiR#>JThamB9_9}SEv*HCUj+kL1;z^Wl=12W z1JS{Yph@&&jtn3S1t>g%-3e6B1;jAbU5x(1I;Etku{WLdpnYg~e+GyvO!E>hDw-Ce4tJm? z8RMn>Wl-l54%iw=gDe$ousqzyju2cyqfGjSDoOjfF<6HJiNO5&6#+BE{4TKdy7ga! zAcTu+N9|X}x?zE;x(}jiKSjuEw$EB**td$ zMRE`-%Dd|W*L2)Y`$HQPs=B771QB0>mgQnD*a06lkT;aYQ2|WCfvlz*T-Ag8=4x1^ zLtFa<_kw&3<%i-ZYzfFcPyY#8FNu$RxEUX8C8D(2ckeg<>+vUk`%ld;{l@PS#2h>8 zY)335zP!^)1Vp3K*uIoWWs(wl&u@4X%D#gnb6ij=>*`2SLVVI6_&AAji4W&tM+@xI0=0_T^UBB711G)yYNHUEO<5Wh_Kufe6Qki`v(4^11QOHaQ?o+T!L;T<)rK- z9*RE&!J6hw&;ZW!Uz@WO26f!Q-ge)6kzX%3a!^NVCA2c}bTkY4P*H~)nY9vg%mYX- z+G@$i+wFW=+XhzyU@(AVvcDh^akLo*ZV6<}Iv8&RK!)B*4mgh-g(nBx*>fXMqKGeV zrSf9%LQur-vI&qz8MY!Ug54m%yo+_49isIlaiw4s8LCX6Ef&9;!NyKUNKs0PL`266 zz&pMP0dOc;-d`wsm3-n7co<1KkW}Kfy|ZoyEh$iRgtDA={Nc^TV$A<;l2scVgpn`6 z5n=~&K{x9@_iA=;-oTx++4_Fez{zxjeEkmlnCF3z5JSQn@~fw~9$-8q#{Hpi6Lw+D z;&Wey(|tF7F(|MRNI>Rm@J8~rc#2sd%0hf76m&}O$5HFU8 zm+wM?FnvDqLIluff6J@9fzuNH*PG{IG7LSw28wMl!FNxrI)FAIzU6r&T#gT`Kr{o% zxhPRXRxS9v3a$CTmJ#1|gY^mZidL3K*WCiD5eFKFPNLjAiijKG+BCJomVDCfas5!s zqg|mo;4TnyFl1^i2av-ST0+Ct1q1k*>W_A9BtTeGA7fmVAH>|FU4ov$s)n|Lkg{+K zt1g44)eW(#018&f|Eeb4M&1hzX`M#j2i?$ry6(@F|HSjw-9mP#>#bj? zC^W#e4*+irF9N_E8}!$o&+u5~bb<2-dk0d)$nR|gZ!BTA{q~^(k$qa+4tONE6ZA** zHWm}S_1=U;xxYo%Y{BYMk{XN?F2FMwSyiR*i%EgoYCs!49l5IQDhJtBr4QJ|I2;<7 z?3I_g@I@I$|G`o)z*u+)Fv+CdPSu|Jx$@P^80ur)eX_cI4QyFeq5ApIFM-VfkaU)Y zVF=3^7qAQP2@$cS0IJ|3C1l?2E!zYPa_FJ0(M7ueS61tZV3sF-Ex`mP4(d1|(CMy2 z?kQLX5k39=BLwbHj0uneF!Cbwlfc^hx`FAAgr1@i=-nP&vlUkrJHSQ1C7dwyv%j6% zMc@d|fbbo{28l|>n#6`8T-g^EN@g>I9wWof9;^{G@DZph`NoxEFgy8J2GELD7B5)r zr|Z))3IoE(_LFqtaR3zrSv)1pz~1(u8VsoB`KE3Bo*%tg=4l>1o?dRH#ijbgL-~m;`rJhf;TV&A>$96 zR+@tlWC-m;5UqO%O*`>TLC~HOt_Z{#?8UZNd$AWtjx$H}Y!>a(f)cKjl)@7v2yADK zReC~cCAQ`-fhpBaERC)=F#iT|iS0zwPN^Nv3B(EzrBM-}Pm@!NZ@Yr0mnP6^T7Mtx zC5%GUxGtemS;vg2qp-GPHF;HOz(awy+Ji8DGC$&kf?BWbZLu2KD$pGWA5`gRUO*Tb zc^OO_bb*1fjPpR1&@OnGlrsRM%rEF;7fo6Zw|v)Din>q(QL~P8;}=?H%z}9VmQb(3 zShN`_2IH_E%Qmb|oq{z-?N*C#k08FZ$j3<@M%Z3lrtGidS))a*4jH0?GoZrZa`F57oL{i|R7%G= zy~fRZw(oB88aC~Ge$$Q}fA+TR+0`H$_eGo&Y-@6?+Yloc`uG={JIO-0Up(u@7W{$Z z#undZBO4=QFaLXu*ojE&hnE-msuvlRiWi0^8%ygAe0Mq$?yFlzYl#yXk!aG1+&#D@&=soNK+Zm9wYs!#=xan@cT zW5TDjK4wN~IcsYfXjQ5!Fv=(BN@q@E3y+ZJwt8Dkj!g1V&dn>>LkR!VhLG*TwQ*{F z?a(2>O9+vuA%@|X4Etv~0z~bE>}hRRbV-4oRnQq2Q92(0lwbn_c>w?L8z%L7#Y%$- zrpOH03{1Pp8sW%|`tV7TizhX7b@f(BQQ=FRZCqgL+JXazfpp^}aYCD2uv0LqRi9J> zI2D6fpg_cM#KvZA5xDunQi9tT?ZdhSyX+643ClA6$L}8d=U09kSTS^&KmQqjyfnii z_*dY4JItTeWk-KjZN)#+TO2jOdTqDCO#TcRJ2iNix~8rFfy1#idV3*p;q8lmZruLjpP!Bx_9CJ>{RT3cVv~_=r?KJ@?s3+D-ds66 zD)fBuZCX$%4!W( zjfG0k3-)GcSg#OCY6THZIq4nc)>}Z}Hi4R!i68-t*4zamKKzAk8fBL3AmvFKG6Mo~ zz81ucbl8Nv99UVu@XU!8vO8SfDWuvqY}&BKYF`)YNV#^ z(@AgyG13&gUf14vuRu*9kxz)fVLn00G%1`l!=*D0E!{<+^~g@zY=CV5O^#K9ULJv` zc&@ETh%$QF_BvWx&w<$&4Tr@;w!GRj9z(Mc6d`Z^3tTE&aFtIF{G}D&pWb`4#r)@P z3%b-R;J?g&l8fe{5Yf?p8Pb__L6m)|Uz-BbCc%aOq^j`KW#|}dlnyq8_eRKW5OBUe z7CrJSx{7FsYYx^M8c52e%h0FXton?6l}^*46Vr-VTKIx6Xg^5Q5bn+XbQy7%)hov( zw_S#i&p?IC^};WtYa$!iFKHR2q(XXDxnHGwHN>nqq+NugWGkyONLg`4^fNT}r^~Q` z>Z*2!q6#wCH$x8gh43-;Ml7jV#qq}85tvsC>=xYCdDuWnj#2D4cI6F^G(Z?NBj%OO z3=Dxicnk`oBT$^^d&83@WGaL-h$vn#PY@@uumv`)Vnxjhr;oql&rQefy6yYxEUQu< z(sMl#d8}^VD_xK5-qlp+BJ|b)?LwCE#AA;=QTN#I>z??n_xKa_zx&-kKK6&l9z(^t zJ@m)}*I8BXcXdzv-h2Epzupe$$LgA_xQNavf8nBee`@#s1zPOac=K;v`}ang_eJ)# z{p%wz92WZCmFV5_>$9KpF2aT|J+7+*+Wq6U?K{vy{}oc@AEH@CrOc(1KgLEEdx|}k zLc|+5S(+?e7(Lyem_O5drSDuU&63`GBWE6QO;`WMMvLYCyR&z-DmpQE=w3c_Z*y16 zA2;sa)bxyJ_iHRYb2>G6E-rQUu@1#mz-0)TX~#E`?>|vU#nOXki`QbK(JaSTDHO}m zyK`6gUJo3HrvqU9n(~G8SSksJI(RBgp6m{PEDCzi!?v6)OpS;aFd6x%Bly zS!QPast;RnoqC7)Y&AmtBiM}RbuU&Dd;`4A$+4?70@F5Nr5bcw%0M2}Zu--K`>Wg8 z?fjGNcv4oi<5uI^KDgcb!+e;>aXbIw$9a{+(7i%xRXZ-_PY-jwb`N~1N`j|$)iVGQ zngk?Bvo@|-TYKn`a>Mi|iaph*)Itw~6ZN1b+!1!8dUfFJ>*~arP&T0Fxg#)gGnSsb zH}O>r0EkC|qu2-Potz~9anT*nsuXfju3WL4>>a+J>5HW^_s_jAEg)}3pjG+D<#y{^ zneaBh(C7{RnEQ6>R!~vT3@f@BUaz8sQl3{?9zErtLBu=v?$DL`#ml3ohx&)6V|~-T z0TkjBoa&8Z;dHyf$I=UT`p$VZfJ8?G6s>n|*#Q-9Y|MYTs5_!OG{wZw55@9q9_Phv zL>-M6%`P0ze>Hk~6|CY2vv*2`%y%Wg57$+wx$z)FKy+*SuQXd3ik}L~`Ox@}qqi$l z;RA|z+R&QoKkkZrr9@zBhs4D}y2<0~y3MNuhBhgV7jAH+M=y`{)Y#eDknCkoHPW@r zj<(Q+S}K=Ll)iRLGV=VS8&=Rc`TGF=(UP4V}+Kk@430@Y^*XY$Ni zI?;cLzkOdUN#pr5#mo7x(qqgkE<~@C@#bAXS{|+-(EW7j#K4D!n}P+!g;;Xt+WZ#- zv#d~Dm^q$bK|bb)cZubpC^vjaNm%%N`evvUn|@{b+R*KwP4skje&}}kZn%vQMd%SU z&h7XNm%VSf@OiNZt@xmPW$}LU^~6^!z%6EVvDlx8jY_9M(wn}PpW&|ce&ZBH)MMH0 z3*$JnoxV1GGYz6>y{Bv0zz_L%rDN0{>&YZboFIe$o;=VS?&m#j^C#z5lBF4tL&%WM znKO5(uz;5f<)kmhCuWY93d76N6$qlGuL>!}{xpa|Z(`EkpU6yeGI3nq0w6kG{x+fo zvjC}Bre}8T*|L?bv94U68mq%OwxLqsrm(e(3j?#mZ|cBGlZm&Mu5#CK>f|ZK1s2Vm z%74IYo7sON7bP6wU?Qg0Tf8~=8Il}YZQmz}cPGZ8CEm-cnz}lVqXV))@`3*haK&2# z74Pxid%48y>HdtoDI(4nj%WHRQ|4dx{_EuDnIHaTxw04d^Pkv@4Egr*Ds4#YVaYA{ro*cxdc0(M&uWF@q;&?@nYn-wXN5vXXbExR6-{ z;f%~eigTxvJ^RJw;#-Q79H|x)=J~NoxO${4&HyHX=^?fvQ-tcsh<9dh7LPV{b@#Y&2H{ z54bpfH*`CHY9Zc#PBJ(mOdy{oLjWAGFvW|V=0vh2{?+_tJud`p3Q5*)lfIj;lrN0U z7R#fz3xybv;sg#P``}#1M*Aycmv#Jl28Z8FUnC9Jml$5|Ta1|4a%Iri;SJ2@dWJ8K zUoZCo^W}P`KFQu=Bf>+ORF;|HkB6>EqW8p5Vr1BydpC1VE;EZ$7bKDVWavAuX0TEz zZIJs+U-A>vdm_HlJDiW7ocgeHR&ffAvEsxIAv-lb2Px_O|mFQi}YdW7iUHJgnbC-tm$==@i_)32=`n4&&S(+S} zE8OrC#Rbx6avK}v3~-+h_vf#h^LIg!5Gr9e z+?hXN7N#f1WszNiW7xE(fm(PP<@BCN4fM|AXZCD%c4j0tf)1t%%GVV4lAqad>tJP&(goq){Gm|a%nap>EvgyroInvRavfq1C zvE}g*Z&~yq|#j3J4Ae-rC_Yn;f=q&IJ|U~?7CJx*4Yi>M$s+l3+$1% zhbHr1ktlF=I*+l=L-h6%A`Y&uN9S?>q0`qY%Y{_mN5yOMnfd+`(?!xbpiy862xVOz zdH~gu|EhNU{>*0(I@#}VRaMZD^KI5VOniU*r)kBPJNN!>O+{t~!_ta}_OH{U1P)!* zqgHefl^YfNI$~Ml#B%A)`f!J=#~otptu7)@QB`ypX8dc$D_>q%HHe~F! z>k;^6-s-&=F@6doHa0{u^9Wq<1#PTVa5pwvn#5tP#B=o~HWR(iH>(tI!e&-_-yeO) z^bMTrU09qwZ4l%Ik-%XCPY9o7n^-*@%4E}B8OFXG}DSkcm0q*-|##g}n^}jQ|vNU7*qUj$^ z?|bRd=uPPzT*vEX_AWp=X-i?nm>B=4FfTczi_Lhvbgg&EL@RTjn*NjHE4ed(y_u`i zZ)059VS<{G`H>4VD?^{<&ZMVJ|J%{@{Du#6DB@R#s@z$ z$?H?a#dpovo2i?r<7TqlpE2B(6FrH$AXntjs9ZQ6S_@FOxkX~ER{k#QNyQ%oiK1kZ=9T58tH)1f?-0yD$N&VHxt|^@fg_ym&EDxd zNx1?!fd0hbN<>-^Ad^&yjjBLp zti)I5maDhbKW#9T!r=69|HwQx7I?A2(58E0gPA&4c|AWgdO;HXAEwG?@vYdTsocuH zYliL(r3G`75=r)w>=^nsGitbxKqi56p@1Wnp8GxxcA_#3KwK%{DajjipF+}x?X9|s z4Q8;<<@~Aj0F08@gU|&`5F6-uk^K0(OSkH=j#C$is|H6iqxB~9M(iDIJ)fHfHsu@u zzkaHlN`!pDmfLNG!FJ2BboG|&jb?84eUZGEoGaWmWAll(;#v6_ejTs$21xY2#VEKJ zQ=Xa_GhByl!>6<7K*WkDWA1y9<8pd=A;coWmgyo%!L3Ld?I|;~ zIJ_bkySk*F2=AckWU?~h_z~UZnZEMna~IFuj(Fv>#T!CqQ44D8O1Kklaa&p7rVuC0 z3e)mi^8Q4aCkZnxW6K!_lwDKTnqMh5#G+c}Q(=_KIa; z4;>SwdmYq2InywUs0FBP`LZ<)Y`$YDwSMo-_$g0Nm%fBNa^$?IUP~e!WUywNjaL{v!=7X>9XbpmcdU+_hRe33uFH0k4*H9oD%YAQD(i{y3A3rNcD1eNX7tmH@!H|G7HVxtXDfG3NR&uv8{ntM52-JT~dJ zg*J=c00&RW3J1v>5{oouD;@7Um1T9qI1_))6f z{+ZK-vQG8vdm=ld$-zHGe(NP}0LpwwwV~gI4m6g|e>A*2w+xcc4PbSFcFt~ps!Kvw zE>bMbK5{4{(L;;;8IJDjqA$7qgAYH1adr{SXlZfE1Q`f z{FW1|&mI~meJ+%b94>M_B#y!5V#$(_4q7K9GkiB$G~8)&DJBXj;mnw`RMN^)viKpm zV`1gbmnO$f5mA`2EJ%!H0IAVL;*I{?;-VQo4=y1+Hr;E;tmZ$;B_tuNBy%X%m7JyM z*be|8%p3e{=v$NgZn_|6eP(5r1Bh!khtA}5FBe6&9YDSKlMrI32t-C`*_6#J`b{q z_p|f5;;*M}8sY+xJ~0szImgn<1LjW{(m<4h8o7{8@M<7#%#9_ja-O6N_afpyvsBAS zmytfBAON&?Veo`W#bY1mQt=t65k_ueFGI>2OS?>Lw@@-#TDn=8C>2e#R4P^`mTqF( zLZDDc<*>hHDS#GyNiAuFrwp&MHJA_@CE3%ToVx@uFW($Lkh1oTmI$51$r?5m{0Ipn zI+)mnVnWp)JgBr=An{Ko{wZ(fv*DG@^z=2JfQX5IG`W<%1f1p)b_eHEh(%FEnF z{GGi!Fsnd*m42!O&j6kX@0NAlQJ zRz@VMoxbbSSA~EdTkKt;93f(u8oe|O!glmht{<1oZ8^P6K*7Zy*_7!oVoPT5eDo$q z3Mnb~R=uYxs{OT25d|Got;qWDD?%px=Asp#u>EG>qu6+ID18BdFMea<#N6`u*GS5Y zlAfk`BhyFG605h=v}>wRZ-KxJtsK}BB|0`L4F#7C23-s8Umb5SWV`P;|5$!nVQ zGov{XcxkDt__#J1jE~>1#Og%`BbQ2{-YgD}^_bY`)CIu2(aYHwBpb2hzz=dM6b9ym zg&}37Y7MF>DJ&+JI-8H4RxCywJau|xl6R!}1W6J$gy|neIFie+u_^wH7!ovWvsAY1 zjLU!qC17TVXh@pVu*Q>+>Fg+Cgx%1J%3Keg8c&X8hfb0-^lDPqfg8@GXO&zA=?`vK zh(>BMIPbqQ(bJ1pjKJ)n!nyDB-)5$bOJFI!97s-zhL0?gpxYr4y;kS(TuBZA4K@q! zMee3J*)QgdNg)#?`*P7fQT;^B@cmR4EeDI^Ni&=8y#^dIo6i^VGdveR1y=jM89ckx zBjASzr#~TT$t+ z5e{GOQh%EpFiT~imY%|S3?eq_#GL|an4v^!VS4I9?o+G|__b~D^88bG*D;R_XK=^k zVz$u*R0;)E6RlfRQ2@4n@?vT%Bb`~n()CqPV|ad>WPh-r`y{ZZ6Uh= zX+v?UGGP)$psM`I@m{%9an%23gGtRnATjjq#245&_^G64Ay!Tlk*Ppgr1_fUmV{Vl zk}%Mg3RJexdpI9Ur9PNi1aCV`*-GwYY&mruQtY8`k~ET62TxGQ2t@HkU0MHlO`9}k`~eb?s)&B$UbH8P+2 zF4i|bFXuLY65^(4)g1hx4jy3BH!F7q6HVPB%hdZdZsqa}!eqC=TO$ZLO}l0Jq#j%$ zV1En?dX3%~QiN;77vDdI)sszW23w zdFVfCOT_`X2>Rol z2wFz2#*^b`K?+mck^gw;Z$`|}^y+bKWecdit-odUmOGr}0U%HIovG3Mhadz1O5!lGLL|9eI% zxBxCfZ&t+PaiP_RTzqty_;^M{u=VBFr!JH)z{&!qD!=C9{u&JQ^5AI1tXqXO)>Htb z*D=zV%x|`onaGQLj*sw2wbTP7xo55Egf9?O|Fy0E>jyU&oMy+dH0OeZl0LfD>mRLr zPU40yz0nd1HdXcdBC!UZk`c>|iM~009ir?0#Nz##L11xy*pqY4N655hKAE}ZN~trZ zjM3c_(U6=@pM(UC{knqqsa&EeBlgCsjO_P==c}5+z^Wu{8D+)>dhl;}NDS{Bt|00W z{No_{!1tMC;$3V&3W)nZow?R`9qcF*^S4u<2^++lu~}L#i!zb7!jmzvk;I|wmf+5{ zTU^Q9huSl9e}Z~a()K_fc>Q=enx&Qq8levgZ}D*O7ZdmVmS<`>Vs2VONf?-EiNmh$ z{`}o&PDQnp@+nGZO;?^CgTd2rXo%ew<5I{muunSNb>OeGyLSx|H>{AMxuf;3t#G~2 zdM>*kV1rAh`*moDsKV8u61s4<2#uV!p^!zS1A5Do%b~d9`5Rn+l}r^U#xuoe@V=5PA#!4r!gngS%erg)iZIkPaHx&bDsm;jQ0wz&gf zx@Kmv@7xA(^$v|Z@z@hj)IE!D+?8(%nky$`Z=0zP(O}{ZE|p1a+ohYOV!S*BX~x*n zO`EVe!#~d49?NEj=b#cfIq_Zj?7|(e)nj=f;r;I>&*Ytkhw?8%LBqt{^5QK?47`rb z$Q+@cm?(V>G)U1$EbWA3N;FprwNMkEB>_k?8`cE@DJDQBacBJN-udjXovML%^BFU8 z8l=a_X}<2(=Qr0q2O&uil8XvQN_uBMkDmg2G&TR@+_Fjb#8;9%@=7$QHskqR4$PvE zrTLVQr2v9CGWPYLQ;P}ZJ1lez-+G|yaa_Z72!$=5GMmTz&gLr@4a}}?oAI;r3!(yA zI8#jZzi)Wzg}@sB9M%PYGvfo($_7^tkX<8hP!pfW|+ zM7ogX3iTpYwwJ=d53qmW`Jq|GSQM@U5M*%YCkyCl;0Kyi_I)vT+00c^e`CF+t92|M z{x+N=1V^X_MLV*eLwTiGses)W%CXdEC@21QIUTM+jgRDUD115=AB=(;bbxnQc*}s7 zT%7;Ll$U3&jl7!~9lI=G2|FdW%r^#}rm9^vAWpTys@TQzk(`ZWOaaI%E+ERd6z(lyFj!v*(k#sImlH)*`30*WQ1^Znvx(ppT2q+na<(??XfGTmMN!!l< z$e*Zi2xJzccL#4UX9bt|-7J)E_wi;RGNuP+y|L)<{f)UOe{2?wXaHBS_FfIO$4Z*D?+%YuFqXcUmDBe-N;Q(y>b2%qD3=#di?9`j{+)~oW2P{4)gXS z2{70vo*DRo)DKueKvJ=KwZbOgh_8k|q!bJ5Ed{?9bHS>7HeLEEdQ)Hvgp;Z3<>cJ5 zj3;rac-8PCDn=$`>6n;vMZ$A2hv!@>Ga;-O4W}UbjJ+WUSzd`|$rKI(LqV1SpA{Y& z-!X@HlP}I%C0j z%^V?+zDvOvO~}s8lRwQu?4=l-(}5+}z6Bx_bdb0~mNb@joW+h@ z89xiGQ%+4xl-?b?g~q8*(Kw$fP66@aQYzvC95SVOl1lf?p6r_e9bh#ckR&Y}7dC(v zh?1B*54w(w0Taami%cdzja>zmQk#QiG%dZsdDBE{c2ZTTpTCtFFgsiRqsdT_LrRQl zUz5JnAB7BbWELdH$ZY02*n2Hc6mVJ-cS;v_wjAl&*Ni}en8Mp2sQh~>oD^xxL;QSF z1CYtyT{;oeWuEL1l9Z58kG%=~#zz7ltj-1UM(7vBUS)CxmUz>B067~dlD>tZ z!RZEyVtj^gFTP&!vSgphKEs(gwg83w1i&~YR+h)YQ4LhiUXChC>h3yDeAlnLLhGrOkDr#>H0F6!wAmGJ{^Vu}<@ zwLhTUn;IKm-14AO%6EfaqxWY4T4;+;^Kk8~@Im}-a02D`qgRNL$7YA$9{Y0UxE3n^ zAdWG@<0PV|6U!pGuf$}sIZ5HECNm+c3iMk@5z@IDkaY@C;O^bx{8Wp<>C&~tB@k}8 z55OeE@22iKM&S>C_}xF(J&v!#oR1Bi6kOid*L!XHhUx1A%>arttyYic`$1O>PFLO; zxhX$@*<9O9EDwV#_%3+Q?%t}*uX5OyfklC1idW_Hh>GIL35<>PbeTU@=`qvSmQEBe z*L$T|P(aYvW$zFX#L{m6PeZ#$eGl9v-Y#5^r9Xc&I$2vRS5l=5JbC2hIh!zvd`H-% z%zemH=;s5*ltci{vJ3>_ihsK08^Ud8JxHz*iA;ix}cqV_(?w00t;I4Lc>P(JS|nf+uIqwj!5= z07T$lr65luY%E;!O*RF{3GE>%g?X^?607*7tCe>RFBBliF7vS{ZG$0=dbF!vtTuSu z$>K*0$v?Sp^BEnVjAQqv1~~v^ZX-rWR3cbI%M#8msTH}QDG6mca^tu>xlvaLkdmz8 zX&tM#i{4FLGgRV% zJx>4m^hF+C?s2$Td@+B*;M(TU~Z zET6$$SxX>Pey=o3HE%_XC-~YVYgl#t{C+6W%zS*R&rId#78b@uS5J~J%q)8~67H7a zX7;t<7aq zoPzeiB6sja-*q!}dtn&5gsIWVD@@{n_NV;%__)X+K>JMh786i-QYv9-A5BK@_kJnr zH2Mxvt`Zm>a0Q++OQ(8=%-kgiB58x>A6S=Ict88Gb|E7U!Of-|ADB~GSdt`^y_$nZ zV6VP$BQ{1qzuB`<_A~4_#9)FKF*R5!JMWuH!7qX5&Qe+Xb>xJW!fRA)S&94A z+<|S#E=spd2;wE1OTi3Sp|ZoT5Px913je**j#2tBUx#TFk3F zgT9{Zn<~qC(f?6cRByx-P>nMPPDylvUVQw2!=Z`v?3xnf^L2zQ3hLAS$?EE7Kc~2| zR!LCtqx=n`vgjA+N&FI#fE#{rZU2+=4^_Lv1}go{!_~GQm4B$pF6dUMYlqDNiRpq- zS)Tn|E{Wyzh4?8DhqUaFi&sN2klF=d8!^A$48{`6g7obt;JuoO@6wm%@5V-80yYhe zsr?!}>;^taT_?{4{^|Zw4?hd13^G`7w+;k_C)k>6nU$j9N);hEn4 z=-2pSs5-)QYYYh1CBNGM(PYDUQ#mkdhf|N#C)ln zkXbB=Y$)?aE)QCnd6YU_JENCV-P8pX|PUH9jdITfUTv3m^2{Cc^XYk z-_}{-^9C!F!ppF6#~d!1=CD2p8!#c<;hHx&R=EfzCZtVsUuq8J`LT4+%Bgx+wN7;EAAA(0C=fGRi7lYB#oA^w%e105i zs+IJGWGTJ^1Dn%Bg{fO0WzL-kXVtjgN61;7woVIRUMW&bUxIJI2Y_EUAPb`m4-!1= ze-(zxhzNwqEkb_X$F<@;i9~K6$}+G=C6*2=2dH~C&*&R`HImzl=jNa^lAb<}rTKm` z9ez93b8lUXNDk3)x=B$;)JP8h}9~nCU^AvpQoAZ+Uj*~b%lKUFoAn`fIJ~7<;xt{1v96b>BRNzvI z%U~E}LX-E@j1z3%`p4rbVE*1~v>eU#%q*6!al0Z`!Eug{4CGUwr&Px^a+7%^FL9q1 zkuNND$R}#-`!v&m<0{D62p`=5R_0rfCv|Yad;6j)&D@ZR|B@NG?l_WqvL3*Jba&4 z_wWFjyFGlLz|DQ2+pEbAr#>BgV=N0yX1~?#@)TVr?k~JO`;{mqR(-Y`^=_p;m^@Dm z!!KvcH@qbi+7@D3tV9K5RG^vU#uMNG0d>7Oe}1AcIGVq~lVy1N#R?|;scx?(ogYL; z>3o%65q#Nx(RaGju)c#xM?TH%)#PsVezY*Y!Hl0t+!iW)ZaH&VWFuf8gO77_7RJAZ z>EWpjPz}LRcj~+NySQYM1a@$bVss3-C-{*Bc}|l#ZfGiIc+|MQ*hRP%D+3}l!Ywme ziGgte=?e24J~{dhG~L9gklt2qRgyj%BCv$2en@g*93#Yli*TXZ3f~)D3fZUT!><*T z!%~@SrxMTMe4atM$Ch9{@jn3CmXBiN%@<>@Z!mJIW)@*OIVHEgp1I|y>;?|ae?@8pB5_7H7{4~gkbjVe8^roKzSj!}hbze4SXDWW0lh6ME7`^6i%o`EyN_o<%d z)~&>9vvVT`jWnW|Krsh9Ql|y(Xp*dJ>rmdYrjnwT z0O3@3QZF2tJZPQPa+)}Wbe523axO`$a08VQ9E6*w5(6P>=Xq7{91!;~i+{3`>(kjy zRAM5O+iSni`=IVef3UO*pM#;fCvo@kyavOe62Mw=@DE3BKQ5GXQ!0$jrY~a4olm_zk>%c+ z`>GJ-P9xJqeT;*OIzA04B~3j@-VwtCLXeOVc7z|et=o_2Z4+Nn&Qd!D%NvsIDifFQ z*p6P#{V;Vadq*V$?29xI*e?M7Xf~L8`s9FQie$d9`#^=%CWS|q4-+$Y_vS3N@{Hh zbD_5YZL+qk7n(l!?ZBTXT*gJu^~6U;&L?ir$$+#J;UEYQ7HQD7)emEd;>e||nRh1c zuwwv5e#MoXAeCJji6r#xR%fzDr(egQK{%c$yiF`ajtcrssCCGtgPK|V&}j-;#0gc4 zKQ`w=!*U)mvG}yoHM%l`j~~ugC`*a-pHSfqT!ZO#t7h|%F~KAx*TZnWoB{U7GeImu zGiPv3$OF>m*_1@U)gWfjElBY(4n7(E^WCRDAx@*`wj$;deEi7d68BYNOJB{tr}O7M z&OFwwB+?hl7ib_cQGfv@&PR>?N|k&Nbpz`uJ|s$wmp$$ogtC-RpgQ`NL8V47b0?uT z@hD9*GSl;jp^S4&Mr56JBL&9M0LjlfimXP%!f(jlp@X}lHigyUWodBfJ$M#C8_7Fi zYIrBCTvOiD6nkjbQwz=6g%~(u9w1O>XEJ@gQTK76dSBa&0u zj}vz{z>C{`*%Sp+iQyGn08$QNEyeu=K?gG8DhlUG7#htN;1R42CX=^NWp11n!wcg7 zGq*f(B7G_P^$3EX^v`#@|0KQ#1KQVSW zbx%~aP(#9Ccw~O;tRKo@J~{tk>WnGOgX1HLCOOFo0*kbipTC^{uridnj~lTs;sw6_ z7l!EUqyEgWR)EJmT}r7qpfm~wgW&ohp+EtFk%k>3pjRL%4J240rISKfj?zhTkp_Br z63c0!^kg`y4vM5;DBbsoJV}5$9rZx!QwCy!?9)o(p|nt)tShBg$+1>gKc zv|-F_|B1nAaiZebf3ApfZAG4}9eaQHDqH9R`R#)>Tay*El_&X=8aPK*g%yc(1Tk0&qW$6c{3CSFnICRq|MVyqmAe$I*ZPOr;Vi$MJDXN4AlVPgG!ZCzD0 z$O;e|r+}5JtPx#iuvRiei3Q<4a2dRnzyFv8`#+eW>684qVnHx7e*N%v4q8DkVq5K}s&A#C~oqNlqmy+p1ahONa)um`C#eBUq3nG!Ljl4nWZ};pGv#~5tXQk?;%)^ z=!y}KRUC;p$XfUURDDTON65piB%!M;@w+?;JQ~ibEzN2R04MT;oEeYrs!p^0+-2gTpsFMkg+$)Jw_=<`$KfA%OUh6cPt5kP!`>IS7nJ5 zo7xUpM`_4)m|RKRpiKx?O9)PQuZh1I#2KVN-QFj%v@Hc4aVILbgk3?w9CZdFLgWoQ z2IBGscA!2Wp^;nJeiX$7+#T~(4aQTUoDo`+O$h6}0+m~AROcUKz99BPbWuS-B#>AP zW&s7P?l7`jG{fflfd0EMb4slNSt|BAN|cS35YkAKBqY=&m4fQ1C>CPkf0CZX_U8TJZ)4Etcr9m&J^muC9Dv0gh4_y!Dr@;wM` z5k#9V%MxRlS_bxn8^nMqmT8Wi>!GB-CR(C__0%`nj}hG}W`M;9dQZ$V=w#wulY1AG z_BZgM==--Awn@i*wUPzdl@@P6Q7ZMWgQ-@Fl5M@&_ zA(n20lNb+Yy8r4})bK(wN)k?Lft{cEE_Wura_((W@G{V4?u@;Gwqpg#ZT-PJs^8S$ zy;y4Sv)E^a^Na>HKZM1UZy7RNJmP*1UEzleH6}o&5`UK)h+7G4(1+tIByENg^GSJ_ z-vWJ83^{WjaZ;vkmtXI{3}R;SoL+1R%#SM<>0ns7=zpaUdDI6YOAN*n@zPnt3q_1@ zFhoi|Lzuf&CH9wyFV#7S^_9Cd^TY6uSPv>Vt`) z*c~dL`x)pUp)pJH&Z&JyFI9%w14-MHV}3Se|Do)`&$92;j9x$p0wiFHz$;9XE=2E3 zpm8;n6qSZe(r68V06r2kCHWzwlc?)n`Y!nyo*cCfo4uceZB5}u;s)1(BvL*#d4)OT zo@AaB60o^D|2ErxmCphn80X_pzQ^bN3ck76$CG1{DRW=!hu2PKI+lj)JjQ0@iz*NJ%iAe*COBiCG`^z+IptX=&(KKO zDS;X0uky}xuX_S#L1nqLxzFFQE(QqW31cC(2Xi(L>@=K9SQq4x%2)UoVP%99ne;4=gM)R0FCJrebZZ#73AHyf8TR zN$POPjB6C+wRN3y-P*c8HDo2RD609TL)MmVq}=9e>dcWV~Ty*jtHnC2(&?h1b j(T|i3P7j=n&w*|NLJ^Ev^^G!5aArl&Ay6X0wf_BI-i2U` literal 0 HcmV?d00001 diff --git a/kronolith/locale/zh_TW/LC_MESSAGES/kronolith.mo b/kronolith/locale/zh_TW/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..39979b41b4f46b1e0a9d0e381b165efba5c8c4ea GIT binary patch literal 157232 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'; + +if ($print_view) { + require KRONOLITH_TEMPLATES . '/calendar_titles.inc'; +} else { + require KRONOLITH_TEMPLATES . '/panel.inc'; +} +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/new.php b/kronolith/new.php new file mode 100644 index 000000000..e60210788 --- /dev/null +++ b/kronolith/new.php @@ -0,0 +1,81 @@ + + */ + +@define('KRONOLITH_BASE', dirname(__FILE__)); +require KRONOLITH_BASE . '/lib/base.php'; + +/* Check permissions. */ +if (Kronolith::hasPermission('max_events') !== true && + Kronolith::hasPermission('max_events') <= Kronolith::countEvents()) { + $message = @htmlspecialchars(sprintf(_("You are not allowed to create more than %d events."), Kronolith::hasPermission('max_events')), ENT_COMPAT, NLS::getCharset()); + if (!empty($conf['hooks']['permsdenied'])) { + $message = Horde::callHook('_perms_hook_denied', array('kronolith:max_events'), 'horde', $message); + } + $notification->push($message, 'horde.error', array('content.raw')); + $url = Util::addParameter($prefs->getValue('defaultview') . '.php', array('month' => Util::getFormData('month'), + 'year' => Util::getFormData('year'))); + header('Location: ' . Horde::applicationUrl($url, true)); + exit; +} + +$calendar_id = Util::getFormData('calendar', Kronolith::getDefaultCalendar(PERMS_EDIT)); +if (!$calendar_id) { + $url = Util::addParameter($prefs->getValue('defaultview') . '.php', array('month' => Util::getFormData('month'), + 'year' => Util::getFormData('year'))); + header('Location: ' . Horde::applicationUrl($url, true)); +} + +$event = $kronolith_driver->getEvent(); +$_SESSION['kronolith']['attendees'] = $event->getAttendees(); + +$date = Util::getFormData('datetime'); +if (!$date) { + $date = Util::getFormData('date', date('Ymd')) . '000600'; + if ($prefs->getValue('twentyFour')) { + $event->start->hour = 12; + } +} +$event->start = new Horde_Date($date); + +$url = Util::getFormData('url'); + +// Default to a 1 hour duration. +$event->end = new Horde_Date($event->start); +if (Util::getFormData('allday')) { + $event->end->mday++; + /* + $event->end->hour = 23; + $event->end->min = $event->end->sec = 59; + */ +} else { + $event->end->hour++; +} +$event->end->correct(); +$month = $event->start->month; +$year = $event->start->year; + +$buttons = array(''); +if (isset($url)) { + $cancelurl = $url; +} else { + $cancelurl = Util::addParameter('month.php', array('month' => $month, + 'year' => $year)); + $cancelurl = Horde::applicationUrl($cancelurl, true); +} + +$title = _("Add a new event"); +$calendars = Kronolith::listCalendars(false, PERMS_EDIT | PERMS_DELEGATE); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; +require KRONOLITH_TEMPLATES . '/edit/javascript.inc'; +require KRONOLITH_TEMPLATES . '/edit/edit.inc'; +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/packaging/redhat/kronolith.README b/kronolith/packaging/redhat/kronolith.README new file mode 100644 index 000000000..35589d7fa --- /dev/null +++ b/kronolith/packaging/redhat/kronolith.README @@ -0,0 +1,9 @@ +Kronolith RPMs kronolith.README +=--------------------------------------------------------------------------= + +$Horde: kronolith/packaging/redhat/kronolith.README,v 1.1 2001/12/15 12:47:29 bjn Exp $ + + +Please consult the Horde RPMs README file: + + horde/packaging/redhat/horde.README diff --git a/kronolith/packaging/redhat/kronolith.conf b/kronolith/packaging/redhat/kronolith.conf new file mode 100644 index 000000000..5a7f87882 --- /dev/null +++ b/kronolith/packaging/redhat/kronolith.conf @@ -0,0 +1,32 @@ +# +# File: kronolith.conf +# $Horde: kronolith/packaging/redhat/kronolith.conf,v 1.2 2002/01/03 14:21:00 bjn Exp $ +# +# This is the Kronolith Apache configuration file; it is included from the +# Apache httpd.conf file. This version is for Red Hat 7.x systems. +# + + + order deny,allow + deny from all + + + order deny,allow + deny from all + + + order deny,allow + deny from all + + + order deny,allow + deny from all + + + order deny,allow + deny from all + + + order deny,allow + deny from all + diff --git a/kronolith/packaging/redhat/kronolith.spec b/kronolith/packaging/redhat/kronolith.spec new file mode 100644 index 000000000..3f52da327 --- /dev/null +++ b/kronolith/packaging/redhat/kronolith.spec @@ -0,0 +1,131 @@ +# +# $Horde: kronolith/packaging/redhat/kronolith.spec,v 1.13 2009/01/06 18:01:02 jan Exp $ +# +# Copyright 2003-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. +# +# This is the SPEC file for the Kronolith Red Hat 7.x (RPM v4) RPMs/SRPM. +# + +%define apachedir /etc/httpd +%define apacheuser apache +%define apachegroup apache +%define contentdir /var/www + +Summary: The Horde calendar application. +Name: kronolith +Version: 1.1 +Release: 1 +License: GPL +Group: Applications/Horde +Source: ftp://ftp.horde.org/pub/kronolith/kronolith-%{version}.tar.gz +Source1: kronolith.conf +Vendor: The Horde Project +URL: http://www.horde.org/ +Packager: Brent J. Nordquist +BuildArch: noarch +BuildRoot: %{_tmppath}/kronolith-root +Requires: php >= 4.2.1 +Requires: apache >= 1.3.22 +Requires: horde >= 2.1 +Prereq: /usr/bin/perl + +%description +Kronolith is the Horde calendar application. It provides repeating +events, all-day events, custom fields, keywords, and managing multiple +users through Horde Authentication. The calendar API that Kronolith +uses is abstracted; SQL and Kolab drivers are currently provided. + +The Horde Project writes web applications in PHP and releases them under +Open Source licenses. For more information (including help with Kronolith) +please visit http://www.horde.org/. + +%prep +%setup -q -n %{name}-%{version} + +%build + +%install +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT +mkdir -p $RPM_BUILD_ROOT%{apachedir}/conf +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{apachedir}/conf +mkdir -p $RPM_BUILD_ROOT%{contentdir}/html/horde/kronolith +cp -pR * $RPM_BUILD_ROOT%{contentdir}/html/horde/kronolith +cd $RPM_BUILD_ROOT%{contentdir}/html/horde/kronolith/config +for d in *.dist; do + d0=`basename $d .dist` + if [ ! -f "$d0" ]; then + cp -p $d $d0 + fi +done + +%clean +[ "$RPM_BUILD_ROOT" != "/" ] && rm -rf $RPM_BUILD_ROOT + +%pre + +%post +perl -pi -e 's/$/ index.php/ if (/DirectoryIndex\s.*index\.html/ && !/index\.php/);' %{apachedir}/conf/httpd.conf +grep -i 'Include.*kronolith.conf$' %{apachedir}/conf/httpd.conf >/dev/null 2>&1 +if [ $? -eq 0 ]; then + perl -pi -e 's/^#+// if (/Include.*kronolith.conf$/i);' %{apachedir}/conf/httpd.conf +else + echo "Include %{apachedir}/conf/kronolith.conf" >>%{apachedir}/conf/httpd.conf +fi +# post-install instructions: +cat <<_EOF_ +You must manually configure Kronolith and create any required database tables! +See "CONFIGURING Kronolith" in %{contentdir}/html/horde/kronolith/docs/INSTALL +You must also restart Apache with "service httpd restart"! +_EOF_ + +%postun +if [ $1 -eq 0 ]; then + perl -pi -e 's/^/#/ if (/^Include.*kronolith.conf$/i);' %{apachedir}/conf/httpd.conf + cat <<_EOF2_ +You must restart Apache with "service httpd restart"! +_EOF2_ +fi + +%files +%defattr(-,root,root) +# Apache kronolith.conf file +%config %{apachedir}/conf/kronolith.conf +# Include top level with %dir so not all files are sucked in +%dir %{contentdir}/html/horde/kronolith +# Include top-level files by hand +%{contentdir}/html/horde/kronolith/*.php +# Include these dirs so that all files _will_ get sucked in +%{contentdir}/html/horde/kronolith/graphics +%{contentdir}/html/horde/kronolith/lib +%{contentdir}/html/horde/kronolith/locale +%{contentdir}/html/horde/kronolith/po +%{contentdir}/html/horde/kronolith/scripts +%{contentdir}/html/horde/kronolith/templates +# Mark documentation files with %doc and %docdir +%doc %{contentdir}/html/horde/kronolith/COPYING +%doc %{contentdir}/html/horde/kronolith/README +%docdir %{contentdir}/html/horde/kronolith/docs +%{contentdir}/html/horde/kronolith/docs +# Mark configuration files with %config and use secure permissions +# (note that .dist files are considered software; don't mark %config) +%attr(750,root,%{apachegroup}) %dir %{contentdir}/html/horde/kronolith/config +%defattr(640,root,%{apachegroup}) +%{contentdir}/html/horde/kronolith/config/*.dist +%config %{contentdir}/html/horde/kronolith/config/*.php + +%changelog +* Sun Apr 27 2003 Brent J. Nordquist 1.1-1 +- Updated for 1.1 + +* Mon Jun 24 2002 Brent J. Nordquist +- 1.0 release 2 + +* Thu Jun 13 2002 Brent J. Nordquist +- 1.0 release 1 (private beta) + +* Sun Dec 16 2001 Brent J. Nordquist +- initial RPM for Kronolith 0.0.3 + diff --git a/kronolith/perms.php b/kronolith/perms.php new file mode 100644 index 000000000..e82611fa6 --- /dev/null +++ b/kronolith/perms.php @@ -0,0 +1,279 @@ + + * @author Jan Schneider + */ + +@define('KRONOLITH_BASE', dirname(__FILE__)); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once 'Horde/Group.php'; + +$shares = &Horde_Share::singleton('kronolith'); +$groups = &Group::singleton(); +$auth = &Auth::singleton($conf['auth']['driver']); + +$reload = false; +$actionID = Util::getFormData('actionID', 'edit'); +switch ($actionID) { +case 'edit': + $share = &$shares->getShareById(Util::getFormData('cid')); + if (!is_a($share, 'PEAR_Error')) { + $perm = &$share->getPermission(); + } elseif (($category = Util::getFormData('share')) !== null) { + $share = &$shares->getShare($category); + if (!is_a($share, 'PEAR_Error')) { + $perm = &$share->getPermission(); + } + } + if (is_a($share, 'PEAR_Error')) { + $notification->push($share, 'horde.error'); + } elseif (isset($share) && Auth::getAuth() != $share->get('owner')) { + exit('permission denied'); + } + break; + +case 'editform': + $share = &$shares->getShareById(Util::getFormData('cid')); + if (is_a($share, 'PEAR_Error')) { + $notification->push(_("Attempt to edit a non-existent share."), 'horde.error'); + } else { + if (Auth::getAuth() != $share->get('owner')) { + exit('permission denied'); + } + $perm = &$share->getPermission(); + + // Process owner and owner permissions. + $old_owner = $share->get('owner'); + $new_owner = Auth::addHook(Util::getFormData('owner', $old_owner)); + if ($old_owner !== $new_owner && !empty($new_owner)) { + if ($old_owner != Auth::getAuth() && !Auth::isAdmin()) { + $notification->push(_("Only the owner or system administrator may change ownership or owner permissions for a share"), 'horde.error'); + } else { + $share->set('owner', $new_owner); + $share->save(); + } + } + + // Process default permissions. + if (Util::getFormData('default_show')) { + $perm->addDefaultPermission(PERMS_SHOW, false); + } else { + $perm->removeDefaultPermission(PERMS_SHOW, false); + } + if (Util::getFormData('default_read')) { + $perm->addDefaultPermission(PERMS_READ, false); + } else { + $perm->removeDefaultPermission(PERMS_READ, false); + } + if (Util::getFormData('default_edit')) { + $perm->addDefaultPermission(PERMS_EDIT, false); + } else { + $perm->removeDefaultPermission(PERMS_EDIT, false); + } + if (Util::getFormData('default_delete')) { + $perm->addDefaultPermission(PERMS_DELETE, false); + } else { + $perm->removeDefaultPermission(PERMS_DELETE, false); + } + if (Util::getFormData('default_delegate')) { + $perm->addDefaultPermission(PERMS_DELEGATE, false); + } else { + $perm->removeDefaultPermission(PERMS_DELEGATE, false); + } + + // Process guest permissions. + if (Util::getFormData('guest_show')) { + $perm->addGuestPermission(PERMS_SHOW, false); + } else { + $perm->removeGuestPermission(PERMS_SHOW, false); + } + if (Util::getFormData('guest_read')) { + $perm->addGuestPermission(PERMS_READ, false); + } else { + $perm->removeGuestPermission(PERMS_READ, false); + } + if (Util::getFormData('guest_edit')) { + $perm->addGuestPermission(PERMS_EDIT, false); + } else { + $perm->removeGuestPermission(PERMS_EDIT, false); + } + if (Util::getFormData('guest_delete')) { + $perm->addGuestPermission(PERMS_DELETE, false); + } else { + $perm->removeGuestPermission(PERMS_DELETE, false); + } + if (Util::getFormData('guest_delegate')) { + $perm->addGuestPermission(PERMS_DELEGATE, false); + } else { + $perm->removeGuestPermission(PERMS_DELEGATE, false); + } + + // Process creator permissions. + if (Util::getFormData('creator_show')) { + $perm->addCreatorPermission(PERMS_SHOW, false); + } else { + $perm->removeCreatorPermission(PERMS_SHOW, false); + } + if (Util::getFormData('creator_read')) { + $perm->addCreatorPermission(PERMS_READ, false); + } else { + $perm->removeCreatorPermission(PERMS_READ, false); + } + if (Util::getFormData('creator_edit')) { + $perm->addCreatorPermission(PERMS_EDIT, false); + } else { + $perm->removeCreatorPermission(PERMS_EDIT, false); + } + if (Util::getFormData('creator_delete')) { + $perm->addCreatorPermission(PERMS_DELETE, false); + } else { + $perm->removeCreatorPermission(PERMS_DELETE, false); + } + if (Util::getFormData('creator_delegate')) { + $perm->addCreatorPermission(PERMS_DELEGATE, false); + } else { + $perm->removeCreatorPermission(PERMS_DELEGATE, false); + } + + // Process user permissions. + $u_names = Util::getFormData('u_names'); + $u_show = Util::getFormData('u_show'); + $u_read = Util::getFormData('u_read'); + $u_edit = Util::getFormData('u_edit'); + $u_delete = Util::getFormData('u_delete'); + $u_delegate = Util::getFormData('u_delegate'); + + foreach ($u_names as $key => $user) { + // Apply backend hooks + $user = Auth::addHook($user); + // If the user is empty, or we've already set permissions + // via the owner_ options, don't do anything here. + if (empty($user) || $user == $new_owner) { + continue; + } + + if (!empty($u_show[$key])) { + $perm->addUserPermission($user, PERMS_SHOW, false); + } else { + $perm->removeUserPermission($user, PERMS_SHOW, false); + } + if (!empty($u_read[$key])) { + $perm->addUserPermission($user, PERMS_READ, false); + } else { + $perm->removeUserPermission($user, PERMS_READ, false); + } + if (!empty($u_edit[$key])) { + $perm->addUserPermission($user, PERMS_EDIT, false); + } else { + $perm->removeUserPermission($user, PERMS_EDIT, false); + } + if (!empty($u_delete[$key])) { + $perm->addUserPermission($user, PERMS_DELETE, false); + } else { + $perm->removeUserPermission($user, PERMS_DELETE, false); + } + if (!empty($u_delegate[$key])) { + $perm->addUserPermission($user, PERMS_DELEGATE, false); + } else { + $perm->removeUserPermission($user, PERMS_DELEGATE, false); + } + } + + // Process group permissions. + $g_names = Util::getFormData('g_names'); + $g_show = Util::getFormData('g_show'); + $g_read = Util::getFormData('g_read'); + $g_edit = Util::getFormData('g_edit'); + $g_delete = Util::getFormData('g_delete'); + $g_delegate = Util::getFormData('g_delegate'); + + foreach ($g_names as $key => $group) { + if (empty($group)) { + continue; + } + + if (!empty($g_show[$key])) { + $perm->addGroupPermission($group, PERMS_SHOW, false); + } else { + $perm->removeGroupPermission($group, PERMS_SHOW, false); + } + if (!empty($g_read[$key])) { + $perm->addGroupPermission($group, PERMS_READ, false); + } else { + $perm->removeGroupPermission($group, PERMS_READ, false); + } + if (!empty($g_edit[$key])) { + $perm->addGroupPermission($group, PERMS_EDIT, false); + } else { + $perm->removeGroupPermission($group, PERMS_EDIT, false); + } + if (!empty($g_delete[$key])) { + $perm->addGroupPermission($group, PERMS_DELETE, false); + } else { + $perm->removeGroupPermission($group, PERMS_DELETE, false); + } + if (!empty($g_delegate[$key])) { + $perm->addGroupPermission($group, PERMS_DELEGATE, false); + } else { + $perm->removeGroupPermission($group, PERMS_DELEGATE, false); + } + } + + $result = $share->setPermission($perm, false); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result, 'horde.error'); + } else { + $result = $share->save(); + if (is_a($result, 'PEAR_Error')) { + $notification->push($result, 'horde.error'); + } else { + if (Util::getFormData('save_and_finish')) { + Util::closeWindowJS(); + exit; + } + $notification->push(sprintf(_("Updated \"%s\"."), $share->get('name')), 'horde.success'); + } + } + } + break; +} + +if (is_a($share, 'PEAR_Error')) { + $title = _("Edit Permissions"); +} else { + $title = sprintf(_("Edit Permissions for %s"), $share->get('name')); +} + +if ($auth->hasCapability('list')) { + $userList = $auth->listUsers(); + if (is_a($userList, 'PEAR_Error')) { + Horde::logMessage($userList, __FILE__, __LINE__, PEAR_LOG_ERR); + $userList = array(); + } + sort($userList); +} else { + $userList = array(); +} + +if (!empty($conf['share']['any_group'])) { + $groupList = $groups->listGroups(); +} else { + $groupList = $groups->getGroupMemberships(Auth::getAuth(), true); +} +if (is_a($groupList, 'PEAR_Error')) { + Horde::logMessage($groupList, __FILE__, __LINE__, PEAR_LOG_NOTICE); + $groupList = array(); +} +asort($groupList); + +require KRONOLITH_TEMPLATES . '/common-header.inc'; +$notification->notify(array('listeners' => 'status')); +require KRONOLITH_TEMPLATES . '/perms/perms.inc'; +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/po/.cvsignore b/kronolith/po/.cvsignore new file mode 100644 index 000000000..fd8854c89 --- /dev/null +++ b/kronolith/po/.cvsignore @@ -0,0 +1 @@ +messages.po diff --git a/kronolith/po/README b/kronolith/po/README new file mode 100644 index 000000000..a4356a923 --- /dev/null +++ b/kronolith/po/README @@ -0,0 +1 @@ +see horde/po/README \ No newline at end of file diff --git a/kronolith/po/ar_SY.po b/kronolith/po/ar_SY.po new file mode 100644 index 000000000..4c656a02e --- /dev/null +++ b/kronolith/po/ar_SY.po @@ -0,0 +1,996 @@ +# Kronolith 1.1 Arabic translation +# This file is distributed under the same license as the Kronolith package. +# Copyright 2003 Platinum Inc. +# Custom Web Applications +# Platinum Development Team 2003 +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 1.1\n" +"Report-Msgid-Bugs-To: \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 \n" +"Language-Team: Arabic \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CP1256\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#: lib/Kronolith.php:354 +#, c-format +msgid "%d hour" +msgstr "%d ÓÇÚÉ" + +#: lib/Kronolith.php:356 +#, c-format +msgid "%d hour, %d minute" +msgstr "%d ÓÇÚÉ, %d ÏÞíÞÉ" + +#: lib/Kronolith.php:358 +#, c-format +msgid "%d hour, %d minutes" +msgstr "%d ÓÇÚÉ, %d ÏÞÇÆÞ" + +#: lib/Kronolith.php:346 +#, c-format +msgid "%d hours" +msgstr "%d ÓÇÚÇÊ" + +#: lib/Kronolith.php:348 +#, c-format +msgid "%d hours, %d minute" +msgstr "%d ÓÇÚÇÊ, %d ÏÞÇÆÞ" + +#: lib/Kronolith.php:350 +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d ÓÇÚÇÊ, %d ÓÇÚÇÊ" + +#: lib/Kronolith.php:364 +#, c-format +msgid "%d minute" +msgstr "%d ÏÞíÞÉ" + +#: lib/Kronolith.php:366 +#, c-format +msgid "%d minutes" +msgstr "%d ÏÞÇÆÞ" + +#: lib/Event.php:1063 +#, c-format +msgid "%s Minutes before" +msgstr "%s ÏÞÇÆÞ ÞÈá" + +#: data.php:171 +#, c-format +msgid "%s file successfully imported" +msgstr "%s Êã ÇÓÊíÑÇÏ ÇáãáÝ ÈäÌÇÍ" + +#: status.php:27 +#, c-format +msgid "%s is in progress." +msgstr "%s ÌÇÑí ÇáÚãá" + +#: status.php:25 +#, c-format +msgid "%s is starting now." +msgstr "%s íÈÏà ÇáÚãá" + +#: status.php:29 +#, c-format +msgid "%s starts in %s" +msgstr "%s ÓíÈÏà ÇáÚãá ÎáÇá %s" + +#: templates/view/view.inc:85 +msgid "Description" +msgstr "ÇáæÕÝ" + +#: templates/edit/edit.inc:232 +msgid "Description (optional)" +msgstr "ÇáæÕÝ (ÇÎÊíÇÑí)" + +#: templates/view/view.inc:137 +msgid "Keywords" +msgstr "ÇáßáãÇÊ ÇáãÝÊÇÍíÉ" + +#: templates/edit/edit.inc:318 +msgid "Keywords (optional)" +msgstr "ÇáßáãÇÊ ÇáãÝÊÇÍíÉ (ÇÎÊíÇÑí)" + +#: templates/view/view.inc:97 +msgid "Recurrence" +msgstr "ÇáÊßÑÇÑ" + +#: templates/edit/edit.inc:244 +msgid "Recurrence (optional)" +msgstr "ÇáÊßÑÇÑ (ÇÎÊíÇÑí)" + +#: templates/edit/edit.inc:47 +msgid "Add Event" +msgstr "ÅÖÇÝÉ ÍÏË" + +#: addevent.php:31 +msgid "Add a new event" +msgstr "ÅÖÇÝÉ ÍÏË ÌÏíÏ" + +#: config/prefs.php.dist:37 +msgid "Add, remove, and edit categories." +msgstr "ÅÖÇÝÉ ¡ ÍÐÝ Ãæ ÊÍÑíÑ ÊÕäíÝ" + +#: templates/edit/edit.inc:194 templates/view/view.inc:57 +msgid "Alarm" +msgstr "ÊäÈíå" + +#: data.php:210 +msgid "Alarm Date" +msgstr "ÊÇÑíÎ ÇáÊäÈíå" + +#: data.php:209 +msgid "Alarm Span (minutes)" +msgstr "ãÏÉ ÇáÊäÈíå (ÈÇáÏÞÇÆÞ)" + +#: data.php:211 +msgid "Alarm Time" +msgstr "Òãä ÇáÊäÈíå" + +#: templates/delete/delete.inc:33 +msgid "All" +msgstr "ÇáÌãíÚ" + +#: lib/DayView.php:71 lib/DayView.php:73 lib/WeekView.php:100 +#: templates/edit/edit.inc:188 +msgid "All day" +msgstr "ßá Çáíæã" + +#: lib/api.php:98 +msgid "All day event" +msgstr "ÌãíÚ ÃÍÏÇË Çáíæã" + +#: templates/data/export.inc:24 +msgid "All events" +msgstr "ÌãíÚ ÇáÃÍÏÇË" + +#: templates/prefs/category_management.inc:41 +#, c-format +msgid "Any events in a category that is deleted will become %s." +msgstr "Ãí ÍÏË Öãä ÇáÊÕäíÝ ÓíÕÈÍ « %s » ÅÐÇ Êã ÍÐÝå." + +#: templates/javascript/goto.inc:74 +msgid "April" +msgstr "äíÓÇä" + +#: templates/edit/edit.inc:110 templates/edit/edit.inc:159 +#: templates/data/export.inc:72 templates/data/export.inc:159 +msgid "At" +msgstr "Ýí" + +#: templates/javascript/goto.inc:78 +msgid "August" +msgstr "ÂÈ" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "ÚíÏ ãíáÇÏ" + +#: templates/edit/edit.inc:57 templates/edit/edit.inc:354 +#: templates/delete/one.inc:32 templates/delete/delete.inc:34 +msgid "Cancel" +msgstr "ÅáÛÇÁ" + +#: templates/edit/edit.inc:74 templates/view/view.inc:30 data.php:213 +msgid "Category" +msgstr "ÊÕäíÝ" + +#: config/prefs.php.dist:36 config/prefs.php.dist:194 +msgid "Category Management" +msgstr "ÅÏÇÑÉ ÇáÊÕäíÝÇÊ" + +#: config/prefs.php.dist:19 +msgid "Change the way dates and times are formatted." +msgstr "ÊÚÏíá äÙÇã ÇáÊÇÑíÎ æÇáæÞÊ" + +#: config/prefs.php.dist:186 +msgid "Choose Color" +msgstr "ÇÎÊíÇÑ Çááæä" + +#: templates/prefs/category_management.inc:64 util/colorpicker.php:14 +msgid "Color Picker" +msgstr "áæÍÉ ÇáÃáæÇä" + +#: config/prefs.php.dist:155 +msgid "Confirm deletion of events?" +msgstr "ÊÃßíÏ ÍÐÝ ÇáÃÍÏÇË¿" + +#: templates/prefs/category_management.inc:47 +msgid "Create New Category" +msgstr "ÅäÔÇÁ ÊÕäíÝ ÌÏíÏ" + +#: lib/DayView.php:71 lib/DayView.php:166 templates/week/head.inc:22 +#: month.php:118 +msgid "Create a New Event" +msgstr "ÅäÔÇÁ ÍÏË ÌÏíÏ" + +#: templates/delete/delete.inc:31 +msgid "Current" +msgstr "ÇáÍÇáí" + +#: templates/edit/edit.inc:258 templates/view/view.inc:103 +msgid "Daily: Recurs every" +msgstr "íæãíÇð: ÊßÑÇÑ ßá" + +#: config/prefs.php.dist:18 +msgid "Date and Time Options" +msgstr "ÎíÇÑÇÊ ÇáÊÇÑíÎ æÇáæÞÊ" + +#: templates/menu/menu.inc:20 config/prefs.php.dist:91 +msgid "Day" +msgstr "íæã" + +#: templates/edit/edit.inc:188 templates/edit/edit.inc:224 +#: templates/view/view.inc:66 +msgid "Day(s)" +msgstr "íæã (ÃíÇã)" + +#: templates/javascript/goto.inc:82 +msgid "December" +msgstr "ßÇäæä ÇáÃæá" + +#: templates/view/view.inc:20 templates/view/view.inc:155 +#: templates/prefs/category_management.inc:61 +msgid "Delete" +msgstr "ÍÐÝ" + +#: lib/Event.php:1071 templates/delete/delete.inc:20 +#: templates/delete/one.inc:20 delevent.php:33 +#, c-format +msgid "Delete %s" +msgstr "ÍÐÝ %s" + +#: templates/view/view.inc:20 templates/view/view.inc:155 +#, c-format +msgid "Delete '%s'" +msgstr "ÍÐÝ '%s'" + +#: templates/edit/edit.inc:55 templates/edit/edit.inc:352 +msgid "Delete Event" +msgstr "ÍÐÝ ÇáÍÏË" + +#: templates/delete/delete.inc:25 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"ÍÐÝ ÇáÍÏË ÇáÍÇáí ÝÞØ ¡ åÐå ÇáãÑÉ æÇáãÑÇÊ ÇáÞÇÏãÉ Ãæ" +"Ãæ ÌãíÚ ÇáãÑÇÊ ÇáÊÇáíÉ¿" + +#: data.php:212 +msgid "Description" +msgstr "ÇáÔÑÍ" + +#: config/prefs.php.dist:83 +msgid "Display 24-hour times?" +msgstr "ÅÙåÇÑ 24 ÓÇÚÉ¿" + +#: config/prefs.php.dist:17 config/prefs.php.dist:23 config/prefs.php.dist:29 +#: config/prefs.php.dist:42 +msgid "Display Options" +msgstr "ÅÙåÇÑ ÇáÎíÇÑÇÊ" + +#: lib/Kronolith.php:300 +#, c-format +msgid "Due: %s" +msgstr "ÇÓÊÍÞÇÞ: %s" + +#: templates/edit/edit.inc:133 +msgid "Duration" +msgstr "ÇáÝÊÑÉ" + +#: templates/view/view.inc:21 templates/view/view.inc:156 +msgid "Edit" +msgstr "Éditer" + +#: templates/edit/edit.inc:47 editevent.php:26 +#, c-format +msgid "Edit %s" +msgstr "ÊÍÑíÑ %s" + +#: templates/view/view.inc:21 templates/view/view.inc:156 +#, c-format +msgid "Edit '%s'" +msgstr "ÊÍÑíÑ « %s »" + +#: data.php:207 +msgid "End Date" +msgstr "ÊÇÑíÎ ÇáÅäÊåÇÁ" + +#: templates/edit/edit.inc:137 templates/view/view.inc:51 +#: templates/data/export.inc:112 +msgid "End On" +msgstr "ÊäÊåí ÈÊÇÑíÍ" + +#: data.php:208 +msgid "End Time" +msgstr "ÊæÞíÊ ÇáÅäÊåÇÁ" + +#: templates/data/export.inc:192 +msgid "Export" +msgstr "ÊÕÏíÑ" + +#: templates/data/export.inc:7 +msgid "Export Calendar" +msgstr "ÊÕÏíÑ ÇáÃÌäÏÉ" + +#: templates/javascript/goto.inc:72 +msgid "February" +msgstr "ÔÈÇØ" + +#: templates/edit/edit.inc:271 +msgid "Fr" +msgstr "ÇáÌãÚÉ" + +#: templates/view/view.inc:111 templates/month/head.inc:29 +msgid "Friday" +msgstr "ÇáÌãÚÉ" + +#: templates/delete/delete.inc:32 +msgid "Future" +msgstr "ãÓÊÞÈáÇð" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "áÚÈÉ" + +#: templates/menu/menu.inc:18 +msgid "Goto" +msgstr "ÅÐåÈ Åáì" + +#: templates/menu/menu.inc:49 +msgid "Help" +msgstr "ãÓÇÚÏÉ" + +#: templates/edit/edit.inc:188 templates/edit/edit.inc:223 +#: templates/view/view.inc:69 +msgid "Hour(s)" +msgstr "ÓÇÚÉ (ÓÇÚ" + +#: templates/data/import.inc:25 +msgid "If importing CSV data: does the first row contain the field names?" +msgstr "Ýí ÍÇá ÇÓÊíÑÇÏ ãáÝ CVS ¡ åá íÍÊæí ÇáÕÝ ÇáÃæá Úáì " +"ÊÓãíÇÊ ÇáÍÞæá¿" + +#: data.php:182 +msgid "Illegal or malformed form data." +msgstr "ÎØÃ Ýí ÇáÈíÇäÇÊ Ãæ Ýí" + +#: templates/data/import.inc:28 +msgid "Import" +msgstr "ÇÓÊíÑÇÏ" + +#: templates/data/import.inc:7 +msgid "Import Calendar" +msgstr "ÇÓÊíÑÇÏ ÈíÇäÇÊ ÇáÃÌäÏÉ" + +#: templates/menu/menu.inc:31 +msgid "Import/Export" +msgstr "ÇÓÊíÑÇÏ/ÊÕÏíÑ" + +#: data.php:294 +msgid "Import/Export Calendar" +msgstr "ÇÓÊíÑÇÏ/ÊÕÏíÑ ÈíÇäÇÊ ÇáÃÌäÏÉ" + +#: templates/javascript/goto.inc:71 +msgid "January" +msgstr "ßÇäæä ÇáËÇäí" + +#: templates/javascript/goto.inc:77 +msgid "July" +msgstr "ÍÒíÑÇä" + +#: templates/javascript/goto.inc:76 +msgid "June" +msgstr "ÊãæÒ" + +#: data.php:215 +msgid "Keywords" +msgstr "ÇáßáãÇÊ ÇáãÝÊÇÍíÉ" + +#: templates/index/notconfigured.inc:4 +msgid "Kronolith is not properly configured" +msgstr "íæÌÏ ÎØÃ Ýí ÅÚÏÇÏÇÊ ÇáßæÑäæáíË" + +#: config/prefs.php.dist:6 +msgid "Language" +msgstr "ÇááÛÉ" + +#: templates/month/head.inc:13 +msgid "Last month" +msgstr "ÇáÔåÑ ÇáÃÎíÑ" + +#: templates/week/head.inc:4 +msgid "Last week" +msgstr "ÇáÃÓÈæÚ ÇáÃÎíÑ" + +#: templates/edit/edit.inc:185 +msgid "Lasts" +msgstr "ÇáÃÎíÑÉ" + +#: templates/data/export.inc:20 +msgid "Limit the time span to export:" +msgstr "ÊÍÏíÏ ÇáÝÊÑÉ ÇáÒãäíÉ áÊÕÏíÑåÇ" + +#: templates/edit/edit.inc:83 templates/view/view.inc:39 data.php:214 +msgid "Location" +msgstr "ÇáãßÇä" + +#: templates/javascript/goto.inc:73 +msgid "March" +msgstr "ÂÐÇÑ" + +#: templates/javascript/goto.inc:75 +msgid "May" +msgstr "ÃíÇÑ" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "ÇÌÊãÇÚ" + +#: templates/edit/edit.inc:222 templates/view/view.inc:72 +msgid "Minute(s)" +msgstr "ÏÞíÞÉ (ÏÞÇÆÞ)" + +#: templates/edit/edit.inc:188 +msgid "Minutes" +msgstr "ÏÞÇÆÞ" + +#: templates/edit/edit.inc:267 +msgid "Mo" +msgstr "ÇáÅËäíä" + +#: templates/view/view.inc:107 templates/month/head.inc:25 +#: config/prefs.php.dist:113 +msgid "Monday" +msgstr "ÇáÅËäíä" + +#: templates/menu/menu.inc:23 config/prefs.php.dist:94 +msgid "Month" +msgstr "ÇáÔåÑ" + +#: templates/edit/edit.inc:278 templates/edit/edit.inc:284 +#: templates/view/view.inc:117 templates/view/view.inc:119 +msgid "Monthly: Recurs every" +msgstr "ÔåÑíÇð: ÊßÑÇÑ ßá" + +#: lib/Kronolith.php:710 +msgid "New Category" +msgstr "ÊÕäíÝ ÌÏíÏ" + +#: templates/month/head.inc:15 +msgid "Next Month" +msgstr "ÇáÔåÑ ÇáÊÇáí" + +#: templates/day/head.inc:6 +msgid "Next day" +msgstr "Çáíæã ÇáÊÇáí" + +#: templates/week/head.inc:6 +msgid "Next week" +msgstr "ÇáÃÓÈæÚ ÇáÞÇÆã" + +#: lib/Driver/sql.php:393 +msgid "No configuration information specified for SQL Calendar." +msgstr "Aucune information de configuration fournie pour le calendrier SQL." + +#: templates/edit/edit.inc:302 templates/view/view.inc:129 +msgid "No end date" +msgstr "áÇíæÌÏ ÊÇÑíÎ ÇäÊåÇÁ" + +#: templates/edit/edit.inc:218 templates/edit/edit.inc:253 +#: templates/view/view.inc:77 +msgid "None" +msgstr "áÇíæÌÏ" + +#: templates/data/import.inc:15 +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"ãáÇÍÙÉ: ÇáÊÕÏíÑ ÛíÑ ããßä ÈÇáÅÚÏÇÏÇÊ ÇáÍÇáíÉ æÐáß ÈÓÈÈ ÎØÃ" +"Ýí ÈÑäÇãÌ ÞíÇÏÉ ÇáÃÌäÏÉ" + +#: templates/javascript/goto.inc:81 +msgid "November" +msgstr "ÊÔÑíä ÇáËÇäí" + +#: templates/javascript/goto.inc:80 +msgid "October" +msgstr "ÊÔÑíä ÇáÃæá" + +#: templates/menu/menu.inc:26 +msgid "Options" +msgstr "ÇáÎíÇÑÇÊ" + +#: config/prefs.php.dist:35 +msgid "Other Options" +msgstr "ÇáÎíÇÑÇÊ ÇáÃÎÑì" + +#: templates/edit/edit.inc:247 templates/view/view.inc:100 +msgid "Pattern" +msgstr "äãæÐÌ" + +#: templates/delete/one.inc:25 +msgid "Permanently delete this event?" +msgstr "ÍÐÝ åÐÇ ÇáÍÏË ÈÔßá äåÇÆí¿" + +#: templates/prefs/category_management.inc:24 +msgid "Please enter a name for the new category:" +msgstr "ÇáÑÌÇÁ ÅÏÎÇá ÇÓã ááÊÕäíÝ ÇáÌÏíÏ:" + +#: templates/prefs/category_management.inc:12 +msgid "Please enter a new name for this category:" +msgstr "ÇáÑÌÇÁ ÅÏÎÇá ÇÓã ÌÏíÏ áåÐÇ ÇáÊÕäíÝ" + +#: templates/day/head.inc:4 +msgid "Previous day" +msgstr "Çáíæã ÇáÓÇÈÞ" + +#: templates/menu/menu.inc:36 +msgid "Print" +msgstr "ÇØÈÚ" + +#: templates/menu/menu.inc:41 +msgid "Problem?" +msgstr "ãÔßáÉ¿" + +#: templates/edit/edit.inc:300 templates/view/view.inc:128 +msgid "Recur Until" +msgstr "ÊßÑÇÑ ÍÊì" + +#: data.php:219 +msgid "Recurrence Data" +msgstr "ÈíÇäÇÊ ÇáÊßÑÇÑ" + +#: data.php:217 +msgid "Recurrence End Date" +msgstr "ÊÇÑíÎ ÇäÊåÇÁ ÇáÊßÑÇÑ" + +#: data.php:218 +msgid "Recurrence Interval" +msgstr "ÇáÝÇÕá ÇáÒãäí" + +#: data.php:216 +msgid "Recurrence Type" +msgstr "äæÚ ÇáÊßÑÇÑ" + +#: lib/Kronolith.php:378 +msgid "Recurs daily" +msgstr "ÊßÑÇÑ íæãí" + +#: lib/Kronolith.php:383 +msgid "Recurs monthly" +msgstr "ÊßÑÇÑ ÔåÑí" + +#: lib/Kronolith.php:376 +msgid "Recurs not" +msgstr "Ïæä ÊßÑÇÑ" + +#: lib/Kronolith.php:380 +msgid "Recurs weekly" +msgstr "ÊßÑÇÑ ÇÓÈæÚí" + +#: lib/Kronolith.php:385 +msgid "Recurs yearly" +msgstr "ÊßÑÇÑ Óäæí" + +#: templates/prefs/category_management.inc:62 +msgid "Rename" +msgstr "ÅÚÇÏÉ ÊÓãíÉ" + +#: lib/Driver/sql.php:59 +msgid "Required 'database' not specified in calendar configuration." +msgstr "ÞæÇÚÏ ÇáÈíÇäÇÊ ÇáÖÑæÑíÉ ááÃÌäÏÉ ÛíÑ ãæÌæÏÉ Ýí ÇáÅÚÏÇÏÇÊ" + +#: lib/Driver/sql.php:399 +msgid "Required 'hostspec' not specified in calendar configuration." +msgstr "" +"ÇáãíÒÉ 'hotspec' ÛíÑ ãÚÑÝÉ Ýí ÅÚÏÇÏÇÊ ÇáÃÌäÏÉ" + +#: lib/Driver/sql.php:405 +msgid "Required 'password' not specified in calendar configuration." +msgstr "" +"ÇáÎÇÕÉ 'password' ÛíÑ ãÚÑÝÉ Ýí ÅÚÏÇÏÇÊ ÇáÃÌäÏÉ" + +#: lib/Driver/sql.php:396 +msgid "Required 'phptype' not specified in calendar configuration." +msgstr "ÇáÎÇÕÉ 'phptype' ÛíÑ ãÚÑÝÉ Ýí ÅÚÏÇÏÇÊ ÇáÃÌäÏÉ" + +#: lib/Driver/sql.php:402 +msgid "Required 'username' not specified in calendar configuration." +msgstr "ÇáÎÇÕÉ 'username' ÛíÑ ãÚÑÝÉ Ýí ÅÚÏÇÏÇÊ ÇáÃÌäÏÉ" + +#: templates/edit/edit.inc:58 templates/edit/edit.inc:355 +msgid "Reset to Defaults" +msgstr "ÇáÅÚÏÇÏÇÊ ÇáÇÝÊÑÇÖíÉ" + +#: templates/edit/edit.inc:272 +msgid "Sa" +msgstr "ÇáÃÍÏ" + +#: templates/view/view.inc:112 templates/month/head.inc:30 +msgid "Saturday" +msgstr "ÇáÃÍÏ" + +#: templates/edit/edit.inc:54 templates/edit/edit.inc:351 +msgid "Save As New" +msgstr "ÍÝÙ ßÌÏíÏ" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:349 +msgid "Save Event" +msgstr "ÍÝÙ ÇáÍÏË" + +#: config/prefs.php.dist:25 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"ÇÎÊÑ ÅÚÏÇÏÇÊ ÇáÊÃßíÏ ¡ ßíÝ íÊã ÇáÅÙåÇÑ æÇÎÊÑ ÇáÅÙåÇÑ ÇáÇÝÊÑÇÖí" + +#: config/prefs.php.dist:75 +msgid "Select how to display Dates:" +msgstr "ÇÎÊÑ ØÑíÞÉ ÅÙåÇÑ ÇáÊæÇÑíÎ" + +#: config/prefs.php.dist:44 +msgid "Select if to show due tasks in the calendar." +msgstr "ÇÎÊÑ ÅÐÇ ãÇ íÌÈ ÅÙåÇÑ ÇáãåãÇÊ ÇáãÓÊÍÞÉ Ýí ÇáÃÌäÏÉ" + +#: templates/data/import.inc:26 +msgid "Select the file to import:" +msgstr "ÇÎÊÑ ãáÝ áíÊã ÇÓÊíÑÇÏå:" + +#: config/prefs.php.dist:111 +msgid "Select the first weekday:" +msgstr "ÇÎÊÑ íæã ÈÏÇíÉ ÇáÃÓÈæÚ" + +#: templates/data/export.inc:14 +msgid "Select the format to export to:" +msgstr "ÇÎÊÑ ÇáÊäÓíÞ áíÊã ÇáÊÕÏíÑ Åáì:" + +#: templates/data/import.inc:17 +msgid "Select the source to import from:" +msgstr "ÇÎÊÑ ÇáãÕÏÑ ááÅÓÊíÑÇÏ ãä:" + +#: config/prefs.php.dist:121 +msgid "Select the time span to show:" +msgstr "ÇÎÊÑ ÇáÝÊÑÉ ÇáÒãäíÉ áÅÙåÇÑåÇ:" + +#: config/prefs.php.dist:95 +msgid "Select the view to display after login:" +msgstr "ÇÎÊÑ Ôßá ÅÙåÇÑ ÇáÔÇÔÉ ÈÚÏ ÇáÏÎæá:" + +#: config/prefs.php.dist:31 +msgid "Select which events to show in the Horde summary." +msgstr "ÇÎÊÑ ÃíÉ ÃÍÏÇË áÊÙåÑ Ýí ÇáãáÎÕ." + +#: templates/javascript/goto.inc:79 +msgid "September" +msgstr "Åíáæá" + +#: config/prefs.php.dist:13 +msgid "Set the current time zone." +msgstr "ÇÎÊÑ ÇáãäØÞÉ ÇáÒãäíÉ" + +#: config/prefs.php.dist:55 +msgid "Set the language that menu items, explanations, and help are in." +msgstr "ÇÍÊÑ áÛÉ ÇáÃæÇãÑ ¡ ÇáÔÑÍ æÇáãÓÇÚÏÉ." + +#: config/prefs.php.dist:7 +msgid "Set your preferred display language." +msgstr "ÇÎÊÑ áÛÉ ÇáÔÇÔÉ ÇáãÝÖáÉ" + +#: config/prefs.php.dist:202 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "ÅÙåÇÑ ÃíÞæäÇÊ ÇáÍÐÝ ¡ ÇáÊäÈíå æÇáÊßÑÇÑ Ýí ÇáÅÌäÏÉ¿" + +#: config/prefs.php.dist:147 +msgid "Show due tasks in the calendar?" +msgstr "ÅÙåÇÑ ÇáÃÍÏÇË ÇáãÓÊÍÞÉ Ýí ÇáÃÌäÏÉ¿" + +#: config/prefs.php.dist:103 +msgid "Show half hour slots in day and week views?" +msgstr "ÅÙåÇÑ ÇáÝÑÇÛÇÊ ÇáäÕÝ-ÓÇÚíÉ Ýí Çáíæã Ýí ÇáÇÓÊÚÑÇÖ ÇáÃÓÈæÚí¿" + +#: config/prefs.php.dist:139 +msgid "Show only events that have an alarm set?" +msgstr "ÅÙåÇÑ ÇáÃÍÏÇË ÇáÊí Êã ÅÚÏÇÏåÇ ãÚ ÊäÈíå" + +#: templates/index/notconfigured.inc:13 +msgid "Some of Kronolith's configuration files are missing:" +msgstr "ÈÚÖ ÇáÅÚÏÇÏÇÊ ÛíÑ ãæÌæÏÉ" + +#: data.php:205 +msgid "Start Date" +msgstr "ÊÇÑíÎ ÇáÈÏÇíÉ" + +#: templates/edit/edit.inc:91 templates/view/view.inc:45 +#: templates/data/export.inc:28 +msgid "Start On" +msgstr "íÈÏà Ýí" + +#: data.php:206 +msgid "Start Time" +msgstr "Òãä ÇáÈÏÇíÉ" + +#: templates/edit/edit.inc:273 +msgid "Su" +msgstr "ÇáÃÍÏ" + +#: config/prefs.php.dist:30 +msgid "Summary" +msgstr "ÇáÊáÎíÕ" + +#: templates/view/view.inc:113 templates/month/head.inc:23 +#: templates/month/head.inc:32 config/prefs.php.dist:112 +msgid "Sunday" +msgstr "ÇáÃÍÏ" + +#: config/prefs.php.dist:43 +msgid "Tasks" +msgstr "ÇáãåãÇÊ" + +#: templates/edit/edit.inc:270 +msgid "Th" +msgstr "ÇáÎãíÓ" + +#: util/colorpicker.php:29 +msgid "The Options window has closed. Exiting." +msgstr "Êã ÅÛáÇÞ äÇÝÐÉ ÇáÎíÇÑÇÊ. ÓíÊã ÇáÎÑæÌ" + +#: data.php:33 data.php:82 +msgid "The data was lost." +msgstr "Êã ÝÞÏÇä ÇáÈíÇäÇÊ" + +#: templates/edit/javascript.inc:146 +msgid "The end date must be later than the start date." +msgstr "íÌÈ Ãä íßæä ÊÇÑíÎ ÇáäåÇíÉ ãÊÃÎÑÇð Úä ÊÇÑíÎ ÇáÈÏÇíÉ" + +#: data.php:234 +msgid "The file contained no data." +msgstr "áÇÊæÌÏ ÈíÇäÇÊ Öãä ÇáãáÝ." + +#: data.php:179 +msgid "" +"There was a problem with the file upload. The file may have been larger than " +"the maximum allowed size." +msgstr "" +"ÍÕá ÎØÃ ÎáÇá ÊÍãíá ÇáãáÝ. ÞÏ íßæä ÇáãáÝ ÃßÈÑ" +"ãä ÇáÍÌã ÇáÃÚÙãí ÇáãÓãæÍ Èå" + +#: data.php:157 +msgid "There was an error importing the data." +msgstr "ÍÕá ÎØÃ ÎáÇá ÇÓÊíÑÇÏ ÇáÈíÇäÇÊ." + +#: data.php:199 +msgid "There was an error importing the uploaded file" +msgstr "ÍÕá ÎØÇ Ýí ÇÓÊíÑÇÏ ÇáãáÝ ÇáÐí Êã ÊÍãíáå." + +#: data.php:257 +msgid "There were no events to export." +msgstr "áÇÊæÌÏ ãåãÇÊ áÊÕÏíÑåÇ." + +#: templates/prefs/category_management.inc:71 +msgid "These changes can not be undone!" +msgstr "åÐå ÇáÊÛíÑÇÊ ÛíÑ ÞÇÈáÉ ááÊÑÇÌÚ!" + +#: templates/index/notconfigured.inc:32 +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"íÍÊæí åÐÇ ÇáãáÝ Úáì ÇáÅÚÏÇÏÊ ÇáÇÝÊÑÇÖíÉ ááãÓÊÎÏã" +"æÅÚÏÇÏÇÊ ÇáãÓÊÎÏã ÇáÊí íÎÊÇÑåÇ ÈäÝÓå ÝíãÇ ÈÚÏ" + +#: templates/index/notconfigured.inc:25 +msgid "" +"This file controls the stylesheet that is used to set colors and fonts in " +"addition to or overriding Horde defaults." +msgstr "" +"íÍÊæí åÐÇ ÇáãáÝ Úáì ÅÚÏÇÏÇÊ ÇáÃáæÇä æÇáÎØæØ " +"ÅÖÇÝÉ áÅÚÏÇÏÇÊ åæÑÏí Ãæ ÈÏáåÇ" + +#: templates/index/notconfigured.inc:18 +msgid "" +"This is the main Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "" +"åÐÇ ãáÝ ÇáÅÚÏÇÏÇÊ ÇáÑÆíÓí ááßÑæäæáíË. æåæ íÍÊæí Úáì ÇáãÓÇÑÇÊ æÇáÎíÇÑÇÊ " +"áÌãíÚ ÇáÈÑíãÌÇÊ" + +#: util/colorpicker.php:35 +msgid "This window must be called from an Options window" +msgstr "íÌÈ ÇÓÊÏÚÇÁ åÐå ÇáäÇÝÐÉ ãä äÇÝÐÉ ÇáÎíÇÑÇÊ" + +#: templates/view/view.inc:110 templates/month/head.inc:28 +msgid "Thursday" +msgstr "ÇáÎãíÓ" + +#: config/prefs.php.dist:12 +msgid "Time Zone" +msgstr "ÇáãäØÞÉ ÇáÒãäíÉ" + +#: templates/edit/edit.inc:65 data.php:204 +msgid "Title" +msgstr "ÇáÚäæÇä" + +#: lib/api.php:64 templates/menu/menu.inc:16 +msgid "Today" +msgstr "Çáíæã ÇáÍÇáí" + +#: lib/api.php:66 +msgid "Tomorrow" +msgstr "ÛÏÇð" + +#: templates/edit/edit.inc:268 +msgid "Tu" +msgstr "ÇáËáÇËÇÁ" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "äæÚ" + +#: lib/base.php:74 +msgid "Unable to create calendar instance." +msgstr "Impossible de créer une instance du calendrier." + +#: lib/Driver/mcal.php:53 +#, c-format +msgid "Unable to delete %s." +msgstr "áÇíãßä ÍÐÝ %s." + +#: lib/Driver.php:73 +#, c-format +msgid "Unable to load the definition of %s." +msgstr "áÇíãßä ÊÍãíá ÇáÊÚÑíÝ áÜ %s." + +#: lib/Kronolith.php:737 templates/prefs/category_management.inc:41 +msgid "Unfiled" +msgstr "ÛíÑ ãÚÑÝ" + +#: config/prefs.php.dist:24 +msgid "User Interface" +msgstr "æÇÌåÉ ÇáãÓÊÎÏã" + +#: prefs.php:82 +msgid "User Options" +msgstr "ÎíÇÑÇÊ ÇáãÓÊÎÏã" + +#: viewevent.php:54 +#, c-format +msgid "View %s" +msgstr "ÅÙåÇÑ %s" + +#: templates/edit/edit.inc:269 +msgid "We" +msgstr "ÇáÃÑÈÚÇÁ" + +#: templates/view/view.inc:109 templates/month/head.inc:27 +msgid "Wednesday" +msgstr "ÇáÃÑÈÚÇÁ" + +#: templates/menu/menu.inc:22 config/prefs.php.dist:92 +msgid "Week" +msgstr "ÇáÇÓÈæÚ" + +#: week.php:27 workweek.php:23 month.php:110 +#, c-format +msgid "Week %d" +msgstr "ÇáÇÓÈæÚ %d" + +#: month.php:110 +#, c-format +msgid "Week %d" +msgstr "ÇáÃÓÈæÚ %d" + +#: templates/edit/edit.inc:225 templates/view/view.inc:63 +msgid "Week(s)" +msgstr "ÇáÃÓÈæÚ (ÃÓÇÈíÚ)" + +#: templates/edit/edit.inc:264 templates/view/view.inc:115 +msgid "Weekly: Recurs every" +msgstr "ÃÓÈæÚíÇð: ÊßÑÇÑ ßá" + +#: config/prefs.php.dist:171 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"ãÇåæ ÂÎÑ æÞÊ íÊã ÅÙåÇÑå Ííä áÇ ÊæÌÏ ÃÍÏÇË ÈÚÏå " +"Ýí æÖÚ ÅÙåÇÑ Çáíæã æÇáÃÓÈæÚ¿" + +#: config/prefs.php.dist:163 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"ãÇåæ Ãæá æÞÊ íÊã ÅÙåÇÑå Ííä áÇ ÊæÌÏ ÃÍÏÇË ÞÈáå" +"Ýí æÖÚ ÅÙåÇÑ Çáíæã æÇáÃÓÈæÚ¿" + +#: config/prefs.php.dist:93 +msgid "Work Week" +msgstr "ÇÓÈæÚ ÇáÚãá" + +#: templates/menu/menu.inc:21 +msgid "Work Week" +msgstr "ÇÓÈæÚ ÇáÚãá" + +#: templates/edit/edit.inc:290 templates/view/view.inc:121 +msgid "Yearly: Recurs every" +msgstr "ÓäæíÇð: ÊßÑÇÑ ßá" + +#: config/prefs.php.dist:5 config/prefs.php.dist:11 +msgid "Your Information" +msgstr "ÇáÈíÇäÇÊ ÇáÔÎÕíÉ" + +#: templates/javascript/print.inc:27 +msgid "" +"Your browser does not support this print option. Press Control/Option + P to " +"print." +msgstr "áÇ íÏÚã ãÊÕÝÍßã ÊÞäíÉ ÇáØÈÇÚÉ åÐå. ÅÖÛØ (Control/Option +P)" +"ááØÈÇÚÉ" + +#: config/prefs.php.dist:63 +msgid "Your current time zone:" +msgstr "ÇáãäØÞÉ ÇáÒãäíÉ:" + +#: lib/Event.php:438 lib/Event.php:445 +msgid "[none]" +msgstr "[áÇÔíÁ]" + +#: config/prefs.php.dist:122 +msgid "day" +msgstr "Çáíæã" + +#: templates/edit/edit.inc:259 templates/view/view.inc:103 +msgid "day(s)" +msgstr "Çáíæã (ÇáÃíÇã)" + +#: config/prefs.php.dist:123 config/prefs.php.dist:124 +#: config/prefs.php.dist:125 config/prefs.php.dist:126 +#: config/prefs.php.dist:127 +msgid "days" +msgstr "ÇáÃíÇã" + +#: data.php:230 +msgid "iCalendar file successfully imported" +msgstr "Êã ÇÓÊíÑÇÏ ÇáãáÝ ÈäÌÇÍ" + +#: templates/edit/edit.inc:279 templates/edit/edit.inc:285 +#: templates/view/view.inc:117 templates/view/view.inc:119 +msgid "month(s)" +msgstr "ÔåÑ (ÃÔåÑ)" + +#: lib/Kronolith.php:362 +msgid "no time" +msgstr "áÇíæÌÏ æÞÊ" + +#: templates/edit/edit.inc:279 templates/view/view.inc:117 +msgid "on the same date" +msgstr "à la même date" + +#: templates/edit/edit.inc:285 templates/view/view.inc:119 +msgid "on the same weekday" +msgstr "äÝÓ Çáíæã Ýí ÇáÇÓÈæÚ" + +#: config/prefs.php.dist:128 +msgid "week" +msgstr "ÇÓÈæÚ" + +#: templates/edit/edit.inc:266 templates/view/view.inc:115 +msgid "week(s) on:" +msgstr "ÇáÃÓÈæÚ (ÃÓÇÈíÚ) Ýí:" + +#: config/prefs.php.dist:129 config/prefs.php.dist:130 +#: config/prefs.php.dist:131 +msgid "weeks" +msgstr "ÇáÃÓÇÈíÚ" + +#: templates/edit/edit.inc:291 templates/view/view.inc:121 +msgid "year(s)" +msgstr "ÓäÉ (ÓäæÇÊ)" diff --git a/kronolith/po/bg_BG.po b/kronolith/po/bg_BG.po new file mode 100644 index 000000000..b51dc3dad --- /dev/null +++ b/kronolith/po/bg_BG.po @@ -0,0 +1,850 @@ +# Bulgarian translations for Kronolith package. +# Copyright 2002-2009 The Horde Project +# This file is distributed under the same license as the Kronolith package. +# Miroslav Pendev , 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 2.0-cvs\n" +"POT-Creation-Date: 2002-09-14 00:38-0400\n" +"PO-Revision-Date: 2002-11-19 20:44-0500\n" +"Last-Translator: Miroslav Pendev \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 hour" +msgstr "%d ÷àñ" + +#, c-format +msgid "%d hour, %d minute" +msgstr "%d ÷àñ, %d ìèíóòà" + +#, c-format +msgid "%d hour, %d minutes" +msgstr "%d ÷àñ, %d ìèíóòè" + +#, c-format +msgid "%d hours" +msgstr "%d ÷àñà" + +#, c-format +msgid "%d hours, %d minute" +msgstr "%d ÷àñà, %d ìèíóòà" + +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d ÷àñà, %d ìèíóòè" + +#, c-format +msgid "%d minute" +msgstr "%d ìèíóòà" + +#, c-format +msgid "%d minutes" +msgstr "%d ìèíóòè" + +#, c-format +msgid "%s Minutes before" +msgstr "%s Ìèíóòè ïðåäè" + +#, c-format +msgid "%s file successfully imported" +msgstr "%s ôàéë áåøå èìïîðòèðàí óñïåøíî" + +#, c-format +msgid "%s is in progress." +msgstr "%s å â ìîìåíòà." + +#, c-format +msgid "%s is starting now." +msgstr "%s çàïî÷âà ñåãà." + +#, c-format +msgid "%s starts in %s" +msgstr "%s çàïî÷âà ñëåä %s" + +msgid "* Add these by clicking Invite *" +msgstr "* Äîáàâåòå òåçè êàòî êëèêíåòå íà Invite *" + +msgid "* Please select address(es) *" +msgstr "* Ìîëÿ èçáåðåòå àäðåñ(è) *" + +msgid "Description" +msgstr "Îïèñàíèå" + +msgid "Description (optional)" +msgstr "Îïèñàíèå (îïöèîíàëíî)" + +msgid "Keywords" +msgstr "Êëþ÷îâè äóìè" + +msgid "Keywords (optional)" +msgstr "Êëþ÷îâè äóìè (îïöèîíàëíî)" + +msgid "Recurrence" +msgstr "Ïîâòîðÿåìîñò" + +msgid "Recurrence (optional)" +msgstr "Ïîâòîðÿåìîñò (îïöèîíàëíî)" + +msgid "Add Event" +msgstr "Äîáàâè ñúáèòèå" + +msgid "Add New Remote Calendar:" +msgstr "Äîáàâÿíå íà íîâ îòäàëå÷åí (íåëîêàëåí) Êàëåíäàð:" + +msgid "Add a new event" +msgstr "Äîáàâè íîâî ñúáèòèå" + +msgid "Add, remove, and edit categories." +msgstr "Äîáàâÿíå, ïðåìåñòâàíå è ïðåèìåíóâàíå íà êàòåãîðèè." + +msgid "Alarm" +msgstr "Àëàðìà" + +msgid "Alarm Date" +msgstr "Äàòà çà àëàðìà" + +msgid "Alarm Span (minutes)" +msgstr "Ïðîäúëæèòåëíîñò íà àëàðìàòà (ìèíóòè)" + +msgid "Alarm Time" +msgstr "×àñ çà àëàðìà" + +msgid "All day" +msgstr "Öåëèÿò äåí" + +msgid "All day event" +msgstr "Ñúáèòèÿ çà öåëèÿ äåí" + +msgid "All events" +msgstr "Âñè÷êè ñúáèòèÿ" + +#, c-format +msgid "Any events in a category that is deleted will become %s." +msgstr "Âñè÷êè ñúáèòèÿ â èçáðàíàòà êàòåãîðèÿ ùå ñòàíàò %s." + +msgid "At" +msgstr "â" + +msgid "Birthday" +msgstr "Ðîæäåí äåí" + +msgid "Calendar" +msgstr "Êàëåíäàð" + +msgid "Calendar's Type:" +msgstr "Òèï íà Êàëåíäàðà:" + +msgid "Calendar's name:" +msgstr "Èìå íà Êàëåíäàðà:" + +msgid "Calendars" +msgstr "Êàëåíäàðè" + +msgid "Category" +msgstr "Êàòåãîðèÿ" + +msgid "Category Management" +msgstr "Êàòåãîðèè Óïðàâëåíèå" + +msgid "Change the way dates and times are formatted." +msgstr "Ïðîìÿíà íà íà÷èíà, ïî êîèòî ñà ôîðìàòèðàíè äàòàòà è ÷àñà." + +msgid "Choose Color" +msgstr "Èçáåðè öâÿò" + +msgid "Confirm deletion of events?" +msgstr "Äà ñå èçèñêâà ëè ïîòâúðæäåíèå ïðè èçòðèâàíåòî íà ñúáèòèÿ?" + +msgid "Contact List" +msgstr "Êîíòàêòè" + +msgid "Create New Category" +msgstr "Ñúçäàé íîâà êàòåãîðèÿ" + +msgid "Create a New Event" +msgstr "Ñúçäàé íîâî ñúáèòèå" + +msgid "Daily: Recurs every" +msgstr "Äíåâíî: ïîâòàðÿ ñå âñåêè" + +msgid "Date and Time Options" +msgstr "Äàòà è ÷àñ Îïöèè" + +msgid "Day" +msgstr "Äåí" + +msgid "Day(s)" +msgstr "Äåí(äíè)" + +msgid "Delete" +msgstr "Èçòðèé" + +#, c-format +msgid "Delete %s" +msgstr "Èçòðèé %s" + +#, c-format +msgid "Delete '%s'" +msgstr "Èçòðèé '%s'" + +msgid "Delete Event" +msgstr "Èçòðèé ñúáèòèå" + +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Èçòðèé ñàìî òåêóùîòî ñúáèòèå, òîâà è âñè÷êè áúäåùè ïîÿâÿâàíèÿ, èëè âñè÷êè " +"ïîÿâÿâàíèÿ?" + +msgid "Description" +msgstr "Îïèñàíèå" + +msgid "Description:" +msgstr "Îïèñàíèå:" + +msgid "Display" +msgstr "Ïîêàæè" + +msgid "Display 24-hour times?" +msgstr "Äà ñå ïîêàçâà ëè 24 ÷àñîâî âðåìå?" + +msgid "Display Options" +msgstr "Äèñïëåé Îïöèè" + +#, c-format +msgid "Due: %s" +msgstr "Çàäúëæåíèå: %s" + +msgid "Duration" +msgstr "Ïðîäúëæèòåëíîñò" + +msgid "Edit" +msgstr "Ðåäàêöèÿ" + +#, c-format +msgid "Edit %s" +msgstr "Ðåäàêöèÿ íà %s" + +#, c-format +msgid "Edit '%s'" +msgstr "Ðåäàêòèðàé '%s'" + +msgid "Edit Remote Calendars" +msgstr "Ðåäàêöèÿ íà îòäàëå÷åíè (íåëîêàëíè) êàëåíäàðè." + +msgid "Edit your calendars." +msgstr "Ðåäàêòèðàé êàëåíäàðèòå ñè." + +msgid "Email Address" +msgstr "Åmail àäðåñ" + +msgid "End Date" +msgstr "Êðàéíà äàòà" + +msgid "End On" +msgstr "Êðàé íà" + +msgid "End Time" +msgstr "Êðàåí ÷àñ" + +#, c-format +msgid "Event from %s to %s" +msgstr "Ñúáèòèå îò %s äî %s" + +msgid "Existing Remote Calendars:" +msgstr "Íåëîêàëíè Êàëåíäàðè:" + +msgid "Export Calendar" +msgstr "Åêñïîðò íà Êàëåíäàð" + +msgid "Find" +msgstr "Òúðñè" + +msgid "Fr" +msgstr "Ïê" + +msgid "Friday" +msgstr "Ïåòúê" + +msgid "Game" +msgstr "Èãðà" + +msgid "Goto" +msgstr "Èäè íà" + +msgid "Help" +msgstr "Ïîìîù" + +msgid "Hour(s)" +msgstr "×àñ(à)" + +msgid "" +"How many days into the future should we generate free/busy information for?" +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 Calendar" +msgstr "Èìïîðò íà Êàëåíäàð" + +msgid "Import/Export" +msgstr "Èìïîðò/Åêñïîðò" + +msgid "Import/Export Calendar" +msgstr "Èìïîðò/Åêñïîðò Êàëåíäàð" + +msgid "Invite" +msgstr "Ïîêàíè" + +#, c-format +msgid "Invite people to %s" +msgstr "Ïîêàíè õîðà â %s" + +#, c-format +msgid "Invite people to '%s'" +msgstr "Ïîêàíè õîðà â '%s'" + +msgid "Keywords" +msgstr "Êëþ÷îâè äóìè" + +msgid "Kronolith is not properly configured" +msgstr "Kronolith íå å êîíôèãóðèðàí ïðàâèëíî" + +msgid "Language" +msgstr "Åçèê" + +msgid "Last Month" +msgstr "Ïðåäèøåí ìåñåö" + +msgid "Last week" +msgstr "Ïðåäèøíà ñåäìèöà" + +msgid "Lasts" +msgstr "Èçìèíàëè" + +msgid "Limit the time span to export:" +msgstr "Îãðàíè÷è ïðîäúëæèòåëíîñòòà çà åêñïîðò:" + +msgid "Location" +msgstr "Ìÿñòî" + +msgid "Manage multiple calendars." +msgstr "Óïðàâëÿâàíå íà ìíîæåñòâî êàëåíäàðè." + +msgid "Manage remote calendars." +msgstr "Óïðàâëÿâàíå íà íåëîêàëíèòå êàëåíäàðè." + +msgid "Meeting" +msgstr "Ñðåùà" + +msgid "Minute(s)" +msgstr "Ìèíóòà(è)" + +msgid "Minutes" +msgstr "Ìèíóòè" + +msgid "Mo" +msgstr "Ïí" + +msgid "Monday" +msgstr "Ïîíåäåëíèê" + +msgid "Month" +msgstr "Ìåñåö" + +msgid "Monthly: Recurs every" +msgstr "Ìåñå÷íî: ïîâòàðÿ ñå âñåêè" + +msgid "My Calendar" +msgstr "Ìîÿò Êàëåíäàð" + +msgid "Name" +msgstr "Èìå" + +msgid "Name:" +msgstr "Èìå:" + +msgid "New Category" +msgstr "Íîâà êàòåãîðèÿ" + +msgid "New Event" +msgstr "Íîâî ñúáèòèå" + +msgid "Next Month" +msgstr "Ñëåäâàù ìåñåö" + +msgid "Next day" +msgstr "Ñëåäâàù äåí" + +msgid "Next week" +msgstr "Ñëåäâàùà ñåäìèöà" + +msgid "No calendars are available to guests." +msgstr "Íÿìà êàëåíäàðè äîñòúïíè çà ãîñòè." + +msgid "No configuration information specified for SQL Calendar." +msgstr "Íÿìà çàäàäåíà êîíôèãóðàöèÿ çà SQL Êàëåíäàð" + +msgid "No end date" +msgstr "Íÿìà êðàéíà äàòà" + +msgid "None" +msgstr "Íÿìà" + +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"Áåëåæêà: Èìïîðòèðàíåòî íå å âúçìîæíî ñ òàçè êîíôèãóðàöèÿ ïîðàäè, ïðîáëåì â " +"êàëåíäàðíèÿò äðàéâåð." + +msgid "Options" +msgstr "Îïöèè" + +msgid "Other Options" +msgstr "Äðóãè Îïöèè" + +msgid "Pattern" +msgstr "Ïîâòîðÿåìîñò" + +msgid "Permanently delete this event?" +msgstr "Äà ñå çàëè÷è ëè òîâà ñúáèòèå?" + +msgid "Previous day" +msgstr "Ïðåäèøåí äåí" + +msgid "Print" +msgstr "Îòïå÷àòàé" + +msgid "Private" +msgstr "×àñòåí" + +msgid "Recur Until" +msgstr "Ïîâòàðÿé äîêàòî" + +msgid "Recurrence Data" +msgstr "Ïîâòîðÿåìè äàííè" + +msgid "Recurrence End Date" +msgstr "Êðàéíà äàòà çà ïîâòîðÿåìîñòòà" + +msgid "Recurrence Interval" +msgstr "Ïîâòîðÿåìîñò èíòåðâàë" + +msgid "Recurrence Type" +msgstr "Òèï íà ïîâòîðÿåìîñòòà" + +msgid "Recurs daily" +msgstr "Ïîâòàðÿé âñåêè äåí" + +msgid "Recurs monthly" +msgstr "Ïîâòàðÿé ìåñå÷íî" + +msgid "Recurs not" +msgstr "Íå ïîâòàðÿé" + +msgid "Recurs weekly" +msgstr "Ïîâòàðÿé ñåäìè÷íî" + +msgid "Recurs yearly" +msgstr "Ïîâòàðÿé ãîäèøíî" + +msgid "Remote Calendars" +msgstr "Íåëîêàëíè Êàëåíäàðè" + +msgid "Rename" +msgstr "Ïðåèìåíóâàé" + +msgid "Required 'hostspec' not specified in calendar configuration." +msgstr "Íåîáõîäèìàòà 'hostspec' íå å çàäàäåíà â êîíôèãóðàöèÿòà íà Êàëåíäàð." + +msgid "Required 'password' not specified in calendar configuration." +msgstr "Íåîáõîäèìàòà 'password' íå å çàäàäåíà â êîíôèãóðàöèÿòà íà Êàëåíäàð." + +msgid "Required 'phptype' not specified in calendar configuration." +msgstr "Íåîáõîäèìèÿò 'phptype' íå å çàäàäåí â êîíôèãóðàöèÿòà íà Êàëåíäàð." + +msgid "Required 'username' not specified in calendar configuration." +msgstr "Íåîáõîäèìîòî 'username' íå å çàäàäåíî â êîíôèãóðàöèÿòà íà Êàëåíäàð." + +msgid "Sa" +msgstr "Ñá" + +msgid "Saturday" +msgstr "Ñúáîòà" + +msgid "Save As New" +msgstr "Çàïèøè êàòî íîâî" + +msgid "Save Event" +msgstr "Çàïèøè ñúáèòèå" + +msgid "Select Category" +msgstr "Èçáåðè Êàòåãîðèÿ" + +msgid "Select a calendar" +msgstr "Èçáåðè êàëåíäàð" + +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Èçáåðåòå îïöèèòå çà ïîòâúðæäåíèå, êàê äà ñå ïîêàçâàò ðàçëè÷íèòå èçãëåäè è " +"èçãëåäà ïî ïîäðàçáèðàíå." + +msgid "Select how to display Dates:" +msgstr "Èçáåðåòå êàê äà ñå ïîêàçâàò äàòèòå:" + +msgid "Select if to show due tasks in the calendar." +msgstr "Èçáåðåòå äàëè äà ñå ïîêàçâàò çàäà÷è â êàëåíäàðà." + +msgid "Select the calendar to import to:" +msgstr "Èçáåðåòå êàëåíäàð çà èìïîðò:" + +msgid "Select the file to import:" +msgstr "Èçáåðåòå ôàéë çà èìïîðò:" + +msgid "Select the first weekday:" +msgstr "Èçáåðåòå êîé äà å ïúðâèÿò äåí íà ñåäìèöàòà:" + +msgid "Select the format to export to:" +msgstr "Èçáåðåòå ôîðìàò, êúì êîéòî äà ñå åêñïîðòèðà:" + +msgid "Select the source to import from:" +msgstr "Èçáåðåòå èçòî÷íèêà çà èìïîðò:" + +msgid "Select the time span to show:" +msgstr "Èçáåðåòå ïðîäúëæèòåëíîñòòà, êîÿòî äà ñå ïîêàçâà:" + +msgid "Select the view to display after login:" +msgstr "Èçáåðåòå èçãëåäà, êîéòî äà ñå âèæäà ñëåä âõîä:" + +msgid "Select which events to show in the Horde summary." +msgstr "Èçáåðåòå ñúáèòèÿòà, êîèòî äà áúäàò ïîêàçàíè â îáîáùåíèåòî íà Horde." + +msgid "Set the current time zone." +msgstr "Íàñòðîé ÷àñîâàòà çîíà." + +msgid "Set the language that menu items, explanations, and help are in." +msgstr "Èçáåðåòå åçèêà, íà êîèòî ñå ïîêàçâàò ìåíþòà, îáÿñíåíèÿ è ïîìîù." + +msgid "Set your preferred display language." +msgstr "Èçáåðåòå ïðåäïî÷èòàíèÿò îò Âàñ åçèê çà äèñïëåÿ." + +msgid "Shared" +msgstr "Ïîäåëåí" + +msgid "Show" +msgstr "Ïîêàçâàíå" + +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Ïîêàæè èçòðèé, àëàðìà è ïîâòîðÿåìîñò èêîíè â èçãëåäèòå íà êàëåíäàðèòå?" + +msgid "Show due tasks in the calendar?" +msgstr "Äà ñå ïîêàçâàò ëè çàäà÷è â êàëåíäàðà?" + +msgid "Show half hour slots in day and week views?" +msgstr "Äà ñå ïîêàçâàò ëè ïîëîâèí-÷àñîâè èíòåðâàëè â äíåâíèÿò è ñåäìè÷íèÿò " +"èçãëåä?" + +msgid "Show only events that have an alarm set?" +msgstr "Äà ñå ïîêàçâàò ëè ñàìî ñúáèòèÿòà, êîèòî èìàò íàñòðîåíà àëàðìà?" + +msgid "Show the Calendar icon on the menubar?" +msgstr "Äà ñå ïîêàçâà ëè \"Êàëåíäàð\" èêîíà â ìåíþ ëåíòàòà?" + +msgid "Some of Kronolith's configuration files are missing:" +msgstr "Íÿêîè îò êîíôèãóðàöèîííèòå ôàéëîâå íà Kronolith ëèïñâàò:" + +msgid "Start Date" +msgstr "Íà÷àëíà äàòà" + +msgid "Start On" +msgstr "Çàïî÷âà íà" + +msgid "Start Time" +msgstr "Íà÷àëåí ÷àñ" + +msgid "Su" +msgstr "Íä" + +msgid "Summary" +msgstr "Îáîáùåíèå" + +msgid "Sunday" +msgstr "Íåäåëÿ" + +msgid "Tasks" +msgstr "Çàäà÷è" + +msgid "Th" +msgstr "×ò" + +#, c-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Êàëåíäàðúò \"%s\" íå ìîæå äà áúäå èçòðèò." + +#, c-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Êàëåíäàðúò \"%s\" áåøå èçòðèò." + +#, c-format +msgid "The calendar \"%s\" has been saved." +msgstr "Êàëåíäàðúò \"%s\" áåøå çàïèñàí." + +msgid "The calendar name is empty." +msgstr "Èìåòî íà Êàëåíäàðúò å ïðàçíî." + +msgid "The data was lost." +msgstr "Äàííèòå áÿõà èçãóáåíè." + +msgid "The file contained no data." +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 iCalendar data." +msgstr "Ãðåøêà ïðè èìïîðòèðàíå íà iCalendat äàííè." + +msgid "There was an error importing the uploaded file" +msgstr "Ãðåøêà ïðè èìïîðòèðàíå íà èçïðàòåíèÿ ôàéë" + +#, c-format +msgid "There was an error importing the uploaded file: %s." +msgstr "Ãðåøêà ïðè èìïîðò íà èçïðàòåíèÿ ôàéë: %s." + +#, c-format +msgid "There was an error sending your invitation: %s" +msgstr "Ãðåøêà ïðè èçïðàùàíå íà ïîêàíàòà: %s" + +msgid "There were no events to export." +msgstr "Íÿìà ñúáèòèÿ çà åêñïîðò." + +msgid "These changes can not be undone!" +msgstr "Òåçè ïðîìåíè íå ìîãàò äà áúäàò âúðíàòè!" + +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"Òîçè ôàéë êîíòðîëèðà ïîäðàçáèðàùèòå ñå íàñòðîéêè çà Kronolith, êàêòî è êîè " +"îò òÿõ ìîæåòå äà ïðîìåíÿòå." + +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 Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "" +"Òîâà å ãëàâíèÿò êîíôèãóðàöèîíåí ôàéë íà Kronolith. Òîé ñúäúðæà ïúòèùà è " +"îïöèè çà âñè÷êè ñêðèïòîâå íà Kronolith." + +msgid "Thursday" +msgstr "×åòâúðòúê" + +msgid "Time Zone" +msgstr "×àñîâà çîíà" + +msgid "Title" +msgstr "Äëúæíîñò" + +msgid "Today" +msgstr "Äíåñ" + +msgid "Tomorrow" +msgstr "Óòðå" + +msgid "Tu" +msgstr "Âò" + +msgid "Tuesday" +msgstr "Âòîðíèê" + +msgid "Type" +msgstr "Òèï" + +msgid "URL" +msgstr "URL" + +msgid "URL:" +msgstr "URL:" + +#, c-format +msgid "Unable to delete \"%s\": %s" +msgstr "Ãðåøêà ïðè èçòðèâàíå \"%s\": %s." + +#, c-format +msgid "Unable to delete %s." +msgstr "Ãðåøêà ïðè èçòðèâàíå íà %s." + +#, c-format +msgid "Unable to load the definition of %s." +msgstr "Ãðåøêà ïðè çàðåæäàíå íà äåôèíèöèÿòà íà %s." + +msgid "Unfiled" +msgstr "Íåïîïúëíåí" + +msgid "User Interface" +msgstr "Ïîòðåáèòåëñêè èíòåðôåéñ" + +msgid "User Options" +msgstr "Ïîòðåáèòåëñêè îïöèè" + +#, c-format +msgid "View %s" +msgstr "Èçãëåä %s" + +msgid "We" +msgstr "Ñð" + +msgid "Wednesday" +msgstr "Ñðÿäà" + +msgid "Week" +msgstr "Ñåäìèöà" + +#, c-format +msgid "Week %d" +msgstr "Ñåäìèöà %d" + +#, c-format +msgid "Week %d" +msgstr "Ñåäìèöà %d" + +msgid "Week(s)" +msgstr "Ñåäìèöà(è)" + +msgid "Weekly: Recurs every" +msgstr "Ñåäìè÷íî: ïîâòàðÿ ñå âñÿêà" + +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "Êîãà äà çàâúðøâàò äíåâíèÿò è ñåäìè÷íèÿò èçãëåä?" + +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "Êîãà äà çàïî÷âàò äíåâíèÿò è ñåäìè÷íèÿò èçãëåä?" + +msgid "Work Week" +msgstr "Ðàáîòíà ñåäìèöà" + +msgid "Yearly: Recurs every" +msgstr "Ãîäèøíî: ïîâòàðÿ ñå âñÿêà" + +msgid "You do not have permission to add events to the selected calendar." +msgstr "Íÿìàòå ïðàâà çà äîáàâÿíå íà ñúáèòèÿ êúì èçáðàíèÿ êàëåíäàð." + +msgid "You do not have permission to delete this event." +msgstr "Íÿìàòå ïðàâà äà èçòðèåòå òîâà ñúáèòèå." + +msgid "" +"You don't have an email address configured in your preferences. You must set " +"one before sending invitations." +msgstr "" +"Íå ñòå âúâåëè email àäðåñ âúâ âàøèòå íàñòðîéêè. Òðÿáâà äà çàäàäåòå àäðåñ " +"ïðåäè äà ìîæåòå äà èçïðàùàòå ïîêàíè." + +#, c-format +msgid "You have been invited to %s" +msgstr "Âèå áÿõòå ïîêàíåí â %s" + +#, c-format +msgid "" +"You have been invited to %s.\n" +"\n" +"Here is a more detailed description:\n" +"\n" +"%s\n" +"\n" +"Attached is an iCalendar file describing this event." +msgstr "" +"Áÿõòå ïîêàíåí â %s.\n" +"\n" +"Òîâà å ïî-äåòàéëíî îïèñàíèå:\n" +"\n" +"%s\n" +"\n" +"Ïðèêðåïåí å iCalendar ôàéë îïèñâàù ñúáèòèåòî." + +msgid "You have specified an invalid calendar." +msgstr "Çàäàëè ñòå íåâàëèäåí êàëåíäàð." + +msgid "You must select a calendar to be deleted." +msgstr "Òðÿáâà äà èçáåðåòå êàëåíäàð, êîéòî äà áúäå èçòðèò." + +msgid "Your Information" +msgstr "Èíôîðìàöèÿ çà Âàñ" + +msgid "Your calendars:" +msgstr "Âàøèòå êàëåíäàðè:" + +msgid "Your current time zone:" +msgstr "Âàøàòà ÷àñîâà çîíà:" + +msgid "Your default calendar:" +msgstr "Âàøèÿò êàëåíäàð ïî ïîäðàçáèðàíå:" + +msgid "Your invitation was successfully sent." +msgstr "Âàøàòà ïîêàíà áåøå èçïðàòåíà óñïåøíî." + +msgid "day" +msgstr "äåí" + +msgid "day(s)" +msgstr "äåí(äíè)" + +msgid "days" +msgstr "äíè" + +msgid "from" +msgstr "îò" + +msgid "iCalendar file successfully imported" +msgstr "iCalendar ôàéëúò áåøå èìïîðòèðàí óñïåøíî" + +msgid "month(s)" +msgstr "ìåñåö(à)" + +msgid "no time" +msgstr "áåç ÷àñ" + +msgid "on the same date" +msgstr "íà ñúùàòà äàòà" + +msgid "on the same weekday" +msgstr "íà ñúùèÿò ðàáîòåí äåí" + +msgid "week" +msgstr "ñåäìèöà" + +msgid "week(s) on:" +msgstr "ñåäìèöà(è):" + +msgid "weeks" +msgstr "ñåäìèöè" + +msgid "year(s)" +msgstr "ãîäèíà" diff --git a/kronolith/po/ca_ES.po b/kronolith/po/ca_ES.po new file mode 100644 index 000000000..6529d00dd --- /dev/null +++ b/kronolith/po/ca_ES.po @@ -0,0 +1,1898 @@ +# Catalan translations for Kronolith package. +# Copyright 2005-2009 The Horde Project +# This file is distributed under the same license as the Kronolith package. +# Automatically generated, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith H3 (2.0.4)\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2005-10-13 17:13+0200\n" +"PO-Revision-Date: 2007-02-01 12:24+0100\n" +"Last-Translator: Jordi Giralt \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" + +#: templates/calendars/search.inc:16 +#, php-format +msgid "%d calendars found" +msgstr "%d calendaris trobats" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d actes" + +#: templates/edit/edit_timespan.inc:123 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s dia(es) %s hora(es) %s minuts" + +#: lib/Driver.php:1805 +#, php-format +msgid "%s attendees" +msgstr "%s assistents" + +#: data.php:282 +#, php-format +msgid "%s file successfully imported" +msgstr "L'arxiu %s ha estat importat correctament" + +#: calendars.php:105 lib/base.php:129 +#, php-format +msgid "%s's Calendar" +msgstr "Agenda de %s" + +#: templates/calendars/search.inc:17 +msgid "" +"(Click on calendar name to switch the calendar's visibility in the main " +"window)" +msgstr "" +"(Premi el nom del calendari per a commutar la seva visibilitat en la " +"finestra principal) " + +#: templates/contacts/contacts.inc:165 +msgid "* Add these by clicking Add *" +msgstr "* Agregar aquests fent clic a Afegir *" + +#: templates/contacts/contacts.inc:151 +msgid "* Please select address(es) *" +msgstr "* Si us plau, seleccioni la(es) adreça(es) * " + +#: lib/Driver.php:1804 +msgid "1 attendee" +msgstr "1 assistent" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 acte" + +#: config/prefs.php.dist:137 +msgid "1 hour" +msgstr "1 Hora:" + +#: config/prefs.php.dist:134 +msgid "15 minutes" +msgstr "15 minuts" + +#: config/prefs.php.dist:135 +msgid "20 minutes" +msgstr "20 minuts" + +#: config/prefs.php.dist:136 +msgid "30 minutes" +msgstr "30 minuts" + +#: templates/edit/edit.inc:169 +msgid "Attendees (optional)" +msgstr "Assistents (opcional)" + +#: templates/edit/edit.inc:147 +msgid "Descri_ption (optional)" +msgstr "Descripció (opcional)" + +#: templates/edit/edit.inc:274 +msgid "Keywords (optional)" +msgstr "Paraules clau (opcional)" + +#: templates/edit/edit.inc:192 +msgid "Recurrence (optional)" +msgstr "Repetició (opcional)" + +#: templates/data/export.inc:113 templates/data/export.inc:193 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:602 +msgid "Accepted" +msgstr "Acceptat" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Cerca avançada" + +#: templates/contacts/contacts.inc:160 +msgid "Add" +msgstr "Afegeix" + +#: templates/edit/edit.inc:22 +msgid "Add Event" +msgstr "Afegeix acte" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Afegeix una agenda remota nova" + +#: addevent.php:64 +msgid "Add a new event" +msgstr "Afegeix un acte nou" + +#: templates/attendees/attendees.inc:71 +msgid "Add attendees" +msgstr "Afegeixassistents" + +#: templates/contacts/contacts.inc:185 +msgid "Add to attendees" +msgstr "Afegir a assistents" + +#: contacts.php:76 templates/contacts/contacts.inc:128 +#: templates/attendees/attendees.inc:74 +msgid "Address Book" +msgstr "Llibreta d'adreces" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Cerca avançada" + +#: templates/view/view.inc:53 +msgid "Alarm" +msgstr "Alarma" + +#: lib/Driver.php:1780 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarma %d dies abans" + +#: lib/Driver.php:1785 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarma %d hores abans" + +#: lib/Driver.php:1790 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarma %d minuts abans" + +#: lib/Driver.php:1775 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarma %d setmanes abans" + +#: lib/Driver.php:1779 +msgid "Alarm 1 day before" +msgstr "Alarma 1 dia abans" + +#: lib/Driver.php:1784 +msgid "Alarm 1 hour before" +msgstr "Alarma 1 hora abans" + +#: lib/Driver.php:1789 +msgid "Alarm 1 minute before" +msgstr "Alarma 1 minut abans" + +#: lib/Driver.php:1774 +msgid "Alarm 1 week before" +msgstr "Alarma 1 setmana abans" + +#: data.php:59 +msgid "Alarm Date" +msgstr "Data de l'alarma" + +#: data.php:58 +msgid "Alarm Span (minutes)" +msgstr "Durada de l'alarma (minuts)" + +#: data.php:60 +msgid "Alarm Time" +msgstr "Hora de l'alarma" + +#: templates/delete/delete.inc:34 +msgid "All" +msgstr "Tots" + +#: lib/FBView.php:128 lib/FBView.php:131 lib/FBView.php:134 +msgid "All Attendees" +msgstr "Tots els assistents" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Tots els futurs" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Tots els passats" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "All Visible" +msgstr "Tots els visibles" + +#: templates/edit/edit_timespan.inc:122 lib/DayView.php:90 lib/DayView.php:93 +#: lib/WeekView.php:127 lib/WeekView.php:134 lib/Driver.php:1867 +msgid "All day" +msgstr "Tot el dia" + +#: lib/Block/summary.php:164 +msgid "All day event" +msgstr "Acte de tot el dia" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Tots els actes" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:695 +msgid "Any" +msgstr "Qualsevol" + +#: templates/javascript/goto.inc:71 +msgid "April" +msgstr "Abril" + +#: templates/edit/edit_timespan.inc:39 templates/edit/edit_timespan.inc:93 +#: templates/data/export.inc:82 templates/data/export.inc:168 +msgid "At" +msgstr "A les" + +#: lib/Kronolith.php:1046 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"S'adjunta un arxiu iCalendar amb més informació sobre l'esdeveniment. Si el " +"seu client de correu suporta sol·licituds iTip, pot utilitzar l'arxiu per a " +"actualitzar fàcilment la seva còpia local de l'esdeveniment. " + +#: templates/attendees/attendees.inc:42 templates/view/view.inc:165 +msgid "Attendance" +msgstr "Assistència" + +#: templates/view/view.inc:161 +msgid "Attendees" +msgstr "Assistents" + +#: templates/javascript/goto.inc:75 +msgid "August" +msgstr "Agost" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "Cerca simple" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Aniversari" + +#: lib/FBView.php:90 lib/FBView.php:111 +msgid "Busy" +msgstr "Ocupat" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "_Agenda" + +#: templates/edit/edit.inc:47 +msgid "Cal_endar" +msgstr "_Agenda" + +#: templates/calendars/calendars.inc:149 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Agenda" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Resum de l'agenda" + +#: data.php:233 +msgid "Calendar successfully purged." +msgstr "L'agenda s'ha eliminat correctament." + +#: config/prefs.php.dist:36 config/prefs.php.dist:43 config/prefs.php.dist:50 +#: config/prefs.php.dist:57 +msgid "Calendars" +msgstr "Agendes" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Les agendes han de tenir un nom." + +#: data.php:248 +msgid "Can't create a new event." +msgstr "No es pot crear un acte nou." + +#: templates/delete/one.inc:33 templates/delete/delete.inc:35 +#: templates/edit/edit.inc:31 templates/edit/edit.inc:307 +msgid "Cancel" +msgstr "Anul·la" + +#: lib/Kronolith.php:578 +msgid "Cancelled" +msgstr "Anul·lat" + +#: lib/Kronolith.php:1021 +#, php-format +msgid "Cancelled: %s" +msgstr "Anul·lat: %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:67 +msgid "Categor_y" +msgstr "Categori_a" + +#: data.php:62 templates/search/event_headers.inc:4 templates/view/view.inc:13 +msgid "Category" +msgstr "Categoria" + +#: config/prefs.php.dist:279 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Trii si desitja que se li notifiquin per correu electrònic els esdeveniments " +"nous, modificats o eliminats: " + +#: config/prefs.php.dist:52 +msgid "Choose if you want to be notified of new, edited, and deleted events." +msgstr "" +"Trii si desitja que se li notifiquin els esdeveniments nous, modificats o " +"eliminats. " + +#: config/prefs.php.dist:292 +msgid "Choose if you want to receive email reminders for events with alarms:" +msgstr "" +"Trii si vol rebre recordatoris per correu dels esdeveniments amb alarmes: " + +#: templates/prefs/search_abook_select.inc:19 config/prefs.php.dist:312 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "" +"Trii les llibretes d'adreces en les quals buscar URLs d'informació de temps " +"disponible" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "" +"Trii les agendes que vol que s'incloguin en la informació de Temps " +"Disponible: " + +#: config/prefs.php.dist:324 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "" +"Trii les llibretes d'adreces on voleu cercar URL amb informació sobre el " +"temps disponible" + +#: config/prefs.php.dist:38 +msgid "Choose your default calendar." +msgstr "Trii l'agenda predeterminada." + +#: templates/attendees/attendees.inc:84 +msgid "Clear all attendees" +msgstr "Esborrar tots els assistents" + +#: templates/contacts/contacts.inc:186 +#, fuzzy +msgid "Close window" +msgstr "Tanca la finestra" + +#: data.php:28 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Valors separats per comes" + +#: config/prefs.php.dist:73 +msgid "Confirm deletion of events?" +msgstr "Confirmar eliminació d'esdeveniments? " + +#: lib/Kronolith.php:575 +msgid "Confirmed" +msgstr "Confirmat" + +#: templates/calendars/calendars.inc:217 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" +"Copiï la següent URL per a usar-la sempre que necessiti la seva URL de temps " +"disponible: " + +#: lib/Kronolith.php:163 +#, php-format +msgid "Could not open %s." +msgstr "No s'ha pogut obrir %s." + +#: templates/calendars/calendars.inc:129 +msgid "Create" +msgstr "Crear" + +#: templates/calendars/calendars.inc:115 +msgid "Create Calendar" +msgstr "Crear agenda " + +#: month.php:163 templates/week/head.inc:25 templates/day/row.inc:6 +#: lib/DayView.php:90 lib/DayView.php:195 +msgid "Create a New Event" +msgstr "Crear un acte nou" + +#: templates/view/view.inc:80 +msgid "Created" +msgstr "Creat" + +#: templates/delete/delete.inc:32 +msgid "Current" +msgstr "Actual" + +#: templates/view/view.inc:112 templates/edit/edit.inc:206 +msgid "Daily: Recurs every" +msgstr "Diàriament: Es repeteix cada" + +#: attendees.php:106 lib/Kronolith.php:1311 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:82 +msgid "Day" +msgstr "Dia" + +#: templates/view/view.inc:62 templates/edit/edit.inc:137 +msgid "Day(s)" +msgstr "Dia(es)" + +#: viewevent.php:113 +msgid "De_lete" +msgstr "Esborra_r" + +#: templates/javascript/goto.inc:79 +msgid "December" +msgstr "Desembre" + +#: lib/Kronolith.php:605 +msgid "Declined" +msgstr "Rebutjada" + +#: config/prefs.php.dist:37 +msgid "Default Calendar" +msgstr "Agenda predeterminada" + +#: templates/calendars/calendars.inc:204 templates/delete/one.inc:32 +#: templates/prefs/remote_cal_management.inc:23 lib/Driver.php:1848 +msgid "Delete" +msgstr "Suprimir" + +#: delevent.php:40 templates/delete/one.inc:21 templates/delete/delete.inc:21 +#: lib/Driver.php:1847 +#, php-format +msgid "Delete %s" +msgstr "Suprimir %s" + +#: editevent.php:72 +msgid "Delete Event" +msgstr "Suprimir l'acte" + +#: templates/delete/delete.inc:30 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Eliminar només l'esdeveniment actual, aquesta aparició i les futures, o " +"totes les aparicions? " + +#: templates/search/search_advanced.inc:103 templates/search/search.inc:28 +msgid "Descri_ption" +msgstr "Descripc_ó" + +#: data.php:61 templates/calendars/calendars.inc:178 +#: templates/view/view.inc:96 +msgid "Description" +msgstr "Descripció" + +#: templates/contacts/contacts.inc:174 +msgid "Display" +msgstr "Mostrar" + +#: templates/calendars/calendars.inc:63 +msgid "Display Calendars" +msgstr "Mostrar agendes" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:28 +msgid "Display Options" +msgstr "Opcions de visualització" + +#: config/prefs.php.dist:30 +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "Seleccioni com mostrar en l'agenda les tasques vençudes " + +#: lib/Kronolith.php:545 +msgid "Does not recur" +msgstr "No es repeteix" + +#: lib/Kronolith.php:326 +#, php-format +msgid "Due: %s" +msgstr "Vençut: %s" + +#: templates/edit/edit_timespan.inc:115 +msgid "Duration" +msgstr "Durada" + +#: templates/calendars/calendars.inc:173 lib/Driver.php:1834 +msgid "Edit" +msgstr "Editar" + +#: editevent.php:33 templates/edit/edit.inc:22 lib/Driver.php:1833 +#, php-format +msgid "Edit %s" +msgstr "Editar %s" + +#: templates/edit/edit.inc:185 +msgid "Edit Attendees" +msgstr "Modificar els assistents" + +#: templates/calendars/calendars.inc:143 +msgid "Edit Calendars" +msgstr "Edita les agendes remotes" + +#: config/prefs.php.dist:250 +msgid "Edit Remote Calendars" +msgstr "Edita les agendes remotes" + +#: attendees.php:146 +msgid "Edit attendees" +msgstr "Edita els assistents" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Edita les categories i els colors" + +#: templates/contacts/contacts.inc:177 templates/attendees/attendees.inc:41 +#: templates/view/view.inc:164 +msgid "Email Address" +msgstr "Adreça electrònica" + +#: templates/edit/edit_timespan.inc:60 +msgid "En_d" +msgstr "_Fi" + +#: data.php:56 +msgid "End Date" +msgstr "Data de finalització" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:47 +#: templates/data/export.inc:120 +msgid "End On" +msgstr "Acaba el" + +#: data.php:57 +msgid "End Time" +msgstr "Hora de finalització" + +#: attendees.php:120 attendees.php:131 attendees.php:138 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "" +"S'ha produït un error en recuperar la informació sobre el temps disponible " +"de %s: %s" + +#: lib/Kronolith.php:1113 +msgid "Event added:" +msgstr "Esdeveniment afegit" + +#: lib/Kronolith.php:1123 +msgid "Event deleted:" +msgstr "Esdeveniment eliminat" + +#: lib/Kronolith.php:1118 +msgid "Event edited:" +msgstr "Esdeveniment modificat: " + +#: lib/Driver.php:1072 +#, php-format +msgid "Event from %s to %s" +msgstr "Acte de %s per a %s" + +#: lib/Driver/sql.php:373 +msgid "Event not found" +msgstr "No s'ha trobat vEvent." + +#: lib/Driver.php:768 +msgid "Events must have a start date." +msgstr "Els actes han de tenir una data d'inici." + +#: lib/Driver.php:734 +msgid "Events must have a title." +msgstr "Els actes han de portar títol." + +#: templates/attendees/attendees.inc:75 +msgid "Expand Names" +msgstr "Nom de l'agenda" + +#: templates/data/export.inc:199 +msgid "Export" +msgstr "Exportar" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Exportar l'agenda" + +#: templates/javascript/goto.inc:69 +msgid "February" +msgstr "Febrer" + +#: templates/contacts/contacts.inc:133 +msgid "Find" +msgstr "Trobar" + +#: year.php:84 templates/javascript/goto.inc:63 templates/edit/edit.inc:219 +#: lib/Block/month.php:105 +msgid "Fr" +msgstr "Dv." + +#: lib/Kronolith.php:581 +#, fuzzy +msgid "Free" +msgstr "lliure" + +#: config/prefs.php.dist:58 +msgid "Free/Busy Information" +msgstr "Informació sobre el temps disponible" + +#: templates/month/head.inc:20 templates/view/view.inc:119 +#: templates/edit/javascript.inc:72 +msgid "Friday" +msgstr "Divendres" + +#: templates/delete/delete.inc:33 +msgid "Future" +msgstr "Futur" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Joc" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "General" + +#: lib/Block/summary.php:140 +#, php-format +msgid "Goto %s" +msgstr "Ves a %s" + +#: month.php:133 templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 +msgid "Hide" +msgstr "Oculta" + +#: month.php:133 templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 +#, php-format +msgid "Hide %s" +msgstr "Oculta %s" + +#: templates/view/view.inc:65 templates/edit/edit.inc:136 +msgid "Hour(s)" +msgstr "Hora(es)" + +#: config/prefs.php.dist:133 +msgid "How long should the time slots on the day and week views be?" +msgstr "Grandària de les divisions horàries en les vistes de dia i setmana? " + +#: config/prefs.php.dist:301 +msgid "How many days of free/busy information should we generate?" +msgstr "De quants dies es generarà la informació de temps disponible? " + +#: lib/Kronolith.php:1050 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s" +msgstr "" +"Si el seu client de correu no suporta peticions iTip, pot usar un dels " +"vincles següents per a acceptar o rebutjar l'esdeveniment.\n" +" \n" +" Per a acceptar-lo:\n" +"%s\n" +" \n" +" Per a acceptar-lo condicionalment:\n" +" %s\n" +" \n" +" Per a rebutjar-lo:\n" +" %s " + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importa l'agenda, pas %d" + +#: data.php:288 +msgid "Import/Export Calendar" +msgstr "Importa/Exporta l'agenda" + +#: templates/javascript/goto.inc:68 +msgid "January" +msgstr "Gener" + +#: templates/javascript/goto.inc:74 +msgid "July" +msgstr "Juliol" + +#: templates/javascript/goto.inc:73 +msgid "June" +msgstr "Juny" + +#: data.php:64 templates/view/view.inc:142 +msgid "Keywords" +msgstr "Paraules clau" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Les darreres 24 hores" + +#: templates/view/view.inc:87 +msgid "Last Modified" +msgstr "Darrera modificació" + +#: templates/month/head_side_by_side.inc:4 +#: templates/month/head_side_by_side.inc:10 +#: templates/month/head_side_by_side.inc:16 templates/month/head.inc:4 +msgid "Last Month" +msgstr "Darrer mes" + +#: templates/year/head.inc:4 +msgid "Last Year" +msgstr "L'any passat" + +#: templates/search/search.inc:54 templates/week/head.inc:3 +msgid "Last week" +msgstr "Darrera setmana" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Limita l'espai de temps que s'ha d'exportar:" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:74 +msgid "Lo_cation" +msgstr "Ubicació" + +#: data.php:63 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 templates/view/view.inc:21 +#: lib/Driver.php:1884 +msgid "Location" +msgstr "Ubicació" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Gestiona les agendes remotes." + +#: templates/javascript/goto.inc:70 +msgid "March" +msgstr "Març" + +#: lib/api.php:100 +msgid "Maximum Number of Events" +msgstr "Nombre màxim d'events" + +#: templates/javascript/goto.inc:72 +msgid "May" +msgstr "Maig" + +#: lib/Driver.php:1881 +msgid "Me" +msgstr "Jo" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Reunió" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Menú d'alarma" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Llista de menús" + +#: templates/view/view.inc:68 templates/edit/edit.inc:135 +msgid "Minute(s)" +msgstr "Minut(s)" + +#: year.php:80 templates/javascript/goto.inc:59 templates/edit/edit.inc:215 +#: lib/Block/month.php:105 +msgid "Mo" +msgstr "Dl." + +#: templates/month/head.inc:16 templates/view/view.inc:115 +#: templates/edit/javascript.inc:68 config/prefs.php.dist:106 +msgid "Monday" +msgstr "Dilluns" + +#: lib/Kronolith.php:1314 lib/Block/tree_menu.php:24 config/prefs.php.dist:85 +msgid "Month" +msgstr "Mes" + +#: lib/Block/month.php:3 +msgid "Month View" +msgstr "Visualització del mes" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:43 +msgid "Monthly Events List" +msgstr "Llista d'actes mensual" + +#: templates/view/view.inc:124 templates/view/view.inc:126 +#: templates/edit/edit.inc:226 templates/edit/edit.inc:232 +msgid "Monthly: Recurs every" +msgstr "Mensualment: Es repeteix cada" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Propers mesos" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Mesos anteriors" + +#: lib/api.php:633 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "S'han trobat diversos elements iCalendar; només s'accepta un #vEvent#." + +#: calendars.php:128 templates/calendars/calendars.inc:70 +msgid "My Calendars" +msgstr "Les meves agendes" + +#: templates/menu.inc:34 templates/menu.inc:36 +msgid "My Calendars:" +msgstr "Les meves agendes:" + +#: templates/calendars/calendars.inc:213 +msgid "My Free/Busy URL" +msgstr "El meu URL amb informació sobre el temps disponible" + +#: templates/calendars/calendars.inc:120 templates/calendars/calendars.inc:162 +#: templates/contacts/contacts.inc:176 +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +msgid "Name" +msgstr "Nom" + +#: lib/Block/month.php:41 lib/Block/monthlist.php:44 lib/Block/summary.php:41 +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Acte nou" + +#: lib/base.php:163 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Agenda creada i compartida de forma automàtica amb/l'els següent(s) grup(s): " +"%s. " + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Següent" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Properes 24 hores" + +#: lib/FBView/day.php:29 +msgid "Next Day" +msgstr "Proper dia" + +#: templates/month/head_side_by_side.inc:6 +#: templates/month/head_side_by_side.inc:12 +#: templates/month/head_side_by_side.inc:18 templates/month/head.inc:6 +msgid "Next Month" +msgstr "Proper mes" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Propera setmana" + +#: templates/year/head.inc:6 +#, fuzzy +msgid "Next Year" +msgstr "fa un any" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Proper dia" + +#: templates/search/search.inc:58 templates/week/head.inc:5 +msgid "Next week" +msgstr "Propera setmana" + +#: config/prefs.php.dist:275 config/prefs.php.dist:288 +#, fuzzy +msgid "No" +msgstr "No" + +#: templates/view/view.inc:73 templates/edit/edit.inc:124 +msgid "No alarm" +msgstr "Sense alarma" + +#: templates/attendees/attendees.inc:48 +msgid "No attendees" +msgstr "Sense assistents" + +#: lib/Kronolith.php:1330 +msgid "No calendars are available to guests." +msgstr "No hi ha agendes disponibles per als visitants." + +#: templates/view/view.inc:136 templates/edit/edit.inc:252 +msgid "No end date" +msgstr "Sense data de finalització" + +#: lib/Block/prevmonthlist.php:164 lib/Block/monthlist.php:163 +#: lib/Block/summary.php:194 +msgid "No events to display" +msgstr "No hi ha actes per mostrar" + +#: lib/Storage/kolab.php:48 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "No hi ha informació sobre el temps disponible de %s" + +#: lib/api.php:344 lib/api.php:623 +msgid "No iCalendar data was found." +msgstr "No s'han trobat dades iCalendar." + +#: templates/edit/edit.inc:201 +msgid "No recurrence" +msgstr "Sense repetició" + +#: lib/Kronolith.php:902 +msgid "No valid email address found" +msgstr "No s'han trobat adreces electròniques vàlides" + +#: lib/Kronolith.php:612 lib/Kronolith.php:633 +msgid "None" +msgstr "Cap" + +#: lib/Storage/sql.php:145 +msgid "Not found" +msgstr "No s'ha trobat" + +#: config/prefs.php.dist:51 +#, fuzzy +msgid "Notifications" +msgstr "Avisos" + +#: templates/javascript/goto.inc:78 +msgid "November" +msgstr "Novembre" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Ara" + +#: templates/javascript/goto.inc:77 +msgid "October" +msgstr "Octubre" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:65 +#, fuzzy +msgid "On" +msgstr "A" + +#: config/prefs.php.dist:278 config/prefs.php.dist:291 +msgid "On all calendars I have read access to" +msgstr "De tots els calendaris als quals tinc accés " + +#: config/prefs.php.dist:277 config/prefs.php.dist:290 +msgid "On all shown calendars" +msgstr "De totes les agendes visibles " + +#: config/prefs.php.dist:276 config/prefs.php.dist:289 +msgid "On my calendars only" +msgstr "Només a les meves agendes" + +#: lib/Kronolith.php:630 +msgid "Optional" +msgstr "Opcional" + +#: lib/FBView.php:119 +msgid "Optional Attendees" +msgstr "Assistents opcionals" + +#: lib/FBView.php:154 +#, fuzzy +msgid "Overview" +msgstr "Resum" + +#: templates/view/view.inc:34 +msgid "Owner" +msgstr "Propietari" + +#: lib/Driver.php:1880 +#, php-format +msgid "Owner: %s" +msgstr "Propietari: %s" + +#: templates/data/export.inc:114 templates/data/export.inc:194 +msgid "PM" +msgstr "PM" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Past Events List" +msgstr "Llista d'actes passats" + +#: templates/view/view.inc:109 templates/edit/edit.inc:196 +msgid "Pattern" +msgstr "Patró" + +#: templates/delete/one.inc:30 +msgid "Permanently delete this event?" +msgstr "Eliminar permanentment aquest esdeveniment? " + +#: lib/api.php:325 lib/api.php:421 lib/api.php:493 lib/api.php:573 +#: lib/api.php:605 lib/api.php:691 lib/api.php:727 +msgid "Permission Denied" +msgstr "S'ha denegat el permís" + +#: templates/calendars/calendars.inc:170 +msgid "Permissions" +msgstr "Permisos" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Opcions del portal" + +#: lib/FBView/day.php:25 +msgid "Previous Day" +msgstr "Dia anterior" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Setmana anterior" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Dia anterior" + +#: templates/view/view.inc:135 templates/edit/edit.inc:249 +msgid "Recur Until" +msgstr "Es repeteix fins" + +#: templates/view/view.inc:106 +msgid "Recurrence" +msgstr "Repetició" + +#: data.php:68 +msgid "Recurrence Data" +msgstr "Data de la repetició" + +#: data.php:66 +msgid "Recurrence End Date" +msgstr "Data de finalització de la repetició" + +#: data.php:67 +msgid "Recurrence Interval" +msgstr "Interval de repetició" + +#: data.php:65 +msgid "Recurrence Type" +msgstr "Tipus de repetició" + +#: lib/Kronolith.php:548 +msgid "Recurs daily" +msgstr "Es repeteix cada dia" + +#: lib/Kronolith.php:555 +msgid "Recurs monthly" +msgstr "Es repeteix cada mes" + +#: lib/Kronolith.php:551 +msgid "Recurs weekly" +msgstr "Es repeteix cada setmana" + +#: lib/Kronolith.php:558 +msgid "Recurs yearly" +msgstr "Es repeteix cada any" + +#: lib/Scheduler/kronolith.php:208 +#, php-format +msgid "Reminder: %s" +msgstr "Recordatori: %s" + +#: templates/calendars/calendars.inc:94 config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Agendes remotes" + +#: templates/menu.inc:60 templates/menu.inc:62 +msgid "Remote Calendars:" +msgstr "Agendes remotes:" + +#: templates/calendars/calendars.inc:194 +msgid "Remote Subscription URL" +msgstr "URL de subscripció remota" + +#: templates/contacts/contacts.inc:161 +#, fuzzy +msgid "Remove" +msgstr "Elimina" + +#: templates/attendees/attendees.inc:51 +#, php-format +msgid "Remove %s" +msgstr "Eliminar %s" + +#: attendees.php:100 +msgid "Remove Attendee" +msgstr "Eliminar l'assistent" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Substituir l'agenda existent amb la importada? Avís: Ésto eliminarà " +"totes les entrades de l'agenda actual. " + +#: lib/Kronolith.php:637 +msgid "Required" +msgstr "Sol·licitat" + +#: lib/FBView.php:98 lib/FBView.php:139 lib/FBView.php:142 lib/FBView.php:145 +msgid "Required Attendees" +msgstr "Assistents sol·licitats" + +#: templates/edit/edit.inc:32 templates/edit/edit.inc:308 +msgid "Reset to Defaults" +msgstr "Reinicia amb els valors predeterminats" + +#: templates/attendees/attendees.inc:43 templates/view/view.inc:166 +msgid "Response" +msgstr "Resposta" + +#: year.php:85 templates/javascript/goto.inc:64 templates/edit/edit.inc:220 +#: lib/Block/month.php:105 +msgid "Sa" +msgstr "Ds." + +#: templates/month/head.inc:21 templates/view/view.inc:120 +#: templates/edit/javascript.inc:73 +msgid "Saturday" +msgstr "Dissabte" + +#: templates/calendars/calendars.inc:203 +msgid "Save" +msgstr "Desa" + +#: viewevent.php:135 editevent.php:49 editevent.php:57 +msgid "Save As New" +msgstr "Desa com a nou" + +#: templates/attendees/attendees.inc:83 +msgid "Save Attendees" +msgstr "Assistents" + +#: addevent.php:55 editevent.php:52 +msgid "Save Event" +msgstr "Desa l'acte" + +#: search.php:91 templates/search/search_advanced.inc:114 +#: templates/search/search.inc:67 templates/calendars/search.inc:8 +#: templates/contacts/contacts.inc:145 lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Cerca" + +#: templates/calendars/search.inc:1 +msgid "Search Calendars" +msgstr "Agendes compartides:" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Cerca els resultats" + +#: templates/calendars/search.inc:6 +#, fuzzy +msgid "Search for calendars containing:" +msgstr "Cerca un registre de directori" + +#: templates/calendars/calendars.inc:153 +msgid "Select a calendar to edit" +msgstr "Seleccioni una agenda a modificar " + +#: templates/edit/edit.inc:265 templates/edit/edit_timespan.inc:31 +#: templates/edit/edit_timespan.inc:83 +msgid "Select a date" +msgstr "Seleccioni una data" + +#: templates/menu.inc:30 +msgid "Select calendars to display:" +msgstr "Seleccioni les agendes mostrades: " + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Seleccioni opcions de confirmació, com mostrar les diferents vistes i " +"escojer la vista per defecte." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Seleccioni l'agenda a la qual importar: " + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Seleccioni la(es) agenda(es) des de la(es) que exportar " + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Seleccioni el format d'exportació:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Seleccioni l'arxiu que voleu importar:" + +#: config/prefs.php.dist:104 +msgid "Select the first weekday:" +msgstr "Seleccioni el primer dia laborable de la setmana:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Seleccioni el format de l'arxiu font:" + +#: config/prefs.php.dist:184 +msgid "Select the time span to show:" +msgstr "Seleccioni la durada que voleu mostrar:" + +#: config/prefs.php.dist:86 +msgid "Select the view to display on startup:" +msgstr "Seleccioni la visualització que es mostra a l'inici:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Seleccioni quins actes es mostren en el portal." + +#: templates/delete/one.inc:27 templates/delete/delete.inc:27 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"A l'esborrar aquest esdeveniment, enviar un avís d'anul·lació a tots els " +"assistents " + +#: templates/view/view.inc:170 +#, php-format +msgid "Send an email to %s" +msgstr "Enviar un correu electrònic a %s" + +#: templates/edit/edit.inc:179 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"Al desar aquest esdeveniment, enviar actualitzacions/invitacions a tots els " +"assistents " + +#: templates/javascript/goto.inc:76 +msgid "September" +msgstr "Setembre" + +#: templates/edit/edit_timespan.inc:83 +msgid "Set end date" +msgstr "Establir data final " + +#: templates/edit/edit.inc:265 +msgid "Set recurrence end date" +msgstr "Establir la data de finalització de la repetició" + +#: templates/edit/edit_timespan.inc:31 +msgid "Set start date" +msgstr "Establir la data d'inici" + +#: config/prefs.php.dist:59 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" +"Defineixi les seves agendes de temps disponible i la seva propietat i les " +"opcions de temps disponible per a altres usuaris. " + +#: calendars.php:77 +#, php-format +msgid "Share not found: %s" +msgstr "No s'han trobat elements compartides: %s" + +#: templates/calendars/calendars.inc:82 +msgid "Shared Calendars" +msgstr "Agendes compartides:" + +#: templates/menu.inc:47 templates/menu.inc:49 +msgid "Shared Calendars:" +msgstr "Agendes compartides:" + +#: calendar_search.php:25 templates/week/head_side_by_side.inc:3 +#: templates/day/head_side_by_side.inc:3 +msgid "Show Calendar" +msgstr "Mostrar l'agenda" + +#: config/prefs.php.dist:156 +msgid "Show category legend?" +msgstr "Mostrar comentaris de les categories? " + +#: config/prefs.php.dist:146 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"En les vistes d'agenda mostrar les icones eliminar, alarma i repetició? " + +#: config/prefs.php.dist:212 +msgid "Show due tasks in the calendar?" +msgstr "Mostrar les tasques vençudes en l'agenda? " + +#: config/prefs.php.dist:166 +msgid "Show free/busy legend?" +msgstr "Mostrar comentaris de temps disponible? " + +#: config/prefs.php.dist:203 +msgid "Show only events that have an alarm set?" +msgstr "Mostrar només els esdeveniments amb alarma? " + +#: config/prefs.php.dist:175 +msgid "Show shared calendars side-by-side?" +msgstr "Mostrar agendes compartides al costat? " + +#: config/prefs.php.dist:221 +msgid "Show tasks using category colors?" +msgstr "Mostrar les tasques amb els colors de les categories? " + +#: config/prefs.php.dist:95 +msgid "Show time of day between each day in week views?" +msgstr "Mostrar les hores entre cada dia en les vistes setmanals?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "_Comença el" + +#: data.php:54 +msgid "Start Date" +msgstr "Data d'inici" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:41 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Comença el" + +#: data.php:55 +msgid "Start Time" +msgstr "Hora d'inici" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:83 +msgid "Stat_us" +msgstr "_Estat" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:27 +msgid "Status" +msgstr "Estat" + +#: year.php:78 year.php:87 templates/javascript/goto.inc:65 +#: templates/edit/edit.inc:221 lib/Block/month.php:107 lib/Block/month.php:109 +msgid "Su" +msgstr "Dg." + +#: templates/month/head.inc:14 templates/month/head.inc:23 +#: templates/view/view.inc:121 templates/edit/javascript.inc:67 +#: config/prefs.php.dist:105 +msgid "Sunday" +msgstr "Diumenge" + +#: config/prefs.php.dist:29 +msgid "Tasks" +msgstr "Tasques" + +#: lib/Kronolith.php:585 lib/Kronolith.php:608 +msgid "Tentative" +msgstr "Provisional" + +#: year.php:83 templates/javascript/goto.inc:62 templates/edit/edit.inc:218 +#: lib/Block/month.php:105 +msgid "Th" +msgstr "Dj." + +#: templates/contacts/contacts.inc:70 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "" +"La pantalla d'edició d'assistents ja no està disponible. S'està sortint del " +"sistema." + +#: calendars.php:70 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "No es pot eliminar l'agenda \"%s\"." + +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "S'ha creat l'agenda \"%s\"." + +#: calendars.php:88 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "S'ha eliminat l'agenda \"%s\"." + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "L'agenda \"%s\" ha canviat de nom i ara es diu \"%s\"." + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "S'ha desat l'agenda \"%s\"." + +#: data.php:231 +#, fuzzy, php-format +msgid "The calendar could not be purged: %s" +msgstr "El directori %S no s'ha pogut crear" + +#: templates/edit/javascript.inc:163 +msgid "The end date must be later than the start date." +msgstr "La data de finalització ha de ser posterior a la data d'inici." + +#: lib/Kronolith.php:1114 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "S'ha afegit l'esdeveniment \"%s\" a l'agenda \"%s\", el %s a les %s. " + +#: lib/Kronolith.php:1124 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"S'ha eliminat l'esdeveniment \"%s\" de l'agenda \"%s\", de el %s a les %s. " + +#: lib/Kronolith.php:1119 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"S'ha modificat l'esdeveniment \"%s\" de l'agenda \"%s\", el %s a les %s. " + +#: lib/Kronolith.php:1087 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "S'ha enviat correctament a %s la notificació de l'acte." + +#: lib/Kronolith.php:1044 +msgid "The following is a more detailed description of the event:" +msgstr "A continuació es presenta una descripció més detallada de l'acte:" + +#: attend.php:41 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"La petició estava incompleta. Manca de diversos dels paràmetres necessaris " +"per a acceptar o rebutjar un esdeveniment. " + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "No hi ha actes que coincideixin amb els criteris actuals." + +#: addeventaction.php:18 editeventaction.php:35 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "S'ha produït un error en accedir a l'agenda: %s" + +#: addeventaction.php:34 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "S'ha produït un error en afegir l'acte: %s" + +#: editeventaction.php:83 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "S'ha produït un error en editar l'acte: %s" + +#: lib/api.php:338 lib/api.php:617 +msgid "There was an error importing the iCalendar data." +msgstr "S'ha produït un error en importar les dades iCalendar." + +#: editeventaction.php:63 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "S'ha produït un error en moure l'acte: %s" + +#: lib/Kronolith.php:1092 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "S'ha produït un error en enviar una notificació d'acte a %s: %s" + +#: data.php:108 +msgid "There were no events to export." +msgstr "No hi ha actes per exportar." + +#: data.php:187 +msgid "This file format is not supported." +msgstr "No està permès aquest format d'arxiu." + +#: data.php:250 +#, php-format +msgid "This is what the server said: %s" +msgstr "Això és el que ha dit el servidor: %s" + +#: templates/month/head.inc:19 templates/view/view.inc:118 +#: templates/edit/javascript.inc:71 +msgid "Thursday" +msgstr "Dijous" + +#: templates/search/search.inc:37 +msgid "Time Sp_an" +msgstr "Espai de temps" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Espai de temps" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:38 +msgid "Tit_le" +msgstr "Títol" + +#: data.php:53 templates/search/search.inc:20 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Títol" + +#: lib/Block/prevmonthlist.php:122 lib/Block/monthlist.php:121 +#: lib/Block/summary.php:127 +msgid "Today" +msgstr "Avui" + +#: lib/Block/prevmonthlist.php:124 lib/Block/monthlist.php:123 +#: lib/Block/summary.php:129 +msgid "Tomorrow" +msgstr "Demà" + +#: year.php:81 templates/javascript/goto.inc:60 templates/edit/edit.inc:216 +#: lib/Block/month.php:105 +msgid "Tu" +msgstr "Dt." + +#: templates/month/head.inc:17 templates/view/view.inc:116 +#: templates/edit/javascript.inc:69 +msgid "Tuesday" +msgstr "Dimarts" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Tipus" + +#: templates/calendars/calendars.inc:186 +#, fuzzy +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:64 +msgid "Unable to connect to SQL server." +msgstr "No s'ha pogut connectar amb el servidor SQL." + +#: calendars.php:84 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "No s'ha pogut eliminar \"%s\": %s" + +#: lib/Driver.php:182 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "No s'ha pogut carregar la definició de %s." + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "No s'ha pogut canviar el nom de \"%s\": %s" + +#: lib/Storage/kolab.php:39 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "No s'ha pogut recuperar la informació sobre el temps disponible de %s" + +#: templates/view/view.inc:15 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "Sense categoria" + +#: lib/api.php:376 lib/api.php:460 lib/api.php:536 lib/api.php:642 +#, fuzzy, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Tipus de contingut del fitxer adjunt." + +#: lib/Kronolith.php:1034 +#, php-format +msgid "Updated: %s." +msgstr "Actualitzat: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Interfície d'usuari" + +#: year.php:160 year.php:166 lib/Block/month.php:159 lib/Block/month.php:162 +msgid "View Day" +msgstr "Visualitza dia" + +#: year.php:82 templates/javascript/goto.inc:61 templates/edit/edit.inc:217 +#: lib/Block/month.php:105 +msgid "We" +msgstr "Dc." + +#: templates/month/head.inc:18 templates/view/view.inc:117 +#: templates/edit/javascript.inc:70 +msgid "Wednesday" +msgstr "Dimecres" + +#: attendees.php:108 lib/Kronolith.php:1313 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:83 +msgid "Week" +msgstr "Setmana" + +#: month.php:177 workweek.php:30 week.php:34 +#, php-format +msgid "Week %d" +msgstr "Setmana %d" + +#: templates/view/view.inc:59 templates/edit/edit.inc:138 +msgid "Week(s)" +msgstr "Setmana(es)" + +#: templates/view/view.inc:122 templates/edit/edit.inc:212 +msgid "Weekly: Recurs every" +msgstr "Cada setmana: Es repeteix cada" + +#: config/prefs.php.dist:124 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"A quina hora han de finalitzar les visualitzacions del dia i la setmana, si " +"no hi ha actes posteriors?" + +#: config/prefs.php.dist:115 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"A quina hora han de començar les visualitzacions del dia i la setmana, si no " +"hi ha actes previs?" + +#: attendees.php:107 lib/Kronolith.php:1312 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:84 +msgid "Work Week" +msgstr "Setmana laboral" + +#: lib/Kronolith.php:1315 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Any" + +#: templates/view/view.inc:128 templates/edit/edit.inc:238 +msgid "Yearly: Recurs every" +msgstr "Cada any: es repeteix cada" + +#: data.php:39 data.php:239 editeventaction.php:46 addevent.php:17 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "No disposa de permisos per a crear més de %d esdeveniments. " + +#: attend.php:49 +msgid "You are not an attendee of the specified event." +msgstr "No és un assistent de l'esdeveniment indicat. " + +#: templates/contacts/contacts.inc:76 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"Aquest formulari només es pot utilitzar des de la pantalla d'edició " +"d'assistents." + +#: lib/Kronolith.php:988 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"No ha configurat una adreça de correu en les preferències de la seva " +"identitat. Ha d'indicar una %saquí%s per a poder enviar avisos " +"d'esdeveniments. " + +#: addeventaction.php:20 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "No disposa de permisos per a afegir esdeveniments a %s. " + +#: data.php:197 +msgid "You do not have permission to add events to the selected calendar." +msgstr "No disposa de permisos per a afegir actes a l'agenda seleccionada." + +#: deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "No disposa de permisos per a eliminar aquest acte." + +#: editeventaction.php:78 +msgid "You do not have permission to edit this event." +msgstr "No disposa de permisos per a editar aquest acte." + +#: data.php:192 +msgid "You have specified an invalid calendar." +msgstr "Ha especificat una agenda no vàlida. " + +#: attend.php:21 +msgid "You have successfully accepted attendence to this event." +msgstr "Ha acceptat l'assistència a aquest esdeveniment. " + +#: attend.php:26 +msgid "You have successfully declined attendence to this event." +msgstr "Ha declinat l'assistència a aquest esdeveniment. " + +#: attend.php:31 +msgid "You have tentatively accepted attendence to this event." +msgstr "Ha acceptat condicionalment l'assistència a aquest esdeveniment. " + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "Ha de seleccionar una agenda a eliminar. " + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Primer ha de seleccionar una adreça." + +#: templates/calendars/calendars.inc:173 +msgid "You need to select a calendar first" +msgstr "Ha de fer una selecció" + +#: lib/Kronolith.php:1114 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Ha sol·licitat la notificació de l'addició d'esdeveniments als seus " +"calendaris. " + +#: lib/Kronolith.php:1124 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Ha sol·licitat la notificació de l'eliminació d'esdeveniments dels seus " +"calendaris. " + +#: lib/Kronolith.php:1119 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Ha sol·licitat la notificació de la modificació d'esdeveniments dels seus " +"calendaris. " + +#: lib/Scheduler/kronolith.php:211 +#, php-format +msgid "You requested to be reminded about %s, which is on %s at %s." +msgstr "" +"Ha sol·licitat que se li enviïn recordatoris de %s, que estarà en %s a les %" +"s. " + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Trii l'agenda per predeterminada." + +#: lib/Driver.php:1059 lib/Driver.php:1069 +msgid "[Unnamed event]" +msgstr "[Acte sense nom]" + +#: templates/edit/edit.inc:95 +msgid "_Alarm" +msgstr "Alarma" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "_Cerca simple" + +#: viewevent.php:137 +msgid "_Edit" +msgstr "_Edita" + +#: lib/Kronolith.php:1350 +msgid "_Goto" +msgstr "_Ves a" + +#: lib/Kronolith.php:1356 +msgid "_Import/Export" +msgstr "_Importa/Exporta" + +#: lib/Kronolith.php:1337 +msgid "_My Calendars" +msgstr "_Les meves agendes" + +#: lib/Kronolith.php:1344 +msgid "_New Event" +msgstr "_Acte nou" + +#: lib/Kronolith.php:1361 +msgid "_Print" +msgstr "_Imprimeix" + +#: lib/Kronolith.php:1352 +msgid "_Search" +msgstr "_Cerca" + +#: lib/Kronolith.php:1347 +msgid "_Today" +msgstr "_Avui" + +#: templates/edit/edit.inc:140 +msgid "before the event starts" +msgstr "Abans que comenci l'acte" + +#: config/prefs.php.dist:185 +msgid "day" +msgstr "dia" + +#: templates/view/view.inc:112 templates/edit/edit.inc:207 +msgid "day(s)" +msgstr "dia(es)" + +#: config/prefs.php.dist:186 config/prefs.php.dist:187 +#: config/prefs.php.dist:188 config/prefs.php.dist:189 +#: config/prefs.php.dist:190 +msgid "days" +msgstr "dies" + +#: data.php:150 templates/data/export.inc:1 +msgid "events.csv" +msgstr "actes.csv" + +#: data.php:171 +msgid "events.ics" +msgstr "actes.ics" + +#: templates/contacts/contacts.inc:136 +msgid "in" +msgstr "a" + +#: templates/view/view.inc:124 templates/view/view.inc:126 +#: templates/edit/edit.inc:227 templates/edit/edit.inc:233 +msgid "month(s)" +msgstr "mes(os)" + +#: lib/Kronolith.php:1040 +#, fuzzy, php-format +msgid "on %s at %s" +msgstr "El certificat va caducar el %x, a les %X." + +#: templates/view/view.inc:124 templates/edit/edit.inc:227 +msgid "on the same date" +msgstr "en la mateixa data" + +#: templates/view/view.inc:126 templates/edit/edit.inc:233 +msgid "on the same weekday" +msgstr "el mateix dia laborable" + +#: data.php:29 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: lib/api.php:349 lib/api.php:628 +msgid "vEvent not found." +msgstr "No s'ha trobat vEvent." + +#: config/prefs.php.dist:191 +msgid "week" +msgstr "setmana" + +#: templates/view/view.inc:122 templates/edit/edit.inc:214 +msgid "week(s) on:" +msgstr "setmana(es) el:" + +#: config/prefs.php.dist:192 config/prefs.php.dist:193 +#: config/prefs.php.dist:194 +msgid "weeks" +msgstr "setmanes" + +#: templates/view/view.inc:128 templates/edit/edit.inc:239 +msgid "year(s)" +msgstr "any(s)" diff --git a/kronolith/po/cs_CZ.po b/kronolith/po/cs_CZ.po new file mode 100644 index 000000000..3f3eaafb9 --- /dev/null +++ b/kronolith/po/cs_CZ.po @@ -0,0 +1,1602 @@ +# Kronolith Czech Translation. +# Copyright 2004-2009 The Horde Project +# This file is distributed under the same license as the Horde package. +# Pavel Chytil , 2001-2004. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 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 \n" +"Language-Team: Czech \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" + +#: templates/search/header.inc:8 +#, php-format +msgid "%d events" +msgstr "%d událostí" + +#: templates/edit/edit_timespan.inc:127 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Dnù(Den) %s Hodin(a) %s Minut" + +#: lib/Driver.php:1687 +#, php-format +msgid "%s attendees" +msgstr "%s úèastníkù" + +#: data.php:236 +#, php-format +msgid "%s file successfully imported" +msgstr "%s soubor úspì¹nì importován" + +#: calendars.php:97 lib/base.php:126 +#, php-format +msgid "%s's Calendar" +msgstr "%s - Kalendáø" + +#: templates/contacts/contacts.inc:166 +msgid "* Add these by clicking Add *" +msgstr "* Pøidat tyto kliknutím na Pøidat *" + +#: templates/contacts/contacts.inc:152 +msgid "* Please select address(es) *" +msgstr "* Prosím vyberte emailovou(é) adresu(y) *" + +#: lib/Driver.php:1687 +msgid "1 attendee" +msgstr "1 úèastník" + +#: templates/search/header.inc:8 +msgid "1 event" +msgstr "1 událost" + +#: templates/edit/edit.inc:159 +msgid "Attendees (optional)" +msgstr "Úèastníci (nepovinné)" + +#: templates/edit/edit.inc:137 +msgid "Descri_ption (optional)" +msgstr "Popi_s (nepovinné)" + +#: templates/edit/edit.inc:261 +msgid "Keywords (optional)" +msgstr "Klíèová slova (nepovinné)" + +#: templates/edit/edit.inc:179 +msgid "Recurrence (optional)" +msgstr "Opakování (nepovinné)" + +#: templates/data/export.inc:105 templates/data/export.inc:185 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:520 +msgid "Accepted" +msgstr "Pøijato" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "Hl_edat Dùkladnìji" + +#: templates/contacts/contacts.inc:163 templates/contacts/contacts.inc:192 +msgid "Add" +msgstr "Pøidat" + +#: templates/edit/edit.inc:25 +msgid "Add Event" +msgstr "Pøidat Událost" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Pøidat nový Vzdálený Kalendáø" + +#: addevent.php:50 +msgid "Add a new event" +msgstr "Pøidat novou událost" + +#: templates/attendees/attendees.inc:82 +msgid "Add attendees" +msgstr "Pøidat úèastníky" + +#: templates/attendees/attendees.inc:86 +msgid "Add people from my Address Book" +msgstr "Pøidat úèastníky z mých Kontaktù" + +#: templates/attendees/attendees.inc:90 +msgid "Add these people" +msgstr "Pøidat tyto úèastníky" + +#: contacts.php:85 templates/contacts/contacts.inc:122 +msgid "Address Book" +msgstr "Kontakty" + +#: config/prefs.php.dist:50 +msgid "Address Books" +msgstr "Kontakty" + +#: templates/search/search.inc:10 templates/search/search_advanced.inc:7 +msgid "Advanced Search" +msgstr "Hledat Dùkladnìji" + +#: templates/view/view.inc:61 templates/edit/edit.inc:96 +msgid "Alarm" +msgstr "Alarm" + +#: lib/Driver.php:1667 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarm %d dnù pøed" + +#: lib/Driver.php:1672 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarm %d hodin pøed" + +#: lib/Driver.php:1677 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarm %d minut pøed" + +#: lib/Driver.php:1662 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarn %d týdnù pøed" + +#: lib/Driver.php:1666 +msgid "Alarm 1 day before" +msgstr "Alarm 1 den pøed" + +#: lib/Driver.php:1671 +msgid "Alarm 1 hour before" +msgstr "Alarm 1 hodinu pøed" + +#: lib/Driver.php:1676 +msgid "Alarm 1 minute before" +msgstr "Alarm 1 minutu pøed" + +#: lib/Driver.php:1661 +msgid "Alarm 1 week before" +msgstr "Alarm 1 týden pøed" + +#: data.php:50 +msgid "Alarm Date" +msgstr "Datum Alarmu" + +#: data.php:49 +msgid "Alarm Span (minutes)" +msgstr "Vymìøení Alarmu (v minutách)" + +#: data.php:51 +msgid "Alarm Time" +msgstr "Èas Alarmu" + +#: templates/delete/delete.inc:43 +msgid "All" +msgstr "V¹e" + +#: lib/FBView.php:119 lib/FBView.php:122 lib/FBView.php:125 +msgid "All Attendees" +msgstr "V¹ichni Úèastníci" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "V¹echny v Budoucnosti" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "V¹echny Minulé" + +#: lib/Block/month.php:24 lib/Block/monthlist.php:27 +#: lib/Block/prevmonthlist.php:27 lib/Block/summary.php:25 +msgid "All Visible" +msgstr "V¹echny Viditelné" + +#: templates/edit/edit_timespan.inc:126 lib/DayView.php:88 lib/DayView.php:90 +#: lib/Driver.php:1591 lib/Driver.php:1617 lib/WeekView.php:110 +#: lib/WeekView.php:120 +msgid "All day" +msgstr "Celý den" + +#: lib/Block/monthlist.php:156 lib/Block/prevmonthlist.php:154 +#: lib/Block/summary.php:148 +msgid "All day event" +msgstr "Událost na celý den" + +#: templates/data/export.inc:25 +msgid "All events" +msgstr "V¹echny Události" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:610 +msgid "Any" +msgstr "Jakákoliv" + +#: templates/javascript/goto.inc:71 +msgid "April" +msgstr "Duben" + +#: templates/edit/edit_timespan.inc:95 templates/data/export.inc:74 +#: templates/data/export.inc:160 +msgid "At" +msgstr "V" + +#: lib/Kronolith.php:966 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Soubor iCalendar je pøilo¾en s informacemi o události. Pokud Vá¹ emailový " +"klient podporuje iTip ¾ádosti, mù¾ete pou¾ít tento soubor pro jednodu¹í " +"aktualizaci lokálního kalendáøe." + +#: templates/view/view.inc:181 templates/attendees/attendees.inc:46 +msgid "Attendance" +msgstr "Úèast" + +#: templates/view/view.inc:177 +msgid "Attendees" +msgstr "Úèastníci" + +#: templates/javascript/goto.inc:75 +msgid "August" +msgstr "Srpen" + +#: templates/calendars/calendars.inc:126 +msgid "Back to Calendar Options" +msgstr "Zpìt do Mo¾ností pro Kalendáø" + +#: templates/search/search.inc:7 templates/search/search_advanced.inc:10 +msgid "Basic Search" +msgstr "Vyhledat" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Narozeniny" + +#: templates/fbview/legend.inc:3 lib/FBView.php:85 lib/FBView.php:104 +msgid "Busy" +msgstr "Zanepráznìný" + +#: templates/search/search_advanced.inc:43 +msgid "C_alendar" +msgstr "K_alendáø" + +#: templates/edit/edit.inc:48 +msgid "Cal_endar" +msgstr "Kal_endáø" + +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 +#: lib/Block/prevmonthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Kalendáø" + +#: templates/calendars/calendars.inc:113 +msgid "Calendar Description" +msgstr "Popis Kalendáøe" + +#: templates/calendars/calendars.inc:97 +msgid "Calendar Name" +msgstr "Název Kalendáøe" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Shrnutí Kalendáøe" + +#: calendars.php:109 config/prefs.php.dist:34 config/prefs.php.dist:41 +#: config/prefs.php.dist:49 +msgid "Calendars" +msgstr "Kalendáøe" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Kalendáøe musí mít jméno." + +#: data.php:211 +msgid "Can't create a new event." +msgstr "Nelze vytvoøit novou událost." + +#: templates/edit/edit.inc:32 templates/edit/edit.inc:292 +#: templates/delete/delete.inc:44 templates/delete/one.inc:42 +#: templates/contacts/contacts.inc:193 +msgid "Cancel" +msgstr "Storno" + +#: lib/Kronolith.php:499 +msgid "Cancelled" +msgstr "Stornováno" + +#: lib/Kronolith.php:943 +#, php-format +msgid "Cancelled: %s" +msgstr "Stornováno: %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:68 +msgid "Categor_y" +msgstr "Kategor_ie" + +#: data.php:53 templates/view/view.inc:21 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "Kategorie" + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:123 +msgid "Change" +msgstr "Zmìnit" + +#: templates/prefs/search_abook_select.inc:17 config/prefs.php.dist:288 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "Vybrat Kontakty pro hledání free/busy URL:" + +#: templates/calendars/calendars.inc:138 +msgid "" +"Choose the calendars that you want to be included in your Free/Busy listings:" +msgstr "Zvolit kalendáøe, které si pøejete pou¾ít pro výpis seznamu Free/Busy:" + +#: config/prefs.php.dist:36 +msgid "Choose your default calendar." +msgstr "Zvolit implicitní kalendáø" + +#: templates/search/search.inc:68 templates/search/search_advanced.inc:116 +msgid "Clear Form" +msgstr "Vyèistit Formuláø" + +#: templates/attendees/attendees.inc:73 +msgid "Clear all attandees" +msgstr "Smazat v¹echny úèastníky" + +#: data.php:28 templates/data/import.inc:21 +msgid "Comma separated values" +msgstr "Èárkou oddìlené hodnoty" + +#: config/prefs.php.dist:142 +msgid "Confirm deletion of events?" +msgstr "Potvrdit smazání událostí?" + +#: lib/Kronolith.php:496 +msgid "Confirmed" +msgstr "Potvrzeno" + +#: templates/calendars/calendars.inc:151 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "Zkopírovat ní¾e uvedenou URL pro pou¾ití s Va¹í Free/Busy URL:" + +#: lib/Kronolith.php:158 +#, php-format +msgid "Could not open %s." +msgstr "Nelze otevøít %s." + +#: templates/calendars/calendars.inc:17 templates/calendars/calendars.inc:123 +#: templates/calendars/calendars.inc:125 +msgid "Create" +msgstr "Vytvoøit" + +#: month.php:152 month.php:153 templates/week/head.inc:20 +#: templates/week/head.inc:21 templates/week/head_side_by_side.inc:20 +#: templates/week/head_side_by_side.inc:21 templates/day/row.inc:6 +#: lib/DayView.php:88 lib/DayView.php:186 +msgid "Create a New Event" +msgstr "Vytvoøit Novou Událost" + +#: templates/view/view.inc:88 +msgid "Created" +msgstr "Vytvoøeno" + +#: templates/delete/delete.inc:41 +msgid "Current" +msgstr "Souèasný" + +#: templates/view/view.inc:122 templates/edit/edit.inc:194 +msgid "Daily: Recurs every" +msgstr "Dennì: Rekurzívnì ka¾dý" + +#: attendees.php:106 lib/Kronolith.php:1039 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:63 +msgid "Day" +msgstr "Den" + +#: templates/view/view.inc:70 templates/edit/edit.inc:127 +msgid "Day(s)" +msgstr "Den(Dny)" + +#: viewevent.php:103 +msgid "De_lete" +msgstr "Sm_zat" + +#: templates/javascript/goto.inc:79 +msgid "December" +msgstr "Prosinec" + +#: lib/Kronolith.php:523 +msgid "Declined" +msgstr "Zamítnut" + +#: config/prefs.php.dist:35 +msgid "Default Calendar" +msgstr "Implicitní Kalendáø" + +#: templates/prefs/remote_cal_management.inc:23 templates/delete/one.inc:41 +#: templates/contacts/contacts.inc:183 templates/calendars/calendars.inc:124 +#: lib/Driver.php:1707 +msgid "Delete" +msgstr "Smazat" + +#: delevent.php:40 templates/delete/delete.inc:21 templates/delete/one.inc:21 +#: lib/Driver.php:1707 +#, php-format +msgid "Delete %s" +msgstr "Smazat %s" + +#: viewevent.php:103 +#, php-format +msgid "Delete '%s'" +msgstr "Smazat '%s'" + +#: editevent.php:61 +msgid "Delete Event" +msgstr "Smazat Událost" + +#: templates/delete/delete.inc:35 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Smazat pouze souèasnou událost, tento výskyt a v¹echny výskyty v budoucnu, " +"nebo v¹echny výskyty?" + +#: templates/search/search.inc:27 templates/search/search_advanced.inc:103 +msgid "Descri_ption" +msgstr "Popi_s" + +#: data.php:52 templates/view/view.inc:105 +msgid "Description" +msgstr "Popis" + +#: templates/attendees/attendees.inc:103 +msgid "Dismiss" +msgstr "Pominout" + +#: templates/contacts/contacts.inc:175 +msgid "Display" +msgstr "Zobrazit" + +#: config/prefs.php.dist:9 config/prefs.php.dist:18 config/prefs.php.dist:26 +msgid "Display Options" +msgstr "Mo¾nosti Zobrazení" + +#: config/prefs.php.dist:28 +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "Pøejete si zobrazit úkoly, které jsou po¾adovány, na Va¹em kalendáøi?" + +#: lib/Kronolith.php:466 +msgid "Does not recur" +msgstr "Bez opakování" + +#: lib/Kronolith.php:312 +#, php-format +msgid "Due: %s" +msgstr "Po¾adovaný: %s" + +#: templates/edit/edit_timespan.inc:62 +msgid "Duration" +msgstr "Délka Trvání" + +#: lib/Driver.php:1701 +msgid "Edit" +msgstr "Upravit" + +#: editevent.php:33 templates/edit/edit.inc:25 lib/Driver.php:1701 +#, php-format +msgid "Edit %s" +msgstr "Upravit %s" + +#: viewevent.php:122 +#, php-format +msgid "Edit '%s'" +msgstr "Upravit '%s'" + +#: templates/edit/edit.inc:172 +msgid "Edit Attendees" +msgstr "Upravit Úèastníky" + +#: config/prefs.php.dist:223 +msgid "Edit Remote Calendars" +msgstr "Upravit Vzdálené Kalendáøe" + +#: attendees.php:146 +msgid "Edit attendees" +msgstr "Upravit ùèastníky" + +#: templates/category_legend.inc:25 +msgid "Edit categories and colors" +msgstr "Upravit kategorie a barvy" + +#: templates/view/view.inc:180 templates/contacts/contacts.inc:178 +#: templates/attendees/attendees.inc:45 +msgid "Email Address" +msgstr "Emailová Adresa" + +#: data.php:47 +msgid "End Date" +msgstr "Datum Ukonèení" + +#: templates/view/view.inc:55 templates/search/event_headers.inc:8 +#: templates/edit/edit_timespan.inc:67 templates/data/export.inc:112 +msgid "End On" +msgstr "Konec v" + +#: data.php:48 +msgid "End Time" +msgstr "Èas Ukonèení" + +#: attendees.php:120 attendees.php:131 attendees.php:138 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Nastala chyba pøi výbìru %s informace o free/busy: %s" + +#: lib/Driver.php:925 +#, php-format +msgid "Event from %s to %s" +msgstr "Událost od %s do %s" + +#: templates/data/export.inc:191 +msgid "Export" +msgstr "Exportovat" + +#: templates/data/export.inc:9 +msgid "Export Calendar" +msgstr "Exportovat Kalendáø" + +#: templates/javascript/goto.inc:69 +msgid "February" +msgstr "Únor" + +#: templates/contacts/contacts.inc:130 +msgid "Find" +msgstr "Vyhledat" + +#: templates/javascript/goto.inc:63 templates/edit/edit.inc:207 +#: lib/Block/month.php:109 +msgid "Fr" +msgstr "Pá" + +#: templates/view/view.inc:130 templates/month/head.inc:20 +#: templates/edit/javascript.inc:72 +msgid "Friday" +msgstr "Pátek" + +#: templates/delete/delete.inc:42 +msgid "Future" +msgstr "Budoucnost" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Hra" + +#: templates/search/search_advanced.inc:22 +msgid "General" +msgstr "V¹eobecnì" + +#: lib/Block/summary.php:127 +#, php-format +msgid "Goto %s" +msgstr "Jít na %s" + +#: templates/view/view.inc:73 templates/edit/edit.inc:126 +msgid "Hour(s)" +msgstr "Hodin(a)" + +#: config/prefs.php.dist:197 +msgid "" +"How many days into the future should we generate free/busy information for?" +msgstr "Kolik dní dopøedu máme generovat informaci free/busy?" + +#: templates/data/import.inc:9 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importovat Kalendáø, Krok %d" + +#: data.php:281 +msgid "Import/Export Calendar" +msgstr "Importovat/Exportovat Kalendáø" + +#: templates/javascript/goto.inc:68 +msgid "January" +msgstr "Leden" + +#: templates/javascript/goto.inc:74 +msgid "July" +msgstr "Èervenec" + +#: templates/javascript/goto.inc:73 +msgid "June" +msgstr "Èerven" + +#: data.php:55 templates/view/view.inc:155 +msgid "Keywords" +msgstr "Klíèová slova" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "Posledních 24 hodin" + +#: templates/view/view.inc:95 +msgid "Last Modified" +msgstr "Naposledy Zmìnìno" + +#: templates/month/head.inc:4 templates/month/head_side_by_side.inc:4 +#: templates/month/head_side_by_side.inc:10 +#: templates/month/head_side_by_side.inc:16 +msgid "Last Month" +msgstr "Minulý Mìsíc" + +#: templates/week/head.inc:4 templates/week/head_side_by_side.inc:4 +#: templates/search/search.inc:53 +msgid "Last week" +msgstr "Minulý týden" + +#: templates/edit/edit_timespan.inc:122 +msgid "Lasts" +msgstr "Trvá" + +#: templates/data/export.inc:21 +msgid "Limit the time span to export:" +msgstr "Limitovat èasové rozpìtí pro exportování:" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:75 +msgid "Lo_cation" +msgstr "Mí_sto" + +#: data.php:54 templates/view/view.inc:29 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 +msgid "Location" +msgstr "Místo" + +#: config/prefs.php.dist:43 +msgid "Manage remote calendars." +msgstr "Ovládání pro vzdálené kalendáøe" + +#: templates/javascript/goto.inc:70 +msgid "March" +msgstr "Bøezen" + +#: templates/javascript/goto.inc:72 +msgid "May" +msgstr "Kvìten" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Schùze" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menu Seznam" + +#: templates/view/view.inc:76 templates/edit/edit.inc:125 +msgid "Minute(s)" +msgstr "Minut(a)" + +#: lib/Block/prevmonthlist.php:44 +msgid "Missed Events List" +msgstr "Výpis Zme¹kaných Událostí" + +#: templates/javascript/goto.inc:59 templates/edit/edit.inc:203 +#: lib/Block/month.php:109 +msgid "Mo" +msgstr "Po" + +#: templates/view/view.inc:126 templates/month/head.inc:16 +#: templates/edit/javascript.inc:68 config/prefs.php.dist:87 +msgid "Monday" +msgstr "Pondìlí" + +#: lib/Kronolith.php:1042 lib/Block/tree_menu.php:24 config/prefs.php.dist:66 +msgid "Month" +msgstr "Mìsíc" + +#: lib/Block/month.php:3 +msgid "Month View" +msgstr "Zobrazit Mìsíc" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:44 +msgid "Monthly Events List" +msgstr "Mìsíèní Výpis Událostí" + +#: templates/view/view.inc:136 templates/view/view.inc:138 +#: templates/edit/edit.inc:214 templates/edit/edit.inc:220 +msgid "Monthly: Recurs every" +msgstr "Mìsíènì: Rekurzívnì ka¾dý" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Mìsíce Dopøedu" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Pøed Mìsíci" + +#: lib/api.php:172 lib/api.php:344 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Bylo nalezeno nìkolik èástí iCalendar. Je mo¾no pou¾ít jen jeden vEvent." + +#: templates/calendars/calendars.inc:84 +msgid "My Calendars" +msgstr "Kalendáøe" + +#: templates/menu.inc:36 +msgid "My Calendars:" +msgstr "Kalendáøe:" + +#: templates/calendars/calendars.inc:132 +msgid "My Free/Busy URL" +msgstr "Free/Busy URL" + +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +#: templates/contacts/contacts.inc:177 +msgid "Name" +msgstr "Název" + +#: lib/Block/month.php:43 lib/Block/monthlist.php:45 lib/Block/summary.php:43 +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Nová Událost" + +#: templates/data/import.inc:39 +msgid "Next" +msgstr "Dal¹í" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Dal¹ích 24 hodin" + +#: lib/FBView/day.php:78 +msgid "Next Day" +msgstr "Dal¹í Den" + +#: templates/month/head.inc:6 templates/month/head_side_by_side.inc:6 +#: templates/month/head_side_by_side.inc:12 +#: templates/month/head_side_by_side.inc:18 +msgid "Next Month" +msgstr "Dal¹í Mìsíc" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Dal¹í Týden" + +#: templates/day/head.inc:7 templates/day/head_side_by_side.inc:7 +msgid "Next day" +msgstr "Dal¹í den" + +#: templates/week/head.inc:6 templates/week/head_side_by_side.inc:6 +#: templates/search/search.inc:57 +msgid "Next week" +msgstr "Dal¹í týden" + +#: templates/fbview/legend.inc:7 +msgid "No Information" +msgstr "Bez Informace" + +#: templates/attendees/attendees.inc:53 +msgid "No attendees" +msgstr "Bez úèastníkù" + +#: lib/Kronolith.php:1063 +msgid "No calendars are available to guests." +msgstr "®ádný z Kalendáøù není dostupný pro hosty." + +#: templates/view/view.inc:148 templates/edit/edit.inc:240 +msgid "No end date" +msgstr "Bez dne ukonèení" + +#: lib/Block/monthlist.php:197 lib/Block/prevmonthlist.php:195 +#: lib/Block/summary.php:196 +msgid "No events to display" +msgstr "®ádné události k zobrazení" + +#: lib/Storage/kolab.php:44 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "®ádná free/busy informace není dostupná pro %s" + +#: lib/api.php:162 lib/api.php:334 +msgid "No iCalendar data was found." +msgstr "Nebyla nalezena ¾ádná data pro iCalendar." + +#: lib/Kronolith.php:836 +msgid "No valid email address found" +msgstr "Nebyla nalezena ¾ádná platná e-mailová adresa" + +#: templates/view/view.inc:81 templates/edit/edit.inc:121 +#: templates/edit/edit.inc:189 lib/Kronolith.php:530 lib/Kronolith.php:550 +msgid "None" +msgstr "®ádná" + +#: lib/Storage/sql.php:127 +msgid "Not found" +msgstr "Nenalezeno" + +#: templates/data/import.inc:17 +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"Upozornìní: Není mo¾no importovat, proto¾e driver pro kalendáø obsahuje " +"chyby." + +#: templates/javascript/goto.inc:78 +msgid "November" +msgstr "Listopad" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Nyní" + +#: templates/javascript/goto.inc:77 +msgid "October" +msgstr "Øíjen" + +#: lib/Kronolith.php:547 +msgid "Optional" +msgstr "Nepovinný" + +#: lib/FBView.php:112 +msgid "Optional to attend" +msgstr "Úèast nepovinná" + +#: templates/view/view.inc:42 +msgid "Owner" +msgstr "Vlastník" + +#: templates/data/export.inc:106 templates/data/export.inc:186 +msgid "PM" +msgstr "PM" + +#: data.php:29 templates/data/import.inc:22 +msgid "Palm DateBook" +msgstr "Palm DateBook" + +#: lib/Block/prevmonthlist.php:3 +msgid "Past Events List" +msgstr "Výpis pro¹lích událostí" + +#: templates/view/view.inc:119 templates/edit/edit.inc:183 +msgid "Pattern" +msgstr "Vzor" + +#: templates/delete/one.inc:35 +msgid "Permanently delete this event?" +msgstr "Permanentnì smazat tuto událost?" + +#: lib/api.php:143 lib/api.php:219 lib/api.php:286 lib/api.php:316 +#: lib/api.php:399 lib/api.php:433 +msgid "Permission Denied" +msgstr "Nepovolený pøístup" + +#: templates/calendars/calendars.inc:107 +msgid "Permissions" +msgstr "Práva" + +#: config/prefs.php.dist:19 +msgid "Portal Options" +msgstr "Mo¾nosti Portálu" + +#: templates/fbview/legend.inc:5 +msgid "Possible Meeting Time" +msgstr "Mo¾ný Èas Schùze" + +#: lib/FBView.php:141 +msgid "Possible Meeting Times" +msgstr "Mo¾né Èasy Schùze" + +#: lib/FBView/day.php:74 +msgid "Previous Day" +msgstr "Pøedchozí Den" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Pøedchozí Týden" + +#: templates/day/head.inc:5 templates/day/head_side_by_side.inc:5 +msgid "Previous day" +msgstr "Pøedchozí den" + +#: templates/view/view.inc:147 templates/edit/edit.inc:237 +msgid "Recur Until" +msgstr "Rekurzívnì a¾ do" + +#: templates/view/view.inc:116 +msgid "Recurrence" +msgstr "Opakování" + +#: data.php:59 +msgid "Recurrence Data" +msgstr "Opakování Dat" + +#: data.php:57 +msgid "Recurrence End Date" +msgstr "Datum Opakovaní do" + +#: data.php:58 +msgid "Recurrence Interval" +msgstr "Opakovací Interval" + +#: data.php:56 +msgid "Recurrence Type" +msgstr "Opakovací Typ" + +#: lib/Kronolith.php:469 +msgid "Recurs daily" +msgstr "Opakovat dennì" + +#: lib/Kronolith.php:476 +msgid "Recurs monthly" +msgstr "Opakovat mesíènì" + +#: lib/Kronolith.php:472 +msgid "Recurs weekly" +msgstr "Opakovat týdnì" + +#: lib/Kronolith.php:479 +msgid "Recurs yearly" +msgstr "Opakovat roènì" + +#: lib/Scheduler/kronolith.php:166 +#, php-format +msgid "Reminder: %s" +msgstr "Upomínka: %s" + +#: config/prefs.php.dist:42 +msgid "Remote Calendars" +msgstr "Vzdálené Kalendáøe" + +#: templates/menu.inc:48 +msgid "Remote Calendars:" +msgstr "Vzdálené Kalendáøe:" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Odstranit %s" + +#: attendees.php:37 +msgid "Remove Attendee" +msgstr "Odstranit Úèastníka" + +#: lib/Kronolith.php:554 +msgid "Required" +msgstr "Povinné" + +#: lib/FBView.php:130 lib/FBView.php:133 lib/FBView.php:136 +msgid "Required Attendees" +msgstr "Povinní Úèastníci" + +#: lib/FBView.php:93 +msgid "Required to attend" +msgstr "Povinná úèast" + +#: templates/calendars/calendars.inc:125 +msgid "Reset" +msgstr "Smazat" + +#: templates/edit/edit.inc:33 templates/edit/edit.inc:293 +msgid "Reset to Defaults" +msgstr "Resetovat na Implicitní Nastavení" + +#: templates/view/view.inc:182 templates/attendees/attendees.inc:47 +msgid "Response" +msgstr "Odpovìï" + +#: viewevent.php:120 +#, php-format +msgid "S_ave '%s' As New" +msgstr "U_lo¾it '%s' Jako Novou" + +#: templates/javascript/goto.inc:64 templates/edit/edit.inc:208 +#: lib/Block/month.php:109 +msgid "Sa" +msgstr "So" + +#: templates/view/view.inc:131 templates/month/head.inc:21 +#: templates/edit/javascript.inc:73 +msgid "Saturday" +msgstr "Sobota" + +#: editevent.php:44 editevent.php:48 viewevent.php:120 +msgid "Save As New" +msgstr "Ulo¾it Jako Novou" + +#: addevent.php:41 editevent.php:46 +msgid "Save Event" +msgstr "Ulo¾it Událost" + +#: search.php:14 templates/search/search.inc:67 +#: templates/search/search_advanced.inc:115 +#: templates/contacts/contacts.inc:142 lib/Block/tree_menu.php:25 +msgid "Search" +msgstr "Vyhledat" + +#: templates/calendars/calendars.inc:86 +msgid "Select a calendar" +msgstr "Vybrat kalendáø" + +#: templates/edit/edit.inc:253 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:85 +msgid "Select a date" +msgstr "Vybrat datum" + +#: config/prefs.php.dist:51 +msgid "Select address book sources for searching for addresses." +msgstr "Vybrat zdroj Kontaktù pro vyhledávání adres." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Vybrat mo¾nosti potvrzení, rùzné zobrazení a vyberat implicitní zobrazení." + +#: templates/data/import.inc:27 +msgid "Select the calendar to import to:" +msgstr "Vybrat kalendáø pro importování:" + +#: templates/data/export.inc:16 +msgid "Select the export format:" +msgstr "Vybrat formát exportu:" + +#: templates/data/import.inc:36 +msgid "Select the file to import:" +msgstr "Vybrat soubor k importování:" + +#: config/prefs.php.dist:85 +msgid "Select the first weekday:" +msgstr "Vybrat první den týdne:" + +#: templates/data/import.inc:19 +msgid "Select the format of the source file:" +msgstr "Vybrat formát zdrojového souboru:" + +#: config/prefs.php.dist:96 +msgid "Select the time span to show:" +msgstr "Vybrat èasové rozpìtí k zobrazení:" + +#: config/prefs.php.dist:67 +msgid "Select the view to display on startup:" +msgstr "Vybrat zobrazení po pøihla¹ení se: " + +#: config/prefs.php.dist:20 +msgid "Select which events to show in the portal." +msgstr "Vybrat jaké události se mají zobrazit v portálu." + +#: templates/delete/delete.inc:28 templates/delete/one.inc:28 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"Zaslat zprávu o zru¹ení události v¹em úèastníkùm, kdy¾ se událost smazává" + +#: templates/view/view.inc:186 templates/attendees/attendees.inc:60 +#, php-format +msgid "Send an email to %s" +msgstr "Zaslat email %s" + +#: templates/edit/edit.inc:166 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "Zaslat aktualizaci/pozvánku v¹em úèastníkùm, kdy¾ se událost ukládá" + +#: templates/javascript/goto.inc:76 +msgid "September" +msgstr "Záøí" + +#: templates/edit/edit_timespan.inc:85 +msgid "Set end date" +msgstr "Nastavit koneèný datum" + +#: templates/edit/edit.inc:253 +msgid "Set recurrence end date" +msgstr "Koneèný datum opakovaní" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "Nastavit datum zaèátku" + +#: templates/menu.inc:42 +msgid "Shared Calendars:" +msgstr "Sdílené Kalendáøe:" + +#: config/prefs.php.dist:133 +msgid "" +"Should tasks be shown with their category color, or with no background color?" +msgstr "Zobrazit úkoly s jejich barevným oznaèením, nebo bez barvy pozadí?" + +#: config/prefs.php.dist:258 +msgid "Show category legend?" +msgstr "Zobrazit legendu kategorií?" + +#: config/prefs.php.dist:214 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"Zobrazit ikonky pro smazání, alarm a opakování pøi zobrazování kalendáøe?" + +#: config/prefs.php.dist:124 +msgid "Show due tasks in the calendar?" +msgstr "Zobrazit oèekávané udalosti v kalendáøi?" + +#: config/prefs.php.dist:268 +msgid "Show free/busy legend?" +msgstr "Zobrazit legendu pro free/busy?" + +#: config/prefs.php.dist:76 +msgid "Show half hour slots in day and week views?" +msgstr "Zobrazit pùlhodinové úseky v denním a týdenním zobrazení?" + +#: config/prefs.php.dist:115 +msgid "Show only events that have an alarm set?" +msgstr "Mají se ukázat pouze události s alarmem?" + +#: config/prefs.php.dist:248 +msgid "Show shared calendars side-by-side" +msgstr "Zobrazit sdílené kalendáøe vedle sebe?" + +#: config/prefs.php.dist:277 +msgid "Show time of day between each day in week views?" +msgstr "Zobrazit èas mezi ka¾dým dnem v týdenním zobrazení?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt On" +msgstr "Zaè_íná V" + +#: data.php:45 +msgid "Start Date" +msgstr "Datum Zaèátku" + +#: templates/view/view.inc:49 templates/search/event_headers.inc:7 +#: templates/data/export.inc:29 +msgid "Start On" +msgstr "Zaèíná V" + +#: data.php:46 +msgid "Start Time" +msgstr "Èas Zaèátku" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:84 +msgid "Stat_us" +msgstr "Sta_v" + +#: templates/view/view.inc:35 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "Stav" + +#: templates/javascript/goto.inc:65 templates/edit/edit.inc:209 +#: lib/Block/month.php:111 lib/Block/month.php:113 +msgid "Su" +msgstr "Ne" + +#: templates/view/view.inc:132 templates/month/head.inc:14 +#: templates/month/head.inc:23 templates/edit/javascript.inc:67 +#: config/prefs.php.dist:86 +msgid "Sunday" +msgstr "Nedìle" + +#: config/prefs.php.dist:27 +msgid "Tasks" +msgstr "Události" + +#: lib/Kronolith.php:503 lib/Kronolith.php:526 +msgid "Tentative" +msgstr "Pøedbì¾ný" + +#: templates/javascript/goto.inc:62 templates/edit/edit.inc:206 +#: lib/Block/month.php:109 +msgid "Th" +msgstr "Èt" + +#: templates/contacts/contacts.inc:73 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Stránka s Upravou Úèastníkù ji¾ není. Konèím." + +#: calendars.php:66 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Nelze smazat kalendáø \"%s\"." + +#: calendars.php:80 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Kalendáø \"%s\" byl smazán." + +#: calendars.php:49 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Kalendáø \"%s\" byl pøejmenován na \"%s\"." + +#: calendars.php:58 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Kalendáø \"%s\" byl ulo¾en." + +#: templates/edit/javascript.inc:151 +msgid "The end date must be later than the start date." +msgstr "Datum konce musí být po datu zaèátku." + +#: lib/Kronolith.php:1003 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Upozornìní o události bylo úspì¹nì zasláno pro %s." + +#: lib/Kronolith.php:964 +msgid "The following is a more detailed description of the event:" +msgstr "Následuje podrobnìj¹í popis události:" + +#: templates/search/empty.inc:4 +msgid "There are no events matching the current criteria." +msgstr "®ádné události se neshodují se souèasným kritériem." + +#: addeventaction.php:18 editeventaction.php:35 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Nastala chyba pøi pøístupu ke kalendáøi: %s" + +#: addeventaction.php:33 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Nastala chyba pøi pøidávání události: %s" + +#: editeventaction.php:73 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Nastala chyba pøi úpravì události: %s" + +#: lib/api.php:156 lib/api.php:328 +msgid "There was an error importing the iCalendar data." +msgstr "Pøi importování iCalendar dat do¹lo k chybì." + +#: editeventaction.php:54 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Nastala chyba pøi posunu události: %s" + +#: lib/Kronolith.php:1008 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Nastala chyba pøi zasílíní oznámení o události pro %s: %s" + +#: data.php:95 +msgid "There were no events to export." +msgstr "®ádné události k exportování." + +#: data.php:173 +msgid "This file format is not supported." +msgstr "Tento formát souboru nelze pou¾ít." + +#: data.php:213 +#, php-format +msgid "This is what the server said: %s" +msgstr "Toto je zpráva ze serveru: %s" + +#: templates/view/view.inc:129 templates/month/head.inc:19 +#: templates/edit/javascript.inc:71 +msgid "Thursday" +msgstr "Ètvrtek" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "Èasové Roz_pìtí" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Èasové Rozpìtí " + +#: templates/search/search_advanced.inc:35 templates/edit/edit.inc:39 +msgid "Tit_le" +msgstr "Tit_ul" + +#: data.php:44 templates/search/event_headers.inc:3 +#: templates/search/search.inc:19 +msgid "Title" +msgstr "Titul" + +#: lib/Block/monthlist.php:127 lib/Block/prevmonthlist.php:125 +#: lib/Block/summary.php:117 +msgid "Today" +msgstr "Dnes" + +#: lib/Block/month.php:184 +#, php-format +msgid "Today is %s" +msgstr "Dnes je %s" + +#: lib/Block/monthlist.php:129 lib/Block/prevmonthlist.php:127 +#: lib/Block/summary.php:119 +msgid "Tomorrow" +msgstr "Zítra" + +#: templates/javascript/goto.inc:60 templates/edit/edit.inc:204 +#: lib/Block/month.php:109 +msgid "Tu" +msgstr "Út" + +#: templates/view/view.inc:127 templates/month/head.inc:17 +#: templates/edit/javascript.inc:69 +msgid "Tuesday" +msgstr "Úterý" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Typ" + +#: lib/Storage/sql.php:54 +msgid "Unable to connect to SQL server." +msgstr "Nelze se pøipojit na SQL server." + +#: calendars.php:76 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Nelze smazat \"%s\": %s." + +#: lib/Driver/mcal.php:135 +#, php-format +msgid "Unable to delete %s." +msgstr "Nelze smazat %s." + +#: lib/Driver.php:174 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Definice %s není dostupná." + +#: calendars.php:47 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Nelze pøejmìnovat \"%s\": %s" + +#: lib/Storage/kolab.php:35 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Nelze zjistit informací free/busy pr %s" + +#: templates/view/view.inc:23 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "Nevyplnìno" + +#: lib/FBView/day.php:48 lib/FBView/day.php:58 +msgid "Unknown" +msgstr "Neznámí" + +#: lib/api.php:182 lib/api.php:250 lib/api.php:353 +msgid "Unsupported Content-Type." +msgstr "Nepodporovaný Typ Obsahu (Content-Type)." + +#: lib/Kronolith.php:956 +#, php-format +msgid "Updated: %s." +msgstr "Aktualizovánio: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "U¾ivatelské Rozhraní" + +#: lib/Block/month.php:163 lib/Block/month.php:166 +msgid "View Day" +msgstr "Zobrazit Den" + +#: templates/javascript/goto.inc:61 templates/edit/edit.inc:205 +#: lib/Block/month.php:109 +msgid "We" +msgstr "St" + +#: templates/view/view.inc:128 templates/month/head.inc:18 +#: templates/edit/javascript.inc:70 +msgid "Wednesday" +msgstr "Støeda" + +#: attendees.php:108 lib/Kronolith.php:1041 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:64 +msgid "Week" +msgstr "Týden" + +#: month.php:164 week.php:31 workweek.php:24 +#, php-format +msgid "Week %d" +msgstr "Týden %d" + +#: templates/view/view.inc:67 templates/edit/edit.inc:128 +msgid "Week(s)" +msgstr "Týden(y)" + +#: templates/view/view.inc:134 templates/edit/edit.inc:200 +msgid "Weekly: Recurs every" +msgstr "Týdnì: Rekurzívnì ka¾dý" + +#: config/prefs.php.dist:160 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Kdy má èasové zobrazeni dne a týdne konèit, pokud neobsahují pozdni události?" + +#: config/prefs.php.dist:151 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Kdy má èasové zobrazeni dne a týdne zaèít, pokud neobsahují èasné události?" + +#: attendees.php:107 lib/Kronolith.php:1040 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:65 +msgid "Work Week" +msgstr "Pracovní Týden" + +#: templates/view/view.inc:140 templates/edit/edit.inc:226 +msgid "Yearly: Recurs every" +msgstr "Roènì: Rekurzívnì ka¾dý" + +#: templates/contacts/contacts.inc:79 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Tento formuláø lze pouze pou¾ít ze stránky Úpravy Úèastníkù." + +#: lib/Kronolith.php:920 +msgid "" +"You do not have an email address configured in your identity preferences. " +"You must set one before event notifications can be sent." +msgstr "" +"Neudali jste emailovou adresu v nastavení identity. Alespoò jedna musí být " +"zadána." + +#: addeventaction.php:20 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Nedostateèná práva pro pøidání událostí do %s." + +#: data.php:183 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Nedostateèná práva pro pøidání událostí do vybraného kalendáøe." + +#: deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "Nedostateèná práva pro smazání této události." + +#: editeventaction.php:68 +msgid "You do not have permission to edit this event." +msgstr "Nedostateèná práva pro úpravu této události." + +#: data.php:178 +msgid "You have specified an invalid calendar." +msgstr "Byl zadán neiplatný kalendáø." + +#: calendars.php:83 +msgid "You must select a calendar to be deleted." +msgstr "Musíte vybrat kalendáø, který bude smazán." + +#: templates/contacts/contacts.inc:57 +msgid "You must select an address first." +msgstr "Musíte nejdøíve vybrat emailovou adresu." + +#: lib/Scheduler/kronolith.php:168 +#, php-format +msgid "You requested to be reminded about %s, which is at %s." +msgstr "®ádali jste o pøipomenutí události %s, která je v %s." + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Vá¹ implicitní kalendáø" + +#: lib/Driver.php:913 lib/Driver.php:922 +msgid "[Unnamed event]" +msgstr "[Událost bez názvu]" + +#: templates/edit/edit_timespan.inc:38 +msgid "_At" +msgstr "_V" + +#: templates/search/search_advanced.inc:10 +msgid "_Basic Search" +msgstr "_Vyhledat" + +#: viewevent.php:122 +msgid "_Edit" +msgstr "_Upravit" + +#: lib/Kronolith.php:1076 +msgid "_Goto" +msgstr "_Jít na" + +#: lib/Kronolith.php:1086 +msgid "_Import/Export" +msgstr "_Importovat/Exportovat" + +#: lib/Kronolith.php:1081 +msgid "_My Calendars" +msgstr "_Kalendáøe" + +#: lib/Kronolith.php:1072 +msgid "_New Event" +msgstr "_Nová Událost" + +#: lib/Kronolith.php:1091 +msgid "_Print" +msgstr "_Tisk" + +#: lib/Kronolith.php:1078 +msgid "_Search" +msgstr "_Vyhledat" + +#: templates/menu.inc:21 +msgid "_Show" +msgstr "_Zobrazit" + +#: lib/Kronolith.php:1069 +msgid "_Today" +msgstr "_Dnes" + +#: templates/edit/edit.inc:130 +msgid "before the event starts" +msgstr "pøed zaèátkem události" + +#: config/prefs.php.dist:97 +msgid "day" +msgstr "den" + +#: templates/view/view.inc:122 templates/edit/edit.inc:195 +msgid "day(s)" +msgstr "den(dny)" + +#: config/prefs.php.dist:98 config/prefs.php.dist:99 config/prefs.php.dist:100 +#: config/prefs.php.dist:101 config/prefs.php.dist:102 +msgid "days" +msgstr "dny" + +#: data.php:137 templates/data/export.inc:1 +msgid "events.csv" +msgstr "události.cvs" + +#: data.php:158 +msgid "events.ics" +msgstr "udílosti.ics" + +#: templates/contacts/contacts.inc:133 +msgid "from" +msgstr "od" + +#: templates/view/view.inc:136 templates/view/view.inc:138 +#: templates/edit/edit.inc:215 templates/edit/edit.inc:221 +msgid "month(s)" +msgstr "mìsíc(e)" + +#: templates/view/view.inc:136 templates/edit/edit.inc:215 +msgid "on the same date" +msgstr "ve stejném dnu" + +#: templates/view/view.inc:138 templates/edit/edit.inc:221 +msgid "on the same weekday" +msgstr "ve stejném týdnu" + +#: data.php:30 templates/data/import.inc:23 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: lib/api.php:167 lib/api.php:339 +msgid "vEvent not found." +msgstr "vEvent nebyl nalezen." + +#: config/prefs.php.dist:103 +msgid "week" +msgstr "týden" + +#: templates/view/view.inc:134 templates/edit/edit.inc:202 +msgid "week(s) on:" +msgstr "týden(týdny) v:" + +#: config/prefs.php.dist:104 config/prefs.php.dist:105 +#: config/prefs.php.dist:106 +msgid "weeks" +msgstr "týdny" + +#: templates/view/view.inc:140 templates/edit/edit.inc:227 +msgid "year(s)" +msgstr "rok(y)" diff --git a/kronolith/po/da_DK.po b/kronolith/po/da_DK.po new file mode 100644 index 000000000..150755d40 --- /dev/null +++ b/kronolith/po/da_DK.po @@ -0,0 +1,2020 @@ +# Danish translations for Kronolith package +# Danske oversættelser for pakke Kronolith. +# Copyright 2006-2009 The Horde Project +# This file is distributed under the same license as the Kronolith package. +# Brian Truelsen , 2006. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith H3 (2.2-cvs)\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2006-03-11 12:34+0100\n" +"PO-Revision-Date: 2006-03-11 12:47+0100\n" +"Last-Translator: Brian Truelsen .\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/calendars/search.inc:16 +#, php-format +msgid "%d calendars found" +msgstr "%d kalendere fundet" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d hændelser" + +#: templates/edit/edit_timespan.inc:121 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s dag(e) %s time(r) %s minutter" + +#: lib/Driver.php:1845 +#, php-format +msgid "%s attendees" +msgstr "%s deltagere" + +#: data.php:282 +#, php-format +msgid "%s file successfully imported" +msgstr "%s-fil importeret" + +#: calendars.php:105 lib/base.php:141 +#, php-format +msgid "%s's Calendar" +msgstr "%ss kalender" + +#: templates/calendars/search.inc:17 +msgid "" +"(Click on calendar name to switch the calendar's visibility in the main " +"window)" +msgstr "" +"(Klik på kalendernavn for at skifte kalenderens synlighed i hoved-vinduet)" + +#: templates/contacts/contacts.inc:165 +msgid "* Add these by clicking Add *" +msgstr "* Tilføj disse ved at klikke Tilføj *" + +#: templates/contacts/contacts.inc:151 +msgid "* Please select address(es) *" +msgstr "* Vælg venligst adresse(r) *" + +#: lib/Driver.php:1844 +msgid "1 attendee" +msgstr "1 deltager" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 hændelse" + +#: config/prefs.php.dist:146 +msgid "1 hour" +msgstr "1 time" + +#: config/prefs.php.dist:143 +msgid "15 minutes" +msgstr "15 minutter" + +#: config/prefs.php.dist:144 +msgid "20 minutes" +msgstr "20 minutter" + +#: config/prefs.php.dist:145 +msgid "30 minutes" +msgstr "30 minutter" + +#: templates/edit/edit.inc:162 +msgid "Attendees (optional)" +msgstr "Deltagere (valgfri)" + +#: templates/edit/edit.inc:149 +msgid "Descri_ption (optional)" +msgstr "Beskrivelse (valgfri)" + +#: templates/edit/edit.inc:266 +msgid "Keywords (optional)" +msgstr "Nøgleord (valgfri)" + +#: templates/edit/edit.inc:185 +msgid "Recurrence (optional)" +msgstr "Gentagelse (valgfri)" + +#: templates/data/export.inc:113 templates/data/export.inc:193 +msgid "AM" +msgstr "form." + +#: lib/Kronolith.php:657 +msgid "Accepted" +msgstr "Accepteret" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Udvidet søgning" + +#: templates/contacts/contacts.inc:160 +msgid "Add" +msgstr "Tilføj" + +#: templates/edit/edit.inc:21 +msgid "Add Event" +msgstr "Tilføj Aftale" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Tilføj en ny fjern kalender" + +#: addevent.php:65 +msgid "Add a new event" +msgstr "Tilføj ny aftale" + +#: templates/attendees/attendees.inc:71 +msgid "Add attendees" +msgstr "Tilføj deltagere" + +#: templates/contacts/contacts.inc:185 +msgid "Add to attendees" +msgstr "Tilføj til deltagere" + +#: contacts.php:76 templates/contacts/contacts.inc:128 +#: templates/attendees/attendees.inc:74 +msgid "Address Book" +msgstr "Adressekartotek" + +#: templates/search/search.inc:11 templates/search/search_advanced.inc:8 +msgid "Advanced Search" +msgstr "Udvidet søgning" + +#: templates/view/view.inc:45 +msgid "Alarm" +msgstr "Alarm" + +#: lib/Driver.php:1820 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarm %d dage i forvejen" + +#: lib/Driver.php:1825 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarm %d timer før" + +#: lib/Driver.php:1830 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarm %d minutter inden" + +#: lib/Driver.php:1815 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarm %d uger før" + +#: lib/Driver.php:1819 +msgid "Alarm 1 day before" +msgstr "Alarm 1 dag før" + +#: lib/Driver.php:1824 +msgid "Alarm 1 hour before" +msgstr "Alarm 1 time før" + +#: lib/Driver.php:1829 +msgid "Alarm 1 minute before" +msgstr "Alarm 1 minut inden" + +#: lib/Driver.php:1814 +msgid "Alarm 1 week before" +msgstr "Alarm 1 uge før" + +#: data.php:59 +msgid "Alarm Date" +msgstr "Alarm Dato" + +#: data.php:58 +msgid "Alarm Span (minutes)" +msgstr "Alarm Varighed (minutter)" + +#: data.php:60 +msgid "Alarm Time" +msgstr "Alarm Tid" + +#: templates/delete/delete.inc:26 +msgid "All" +msgstr "Alle" + +#: lib/FBView.php:128 lib/FBView.php:131 lib/FBView.php:134 +msgid "All Attendees" +msgstr "Alle deltagere" + +#: templates/perms/perms.inc:65 +msgid "All Authenticated Users" +msgstr "Alle ægtede brugere" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Alle fremtidige" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Alle foregående" + +#: lib/Block/month.php:24 lib/Block/monthlist.php:27 +#: lib/Block/prevmonthlist.php:27 lib/Block/summary.php:25 +msgid "All Visible" +msgstr "Alle synlige" + +#: templates/edit/edit_timespan.inc:120 lib/Driver.php:1890 +#: lib/Views/Day.php:94 lib/Views/Day.php:97 lib/Views/Week.php:142 +#: lib/Views/Week.php:149 +msgid "All day" +msgstr "Hele dagen" + +#: lib/Block/summary.php:164 +msgid "All day event" +msgstr "Heledagsaftale" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Alle aftaler" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:750 +msgid "Any" +msgstr "Vilkårlig" + +#: templates/javascript/goto.inc:71 +msgid "April" +msgstr "April" + +#: templates/edit/edit_timespan.inc:38 templates/edit/edit_timespan.inc:91 +#: templates/data/export.inc:82 templates/data/export.inc:168 +msgid "At" +msgstr "Kl." + +#: lib/Kronolith.php:1106 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Vedlagt forefindes en iCalendar-fil med yderligere information omkring " +"hændelsen. Hvis dit e-post-program understøtter iTip-anmodninger vil du " +"kunne bruge denne fil til nemt at opdatere din lokale kopi af hændelsen." + +#: perms.php:44 +msgid "Attempt to edit a non-existent share." +msgstr "Forsøg på at ændre en ikke-eksisterende deling." + +#: templates/view/view.inc:157 templates/attendees/attendees.inc:42 +msgid "Attendance" +msgstr "Deltagelse" + +#: templates/view/view.inc:153 +msgid "Attendees" +msgstr "Deltagere" + +#: templates/javascript/goto.inc:75 +msgid "August" +msgstr "August" + +#: templates/search/search.inc:8 templates/search/search_advanced.inc:11 +msgid "Basic Search" +msgstr "Simpel søgning" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Fødselsdag" + +#: lib/FBView.php:90 lib/FBView.php:111 +msgid "Busy" +msgstr "Optaget" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "Kalender" + +#: templates/edit/edit.inc:47 +msgid "Cal_endar" +msgstr "Kalender" + +#: templates/calendars/calendars.inc:149 lib/Block/month.php:21 +#: lib/Block/monthlist.php:21 lib/Block/prevmonthlist.php:21 +#: lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Kalender" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Kalender-oversigt" + +#: data.php:233 +msgid "Calendar successfully purged." +msgstr "Kalender tømt." + +#: config/prefs.php.dist:36 config/prefs.php.dist:43 config/prefs.php.dist:50 +#: config/prefs.php.dist:57 +msgid "Calendars" +msgstr "Kalendere" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Kalendere skal være navngivne." + +#: data.php:248 +msgid "Can't create a new event." +msgstr "Kan ikke oprette en ny hændelse." + +#: templates/edit/edit.inc:31 templates/edit/edit.inc:299 +#: templates/delete/delete.inc:27 templates/delete/one.inc:25 +msgid "Cancel" +msgstr "Annuller" + +#: lib/Kronolith.php:633 +msgid "Cancelled" +msgstr "Annulleret" + +#: lib/Kronolith.php:1081 +#, php-format +msgid "Cancelled: %s" +msgstr "Annulleret: %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:76 +msgid "Categor_y" +msgstr "Kategori" + +#: data.php:62 templates/view/view.inc:5 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "Kategori" + +#: config/prefs.php.dist:288 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Vælg hvorvidt du vil underrettes om nye, ændrede og slettede hændelser via e-" +"post:" + +#: config/prefs.php.dist:52 +msgid "Choose if you want to be notified of new, edited, and deleted events." +msgstr "" +"Vælg hvorvidt du vil underrettes om nye, ændrede eller slettede hændelser." + +#: config/prefs.php.dist:301 +msgid "Choose if you want to receive email reminders for events with alarms:" +msgstr "" +"Vælg hvorvidt du ønsker at modtage e-post-påmindelser ved hændelser med " +"alarmer:" + +#: templates/prefs/search_abook_select.inc:19 config/prefs.php.dist:321 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "Vælg de adressekartoteker, som skal gennemses for fri/optaget-URLer:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Vælg de kalendere, som inkluderes i din ledig/optaget-information:" + +#: config/prefs.php.dist:333 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "" +"Vælg de kalendere, som skal medtages, når der genereres fri/optaget-URLer:" + +#: config/prefs.php.dist:38 +msgid "Choose your default calendar." +msgstr "Vælg din standard-kalender." + +#: templates/attendees/attendees.inc:84 +msgid "Clear all attendees" +msgstr "Fjern alle deltagere" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Luk vindue" + +#: templates/contacts/contacts.inc:186 +msgid "Close window" +msgstr "Luk vindue" + +#: data.php:28 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Kommaseparerede værdier" + +#: config/prefs.php.dist:73 +msgid "Confirm deletion of events?" +msgstr "Bekræft annullering af aftaler?" + +#: lib/Kronolith.php:630 +msgid "Confirmed" +msgstr "Bekræftet" + +#: templates/calendars/calendars.inc:217 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" +"Kopier nedenstående URL til brug overalt, hvor du har behov for din Fri/" +"Optaget-URL:" + +#: lib/Kronolith.php:168 +#, php-format +msgid "Could not open %s." +msgstr "Kunne ikke åbne %s." + +#: templates/calendars/calendars.inc:129 +msgid "Create" +msgstr "Opret" + +#: templates/calendars/calendars.inc:115 +msgid "Create Calendar" +msgstr "Opret kalender" + +#: templates/week/head.inc:28 lib/Views/Day.php:94 lib/Views/Day.php:206 +#: lib/Views/Month.php:170 +msgid "Create a New Event" +msgstr "Opret Ny Aftale" + +#: templates/view/view.inc:72 +msgid "Created" +msgstr "Oprettet" + +#: templates/delete/delete.inc:24 +msgid "Current" +msgstr "Aktuel" + +#: templates/view/view.inc:104 templates/edit/edit.inc:199 +msgid "Daily: Recurs every" +msgstr "Daglig: Gentages hver" + +#: attendees.php:106 lib/Kronolith.php:1376 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:82 +msgid "Day" +msgstr "Dag" + +#: templates/view/view.inc:54 templates/edit/edit.inc:139 +msgid "Day(s)" +msgstr "Dag(e)" + +#: lib/Kronolith.php:1416 +msgid "De_lete" +msgstr "Slet" + +#: templates/javascript/goto.inc:79 +msgid "December" +msgstr "December" + +#: lib/Kronolith.php:660 +msgid "Declined" +msgstr "Afvist" + +#: config/prefs.php.dist:37 +msgid "Default Calendar" +msgstr "Standard-kalender" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:71 +#: templates/perms/perms.inc:97 templates/perms/perms.inc:123 +#: templates/perms/perms.inc:149 templates/perms/perms.inc:197 +msgid "Delegate" +msgstr "Delegér" + +#: templates/perms/perms.inc:33 templates/perms/perms.inc:70 +#: templates/perms/perms.inc:96 templates/perms/perms.inc:122 +#: templates/perms/perms.inc:148 templates/perms/perms.inc:196 +#: templates/prefs/remote_cal_management.inc:23 templates/delete/one.inc:24 +#: templates/calendars/calendars.inc:204 lib/Driver.php:1871 +msgid "Delete" +msgstr "Slet" + +#: lib/Driver.php:1870 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Slet %s" + +#: templates/delete/delete.inc:22 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Slet kun denne aftale, denne og alle tilhørende fremtidige aftaler, eller " +"alle tilhørende aftaler?" + +#: templates/search/search.inc:28 templates/search/search_advanced.inc:103 +msgid "Descri_ption" +msgstr "Beskrivelse" + +#: data.php:61 templates/view/view.inc:88 +#: templates/calendars/calendars.inc:178 +msgid "Description" +msgstr "Beskrivelse" + +#: templates/contacts/contacts.inc:174 +msgid "Display" +msgstr "Vis" + +#: templates/calendars/calendars.inc:63 +msgid "Display Calendars" +msgstr "Vis kalendere" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:28 +msgid "Display Options" +msgstr "Indstillinger for visning" + +#: config/prefs.php.dist:30 +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "Ønsker du at vise opgaver, som er forfaldne, i din kalender?" + +#: lib/Kronolith.php:600 +msgid "Does not recur" +msgstr "Gentages ikke" + +#: lib/Kronolith.php:347 +#, php-format +msgid "Due: %s" +msgstr "Forfalden: %s" + +#: templates/edit/edit_timespan.inc:113 +msgid "Duration" +msgstr "Varighed" + +#: templates/perms/perms.inc:32 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:95 templates/perms/perms.inc:121 +#: templates/perms/perms.inc:147 templates/perms/perms.inc:195 +#: templates/calendars/calendars.inc:173 lib/Driver.php:1863 +msgid "Edit" +msgstr "Rediger" + +#: lib/Driver.php:1862 lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "Ret %s" + +#: templates/edit/edit.inc:178 +msgid "Edit Attendees" +msgstr "Redigér deltagere" + +#: templates/calendars/calendars.inc:143 +msgid "Edit Calendars" +msgstr "Redigér kalender" + +#: perms.php:259 +msgid "Edit Permissions" +msgstr "Ændre tilladelser" + +#: perms.php:261 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Ændre tilladelser for %s" + +#: config/prefs.php.dist:259 +msgid "Edit Remote Calendars" +msgstr "Redigér fjerne kalendere" + +#: attendees.php:146 +msgid "Edit attendees" +msgstr "Redigér deltagere" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Redigér kategorier og farver" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Ændre tilladelser for %s" + +#: templates/view/view.inc:156 templates/contacts/contacts.inc:177 +#: templates/attendees/attendees.inc:41 +msgid "Email Address" +msgstr "e-mail-adresse" + +#: templates/edit/edit_timespan.inc:59 +msgid "En_d" +msgstr "Slut" + +#: data.php:56 +msgid "End Date" +msgstr "Slutter den" + +#: templates/view/view.inc:39 templates/search/event_headers.inc:8 +#: templates/data/export.inc:120 +msgid "End On" +msgstr "Slutter den" + +#: data.php:57 +msgid "End Time" +msgstr "Slutter Kl." + +#: attendees.php:120 attendees.php:131 attendees.php:138 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "" +"Der opstod en fejl under anskaffelsen af\n" +"ledig/optaget-information for %s: %s" + +#: lib/Kronolith.php:1173 +msgid "Event added:" +msgstr "Hændelse tilføjet:" + +#: lib/Kronolith.php:1183 +msgid "Event deleted:" +msgstr "Hændelse slettet:" + +#: lib/Kronolith.php:1178 +msgid "Event edited:" +msgstr "Hændelse ændret:" + +#: lib/Driver.php:1081 +#, php-format +msgid "Event from %s to %s" +msgstr "Hændelse fra %s til %s" + +#: lib/Driver/sql.php:367 +msgid "Event not found" +msgstr "Hændelsen ikke fundet" + +#: lib/Driver.php:734 +msgid "Events must have a start date." +msgstr "Hændelser skal have en start-dato." + +#: lib/Driver.php:700 +msgid "Events must have a title." +msgstr "Hændelser skal have en titel." + +#: templates/attendees/attendees.inc:75 +msgid "Expand Names" +msgstr "Lav et opslag på navnene" + +#: templates/data/export.inc:199 +msgid "Export" +msgstr "Eksportér" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Eksportér Kalender" + +#: templates/javascript/goto.inc:69 +msgid "February" +msgstr "Februar" + +#: templates/contacts/contacts.inc:133 +msgid "Find" +msgstr "Find" + +#: templates/javascript/goto.inc:63 templates/edit/edit.inc:212 +#: lib/Block/month.php:105 lib/Views/Year.php:81 +msgid "Fr" +msgstr "Fre" + +#: lib/Kronolith.php:636 +msgid "Free" +msgstr "Ledig" + +#: config/prefs.php.dist:58 +msgid "Free/Busy Information" +msgstr "Fri/optaget-information" + +#: templates/view/view.inc:111 templates/month/head.inc:21 +#: templates/edit/javascript.inc:74 +msgid "Friday" +msgstr "Fredag" + +#: templates/delete/delete.inc:25 +msgid "Future" +msgstr "Fremtidig" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Spil" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Generelt" + +#: lib/Block/summary.php:140 +#, php-format +msgid "Goto %s" +msgstr "Gå til %s" + +#: templates/perms/perms.inc:191 +msgid "Groups" +msgstr "Grupper" + +#: templates/perms/perms.inc:91 +msgid "Guest Permissions" +msgstr "Gæstetilladelser" + +#: templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 lib/Views/Month.php:140 +msgid "Hide" +msgstr "Skjul" + +#: templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 lib/Views/Month.php:140 +#, php-format +msgid "Hide %s" +msgstr "Skjul %s" + +#: templates/view/view.inc:57 templates/edit/edit.inc:138 +msgid "Hour(s)" +msgstr "Time(r)" + +#: config/prefs.php.dist:142 +msgid "How long should the time slots on the day and week views be?" +msgstr "Hvor lange skal tidsafsnittene være i dag- og uge-oversigter?" + +#: config/prefs.php.dist:310 +msgid "How many days of free/busy information should we generate?" +msgstr "Hvor mange dage fri/optaget-information skal vi generere?" + +#: lib/Kronolith.php:1110 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s" +msgstr "" +"Hvis dit e-post-program ikke understøtter iTip-anmodninger, kan du anvende " +"én af følgende henvisninger til at acceptere eller afvise hændelsen.\n" +"\n" +"Acceptér hændelsen:\n" +"%s\n" +"\n" +"Acceptér hændelsen foreløbigt:\n" +"%s\n" +"\n" +"Afvis hændelsen:\n" +"%s" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importér kalender, trin %d" + +#: data.php:288 +msgid "Import/Export Calendar" +msgstr "Importér/Eksportér Kalender" + +#: templates/perms/perms.inc:143 +msgid "Individual Users" +msgstr "Individuelle brugere" + +#: templates/javascript/goto.inc:68 +msgid "January" +msgstr "Januar" + +#: templates/javascript/goto.inc:74 +msgid "July" +msgstr "Juli" + +#: templates/javascript/goto.inc:73 +msgid "June" +msgstr "Juni" + +#: data.php:64 templates/view/view.inc:134 +msgid "Keywords" +msgstr "Nøgleorder" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Sidste 24 timer" + +#: templates/view/view.inc:79 +msgid "Last Modified" +msgstr "Sidst ændret" + +#: templates/month/head.inc:5 templates/month/head_side_by_side.inc:5 +msgid "Last Month" +msgstr "Sidste måned" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Sidste år" + +#: templates/week/head.inc:6 templates/search/search.inc:54 +msgid "Last week" +msgstr "Sidste uge" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Begræns tidsrummet for din eksport:" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:83 +msgid "Lo_cation" +msgstr "Sted" + +#: js/Kronolith.js.php:7 js/src/Kronolith.js.php:68 +msgid "Loading ..." +msgstr "Henter..." + +#: data.php:63 templates/view/view.inc:13 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 lib/Driver.php:1907 +msgid "Location" +msgstr "Sted" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Håndtér fjerne kalendere." + +#: templates/javascript/goto.inc:70 +msgid "March" +msgstr "Marts" + +#: lib/api.php:104 +msgid "Maximum Number of Events" +msgstr "Maksimalt antal hændelser" + +#: templates/javascript/goto.inc:72 +msgid "May" +msgstr "Maj" + +#: lib/Driver.php:1904 +msgid "Me" +msgstr "Mig" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Møde" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Menu alarmer" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menuliste" + +#: templates/view/view.inc:60 templates/edit/edit.inc:137 +msgid "Minute(s)" +msgstr "Minut(ter)" + +#: templates/javascript/goto.inc:59 templates/edit/edit.inc:208 +#: lib/Block/month.php:105 lib/Views/Year.php:77 +msgid "Mo" +msgstr "Man" + +#: templates/view/view.inc:107 templates/month/head.inc:17 +#: templates/edit/javascript.inc:70 config/prefs.php.dist:106 +msgid "Monday" +msgstr "Mandag" + +#: lib/Kronolith.php:1382 lib/Block/tree_menu.php:24 config/prefs.php.dist:85 +msgid "Month" +msgstr "Måned" + +#: templates/view/view.inc:116 templates/view/view.inc:118 +#: templates/edit/edit.inc:219 templates/edit/edit.inc:225 +msgid "Monthly: Recurs every" +msgstr "Månedlig: Gentages hver" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Måneder i forvejen" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Måneder inden" + +#: lib/api.php:653 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Multiple iCalender-komponenter fundet; kun én vEvent er understøttet." + +#: calendars.php:128 templates/calendars/calendars.inc:70 +msgid "My Calendars" +msgstr "Mine kalendere" + +#: templates/menu.inc:35 templates/menu.inc:37 +msgid "My Calendars:" +msgstr "Mine kalendere" + +#: templates/calendars/calendars.inc:213 +msgid "My Free/Busy URL" +msgstr "Min Fri/Optaget URL" + +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +#: templates/contacts/contacts.inc:176 templates/calendars/calendars.inc:120 +#: templates/calendars/calendars.inc:162 +msgid "Name" +msgstr "Navn" + +#: lib/Block/month.php:41 lib/Block/monthlist.php:44 lib/Block/summary.php:41 +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Ny Aftale" + +#: lib/base.php:175 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "Ny kalender oprettet og automatisk delt med følgende gruppe(r): %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Næste" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Næste 24 timer" + +#: lib/FBView/day.php:29 +msgid "Next Day" +msgstr "Næste dag" + +#: templates/month/head.inc:7 templates/month/head_side_by_side.inc:7 +msgid "Next Month" +msgstr "Næste Måned" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Næste uge" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Næste år" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Næste dag" + +#: templates/week/head.inc:8 templates/search/search.inc:58 +msgid "Next week" +msgstr "Næste uge" + +#: config/prefs.php.dist:284 config/prefs.php.dist:297 +msgid "No" +msgstr "Nej" + +#: templates/view/view.inc:65 templates/edit/edit.inc:134 +msgid "No alarm" +msgstr "Ingen alarm" + +#: templates/attendees/attendees.inc:48 +msgid "No attendees" +msgstr "Ingen deltagere" + +#: lib/Kronolith.php:1533 +msgid "No calendars are available to guests." +msgstr "Der er ingen kalender tilrådighed for gæster." + +#: templates/view/view.inc:128 templates/edit/edit.inc:245 +msgid "No end date" +msgstr "Ingen slut dato" + +#: lib/Block/monthlist.php:163 lib/Block/prevmonthlist.php:164 +#: lib/Block/summary.php:194 +msgid "No events to display" +msgstr "Ingen hændelser at vise" + +#: lib/Storage/kolab.php:54 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Ingen ledig/optaget-information tilgængelig for %s." + +#: lib/api.php:364 lib/api.php:643 +msgid "No iCalendar data was found." +msgstr "Ingen iCalendar-data fundet." + +#: templates/edit/edit.inc:194 +msgid "No recurrence" +msgstr "Ingen gentagelse." + +#: lib/Kronolith.php:960 +msgid "No valid email address found" +msgstr "Ingen gyldig e-post-adresse fundet" + +#: lib/Kronolith.php:667 lib/Kronolith.php:688 +msgid "None" +msgstr "Ingen" + +#: lib/Views/DeleteEvent.php:27 lib/Views/EditEvent.php:27 +#: lib/Views/Event.php:26 +msgid "Not Found" +msgstr "Ikke fundet" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Ikke fundet" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Påmindelser" + +#: templates/javascript/goto.inc:78 +msgid "November" +msgstr "November" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Nu" + +#: templates/perms/perms.inc:117 +msgid "Object Creator" +msgstr "Objektdanner" + +#: templates/javascript/goto.inc:77 +msgid "October" +msgstr "Oktober" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:64 +msgid "On" +msgstr "Den" + +#: config/prefs.php.dist:287 config/prefs.php.dist:300 +msgid "On all calendars I have read access to" +msgstr "I alle kalendere har jeg læseadgang til" + +#: config/prefs.php.dist:286 config/prefs.php.dist:299 +msgid "On all shown calendars" +msgstr "I alle viste kalendere" + +#: config/prefs.php.dist:285 config/prefs.php.dist:298 +msgid "On my calendars only" +msgstr "Kun i mine kalendere" + +#: perms.php:56 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"En delings ejerskab og ejertilladelser må kun ændre af en " +"systemadministrator eller ejeren selv" + +#: lib/Kronolith.php:685 +msgid "Optional" +msgstr "Valgfri" + +#: lib/FBView.php:119 +msgid "Optional Attendees" +msgstr "Valgfri deltagere" + +#: lib/FBView.php:154 +msgid "Overview" +msgstr "Overblik" + +#: templates/view/view.inc:26 +msgid "Owner" +msgstr "Ejer" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Ejerrettigheder" + +#: lib/Driver.php:1903 +#, php-format +msgid "Owner: %s" +msgstr "Ejer: %s" + +#: templates/data/export.inc:114 templates/data/export.inc:194 +msgid "PM" +msgstr "Eftm." + +#: templates/view/view.inc:101 templates/edit/edit.inc:189 +msgid "Pattern" +msgstr "Frekvens" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Slet denne aftale uigenkaldeligt?" + +#: lib/api.php:345 lib/api.php:441 lib/api.php:513 lib/api.php:593 +#: lib/api.php:625 lib/api.php:711 lib/api.php:747 +msgid "Permission Denied" +msgstr "Tilladelse nægtet" + +#: templates/calendars/calendars.inc:170 +msgid "Permissions" +msgstr "Tilladelser" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Portal-tilvalg" + +#: lib/FBView/day.php:25 +msgid "Previous Day" +msgstr "Foregående dag" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Foregående uge" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Foregående dag" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Tidligere hændelser" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:68 +#: templates/perms/perms.inc:94 templates/perms/perms.inc:120 +#: templates/perms/perms.inc:146 templates/perms/perms.inc:194 +msgid "Read" +msgstr "Læs" + +#: templates/view/view.inc:127 templates/edit/edit.inc:242 +msgid "Recur Until" +msgstr "Gentages til" + +#: templates/view/view.inc:98 +msgid "Recurrence" +msgstr "Gentagelse" + +#: data.php:68 +msgid "Recurrence Data" +msgstr "Gentagelse Data" + +#: data.php:66 +msgid "Recurrence End Date" +msgstr "Gentagelse Slut Dato" + +#: data.php:67 +msgid "Recurrence Interval" +msgstr "Gentagelse Interval" + +#: data.php:65 +msgid "Recurrence Type" +msgstr "Gentagelse Type" + +#: lib/Kronolith.php:603 +msgid "Recurs daily" +msgstr "Gentages dagligt" + +#: lib/Kronolith.php:610 +msgid "Recurs monthly" +msgstr "Gentages månedligt" + +#: lib/Kronolith.php:606 +msgid "Recurs weekly" +msgstr "Gentages ugentlig" + +#: lib/Kronolith.php:613 +msgid "Recurs yearly" +msgstr "Gentages årligt" + +#: lib/Scheduler/kronolith.php:208 +#, php-format +msgid "Reminder: %s" +msgstr "Påmindelse: %s" + +#: templates/calendars/calendars.inc:94 config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Eksterne kalender" + +#: templates/menu.inc:61 templates/menu.inc:63 +msgid "Remote Calendars:" +msgstr "Eksterne kalender" + +#: templates/calendars/calendars.inc:194 +msgid "Remote Subscription URL" +msgstr "Fjern abonnements-URL" + +#: templates/contacts/contacts.inc:161 +msgid "Remove" +msgstr "Slet" + +#: templates/attendees/attendees.inc:51 +#, php-format +msgid "Remove %s" +msgstr "Slet %s" + +#: attendees.php:100 +msgid "Remove Attendee" +msgstr "Slet deltagere" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Erstat eksisterende kalender med den importerede? Advarsel: Dette " +"vil slette alle poster i din aktuelle kalender." + +#: lib/Kronolith.php:692 +msgid "Required" +msgstr "Påkrævet" + +#: lib/FBView.php:98 lib/FBView.php:139 lib/FBView.php:142 lib/FBView.php:145 +msgid "Required Attendees" +msgstr "Påkrævede deltagere" + +#: templates/edit/edit.inc:32 templates/edit/edit.inc:300 +msgid "Reset to Defaults" +msgstr "Tilbage til standardindstillinger" + +#: templates/view/view.inc:158 templates/attendees/attendees.inc:43 +msgid "Response" +msgstr "Svar" + +#: config/prefs.php.dist:133 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Begræns dag- og ugeoversigter til disse tidsrum, også selvom er er tidligere eller senere hændelser?" + +#: templates/javascript/goto.inc:64 templates/edit/edit.inc:213 +#: lib/Block/month.php:105 lib/Views/Year.php:82 +msgid "Sa" +msgstr "Lør" + +#: templates/view/view.inc:112 templates/month/head.inc:22 +#: templates/edit/javascript.inc:75 +msgid "Saturday" +msgstr "Lørdag" + +#: templates/calendars/calendars.inc:203 +msgid "Save" +msgstr "Gem" + +#: templates/perms/perms.inc:235 +#, php-format +msgid "Save %s" +msgstr "Gem \"%s\"" + +#: lib/Kronolith.php:1411 lib/Views/EditEvent.php:74 +#: lib/Views/EditEvent.php:81 +msgid "Save As New" +msgstr "Gem som ny" + +#: templates/attendees/attendees.inc:83 +msgid "Save Attendees" +msgstr "Gam deltagere" + +#: addevent.php:56 lib/Views/EditEvent.php:76 +msgid "Save Event" +msgstr "Gem aftale" + +#: search.php:91 templates/search/search.inc:67 +#: templates/search/search_advanced.inc:114 +#: templates/contacts/contacts.inc:145 templates/calendars/search.inc:8 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Søg" + +#: templates/calendars/search.inc:1 +msgid "Search Calendars" +msgstr "Gennemsøg kalendere" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Resultat for søgning" + +#: templates/calendars/search.inc:6 +msgid "Search for calendars containing:" +msgstr "Søg kalendere, som indeholder:" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Fri/optaget-søgning er ikke tilgængelig." + +#: templates/calendars/calendars.inc:153 +msgid "Select a calendar to edit" +msgstr "Vælg en kalender, som skal redigeres" + +#: templates/edit/edit.inc:257 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:81 +msgid "Select a date" +msgstr "Vælg en dato" + +#: templates/perms/perms.inc:215 +msgid "Select a group to add" +msgstr "Vælg en gruppe at tilføje" + +#: templates/perms/perms.inc:41 +msgid "Select a new owner" +msgstr "Vælg en ny ejer" + +#: templates/perms/perms.inc:168 +msgid "Select a user to add" +msgstr "Vælg en bruger at tilføje" + +#: templates/menu.inc:31 +msgid "Select calendars to display:" +msgstr "Vælg de kalendere, der skal vises:" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Vælg bekræftelser, hvordan man viser forskellige oversigter, og vælg " +"standardoversigten." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Vælg den kalender, som skal importeres:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Vælg de(n) kalender(e), der skal eksporteres fra" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Vælg formatet, der skal eksporteres i:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Vælg den fil, der skal importeres:" + +#: config/prefs.php.dist:104 +msgid "Select the first weekday:" +msgstr "Vælg første ugedag:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Vælg formatet af oprindelsesfilen:" + +#: config/prefs.php.dist:193 +msgid "Select the time span to show:" +msgstr "Vælg tidsvarighed der skal vises:" + +#: config/prefs.php.dist:86 +msgid "Select the view to display on startup:" +msgstr "Vælg den oversigt, der vises efter opstart:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Vælg hvilke hændelser, der skal vises i portalen." + +#: templates/delete/delete.inc:19 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"Send en annulleringsbesked til alle deltagere ved sletning af denne hændelse" + +#: templates/view/view.inc:162 +#, php-format +msgid "Send an email to %s" +msgstr "Send en e-besked til %s" + +#: templates/edit/edit.inc:172 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"Send opdateringer/invitationer til alle deltagere ved lagring af denne " +"hændelse" + +#: templates/javascript/goto.inc:76 +msgid "September" +msgstr "September" + +#: templates/edit/edit_timespan.inc:81 +msgid "Set end date" +msgstr "Indstil slut-dato" + +#: templates/edit/edit.inc:257 +msgid "Set recurrence end date" +msgstr "Indstil slut-dato for gentagelse" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "Indstil start-dato" + +#: config/prefs.php.dist:59 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" +"Indstil dine fri/optaget-kalendere og din egen og andres fri/optaget-tilvalg." + +#: calendars.php:77 +#, php-format +msgid "Share not found: %s" +msgstr "Deling ikke fundet: %s" + +#: templates/calendars/calendars.inc:82 +msgid "Shared Calendars" +msgstr "Delte kalendere" + +#: templates/menu.inc:48 templates/menu.inc:50 +msgid "Shared Calendars:" +msgstr "Delte kalendere:" + +#: templates/perms/perms.inc:30 templates/perms/perms.inc:67 +#: templates/perms/perms.inc:93 templates/perms/perms.inc:119 +#: templates/perms/perms.inc:145 templates/perms/perms.inc:193 +msgid "Show" +msgstr "Vis" + +#: calendar_search.php:25 templates/week/head_side_by_side.inc:3 +#: templates/day/head_side_by_side.inc:3 +msgid "Show Calendar" +msgstr "Vis kalender" + +#: config/prefs.php.dist:165 +msgid "Show category legend?" +msgstr "Vis kategori-forklaring?" + +#: config/prefs.php.dist:155 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Vis slette-, alarm- og gentagelsesikoner i kalendervisninger?" + +#: config/prefs.php.dist:221 +msgid "Show due tasks in the calendar?" +msgstr "Vis forefaldende opgaver i kalender?" + +#: config/prefs.php.dist:175 +msgid "Show free/busy legend?" +msgstr "Vis fri/optaget-forklaring?" + +#: config/prefs.php.dist:212 +msgid "Show only events that have an alarm set?" +msgstr "Vis kun aftaler som er med alarm?" + +#: config/prefs.php.dist:184 +msgid "Show shared calendars side-by-side?" +msgstr "Vis delte kalendere ved siden af hinanden?" + +#: config/prefs.php.dist:230 +msgid "Show tasks using category colors?" +msgstr "Vis opgaver ved brug af kategori-farver?" + +#: config/prefs.php.dist:95 +msgid "Show time of day between each day in week views?" +msgstr "Vis tid på dagen mellem hver dag i uge-oversigt?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Start" + +#: data.php:54 +msgid "Start Date" +msgstr "Start dato" + +#: templates/view/view.inc:33 templates/search/event_headers.inc:7 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Start den" + +#: data.php:55 +msgid "Start Time" +msgstr "Start tid" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:92 +msgid "Stat_us" +msgstr "Status" + +#: templates/view/view.inc:19 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "Status" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Fri/optaget-lagring er ikke tilgængelig." + +#: templates/javascript/goto.inc:65 templates/edit/edit.inc:214 +#: lib/Block/month.php:107 lib/Block/month.php:109 lib/Views/Year.php:75 +#: lib/Views/Year.php:84 +msgid "Su" +msgstr "Søn" + +#: templates/view/view.inc:113 templates/month/head.inc:15 +#: templates/month/head.inc:24 templates/edit/javascript.inc:69 +#: config/prefs.php.dist:105 +msgid "Sunday" +msgstr "Søndag" + +#: config/prefs.php.dist:29 +msgid "Tasks" +msgstr "Opgaver" + +#: lib/Kronolith.php:640 lib/Kronolith.php:663 +msgid "Tentative" +msgstr "Foreløbigt" + +#: templates/javascript/goto.inc:62 templates/edit/edit.inc:211 +#: lib/Block/month.php:105 lib/Views/Year.php:80 +msgid "Th" +msgstr "Tor" + +#: lib/Driver.php:45 +msgid "The Calendar backend is not currently available." +msgstr "Kalender-backenden er ikke tilgængelig." + +#: lib/Driver.php:200 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Kalender-backenden er ikke tilgængelig: %s" + +#: templates/contacts/contacts.inc:70 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "" +"Skærmbilledet \"Redigér Deltagere\" er ikke længere tilstede. Afbryder." + +#: calendars.php:70 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Kalenderen \"%s\" kan ikke slettes." + +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Kalenderen \"%s\" er oprettet." + +#: calendars.php:88 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Kalenderen \"%s\" er slettet." + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Kalenderen \"%s\" er omdøbt til \"%s\"." + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Kalenderen \"%s\" er lagret." + +#: data.php:231 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Kalenderen kunne ikke tømmes: %s" + +#: templates/edit/javascript.inc:165 +msgid "The end date must be later than the start date." +msgstr "Slutdato skal være senere end startdato." + +#: lib/Kronolith.php:1174 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" +"Hændelsen \"%s\" er tilføjet til kalenderen \"%s\", hvilket er den %s kl. %s." + +#: lib/Kronolith.php:1184 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"Hændelsen \"%s\"er fjernet fra kalenderen \"%s\", hvilket var den %s kl. %s." + +#: lib/Kronolith.php:1179 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"Hændelsen \"%s\" er blevet ændret i kalenderen \"%s\", hvilket er den %s kl. " +"%s." + +#: lib/Kronolith.php:1147 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Hændelsespåmindelsen til %s er blevet sendt." + +#: lib/Kronolith.php:1104 +msgid "The following is a more detailed description of the event:" +msgstr "Følgende er en mere detaljeret beskrivelse af hændelsen:" + +#: attend.php:41 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Anmodningen er ufuldstændig. Nogle parametre, som er nødvendige for at " +"acceptere eller afvise hændelsen, mangler." + +#: lib/Views/DeleteEvent.php:40 lib/Views/EditEvent.php:43 +#: lib/Views/Event.php:41 +msgid "The requested event was not found." +msgstr "Den efterspurgte hændelse kunne ikke findes." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Der er ingen hændelser, som passer til gældende kriterier." + +#: addeventaction.php:24 editeventaction.php:28 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Der opstod en fejl under tilgang til kalenderen: %s" + +#: addeventaction.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Der opstod en fejl under tilføjelsen af hændelsen: %s" + +#: editeventaction.php:84 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Der opstod en fejl under ændring af hændelsen: %s" + +#: lib/api.php:358 lib/api.php:637 +msgid "There was an error importing the iCalendar data." +msgstr "Der opstod en fejl under importeringen af iCalendar data." + +#: editeventaction.php:60 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Der opstod en fejl under flytning af hændelse: %s" + +#: lib/Kronolith.php:1152 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Der opstod en fejl under afsendelse af hændelsespåmindelse til %s: %s" + +#: data.php:108 +msgid "There were no events to export." +msgstr "Der var ingen aftaler at eksportere." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Denne måned" + +#: data.php:187 +msgid "This file format is not supported." +msgstr "Dette filformat er ikke understøttet." + +#: data.php:250 +#, php-format +msgid "This is what the server said: %s" +msgstr "Serveren meldte: %s" + +#: templates/view/view.inc:110 templates/month/head.inc:20 +#: templates/edit/javascript.inc:73 +msgid "Thursday" +msgstr "Torsdag" + +#: templates/search/search.inc:37 +msgid "Time Sp_an" +msgstr "Tidsrum" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Tidsrum" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:38 +msgid "Tit_le" +msgstr "Titel" + +#: data.php:53 templates/search/event_headers.inc:3 +#: templates/search/search.inc:20 +msgid "Title" +msgstr "Titel" + +#: lib/Block/monthlist.php:121 lib/Block/prevmonthlist.php:122 +#: lib/Block/summary.php:127 +msgid "Today" +msgstr "I Dag" + +#: lib/Block/monthlist.php:123 lib/Block/prevmonthlist.php:124 +#: lib/Block/summary.php:129 +msgid "Tomorrow" +msgstr "I morgen" + +#: templates/javascript/goto.inc:60 templates/edit/edit.inc:209 +#: lib/Block/month.php:105 lib/Views/Year.php:78 +msgid "Tu" +msgstr "Tir" + +#: templates/view/view.inc:108 templates/month/head.inc:18 +#: templates/edit/javascript.inc:71 +msgid "Tuesday" +msgstr "Tirsdag" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Type" + +#: templates/calendars/calendars.inc:186 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Kunne ikke opnå forbindelse til SQL serveren." + +#: calendars.php:84 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Kan ikke slette \"%s\": %s" + +#: lib/Driver.php:203 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Kan ikke indlæse definitionen af %s." + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Kan ikke omdøbe \"%s\": %s" + +#: lib/Storage/kolab.php:44 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Kan ikke hente fri/optaget-information for %s" + +#: templates/view/view.inc:7 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "Ikke anbragt" + +#: lib/api.php:396 lib/api.php:480 lib/api.php:556 lib/api.php:662 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Ikke-understøttet Content-Type: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:43 +msgid "Upcoming Events" +msgstr "Forestående hændelser" + +#: perms.php:253 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" opdateret." + +#: lib/Kronolith.php:1094 +#, php-format +msgid "Updated: %s." +msgstr "Opdateret: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Brugergrænseflade" + +#: lib/Block/month.php:159 lib/Block/month.php:162 lib/Views/Year.php:156 +#: lib/Views/Year.php:162 +msgid "View Day" +msgstr "Vis dag" + +#: templates/javascript/goto.inc:61 templates/edit/edit.inc:210 +#: lib/Block/month.php:105 lib/Views/Year.php:79 +msgid "We" +msgstr "Ons" + +#: templates/view/view.inc:109 templates/month/head.inc:19 +#: templates/edit/javascript.inc:72 +msgid "Wednesday" +msgstr "Onsdag" + +#: attendees.php:108 lib/Kronolith.php:1380 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:83 +msgid "Week" +msgstr "Uge" + +#: week.php:15 workweek.php:15 lib/Views/Month.php:184 +#, php-format +msgid "Week %d" +msgstr "Uge %d" + +#: templates/view/view.inc:51 templates/edit/edit.inc:140 +msgid "Week(s)" +msgstr "Uge(r)" + +#: templates/view/view.inc:114 templates/edit/edit.inc:205 +msgid "Weekly: Recurs every" +msgstr "Ugenlig: Gentages hver" + +#: config/prefs.php.dist:124 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Hvad tid skal dag og uge oversigter ende med, når der ikke er senere aftaler?" + +#: config/prefs.php.dist:115 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Hvad tid skal dag og uge oversigter starte med, når der ikke er tidligere " +"aftaler?" + +#: attendees.php:107 lib/Kronolith.php:1378 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:84 +msgid "Work Week" +msgstr "Arbejdsuge" + +#: lib/Kronolith.php:1384 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "År" + +#: templates/view/view.inc:120 templates/edit/edit.inc:231 +msgid "Yearly: Recurs every" +msgstr "Årlig: Gentages hver" + +#: addevent.php:17 data.php:39 data.php:239 editeventaction.php:39 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Du har ikke tilladelse til at oprette mere en %d hændelser." + +#: attend.php:49 +msgid "You are not an attendee of the specified event." +msgstr "Du er ikke opført som deltager ved den angivne hændelse." + +#: templates/contacts/contacts.inc:76 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"Du kan kun bruge denne formular fra skærmbilledet \"Redigér Deltagere\"." + +#: lib/Kronolith.php:1048 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Du har ikke konfigureret nogen e-post-adresse i dine Personlige " +"Informationer Tilvalg. Du skal indstille en %sher%s før hændelses-" +"påmindelser kan udsendes." + +#: addeventaction.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Du har ikke tilladelse til at tilføje hændelser til %s." + +#: data.php:197 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" +"Du har ikke tilladelse til at tilføje hændelser til den valgte kalender." + +#: addeventaction.php:27 editeventaction.php:76 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Du har ikke tilladelse til at overdrage hændelser til %s." + +#: deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "Du har ikke tilladelse til at slette denne hændelse." + +#: editeventaction.php:79 +msgid "You do not have permission to edit this event." +msgstr "Du har ikke tilladelse til at ændre denne hændelse." + +#: data.php:192 +msgid "You have specified an invalid calendar." +msgstr "Du har angivet en ugyldig kalender." + +#: attend.php:21 +msgid "You have successfully accepted attendence to this event." +msgstr "Du har nu accepteret deltagelse ved denne hændelse." + +#: attend.php:26 +msgid "You have successfully declined attendence to this event." +msgstr "Du har nu afvist deltagelse ved denne hændelse." + +#: attend.php:31 +msgid "You have tentatively accepted attendence to this event." +msgstr "Du har nu foreløbigt accepteret deltagelse ved denne hændelse." + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "Du skal vælge en kalender, som du vil slette." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Du skal først vælge en adresse." + +#: templates/calendars/calendars.inc:173 +msgid "You need to select a calendar first" +msgstr "Du skal først vælge en kalender" + +#: lib/Kronolith.php:1174 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Du har anmodet om at blive underrette, når hændelser bliver tilføjet til " +"dine kalendere." + +#: lib/Kronolith.php:1184 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Du har anmodet om at blive underrettet, når hændelser bliver slettet fra din " +"kalendere." + +#: lib/Kronolith.php:1179 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "Du har anmodet om at blive underrettet om %s, som er den %s kl. %s." + +#: lib/Scheduler/kronolith.php:211 +#, php-format +msgid "You requested to be reminded about %s, which is on %s at %s." +msgstr "Du har bedt om at blive mindet om %s, som er den %s kl. %s." + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Din standard-kalender" + +#: lib/Driver.php:1070 lib/Driver.php:1078 +msgid "[Unnamed event]" +msgstr "[Unavngivet hændelse]" + +#: templates/edit/edit.inc:104 +msgid "_Alarm" +msgstr "Alarm" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "Almindelig søgning" + +#: lib/Kronolith.php:1411 +msgid "_Edit" +msgstr "Redigér" + +#: lib/Kronolith.php:1553 +msgid "_Goto" +msgstr "Gå til" + +#: lib/Kronolith.php:1559 +msgid "_Import/Export" +msgstr "Import/Eksport" + +#: lib/Kronolith.php:1540 +msgid "_My Calendars" +msgstr "Mine kalendere" + +#: lib/Kronolith.php:1547 +msgid "_New Event" +msgstr "Ny hændelse" + +#: lib/Kronolith.php:1564 +msgid "_Print" +msgstr "Udskriv" + +#: lib/Kronolith.php:1555 +msgid "_Search" +msgstr "Søg" + +#: lib/Kronolith.php:1550 +msgid "_Today" +msgstr "I Dag" + +#: templates/edit/edit.inc:57 +#, php-format +msgid "as %s" +msgstr "som %s" + +#: templates/edit/edit.inc:142 +msgid "before the event starts" +msgstr "før hændelsens begyndelse" + +#: config/prefs.php.dist:194 +msgid "day" +msgstr "dag" + +#: templates/view/view.inc:104 templates/edit/edit.inc:200 +msgid "day(s)" +msgstr "dag(e)" + +#: config/prefs.php.dist:195 config/prefs.php.dist:196 +#: config/prefs.php.dist:197 config/prefs.php.dist:198 +#: config/prefs.php.dist:199 +msgid "days" +msgstr "dage" + +#: data.php:150 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:171 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:136 +msgid "in" +msgstr "i" + +#: templates/view/view.inc:116 templates/view/view.inc:118 +#: templates/edit/edit.inc:220 templates/edit/edit.inc:226 +msgid "month(s)" +msgstr "måned(er) " + +#: lib/Kronolith.php:1100 +#, php-format +msgid "on %s at %s" +msgstr "den %s kl. %s" + +#: templates/view/view.inc:116 templates/edit/edit.inc:220 +msgid "on the same date" +msgstr "på samme dato" + +#: templates/view/view.inc:118 templates/edit/edit.inc:226 +msgid "on the same weekday" +msgstr "på samme ugedag" + +#: data.php:29 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: lib/api.php:369 lib/api.php:648 +msgid "vEvent not found." +msgstr "vEvent ikke fundet." + +#: config/prefs.php.dist:200 +msgid "week" +msgstr "uge" + +#: templates/view/view.inc:114 templates/edit/edit.inc:207 +msgid "week(s) on:" +msgstr "uge(r) på:" + +#: config/prefs.php.dist:201 config/prefs.php.dist:202 +#: config/prefs.php.dist:203 +msgid "weeks" +msgstr "uger" + +#: templates/view/view.inc:120 templates/edit/edit.inc:232 +msgid "year(s)" +msgstr "år" diff --git a/kronolith/po/de_DE.po b/kronolith/po/de_DE.po new file mode 100644 index 000000000..39b6fc0df --- /dev/null +++ b/kronolith/po/de_DE.po @@ -0,0 +1,2674 @@ +# German translations for Kronolith. +# Copyright 2001-2009 The Horde Project +# This file is distributed under the same license as the Kronolith package. +# Jan Schneider , 2001-2008. +# +# free/busy: Frei/Gebucht +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 3.0-cvs\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2008-09-18 11:24+0200\n" +"PO-Revision-Date: 2009-01-06 17:13+0100\n" +"Last-Translator: Jan Schneider \n" +"Language-Team: German \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" + +#: feed/index.php:128 +msgid " to " +msgstr " bis " + +#: templates/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " bis %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " ohne Ende" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d Termine" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d mal" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Tag(e) %s Stunde(n) %s Minuten" + +#: lib/Driver.php:2306 +#, php-format +msgid "%s attendees" +msgstr "%s Teilnehmer" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "Die %s-Datei wurde erfolgreich importiert" + +#: lib/Kronolith.php:368 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "Kalender von %s" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Auswahl durch Klick auf \"Hinzufügen\" *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Bitte Adresse(n) auswählen *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d mal" + +#: lib/Driver.php:2305 +msgid "1 attendee" +msgstr "1 Teilnehmer" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 Termin" + +#: config/prefs.php.dist:160 +msgid "1 hour" +msgstr "1 Stunde" + +#: config/prefs.php.dist:157 +msgid "15 minutes" +msgstr "15 Minuten" + +#: config/prefs.php.dist:158 +msgid "20 minutes" +msgstr "20 Minuten" + +#: config/prefs.php.dist:159 +msgid "30 minutes" +msgstr "30 Minuten" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1210 +msgid "Accepted" +msgstr "Angenommen" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "E_rweiterte Suche" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Hinzufügen" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Termin hinzufügen" + +#: new.php:68 +msgid "Add a new event" +msgstr "Einen neuen Termin hinzufügen" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Teilnehmer hinzufügen" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Quelle hinzufügen" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Zu Teilnehmern hinzufügen" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Adressbuch" + +#: config/prefs.php.dist:75 +msgid "Address Books" +msgstr "Adressbücher" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:10 +msgid "Advanced Search" +msgstr "Erweiterte Suche" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Alarm" + +#: lib/Driver.php:2269 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarm %d Tage vorher" + +#: lib/Driver.php:2274 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarm %d Stunden vorher" + +#: lib/Driver.php:2279 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarm %d Minuten vorher" + +#: lib/Driver.php:2264 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarm %d Wochen vorher" + +#: lib/Driver.php:2268 +msgid "Alarm 1 day before" +msgstr "Alarm 1 Tag vorher" + +#: lib/Driver.php:2273 +msgid "Alarm 1 hour before" +msgstr "Alarm 1 Stunde vorher" + +#: lib/Driver.php:2278 +msgid "Alarm 1 minute before" +msgstr "Alarm 1 Minute vorher" + +#: lib/Driver.php:2263 +msgid "Alarm 1 week before" +msgstr "Alarm 1 Woche vorher" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Alarmdatum" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Alarm (Minuten)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Alarmzeit" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "Alarmeinheit" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "Alarmdauer" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Alarm aktiviert" + +#: templates/delete/delete.inc:27 templates/edit/edit.inc:39 +msgid "All" +msgstr "Alle" + +#: lib/FBView.php:129 lib/FBView.php:132 lib/FBView.php:135 +msgid "All Attendees" +msgstr "Alle Teilnehmer" + +#: templates/perms/perms.inc:51 +msgid "All Authenticated Users" +msgstr "Angemeldete Benutzer" + +#: lib/Block/month.php:43 +msgid "All Calendars" +msgstr "Alle Kalender" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "Alle zukünftigen" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "Alle vergangenen" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:25 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "Alle sichtbaren" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2376 +#: lib/Scheduler/kronolith.php:433 lib/Scheduler/kronolith.php:446 +#: lib/Views/Day.php:99 lib/Views/Day.php:102 lib/Views/Week.php:149 +#: lib/Views/Week.php:156 lib/Views/Year.php:151 lib/Block/month.php:170 +msgid "All day" +msgstr "Ganztägig" + +#: lib/Block/summary.php:152 +msgid "All day event" +msgstr "Ganztägiger Termin" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Alle Termine" + +#: lib/Maintenance/Task/purge_events.php:72 +#, php-format +msgid "All of your events older than %d days will be permanently deleted." +msgstr "" +"Alle Ihre Termine, die älter als %d Tage sind, werden endgültig gelöscht." + +#: lib/api.php:801 lib/api.php:813 +msgid "Already Exists" +msgstr "Existiert bereits" + +#: templates/search/search_advanced.inc:44 +#: templates/search/search_advanced.inc:65 lib/Kronolith.php:1303 +msgid "Any" +msgstr "Alle" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "April" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "um" + +#: lib/Kronolith.php:1505 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Im Anhang befindet sich eine iCalendar-Datei mit mehr Informationen zu " +"diesem Termin. Wenn Ihr E-Mail-Programm iTip-Anfragen beherrscht, können Sie " +"diese Datei dazu benutzen, Ihre lokale Version des Termins zu aktualisieren." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Es wurde versucht, ein nicht existierendes Recht zu bearbeiten." + +#: templates/attendees/attendees.inc:48 templates/attendees/attendees.inc:60 +#: templates/view/view.inc:172 +msgid "Attendance" +msgstr "Anwesenheit" + +#: templates/attendees/attendees.inc:47 templates/view/view.inc:171 +msgid "Attendee" +msgstr "Teilnehmer" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "Teilnehmer" + +#: lib/Kronolith.php:1499 +#, php-format +msgid "Attendees: %s" +msgstr "Teilnehmer: %s" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "August" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Verfügbare Adressbücher:" + +#: templates/search/search_advanced.inc:9 templates/search/search.inc:12 +msgid "Basic Search" +msgstr "Einfache Suche" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Geburtstag" + +#: lib/FBView.php:90 lib/FBView.php:112 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Beschäftigt" + +#: templates/search/search_advanced.inc:37 +msgid "C_alendar" +msgstr "_Kalender" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "_Kalender" + +#: templates/calendar_list.php:24 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:22 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Kalender" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Informationen über Kalender" + +#: templates/calendar_list.php:21 +msgid "Calendar List" +msgstr "Kalenderübersicht" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Kalender-Übersicht" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "Kalender erfolgreich geleert." + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:66 +msgid "Calendars" +msgstr "Kalender" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Gedruckte Kalender: " + +#: data.php:270 +msgid "Can't create a new event." +msgstr "Ein neuer Termin konnte nicht erstellt werden." + +#: templates/delete/one.inc:25 templates/delete/delete.inc:28 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 lib/Forms/DeleteCalendar.php:45 +#: lib/Forms/DeleteCalendar.php:51 +msgid "Cancel" +msgstr "Abbrechen" + +#: lib/Kronolith.php:1186 +msgid "Cancelled" +msgstr "Abgesagt" + +#: lib/Kronolith.php:1466 +#, php-format +msgid "Cancelled: %s" +msgstr "Abgesagt: %s" + +#: lib/Driver/kolab.php:1406 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Termin kann nicht gelöscht werden: %s" + +#: templates/search/search_advanced.inc:58 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "Katego_rie" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Kategorie" + +#: templates/calendar_list.php:52 calendars/index.php:69 +msgid "Change Permissions" +msgstr "Rechte Ändern" + +#: config/prefs.php.dist:58 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Legen Sie fest, wie Sie über Terminänderungen, Terminalarme und kommende " +"Termine benachrichtigt werden möchten." + +#: config/prefs.php.dist:389 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "" +"Legen Sie fest, wie Sie über Termine mit Alarmen benachrichtigt werden " +"möchten:" + +#: config/prefs.php.dist:346 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Legen Sie fest, ob Sie per E-Mail über neue, geänderte oder gelöschte " +"Termine benachrichtigt werden möchten:" + +#: config/prefs.php.dist:359 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "" +"Legen Sie fest, ob Sie täglich per E-Mail über die Termine des Tages " +"informiert werden möchten:" + +#: config/prefs.php.dist:380 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "" +"Legen Sie fest, ob Sie Benachrichtigungen über Termine mit Alarm erhalten " +"möchten:" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "" +"Wählen Sie die Kalender aus, die einbezogen werden sollen, wenn die obige " +"Frei/Gebucht-Adresse erzeugt wird:" + +#: config/prefs.php.dist:446 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "" +"Wählen Sie die Kalender aus, die einbezogen werden sollen, wenn Ihre Frei/" +"Gebucht-Adressen erzeugt werden:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "" +"Legen Sie die Reihenfolge der Adressbücher fest, in denen nach passenden " +"Adressen gesucht werden soll." + +#: config/prefs.php.dist:194 +msgid "Choose the views to show event locations in:" +msgstr "" +"Wählen Sie die Ansichten, in denen die Terminorte angezeigt werden sollen:" + +#: config/prefs.php.dist:182 +msgid "Choose the views to show event start and end times in:" +msgstr "" +"Wählen Sie die Ansichten, in denen Terminbeginn und -ende angezeigt werden " +"sollen:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Wählen Sie die gewünschten Feiertage aus" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Wählen Sie Ihren Standard-Kalender aus." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Alle Teilnehmer entfernen" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Klicken Sie auf eines Ihrer ausgewählten Adressbücher und markieren Sie alle " +"Felder, die durchsucht werden sollen." + +#: templates/calendar_list.php:38 templates/calendar_list.php:39 +#: templates/calendar_list.php:48 templates/calendar_list.php:49 +msgid "Click or copy this URL to display this calendar" +msgstr "" +"Kopieren Sie diese Adresse in Ihren Browser oder klicken Sie darauf, um " +"diesen Kalender anzuzeigen" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Schließen" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Fenster schließen" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Fenster schließen" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Kommagetrennte Werte" + +#: config/prefs.php.dist:87 +msgid "Confirm deletion of events?" +msgstr "Löschen von Terminen bestätigen?" + +#: lib/Kronolith.php:1183 +msgid "Confirmed" +msgstr "Bestätigt" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "" +"Benutzen Sie die folgende Adresse, wann immer Sie Ihre Frei/Gebucht-Adresse " +"benötigen:" + +#: lib/base.php:101 lib/base.php:112 +msgid "Could not execute maintenance operations." +msgstr "Die Wartungsaufgaben konnten nicht durchgeführt werden." + +#: lib/Kronolith.php:481 +#, php-format +msgid "Could not open %s." +msgstr "%s konnte nicht gelesen werden." + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Erstellen" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Kalender erstellen" + +#: templates/week/head.inc:29 lib/Views/Day.php:99 lib/Views/Day.php:268 +#: lib/Views/Month.php:205 +msgid "Create a New Event" +msgstr "Neuen Termin erstellen" + +#: templates/calendar_list.php:11 +msgid "Create a new Local Calendar" +msgstr "Neuen lokalen Kalender erstellen" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Erstellt" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:37 +msgid "Current" +msgstr "Diesen" + +#: lib/Recurrence.php:199 +msgid "Daily" +msgstr "Täglich" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "Täglich: Wiederholung alle" + +#: attendees.php:194 lib/Kronolith.php:1833 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:96 +msgid "Day" +msgstr "Tag" + +#: templates/prefs/default_alarm_management.inc:28 templates/view/view.inc:56 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "Tag(e)" + +#: lib/Kronolith.php:1883 +msgid "De_lete" +msgstr "_Löschen" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Dezember" + +#: lib/Kronolith.php:1213 +msgid "Declined" +msgstr "Abgelehnt" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Standard-Alarmeinstellungen:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Standard-Kalender" + +#: templates/perms/perms.inc:57 templates/perms/perms.inc:81 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:122 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:163 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:204 +#: templates/perms/perms.inc:245 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:286 templates/perms/perms.inc:320 +msgid "Delegate" +msgstr "Delegieren" + +#: templates/calendar_list.php:54 templates/delete/one.inc:24 +#: templates/perms/perms.inc:56 templates/perms/perms.inc:77 +#: templates/perms/perms.inc:97 templates/perms/perms.inc:118 +#: templates/perms/perms.inc:138 templates/perms/perms.inc:159 +#: templates/perms/perms.inc:179 templates/perms/perms.inc:200 +#: templates/perms/perms.inc:241 templates/perms/perms.inc:261 +#: templates/perms/perms.inc:282 templates/perms/perms.inc:316 +#: calendars/index.php:70 lib/Driver.php:1355 lib/Driver.php:2335 +#: lib/Forms/DeleteCalendar.php:45 +msgid "Delete" +msgstr "Löschen" + +#: lib/Driver.php:2334 lib/Views/DeleteEvent.php:29 +#: lib/Forms/DeleteCalendar.php:40 +#, php-format +msgid "Delete %s" +msgstr "%s löschen" + +#: lib/Driver.php:1354 +#, php-format +msgid "Delete exception on %s" +msgstr "Ausnahme am %s löschen" + +#: lib/Maintenance/Task/purge_events.php:59 +#, php-format +msgid "Deleted %d event older than %d days." +msgid_plural "Deleted %d events older than %d days." +msgstr[0] "%d Termin älter als %d Tage wurde gelöscht." +msgstr[1] "%d Termine älter als %d Tage wurden gelöscht." + +#: templates/search/search_advanced.inc:101 templates/search/search.inc:27 +#: templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "_Beschreibung" + +#: data.php:63 templates/view/view.inc:155 lib/Forms/EditCalendar.php:44 +#: lib/Forms/CreateCalendar.php:37 +msgid "Description" +msgstr "Beschreibung" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Anzeige" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Anzeige-Einstellungen" + +#: templates/calendar_list.php:26 +msgid "Display URL" +msgstr "Anzeige-Adresse" + +#: lib/Kronolith.php:1151 +msgid "Does not recur" +msgstr "Keine Wiederholung" + +#: config/prefs.php.dist:367 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"Mir keine Benachrichtigung schicken, wenn ich selbst den Termin hinzugefügt, " +"geändert oder gelöscht habe?" + +#: lib/Kronolith.php:715 +#, php-format +msgid "Due: %s" +msgstr "Fällig: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "_Dauer" + +#: lib/Driver.php:2042 +msgid "Duration Day" +msgstr "Dauer Tage" + +#: lib/Driver.php:2054 +msgid "Duration Hour" +msgstr "Dauer Stunden" + +#: lib/Driver.php:2065 +msgid "Duration Minute" +msgstr "Dauer Minuten" + +#: templates/calendar_list.php:40 templates/calendar_list.php:50 +#: templates/perms/perms.inc:55 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:96 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:137 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:178 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:237 templates/perms/perms.inc:260 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:312 +#: calendars/index.php:68 lib/Driver.php:2328 +msgid "Edit" +msgstr "Bearbeiten" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2327 +#: lib/Views/EditEvent.php:29 lib/Forms/EditRemoteCalendar.php:34 +#: lib/Forms/EditCalendar.php:40 +#, php-format +msgid "Edit %s" +msgstr "%s bearbeiten" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Teilnehmer bearbeiten" + +#: perms.php:237 +msgid "Edit Permissions" +msgstr "Rechte bearbeiten" + +#: perms.php:239 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Rechte für '%s' bearbeiten" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Teilnehmer bearbeiten" + +#: attendees.php:266 +msgid "Edit attendees" +msgstr "Teilnehmer bearbeiten" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Kategorien und Farben bearbeiten" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Rechte für %s bearbeiten" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "E-Mail-Adresse" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "En_de" + +#: data.php:58 +msgid "End Date" +msgstr "Enddatum" + +#: templates/data/export.inc:161 lib/Driver.php:2013 +msgid "End Day" +msgstr "Enddatum" + +#: templates/data/export.inc:178 lib/Driver.php:2026 +msgid "End Hour" +msgstr "Endstunde" + +#: templates/data/export.inc:190 lib/Driver.php:2037 +msgid "End Minute" +msgstr "Endminute" + +#: templates/data/export.inc:148 lib/Driver.php:2004 +msgid "End Month" +msgstr "Endmonat" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:41 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "endet am" + +#: data.php:59 +msgid "End Time" +msgstr "Endzeit" + +#: templates/data/export.inc:134 lib/Driver.php:1993 +msgid "End Year" +msgstr "Endjahr" + +#: attendees.php:244 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Fehler beim Auslesen der Frei/Gebucht-Informationen für %s: %s" + +#: attendees.php:221 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Fehler beim Auslesen Ihrer Frei/Gebucht-Informationen: %s" + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Standardwerte" + +#: feed/index.php:145 +msgid "Event Status:" +msgstr "Terminstatus:" + +#: lib/Kronolith.php:1663 +msgid "Event added:" +msgstr "Termin hinzugefügt:" + +#: lib/Kronolith.php:1673 +msgid "Event deleted:" +msgstr "Termin gelöscht:" + +#: lib/Kronolith.php:1668 +msgid "Event edited:" +msgstr "Termin bearbeitet:" + +#: lib/Driver.php:1492 +#, php-format +msgid "Event from %s to %s" +msgstr "Termin von %s bis %s" + +#: lib/Driver/sql.php:411 +msgid "Event not found" +msgstr "Termin nicht gefunden" + +#: lib/Driver/kolab.php:453 lib/Driver/kolab.php:1191 +#: lib/Driver/kolab.php:1230 lib/Driver/kolab.php:1382 +#, php-format +msgid "Event not found: %s" +msgstr "Termin nicht gefunden: %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:49 config/prefs.php.dist:56 +msgid "Events" +msgstr "Termine" + +#: lib/api.php:305 +#, php-format +msgid "Events from %s" +msgstr "Termine aus %s" + +#: lib/Driver.php:1074 +msgid "Events must have a start date." +msgstr "Termine müssen ein Startdatum haben." + +#: lib/Driver.php:1036 +msgid "Events must have a title." +msgstr "Termine müssen einen Titel haben." + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "Ausnahmen" + +#: templates/data/export.inc:209 lib/Kronolith.php:1890 +msgid "Export" +msgstr "Exportieren" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Kalender exportieren" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Externe Termine:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Februar" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Zu durchsuchende Felder" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Suche" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Views/Year.php:77 lib/Block/month.php:116 +msgid "Fr" +msgstr "Fr" + +#: lib/Kronolith.php:1189 +msgid "Free" +msgstr "Frei" + +#: config/prefs.php.dist:67 +msgid "Free/Busy Information" +msgstr "Frei/Gebucht-Informationen" + +#: templates/month/head.inc:21 templates/view/view.inc:103 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "Freitag" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:38 +msgid "Future" +msgstr "Zukünftige" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Spiel" + +#: templates/search/search_advanced.inc:18 +msgid "General" +msgstr "Allgemeines" + +#: lib/Block/summary.php:139 +#, php-format +msgid "Goto %s" +msgstr "Gehe nach %s" + +#: templates/perms/perms.inc:256 +msgid "Groups" +msgstr "Gruppen" + +#: templates/perms/perms.inc:92 +msgid "Guest Permissions" +msgstr "Gastrechte" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Ausblenden" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Feiertage" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:59 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "Stunde(n)" + +#: config/prefs.php.dist:156 +msgid "How long should the time slots on the day and week views be?" +msgstr "" +"Wie lang sollen die Zeitabschnitte in der Tages- und Wochenansicht sein?" + +#: config/prefs.php.dist:398 +msgid "How many days of Free/Busy information should be generated?" +msgstr "Für wieviele Tage sollen Frei/Gebucht-Informationen angezeigt werden?" + +#: lib/Kronolith.php:1509 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Falls Ihr E-Mail-Programm keine iTip-Anfragen unterstützt, können Sie einen " +"der folgenden Links verwenden, um den Termin zu bestätigen oder abzulehnen.\n" +"\n" +"Um den Termin zu bestätigen:\n" +"%s\n" +"\n" +"Um den Termin unter Vorbehalt zu bestätigen:\n" +"%s\n" +"\n" +"Um den Termin abzulehnen:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Kalender importieren, Schritt %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Kalender-Import/-Export" + +#: templates/perms/perms.inc:174 +msgid "Individual Users" +msgstr "Einzelne Benutzer" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Januar" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Juli" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Juni" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "Stichwörter" + +#: templates/calendar_list.php:25 +msgid "Kind" +msgstr "Art" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "Letzte 24 Stunden" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Letzte Änderung" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Letzter Monat" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Letztes Jahr" + +#: templates/search/search.inc:53 templates/week/head.inc:6 +msgid "Last week" +msgstr "Letzte Woche" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Wählen Sie die Zeitspanne, die exportiert werden soll:" + +#: config/prefs.php.dist:409 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Alle Kontakte beim Öffnen der Kontaktliste anzeigen? (Falls deaktiviert, " +"werden nur die Kontakte angezeigt, nach denen Sie ausdrücklich suchen)" + +#: templates/search/search_advanced.inc:81 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "_Ort" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Lade..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Lade..." + +#: templates/calendar_list.php:47 +msgid "Local" +msgstr "Lokal" + +#: templates/calendar_info.php:18 +#, php-format +msgid "Local calendar owned by %s." +msgstr "Dieser lokale Kalender gehört %s." + +#: data.php:65 templates/search/event_headers.inc:5 templates/view/view.inc:14 +#: lib/Driver.php:2358 +msgid "Location" +msgstr "Ort" + +#: lib/Kronolith.php:1490 +#, php-format +msgid "Location: %s" +msgstr "Ort: %s" + +#: feed/index.php:64 +#, php-format +msgid "Login required for the requested feed (%s)." +msgstr "Für den gewünschten Feed (%s) müssen Sie angemeldet sein." + +#: config/prefs.php.dist:50 +msgid "Maintenance" +msgstr "Wartungsarbeiten" + +#: templates/calendar_list.php:4 calendars/index.php:74 +msgid "Manage Calendars" +msgstr "Kalender-Verwaltung" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "März" + +#: lib/api.php:138 +msgid "Maximum Number of Events" +msgstr "Maximale Anzahl an Terminen" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Maximale Anzahl der anzuzeigenden Termine (0 = keine Begrenzung)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Mai" + +#: lib/Driver.php:2354 +msgid "Me" +msgstr "Ich" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Besprechung" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Menüalarm" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menüliste" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:62 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "Minute(n)" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Views/Year.php:73 lib/Block/month.php:116 +msgid "Mo" +msgstr "Mo" + +#: templates/month/head.inc:17 templates/view/view.inc:99 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:120 +msgid "Monday" +msgstr "Montag" + +#: attendees.php:197 lib/Kronolith.php:1839 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:99 +msgid "Month" +msgstr "Monat" + +#: config/prefs.php.dist:179 config/prefs.php.dist:191 +msgid "Month, Week, and Day Views" +msgstr "Monats-, Wochen und Tagesansichten" + +#: lib/Recurrence.php:202 +msgid "Monthly" +msgstr "Monatlich" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "Monatlich: Wiederholung alle" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Monate im voraus" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Monate zuvor" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Nach unten" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Nach oben" + +#: lib/api.php:1059 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Mehrere iCalendar-Komponenten gefunden; nur ein vEvent wird unterstützt." + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Meine Kalender:" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "Meine Frei/Gebucht-URL" + +#: templates/contacts/contacts.inc:188 +#: lib/Forms/SubscribeRemoteCalendar.php:36 +#: lib/Forms/EditRemoteCalendar.php:36 lib/Forms/EditCalendar.php:43 +#: lib/Forms/CreateCalendar.php:36 +msgid "Name" +msgstr "Name" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Neuer Termin" + +#: lib/Kronolith.php:402 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Neuer Kalender erstellt und automatisch folgenden Gruppen Zugriff gewährt: %" +"s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Weiter" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Nächste 24 Stunden" + +#: lib/FBView/day.php:34 +msgid "Next Day" +msgstr "Nächster Tag" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +#: lib/FBView/month.php:34 +msgid "Next Month" +msgstr "Nächster Monat" + +#: lib/FBView/week.php:39 +msgid "Next Week" +msgstr "Nächste Woche" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Nächstes Jahr" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Nächster Tag" + +#: templates/search/search.inc:57 templates/week/head.inc:8 +msgid "Next week" +msgstr "Nächste Woche" + +#: config/prefs.php.dist:342 config/prefs.php.dist:355 +#: config/prefs.php.dist:376 +msgid "No" +msgstr "Nein" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "Keine Informationen" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "Kein Alarm" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Keine Teilnehmer" + +#: lib/api.php:1197 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Es wurden keine Teilnehmer aktualisiert, weil keine der angegebenen E-Mail-" +"Adressen in der Teilnehmerliste gefunden wurde." + +#: lib/Kronolith.php:2082 +msgid "No calendars are available to guests." +msgstr "Es sind keine Kalender für Gäste verfügbar." + +#: lib/Driver/sql.php:439 +msgid "No calendars to search" +msgstr "Keine Kalender zu durchsuchen" + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "Kein Ende" + +#: lib/Block/prevmonthlist.php:164 lib/Block/monthlist.php:171 +#: lib/Block/summary.php:191 +msgid "No events to display" +msgstr "Keine Termine" + +#: lib/FreeBusy.php:232 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" +"Keine Frei/Gebucht-Informationen unter der Frei/Gebucht-URL von %s gefunden." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Keine Frei/Gebucht-Informationen für %s verfügbar" + +#: lib/FreeBusy.php:233 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Keine Frei/Gebucht-URL für %s gefunden." + +#: lib/api.php:786 lib/api.php:826 lib/api.php:1066 +msgid "No iCalendar data was found." +msgstr "Es wurden keine iCalendar-Daten gefunden." + +#: templates/edit/edit.inc:221 lib/Recurrence.php:198 lib/Driver.php:1333 +msgid "No recurrence" +msgstr "Keine Wiederholung" + +#: lib/FreeBusy.php:165 +msgid "No valid email address found" +msgstr "Keine gültige E-Mail-Adresse gefunden" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1220 +#: lib/Kronolith.php:1241 +msgid "None" +msgstr "Keine" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "Nicht gefunden" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Nicht gefunden" + +#: config/prefs.php.dist:57 +msgid "Notifications" +msgstr "Benachrichtigungen" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "November" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Jetzt" + +#: templates/perms/perms.inc:133 +msgid "Object Creator" +msgstr "Objektersteller" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Oktober" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Am" + +#: config/prefs.php.dist:345 config/prefs.php.dist:358 +#: config/prefs.php.dist:379 +msgid "On all calendars I have read access to" +msgstr "Bei allen Kalendern, für die ich Leserechte habe" + +#: config/prefs.php.dist:344 config/prefs.php.dist:357 +#: config/prefs.php.dist:378 +msgid "On all shown calendars" +msgstr "Bei allen angezeigten Kalendern" + +#: config/prefs.php.dist:343 config/prefs.php.dist:356 +#: config/prefs.php.dist:377 +msgid "On my calendars only" +msgstr "Nur bei meinen Kalendern" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Nur der Besitzer oder der Systemadministrator kann den Besitzer oder die " +"Besitzerrechte ändern" + +#: lib/Kronolith.php:1238 +msgid "Optional" +msgstr "Freiwillig" + +#: lib/FBView.php:120 +msgid "Optional Attendees" +msgstr "Freiwillige Teilnehmer" + +#: config/prefs.php.dist:74 +msgid "Other Options" +msgstr "Weitere Einstellungen" + +#: lib/FBView.php:155 +msgid "Overview" +msgstr "Übersicht" + +#: templates/perms/perms.inc:22 templates/view/view.inc:28 +msgid "Owner" +msgstr "Besitzer" + +#: templates/perms/perms.inc:28 templates/perms/perms.inc:39 +msgid "Owner:" +msgstr "Besitzer:" + +#: lib/Driver.php:2353 +#, php-format +msgid "Owner: %s" +msgstr "Besitzer: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "Passwort" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "Rhythmus" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Diesen Termin unwiederbringlich löschen?" + +#: lib/api.php:668 lib/api.php:704 lib/api.php:736 lib/api.php:767 +#: lib/api.php:862 lib/api.php:910 lib/api.php:1006 lib/api.php:1038 +#: lib/api.php:1127 lib/api.php:1187 lib/api.php:1253 lib/api.php:1275 +#: lib/Kronolith.php:1984 lib/Kronolith.php:2003 lib/Kronolith.php:2016 +#: lib/Kronolith.php:2037 lib/Block/prevmonthlist.php:70 +#: lib/Block/month.php:70 lib/Block/monthlist.php:74 lib/Block/summary.php:73 +#: lib/Driver/sql.php:839 +msgid "Permission Denied" +msgstr "Zugriff verweigert" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Zugriff verweigert" + +#: feed/index.php:45 +#, php-format +msgid "Permission denied for the requested feed (%s)." +msgstr "Zugriff auf diesen Feed (%s) verweigert." + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Bitte mehrdeutige oder ungültige Adressen korrigieren." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Portaleinstellungen" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "Mögliche Besprechungszeit" + +#: lib/FBView/day.php:30 +msgid "Previous Day" +msgstr "Vorheriger Tag" + +#: lib/FBView/month.php:28 +msgid "Previous Month" +msgstr "Vorheriger Monat" + +#: lib/FBView/week.php:34 +msgid "Previous Week" +msgstr "Vorherige Woche" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Vorheriger Tag" + +#: config/prefs.php.dist:180 config/prefs.php.dist:192 +msgid "Print Views" +msgstr "Druckansichten" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Vergangene Termine" + +#: lib/Driver.php:1488 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Privater Termin von %s bis %s" + +#: lib/Driver.php:2296 +msgid "Private event" +msgstr "Privater Termin" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Privat?" + +#: config/prefs.php.dist:472 +msgid "Purge old events from your calender?" +msgstr "Alte Termine aus Ihrem Kalender löschen?" + +#: config/prefs.php.dist:481 +msgid "Purge old events how often:" +msgstr "Wie oft sollen alte Termine gelöscht werden:" + +#: config/prefs.php.dist:489 +msgid "Purge old events older than this amount of days." +msgstr "Alte Termine nach so vielen Tagen endgültig löschen." + +#: templates/perms/perms.inc:54 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:95 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:136 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:177 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:259 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:308 +msgid "Read" +msgstr "Lesen" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"Den Kalender \"%s\" wirklich löschen? Dieser Vorgang kann nicht rückgängig " +"gemacht werden, und alle Daten in diesem Kalender werden endgültig gelöscht." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "Wirklich vom Kalender \"%s\" (%s) abmelden?" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "Wiederholen bis" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "Wiederholung" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Wiederholungsmuster" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Wiederholungsende" + +#: lib/Driver.php:2108 +msgid "Recurrence End Day" +msgstr "Wiederholungsendtag" + +#: lib/Driver.php:2093 +msgid "Recurrence End Month" +msgstr "Wiederholungsendmonat" + +#: lib/Driver.php:2076 +msgid "Recurrence End Year" +msgstr "Wiederholungsendjahr" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Wiederholungsintervall" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Wiederholungstyp" + +#: lib/Kronolith.php:1154 +msgid "Recurs daily" +msgstr "Täglich" + +#: lib/Kronolith.php:1161 +msgid "Recurs monthly" +msgstr "Monatlich" + +#: lib/Kronolith.php:1157 +msgid "Recurs weekly" +msgstr "Wöchentlich" + +#: lib/Kronolith.php:1166 +msgid "Recurs yearly" +msgstr "Jährlich" + +#: lib/Scheduler/kronolith.php:268 +#, php-format +msgid "Reminder: %s" +msgstr "Erinnerung: %s" + +#: templates/calendar_list.php:37 +msgid "Remote" +msgstr "Extern" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Externer Kalender von: " + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Externe Kalender:" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Entfernen" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "%s entfernen" + +#: attendees.php:187 +msgid "Remove Attendee" +msgstr "Teilnehmer entfernen" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Quelle entfernen" + +#: lib/Driver.php:259 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Das Löschen von Benutzerdaten wird vom aktuellen Kalendertreiber nicht " +"unterstützt." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Existierenden Kalender mit dem importierten ersetzen? Warnung: Damit " +"werden alle aktuellen Einträge in dem Kalender gelöscht." + +#: lib/Kronolith.php:1245 +msgid "Required" +msgstr "Notwendig" + +#: lib/FBView.php:98 lib/FBView.php:140 lib/FBView.php:143 lib/FBView.php:146 +msgid "Required Attendees" +msgstr "Notwendige Teilnehmer" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Zurücksetzen" + +#: templates/attendees/attendees.inc:49 templates/view/view.inc:173 +msgid "Response" +msgstr "Anwort" + +#: config/prefs.php.dist:147 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Tages- und Wochenansichten auch auf diesen Zeitabschnitt beschränken, wenn " +"es frühere oder spätere Termine gibt?" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Views/Year.php:78 lib/Block/month.php:116 +msgid "Sa" +msgstr "Sa" + +#: templates/month/head.inc:22 templates/view/view.inc:104 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "Samstag" + +#: templates/panel.inc:83 lib/Forms/EditRemoteCalendar.php:41 +#: lib/Forms/EditCalendar.php:46 +msgid "Save" +msgstr "Speichern" + +#: templates/perms/perms.inc:331 +#, php-format +msgid "Save %s" +msgstr "%s speichern" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1875 +#: lib/Views/EditEvent.php:79 lib/Views/EditEvent.php:89 +msgid "Save As New" +msgstr "Als Kopie speichern" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Teilnehmer speichern" + +#: new.php:59 lib/Views/EditEvent.php:82 +msgid "Save Event" +msgstr "Termin speichern" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Speichern und Beenden" + +#: search.php:93 templates/search/search_advanced.inc:113 +#: templates/search/search.inc:66 templates/contacts/contacts.inc:155 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Suche" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Suchergebnisse" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Nach Kalendern suchen:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Suchergebnisse" + +#: lib/Storage.php:131 +msgid "Searching free/busy is not available." +msgstr "Suchen von Frei/Gebucht nicht unterstützt." + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Datum auswählen" + +#: templates/perms/perms.inc:296 +msgid "Select a group to add" +msgstr "Hinzuzufügende Gruppe auswählen" + +#: templates/perms/perms.inc:294 +msgid "Select a group to add:" +msgstr "Hinzuzufügende Gruppe auswählen:" + +#: templates/perms/perms.inc:30 +msgid "Select a new owner:" +msgstr "Neuen Besitzer auswählen:" + +#: templates/perms/perms.inc:213 templates/perms/perms.inc:215 +msgid "Select a user to add:" +msgstr "Hinzuzufügenden Benutzer auswählen:" + +#: config/prefs.php.dist:76 +msgid "Select address book sources for adding and searching for addresses." +msgstr "" +"Wählen Sie die Adressbücher zum Suchen nach und Hinzufügen von neuen " +"Adressen aus." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Wählen Sie die Felder aus, in denen nach Namen gesucht werden soll." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Legen Sie Bestätigungs-Einstellungen fest, wie die unterschiedlichen " +"Ansichten dargestellt werden sollen, und wählen Sie eine Standardansicht." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Wählen Sie den Kalender, in den importiert werden soll:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Wählen Sie den/die Kalender, der/die exportiert werden soll(en)" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Wählen Sie das Exportformat:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Wählen Sie die Datei, die importiert werden soll:" + +#: config/prefs.php.dist:118 +msgid "Select the first weekday:" +msgstr "Wählen Sie den ersten Wochentag" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Wählen Sie das Format der importierten Datei:" + +#: config/prefs.php.dist:242 +msgid "Select the time span to show:" +msgstr "Wählen Sie die Zeitspanne, die angezeigt werden soll:" + +#: config/prefs.php.dist:100 +msgid "Select the view to display on startup:" +msgstr "Wählen Sie die Ansicht aus, die beim Start angezeigt werden soll:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "" +"Legen Sie fest, welche Termine auf der Portalseite angezeigt werden sollen." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Ausgewählte Adressbücher:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Ausgewählte Adressen" + +#: templates/delete/one.inc:19 templates/delete/delete.inc:21 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Eine Terminabsage an alle Teilnehmer schicken, wenn dieser Termin gelöscht " +"wird?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "E-Mail-Nachricht an %s schreiben" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Einladungen an alle Teilnehmer schicken?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Aktualisierungen an alle Teilnehmer schicken?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "September" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Legen Sie Standardeinstellungen für neue Termine fest." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Enddatum festlegen" + +#: config/prefs.php.dist:51 +msgid "Set options for deleting old events." +msgstr "Legen Sie Einstellungen zum Löschen alter Termine fest." + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Wiederholungsende festlegen" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Startdatum festlegen" + +#: config/prefs.php.dist:68 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "" +"Legen Sie Ihre Frei/Gebucht-Kalender und -Einstellungen und die anderer " +"Benutzer fest." + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Gemeinsame Kalender:" + +#: templates/perms/perms.inc:53 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:94 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:135 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:176 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:258 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:304 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "Zeigen" + +#: config/prefs.php.dist:224 +msgid "Show Free/Busy legend?" +msgstr "Frei/Gebucht-Legende anzeigen?" + +#: config/prefs.php.dist:214 +msgid "Show calendar options panel?" +msgstr "Kasten mit Kalendereinstellungen anzeigen?" + +#: config/prefs.php.dist:204 +msgid "Show category legend?" +msgstr "Kategorienlegende anzeigen?" + +#: config/prefs.php.dist:170 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"Löschen-, Alarm- und Wiederholungssymbole in der Kalenderansicht anzeigen?" + +#: config/prefs.php.dist:271 +msgid "Show external events using category colors?" +msgstr "Externe Termine in den Kategoriefarben anzeigen?" + +#: config/prefs.php.dist:262 +msgid "Show only events that have an alarm set?" +msgstr "Nur Termine mit Alarm anzeigen?" + +#: config/prefs.php.dist:233 +msgid "Show shared calendars side-by-side?" +msgstr "Gemeinsame Kalender nebeneinander anzeigen?" + +#: config/prefs.php.dist:109 +msgid "Show time of day between each day in week views?" +msgstr "Uhrzeiten zwischen allen Tagen in den Wochenansichten anzeigen?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "_Beginn" + +#: data.php:56 +msgid "Start Date" +msgstr "Startdatum" + +#: templates/data/export.inc:68 lib/Driver.php:1968 +msgid "Start Day" +msgstr "Starttag" + +#: templates/data/export.inc:87 lib/Driver.php:1979 +msgid "Start Hour" +msgstr "Startstunde" + +#: templates/data/export.inc:102 lib/Driver.php:1989 +msgid "Start Minute" +msgstr "Startminute" + +#: templates/data/export.inc:54 lib/Driver.php:1959 +msgid "Start Month" +msgstr "Startmonat" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:35 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Beginn" + +#: data.php:57 +msgid "Start Time" +msgstr "Startzeit" + +#: templates/data/export.inc:39 lib/Driver.php:1948 +msgid "Start Year" +msgstr "Startjahr" + +#: templates/search/search_advanced.inc:91 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "_Status" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "Status" + +#: lib/Storage.php:139 +msgid "Storing free/busy is not available." +msgstr "Speichern von Frei/Gebucht nicht unterstützt." + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Views/Year.php:71 lib/Views/Year.php:80 lib/Block/month.php:118 +#: lib/Block/month.php:120 +msgid "Su" +msgstr "So" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "Abonnieren" + +#: templates/calendar_list.php:17 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "Externen Kalender abonnieren" + +#: templates/calendar_list.php:27 +msgid "Subscription URL" +msgstr "Abonnement-Adresse" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/view/view.inc:105 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:119 +msgid "Sunday" +msgstr "Sonntag" + +#: lib/Kronolith.php:1193 lib/Kronolith.php:1216 +msgid "Tentative" +msgstr "Unter Vorbehalt" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Views/Year.php:76 lib/Block/month.php:116 +msgid "Th" +msgstr "Do" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Die %s-Datei enthielt keine Termine." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Der Kalenderserver ist zur Zeit nicht verfügbar." + +#: lib/Driver.php:204 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Der Kalenderserver ist zur Zeit nicht verfügbar: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Die Teilnehmeransicht ist nicht mehr geladen. Abbruch." + +#: lib/api.php:1207 +msgid "" +"The attendee hasn't been updated because the update was not sent from the " +"attendee." +msgstr "" +"Der Teilnehmer wurde nicht aktualisiert, weil die Aktualisierung nicht von " +"diesem Teilnehmer geschickt wurde." + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Der Kalender \"%s\" wurde erzeugt." + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Der Kalender \"%s\" wurde gelöscht." + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Der Kalender \"%s\" wurde nach \"%s\" umbenannt." + +#: calendars/edit.php:46 calendars/remote_edit.php:49 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Der Kalender \"%s\" wurde gespeichert." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Der Kalender konnte nicht geleert werden: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "Das Enddatum muss hinter dem Startdatum liegen." + +#: lib/Kronolith.php:1664 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" +"Der Termin \"%s\", der am %3$s um %4$s Uhr stattfindet, wurde zum Kalender " +"\"%2$s\" hinzugefügt." + +#: lib/Kronolith.php:1674 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"Der Termin \"%s\", der am %3$s um %4$s Uhr stattfinden sollte, wurde aus dem " +"Kalender \"%2$s\" gelöscht." + +#: lib/Kronolith.php:1669 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"Der Termin \"%s\", der am %3$s um %4$s Uhr stattfindet, wurde im Kalender \"%" +"2$s\" geändert." + +#: lib/Kronolith.php:1553 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Ihre Terminbenachrichtigung an %s wurde erfolgreich versendet." + +#: lib/Kronolith.php:1503 +msgid "The following is a more detailed description of the event:" +msgstr "Hier ist eine detailliertere Beschreibung des Termins:" + +#: lib/FreeBusy.php:190 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Die Frei/Gebucht-URL für %s konnte nicht gelesen werden." + +#: calendars/remote_unsubscribe.php:36 calendars/remote_edit.php:36 +msgid "The remote calendar was not found." +msgstr "Externen Kalender nicht gefunden." + +#: attend.php:45 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Die Anfrage war unvollständig. Einige der Parameter, die notwendig sind, um " +"einen Termin zu bestätigen oder abzusagen, fehlen." + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "Der gesuchte Termin wurde nicht gefunden." + +#: feed/index.php:39 +#, php-format +msgid "The requested feed (%s) was not found on this server." +msgstr "Der gesuchte Feed (%s) wurde auf diesem Server nicht gefunden." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Es wurden keine passenden Termine gefunden." + +#: edit.php:46 edit.php:68 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Beim Zugriff auf den Kalender ist ein Fehler aufgetreten: %s." + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Beim Hinzufügen des Termins ist ein Fehler aufgetreten: %s." + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Beim Bearbeiten des Termins ist ein Fehler aufgetreten: %s." + +#: lib/api.php:506 lib/api.php:778 lib/api.php:1051 +msgid "There was an error importing the iCalendar data." +msgstr "Beim Importieren der iCalendar Daten ist ein Fehler aufgetreten." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Beim Verschieben des Termins ist ein Fehler aufgetreten: %s." + +#: lib/Kronolith.php:1558 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "" +"Beim Verschicken einer Terminbenachrichtigung an %s ist ein Fehler " +"aufgetreten: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Es konnten keine Termine zum Exportieren gefunden werden." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Dieser Monat" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Dieser Kalender kann nicht gelöscht werden." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Dieses Dateiformat wird nicht unterstützt." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Dies ist ein Wiederholungstermin. Nur den aktuellen Termin löschen,
      alle zukünftigen Termine inklusive diesem oder die ganze Serie?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Dies ist ein Wiederholungstermin. Nur den aktuellen Termin
      bearbeiten, " +"alle zukünftigen Termine inklusive diesem, die
      ganze Serie, oder eine " +"Kopie des Termins speichern?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "Meldung des Servers: %s" + +#: templates/month/head.inc:20 templates/view/view.inc:102 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "Donnerstag" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "Zeits_panne" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Zeitspanne" + +#: templates/search/search_advanced.inc:28 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "Tite_l" + +#: data.php:55 templates/search/search.inc:19 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Titel" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Halten Sie beim Klicken Strg (PC) bzw. Command (Mac) gedrückt, um mehrere " +"Einträge auszuwählen." + +#: templates/calendar_info.php:25 +msgid "To subscribe to this calendar from a feed reader, use this URL: " +msgstr "" +"Um diesen Kalender mit einem Feedreader zu abonnieren, verwenden Sie die " +"folgende Adresse: " + +#: templates/calendar_info.php:19 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" +"Um diesen Kalender mit einem anderen Programm zu abonnieren, verwenden Sie " +"die folgende Adresse: " + +#: lib/Block/prevmonthlist.php:123 lib/Block/monthlist.php:128 +#: lib/Block/summary.php:127 +msgid "Today" +msgstr "Heute" + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:130 +#: lib/Block/summary.php:129 +msgid "Tomorrow" +msgstr "Morgen" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Views/Year.php:74 lib/Block/month.php:116 +msgid "Tu" +msgstr "Di" + +#: templates/month/head.inc:18 templates/view/view.inc:100 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "Dienstag" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Typ" + +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "Homepage" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Verbindung zum SQL Server kann nicht hergestellt werden." + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "\"%s\" kann nicht gelöscht werden: %s" + +#: lib/api.php:619 +#, php-format +msgid "Unable to delete calendar \"%s\": %s" +msgstr "Der Kalender \"%s\" kann nicht gelöscht werden: %s" + +#: lib/Driver.php:207 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Der %s-Treiber konnte nicht geladen werden." + +#: attendees.php:66 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "\"%s\" wurde nicht als gültige E-Mail-Adresse erkannt." + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "\"%s\" kann nicht umbenannt werden: %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Fehler beim Auslesen der Frei/Gebucht-Informationen für %s" + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Der Kalender \"%s\" kann nicht gespeichert werden: %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Nicht zugeordnet" + +#: lib/api.php:1345 lib/api.php:1381 +msgid "Unknown calendar protocol" +msgstr "Unbekanntes Kalender-Protokoll." + +#: templates/calendar_list.php:44 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "Ausblenden" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "Von %s abmelden" + +#: lib/api.php:570 lib/api.php:833 lib/api.php:884 lib/api.php:942 +#: lib/api.php:1071 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Nicht unterstützter Inhaltstyp: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Kommende Termine" + +#: perms.php:231 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" wurde aktualisiert." + +#: lib/Kronolith.php:1480 +#, php-format +msgid "Updated: %s." +msgstr "Aktualisiert: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Benutzeroberfläche" + +#: templates/perms/perms.inc:223 +msgid "User to add:" +msgstr "Hinzuzufügender Benutzer:" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +msgid "Username" +msgstr "Benutzername" + +#: lib/Views/Year.php:160 lib/Views/Year.php:163 lib/Block/month.php:178 +#: lib/Block/month.php:181 +msgid "View Day" +msgstr "Tag anzeigen" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Views/Year.php:75 lib/Block/month.php:116 +msgid "We" +msgstr "Mi" + +#: lib/Driver.php:1206 lib/Scheduler/kronolith.php:272 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Dies ist eine Erinnerung an den folgenden Termin.\n" +"\n" +"%s\n" +"\n" +"Ort: %s\n" +"\n" +"Datum: %s\n" +"Zeit: %s\n" +"\n" +"%s" + +#: templates/month/head.inc:19 templates/view/view.inc:101 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "Mittwoch" + +#: attendees.php:196 lib/Kronolith.php:1837 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:97 +msgid "Week" +msgstr "Woche" + +#: workweek.php:16 week.php:16 lib/Views/Month.php:218 +#, php-format +msgid "Week %d" +msgstr "%d. Woche" + +#: templates/prefs/default_alarm_management.inc:29 templates/view/view.inc:53 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "Woche(n)" + +#: lib/Recurrence.php:200 +msgid "Weekly" +msgstr "Wöchentlich" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "Wöchentlich: Wiederholung alle" + +#: config/prefs.php.dist:138 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Wann sollen die Tages- und Wochenansichten enden, wenn keine späteren " +"Termine vorliegen?" + +#: config/prefs.php.dist:129 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Wann sollen die Tages- und Wochenansichten beginnen, wenn keine früheren " +"Termine vorliegen?" + +#: feed/index.php:128 +msgid "When:" +msgstr "Wann:" + +#: feed/index.php:143 +msgid "Where:" +msgstr "Wo:" + +#: config/prefs.php.dist:292 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Welche Feiertage möchten Sie anzeigen?" + +#: feed/index.php:140 +msgid "Who:" +msgstr "Wer:" + +#: attendees.php:195 lib/Kronolith.php:1835 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:98 +msgid "Work Week" +msgstr "Arbeitswoche" + +#: lib/Kronolith.php:1841 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Jahr" + +#: lib/Recurrence.php:205 +msgid "Yearly" +msgstr "Jährlich" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "Jährlich: Wiederholung alle" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Sie dürfen diesen Kalender nicht ändern." + +#: edit.php:27 data.php:41 data.php:261 new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Sie dürfen nicht mehr als %d Termine erstellen." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Sie dürfen diesen Kalender nicht löschen." + +#: lib/api.php:154 +msgid "You are not allowed to remove user data." +msgstr "Sie dürfen keine Benutzerdaten löschen." + +#: attend.php:58 +msgid "You are not an attendee of the specified event." +msgstr "Sie sind kein Teilnehmer dieses Termins." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Sie können dieses Formular nur von der Teilnehmeransicht aus benutzen." + +#: lib/Kronolith.php:1429 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Sie haben in Ihren Einstellungen unter Persönliche Informationen keine E-" +"Mail-Adresse angegeben. Sie müssen %shier%s eine Adresse eintragen, bevor " +"Terminbenachrichtigungen verschickt werden können." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Sie haben nicht genügend Rechte, um Termine zu %s hinzuzufügen." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" +"Sie haben nicht genügend Rechte, um Termine zu dem ausgewählten Kalender " +"hinzuzufügen." + +#: edit.php:162 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Sie haben nicht genügend Rechte, um Termine an %s zu delegieren." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Sie haben nicht genügend Rechte, um diesen Termin zu löschen." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "Sie haben nicht genügend Rechte, um diesen Termin zu bearbeiten." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "Sie haben nicht genügend Rechte, um diesen Termin zu verschieben." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "Sie haben \"%s\" (%s) abonniert." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "Sie wurden von \"%s\" (%s) abgemeldet." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Sie haben einen ungültigen Kalender angegeben." + +#: attend.php:25 +msgid "You have successfully accepted attendence to this event." +msgstr "Sie haben erfolgreich die Teilnahme an diesem Event zugesagt." + +#: attend.php:30 +msgid "You have successfully declined attendence to this event." +msgstr "Sie haben erfolgreich die Teilnahme an diesem Event abgesagt." + +#: attend.php:35 +msgid "You have tentatively accepted attendence to this event." +msgstr "Sie haben unter Vorbehalt die Teilnahme an diesem Event zugesagt." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Sie müssen erst eine Adresse auswählen." + +#: lib/Kronolith.php:1664 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Sie wollten benachrichtigt werden, wenn Termine zu Ihren Kalendern " +"hinzugefügt werden." + +#: lib/Kronolith.php:1674 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Sie wollten benachrichtigt werden, wenn Termine aus Ihren Kalendern gelöscht " +"werden." + +#: lib/Kronolith.php:1669 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Sie wollten benachrichtigt werden, wenn Termine in Ihren Kalendern geändert " +"werden." + +#: lib/Scheduler/kronolith.php:438 lib/Scheduler/kronolith.php:441 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Ihr Tagesprogramm für den %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Ihr Standard-Kalender" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Kalender verwalten]" + +#: lib/Driver.php:1470 lib/Driver.php:1490 +msgid "[Unnamed event]" +msgstr "[Unbenannter Termin]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Alarm" + +#: templates/search/search_advanced.inc:9 +msgid "_Basic Search" +msgstr "Ein_fache Suche" + +#: lib/Kronolith.php:1875 +msgid "_Edit" +msgstr "_Bearbeiten" + +#: lib/Kronolith.php:2097 +msgid "_Goto" +msgstr "_Gehe zu" + +#: lib/Kronolith.php:2103 +msgid "_Import/Export" +msgstr "_Import/Export" + +#: lib/Kronolith.php:2093 +msgid "_New Event" +msgstr "_Neuer Termin" + +#: lib/Kronolith.php:2108 +msgid "_Print" +msgstr "_Drucken" + +#: lib/Kronolith.php:2099 +msgid "_Search" +msgstr "_Suche" + +#: lib/Kronolith.php:2088 +msgid "_Today" +msgstr "_Heute" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "als %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "vor dem Terminbeginn" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"vor dem Terminbeginn. Ein Wert von \"0\" bedeutet kein standardmäßiger Alarm." + +#: lib/Views/Event.php:62 lib/Views/Event.php:71 +#, php-format +msgid "by %s" +msgstr "durch %s" + +#: lib/Views/Event.php:64 lib/Views/Event.php:73 +msgid "by me" +msgstr "durch mich" + +#: config/prefs.php.dist:243 +msgid "day" +msgstr "Tag" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "Tag(e)" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 config/prefs.php.dist:247 +#: config/prefs.php.dist:248 +msgid "days" +msgstr "Tage" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "termine.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "termine.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "in" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "Monat(e)" + +#: lib/Kronolith.php:1486 +#, php-format +msgid "on %s at %s" +msgstr "am %s um %s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "am gleichen Datum" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "am gleichen Wochentag" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "Wiederholungen" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:249 +msgid "week" +msgstr "Woche" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "Woche(n) am:" + +#: config/prefs.php.dist:250 config/prefs.php.dist:251 +#: config/prefs.php.dist:252 +msgid "weeks" +msgstr "Wochen" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "Jahr(e) am gleichen Datum" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "Jahr(e) am gleichen Jahrestag" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "Jahr(e) am gleichen Wochentag und Monat des Jahres" diff --git a/kronolith/po/el_GR.po b/kronolith/po/el_GR.po new file mode 100644 index 000000000..95f05f4ad --- /dev/null +++ b/kronolith/po/el_GR.po @@ -0,0 +1,1716 @@ +# Kronolith Greek translation. +# Copyright 2002 Stefanos I. Dimitriou. +# Stefanos I. Dimitriou , 2002. +# Silligardos Xristoforos, 2002. +# Anagnostopoulos Apostolis, 2002. +# Milosis C. Konstantinos, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith: 2.0-cvs\n" +"POT-Creation-Date: 2002-11-07 12:10+0200\n" +"PO-Revision-Date: 2001-07-26 11:36+0200\n" +"Last-Translator: Konstantinos C. Milosis \n" +"Language-Team: Greek \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-7\n" +"Content-Transfer-Encoding: 8-bit\n" + +#: templates/search/header.inc:8 +msgid "%d events" +msgstr "%d Ãåãïíüôá" + +#, c-format +msgid "%d hour" +msgstr "%d þñá" + +#, c-format +msgid "%d hour, %d minute" +msgstr "%d þñá, %d ëåðôü" + +#, c-format +msgid "%d hour, %d minutes" +msgstr "%d þñá, %d ëåðôÜ" + +#, c-format +msgid "%d hours" +msgstr "%d þñåò" + +#, c-format +msgid "%d hours, %d minute" +msgstr "%d þñåò, %d ëåðôü" + +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d þñåò, %d ëåðôÜ" + +#, c-format +msgid "%d minute" +msgstr "%d ëåðôü" + +#, c-format +msgid "%d minutes" +msgstr "%d ëåðôÜ" + +#: templates/edit/edit_timespan.inc:127 +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Çìåñá(åò) %s ¿ñá(åò) %s ËåðôÜ" + +#: lib/Driver.php:1698 +msgid "%s attendees" +msgstr "%s óõììåôÝ÷ïíôåò" + +# data.php:236, c-format +#: data.php:236 +msgid "%s file successfully imported" +msgstr "%s, Ýãéíå åðéôõ÷þò ç åéóáãùãÞ ôïõ áñ÷åßïõ" + +#, c-format +msgid "%s is in progress." +msgstr "%s åßíáé óå ëåéôïõñãßá." + +#, c-format +msgid "%s is starting now." +msgstr "%s áñ÷ßæåé ôþñá." + +#, c-format +msgid "%s starts in %s" +msgstr "%s îåêéíÜ óå %s" + +#: calendars.php:105 lib/base.php:126 +msgid "%s's Calendar" +msgstr "%ss Çìåñïëüãéï" + +msgid "(optional)" +msgstr "(ÐñïáéñåôéêÜ)" + +#: templates/contacts/contacts.inc:166 +msgid "* Add these by clicking Add *" +msgstr "* ÐñïóèÝóôå áõôÜ êÜíïíôáò êëéê óôï 'ÐñïóèÞêç' *" + +#: templates/contacts/contacts.inc:152 +msgid "* Please select address(es) *" +msgstr "* Ðáñáêáëþ åðéëÝîôå äéåýèõíóç (åéò *" + +msgid "-- No attendees --" +msgstr "-- Äåí õðÜñ÷ïõí óõììåôÝ÷ïíôåò --" + +#: lib/Driver.php:1698 +msgid "1 attendee" +msgstr "1 óõììåôÝ÷ùí" + +#: templates/search/header.inc:8 +msgid "1 event" +msgstr "1 ãåãïíüò" + +msgid "Attendees (optional)" +msgstr "ÓõììåôÝ÷ïíôåò (ðñïáéñåôéêü)" + +msgid "Descri_ption (optional)" +msgstr "ÐåñéãñáöÞ (ðñïáéñåôéêü)" + +msgid "Description" +msgstr "ÐåñéãñáöÞ" + +msgid "Keywords (optional)" +msgstr "ËÝîåéò êëåéäéÜ (ðñïáéñåôéêü)" + +msgid "Keywords" +msgstr "ËÝîåéò êëåéäéÜ" + +msgid "Recurrence (optional)" +msgstr "ÅðáíÜëçøç (ðñïáéñåôéêü)" + +msgid "Recurrence" +msgstr "ÅðáíÜëçøç" + +#: templates/edit/edit.inc:169 +msgid "Attendees (optional)" +msgstr "ÓõììåôÝ÷ïíôåò (ðñïáéñåôéêü)" + +#: templates/edit/edit.inc:147 +msgid "Descri_ption (optional)" +msgstr "ÐåñéãñáöÞ (ðñïáéñåôéêü)" + +#: templates/edit/edit.inc:192 +msgid "Recurrence (optional)" +msgstr "ÅðáíÜëçøç (ðñïáéñåôéêÜ)" + +msgid "AM" +msgstr "ðì" + +#: lib/Kronolith.php:520 +msgid "Accepted" +msgstr "Áðïäåêôü" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "ÅðåêôáìÝíç ÁíáæÞôçóç" + +#: templates/contacts/contacts.inc:163 templates/contacts/contacts.inc:192 +msgid "Add" +msgstr "ÐñïóèÞêç" + +#: templates/edit/edit.inc:25 +msgid "Add Event" +msgstr "ÐñïóèÞêç Ãåãïíüôïò" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "ÐñïóèÞêç íÝïõ ÁðïìáêñõóìÝíïõ Çìåñïëïãßïõ" + +#: addevent.php:50 +msgid "Add a new event" +msgstr "ÐñïóèÞêç íÝïõ Ãåãïíüôïò" + +msgid "Add attendees" +msgstr "ÐñïóèÞêç Óõììåôå÷üíôùí" + +msgid "Add people from my Address Book" +msgstr "ÐñïóèÞêç áíèñþðùí áðü ôï ÄéåõèõíóéïãñÜöï ìïõ" + +msgid "Add these people" +msgstr "ÐñïóèÞêç áõôþí ôùí áíèñþðùí" + +#: contacts.php:85 templates/contacts/contacts.inc:122 +msgid "Address Book" +msgstr "ÄéåõèõíóéïãñÜöïò" + +#: config/prefs.php.dist:50 +msgid "Address Books" +msgstr "ÄéåõèõíóéïãñÜöïé" + +#: templates/search/search_advanced.inc:7 templates/search/search.inc:10 +msgid "Advanced Search" +msgstr "ÅðåêôáìÝíç ÁíáæÞôçóç" + +#: lib/Driver.php:1678 +msgid "Alarm %d days before" +msgstr "Ðñïåéäïðïßçóç %d ìÝñåò ðñéí" + +#: lib/Driver.php:1683 +msgid "Alarm %d hours before" +msgstr "Ðñïåéäïðïéçóç %d þñåò ðñéí" + +#: lib/Driver.php:1688 +msgid "Alarm %d minutes before" +msgstr "Ðñïåéäïðïßçóç %d ëåðôÜ ðñéí" + +#: lib/Driver.php:1673 +msgid "Alarm %d weeks before" +msgstr "Ðñïåéäïðïßçóç %d åâäïìÜäåò ðñéí" + +#: lib/Driver.php:1677 +msgid "Alarm 1 day before" +msgstr "Ðñïåéäïðïßçóç 1 çìÝñá ðñéí" + +#: lib/Driver.php:1682 +msgid "Alarm 1 hour before" +msgstr "Ðñïåéäïðïßçóç 1 þñá ðñéí" + +#: lib/Driver.php:1687 +msgid "Alarm 1 minute before" +msgstr "Ðñïåéäïðïßçóç 1 ëåðôü ðñéí" + +#: lib/Driver.php:1672 +msgid "Alarm 1 week before" +msgstr "Ðñïåéäïðïßçóç 1 åâäïìÜäá ðñéí" + +#: data.php:50 +msgid "Alarm Date" +msgstr "Çìåñïìçíßá Ðñïåéäïðïßçóçò" + +msgid "Alarm Span (minutes)" +msgstr "ÄéÜñêåéá Ðñïåéäïðïßçóçò (ëåðôÜ)" + +msgid "Alarm Time" +msgstr "Çìåñïìçíßá Ðñïåéäïðïßçóçò" + +msgid "Alarm" +msgstr "Ðñïåéäïðïßçóç" + +msgid "All Attendees" +msgstr "Ïëïé ïé óõììåôÝ÷ïíôåò" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "¼ëá ôá ÌåëëïíôéêÜ" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "¼ëá ôá ðåñáóìÝíá" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "All Visible" +msgstr "¼ëá ôá åìöáíÞ" + +msgid "All day event" +msgstr "Ãåãïíüò ðïõ äéáñêåß üëç ôçí ìÝñá" + +msgid "All day" +msgstr "¼ëåò ôéò ìÝñåò" + +msgid "All events" +msgstr "¼ëá ôá ãåãïíüôá" + +msgid "All" +msgstr "¼ëá" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:610 +msgid "Any" +msgstr "ÏðïéïäÞðïôå" + +msgid "An illegal value was specified." +msgstr "Ïñßóôçêå ìßá ìç åðéôñåðüìåíç ôéìÞ." + +msgid "April" +msgstr "Áðñßëéïò" + +msgid "Are you sure you want to delete the event \"%s\"?" +msgstr "ÈÝëåôå íá äéáãñÜøåôå ôï ãåãïíüò \"%s\";" + +msgid "At" +msgstr "Ôçí" + +#: lib/Kronolith.php:966 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Ôï óõíçììÝíï åßíáé Ýíá áñ÷åßï iCalendar ìå ðåñéóóüôåñåò ðëçñïöïñßåò ãéá áõôü " +"ôï ãåãïíüò. Áí ôï ðñüãñáììá mail óáò õðïóôçñßæåé áéôÞìáôá iTip ìðïñåßôå íá " +"ôï ÷ñçóéìïðïéÞóåôå ãéá íá åíçìåñþóåôå åýêïëá ôï äéêü áíôßãñáöï ôïõ ãåãïíüôïò." + +msgid "Attendance" +msgstr "Ðáñáêïëïýèçóç" + +msgid "Attendees" +msgstr "ÓõììåôÝ÷ïíôåò" + +msgid "August" +msgstr "Áýãïõóôïò" + +msgid "Back to Calendar Options" +msgstr "ÅðéóôñïöÞ óôéò ÅðéëïãÝò" + +#: templates/search/search_advanced.inc:10 templates/search/search.inc:7 +msgid "Basic Search" +msgstr "ÂáóéêÞ ÁíáæÞôçóç" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "ÃåíÝèëéá" + +msgid "Busy" +msgstr "Áðáó÷ïëçìÝíïò" + +msgid "Business" +msgstr "Åðé÷åßñçóç" + +#: templates/search/search_advanced.inc:43 +msgid "C_alendar" +msgstr "Çìåñïëüãéï" + +#: templates/edit/edit.inc:48 +msgid "Cal_endar" +msgstr "Çìåñïëüãéï" + +msgid "Cal_endar Name" +msgstr "Ïíïìá Çìåñïëïãßïõ" + +msgid "Calendar Description" +msgstr "ÐåñéãñáöÞ Çìåñïëïãßïõ" + +msgid "Calendar Name" +msgstr "Ïíïìá Çìåñïëïãßïõ" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Óýíïøç Çìåñïëïãßïõ" + +msgid "Calendar" +msgstr "Çìåñïëüãéï" + +msgid "Calendars" +msgstr "Çìåñïëüãéá" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Ôá çìåñïëüãéá ðñÝðåé íá Ý÷ïõí üíïìá." + +#: data.php:211 +msgid "Can't create a new event." +msgstr "Áäýíáôç ç äçìéïõñãßá íÝïõ ãåãïíüôïò." + +#: templates/contacts/contacts.inc:193 templates/delete/one.inc:42 +#: templates/delete/delete.inc:44 templates/edit/edit.inc:32 +#: templates/edit/edit.inc:292 +msgid "Cancel" +msgstr "Áêõñï" + +msgid "Cancelled" +msgstr "Áêõñþèçêå" + +#: lib/Kronolith.php:943 +msgid "Cancelled: %s" +msgstr "Áêõñþèçêå: %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:68 +msgid "Categor_y" +msgstr "Êáôçãïñßá" + +msgid "Category" +msgstr "Êáôçãïñßá" + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:123 +msgid "Change" +msgstr "ÁëëáãÞ" + +msgid "Change the way dates and times are formatted." +msgstr "ÁëëáãÞ ôïõ ôñüðïõ ìïñöïðïßçóçò ôçò çìåñïìçíßáò êáé ôçò þñáò." + +msgid "Choose the address books to search for free/busy URLs:" +msgstr "ÅðéëÝîôå ôï äéåõèõíóéïãñÜöï ãéá áíáæÞôçóç éóôïóåëßùí äéáèåóéìüôçôáò:" + +msgid "" +"Choose the calendars that you want to be included in your Free/Busy listings:" +msgstr "" +"ÅðéëÝîôå ôá çìåñïëüãéá ðïõ åðéèõìåßôå íá óõìðåñéëçöèïýí óôç ëéóôá " +"äéáèåóéìüôçôáò:" + +msgid "Choose your default calendar." +msgstr "ÅðéëÝîôå ôï ðñïêáèïñéóìÝíï çìåñïëüãéü óáò." + +#: templates/search/search_advanced.inc:116 templates/search/search.inc:68 +msgid "Clear Form" +msgstr "ÊáèÜñéóìá Öüñìáò" + +#: templates/attendees/attendees.inc:84 +msgid "Clear all attendees" +msgstr "ÄéáãñáöÞ üëùí ôùí óõììåôå÷üíôùí" + +#: data.php:28 templates/data/import.inc:21 +msgid "Comma separated values" +msgstr "ÔéìÝò ÷ùñéóìÝíåò ìå Åëëçíéêü Åñùôçìáôéêü (CVS)" + +#: config/prefs.php.dist:142 +msgid "Confirm deletion of events?" +msgstr "Íá æçôåßôáé åðéâåâáßùóç êáôÜ ôç äéáãñáöÞ ôùí ãåãïíüôùí;" + +msgid "Confirmed" +msgstr "ÅðéâåâáéùìÝíï" + +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" +"ÁíôéãñÜøôå ôï URL ðïõ èá ÷ñçóéìïðïéåßôå üôáí ÷ñåéÜæåóôå URL äéáèåóéìüôçôáò:" + +#: lib/Kronolith.php:158 +msgid "Could not open %s." +msgstr "Äå ìðïñþ íá áíïßîù %s." + +msgid "Create a New Event" +msgstr "Äçìéïõñãßá íÝïõ ãåãïíüôïò" + +msgid "Create" +msgstr "Äçìéïõñãßá" + +msgid "Created" +msgstr "ÄçìéïõñãÞèçêå" + +msgid "Current" +msgstr "ÔñÝ÷ùí" + +msgid "Daily: Recurs every" +msgstr "ÊáèçìåñéíÜ: Åðáíáëáìâáíüìåíï êÜèå" + +msgid "Date and Time Options" +msgstr "Ñõèìßóåéò Çìåñïìçíßáò êáé ¿ñáò" + +msgid "Day" +msgstr "ÇìÝñá" + +msgid "Day(s) " +msgstr "ÇìÝñá(åò)" + +msgid "De_lete" +msgstr "ÄéáãñáöÞ" + +msgid "December" +msgstr "ÄåêÝìâñéïò" + +#: lib/Kronolith.php:523 +msgid "Declined" +msgstr "ÁñíÞèçêå" + +#: config/prefs.php.dist:35 +msgid "Default Calendar" +msgstr "ÐñïêáèïñéóìÝíï Çìåñïëüãéï" + +msgid "Delete" +msgstr "ÄéáãñáöÞ" + +#, c-format +msgid "Delete %s" +msgstr "ÄéáãñáöÞ %s" + +#, c-format +msgid "Delete '%s'" +msgstr "ÄéáãñáöÞ '%s'" + +msgid "Delete Event" +msgstr "ÄéáãñáöÞ Ãåãïíüôïò" + +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"ÄéáãñÜøôå ôï ôñÝ÷ùí ãåãïíüò ìüíï, áõôü ôï ðåñéóôáôéêü êáé üëåò ôéò " +"ìåëëïíôéêÝò åìöáíßóåéò ôïõ, Þüëåò ôéò åìöáíßóåéò ôïõ;" + +msgid "Deny Request" +msgstr "Áñíçóç ÁéôÞìáôïò" + +msgid "Descri_ption (Optional)" +msgstr "ÐåñéãñáöÞ (ÐñïáéñåôéêÜ)" + +msgid "Descri_ption" +msgstr "ÐåñéãñáöÞ" + +msgid "Description" +msgstr "ÐåñéãñáöÞ" + +msgid "Dismiss" +msgstr "Êëåßóéìï" + +msgid "Display 24-hour times?" +msgstr "ÅìöÜíéóç ôçò þñáò óå 24ùñç ìïñöÞ?" + +msgid "Display Options" +msgstr "ÅìöÜíéóç Ñõèìßóåùí" + +msgid "Display" +msgstr "ÅìöÜíéóç" + +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "ÈÝëåôå íá åìöáíßæïíôáé ïé åñãáóßåò ðïõ Ý÷ïõí ëÞîåé óôï çìåñïëüãéü óáò;" + +#: lib/Kronolith.php:466 +msgid "Does not recur" +msgstr "Äåí åðáíáëáìâÜíåôáé" + +# lib/Kronolith.php:312, c-format +#: lib/Kronolith.php:312 +msgid "Due: %s" +msgstr "ÄéÜñêåéá: %s" + +msgid "Duration" +msgstr "ÄéÜñêåéá" + +msgid "Edit" +msgstr "Åðåîåñãáóßá" + +#, c-format +msgid "Edit %s" +msgstr "Åðåîåñãáóßá %s" + +#, c-format +msgid "Edit '%s'" +msgstr "Åðåîåñãáóßá '%s'" + +msgid "Edit Attendees" +msgstr "Åðåîåñãáóßá Óõììåôå÷üíôùí" + +#: config/prefs.php.dist:223 +msgid "Edit Remote Calendars" +msgstr "Åðåîåñãáóßá ÁðïìáêñõóìÝíùí Çìåñïëïãßùí" + +#: attendees.php:146 +msgid "Edit attendees" +msgstr "Åðåîåñãáóßá óõììåôå÷üíôùí" + +#: templates/category_legend.inc:25 +msgid "Edit categories and colors" +msgstr "Åðåîåñãáóßá êáôçãïñéþí êáé ÷ñùìÜôùí" + +msgid "Edit permissions for %s Calendar" +msgstr "Åðåîåñãáóßá ÅîïõóéïäïôÞóåùí ãéá ôï çìåñïëüãéï ôïõ %s" + +msgid "Email Address" +msgstr "Äéåýèõíóç Email" + +msgid "En_d" +msgstr "ËÞîç" + +msgid "End Date" +msgstr "Çìåñïìçíßá ËÞîçò" + +msgid "End On" +msgstr "ËÞîç Óôéò" + +msgid "End Time" +msgstr "¿ñá ËÞîçò" + +#: attendees.php:120 attendees.php:131 attendees.php:138 +msgid "Error retrieving free/busy information for %s: %s" +msgstr "ËÜèïò êáôÜ ôçí áíÜêôçóç ðëïñïöïñéþí äéáèåóéìüôçôáò ãéá %s: %s" + +msgid "Error" +msgstr "ËÜèïò" + +#: lib/Driver.php:934 +msgid "Event from %s to %s" +msgstr "Ãåãïíüò áðü %s ùò %s" + +#: templates/attendees/attendees.inc:75 +msgid "Expand Names" +msgstr "ÁíÜðôõîç ÏíïìÜôùí" + +msgid "Export Calendar" +msgstr "ÅîáãùãÞ Çìåñïëïãßïõ" + +msgid "Export" +msgstr "ÅîáãùãÞ" + +msgid "February" +msgstr "ÖåâñïõÜñéïò" + +msgid "Fr" +msgstr "Ðá" + +msgid "Friday" +msgstr "ÐáñáóêåõÞ" + +msgid "Future" +msgstr "ÌåëëïíôéêÜ" + +msgid "Game" +msgstr "Ðáé÷íßäé" + +#: templates/search/search_advanced.inc:22 +msgid "General" +msgstr "ÃåíéêÜ" + +#: lib/Block/summary.php:127 +msgid "Goto %s" +msgstr "ÌåôáöïñÜ %s" + +msgid "Goto" +msgstr "ÌåôáöïñÜ" + +msgid "Groups" +msgstr "ÏìÜäåò" + +msgid "Guest Permissions" +msgstr "ÅîïõóéïäïôÞóåéò Öéëïîåíïýìåíïõ" + +msgid "Help" +msgstr "ÂïÞèåéá" + +msgid "Hour(s)" +msgstr "¿ñá(åò)" + +#: config/prefs.php.dist:197 +msgid "" +"How many days into the future should we generate free/busy information for?" +msgstr "Ãéá ðüóåò çìÝñåò èÝëåôå íá äçìéïõñãÞóåôå ðëçñïöïñßåò äéáèåóéìüôçôáò;" + +msgid "If importing CSV data: does the first row contain the field names?" +msgstr "" +"Áí åéóÜãåôå äéåõèýíóåéò áðü áñ÷åßï ÷áñáêôÞñùí, ç ðñþôç ãñáììÞ ðåñéÝ÷åé ôá " +"ïíüìáôá ôùí ðåäßùí;" + +msgid "Illegal or malformed form data." +msgstr "ËáíèáóìÝíç ìïñöÞ Þ ôýðïò äåäïìÝíùí." + +msgid "Import Calendar" +msgstr "ÅéóáãùãÞ Çìåñïëïãßïõ" + +#: templates/data/import.inc:9 +msgid "Import Calendar, Step %d" +msgstr "ÅéóáãùãÞ Çìåñïëïãßïõ,ÂÞìá %d" + +msgid "Import" +msgstr "ÅéóáãùãÞ" + +msgid "Import/Export Calendar" +msgstr "ÅéóáãùãÞ/ÅîáãùãÞ Çìåñïëïãßïõ" + +msgid "Import/Export" +msgstr "ÅéóáãùãÞ/ÅîáãùãÞ" + +msgid "January" +msgstr "ÉáíïõÜñéïò" + +msgid "July" +msgstr "Éïýëéïò" + +msgid "June" +msgstr "Éïýíéïò" + +msgid "Keywords" +msgstr "ËÝîç êëåéäß" + +msgid "Kronolith is not properly configured" +msgstr "Ôï ðñüãñáììá Kronolith äåí åßíáé ðëÞñùò ñõèìéóìÝíï." + +msgid "Kronolith" +msgstr "Çìåñïëüãéï" + +msgid "Language" +msgstr "Ãëþóóá" + +#: templates/view/view.inc:95 +msgid "Last Modified" +msgstr "Ôåëåõôáßá ÁëáãìÝíï" + +#: templates/month/head_side_by_side.inc:4 +#: templates/month/head_side_by_side.inc:10 +#: templates/month/head_side_by_side.inc:16 templates/month/head.inc:4 +msgid "Last Month" +msgstr "Ôåëåõôáßïò ìÞíáò" + +msgid "Last month" +msgstr "Ôåëåõôáßïò ìÞíáò" + +msgid "Last week" +msgstr "Ôåëåõôáßá ÅâäïìÜäá" + +msgid "Lasts" +msgstr "Ôåëåõôáßá" + +msgid "Limit the time span to export:" +msgstr "ÅðéëÝîôå ôï åýñïò ôïõ ÷ñüíïõ ðïõ èá åîÜãåôå:" + +msgid "Lo_cation" +msgstr "Ôïðïèåóßá" + +msgid "Location" +msgstr "Ôïðïèåóßá" + +msgid "Manage remote calendars." +msgstr "Äéá÷åßñéóç áðïìáêñõóìÝíùí çìåñïëïãßùí" + +msgid "March" +msgstr "ÌÜñôéïò" + +msgid "May" +msgstr "ÌÜéïò" + +msgid "Meeting" +msgstr "ÓõíÜíôçóç" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Ëßóôá Ìåíïý" + +msgid "Message" +msgstr "ÌÞíõìá" + +#: templates/view/view.inc:76 templates/edit/edit.inc:125 +msgid "Minute(s)" +msgstr "Ëåðôü(Ü)" + +msgid "Minutes before" +msgstr "ËåðôÜ ðñéí" + +msgid "Minutes" +msgstr "ËåðôÜ" + +#: lib/Block/prevmonthlist.php:44 +msgid "Missed Events List" +msgstr "×áìÝíç Ëßóôá Ãåãïíüôùí" + +msgid "Mo" +msgstr "Äå" + +msgid "Monday" +msgstr "ÄåõôÝñá" + +msgid "Month" +msgstr "ÌÞíáò" + +#: lib/Block/month.php:3 +msgid "Month View" +msgstr "ÅìöÜíéóç ÌÞíá" + +msgid "Monthly: Recurs every" +msgstr "Ìçíéáßá: ÊÜèå" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "ÌÞíåò ÌåôÜ" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "ÌÞíåò Ðñßí" + +msgid "More than %s entry fount" +msgstr "ÂñÝèçêáí ðåñéóóüôåñåò áðü %s åããñáöÝò" + +#: lib/api.php:174 lib/api.php:347 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "ÐïëëáðëÜ óôïé÷åßá iCalendar âñÝèçêáí, ìüíï vEvent õðïóôçñßæïíôáé." + +msgid "My Calendar" +msgstr "Ôï Çìåñïëüãéü ìïõ" + +#: templates/calendars/calendars.inc:84 +msgid "My Calendars" +msgstr "Ôá ÇìåñïëüãéÜ ìïõ" + +msgid "My Calendars:" +msgstr "Ôá ÇìåñïëüãéÜ ìïõ:" + +msgid "My Free/Busy URL" +msgstr "Ôïðïèåóßåò äéáèåóéìüôçôÜò ìïõ" + +#: templates/contacts/contacts.inc:177 +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +msgid "Name" +msgstr "¼íïìá" + +#: lib/Block/month.php:43 lib/Block/monthlist.php:45 lib/Block/summary.php:43 +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "ÍÝï Ãåãïíüò" + +msgid "New meeting" +msgstr "ÍÝï Ãåãïíüò" + +msgid "Next" +msgstr "Åðüìåíï" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Åðüìåíåò 24 þñåò" + +#: lib/FBView/day.php:78 +msgid "Next Day" +msgstr "Åðüìåíç ìÝñá" + +#: templates/month/head_side_by_side.inc:6 +#: templates/month/head_side_by_side.inc:12 +#: templates/month/head_side_by_side.inc:18 templates/month/head.inc:6 +msgid "Next Month" +msgstr "Åðüìåíïò ÌÞíáò" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Åðüìåíç ÅâäïìÜäá" + +msgid "Next day" +msgstr "Åðüìåíç ÌÝñá" + +msgid "Next week" +msgstr "Åðüìåíç åâäïìÜäá" + +msgid "No Information" +msgstr "Äåí õðÜñ÷ïõí Ðëçñïöïñßåò" + +#: templates/attendees/attendees.inc:53 +msgid "No attendees" +msgstr "×ùñßò óõììåôÝ÷ïíôåò" + +#: lib/Kronolith.php:1066 +msgid "No calendars are available to guests." +msgstr "Äåí õðÜñ÷ïõí äéáèÝóéìá çìåñïëüãéá ãéá öéëïîåíßá." + +msgid "No configuration information specified for SQL Calendar." +msgstr "Äåí Ý÷åé ñõèìéóôåß ôï çìåñïëüãéï ãéá ôçí SQL." + +msgid "No end date" +msgstr "Äåí õðÜñ÷åé çìåñïìçíßá ëÞîçò" + +msgid "No events to display" +msgstr "Äåí õðÜñ÷ïõí ãåãïíüôá ãé åìöÜíéóç" + +#: lib/Storage/kolab.php:44 +msgid "No free/busy information is available for %s" +msgstr "Äåí õðÜñ÷ïõí ðëçñïöïñßåò äéáèåóéìüôçôáò ãéá %s" + +#: lib/api.php:164 lib/api.php:337 +msgid "No iCalendar data was found." +msgstr "Äå âñÝèçêáí äåäïìÝíá iCalendar." + +#: templates/edit/edit.inc:201 +msgid "No recurrence" +msgstr "×ùñßò åðáíÜëçøç" + +#: lib/Kronolith.php:836 +msgid "No valid email address found" +msgstr "Äå âñÝèçêå Ýããõñç Email äéåýèõíóç" + +#: templates/view/view.inc:81 templates/edit/edit.inc:121 +#: templates/edit/edit.inc:189 lib/Kronolith.php:530 lib/Kronolith.php:550 +msgid "None" +msgstr "ÊáíÝíá" + +#: lib/Storage/sql.php:127 +msgid "Not found" +msgstr "Äå âñÝèçêå" + +#: templates/data/import.inc:17 +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"Óçìåßùóç: Äåí ìðïñåß íá ðñáãìáôïðïéçèåß ç åéóáãùãÞ ëüãï ëÜèïõò ðïõ ïöåßëåôáé " +"óå Ýíá driver ôïõ çìåñïëïãßïõ." + +msgid "November" +msgstr "ÍïÝìâñéïò" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Ôþñá" + +msgid "October" +msgstr "Ïêôþâñéïò" + +msgid "Optional" +msgstr "Ðñïáéñåôéêü" + +#: lib/FBView.php:117 +msgid "Optional to attend" +msgstr "ÐñïáéñåôéêÜ ãéá óõììåôï÷Þ" + +msgid "Options" +msgstr "Ñõèìßóåéò" + +msgid "Owner" +msgstr "ÉäéïêôÞôçò" + +#: lib/Driver.php:1880 +msgid "Owner: %s" +msgstr "ÉäéïêôÞôçò: %s" + +msgid "PM" +msgstr "ìì" + +#: data.php:29 templates/data/import.inc:22 +msgid "Palm DateBook" +msgstr "Çìåñïëüãéï ×åéñüò (Palm DateBook)" + +#: lib/Block/prevmonthlist.php:3 +msgid "Past Events List" +msgstr "Ëßóôá ðåñáóìÝíùí Ãåãïíüôùí" + +#: templates/view/view.inc:119 templates/edit/edit.inc:183 +msgid "Pattern" +msgstr "Ìïôßâï" + +msgid "Permanently delete this event?" +msgstr "Íá äéáãñáöåß ÌÏÍÉÌÁ áõôü ôï ãåãïíüò;" + +#: lib/api.php:145 lib/api.php:222 lib/api.php:289 lib/api.php:319 +#: lib/api.php:402 lib/api.php:436 +msgid "Permission Denied" +msgstr "Áñíçóç Ðñüóâáóçò" + +#: templates/calendars/calendars.inc:107 +msgid "Permissions" +msgstr "ÅîïõóéïäïôÞóåéò" + +msgid "Personal" +msgstr "Ðñïóùðéêü" + +msgid "Portal Options" +msgstr "ÅðéëïãÝò ãéá ôçí Ðýëç" + +msgid "Possible Meeting Time" +msgstr "ÐéèáíÞ þñá óõíÜíôçóçò" + +msgid "Possible Meeting Times" +msgstr "ÐéèáíÝò þñåò óõíÜíôçóçò" + +msgid "Previous Day" +msgstr "Ðñïçãïýìåíç ÇìÝñá" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Ðñïçãïýìåíç ÅâäïìÜäá" + +msgid "Previous day" +msgstr "Ðñïçãïýìåíç çìÝñá" + +msgid "Problem" +msgstr "Ðñüâëçìá" + +msgid "Problem?" +msgstr "Ðñüâëçìá;" + +msgid "Read" +msgstr "ÁíÜãíùóç" + +msgid "Recur Until" +msgstr "ÅðáíÜëçøç Ýùò" + +msgid "Recurrence" +msgstr "ÅðáíÜëçøç" + +msgid "Recurrence Data" +msgstr "ÅðáíÜëçøç äåäïìÝíùí" + +msgid "Recurrence End Date" +msgstr "*Çìåñïìçíßá ÔÝëïõò" + +msgid "Recurrence Interval" +msgstr "*ÅðáíÜëçøç Ýùò" + +msgid "Recurrence Type" +msgstr "*Åðáíáëáìâáíüìåíïò Ôýðïò" + +msgid "Recurs daily" +msgstr "Êáèçìåñéíþò" + +msgid "Recurs monthly" +msgstr "ÅðáíÜëçøç áíÜ ìÞíá" + +msgid "Recurs not" +msgstr "×ùñßò åðáíÜëçøç" + +msgid "Recurs weekly" +msgstr "ÅðáíÜëçøç áíÜ åâäïìÜäá" + +msgid "Recurs yearly" +msgstr "ÅðáíÜëçøç áíÜ ÷ñüíï" + +#: lib/Scheduler/kronolith.php:166 +msgid "Reminder: %s" +msgstr "ÕðåíèõìéóôÞò: %s" + +#: config/prefs.php.dist:42 +msgid "Remote Calendars" +msgstr "ÁðïìáêñõóìÝíá Çìåñïëüãéá" + +#: templates/menu.inc:48 +msgid "Remote Calendars:" +msgstr "ÁðïìáêñõóìÝíá Çìåñïëüãéá:" + +#: templates/attendees/attendees.inc:57 +msgid "Remove %s" +msgstr "ÄéáãñáöÞ %s" + +#: attendees.php:37 +msgid "Remove Attendee" +msgstr "ÄéáãñáöÞ ÓõììåôÝ÷ïíôá" + +msgid "Required 'database' not specified in calendar configuration." +msgstr "Ç áðáéôïýìåíç âÜóç äåäïìÝíùí äåí Ý÷åé êáèïñéóôåß ãéá ôï çìåñïëüãéï." + +msgid "Required 'hostspec' not specified in calendar configuration." +msgstr "Ôï áðáéôïýìåíï 'hostspec' äåí Ý÷åé êáèïñéóôåß ãéá ôï çìåñïëüãéï." + +msgid "Required 'password' not specified in calendar configuration." +msgstr "Ôï áðáéôïýìåíï 'password' äåí Ý÷åé êáèïñéóôåß ãéá ôï çìåñïëüãéï." + +msgid "Required 'phptype' not specified in calendar configuration." +msgstr "Ôï áðáéôïýìåíï 'phptype' äåí Ý÷åé êáèïñéóôåß ãéá ôï çìåñïëüãéï." + +msgid "Required 'username' not specified in calendar configuration." +msgstr "Ôï áðáéôïýìåíï 'username' äåí Ý÷åé êáèïñéóôåß ãéá ôï çìåñïëüãéï." + +msgid "Required Attendees" +msgstr "Áðáéôïýìåíïé ÓõììåôÝ÷ïíôåò" + +#: lib/FBView.php:98 +msgid "Required to attend" +msgstr "Áðáéôåßôáé ãéá óõììåôï÷Þ" + +msgid "Required" +msgstr "Áðáéôïýìåíïé" + +msgid "Reset" +msgstr "ÅðáíáöïñÜ" + +msgid "Reset to Defaults" +msgstr "ÅðáíáöïñÜ ôùí ðñïåðéëåãìÝíùí ñõèìßóåùí" + +msgid "Response" +msgstr "ÁðÜíôçóç" + +msgid "Return to Options" +msgstr "ÅðéóôñïöÞ óôéò ÅðéëïãÝò" + +#: viewevent.php:120 +msgid "S_ave '%s' As New" +msgstr "ÁðïèÞêåõóç '%s' óáí ÍÝï" + +#: templates/javascript/goto.inc:64 templates/edit/edit.inc:208 +#: lib/Block/month.php:109 +msgid "Sa" +msgstr "Óá" + +msgid "Saturday" +msgstr "ÓÜââáôï" + +msgid "Save %s Calendar" +msgstr "ÁðïèÞêåõóç %s Çìåñïëüãéï" + +msgid "Save As New" +msgstr "ÁðïèÞêåõóç ùò íÝï" + +#: templates/attendees/attendees.inc:83 +msgid "Save Attendees" +msgstr "ÁðïèÞêåõóç Óõììåôå÷üíôùí" + +msgid "Save Event" +msgstr "ÁðïèÞêåõóç Ãåãïíüôïò" + +#: search.php:14 templates/search/search_advanced.inc:115 +#: templates/search/search.inc:67 templates/contacts/contacts.inc:142 +#: lib/Block/tree_menu.php:25 +msgid "Search" +msgstr "ÁíáæÞôçóç" + +#: templates/calendars/search.inc:1 +msgid "Search Calendars" +msgstr "ÁíáæÞôçóç Çìåñïëïãßùí" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "ÁðïôåëÝóìáôá ÁíáæÞôçóçò" + +#: templates/calendars/search.inc:6 +msgid "Search for calendars containing:" +msgstr "ÁíáæÞôçóç ãéá çìåñïëüãéá ðïõ ðåñéÝ÷ïõí:" + +#: templates/calendars/calendars.inc:86 +msgid "Select a Calendar" +msgstr "ÅðéëÝîôå Çìåñïëüãéï" + +#: templates/calendars/calendars.inc:153 +msgid "Select a calendar to edit" +msgstr "ÅðéëÝîôå Ýíá çìåñïëüãéï ãéá åðåîåñãáóßá" + +#: templates/edit/edit.inc:253 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:85 +msgid "Select a date" +msgstr "ÅðéëÝîôå ìéá çìåñïìçíßá" + +msgid "Select a group to add:" +msgstr "ÅðéëÝîôå ïìÜäá ãéá ðñïóèÞêç:" + +#: config/prefs.php.dist:51 +msgid "Select address book sources for searching for addresses." +msgstr "ÅðéëÝîôå äéåõèõíóéïãñÜöïõò ãéá áíáæÞôçóç äéåõèýíóåùí." + +#: templates/menu.inc:30 +msgid "Select calendars to display:" +msgstr "ÅðéëÝîôå çìåñïëüãéá ãéá åìöÜíéóç:" + +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"ÅðéëÝîôå ôïí ôñüðï åìöÜíéóçò, êáé ôïí ôñüðï åðéâåâáßùóçò ôùí åíåñãåéþí." + +msgid "Select how to display Dates:" +msgstr "ÅðéëÝîôå ôïí ôñüðï åìöÜíéóçò ôùí Çìåñïìçíéþí:" + +msgid "Select if to show due tasks in the calendar." +msgstr "*ÅðéëÝîôå áí èá åìöáíßæïíôáé ôá ãåãïíüôá ôïõ çìåñïëïãßïõ" + +#: templates/data/import.inc:27 +msgid "Select the calendar to import to:" +msgstr "ÅðéëÝîôå ôï çìåñïëüãéï áðü ôï ïðïßï èá ãßíåé ç åéóáãùãÞ:" + +#: templates/data/export.inc:16 +msgid "Select the export format:" +msgstr "ÅðéëÝîôå ôç ìïñöÞ åãáãùãÞò:" + +msgid "Select the file to import:" +msgstr "ÅðéëÝîôå ôï áñ÷åßï ðïõ èá åéóÜãåôå:" + +msgid "Select the first weekday:" +msgstr "ÅðéëÝîôå ôçí ðñþôç çìÝñá ôçò åâäïìÜäïò:" + +#: templates/data/import.inc:19 +msgid "Select the format of the source file:" +msgstr "ÅðéëÝîôå ôç ìïñöÞ ôïõ áñ÷åßïõ åéóáãùãÞò:" + +msgid "Select the format to export to:" +msgstr "ÅðéëÝîôå ôçí ìïñöÞ ôùí äåäïìÝíùí åîüäïõ:" + +msgid "Select the source to import from:" +msgstr "ÅðéëÝîôå áðü ðïõ èá åéóÜãåôå ôá äåäïìÝíá:" + +msgid "Select the time span to show:" +msgstr "ÅðéëÝîôå ôï åýñïò ôïõ ÷ñüíïõ ðïõ èá åìöáíßæåôáé:" + +msgid "Select the view to display after login:" +msgstr "ÅðéëÝîôå ôçí åìöÜíéóç ðïõ èá ÷ñçóéìïðïéåßôáé ìåôÜ ôçí åßóïäï óáò:" + +msgid "Select the view to display on startup:" +msgstr "ÅðéëÝîôå ôçí åìöÜíéóç ðïõ èá ÷ñçóéìïðïéåßôáé óôçí åêêßíçóç:" + +msgid "Select what events to show in the Horde summary." +msgstr "" +"ÅðéëÝîôå ðïéá ãåãïíüôá èá åìöáíßæïíôáé óôçí ðñþôç óåëßäá (ðåñßëçøç) ôçò " +"õðçñåóßáò." + +msgid "Select which events to show in the portal." +msgstr "ÅðéëÝîôå ðïéá ãåãïíüôá èá åìöáíßæïíôáé óôçí ðýëç" + +msgid "Select your preferred language:" +msgstr "ÅðéëÝîôå ôçí ðñïôéìïýìåíç ãëþóóá:" + +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"ÁðïóôïëÞ ìçíýìáôïò áêýñùóçò óå üëïõò ôïõò óõììåôÝ÷ïíôåò ìå ôç äéáãñáöÞ áõôïý " +"ôïõ ãåãïíüôïò" + +#: templates/attendees/attendees.inc:60 templates/view/view.inc:186 +msgid "Send an email to %s" +msgstr "ÁðïóôïëÞ Email óå %s" + +#: templates/edit/edit.inc:166 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"ÁðïóôïëÞ åíçìåñþóåùí/ðñïóêëÞóåùí óå üëïõò ôïõò óõììåôÝ÷ïíôåò ìå ôçí " +"áðïèÞêåõóç áõôïý ôïõ ãåãïíüôïò" + +msgid "September" +msgstr "ÓåðôÝìâñéïò" + +#: templates/edit/edit_timespan.inc:85 +msgid "Set end date" +msgstr "ÈÝóôå çìåñïìçíßá ôÝëïõò" + +#: templates/edit/edit.inc:253 +msgid "Set recurrence end date" +msgstr "ÈÝóôå çìåñïìçíßá ôÝëïõò åðáíÜëçøçò" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "ÈÝóôå çìåñïìçíßá Ýíáñîçò" + +msgid "Set the current time zone." +msgstr "ÅðéëÝîôå ôç Æþíç ¿ñáò óôçí ïðïßá âñßóêåóôå :" + +msgid "Set the language that menu items, explanations, and help are in." +msgstr "Ïñßóôå ôçí ãëþóóá ãéá ôá ìåíïý, ôéò ïäçãßåò êáé ôçí âïÞèåéá" + +msgid "Set your preferred display language." +msgstr "Ïñßóôå ôçí ãëþóóá ðñïôßìçóÞò óáò." + +#: calendars.php:77 +msgid "Share not found: %s" +msgstr "Ôï êïéíü÷ñçóôï äå âñÝèçêå: %s" + +#: templates/menu.inc:42 +msgid "Shared Calendars:" +msgstr "Êïéíü÷ñçóôá Çìåñïëüãéá:" + +msgid "Show" +msgstr "ÅìöÜíéóç" + +msgid "Show category legend?" +msgstr "ÅìöÜíéóç ðåñéãñáöÞò êáôçãïñéþí;" + +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"ÅìöÜíéóç åéêïíéäßùí äéáãñáöÞò, óõíáãåñìïý êáé åðáíÜëçøçò óôéò ïèüíåò " +"çìåñïëïãßùí;" + +msgid "Show due tasks in the calendar?" +msgstr "Íá åìöáíßæïíôáé ôá ãåãïíüôá óôï Çìåñïëüãéï" + +msgid "Show free/busy legend?" +msgstr "ÅìöÜíéóç ðåñéãñáöÞò äéáèåóéìüôçôáò;" + +msgid "Show half hour slots in day and week views?" +msgstr "" +"Íá ãßíåôáé ÷ùñéóìüò áíÜ ìéóÞ þñá óôç ëßóôá ôçò çìÝñáò êáé ôçò åâäïìÜäáò;" + +msgid "Show only events that have an alarm set?" +msgstr "Íá åìöáíéóôïýí ìüíï ôá ãåãïíüôá óôá ïðïßá Ý÷åé ïñéóôåß õðåíèýìéóç;" + +msgid "Show shared calendars side-by-side" +msgstr "ÅìöÜíéóç äéáìïéñáóìÝíùí çìåñïëïãßùí ðëÜé-ðëÜé" + +msgid "Show tasks using category colors?" +msgstr "ÅìöÜíéóç åñãáóéþí ìå ÷ñÞóç ôùí ÷ñùìÜôùí êáôçãïñéþí;" + +msgid "Show time of day between each day in week views?" +msgstr "ÅìöÜíéóç ôñÝ÷ïõóáò þñáò ìåôáîý êÜèå ìÝñáò óôéò åìöáíßóåéò åâäïìÜäáò;" + +msgid "Some of Kronolith's configuration files are missing:" +msgstr "ÊÜðïéá áñ÷åßá ñõèìßóåùí ôïõ ðñïãñÜììáôïò Kronolith ëåßðïõí:" + +msgid "Sta_rt" +msgstr "Åíáñîç" + +msgid "Sta_rt On" +msgstr "Åíáñîç óôéò" + +msgid "Start Date" +msgstr "Çìåñïìçíßá ¸íáñîçò" + +msgid "Start On" +msgstr "Åíáñîç óôéò" + +msgid "Start Time" +msgstr "¿ñá ¸íáñîçò" + +msgid "Stat_us" +msgstr "ÊáôÜóôáóç" + +msgid "Status" +msgstr "ÊáôÜóôáóç" + +msgid "Su" +msgstr "Êõ" + +msgid "Success" +msgstr "Åðéôõ÷ßá" + +msgid "Summary" +msgstr "Ðåñßëçøç" + +msgid "Sunday" +msgstr "ÊõñéáêÞ" + +msgid "Tasks" +msgstr "Ãåãïíüôá" + +msgid "Tentative" +msgstr "Ðñïóùñéíü" + +msgid "Th" +msgstr "ÐÝ" + +#: templates/contacts/contacts.inc:73 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Ç óåëßäá åðåîåñãáóßáò óõììåôå÷üíôùí äåí õðÜñ÷åé. ¸îïäïò." + +#: calendars.php:70 +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Ôï çìåñïëüãéï \"%s\" äå ìðïñåß íá äéáãñáöåß." + +#: calendars.php:40 +msgid "The calendar \"%s\" has been created." +msgstr "Ôï Çìåñïëüãéï \"%s\" äåí ìðïñåß íá äçìéïõñãçèåß." + +#: calendars.php:88 +msgid "The calendar \"%s\" has been deleted." +msgstr "Ôï çìåñïëüãéï \"%s\" äéáãñÜöçêå." + +#: calendars.php:54 +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Ôï çìåñïëüãéï \"%s\" ìåôïíïìÜóèçêå óå \"%s\"." + +#: calendars.php:56 +msgid "The calendar \"%s\" has been saved." +msgstr "Ôï çìåñïëüãéï \"%s\" áðïèçêåýèçêå." + +msgid "The data was lost." +msgstr "Ôá äåäïìÝíá ÷Üèçêáí." + +msgid "The end date must be later than the start date." +msgstr "" +"Ç çìåñïìçíßá ôÝëïõò ðñÝðåé íá åßíáé ìåôáãåíÝóôåñç ôçò çìåñïìçíßáò áñ÷Þò." + +#: lib/Kronolith.php:1003 +msgid "The event notification to %s was successfully sent." +msgstr "Ç åíçìÝñùóç ãåãïíüôïò óå %s óôÜëèçêå åðéôõ÷þò." + +msgid "The file contained no data." +msgstr "Ôï áñ÷åßï äåí ðåñéÝ÷åé äåäïìÝíá." + +#: lib/Kronolith.php:964 +msgid "The following is a more detailed description of the event:" +msgstr "Ôï ðáñáêÜôù åßíáé ëåðôïìåñÝóôåñç ðåñéãñáöÞ ôïõ ãåãïíüôïò:" + +#: templates/search/empty.inc:4 +msgid "There are no events matching the current criteria." +msgstr "Äåí õðÜñ÷ïõí ãåãïíüôá íá ðëçñïýí ôá óõãêåêñéìÝíá êñéôÞñéá." + +msgid "" +"There was a problem with the file upload. The file may have been larger than " +"the maximum allowed size." +msgstr "" +"ÕðÞñîå ðñüâëçìá êáôÜ ôçí ìåôáöïñÜ ôïõ áñ÷åßïõ. Ôï áñ÷åßï ìðïñåß íá åßíáé " +"ìåãáëýôåñï áðü ôï åðéôñåðüìåíï ìÝãåèïò." + +#: addeventaction.php:18 editeventaction.php:35 +msgid "There was an error accessing the calendar: %s" +msgstr "Ðñüâëçìá êáôÜ ôçí ðñüóâáóç óôï çìåñïëüãéï: %s." + +#: addeventaction.php:33 +msgid "There was an error adding the event: %s" +msgstr "Ðñüâëçìá êáôÜ ôç ðñïóèÞêç ôïõ ãåãïíüôïò: %s." + +#: editeventaction.php:73 +msgid "There was an error editing the event: %s" +msgstr "Ðñüâëçìá êáôÜ ôçí åðåîåñãáóßá ôïõ ãåãïíüôïò: %s." + +#: lib/api.php:158 lib/api.php:331 +msgid "There was an error importing the iCalendar data." +msgstr "Ðñüâëçìá êáôÜ ôçí åéóáãùãÞ iCalendar äåäïìÝíùí." + +msgid "There was an error importing the data." +msgstr "ÐáñïõóéÜóôçêå óöÜëìá êáôÜ ôçí åéóáãùãÞ ôùí äåäïìÝíùí" + +msgid "There was an error importing the uploaded file" +msgstr "ÕðÞñîå óöÜëìá êáôÜ ôçí åéóáãùãÞ ôïõ áñ÷åßïõ" + +#: editeventaction.php:54 +msgid "There was an error moving the event: %s" +msgstr "Ðñüâëçìá êáôÜ ôç ìåôáöïñÜ ôïõ ãåãïíüôïò: %s." + +#: lib/Kronolith.php:1008 +msgid "There was an error sending an event notification to %s: %s" +msgstr "Ðñüâëçìá êáôÜ ôçí áðïóôïëÞ åíçìÝñùóçò ãåãïíïôïò óå %s: %s" + +msgid "There were no events to export." +msgstr "Äåí õðÜñ÷ïõí ãåãïíüôá ðñïò åîáãùãÞ." + +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"Áõôü ôï áñ÷åßï åëÝã÷åé ôéò ðñïåðéëåãìÝíåò ðñïôéìÞóåéò ôïõ ðñïãñÜììáôïò " +"Kronolith, êáé åëÝã÷åé åðßóçò ðïéåò ðñïôéìÞóåéò ìðïñïýí ïé ÷ñÞóôåò íá " +"ìåôáâÜëëïõí" + +msgid "" +"This file controls the stylesheet that is used to set colors and fonts in " +"addition to or overriding Horde defaults." +msgstr "" +"Áõôü ôï áñ÷åßï ñõèìßæåé ôá ÷ñþìáôá êáé ôéò ãñáììáôïóåéñÝò ãéá ïôéäÞðïôå äåí " +"ðåñéÝ÷åôáé óôéò ñõèìßóåéò ôïõ ðñïãñÜììáôïò Horde." + +#: data.php:173 +msgid "This file format is not supported." +msgstr "ÁõôÞ ç ìïñöÞ áñ÷åßïõ äåí õðïóôçñßæåôáé." + +msgid "" +"This is the main Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "" +"Áõôü åßíáé ôï âáóéêü áñ÷åßï ñõèìßóåùí ôïõ ðñïãñÜììáôïò Kronolith. ÐåñéÝ÷åé " +"ôá ìïíïðÜôéá êáé ôéò ñõèìßóåéò ãéá ôá scripts ôïõ ðñïãñÜììáôïò." + +#: data.php:213 +msgid "This is what the server said: %s" +msgstr "Áõôü åßíáé ôï ìÞíõìá ôïõ åîõðçñåôçôÞ: %s" + +msgid "This number must be at least one." +msgstr "Áõôüò ï áñéèìüò ðñÝðåé íá åßíáé ôïõëÜ÷éóôïí Ýíá." + +msgid "This value must be a number." +msgstr "ÁõôÞ ç ôéìÞ ðñÝðåé íá åßíáé áñéèìüò." + +msgid "Thursday" +msgstr "ÐÝìðôç" + +msgid "Time Sp_an" +msgstr "Ïñéóìüò ×ñüíïõ" + +msgid "Time span" +msgstr "Ïñéóìüò ×ñüíïõ" + +msgid "Time Zone" +msgstr "Æþíç ¿ñáò" + +msgid "Tit_le" +msgstr "Ôßôëïò" + +msgid "Title" +msgstr "Ôßôëïò" + +msgid "Today" +msgstr "ÓÞìåñá" + +#: lib/Block/prevmonthlist.php:133 lib/Block/monthlist.php:129 +#: lib/Block/summary.php:119 +msgid "Tomorrow" +msgstr "Áýñéï" + +msgid "Tu" +msgstr "Ôñß" + +msgid "Tuesday" +msgstr "Ôñßôç" + +msgid "Type" +msgstr "Ôýðïò" + +#: lib/Storage/sql.php:54 +msgid "Unable to connect to SQL server." +msgstr "Áäýíáôç ç óýíäåóç ìå ôïí SQL åîõðçñåôçôÞ." + +#: calendars.php:84 +msgid "Unable to delete \"%s\": %s" +msgstr "Áäýíáôç ç äéáãñáöÞ \"%s\": %s" + +#: lib/Driver/mcal.php:135 +msgid "Unable to delete %s." +msgstr "Áäýíáôç ç äéáãñáöÞ %s." + +# lib/Driver.php:174, c-format +#: lib/Driver.php:174 +msgid "Unable to load the definition of %s." +msgstr "Äåí åßíáé äõíáôüí íá öïñôùèïýí ïé ñõèìßóåéò ôïõ %s." + +#: calendars.php:51 +msgid "Unable to rename \"%s\": %s" +msgstr "Áäýíáôç ç ìåôïíïìáóßá \"%s\": %s" + +#: lib/Storage/kolab.php:35 +msgid "Unable to retrieve free/busy information for %s" +msgstr "Áäýíáôç ç áíÜêôçóç ðëçñïöïñéþí äéáèåóéìüôçôáò ãéá %s" + +msgid "Undo Changes" +msgstr "Áêýñùóç Åðéëïãþí" + +#: templates/view/view.inc:23 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "Ìç áñ÷åéïèåôçìÝíï" + +#: lib/FBView/day.php:48 lib/FBView/day.php:58 +msgid "Unknown" +msgstr "Áãíùóôï" + +#: lib/api.php:184 lib/api.php:253 lib/api.php:356 +msgid "Unsupported Content-Type." +msgstr "Ìç õðïóôçñéæüìåíï ôýðïò ðåñéå÷ïìÝíïõ." + +#: lib/Kronolith.php:956 +msgid "Updated: %s." +msgstr "Åíçìåñþèçêå: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "ÐåñéâÜëëïí ×ñÞóôç" + +msgid "User Options" +msgstr "ÅðéëïãÝò ×ñÞóôç" + +msgid "User Preferences" +msgstr "ÐñïôéìÞóåéò ×ñÞóôç" + +#, c-format +msgid "View %s" +msgstr "ÅìöÜíéóç %s" + +#: lib/Block/month.php:163 lib/Block/month.php:166 +msgid "View Day" +msgstr "ÅìöÜíéóç ÇìÝñáò" + +msgid "Warning" +msgstr "Ðñïåéäïðïßçóç" + +msgid "We" +msgstr "Ôå" + +msgid "Wednesday" +msgstr "ÔåôÜñôç" + +#, c-format +msgid "Week %d" +msgstr "ÅâäïìÜäá %d" + +msgid "Week" +msgstr "ÅâäïìÜäá" + +#, c-format +msgid "Week %d" +msgstr "ÅâäïìÜäá %d" + +msgid "Week(s)" +msgstr "ÅâäïìÜäá(åò)" + +msgid "Weekly: Recurs every" +msgstr "Åâäïìáäéáßá: ÊÜèå" + +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Ðïéá èá åßíáé ç ôåëéêÞ þñá óôçí åìöÜíéóç áíÜ çìÝñá êáé áíÜ åâäïìÜäá, üôáí " +"äåíõðÜñ÷ïõí Üëëá ãåãïíüôá ðñïóäéïñéóìÝíá áñãüôåñá áðü áõôÞ;" + +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Ðïéá èá åßíáé ç þñá Ýíáñîçò óôçí åìöÜíéóç áíÜ çìÝñá êáé áíÜ åâäïìÜäá, üôáí " +"äåíõðÜñ÷ïõí Üëëá ãåãïíüôá ðñïóäéïñéóìÝíá íùñßôåñá áðü áõôÞ;" + +msgid "Work Week" +msgstr "ÐåíèÞìåñï" + +msgid "Work Week" +msgstr "ÐåíèÞìåñï" + +#: lib/Kronolith.php:1315 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "¸ôïò" + +msgid "Yearly: Recurs every" +msgstr "Åôçóßùò: ÅðáíÜëçøç ÊÜèå" + +#: templates/contacts/contacts.inc:79 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"ÁõôÞ ôç öüñìá ìðïñåßôå íá ôç ÷ñçóéìïðïéÞóåôå áðü ôçí ïèüíç åðåîå-óßáò " +"Óõììåôå÷üíôùí." + +#: lib/Kronolith.php:920 +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Äåí Ý÷åôå ïñßóåé email äéåýèõíóç óôéò ÅðéëïãÝò 'ÐñïóùðéêÝò Ðëçñïöïñßåò'. " +"ÐñÝðåé íá ïñßóåôå ìéá %såäþ%s ãéá íá ìðïñïýí íá óôáëïýí ðëçñïöïñßåò ãéá ôá " +"ãåãïíüôá." + +#: addeventaction.php:20 +msgid "You do not have permission to add events to %s." +msgstr "Äåí Ý÷åôå åîïõóéïäüôçóç íá ðñïóèÝóåôå ãåãïíüôá óôï %s." + +#: data.php:183 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" +"Äåí Ý÷åôå åîïõóéïäüôçóç íá ðñïóèÝóåôå ãåãïíüôá óôï åðéëåãìÝíï çìåñïëüãéï." + +#: deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "Äåí Ý÷åôå åîïõóéïäüôçóç íá äéáãñÜøåôå áõôü ôï ãåãïíüò." + +#: editeventaction.php:68 +msgid "You do not have permission to edit this event." +msgstr "Äåí Ý÷åôå åîïõóéïäüôçóç íá åðåîåñãáóèåßôå áõôü ôï ãåãïíüò." + +#: data.php:178 +msgid "You have specified an invalid calendar." +msgstr "¸÷åôå ïñßóåé ìç Ýãêõñï çìåñïëüãéï." + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "ÐñÝðåé íá åðéëÝîåôå Ýíá çìåñïëüãéï ãéá äéáãñáöÞ." + +#: templates/contacts/contacts.inc:57 +msgid "You must select an address first." +msgstr "ÐñÝðåé íá åðéëÝîåôå ìéá äéåýèõíóç ðñþôá." + +#: lib/Scheduler/kronolith.php:168 +msgid "You requested to be reminded about %s, which is at %s." +msgstr "ÆçôÞóáôå õðåíèßìéóç ãéá %s ôï ïðïßï åßíáé óôéò %s." + +msgid "Your Information" +msgstr "Ïé Ðëçñïöïñßåò óáò" + +msgid "Your default calendar" +msgstr "Ôï ðñïêáèïñéóìÝíï óáò çìåñïëüãéï" + +msgid "Your current time zone:" +msgstr "Ç Æþíç ¿ñáò óáò:" + +msgid "Your preferences have been updated." +msgstr "Ïé ðñïôéìÞóåéò óïõ Ý÷ïõí åíçìåñùèåß." + +msgid "before the event starts" +msgstr "ðñéí áñ÷ßóåé ôï ãåãïíüò" + +msgid "day" +msgstr "çìÝñá" + +msgid "day(s)" +msgstr "çìÝñá(åò)" + +msgid "days" +msgstr "çìÝñåò" + +#: templates/contacts/contacts.inc:133 +msgid "from" +msgstr "áðü" + +msgid "iCalendar file successfully imported" +msgstr "Åðéôõ÷Þò åéóáãùãÞ ôïõ Çìåñïëïãßïõ" + +msgid "month(s)" +msgstr "ìÞíá(åò)" + +msgid "no time" +msgstr "÷ùñßò ÷ñüíï" + +msgid "on the same date" +msgstr "ôçí ßäéá çìÝñá" + +msgid "on the same weekday" +msgstr "ôçí ßäéá çìÝñá ôçò åâäïìÜäáò" + +#: lib/api.php:169 lib/api.php:342 +msgid "vEvent not found." +msgstr "Ôï vEvent äå âñÝèçêå." + +msgid "week" +msgstr "åâäïìÜäá" + +msgid "week(s) on:" +msgstr "åâäïìÜäá(åò) ôçí(ôï):" + +msgid "weeks" +msgstr "åâäïìÜäåò" + +msgid "year(s)" +msgstr "Ýôïò(ç)" + +#: lib/Driver.php:922 lib/Driver.php:931 +msgid "[Unnamed event]" +msgstr "[Ãåãïíüò ÷ùñßò üíïìá]" + +msgid "_Alarm" +msgstr "Ðñïåéäïðïßçóç" + +msgid "_At" +msgstr "Ôçí" + +#: templates/search/search_advanced.inc:10 +msgid "_Basic Search" +msgstr "ÂáóéêÞ ÁíáæÞôçóç" + +msgid "_Edit" +msgstr "Åðåîåñãáóßá" + +msgid "_Goto" +msgstr "ÌåôÜâáóç" + +msgid "_Help" +msgstr "ÂïÞèåéá" + +msgid "_Import/Export" +msgstr "ÅéóáãùãÞ/ÅîáãùãÞ" + +#: lib/IMP.php:947 +msgid "_Log out" +msgstr "Åîïäïò" + +msgid "_My Calendars" +msgstr "ÇìåñïëüãéÜ ìïõ" + +msgid "_New Event" +msgstr "ÍÝï ÓõìâÜí" + +msgid "_Options" +msgstr "ÅðéëïãÝò" + +#: lib/Kronolith.php:1094 +msgid "_Print" +msgstr "Åêôýðùóç" + +msgid "_Search" +msgstr "ÁíáæÞôçóç" + +msgid "_Show" +msgstr "ÅìöÜíéóç" + +#: lib/IMP.php:908 +msgid "_Today" +msgstr "ÓÞìåñá" diff --git a/kronolith/po/es_ES.po b/kronolith/po/es_ES.po new file mode 100644 index 000000000..fdad83e94 --- /dev/null +++ b/kronolith/po/es_ES.po @@ -0,0 +1,2578 @@ +# Spanish translations for kronolith package +# Traducciones al español para el paquete kronolith. +# Copyright 2008-2009 The Horde Project +# This file is distributed under the same license as the kronolith package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 2.2-rc3\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2008-05-24 09:26+0200\n" +"PO-Revision-Date: 2008-05-24 09:26+0200\n" +"Last-Translator: Manuel P. Ayala \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " hasta %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " sin final" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d acontecimientos" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d veces" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s día(s) %s hora(s) %s minutos" + +#: lib/Driver.php:2267 +#, php-format +msgid "%s attendees" +msgstr "%s asistentes" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "El archivo %s se ha importado satisfactoriamente" + +#: lib/Kronolith.php:364 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "Agenda de %s" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Agregar éstos haciendo clic en Añadir *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Seleccione la(s) dirección(es) *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d veces" + +#: lib/Driver.php:2266 +msgid "1 attendee" +msgstr "1 asistente" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 acontecimiento" + +#: config/.bak/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 hora" + +#: config/.bak/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 minutos" + +#: config/.bak/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 minutos" + +#: config/.bak/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 minutos" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1169 +msgid "Accepted" +msgstr "Aceptada" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "Bús_queda avanzada" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Añadir" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Añadir Acontecimiento" + +#: new.php:65 +msgid "Add a new event" +msgstr "Añadir un acontecimiento" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Añadir asistentes" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Añadir origen" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Añadir a asistentes" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Direcciones" + +#: config/.bak/prefs.php.dist:69 +msgid "Address Books" +msgstr "Libretas de direcciones" + +#: templates/search/search.inc:10 templates/search/search_advanced.inc:11 +msgid "Advanced Search" +msgstr "Búsqueda avanzada" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Alarma" + +#: lib/Driver.php:2233 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarma %d días antes" + +#: lib/Driver.php:2238 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarma %d horas antes" + +#: lib/Driver.php:2243 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarma %d minutos antes" + +#: lib/Driver.php:2228 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarma %d semanas antes" + +#: lib/Driver.php:2232 +msgid "Alarm 1 day before" +msgstr "Alarma 1 día antes" + +#: lib/Driver.php:2237 +msgid "Alarm 1 hour before" +msgstr "Alarma 1 hora antes" + +#: lib/Driver.php:2242 +msgid "Alarm 1 minute before" +msgstr "Alarma 1 minuto antes)" + +#: lib/Driver.php:2227 +msgid "Alarm 1 week before" +msgstr "Alarma 1 semana antes" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Fecha de alarma" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Duración de la alarma (minutos)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Hora de la alarma" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "Unidad de alarma" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "Valor de alarma" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Alarma activada" + +#: templates/edit/edit.inc:39 templates/delete/delete.inc:27 +msgid "All" +msgstr "Todas" + +#: lib/FBView.php:129 lib/FBView.php:132 lib/FBView.php:135 +msgid "All Attendees" +msgstr "Todos los asistentes" + +#: templates/perms/perms.inc:51 +msgid "All Authenticated Users" +msgstr "Todos los usuarios autentificados" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Todas las agendas" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "Todos los futuros" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "Todos los pasados" + +#: lib/Block/month.php:24 lib/Block/prevmonthlist.php:27 +#: lib/Block/summary.php:28 lib/Block/monthlist.php:30 +msgid "All Visible" +msgstr "Todas las visibles" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2336 +#: lib/Views/Week.php:149 lib/Views/Week.php:156 lib/Views/Day.php:99 +#: lib/Views/Day.php:102 +msgid "All day" +msgstr "Todo el día" + +#: lib/Block/summary.php:166 +msgid "All day event" +msgstr "Acontecimiento por todo el día" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Todos los acontecimientos" + +#: lib/api.php:792 lib/api.php:803 +msgid "Already Exists" +msgstr "Ya existe" + +#: templates/search/search_advanced.inc:44 +#: templates/search/search_advanced.inc:65 lib/Kronolith.php:1262 +msgid "Any" +msgstr "Cualquiera" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Abril" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "A las" + +#: lib/Kronolith.php:1442 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Se adjunta un archivo iCalendar con más información sobre el acontecimiento. " +"Si su cliente de correo soporta solicitudes iTip, puede utilizar el archivo " +"para actualizar fácilmente su copia local del acontecimiento." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Intenta modificar un recurso compartido inexistente." + +#: templates/attendees/attendees.inc:48 templates/attendees/attendees.inc:60 +#: templates/view/view.inc:172 +msgid "Attendance" +msgstr "Asistencia" + +#: templates/attendees/attendees.inc:47 templates/view/view.inc:171 +msgid "Attendee" +msgstr "Asistente" + +#: templates/edit/edit.inc:193 templates/view/view.inc:168 +msgid "Attendees" +msgstr "Asistentes" + +#: lib/Kronolith.php:1436 +#, php-format +msgid "Attendees: %s" +msgstr "Asistentes: %s" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Agosto" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Libretas de direcciones disponibles:" + +#: templates/search/search.inc:12 templates/search/search_advanced.inc:9 +msgid "Basic Search" +msgstr "Búsqueda simple" + +#: config/.bak/keywords.php.dist:17 +msgid "Birthday" +msgstr "Cumpleaños" + +#: lib/FBView.php:90 lib/FBView.php:112 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Ocupado" + +#: templates/search/search_advanced.inc:37 +msgid "C_alendar" +msgstr "A_genda" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "A_genda" + +#: templates/calendar_list.php:22 lib/Block/month.php:21 +#: lib/Block/prevmonthlist.php:21 lib/Block/summary.php:22 +#: lib/Block/monthlist.php:21 +msgid "Calendar" +msgstr "Agenda" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Información de la agenda" + +#: templates/calendar_list.php:19 +msgid "Calendar List" +msgstr "Listad de agendas" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Resumen de la agenda" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "La agenda se ha eliminado satisfactoriamente" + +#: templates/panel.inc:23 templates/panel.inc:24 config/.bak/prefs.php.dist:27 +#: config/.bak/prefs.php.dist:35 config/.bak/prefs.php.dist:60 +msgid "Calendars" +msgstr "Agendas" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Agendas impresas: " + +#: data.php:270 +msgid "Can't create a new event." +msgstr "No se puede crear un acontecimiento" + +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: templates/delete/delete.inc:28 templates/delete/one.inc:25 +#: lib/Forms/DeleteCalendar.php:45 lib/Forms/DeleteCalendar.php:51 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 +msgid "Cancel" +msgstr "Cancelar" + +#: lib/Kronolith.php:1145 +msgid "Cancelled" +msgstr "Cancelado" + +#: lib/Kronolith.php:1403 +#, php-format +msgid "Cancelled: %s" +msgstr "Cancelado: %s" + +#: lib/Driver/kolab.php:1394 +#, php-format +msgid "Cannot delete event: %s" +msgstr "No se puede eliminar el acontecimiento: %s" + +#: templates/edit/edit.inc:94 templates/search/search_advanced.inc:58 +msgid "Categor_y" +msgstr "_Categoría" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Categoría" + +#: calendars/index.php:69 templates/calendar_list.php:54 +msgid "Change Permissions" +msgstr "Cambiar permisos" + +#: config/.bak/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Elija cómo quiere que se le notifiquen las modificaciones, alarmas y " +"acontecimientos pendientes." + +#: config/.bak/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "" +"Elija cómo quiere recibir los recordatorios de los acontecimientos con " +"alarmas:" + +#: config/.bak/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Elija si quiere que se le notifiquen por correo los acontecimientos nuevos, " +"modificados o eliminados:" + +#: config/.bak/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Elija si quiere recibir por correo recordatorios diarios de la agenda:" + +#: config/.bak/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "Elija si quiere recibir recordatorios de acontecimientos con alarmas:" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "Elija las agendas a incluir en esta URL de disponibilidad temporal:" + +#: config/.bak/prefs.php.dist:440 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "" +"Elija las agendas a incluir al generar URLs de disponibilidad temporal:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "Elija el orden de búsqueda en las libretas al expandir direcciones." + +#: config/.bak/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "Elija las vistas en las que mostrar ubicaciones de acontecimientos:" + +#: config/.bak/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "" +"Elija las vistas en las que mostrar los inicios y finales de los " +"acontecimientos:" + +#: config/.bak/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Elija las festividades a mostrar" + +#: config/.bak/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Elija su agenda por omisión." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Borrar todos los asistentes" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Pulse una de sus Libretas de direcciones y seleccione todos los campos en " +"los que buscar." + +#: templates/calendar_list.php:40 templates/calendar_list.php:41 +#: templates/calendar_list.php:50 templates/calendar_list.php:51 +msgid "Click or copy this URL to display this calendar" +msgstr "Pulse esta URL o cópiela para mostrar la agenda" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Cerrar" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Cerrar ventana" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Cerrar ventana" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Valores separados por comas" + +#: config/.bak/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "¿Confirmar eliminación de acontecimientos?" + +#: lib/Kronolith.php:1142 +msgid "Confirmed" +msgstr "Confirmado" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "" +"Copie esta URL para usarla siempre que necesite su URL de disponibilidad " +"temporal:" + +#: lib/Kronolith.php:456 +#, php-format +msgid "Could not open %s." +msgstr "No se pudo abrir %s." + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Crear" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Crear agenda" + +#: templates/week/head.inc:29 lib/Views/Month.php:173 lib/Views/Day.php:99 +#: lib/Views/Day.php:261 +msgid "Create a New Event" +msgstr "Añadir" + +#: templates/calendar_list.php:10 +msgid "Create a new Local Calendar" +msgstr "Crear una agenda local" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Creado" + +#: templates/edit/edit.inc:37 templates/delete/delete.inc:25 +msgid "Current" +msgstr "Actual" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Diariamente" + +#: templates/edit/edit.inc:226 templates/view/view.inc:96 +msgid "Daily: Recurs every" +msgstr "Diariamente: Se repite cada" + +#: attendees.php:196 lib/Kronolith.php:1748 lib/Block/tree_menu.php:21 +#: config/.bak/prefs.php.dist:90 +msgid "Day" +msgstr "Día" + +#: templates/prefs/default_alarm_management.inc:28 templates/edit/edit.inc:170 +#: templates/view/view.inc:56 +msgid "Day(s)" +msgstr "Día(s)" + +#: lib/Kronolith.php:1798 +msgid "De_lete" +msgstr "E_liminar" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Diciembre" + +#: lib/Kronolith.php:1172 +msgid "Declined" +msgstr "Rechazada" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Opciones de alarma por omisión:" + +#: config/.bak/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Agenda por omisión" + +#: templates/perms/perms.inc:57 templates/perms/perms.inc:81 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:122 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:163 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:204 +#: templates/perms/perms.inc:245 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:286 templates/perms/perms.inc:320 +msgid "Delegate" +msgstr "Conceder" + +#: calendars/index.php:70 templates/calendar_list.php:56 +#: templates/perms/perms.inc:56 templates/perms/perms.inc:77 +#: templates/perms/perms.inc:97 templates/perms/perms.inc:118 +#: templates/perms/perms.inc:138 templates/perms/perms.inc:159 +#: templates/perms/perms.inc:179 templates/perms/perms.inc:200 +#: templates/perms/perms.inc:241 templates/perms/perms.inc:261 +#: templates/perms/perms.inc:282 templates/perms/perms.inc:316 +#: templates/delete/one.inc:24 lib/Driver.php:1329 lib/Driver.php:2295 +#: lib/Forms/DeleteCalendar.php:45 +msgid "Delete" +msgstr "Eliminar" + +#: lib/Driver.php:2294 lib/Forms/DeleteCalendar.php:40 +#: lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Eliminar %s" + +#: lib/Driver.php:1328 +#, php-format +msgid "Delete exception on %s" +msgstr "Eliminar excepción en %s" + +#: templates/edit/edit.inc:180 templates/search/search.inc:27 +#: templates/search/search_advanced.inc:101 +msgid "Descri_ption" +msgstr "_Descripción" + +#: data.php:63 templates/view/view.inc:155 lib/Forms/EditCalendar.php:44 +#: lib/Forms/CreateCalendar.php:37 +msgid "Description" +msgstr "Descripción" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Mostrar" + +#: config/.bak/prefs.php.dist:9 config/.bak/prefs.php.dist:20 +msgid "Display Options" +msgstr "Opciones de Visualización" + +#: templates/calendar_list.php:24 +msgid "Display URL" +msgstr "URL de consulta" + +#: lib/Kronolith.php:1110 +msgid "Does not recur" +msgstr "No se repite" + +#: config/.bak/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"¿No enviarme notificaciones si añado, modifico o elimino el acontecimiento?" + +#: lib/Kronolith.php:674 +#, php-format +msgid "Due: %s" +msgstr "Vencido: %s:" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Duración" + +#: lib/Driver.php:2006 +msgid "Duration Day" +msgstr "Días de duración" + +#: lib/Driver.php:2018 +msgid "Duration Hour" +msgstr "Horas de duración" + +#: lib/Driver.php:2029 +msgid "Duration Minute" +msgstr "Minutos de duración" + +#: calendars/index.php:68 templates/calendar_list.php:42 +#: templates/calendar_list.php:52 templates/perms/perms.inc:55 +#: templates/perms/perms.inc:73 templates/perms/perms.inc:96 +#: templates/perms/perms.inc:114 templates/perms/perms.inc:137 +#: templates/perms/perms.inc:155 templates/perms/perms.inc:178 +#: templates/perms/perms.inc:196 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:260 templates/perms/perms.inc:278 +#: templates/perms/perms.inc:312 lib/Driver.php:2288 +msgid "Edit" +msgstr "Modificar" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2287 +#: lib/Forms/EditCalendar.php:40 lib/Forms/EditRemoteCalendar.php:34 +#: lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "Modificar %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Modificar asistentes" + +#: perms.php:237 +msgid "Edit Permissions" +msgstr "Modificar permisos" + +#: perms.php:239 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Modificar permisos de %s" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Modificar asistente" + +#: attendees.php:267 +msgid "Edit attendees" +msgstr "Modificar asistentes" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Modificar categorías y colores" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Modificar permisos de %s" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Dirección de correo" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "_Fin" + +#: data.php:58 +msgid "End Date" +msgstr "Fecha final" + +#: templates/data/export.inc:161 lib/Driver.php:1977 +msgid "End Day" +msgstr "Día final" + +#: templates/data/export.inc:178 lib/Driver.php:1990 +msgid "End Hour" +msgstr "Hora final" + +#: templates/data/export.inc:190 lib/Driver.php:2001 +msgid "End Minute" +msgstr "Minuto final" + +#: templates/data/export.inc:148 lib/Driver.php:1968 +msgid "End Month" +msgstr "Mes final" + +#: templates/data/export.inc:125 templates/search/event_headers.inc:8 +#: templates/view/view.inc:41 +msgid "End On" +msgstr "Termina el" + +#: data.php:59 +msgid "End Time" +msgstr "Hora final" + +#: templates/data/export.inc:134 lib/Driver.php:1957 +msgid "End Year" +msgstr "Año final" + +#: attendees.php:246 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Error al recuperar la disponibilidad temporal de %s: %s" + +#: attendees.php:223 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Error al recuperar su disponibilidad temporal: %s" + +#: config/.bak/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Valores por omisión" + +#: lib/Kronolith.php:1595 +msgid "Event added:" +msgstr "Acontecimiento añadido:" + +#: lib/Kronolith.php:1605 +msgid "Event deleted:" +msgstr "Acontecimiento eliminado:" + +#: lib/Kronolith.php:1600 +msgid "Event edited:" +msgstr "Acontecimiento modificado:" + +#: lib/Driver.php:1456 +#, php-format +msgid "Event from %s to %s" +msgstr "Acontecimiento de %s para %s" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "No se encontró el acontecimiento" + +#: lib/Driver/kolab.php:453 lib/Driver/kolab.php:1189 +#: lib/Driver/kolab.php:1228 lib/Driver/kolab.php:1372 +#, php-format +msgid "Event not found: %s" +msgstr "No se encontró el acontecimiento: %s" + +#: config/.bak/prefs.php.dist:43 config/.bak/prefs.php.dist:50 +msgid "Events" +msgstr "Acontecimientos" + +#: lib/api.php:279 +#, php-format +msgid "Events from %s" +msgstr "Acontecimientos de %s" + +#: lib/Driver.php:1060 +msgid "Events must have a start date." +msgstr "Los acontecimientos tienen que tener una fecha inicial." + +#: lib/Driver.php:1022 +msgid "Events must have a title." +msgstr "Los acontecimientos tienen que tener título." + +#: templates/edit/edit.inc:323 templates/view/view.inc:130 +msgid "Exceptions" +msgstr "Excepciones" + +#: templates/data/export.inc:209 lib/Kronolith.php:1805 +msgid "Export" +msgstr "Exportar" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Exportar agenda" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Acontecimientos externos:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Febrero" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Campos en los que buscar" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Encontrar" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Block/month.php:107 lib/Views/Year.php:81 +msgid "Fr" +msgstr "Vie" + +#: lib/Kronolith.php:1148 +msgid "Free" +msgstr "Disponible" + +#: config/.bak/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "Disponibilidad temporal" + +#: templates/edit/javascript.inc:71 templates/month/head.inc:21 +#: templates/view/view.inc:103 +msgid "Friday" +msgstr "Viernes" + +#: templates/edit/edit.inc:38 templates/delete/delete.inc:26 +msgid "Future" +msgstr "Futuro" + +#: config/.bak/keywords.php.dist:17 +msgid "Game" +msgstr "Juego" + +#: templates/search/search_advanced.inc:18 +msgid "General" +msgstr "General" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Ir a %s" + +#: templates/perms/perms.inc:256 +msgid "Groups" +msgstr "Grupos" + +#: templates/perms/perms.inc:92 +msgid "Guest Permissions" +msgstr "Permisos del invitado" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Ocultar" + +#: config/.bak/prefs.php.dist:36 +msgid "Holidays" +msgstr "Festivos" + +#: templates/prefs/default_alarm_management.inc:27 templates/edit/edit.inc:169 +#: templates/view/view.inc:59 +msgid "Hour(s)" +msgstr "Hora(s)" + +#: config/.bak/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "¿Longitud de las franjas de tiempo en las vistas de día y semana?" + +#: config/.bak/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "¿Cúantos días de disponibilidad temporal deberían generarse?" + +#: lib/Kronolith.php:1446 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Si su cliente de correo no soporta peticiones iTip, puede utilizar uno de " +"los vínculso siguientes para aceptar o rechazar el acontecimiento.\n" +"\n" +"Para aceptarlo:\n" +"%s\n" +"\n" +"Para aceptarlo provisionalmente:\n" +"%s\n" +"\n" +"Para rechazarlo:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importar agenda. Paso %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Importar/Exportar agendas" + +#: templates/perms/perms.inc:174 +msgid "Individual Users" +msgstr "Usuarios individuales" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Enero" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Julio" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Junio" + +#: data.php:66 templates/edit/edit.inc:336 templates/view/view.inc:138 +msgid "Keywords" +msgstr "Palabras clave" + +#: templates/calendar_list.php:23 +msgid "Kind" +msgstr "Tipo" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "Últimas 24 horas" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Última modificación" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Mes anterior" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Año anterior" + +#: templates/week/head.inc:6 templates/search/search.inc:53 +msgid "Last week" +msgstr "Semana anterior" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Limitar duración a exportar:" + +#: config/.bak/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"¿Listar todos los contactos al cargar la pantalla de contactos? (Si se " +"desactiva, sólo se verán los contactos que busque de forma explícita)" + +#: templates/edit/edit.inc:101 templates/search/search_advanced.inc:81 +msgid "Lo_cation" +msgstr "_Ubicación" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Cargando..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Cargando..." + +#: templates/calendar_list.php:49 +msgid "Local" +msgstr "Local" + +#: templates/calendar_info.php:18 +#, php-format +msgid "Local calendar owned by %s." +msgstr "Agenda local propiedad de %s." + +#: data.php:65 templates/search/event_headers.inc:5 templates/view/view.inc:14 +#: lib/Driver.php:2318 +msgid "Location" +msgstr "Ubicación" + +#: lib/Kronolith.php:1427 +#, php-format +msgid "Location: %s" +msgstr "Ubicación: %s" + +#: calendars/index.php:74 templates/calendar_list.php:4 +msgid "Manage Calendars" +msgstr "Gestionar agendas" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Marzo" + +#: lib/api.php:138 +msgid "Maximum Number of Events" +msgstr "Número máximo de acontecimientos" + +#: lib/Block/summary.php:25 lib/Block/monthlist.php:27 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Número máximo de acontecimientos mostrados (0 = sin límite)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Mayo" + +#: lib/Driver.php:2314 +msgid "Me" +msgstr "Yo" + +#: config/.bak/keywords.php.dist:17 +msgid "Meeting" +msgstr "Reunión" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Menú Alarmas" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Listado de menú" + +#: templates/prefs/default_alarm_management.inc:26 templates/edit/edit.inc:168 +#: templates/view/view.inc:62 +msgid "Minute(s)" +msgstr "Minuto(s)" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Block/month.php:107 lib/Views/Year.php:77 +msgid "Mo" +msgstr "Lun" + +#: templates/edit/javascript.inc:67 templates/month/head.inc:17 +#: templates/view/view.inc:99 config/.bak/prefs.php.dist:114 +msgid "Monday" +msgstr "Lunes" + +#: attendees.php:199 lib/Kronolith.php:1754 lib/Block/tree_menu.php:24 +#: config/.bak/prefs.php.dist:93 +msgid "Month" +msgstr "Mes" + +#: config/.bak/prefs.php.dist:173 config/.bak/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "Vista mensual, semanal y diaria" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Mensualmente" + +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "Monthly: Recurs every" +msgstr "Mensualmente: Se repite cada" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Próximos meses" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Minutos antes" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Desplazarse hacia abajo" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Desplazarse hacia arriba" + +#: lib/api.php:1063 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Se han encontrado varios componentes iCalendar; sólo se soporta un vEvent " +"cada vez." + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Mis agendas:" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "Mi URL de disponibilidad temporal" + +#: templates/contacts/contacts.inc:188 lib/Forms/EditCalendar.php:43 +#: lib/Forms/SubscribeRemoteCalendar.php:36 lib/Forms/CreateCalendar.php:36 +#: lib/Forms/EditRemoteCalendar.php:36 +msgid "Name" +msgstr "Nombre" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Añadir" + +#: lib/Kronolith.php:398 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Agenda creada y compartida de forma automática con el/los grupo(s) siguiente" +"(s): %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Siguiente" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Próximas 24 horas" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Próximo día" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "Próximo mes" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Próxima semana" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Próximo año" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Próximo día" + +#: templates/week/head.inc:8 templates/search/search.inc:57 +msgid "Next week" +msgstr "Próxima semana" + +#: config/.bak/prefs.php.dist:336 config/.bak/prefs.php.dist:349 +#: config/.bak/prefs.php.dist:370 +msgid "No" +msgstr "No" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "Sin información" + +#: templates/edit/edit.inc:163 templates/view/view.inc:67 +msgid "No alarm" +msgstr "Sin alarma" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Sin asistentes" + +#: lib/api.php:1201 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"No se ha actualizado ningún asistente ya que ninguna de las direcciones de " +"correo indicadas se ha encontrado en la lista de asistentes del " +"acontecimiento." + +#: lib/Kronolith.php:1997 +msgid "No calendars are available to guests." +msgstr "No se dispone de agendas para los invitados." + +#: lib/Driver/sql.php:418 +msgid "No calendars to search" +msgstr "No hay agendas en las que buscar" + +#: templates/edit/edit.inc:284 templates/view/view.inc:124 +msgid "No end date" +msgstr "Sin fecha final" + +#: lib/Block/prevmonthlist.php:166 lib/Block/summary.php:205 +#: lib/Block/monthlist.php:175 +msgid "No events to display" +msgstr "Sin acontecimientos visibles" + +#: lib/FreeBusy.php:235 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" +"No se ha encontrado información de disponibilidad temporal en la url de " +"disponibilidad temporal de %s." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "No se dispone de información de disponibilidad temporal de %s" + +#: lib/FreeBusy.php:236 +#, php-format +msgid "No free/busy url found for %s." +msgstr "No se ha encontrado una url de disponibilidad temporal para %s" + +#: lib/api.php:491 lib/api.php:778 lib/api.php:816 lib/api.php:1070 +msgid "No iCalendar data was found." +msgstr "No se encontraron datos iCalendar." + +#: templates/edit/edit.inc:221 lib/Driver.php:1313 lib/Recurrence.php:191 +msgid "No recurrence" +msgstr "Sin repetición" + +#: lib/FreeBusy.php:168 +msgid "No valid email address found" +msgstr "No se encontraron direcciones de correo válidas" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1179 +#: lib/Kronolith.php:1200 +msgid "None" +msgstr "Ninguna" + +#: lib/Views/DeleteEvent.php:27 lib/Views/EditEvent.php:27 +#: lib/Views/Event.php:26 +msgid "Not Found" +msgstr "No encontrado" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "No encontrado" + +#: config/.bak/prefs.php.dist:51 +msgid "Notifications" +msgstr "Notificaciones" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Noviembre" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Ahora" + +#: templates/perms/perms.inc:133 +msgid "Object Creator" +msgstr "Creador del objeto" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Octubre" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Activo" + +#: config/.bak/prefs.php.dist:339 config/.bak/prefs.php.dist:352 +#: config/.bak/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "En todas las agendas a las que tenga acceso de lectura" + +#: config/.bak/prefs.php.dist:338 config/.bak/prefs.php.dist:351 +#: config/.bak/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "En todas las agendas mostradas" + +#: config/.bak/prefs.php.dist:337 config/.bak/prefs.php.dist:350 +#: config/.bak/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "Sólo en mis agendas" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Sólo el propietario o el administrador del sistema pueden cambiar la " +"propiedad o los permisos del propietario de un recurso compartido" + +#: lib/Kronolith.php:1197 +msgid "Optional" +msgstr "Opcional" + +#: lib/FBView.php:120 +msgid "Optional Attendees" +msgstr "Asistentes opcionales" + +#: config/.bak/prefs.php.dist:68 +msgid "Other Options" +msgstr "Otras opciones" + +#: lib/FBView.php:155 +msgid "Overview" +msgstr "Resumen" + +#: templates/perms/perms.inc:22 templates/view/view.inc:28 +msgid "Owner" +msgstr "Propietario" + +#: templates/perms/perms.inc:28 templates/perms/perms.inc:39 +msgid "Owner:" +msgstr "Propietario:" + +#: lib/Driver.php:2313 +#, php-format +msgid "Owner: %s" +msgstr "Propietario: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "Contraseña" + +#: templates/edit/edit.inc:216 templates/view/view.inc:93 +msgid "Pattern" +msgstr "Patrón" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "¿Eliminar permanentemente este acontecimiento?" + +#: lib/Kronolith.php:1899 lib/Kronolith.php:1918 lib/Kronolith.php:1931 +#: lib/Kronolith.php:1952 lib/api.php:648 lib/api.php:692 lib/api.php:724 +#: lib/api.php:757 lib/api.php:855 lib/api.php:908 lib/api.php:1006 +#: lib/api.php:1040 lib/api.php:1131 lib/api.php:1191 lib/api.php:1256 +#: lib/api.php:1286 lib/Driver/sql.php:801 +msgid "Permission Denied" +msgstr "Permiso denegado" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Permiso denegado" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Resuelva las direcciones ambiguas o no válidas." + +#: config/.bak/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Opciones de portal" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "Hora de reunión posible" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Día anterior" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Mes anterior" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Semana anterior" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Día anterior" + +#: config/.bak/prefs.php.dist:174 config/.bak/prefs.php.dist:186 +msgid "Print Views" +msgstr "Vistas de impresión" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Acontecimientos anteriores" + +#: lib/Driver.php:1452 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Acontecimiento privado de %s para %s" + +#: lib/Driver.php:2258 lib/Driver.php:2259 +msgid "Private event" +msgstr "Acontecimiento privado" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "¿Privado?" + +#: templates/perms/perms.inc:54 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:95 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:136 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:177 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:259 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:308 +msgid "Read" +msgstr "Lectura" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"Eliminar realmente la agenda \"%s\"? Esta operación no se puede deshacer y " +"todos los datos de la agenda se eliminarán definitivamente." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "¿Anular realmente la suscripción a la agenda \"%s\" (%s)?" + +#: templates/edit/edit.inc:281 templates/view/view.inc:123 +msgid "Recur Until" +msgstr "Repetir hasta" + +#: templates/edit/edit.inc:210 templates/view/view.inc:90 +msgid "Recurrence" +msgstr "Repetición" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Datos a repetir" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Fecha de fin de repetición" + +#: lib/Driver.php:2072 +msgid "Recurrence End Day" +msgstr "Día de fin de repetición" + +#: lib/Driver.php:2057 +msgid "Recurrence End Month" +msgstr "Mes de fin de repetición" + +#: lib/Driver.php:2040 +msgid "Recurrence End Year" +msgstr "Año de fin de repetición" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Intervalo de repetición" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Tipo de repetición" + +#: lib/Kronolith.php:1113 +msgid "Recurs daily" +msgstr "Repetir diariamente" + +#: lib/Kronolith.php:1120 +msgid "Recurs monthly" +msgstr "Repetir mensualmente" + +#: lib/Kronolith.php:1116 +msgid "Recurs weekly" +msgstr "Repetir semanalmente" + +#: lib/Kronolith.php:1125 +msgid "Recurs yearly" +msgstr "Repetir anualmente" + +#: lib/Scheduler/kronolith.php:267 +#, php-format +msgid "Reminder: %s" +msgstr "Recordatorio: %s" + +#: templates/calendar_list.php:39 +msgid "Remote" +msgstr "Remota" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Agendas remotas de: " + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Agendas remotas:" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Eliminar" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Eliminar %s" + +#: attendees.php:189 +msgid "Remove Attendee" +msgstr "Eliminar asistente" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Eliminar origen" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"El motor de almacenamiento de agenda actual no soporta la eliminación de " +"datos de usuario." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"¿Sustituir la agenda existente con la importada? Advertencia: Ésto " +"eliminará todas las entradas de su agenda actual." + +#: lib/Kronolith.php:1204 +msgid "Required" +msgstr "Requerido" + +#: lib/FBView.php:98 lib/FBView.php:140 lib/FBView.php:143 lib/FBView.php:146 +msgid "Required Attendees" +msgstr "Asistentes requeridos" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Restaurar valores por omisión" + +#: templates/attendees/attendees.inc:49 templates/view/view.inc:173 +msgid "Response" +msgstr "Respuesta" + +#: config/.bak/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"¿Restringir las vistas diarias y semanales a este margen horario incluso " +"aunque haya acontecimientos anteriores o posteriores?" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Block/month.php:107 lib/Views/Year.php:82 +msgid "Sa" +msgstr "Sab" + +#: templates/edit/javascript.inc:72 templates/month/head.inc:22 +#: templates/view/view.inc:104 +msgid "Saturday" +msgstr "Sábado" + +#: templates/panel.inc:83 lib/Forms/EditCalendar.php:46 +#: lib/Forms/EditRemoteCalendar.php:41 +msgid "Save" +msgstr "Guardar" + +#: templates/perms/perms.inc:331 +#, php-format +msgid "Save %s" +msgstr "Guardar %s" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1790 +#: lib/Views/EditEvent.php:79 lib/Views/EditEvent.php:89 +msgid "Save As New" +msgstr "Guardar como nuevo" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Guardar asistentes" + +#: new.php:56 lib/Views/EditEvent.php:82 +msgid "Save Event" +msgstr "Guardar" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Guardar y terminar" + +#: search.php:91 templates/contacts/contacts.inc:155 +#: templates/search/search.inc:66 templates/search/search_advanced.inc:113 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Buscar" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Resultados de la búsqueda" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Agendas en las que buscar:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Resultados de la búsqueda" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "No está disponible la búsqueda de disponibilidad temporal." + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Seleccione una fecha" + +#: templates/perms/perms.inc:296 +msgid "Select a group to add" +msgstr "Seleccione un grupo a añadir" + +#: templates/perms/perms.inc:294 +msgid "Select a group to add:" +msgstr "Seleccione un grupo a añadir:" + +#: templates/perms/perms.inc:30 +msgid "Select a new owner:" +msgstr "Seleccione un nuevo propietario:" + +#: templates/perms/perms.inc:213 templates/perms/perms.inc:215 +msgid "Select a user to add:" +msgstr "Seleccione un usuario a añadir:" + +#: config/.bak/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "" +"Seleccione libretas de direcciones para la adición y búsqueda de direcciones." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Seleccione todos los campos en los que buscar al expandir direcciones." + +#: config/.bak/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Seleccione opciones de confirmación, cómo mostrar las diferentes vistas y " +"escojer la vista por omisión." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Seleccione la agenda a la que importar:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Seleccione la(s) agenda(s) a exportar" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Seleccione el formato de exportación:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Seleccione el archivo a importar:" + +#: config/.bak/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "Seleccione el primer día laborable:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Seleccione el formato del archivo origen:" + +#: config/.bak/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Seleccione la duración mostrada:" + +#: config/.bak/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "Seleccione la vista mostrada al inicio:" + +#: config/.bak/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Seleccione los acontecimientos mostrados en el portal." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Libretas de direcciones seleccionadas:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Direcciones seleccionadas" + +#: templates/delete/delete.inc:21 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Al borrar este acontecimiento, ¿enviar un aviso de anulación a todos los " +"asistentes?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Enviar un correo a %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "¿Enviar invitaciones a todos los asistentes?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "¿Enviar actualizaciones a todos los asistentes?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Septiembre" + +#: config/.bak/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Define valores por omisión para nuevos acontecimientos." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Establecer fecha final" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Establecer fecha de fin de repetición" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Establecer fecha de inicio" + +#: config/.bak/prefs.php.dist:62 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "" +"Define sus agendas de disponibilidad temporal y sus opciones de " +"disponibilidad temporal y las de otros." + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Agendas compartidas:" + +#: templates/edit/javascript.inc:262 templates/perms/perms.inc:53 +#: templates/perms/perms.inc:65 templates/perms/perms.inc:94 +#: templates/perms/perms.inc:106 templates/perms/perms.inc:135 +#: templates/perms/perms.inc:147 templates/perms/perms.inc:176 +#: templates/perms/perms.inc:188 templates/perms/perms.inc:229 +#: templates/perms/perms.inc:258 templates/perms/perms.inc:270 +#: templates/perms/perms.inc:304 +msgid "Show" +msgstr "Mostrar" + +#: config/.bak/prefs.php.dist:218 +msgid "Show Free/Busy legend?" +msgstr "¿Mostrar comentarios de disponibilidad temporal?" + +#: config/.bak/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "¿Mostrar panel de opciones de la agenda?" + +#: config/.bak/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "¿Mostrar comentarios de las categorías?" + +#: config/.bak/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"En las vistas de agenda ¿mostrar los iconos eliminar, alarma y repetición?" + +#: config/.bak/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "¿Mostrar acontecimientos externos mediante colores de categorías?" + +#: config/.bak/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "¿Mostrar sólo los acontecimientos con alarma?" + +#: config/.bak/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "¿Mostrar agendas compartidas al lado?" + +#: config/.bak/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "¿Mostrar las horas entre cada día en las vistas semanales?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Em_pieza el" + +#: data.php:56 +msgid "Start Date" +msgstr "Fecha de inicio" + +#: templates/data/export.inc:68 lib/Driver.php:1932 +msgid "Start Day" +msgstr "Día de inicio" + +#: templates/data/export.inc:87 lib/Driver.php:1943 +msgid "Start Hour" +msgstr "Hora de inicio" + +#: templates/data/export.inc:102 lib/Driver.php:1953 +msgid "Start Minute" +msgstr "Minuto de inicio" + +#: templates/data/export.inc:54 lib/Driver.php:1923 +msgid "Start Month" +msgstr "Mes de inicio" + +#: templates/data/export.inc:37 templates/search/event_headers.inc:7 +#: templates/view/view.inc:35 +msgid "Start On" +msgstr "Empieza el" + +#: data.php:57 +msgid "Start Time" +msgstr "Hora de inicio" + +#: templates/data/export.inc:39 lib/Driver.php:1912 +msgid "Start Year" +msgstr "Año de inicio" + +#: templates/edit/edit.inc:110 templates/search/search_advanced.inc:91 +msgid "Stat_us" +msgstr "_Estado" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "Estado" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "No se puede almacenar la disponibilidad temporal." + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Block/month.php:109 lib/Block/month.php:111 lib/Views/Year.php:75 +#: lib/Views/Year.php:84 +msgid "Su" +msgstr "Dom" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "Suscribir" + +#: templates/calendar_list.php:15 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "Suscribirse a una agenda remota" + +#: templates/calendar_list.php:25 +msgid "Subscription URL" +msgstr "URL de suscripción" + +#: templates/edit/javascript.inc:66 templates/month/head.inc:15 +#: templates/month/head.inc:24 templates/view/view.inc:105 +#: config/.bak/prefs.php.dist:113 +msgid "Sunday" +msgstr "Domingo" + +#: lib/Kronolith.php:1152 lib/Kronolith.php:1175 +msgid "Tentative" +msgstr "Provisional" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Block/month.php:107 lib/Views/Year.php:80 +msgid "Th" +msgstr "Jue" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "El archivo %s no contenía ningún acontecimiento." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "El motor de la Agenda no se encuentra disponible actualmente." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "El motor de la Agenda no se encuentra disponible actualmente: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "" +"Ya no está disponible la pantalla de modificación de asistentes. Saliendo." + +#: lib/api.php:1210 +msgid "" +"The attendee hasn't been updated because the update was not sent from the " +"attendee." +msgstr "" +"No se ha actualizado el asistente ya que la actualización no fue enviada por " +"el asistente." + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Se ha creado la agenda \"%s\"." + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Se ha eliminado la agenda \"%s\"." + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Se ha renombrado la agenda \"%s\" como \"%s\"." + +#: calendars/remote_edit.php:49 calendars/edit.php:46 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Se ha guardado la agenda \"%s\"." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "No se puede eliminar la agenda: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "La fecha final debe ser posterior a la fecha inicial." + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" +"Se ha añadido el acontecimiento \"%s\" a la agenda \"%s\", que está en %s a " +"las %s." + +#: lib/Kronolith.php:1606 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"Se ha eliminado el acontecimiento \"%s\" de la agenda \"%s\", que está en %s " +"a las %s." + +#: lib/Kronolith.php:1601 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"Se ha modificado el acontecimiento \"%s\" de la agenda \"%s\", que está en %" +"s a las %s." + +#: lib/Kronolith.php:1486 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Se ha enviado correctamente a %s el aviso del acontecimiento." + +#: lib/Kronolith.php:1440 +msgid "The following is a more detailed description of the event:" +msgstr "Lo que sigue es una descripción más detallada del acontecimiento:" + +#: lib/FreeBusy.php:193 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "No se puede recuperar la url de disponibilidad temporal de %s." + +#: calendars/remote_edit.php:36 calendars/remote_unsubscribe.php:36 +msgid "The remote calendar was not found." +msgstr "No se encontró la agenda remota." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"La solicitud estaba incompleta. No se disponía de algunos parámetros " +"necesarios para aceptar o rechazar un acontecimiento." + +#: lib/Views/DeleteEvent.php:40 lib/Views/EditEvent.php:43 +#: lib/Views/Event.php:41 +msgid "The requested event was not found." +msgstr "El acontecimiento solicitado no se encontró." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "No hay acontecimientos coincidentes con los criterios actuales." + +#: add.php:24 edit.php:46 edit.php:68 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Se produjo un error al acceder a la agenda: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Se produjo un error al añadir el acontecimiento: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Se produjo un error al modificar el acontecimiento: %s" + +#: lib/api.php:483 lib/api.php:770 lib/api.php:1055 +msgid "There was an error importing the iCalendar data." +msgstr "Se produjo un error al importar los datos iCalendar." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Se produjo un error al trasladar el acontecimiento: %s" + +#: lib/Kronolith.php:1491 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Se produjo un error al enviar un aviso de acontecimiento a %s: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "No hubo acontecimientos a exportar." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Este mes" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Esta agenda no se puede eliminar." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Este formato de archivo no está soportado." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Acontecimiento recurrente. ¿Eliminar sólo el acontecimiento
      actual; " +"ésta aparición y las futuras; o todas las apariciones?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Acontecimiento recurrente. ¿Modificar sólo el acontecimiento actual;
      ésta aparición y las futuras; todas las apariciones; o guardarlo como nuevo?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "Ésto es lo que dijo el servidor: %s" + +#: templates/edit/javascript.inc:70 templates/month/head.inc:20 +#: templates/view/view.inc:102 +msgid "Thursday" +msgstr "Jueves" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "Du_ración" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Duración" + +#: templates/edit/edit.inc:58 templates/search/search_advanced.inc:28 +msgid "Tit_le" +msgstr "_Título" + +#: data.php:55 templates/search/event_headers.inc:3 +#: templates/search/search.inc:19 +msgid "Title" +msgstr "Título" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Para seleccionar varios campos, mantenga presionada la tecla Control (PC) o " +"Comando (Mac) al pulsar con el ratón." + +#: templates/calendar_info.php:19 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" +"Para suscribirse a esta agenda desde otro programa de agenda, utilice esta " +"URL: " + +#: lib/Block/prevmonthlist.php:125 lib/Block/summary.php:140 +#: lib/Block/monthlist.php:132 +msgid "Today" +msgstr "Hoy" + +#: lib/Block/prevmonthlist.php:127 lib/Block/summary.php:142 +#: lib/Block/monthlist.php:134 +msgid "Tomorrow" +msgstr "Mañana" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Block/month.php:107 lib/Views/Year.php:78 +msgid "Tu" +msgstr "Mar" + +#: templates/edit/javascript.inc:68 templates/month/head.inc:18 +#: templates/view/view.inc:100 +msgid "Tuesday" +msgstr "Martes" + +#: config/.bak/keywords.php.dist:17 +msgid "Type" +msgstr "Tipo" + +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Incapaz de conectarse al servidor SQL." + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Incapaz de eliminar \"%s\": %s" + +#: lib/api.php:599 +#, php-format +msgid "Unable to delete calendar \"%s\": %s" +msgstr "Incapaz de eliminar la agenda \"%s\": %s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Incapaz de cargar la definición de %s." + +#: attendees.php:68 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "Incapaz de identificar \"%s\" como una dirección de correo." + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Incapaz de renombrar \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Incapaz de recuperar la disponibilidad temporal de %s" + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Incapaz de guardar la agenda \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Sin categoría" + +#: lib/api.php:1352 lib/api.php:1388 +msgid "Unknown calendar protocol" +msgstr "Protocolo de agenda desconocido" + +#: templates/calendar_list.php:46 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "Anular suscripción" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "Anular suscripción a %s" + +#: lib/api.php:550 lib/api.php:823 lib/api.php:879 lib/api.php:942 +#: lib/api.php:1075 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Tipo de contenido no soportado: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Acontecimientos inminentes" + +#: perms.php:231 +#, php-format +msgid "Updated \"%s\"." +msgstr "Se ha actualizado \"%s\"." + +#: lib/Kronolith.php:1417 +#, php-format +msgid "Updated: %s." +msgstr "Actualizado: %s." + +#: config/.bak/prefs.php.dist:10 +msgid "User Interface" +msgstr "Interfaz de usuario" + +#: templates/perms/perms.inc:223 +msgid "User to add:" +msgstr "Usuario a añadir:" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +msgid "Username" +msgstr "Usuario" + +#: lib/Block/month.php:164 lib/Block/month.php:167 lib/Views/Year.php:156 +#: lib/Views/Year.php:162 +msgid "View Day" +msgstr "Ver día" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Block/month.php:107 lib/Views/Year.php:79 +msgid "We" +msgstr "Mie" + +#: lib/Driver.php:1186 lib/Scheduler/kronolith.php:271 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Quisiéramos recordarle este acontecimiento inminente.\n" +"\n" +"%s\n" +"\n" +"Ubicación: %s\n" +"\n" +"Fecha: %s\n" +"Hora: %s\n" +"\n" +"%s" + +#: templates/edit/javascript.inc:69 templates/month/head.inc:19 +#: templates/view/view.inc:101 +msgid "Wednesday" +msgstr "Miércoles" + +#: attendees.php:198 lib/Kronolith.php:1752 lib/Block/tree_menu.php:23 +#: config/.bak/prefs.php.dist:91 +msgid "Week" +msgstr "Semana" + +#: week.php:16 workweek.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Semana %d" + +#: templates/prefs/default_alarm_management.inc:29 templates/edit/edit.inc:171 +#: templates/view/view.inc:53 +msgid "Week(s)" +msgstr "Semana(s)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Semanalmente" + +#: templates/edit/edit.inc:232 templates/view/view.inc:106 +msgid "Weekly: Recurs every" +msgstr "Semanalmente: Se repite cada" + +#: config/.bak/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"¿En qué hora terminarán las vistas de día y semana, si no hay " +"acontecimientos posteriores?" + +#: config/.bak/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"¿En qué hora empezarán las vistas de día y semana, si no hay acontecimientos " +"anteriores?" + +#: config/.bak/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "¿Qué tipo de festivos quiere que se muestren?" + +#: attendees.php:197 lib/Kronolith.php:1750 lib/Block/tree_menu.php:22 +#: config/.bak/prefs.php.dist:92 +msgid "Work Week" +msgstr "S. laboral" + +#: lib/Kronolith.php:1756 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Año" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Anualmente" + +#: templates/edit/edit.inc:258 templates/edit/edit.inc:264 +#: templates/edit/edit.inc:270 templates/view/view.inc:112 +#: templates/view/view.inc:114 templates/view/view.inc:116 +msgid "Yearly: Recurs every" +msgstr "Anualmente: Se repite cada" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Carece de permiso para cambiar esta agenda." + +#: data.php:41 data.php:261 new.php:19 edit.php:27 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Carece de permiso para crear más de %d acontecimientos." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Carece de permiso para eliminar esta agenda." + +#: lib/api.php:154 +msgid "You are not allowed to remove user data." +msgstr "Carece de permiso para eliminar datos de usuario." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "No es un asistente del acontecimiento indicado." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"Este formulario sólo puede usarlo desde la pantalla de modificación de " +"asistentes." + +#: lib/Kronolith.php:1366 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"No ha configurado una dirección de correo en las opciones de su identidad. " +"Tiene que indicar una %saquí%s para poder enviar avisos de acontecimientos." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Carece de permiso para añadir acontecimientos a %s." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" +"Carece de permiso para añadir acontecimientos a la agenda seleccionada." + +#: add.php:27 edit.php:162 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Carece de permiso para delegar acontecimientos a %s." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Carece de permiso para eliminar este acontecimiento." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "Carece de permiso para modificar este acontecimiento." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "Carece de permiso para trasladar este acontecimiento." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "Se le ha suscrito a \"%s\" (%s)." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "Se ha anulado su suscripción a \"%s\" (%s)." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Ha especificado una agenda no válida." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Ha confirmado correctamente la asistencia a este acontecimiento." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Ha rechazado correctamente la asistencia a este acontecimiento." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "Ha rechazado provisionalmente la asistencia a este acontecimiento." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Primero tiene que seleccionar una dirección." + +#: lib/Kronolith.php:1596 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Solicitó que se le notificara la adición de acontecimientos en sus agendas." + +#: lib/Kronolith.php:1606 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Solicitó que se le notificara la eliminación de acontecimientos de sus " +"agendas." + +#: lib/Kronolith.php:1601 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Solicitó que se le notificara la modificación de acontecimientos de sus " +"agendas." + +#: lib/Scheduler/kronolith.php:410 lib/Scheduler/kronolith.php:412 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Agenda diaria de %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Su agenda por omisión" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Gestionar agendas]" + +#: lib/Driver.php:1434 lib/Driver.php:1454 +msgid "[Unnamed event]" +msgstr "[Acontecimiento sin nombre]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Alarma" + +#: templates/search/search_advanced.inc:9 +msgid "_Basic Search" +msgstr "Bús_queda simple" + +#: lib/Kronolith.php:1790 +msgid "_Edit" +msgstr "Mo_dificar" + +#: lib/Kronolith.php:2012 +msgid "_Goto" +msgstr "I_r a" + +#: lib/Kronolith.php:2018 +msgid "_Import/Export" +msgstr "_Importar/Exportar" + +#: lib/Kronolith.php:2008 +msgid "_New Event" +msgstr "_Añadir" + +#: lib/Kronolith.php:2023 +msgid "_Print" +msgstr "Im_primir" + +#: lib/Kronolith.php:2014 +msgid "_Search" +msgstr "_Buscar" + +#: lib/Kronolith.php:2003 +msgid "_Today" +msgstr "_Hoy" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "como %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "antes de que empiece el acontecimiento" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"antes de que empiece el acontecimiento. \"0\" significa que no hay alarma " +"por omisión." + +#: lib/Views/Event.php:62 lib/Views/Event.php:71 +#, php-format +msgid "by %s" +msgstr "por %s" + +#: lib/Views/Event.php:64 lib/Views/Event.php:73 +msgid "by me" +msgstr "por mi" + +#: config/.bak/prefs.php.dist:237 +msgid "day" +msgstr "día" + +#: templates/edit/edit.inc:227 templates/view/view.inc:96 +msgid "day(s)" +msgstr "día(s)" + +#: config/.bak/prefs.php.dist:238 config/.bak/prefs.php.dist:239 +#: config/.bak/prefs.php.dist:240 config/.bak/prefs.php.dist:241 +#: config/.bak/prefs.php.dist:242 +msgid "days" +msgstr "días" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "acontecimientos.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "acontecimientos.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "en" + +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "month(s)" +msgstr "mes(es)" + +#: lib/Kronolith.php:1423 +#, php-format +msgid "on %s at %s" +msgstr "el %s a las %s" + +#: templates/edit/edit.inc:247 templates/view/view.inc:108 +msgid "on the same date" +msgstr "en la misma fecha" + +#: templates/edit/edit.inc:253 templates/view/view.inc:110 +msgid "on the same weekday" +msgstr "en el mismo día laborable" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "repeticiones" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/.bak/prefs.php.dist:243 +msgid "week" +msgstr "semana" + +#: templates/edit/edit.inc:234 templates/view/view.inc:106 +msgid "week(s) on:" +msgstr "semana(s) en:" + +#: config/.bak/prefs.php.dist:244 config/.bak/prefs.php.dist:245 +#: config/.bak/prefs.php.dist:246 +msgid "weeks" +msgstr "semanas" + +#: templates/edit/edit.inc:259 templates/view/view.inc:112 +msgid "year(s) on the same date" +msgstr "año(s) en la misma fecha" + +#: templates/edit/edit.inc:265 templates/view/view.inc:114 +msgid "year(s) on the same day of the year" +msgstr "año(s) en el mismo día del año" + +#: templates/edit/edit.inc:271 templates/view/view.inc:116 +msgid "year(s) on the same weekday and month of the year" +msgstr "año(s) del mismo día de la semana y mes del año" diff --git a/kronolith/po/et_EE.po b/kronolith/po/et_EE.po new file mode 100644 index 000000000..a5585d34a --- /dev/null +++ b/kronolith/po/et_EE.po @@ -0,0 +1,2497 @@ +msgid "" +msgstr "" +"Project-Id-Version: \n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2008-05-29 15:49+0300\n" +"PO-Revision-Date: 2008-07-30 19:06+0200\n" +"Last-Translator: Alar SIng \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-13\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr "kuni %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr "lõputu" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d sündmust" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d aega" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s päev(a) %s tund(i) %s minutit" + +#: lib/Driver.php:2217 +#, php-format +msgid "%s attendees" +msgstr "%s osavõtjad" + +#: data.php:304 +#, php-format +msgid "%s file successfully imported" +msgstr "Fail %s edukalt imporditud" + +#: calendars.php:116 lib/Kronolith.php:371 lib/api.php:217 +#, php-format +msgid "%s's Calendar" +msgstr "Kasutaj %s Kalender" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Lisa need vajutades Lisa *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Palun vali aadress(id) *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d korda" + +#: lib/Driver.php:2216 +msgid "1 attendee" +msgstr "1 osavõtja" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 sündmus" + +#: config/prefs.php.dist:161 +msgid "1 hour" +msgstr "1 tund" + +#: config/prefs.php.dist:158 +msgid "15 minutes" +msgstr "15 minutit" + +#: config/prefs.php.dist:159 +msgid "20 minutes" +msgstr "20 minutit" + +#: config/prefs.php.dist:160 +msgid "30 minutes" +msgstr "30 minutit" + +#: config/prefs.php.dist:474 +msgid "A saved list of attendees" +msgstr "Osavõtjate salvestatud nimekiri" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "EL" + +#: lib/Kronolith.php:1181 +msgid "Accepted" +msgstr "Aktsepteeritud" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Põhjalik otsing" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Lisa" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Lisa sündmus" + +#: templates/prefs/remote_cal_management.inc:43 +msgid "Add a new Remote Calendar" +msgstr "Lisa uus väline kalender" + +#: new.php:65 +msgid "Add a new event" +msgstr "Lisa uus sündmus" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Lisa osavõtjad" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Lisa allikas" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Lisa osavõtjatele" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Aadressiraamat" + +#: config/prefs.php.dist:76 +msgid "Address Books" +msgstr "Aadressiraamatud" + +#: templates/search/search.inc:11 templates/search/search_advanced.inc:8 +msgid "Advanced Search" +msgstr "Põhjalik otsing" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Teavitus" + +#: lib/Driver.php:2183 +#, php-format +msgid "Alarm %d days before" +msgstr "Teavita %d päeva enne" + +#: lib/Driver.php:2188 +#, php-format +msgid "Alarm %d hours before" +msgstr "Teavita %d tundi enne" + +#: lib/Driver.php:2193 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Teavita %d minutit enne" + +#: lib/Driver.php:2178 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Teavita %d nädalat enne" + +#: lib/Driver.php:2182 +msgid "Alarm 1 day before" +msgstr "Teavita 1 päev enne" + +#: lib/Driver.php:2187 +msgid "Alarm 1 hour before" +msgstr "Teavita 1 tund enne" + +#: lib/Driver.php:2192 +msgid "Alarm 1 minute before" +msgstr "Teavita 1 minut enne" + +#: lib/Driver.php:2177 +msgid "Alarm 1 week before" +msgstr "Teavita 1 nädal enne" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Teavitus kuupäev" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Teavituse pikkus (minutites)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Teavituse aeg" + +#: templates/edit/edit.inc:166 templates/prefs/default_alarm_management.inc:24 +msgid "Alarm Unit" +msgstr "Teavitus üksus" + +#: templates/edit/edit.inc:164 templates/prefs/default_alarm_management.inc:22 +msgid "Alarm Value" +msgstr "Teavituse väärtus" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Teavitus lubatud" + +#: templates/delete/delete.inc:27 templates/edit/edit.inc:39 +msgid "All" +msgstr "Kõik" + +#: lib/FBView.php:130 lib/FBView.php:133 lib/FBView.php:136 +msgid "All Attendees" +msgstr "Kõik osavõtjad" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "Kõik autoriseeritud kasutajad" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Kõik kalendrid" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Kõik tulevikust" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Kõik minevikust" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "Kõik nähtavad" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2286 +#: lib/Views/Week.php:143 lib/Views/Week.php:150 lib/Views/Day.php:97 +#: lib/Views/Day.php:100 +msgid "All day" +msgstr "Tervepäev" + +#: lib/Block/summary.php:177 +msgid "All day event" +msgstr "Tervepäeva sündmus" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Kõik sündmused" + +#: lib/api.php:641 lib/api.php:651 +msgid "Already Exists" +msgstr "Juba on olemas" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:1274 +msgid "Any" +msgstr "Suvaline" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Aprill" + +#: templates/data/export.inc:85 templates/data/export.inc:176 +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +msgid "At" +msgstr "Ajal" + +#: lib/Kronolith.php:1441 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Manuses olev fail on iCal formaadis info sündmuse kohta. Kui teie maili " +"klient toetab iTip päringut saate küsida kergelt uuendusi sündmusest." + +#: perms.php:75 +msgid "Attempt to edit a non-existent share." +msgstr "Üritasite muuta mitte olemas olevat jagatud kausta" + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "Osalemine" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "Osaleja" + +#: templates/savedattlist/savedattlist.inc:48 templates/view/view.inc:168 +#: templates/edit/edit.inc:193 lib/Kronolith.php:1986 +msgid "Attendees" +msgstr "Osalejad" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "August" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Aadressiraamatud:" + +#: templates/search/search.inc:8 templates/search/search_advanced.inc:11 +msgid "Basic Search" +msgstr "Lihtne otsing" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Sünnipäev" + +#: lib/FBView.php:89 lib/FBView.php:110 +msgid "Busy" +msgstr "Kinni" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "Kalender" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "Kalender" + +#: templates/calendars/calendars.inc:92 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Kalender" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Kalendri kokkuvõte" + +#: templates/calendars/calendars.inc:171 +msgid "Calendar links:" +msgstr "Kalendri link:" + +#: data.php:248 +msgid "Calendar successfully purged." +msgstr "Kalender edukalt tühjendatud" + +#: templates/panel.inc:42 templates/panel.inc:43 lib/Kronolith.php:1988 +#: config/prefs.php.dist:27 config/prefs.php.dist:35 config/prefs.php.dist:43 +#: config/prefs.php.dist:67 +msgid "Calendars" +msgstr "Kalendrid" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Prinditud kalendrid" + +#: calendars.php:33 +msgid "Calendars must have a name." +msgstr "Kalendritel peab olema nimi." + +#: data.php:264 +msgid "Can't create a new event." +msgstr "Uut sündmust ei õnnestunud luua." + +#: templates/delete/delete.inc:28 templates/delete/one.inc:25 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +msgid "Cancel" +msgstr "Tühista" + +#: lib/Kronolith.php:1157 +msgid "Cancelled" +msgstr "Tühistatud" + +#: lib/Kronolith.php:1415 +#, php-format +msgid "Cancelled: %s" +msgstr "Tühistatud: %s" + +#: lib/Driver/kolab.php:1329 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Sündmust %s ei saa kustutada" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "Kategoori_a" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Kategooria" + +#: config/prefs.php.dist:59 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Vali kuidas sa tahad et sind teavitatakse sündmuste muutustest, teavitustest " +"ja tulevatest sündmustest." + +#: config/prefs.php.dist:391 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "Vali kuidas sa tahad meeldetuletusi teavitusega sündmustest" + +#: config/prefs.php.dist:348 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Vali kui sa soovid et teavitused uuest sündmustest, muudatustest ja " +"ärajäämistest saadetaks mailiga:" + +#: config/prefs.php.dist:361 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Vali kui soovid päevast agendat maili teel:" + +#: config/prefs.php.dist:382 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "Vali kui soovid sündmuste teavitust:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Vali kalender mis lisada vaba/kinni infot hulka:" + +#: config/prefs.php.dist:448 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "Vali kalender mis lisada vaba/kinni info URLi:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "Vali aadressiraamatud kust otsida aadresse." + +#: config/prefs.php.dist:195 +msgid "Choose the views to show event locations in:" +msgstr "Vali see vaade et näha sündmuse toimumise kohta:" + +#: config/prefs.php.dist:183 +msgid "Choose the views to show event start and end times in:" +msgstr "Vali kuidas näidata sündmuse algus ja lõpp aega:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Vali pühad mida näidata" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Vali oma vaike kalender." + +#: templates/attendees/attendees.inc:97 +msgid "Clear all attendees" +msgstr "Kustuta kõik osalejad" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "Vali üks oma aadressi raamatutest ja väljad kust otsida." + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Sulge aken" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Sulge aken" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Komaga eraldatud väärtused" + +#: config/prefs.php.dist:88 +msgid "Confirm deletion of events?" +msgstr "Küsi sündmuse kustutamist?" + +#: lib/Kronolith.php:1154 +msgid "Confirmed" +msgstr "Kinnitatud" + +#: templates/calendars/calendars.inc:208 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "Kopeeri allolev URL et kasutada vaba/kinni infot:" + +#: lib/Kronolith.php:463 +#, php-format +msgid "Could not open %s." +msgstr "Ei õnnestunud avada %s." + +#: templates/calendars/calendars.inc:71 +msgid "Create" +msgstr "Loo" + +#: templates/calendars/calendars.inc:57 +msgid "Create Calendar" +msgstr "Loo kalender" + +#: templates/week/head.inc:29 lib/Views/Day.php:97 lib/Views/Day.php:256 +#: lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "Loo uus sündmus" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Loodud" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:37 +msgid "Current" +msgstr "Hetke" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Päevane" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "Igapäevane: Kordub iga" + +#: attendees.php:180 lib/Kronolith.php:1747 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:97 +msgid "Day" +msgstr "Päev" + +#: templates/view/view.inc:56 templates/edit/edit.inc:170 +#: templates/prefs/default_alarm_management.inc:28 +msgid "Day(s)" +msgstr "Päev(ad)" + +#: lib/Kronolith.php:1789 +msgid "De_lete" +msgstr "Ku_stuta" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Detsember" + +#: lib/Kronolith.php:1184 +msgid "Declined" +msgstr "Keeldutud" + +#: templates/fbview/legend.inc:7 +msgid "No Information" +msgstr "Informatsioon puudub" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Vaike teavituse seaded:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Vaike kalender" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "Delegeeri" + +#: templates/perms/perms.inc:33 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:89 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:130 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:171 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:212 templates/perms/perms.inc:233 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:294 +#: templates/perms/perms.inc:315 templates/perms/perms.inc:349 +#: templates/delete/one.inc:24 templates/calendars/calendars.inc:195 +#: templates/prefs/remote_cal_management.inc:30 lib/Driver.php:1303 +#: lib/Driver.php:2245 +msgid "Delete" +msgstr "Kustuta" + +#: lib/Driver.php:2244 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Kustuta %s" + +#: lib/Driver.php:1302 +#, php-format +msgid "Delete exception on %s" +msgstr "Kustutamise erand %s" + +#: templates/search/search_advanced.inc:103 templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "Kirj_eldus" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "Kirj_eldus:" + +#: data.php:63 templates/calendars/calendars.inc:125 +#: templates/view/view.inc:155 +msgid "Description" +msgstr "Kirjeldus" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Kuva" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Kuvamise seaded" + +#: lib/Kronolith.php:1122 +msgid "Does not recur" +msgstr "Ei kordu" + +#: config/prefs.php.dist:369 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "Ära teavita mind kui ma lisan, muuda või kustutan sündmusi?" + +#: lib/Kronolith.php:683 +#, php-format +msgid "Due: %s" +msgstr "Tähtaeg: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Kestvus" + +#: lib/Driver.php:1978 +msgid "Duration Day" +msgstr "Kestvus päev" + +#: lib/Driver.php:1990 +msgid "Duration Hour" +msgstr "Kestvus tund" + +#: lib/Driver.php:2001 +msgid "Duration Minute" +msgstr "Kestvus minut" + +#: templates/perms/perms.inc:32 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:88 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:129 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:170 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:211 templates/perms/perms.inc:229 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:293 +#: templates/perms/perms.inc:311 templates/perms/perms.inc:345 +#: templates/calendars/calendars.inc:118 +#: templates/prefs/remote_cal_management.inc:31 lib/Driver.php:2238 +msgid "Edit" +msgstr "Muuda" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2237 +#: lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "Muuda %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Muuda osalejaid" + +#: templates/calendars/calendars.inc:86 +msgid "Edit Calendars" +msgstr "Muuda kalendreid" + +#: perms.php:310 +msgid "Edit Permissions" +msgstr "Muuda õigusi" + +#: perms.php:312 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Muuda %s õigusi" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Muuda osalejat" + +#: attendees.php:237 +msgid "Edit attendees" +msgstr "Muuda osalejaid" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Muuda katekoorjaid ja värve" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Muuda %s õigusi" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Maili aadress" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "_Lõpp" + +#: data.php:58 +msgid "End Date" +msgstr "Viimane kuupäev" + +#: templates/data/export.inc:161 lib/Driver.php:1949 +msgid "End Day" +msgstr "Viimane päev" + +#: templates/data/export.inc:178 lib/Driver.php:1962 +msgid "End Hour" +msgstr "Viimane tund" + +#: templates/data/export.inc:190 lib/Driver.php:1973 +msgid "End Minute" +msgstr "Viimane minut" + +#: templates/data/export.inc:148 lib/Driver.php:1940 +msgid "End Month" +msgstr "Viimane kuu" + +#: templates/search/event_headers.inc:8 templates/data/export.inc:125 +#: templates/view/view.inc:41 +msgid "End On" +msgstr "Lõppeb" + +#: data.php:59 +msgid "End Time" +msgstr "Lõpu aeg" + +#: templates/data/export.inc:134 lib/Driver.php:1929 +msgid "End Year" +msgstr "Viimane aasta" + +#: attendees.php:226 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Viga vaba/kinni info hankimisel %s: %s" + +#: attendees.php:206 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Viga vaba/kinni info hankimisel %s" + +#: config/prefs.php.dist:51 +msgid "Event Defaults" +msgstr "Sündmuse vaike seaded" + +#: lib/Kronolith.php:1594 +msgid "Event added:" +msgstr "Sündmus lisatud:" + +#: lib/Kronolith.php:1604 +msgid "Event deleted:" +msgstr "Sündmus kustutatud:" + +#: lib/Kronolith.php:1599 +msgid "Event edited:" +msgstr "Sündmus muudetud:" + +#: lib/Driver.php:1426 +#, php-format +msgid "Event from %s to %s" +msgstr "Sündmus %s'st kuni %s" + +#: lib/Driver/sql.php:387 +msgid "Event not found" +msgstr "Sündmust ei leitud" + +#: lib/Driver/kolab.php:431 lib/Driver/kolab.php:1155 +#: lib/Driver/kolab.php:1182 lib/Driver/kolab.php:1311 +#, php-format +msgid "Event not found: %s" +msgstr "Sündmust ei leitud: %s" + +#: config/prefs.php.dist:50 config/prefs.php.dist:57 +msgid "Events" +msgstr "Sündmused" + +#: lib/Driver.php:1034 +msgid "Events must have a start date." +msgstr "Sündmustel peab olema algus aeg." + +#: lib/Driver.php:996 +msgid "Events must have a title." +msgstr "Sündmustel peab olem pealkiri" + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "Erandid" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "Eksport" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Ekspordi kalender" + +#: templates/perms/perms.inc:361 +msgid "Extended free/busy access" +msgstr "Pikendatud vaba/kinni õigused" + +#: templates/panel.inc:73 +msgid "External Events:" +msgstr "Välised sündmused" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Veebruar" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Väljad kust otsida" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Otsi" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Block/month.php:107 lib/Views/Year.php:81 +msgid "Fr" +msgstr "Re" + +#: lib/Kronolith.php:1160 +msgid "Free" +msgstr "Vaba" + +#: config/prefs.php.dist:68 +msgid "Free/Busy Information" +msgstr "Vaba/Kinni info" + +#: templates/calendars/calendars.inc:134 +msgid "Free/Busy relevance" +msgstr "Vaba/Kinni tähtsus" + +#: templates/month/head.inc:21 templates/view/view.inc:103 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "Reede" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:38 +msgid "Future" +msgstr "Tulevik" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Mäng" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Üldine" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Liigu %s" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "Gruppid" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "Külalise õigused" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Peida" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Puhkepäevad" + +#: templates/view/view.inc:59 templates/edit/edit.inc:169 +#: templates/prefs/default_alarm_management.inc:27 +msgid "Hour(s)" +msgstr "Tund" + +#: config/prefs.php.dist:157 +msgid "How long should the time slots on the day and week views be?" +msgstr "Kui pikad peaks olema aja pilud päeva ja nädala vaadete?" + +#: config/prefs.php.dist:400 +msgid "How many days of free/busy information should we generate?" +msgstr "Mitme päeva jagu vaba/kinni infot peab genereerima?" + +#: lib/Kronolith.php:1445 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Kui teie mailiklient ei toeta iTip päringuid, saate te kasutada ühte " +"järgnevatest linkidest.\n" +"\n" +"Aktsepteeri sündmus:\n" +"%s\n" +"\n" +"Aktsepteeri sündmus kahtlevalt:\n" +"%s\n" +"\n" +"Keeldu sündmusest:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Kalendri import, samm %d" + +#: data.php:310 +msgid "Import/Export Calendar" +msgstr "Import/Eksport kalender" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "Üksikud kasutajad" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Jaanuar" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Juuli" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Juuni" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "Märksõnad" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Viimased 24 tundi" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Viimati muudetud" + +#: templates/month/head.inc:5 templates/month/head_side_by_side.inc:5 +msgid "Last Month" +msgstr "Eelmine kuu" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Eelmine aasta" + +#: templates/search/search.inc:54 templates/week/head.inc:6 +msgid "Last week" +msgstr "Eelmine nädal" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Määra ajavahemik mida eksportida:" + +#: config/prefs.php.dist:411 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "Näita kõik kontakte? (Kui ei siis näed ainult neid keda otsisid)" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "Asu_koht" + +#: savedattlist.php:16 templates/attendees/attendees.inc:95 +msgid "Load Attendee List" +msgstr "Lae osalejate nimekiri" + +#: savedattlist.php:26 +msgid "Load List" +msgstr "Lae nimekiri" + +#: templates/savedattlist/savedattlist.inc:58 +msgid "Load this list" +msgstr "Lae see nimekiri" + +#: templates/javascript_defs.php:14 +msgid "Loading ..." +msgstr "Laadin..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Laadin..." + +#: data.php:65 templates/search/event_headers.inc:5 templates/view/view.inc:14 +#: templates/prefs/remote_cal_management.inc:25 +#: templates/prefs/remote_cal_management.inc:60 lib/Driver.php:2268 +msgid "Location" +msgstr "Asukoht" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Halda väliseid kalendreid." + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Märts" + +#: lib/api.php:133 +msgid "Maximum Number of Events" +msgstr "Suurim number sündmusi" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Suurim number sündmusi mida näidata(0 = kõik)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Mai" + +#: lib/Driver.php:2264 +msgid "Me" +msgstr "Mina" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Kohtumine" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Teavituste menüü" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menüü" + +#: templates/view/view.inc:62 templates/edit/edit.inc:168 +#: templates/prefs/default_alarm_management.inc:26 +msgid "Minute(s)" +msgstr "Minut(it)" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Block/month.php:107 lib/Views/Year.php:77 +msgid "Mo" +msgstr "Es" + +#: templates/month/head.inc:17 templates/view/view.inc:99 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:121 +msgid "Monday" +msgstr "Esmaspäev" + +#: attendees.php:183 lib/Kronolith.php:1753 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:100 +msgid "Month" +msgstr "Kuu" + +#: config/prefs.php.dist:180 +msgid "Month and Week Views" +msgstr "Kuu ja nädala vaated" + +#: config/prefs.php.dist:192 +msgid "Month, Week, and Day Views" +msgstr "Kuu, nädala ja päeva vaated" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Igakuiselt" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "Kuine: Kordub iga" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Kuid ette" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Kuid enne" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Liigu alla" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Liigu ülesse" + +#: lib/api.php:911 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Mitu iCal komponenti leitud; ainult üks vEvent on toetatud." + +#: calendars.php:144 +msgid "My Calendars" +msgstr "Minu kalendrid" + +#: templates/panel.inc:54 +msgid "My Calendars:" +msgstr "Minu kalendrid:" + +#: templates/calendars/calendars.inc:204 +msgid "My Free/Busy URL" +msgstr "Minu vaba/kinni URL" + +#: templates/calendars/calendars.inc:62 templates/calendars/calendars.inc:105 +#: templates/contacts/contacts.inc:188 +#: templates/prefs/remote_cal_management.inc:24 +#: templates/prefs/remote_cal_management.inc:52 +msgid "Name" +msgstr "Nimi" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Uus sündmus" + +#: lib/Kronolith.php:405 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "Uue kalendri tegemisel jaga automaatselt järgmiste gruppi(de)ga: %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Järgmine" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Järgmise 24 tunni jooksul" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Homme" + +#: templates/month/head.inc:7 templates/month/head_side_by_side.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "Järgmine kuu" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Järgmine nädal" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Järgmine aasta" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Homme" + +#: templates/search/search.inc:58 templates/week/head.inc:8 +msgid "Next week" +msgstr "Järgmine nädal" + +#: config/prefs.php.dist:344 config/prefs.php.dist:357 +#: config/prefs.php.dist:378 +msgid "No" +msgstr "Ei" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "Ilma teavituseta" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Osalejad puuduvad" + +#: lib/api.php:1062 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Ühtegi osalejate ei ole uuendatud kuna ühelegi ei leitud maili aadressi." + +#: lib/Kronolith.php:1934 lib/Kronolith.php:1980 +msgid "No calendars are available to guests." +msgstr "Külalistele ei ole kalendreid." + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "Lõppkuupäev puudub" + +#: lib/Block/prevmonthlist.php:166 lib/Block/monthlist.php:175 +#: lib/Block/summary.php:208 +msgid "No events to display" +msgstr "Ühtegi sündmust ei ole näidata" + +#: lib/FreeBusy.php:223 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "Vaba/kinni infot ei leitud url'ist %s." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Vaba/kinni infot ei ole kasutaja %s kohta" + +#: lib/FreeBusy.php:224 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Vaba/kinni urli ei leitud: %s" + +#: lib/api.php:384 lib/api.php:627 lib/api.php:664 lib/api.php:918 +msgid "No iCalendar data was found." +msgstr "iCal andmeid ei leitud." + +#: templates/edit/edit.inc:221 lib/Recurrence.php:191 lib/Driver.php:1287 +msgid "No recurrence" +msgstr "Korduseta" + +#: templates/savedattlist/savedattlist.inc:54 +msgid "No saved attendee lists are available" +msgstr "Salvestatud osalejate nimekirju ei ole" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "Ühtegi korrektset maili aadressi ei leitud" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1191 +#: lib/Kronolith.php:1212 +msgid "None" +msgstr "Puudub" + +#: lib/Views/DeleteEvent.php:27 lib/Views/EditEvent.php:27 +#: lib/Views/Event.php:26 +msgid "Not Found" +msgstr "Ei leitud" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Ei leitud" + +#: config/prefs.php.dist:58 +msgid "Notifications" +msgstr "Teavitused" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "November" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Nüüd" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "Objekt loodud" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Oktoober" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Kuupäeval" + +#: config/prefs.php.dist:347 config/prefs.php.dist:360 +#: config/prefs.php.dist:381 +msgid "On all calendars I have read access to" +msgstr "Kõigis kalendrites kuhu mul on lugemis õigus" + +#: config/prefs.php.dist:346 config/prefs.php.dist:359 +#: config/prefs.php.dist:380 +msgid "On all shown calendars" +msgstr "Kõigis nähtavates kalendrites" + +#: config/prefs.php.dist:345 config/prefs.php.dist:358 +#: config/prefs.php.dist:379 +msgid "On my calendars only" +msgstr "Ainult minu kalendrites" + +#: perms.php:87 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "Ainult omanik või administraator võib muuda jagatud kausta õigusi" + +#: lib/Kronolith.php:1209 +msgid "Optional" +msgstr "Vabatahtlik" + +#: lib/FBView.php:118 +msgid "Optional Attendees" +msgstr "Vabatahtlik osaleja" + +#: config/prefs.php.dist:75 +msgid "Other Options" +msgstr "Teised seaded" + +#: lib/FBView.php:159 +msgid "Overview" +msgstr "Ülevaade" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Omanik" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Omaniku õigused" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "Omanik:" + +#: lib/Driver.php:2263 +#, php-format +msgid "Owner: %s" +msgstr "Omanik: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PL" + +#: templates/prefs/remote_cal_management.inc:76 +msgid "Password" +msgstr "Parool" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "Muster" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Kustuta see sündmus?" + +#: lib/api.php:606 lib/api.php:705 lib/api.php:758 lib/api.php:853 +#: lib/api.php:888 lib/api.php:980 lib/api.php:1037 lib/Driver/sql.php:776 +msgid "Permission Denied" +msgstr "Ligipääs keelatud" + +#: templates/calendars/calendars.inc:115 +msgid "Permissions" +msgstr "Õigused" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Palun lahenda ebaselged või vigased aadressid." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Portaali seaded" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Eelmine päev" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Eelmine kuu" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Eelmine nädal" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Eelmine päev" + +#: config/prefs.php.dist:181 config/prefs.php.dist:193 +msgid "Print Views" +msgstr "Printimise vaade" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Eelmised sündmused" + +#: lib/Driver.php:1422 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Privaatsed sündmused %s kuni %s" + +#: lib/Driver.php:2208 lib/Driver.php:2209 +msgid "Private event" +msgstr "Privaatne sündmus" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Privaatne?" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +#: templates/perms/perms.inc:364 templates/perms/perms.inc:376 +#: templates/perms/perms.inc:405 +msgid "Read" +msgstr "Loe" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "Korda kuni" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "Korduvus" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Korduvus info" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Korduvuse lõpp" + +#: lib/Driver.php:2044 +msgid "Recurrence End Day" +msgstr "Korduvuse lõpp päev" + +#: lib/Driver.php:2029 +msgid "Recurrence End Month" +msgstr "Korduvuse lõpp kuu" + +#: lib/Driver.php:2012 +msgid "Recurrence End Year" +msgstr "Korduvuse lõpp aasta" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Korduvuse intervall" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Korduvuse tüüp" + +#: lib/Kronolith.php:1125 +msgid "Recurs daily" +msgstr "Päevane korduvus" + +#: lib/Kronolith.php:1132 +msgid "Recurs monthly" +msgstr "Kuine korduvus" + +#: lib/Kronolith.php:1128 +msgid "Recurs weekly" +msgstr "Nädalane korduvus" + +#: lib/Kronolith.php:1137 +msgid "Recurs yearly" +msgstr "Aastane korduvus" + +#: lib/Scheduler/kronolith.php:261 +#, php-format +msgid "Reminder: %s" +msgstr "Meeldetuletus: %s" + +#: config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Välised kalendrid" + +#: templates/panel.inc:86 +msgid "Remote Calendars:" +msgstr "Välised kalendrid:" + +#: templates/calendars/calendars.inc:185 +msgid "Remote Subscription URL" +msgstr "Välise tellimise URL" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Kustuta" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Kustuta %s" + +#: attendees.php:174 +msgid "Remove Attendee" +msgstr "Eemalda osaleja" + +#: savedattlist.php:25 +msgid "Remove List" +msgstr "Eemalda nimekiri" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Eemalda allikas" + +#: templates/savedattlist/savedattlist.inc:61 +msgid "Remove this list" +msgstr "Eemalda see nimekiri" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Kasutaja andmete kustutamine ei ole toetatud hetke salvestus alusrakenduse " +"poolt." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Asenda hetkel kalender imporditud andmetega? Hoiatus: See kustutab " +"kõik sinu hetke kalendri sündmused. " + +#: lib/Kronolith.php:1216 +msgid "Required" +msgstr "Nõutud" + +#: lib/FBView.php:97 lib/FBView.php:141 lib/FBView.php:144 lib/FBView.php:147 +msgid "Required Attendees" +msgstr "Osavõtt kohustuslik" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Algseadistama" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "Vastus" + +#: config/prefs.php.dist:148 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Keela näidata rohkem aja pilusi päeva ja nädala vaates isegi kui on varemaid ja hilisemaid sündmusi?" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Block/month.php:107 lib/Views/Year.php:82 +msgid "Sa" +msgstr "La" + +#: templates/month/head.inc:22 templates/view/view.inc:104 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "Laupäev" + +#: templates/panel.inc:96 templates/calendars/calendars.inc:194 +msgid "Save" +msgstr "Salvesta" + +#: templates/perms/perms.inc:419 +#, php-format +msgid "Save %s" +msgstr "Salvesta %s" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1784 +#: lib/Views/EditEvent.php:78 lib/Views/EditEvent.php:88 +msgid "Save As New" +msgstr "Salvesta uuena" + +#: templates/attendees/attendees.inc:96 +msgid "Save Attendee List" +msgstr "Salvesta osalejate nimekiri" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Salvesta osalejad" + +#: new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "Salvesta sündmus" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Salvesta ja lõpeta" + +#: search.php:91 templates/search/search.inc:67 +#: templates/search/search_advanced.inc:114 +#: templates/contacts/contacts.inc:155 lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Otsing" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Otsingu tulemused" + +#: templates/panel.inc:48 +msgid "Search for Calendars:" +msgstr "Otsi kalendreid:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Otsingu tulemused" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Vaba/kinni info otsimine ei ole saadaval." + +#: templates/calendars/calendars.inc:24 templates/calendars/calendars.inc:188 +msgid "Select a calendar above to display the Remote Subscription URL" +msgstr "Vali kalender mille välise tellimise URLi näidata" + +#: templates/calendars/calendars.inc:23 templates/calendars/calendars.inc:180 +msgid "Select a calendar above to display the URL" +msgstr "Vali kalender mille URLi näidata" + +#: templates/calendars/calendars.inc:96 +msgid "Select a calendar to edit" +msgstr "Vali kalender mida muuta" + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Vali kuupäev" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Vali grupp mida lisada" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Vali grupp mida lisada:" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Vali uus omanik:" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +#: templates/perms/perms.inc:388 templates/perms/perms.inc:390 +msgid "Select a user to add:" +msgstr "Valik kasutaja mida lisada:" + +#: config/prefs.php.dist:77 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Vali aadressi raamat kust otsida ja lisada aadresse." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Vali kõik väljad millest otsida kui aadresse laiendatakse." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Vali kinnituse seaded, kuidas näidata erinevaid vaateid ja vaike vaade." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Vali kalender kuhu importida:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Vali kalender mida eksportida" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Vali eksportimise formaat:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Vali fail mida importida:" + +#: config/prefs.php.dist:119 +msgid "Select the first weekday:" +msgstr "Vali esimene nädala päev" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Vali faili formaat:" + +#: config/prefs.php.dist:243 +msgid "Select the time span to show:" +msgstr "Vali ajavahemik mida näidata:" + +#: config/prefs.php.dist:101 +msgid "Select the view to display on startup:" +msgstr "Vali vaade mida näidata:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Vali sündmused mida näidata portaalis." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Valitud aadressiraamatud:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Valitud aadressid" + +#: templates/delete/delete.inc:21 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Saada tühistamise teade kõigile osalejatele kui kustutad selle sündmuse?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Saada mail %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Saada kutsed kõigile osalejatele?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Saada uuendus kõigile osalejatele?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "September" + +#: config/prefs.php.dist:52 +msgid "Set default values for new events." +msgstr "Määra vaike väärtused kõigile uutel sündmustele." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Määra lõpp kuupäev" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Määra korduvuse lõpp" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Määra algus aeg" + +#: config/prefs.php.dist:69 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "Määra oma ja teiste kasutajate vaba/kinni info seaded." + +#: calendars.php:88 +#, php-format +msgid "Share not found: %s" +msgstr "Jagatud kausta ei leitud: %s" + +#: templates/panel.inc:64 +msgid "Shared Calendars:" +msgstr "Jagatud kalendrid:" + +#: templates/perms/perms.inc:30 templates/perms/perms.inc:57 +#: templates/perms/perms.inc:86 templates/perms/perms.inc:98 +#: templates/perms/perms.inc:127 templates/perms/perms.inc:139 +#: templates/perms/perms.inc:168 templates/perms/perms.inc:180 +#: templates/perms/perms.inc:209 templates/perms/perms.inc:221 +#: templates/perms/perms.inc:262 templates/perms/perms.inc:291 +#: templates/perms/perms.inc:303 templates/perms/perms.inc:337 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "Näita" + +#: config/prefs.php.dist:215 +msgid "Show calendar options panel?" +msgstr "Näita kalendri valiku paneeli?" + +#: config/prefs.php.dist:205 +msgid "Show category legend?" +msgstr "Näita katekoorjate legendi?" + +#: config/prefs.php.dist:171 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Näita kustutamise, teavituse ja korduvuse ikoone kalendri vaates?" + +#: config/prefs.php.dist:272 +msgid "Show external events using category colors?" +msgstr "Näita väliseid sündmusi kasutades katekoorjate värve?" + +#: config/prefs.php.dist:225 +msgid "Show free/busy legend?" +msgstr "Näita vaba/kinni legendi?" + +#: config/prefs.php.dist:263 +msgid "Show only events that have an alarm set?" +msgstr "Näita ainult sündmusi millel on teavitus?" + +#: config/prefs.php.dist:234 +msgid "Show shared calendars side-by-side?" +msgstr "Näita jagatuid kalendreid kõrvuti?" + +#: config/prefs.php.dist:110 +msgid "Show time of day between each day in week views?" +msgstr "Näita aega iga päeva kõrval nädala vaates?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Algus" + +#: data.php:56 +msgid "Start Date" +msgstr "Algusaeg" + +#: templates/data/export.inc:68 lib/Driver.php:1904 +msgid "Start Day" +msgstr "Alguspäev" + +#: templates/data/export.inc:87 lib/Driver.php:1915 +msgid "Start Hour" +msgstr "Algustund" + +#: templates/data/export.inc:102 lib/Driver.php:1925 +msgid "Start Minute" +msgstr "Algusminut" + +#: templates/data/export.inc:54 lib/Driver.php:1895 +msgid "Start Month" +msgstr "Alguskuu" + +#: templates/search/event_headers.inc:7 templates/data/export.inc:37 +#: templates/view/view.inc:35 +msgid "Start On" +msgstr "Algab" + +#: data.php:57 +msgid "Start Time" +msgstr "Algusaeg" + +#: templates/data/export.inc:39 lib/Driver.php:1884 +msgid "Start Year" +msgstr "Algusaasta" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "Staat_us" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "Staatus" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Vaba/kinni info salvestamine ei ole võimaldatud." + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Block/month.php:109 lib/Block/month.php:111 lib/Views/Year.php:75 +#: lib/Views/Year.php:84 +msgid "Su" +msgstr "Pü" + +#: attendees.php:166 +msgid "Successfully saved attendee list" +msgstr "Osalejad salvestatud" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/view/view.inc:105 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:120 +msgid "Sunday" +msgstr "Pühapäev" + +#: lib/Kronolith.php:1164 lib/Kronolith.php:1187 +msgid "Tentative" +msgstr "Kahtlev" + +#: templates/fbview/legend.inc:5 +msgid "Possible Meeting Time" +msgstr "Võimalik kohtumise aeg" + +#: lib/FBView.php:141 +msgid "Possible Meeting Times" +msgstr "Võimalikud kohtumise ajad" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Block/month.php:107 lib/Views/Year.php:80 +msgid "Th" +msgstr "Ne" + +#: data.php:238 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Fail %s ei sisaldanud ühtegi sündmust." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Kalendrite alusrakendus ei ole saadaval." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Kalendrite alusrakendus ei ole saadaval: %s" + +#: templates/savedattlist/savedattlist.inc:15 +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Osalejate muutmise aken on kadunud. Väljun." + +#: calendars.php:81 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Kalendrit \"%s\" ei saa kustutada." + +#: calendars.php:47 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Kalender \"%s\" on loodud." + +#: calendars.php:99 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Kalender \"%s\" on kustutatud." + +#: calendars.php:62 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Kalender \"%s\" on nimetatud \"%s\"." + +#: calendars.php:64 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Kalender \"%s\" on salvestatud." + +#: data.php:246 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Ei õnnestunud tühjendata kalendrit: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "Lõppkuupäev peab olema hilisem kui algus." + +#: lib/Kronolith.php:1595 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "Sündmus \"%s\" on lisatud \"%s\" kalendrisse, mis on %s kohal %s." + +#: lib/Kronolith.php:1605 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "Sündmus \"%s\" on kustutatud \"%s\" kalendrist, mis on %s kohal %s." + +#: lib/Kronolith.php:1600 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "Sündmus \"%s\" on muudetud \"%s\" kalendris, mis on %s kohal %s." + +#: lib/Kronolith.php:1485 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Sündmuse teavitus %s edukalt saadetud." + +#: lib/Kronolith.php:1439 +msgid "The following is a more detailed description of the event:" +msgstr "Sündmuse kirjeldus:" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Vaba/kinni url: %s ei saa lugeda." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Päring oli ebatäielik. Mõned nõutud väljad mis on vajalikud akspeteerimiseks " +"või keeldumiseks on puudu." + +#: lib/Views/DeleteEvent.php:40 lib/Views/EditEvent.php:43 +#: lib/Views/Event.php:41 +msgid "The requested event was not found." +msgstr "Otsitud sündmust ei leitud." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Ükski sündmus ei vasta hetke kriteeriumitele." + +#: add.php:24 edit.php:46 edit.php:68 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Tekis viga ligisaamisel kalendrile: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Tekis viga sündmuse lisamisel: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Tekis viga sündmuse muutmisel: %s" + +#: lib/api.php:376 lib/api.php:619 lib/api.php:903 +msgid "There was an error importing the iCalendar data." +msgstr "Tekis viga iCal andmete importimisel." + +#: edit.php:142 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Tekis viga sündmuse liigutamisel: %s" + +#: lib/Kronolith.php:1490 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Tekis viga sündmust teavitamisel kasutaja %s: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Ühtegi sündmust ei eksporditud." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "See kuu" + +#: templates/calendars/calendars.inc:140 +msgid "This calendar is only included into the free/busy data for ..." +msgstr "See kalender on lisatud ainult vaba/kinni andmetesse..." + +#: data.php:194 +msgid "This file format is not supported." +msgstr "Faili formaat ei ole toetatud." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"See on korduv sündmus. Kututa ainult hetke sündmus, seda esinemist
      " +"kõik tulevased esinemised või kõik esinemised?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"See on korduv sündmus. Muuda ainult hetke sündmus, seda esinemist
      ja " +"kõiki tulevasi esinemisi, kõiki esinemisi või salvesta uuena?" + +#: data.php:266 +#, php-format +msgid "This is what the server said: %s" +msgstr "Server vastas: %s" + +#: templates/month/head.inc:20 templates/view/view.inc:102 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "Neljapäev" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "Ajavah_emik:" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Ajavahemik" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "_Pealkiri" + +#: data.php:55 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Pealkiri" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "Pealkiri:" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Mitme välja valimiseks hoia all Control (PC) või Command (Mac) klahvi " +"klikkimise ajal." + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:140 +msgid "Today" +msgstr "Täna" + +#: lib/Block/prevmonthlist.php:127 lib/Block/monthlist.php:134 +#: lib/Block/summary.php:142 +msgid "Tomorrow" +msgstr "Homme" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Block/month.php:107 lib/Views/Year.php:78 +msgid "Tu" +msgstr "Te" + +#: templates/month/head.inc:18 templates/view/view.inc:100 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "Teisipäev" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Tüüp" + +#: templates/calendars/calendars.inc:177 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Ei õnnestu ühenduda SQL serveriga." + +#: calendars.php:95 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Ei õnnestu kustutada \"%s\": %s" + +#: lib/Storage.php:58 lib/Driver.php:206 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Ei õnnestu laadida definitsioone %s." + +#: attendees.php:57 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "Ei õnnestu tuvasta \"%s\" mail aadressina." + +#: calendars.php:59 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Ei õnnestu ümber nimetada \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Ei õnnestu laadida vaba/kinni infot: %s" + +#: calendars.php:69 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Ei õnnestu salvestada kalendrisse \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Täitamata" + +#: lib/api.php:448 lib/api.php:671 lib/api.php:729 lib/api.php:789 +#: lib/api.php:923 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Tundmata sisu tüüp: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Tulevad sündmused" + +#: perms.php:304 +#, php-format +msgid "Updated \"%s\"." +msgstr "Uuendatud \"%s\"." + +#: lib/Kronolith.php:1429 +#, php-format +msgid "Updated: %s." +msgstr "Uuendatud: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Kasutajaliides" + +#: templates/prefs/remote_cal_management.inc:68 +msgid "User Name" +msgstr "Kasutaja" + +#: templates/perms/perms.inc:256 templates/perms/perms.inc:398 +msgid "User to add:" +msgstr "Kasutaja keda lisada:" + +#: lib/Block/month.php:164 lib/Block/month.php:167 lib/Views/Year.php:156 +#: lib/Views/Year.php:162 +msgid "View Day" +msgstr "Vaata päeva" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Block/month.php:107 lib/Views/Year.php:79 +msgid "We" +msgstr "Meie" + +#: lib/Driver.php:1160 lib/Scheduler/kronolith.php:265 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Soovime meelde tuletada lähenevast sündmusest.\n" +"\n" +"%s\n" +"\n" +"Asukont: %s\n" +"\n" +"Kuupäev: %s\n" +"Kellaeg: %s\n" +"\n" +"%s" + +#: templates/month/head.inc:19 templates/view/view.inc:101 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "Kolmapäev" + +#: attendees.php:182 lib/Kronolith.php:1751 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:98 +msgid "Week" +msgstr "Nädal" + +#: workweek.php:15 week.php:17 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Nädal %d" + +#: templates/view/view.inc:53 templates/edit/edit.inc:171 +#: templates/prefs/default_alarm_management.inc:29 +msgid "Week(s)" +msgstr "Nädal(ad)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Iga nädal" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "Nädalane: kordub iga" + +#: config/prefs.php.dist:139 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Mis kellast peab päeva ja nädala vaade lõppema, kui pole hilisemaid sündmusi?" + +#: config/prefs.php.dist:130 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Mis kellast peab päeva ja nädala vaade algama, kui pole varasemaid sündmusi?" + +#: config/prefs.php.dist:293 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Milliseid pühasid tahad näha?" + +#: attendees.php:181 lib/Kronolith.php:1749 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:99 +msgid "Work Week" +msgstr "Töö nädal" + +#: lib/Kronolith.php:1755 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Aasta" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Iga aasta" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "Aastane: kordub iga" + +#: new.php:19 edit.php:27 data.php:41 data.php:255 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Sul ei ole lubatud luua rohkem kui %d sündmust." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Sa ei ole selle sündmuse osaleja." + +#: templates/savedattlist/savedattlist.inc:21 +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Seda formi saab kasutada ainult Muuda osalejaid aknast." + +#: lib/Kronolith.php:1378 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Sul ei ole seadistatud maili aadressi Isikliku info seadetes. Sa pead seda " +"tegema %s %s enne ei saa teavitusi saata." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Sul ei ole õigust lisada sündmust %s." + +#: data.php:203 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Sul ei ole õigust lisada sündmust valitud kalendrisse." + +#: add.php:27 edit.php:159 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Sul ei ole õigust delegeerida sündmusi %s." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Sul pole õigust kustutada seda sündmust." + +#: edit.php:162 +msgid "You do not have permission to edit this event." +msgstr "Sul pole õigust muuta seda sündmust." + +#: edit.php:156 +msgid "You do not have permission to move this event." +msgstr "Sul pole õigust muuta seda sündmust." + +#: data.php:200 +msgid "You have specified an invalid calendar." +msgstr "Viga kalendri valimisel." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Aktsepteerisid sündmusel osalemise." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Keeldusid osalemast sündmusel." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "Aktsepteerisid selle sündmuse kahtlevalt." + +#: calendars.php:102 +msgid "You must select a calendar to be deleted." +msgstr "Vali kalender mida kustutada." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Kõige pealt pead valima aadressi." + +#: templates/calendars/calendars.inc:118 +msgid "You need to select a calendar first" +msgstr "Kõigepealt peab valima kalendri" + +#: lib/Kronolith.php:1595 +msgid "You requested to be notified when events are added to your calendars." +msgstr "Sa soovisid teavitust kui sinu kalendrisse lisatakse uus sündmus." + +#: lib/Kronolith.php:1605 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "Sa soovisid teavitust kui sinu kalendrist kustutatakse sündmus." + +#: lib/Kronolith.php:1600 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "Sa soovisid teavitust kui sinu kalendris muudetakse sündmus." + +#: lib/Scheduler/kronolith.php:403 lib/Scheduler/kronolith.php:405 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Sinu päevane agenda %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Sinu vaike kalender" + +#: templates/panel.inc:59 +msgid "[Manage My Calendars]" +msgstr "[Halda minu kalendreid]" + +#: templates/panel.inc:91 +msgid "[Manage Remote Calendars]" +msgstr "[Halda väliseid kalendreid]" + +#: lib/Driver.php:1408 lib/Driver.php:1424 +msgid "[Unnamed event]" +msgstr "[nimetu sündmus]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Teavitus" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "_Otsi" + +#: lib/Kronolith.php:1784 +msgid "_Edit" +msgstr "_Muuda" + +#: lib/Kronolith.php:1949 +msgid "_Goto" +msgstr "_Liigu" + +#: lib/Kronolith.php:1955 +msgid "_Import/Export" +msgstr "_Import/Eksport" + +#: lib/Kronolith.php:1945 +msgid "_New Event" +msgstr "_Lisa uus" + +#: lib/Kronolith.php:1960 +msgid "_Print" +msgstr "_Prindi" + +#: lib/Kronolith.php:1951 +msgid "_Search" +msgstr "_Otsi" + +#: lib/Kronolith.php:1940 +msgid "_Today" +msgstr "-Täna" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "kui %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "enne sündmuse algust" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "enne sündmuse algust. \"0\" tähendab ilma teavituseta." + +#: config/prefs.php.dist:244 +msgid "day" +msgstr "Päev" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "Päev" + +#: config/prefs.php.dist:245 config/prefs.php.dist:246 +#: config/prefs.php.dist:247 config/prefs.php.dist:248 +#: config/prefs.php.dist:249 +msgid "days" +msgstr "Päevad" + +#: data.php:155 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:179 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "ajal" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "kuu(d)" + +#: templates/calendars/calendars.inc:161 +msgid "no one" +msgstr "Mitte keegi" + +#: lib/Kronolith.php:1435 +#, php-format +msgid "on %s at %s" +msgstr "Kuupäeval %s kell %s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "sama päeval" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "samal nädalapäeval" + +#: templates/calendars/calendars.inc:145 +msgid "owners/administrators" +msgstr "omanik/haldaja" + +#: templates/calendars/calendars.inc:153 +msgid "readers" +msgstr "lugejad" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "korduvus" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:250 +msgid "week" +msgstr "nädal" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "nädal(ad):" + +#: config/prefs.php.dist:251 config/prefs.php.dist:252 +#: config/prefs.php.dist:253 +msgid "weeks" +msgstr "nädalad" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "aasta(d) samal kuupäeval" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "aasta(d) samal päeval" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "aasta(d) samal nädalapäeval ja kuul" diff --git a/kronolith/po/eu_ES.po b/kronolith/po/eu_ES.po new file mode 100644 index 000000000..3750aaf82 --- /dev/null +++ b/kronolith/po/eu_ES.po @@ -0,0 +1,1933 @@ +# Basque translations for Kronolith. +# Copyright 2008-2009 The Horde Project +# This file is distributed under the same license as the Kronolith package. +# Euskal Herriko Unibertsitatea EHU/UPV , 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith H3 (2.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:29+0200\n" +"Last-Translator: Euskal Herriko Unibertsitatea EHU/UPV \n" +"Language-Team: Euskal Herriko Unibertsitatea EHU/UPV \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/calendars/search.inc:16 +#, php-format +msgid "%d calendars found" +msgstr "%d egutegi aurkitu dira" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d gertaera" + +#: templates/edit/edit_timespan.inc:121 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s egun %s ordu %s minutu" + +#: lib/Driver.php:2039 +#, php-format +msgid "%s attendees" +msgstr "%s parte-hartzaile" + +#: data.php:296 +#, php-format +msgid "%s file successfully imported" +msgstr "%s fitxategi ondo inportatu dira" + +#: calendars.php:105 lib/base.php:138 +#, php-format +msgid "%s's Calendar" +msgstr "%s(r)en Egutegia" + +#: templates/calendars/search.inc:17 +msgid "" +"(Click on calendar name to switch the calendar's visibility in the main " +"window)" +msgstr "" +"(Egin klik egutegiaren izenean leiho nagusian izango duen ikusgaitasuna " +"aldatzeko)" + +#: templates/contacts/contacts.inc:165 +msgid "* Add these by clicking Add *" +msgstr "* Gehitu hauek Gehitu sakatuz *" + +#: templates/contacts/contacts.inc:151 +msgid "* Please select address(es) *" +msgstr "* Hautatu helbidea(k) *" + +#: lib/Driver.php:2038 +msgid "1 attendee" +msgstr "1. partehartzailea" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1. gertaera" + +#: config/prefs.php.dist:138 +msgid "1 hour" +msgstr "1 ordu" + +#: config/prefs.php.dist:135 +msgid "15 minutes" +msgstr "15 minutu" + +#: config/prefs.php.dist:136 +msgid "20 minutes" +msgstr "20 minutu" + +#: config/prefs.php.dist:137 +msgid "30 minutes" +msgstr "30 minutu" + +#: templates/edit/edit.inc:171 +msgid "Attendees (optional)" +msgstr "Parte-hartzaileak (aukerakoa)" + +#: templates/edit/edit.inc:149 +msgid "Descri_ption (optional)" +msgstr "_Azalpena (aukerakoa)" + +#: templates/edit/edit.inc:275 +msgid "Keywords (optional)" +msgstr "Gako-hitzak (aukerakoa)" + +#: templates/edit/edit.inc:194 +msgid "Recurrence (optional)" +msgstr "Errepikatzea (aukerakoa)" + +#: templates/data/export.inc:113 templates/data/export.inc:193 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:694 +msgid "Accepted" +msgstr "Onartua" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "_Bilaketa aurreratua" + +#: templates/contacts/contacts.inc:160 +msgid "Add" +msgstr "Gehitu" + +#: templates/edit/edit.inc:26 +msgid "Add Event" +msgstr "Gehitu gertaera" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Gehitu urruneko egutegi berria" + +#: addevent.php:64 +msgid "Add a new event" +msgstr "Gehitu gertaera berria" + +#: templates/attendees/attendees.inc:71 +msgid "Add attendees" +msgstr "Gehitu parte-hartzaileak" + +#: templates/contacts/contacts.inc:185 +msgid "Add to attendees" +msgstr "Gehitu parte-hartzaileetan" + +#: contacts.php:76 templates/contacts/contacts.inc:128 +#: templates/attendees/attendees.inc:74 +msgid "Address Book" +msgstr "Helbide-liburua" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Bilaketa aurreratua" + +#: templates/view/view.inc:53 +msgid "Alarm" +msgstr "Alarma" + +#: lib/Driver.php:2014 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarma %d egun lehenago" + +#: lib/Driver.php:2019 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarma %d ordu lehenago" + +#: lib/Driver.php:2024 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarma %d minutu lehenago" + +#: lib/Driver.php:2009 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarma %d aste lehenago" + +#: lib/Driver.php:2013 +msgid "Alarm 1 day before" +msgstr "Alarma egun 1 lehenago" + +#: lib/Driver.php:2018 +msgid "Alarm 1 hour before" +msgstr "Alarma ordu 1 lehenago" + +#: lib/Driver.php:2023 +msgid "Alarm 1 minute before" +msgstr "Alarma minutu 1 lehenago" + +#: lib/Driver.php:2008 +msgid "Alarm 1 week before" +msgstr "Alarma aste 1 lehenago" + +#: data.php:59 +msgid "Alarm Date" +msgstr "Alarma-data" + +#: data.php:58 +msgid "Alarm Span (minutes)" +msgstr "Alarma-bitartea (minutuak)" + +#: data.php:60 +msgid "Alarm Time" +msgstr "Alarma-ordua" + +#: templates/delete/delete.inc:34 +msgid "All" +msgstr "Denak" + +#: lib/FBView.php:128 lib/FBView.php:131 lib/FBView.php:134 +msgid "All Attendees" +msgstr "Parte-hartzaile guztiak" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Etorkizuneko guztiak" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Lehenaldiko guztiak" + +#: lib/Block/prevmonthlist.php:27 lib/Block/summary.php:25 +#: lib/Block/monthlist.php:30 lib/Block/month.php:24 +msgid "All Visible" +msgstr "Denak ikusgai" + +#: lib/WeekView.php:127 lib/WeekView.php:134 lib/DayView.php:90 +#: lib/DayView.php:93 lib/Driver.php:2100 templates/edit/edit_timespan.inc:120 +msgid "All day" +msgstr "Egun osokoa" + +#: lib/Block/summary.php:164 +msgid "All day event" +msgstr "Egun osoko gertaera" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Gertaera guztiak" + +#: lib/Kronolith.php:787 templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 +msgid "Any" +msgstr "Edozein" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Apirila" + +#: templates/edit/edit_timespan.inc:38 templates/edit/edit_timespan.inc:91 +#: templates/data/export.inc:82 templates/data/export.inc:168 +msgid "At" +msgstr "Ordua" + +#: lib/Kronolith.php:1163 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"iCalendar fitxategi bat eransten da, gertaerari buruzko informazio " +"gehiagorekin. Zure posta-bezeroak iTip eskaerak onartzen baditu, fitxategi " +"hau erabil dezakezu gertaeraren zure kopia lokala erraz eguneratzeko." + +#: templates/attendees/attendees.inc:42 templates/view/view.inc:165 +msgid "Attendance" +msgstr "Parte-hartzea" + +#: templates/view/view.inc:161 +msgid "Attendees" +msgstr "Parte-hartzaileak" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Abuztua" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "Oinarrizko bilaketa" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Jaioteguna" + +#: lib/FBView.php:90 lib/FBView.php:111 +msgid "Busy" +msgstr "Lanpetuta" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "E_gutegia" + +#: templates/edit/edit.inc:51 +msgid "Cal_endar" +msgstr "_Egutegia" + +#: lib/Block/prevmonthlist.php:21 lib/Block/summary.php:22 +#: lib/Block/monthlist.php:21 lib/Block/month.php:21 +#: templates/calendars/calendars.inc:150 +msgid "Calendar" +msgstr "Egutegia" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Egutegiaren laburpena" + +#: data.php:240 +msgid "Calendar successfully purged." +msgstr "Egutegia ondo purgatu da." + +#: config/prefs.php.dist:36 config/prefs.php.dist:43 config/prefs.php.dist:50 +#: config/prefs.php.dist:57 +msgid "Calendars" +msgstr "Egutegiak" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Egutegiek izen bat eduki behar dute." + +#: data.php:256 +msgid "Can't create a new event." +msgstr "Ezin da gertaera berria sortu." + +#: templates/edit/edit.inc:35 templates/edit/edit.inc:308 +#: templates/delete/one.inc:33 templates/delete/delete.inc:35 +msgid "Cancel" +msgstr "Utzi" + +#: lib/Kronolith.php:670 +msgid "Cancelled" +msgstr "Bertan behera utzita" + +#: lib/Kronolith.php:1137 +#, php-format +msgid "Cancelled: %s" +msgstr "Bertan behera utzita: %s" + +#: templates/edit/edit.inc:69 templates/search/search_advanced.inc:63 +msgid "Categor_y" +msgstr "_Kategoria" + +#: data.php:62 templates/search/event_headers.inc:4 templates/view/view.inc:13 +msgid "Category" +msgstr "Kategoria" + +#: config/prefs.php.dist:280 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Aukeratu gertaera berrien, editatuen eta ezabatuen berri posta elektronikoz " +"ematea nahi duzun ala ez:" + +#: config/prefs.php.dist:52 +msgid "Choose if you want to be notified of new, edited, and deleted events." +msgstr "" +"Aukeratu gertaera berrien, editatuen eta ezabatuen berri ematea nahi duzun " +"ala ez." + +#: config/prefs.php.dist:293 +msgid "Choose if you want to receive email reminders for events with alarms:" +msgstr "" +"Aukeratu gertaeren posta-oroigarriak alarmarekin jaso nahi dituzun ala ez:" + +#: templates/prefs/search_abook_select.inc:19 config/prefs.php.dist:313 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "Aukeratu libre/lanpetuta URLak bilatzeko helbide-liburuak:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Aukeratu libre/lanpetuta informazioan sartu beharreko egutegiak:" + +#: config/prefs.php.dist:336 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "Aukeratu libre/lanpetuta URLak sortzean sartu beharreko egutegiak:" + +#: config/prefs.php.dist:38 +msgid "Choose your default calendar." +msgstr "Aukeratu egutegi lehenetsia." + +#: templates/attendees/attendees.inc:85 +msgid "Clear all attendees" +msgstr "Garbitu parte-hartzaile guztiak" + +#: templates/contacts/contacts.inc:186 +msgid "Close window" +msgstr "Itxi leihoa" + +#: data.php:28 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Komaz bereizitako balioak" + +#: config/prefs.php.dist:74 +msgid "Confirm deletion of events?" +msgstr "Gertaerak ezabatzea berretsi?" + +#: lib/Kronolith.php:667 +msgid "Confirmed" +msgstr "Berretsita" + +#: templates/calendars/calendars.inc:220 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" +"Kopiatu beheko URLa zure libre/lanpetuta URLa behar duzunean erabiltzeko:" + +#: lib/Kronolith.php:168 +#, php-format +msgid "Could not open %s." +msgstr "Ezin izan da %s ireki." + +#: templates/calendars/calendars.inc:129 +msgid "Create" +msgstr "Sortu" + +#: templates/calendars/calendars.inc:115 +msgid "Create Calendar" +msgstr "Sortu egutegia" + +#: month.php:164 lib/DayView.php:90 lib/DayView.php:192 +#: templates/week/head.inc:25 +msgid "Create a New Event" +msgstr "Sortu gertaera berria" + +#: templates/view/view.inc:80 +msgid "Created" +msgstr "Sortua" + +#: templates/delete/delete.inc:32 +msgid "Current" +msgstr "Unekoa" + +#: templates/edit/edit.inc:208 templates/view/view.inc:112 +msgid "Daily: Recurs every" +msgstr "Egunero: Errepikatu:" + +#: attendees.php:112 lib/Kronolith.php:1431 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:83 +msgid "Day" +msgstr "Eguna" + +#: templates/edit/edit.inc:139 templates/view/view.inc:62 +msgid "Day(s)" +msgstr "egun" + +#: viewevent.php:113 +msgid "De_lete" +msgstr "E_zabatu" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Abendua" + +#: lib/Kronolith.php:697 +msgid "Declined" +msgstr "Ukatua" + +#: config/prefs.php.dist:37 +msgid "Default Calendar" +msgstr "Egutegi lehenetsia" + +#: lib/Driver.php:2082 templates/calendars/calendars.inc:205 +#: templates/delete/one.inc:32 templates/prefs/remote_cal_management.inc:23 +msgid "Delete" +msgstr "Ezabatu" + +#: delevent.php:40 lib/Driver.php:2081 templates/delete/one.inc:21 +#: templates/delete/delete.inc:21 +#, php-format +msgid "Delete %s" +msgstr "Ezabatu %s" + +#: editevent.php:72 +msgid "Delete Event" +msgstr "Ezabatu gertaera" + +#: templates/delete/delete.inc:30 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Uneko gertaera bakarrik ezabatu, agerraldi hau eta etorkizuneko guztiak " +"ezabatu, ala agerraldi guztiak ezabatu?" + +#: templates/search/search_advanced.inc:103 templates/search/search.inc:28 +msgid "Descri_ption" +msgstr "_Azalpena" + +#: data.php:61 templates/calendars/calendars.inc:179 +#: templates/view/view.inc:96 +msgid "Description" +msgstr "Azalpena" + +#: templates/contacts/contacts.inc:174 +msgid "Display" +msgstr "Bistaratu" + +#: templates/calendars/calendars.inc:61 +msgid "Display Calendars" +msgstr "Erakutsi egutegiak" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:28 +msgid "Display Options" +msgstr "Bistaratzeko aukerak" + +#: config/prefs.php.dist:30 +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "Egin beharreko egutegiko zereginak bistaratu nahi dituzu?" + +#: lib/Kronolith.php:637 +msgid "Does not recur" +msgstr "Ez da errepikatzen" + +#: lib/Kronolith.php:333 +#, php-format +msgid "Due: %s" +msgstr "Mugaeguna: %s" + +#: templates/edit/edit_timespan.inc:113 +msgid "Duration" +msgstr "Iraupena" + +#: lib/Driver.php:2068 templates/calendars/calendars.inc:174 +msgid "Edit" +msgstr "Editatu" + +#: editevent.php:33 lib/Driver.php:2067 templates/edit/edit.inc:26 +#, php-format +msgid "Edit %s" +msgstr "Editatu %s" + +#: templates/edit/edit.inc:187 +msgid "Edit Attendees" +msgstr "Editatu parte-hartzaileak" + +#: templates/calendars/calendars.inc:144 +msgid "Edit Calendars" +msgstr "Editatu egutegiak" + +#: config/prefs.php.dist:251 +msgid "Edit Remote Calendars" +msgstr "Editatu urruneko egutegiak" + +#: attendees.php:164 +msgid "Edit attendees" +msgstr "Editatu parte-hartzaileak" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Editatu kategoriak eta koloreak" + +#: templates/contacts/contacts.inc:177 templates/attendees/attendees.inc:41 +#: templates/view/view.inc:164 +msgid "Email Address" +msgstr "Helbide elektronikoa" + +#: templates/edit/edit_timespan.inc:59 +msgid "En_d" +msgstr "A_maitu" + +#: data.php:56 +msgid "End Date" +msgstr "Amaiera-data" + +#: templates/search/event_headers.inc:8 templates/data/export.inc:120 +#: templates/view/view.inc:47 +msgid "End On" +msgstr "Amaitu" + +#: data.php:57 +msgid "End Time" +msgstr "Amaiera-ordua" + +#: attendees.php:156 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Errorea gertatu da %s(r)en libre/lanpetuta informazioa eskuratzean: %s" + +#: attendees.php:137 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Errorea gertatu da zure libre/lanpetuta informazioa eskuratzean: %s" + +#: lib/Kronolith.php:1230 +msgid "Event added:" +msgstr "Gertaera gehitu da:" + +#: lib/Kronolith.php:1240 +msgid "Event deleted:" +msgstr "Gertaera ezabatu da:" + +#: lib/Kronolith.php:1235 +msgid "Event edited:" +msgstr "Gertaera editatu da:" + +#: lib/Driver.php:1303 +#, php-format +msgid "Event from %s to %s" +msgstr "Gertaera: %s - %s" + +#: lib/Driver/sql.php:375 +msgid "Event not found" +msgstr "Gertaera ez da aurkitu" + +#: lib/Driver.php:986 +msgid "Events must have a start date." +msgstr "Gertaerek hasiera-data eduki behar dute." + +#: lib/Driver.php:948 +msgid "Events must have a title." +msgstr "Gertaerek izenburua eduki behar dute." + +#: templates/attendees/attendees.inc:75 +msgid "Expand Names" +msgstr "Zabaldu izenak" + +#: templates/data/export.inc:199 +msgid "Export" +msgstr "Esportatu" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Esportatu egutegia" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Otsaila" + +#: templates/contacts/contacts.inc:133 +msgid "Find" +msgstr "Bilatu" + +#: year.php:84 lib/Block/month.php:105 templates/edit/edit.inc:221 +#: templates/javascript/goto.js:63 +msgid "Fr" +msgstr "Or" + +#: lib/Kronolith.php:673 +msgid "Free" +msgstr "Libre" + +#: config/prefs.php.dist:58 +msgid "Free/Busy Information" +msgstr "Libre/lanpetuta informazioa" + +#: templates/edit/javascript.inc:71 templates/view/view.inc:119 +#: templates/month/head.inc:20 +msgid "Friday" +msgstr "ostirala" + +#: templates/delete/delete.inc:33 +msgid "Future" +msgstr "Etorkizunekoa" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Game" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Orokorra" + +#: lib/Block/summary.php:140 +#, php-format +msgid "Goto %s" +msgstr "Joan %s(e)ra" + +#: month.php:137 templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 +msgid "Hide" +msgstr "Ezkutatu" + +#: month.php:137 templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 +#, php-format +msgid "Hide %s" +msgstr "Ezkutatu %s" + +#: templates/edit/edit.inc:138 templates/view/view.inc:65 +msgid "Hour(s)" +msgstr "ordu" + +#: config/prefs.php.dist:134 +msgid "How long should the time slots on the day and week views be?" +msgstr "Eguneko eta asteko ikuspegietako ordu-tokien luzera?" + +#: config/prefs.php.dist:302 +msgid "How many days of free/busy information should we generate?" +msgstr "eguneko libre/lanpetuta informazioa sortu" + +#: lib/Kronolith.php:1167 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s" +msgstr "" +"Zure posta-bezeroak ez baditu iTip eskaerak onartzen, ondoko esteketako bat " +"erabil dezakezu gertaera onartu edo ukatzeko.\n" +"\n" +"Gertaera onartzeko:\n" +"%s\n" +"\n" +"Gertaera behin-behinean onartzeko:\n" +"%s\n" +"\n" +"Gertaera ukatzeko:\n" +"%s" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Inportatu egutegia. %d urratsa" + +#: data.php:302 +msgid "Import/Export Calendar" +msgstr "Inportatu/esportatu egutegia" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Urtarrila" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Uztaila" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Ekaina" + +#: data.php:64 templates/view/view.inc:142 +msgid "Keywords" +msgstr "Gako-hitzak" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Azken 24 orduak" + +#: templates/view/view.inc:87 +msgid "Last Modified" +msgstr "Aldatze-data" + +#: templates/month/head_side_by_side.inc:4 +#: templates/month/head_side_by_side.inc:10 +#: templates/month/head_side_by_side.inc:16 templates/month/head.inc:4 +msgid "Last Month" +msgstr "Azken hilabetea" + +#: templates/year/head.inc:4 +msgid "Last Year" +msgstr "Azken urtea" + +#: templates/week/head.inc:3 templates/search/search.inc:54 +msgid "Last week" +msgstr "Azken astea" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Mugatu esportatzeko denbora-bitartea:" + +#: config/prefs.php.dist:327 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Zerrendatu kontaktu guztiak kontaktuen pantaila kargatzean? (desgaituz gero, " +"esplizituki bilatutako kontaktuak bakarrik ikusiko dituzu)" + +#: templates/edit/edit.inc:76 templates/search/search_advanced.inc:85 +msgid "Lo_cation" +msgstr "_Kokalekua" + +#: data.php:63 lib/Driver.php:2121 templates/search/event_headers.inc:5 +#: templates/view/view.inc:21 templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 +msgid "Location" +msgstr "Kokalekua" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Kudeatu urruneko egutegiak." + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Martxoa" + +#: lib/api.php:101 +msgid "Maximum Number of Events" +msgstr "Gertaeren gehienezko kopurua" + +#: lib/Block/monthlist.php:27 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Bistaratu beharreko gertaeren gehienezko kopurua (0 = mugarik ez)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Maiatza" + +#: lib/Driver.php:2118 +msgid "Me" +msgstr "Ni" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Bilera" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Alarmak" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menu-zerrenda" + +#: templates/edit/edit.inc:137 templates/view/view.inc:68 +msgid "Minute(s)" +msgstr "minutu" + +#: year.php:80 lib/Block/month.php:105 templates/edit/edit.inc:217 +#: templates/javascript/goto.js:59 +msgid "Mo" +msgstr "Al" + +#: templates/edit/javascript.inc:67 templates/view/view.inc:115 +#: templates/month/head.inc:16 config/prefs.php.dist:107 +msgid "Monday" +msgstr "astelehena" + +#: lib/Kronolith.php:1434 lib/Block/tree_menu.php:24 config/prefs.php.dist:86 +msgid "Month" +msgstr "Hilabetea" + +#: lib/Block/month.php:3 +msgid "Month View" +msgstr "Hileko ikuspegia" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Monthly Events List" +msgstr "Hileko gertaeren zerrenda" + +#: templates/edit/edit.inc:228 templates/edit/edit.inc:234 +#: templates/view/view.inc:124 templates/view/view.inc:126 +msgid "Monthly: Recurs every" +msgstr "Hilero: Errepikatu" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Datozen hilabeteak" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Aurreko hilabeteak" + +#: lib/api.php:624 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"iCalendar osagai bat baino gehiago aurkitu dira; vEvent bakarra onartzen da." + +#: calendars.php:128 templates/calendars/calendars.inc:68 +msgid "My Calendars" +msgstr "Nire egutegiak" + +#: templates/menu.inc:34 templates/menu.inc:36 +msgid "My Calendars:" +msgstr "Nire egutegiak:" + +#: templates/calendars/calendars.inc:216 +msgid "My Free/Busy URL" +msgstr "Nire libre/lanpetuta URLa" + +#: templates/contacts/contacts.inc:176 templates/calendars/calendars.inc:120 +#: templates/calendars/calendars.inc:163 +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +msgid "Name" +msgstr "Izena" + +#: lib/Block/tree_menu.php:20 lib/Block/summary.php:41 +#: lib/Block/monthlist.php:47 lib/Block/month.php:41 +msgid "New Event" +msgstr "Gertaera berria" + +#: lib/base.php:173 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Egutegi berria sortu da, eta automatikoki partekatu da ondoko taldeekin: %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Hurrengoa" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Hurrengo 24 orduak" + +#: lib/FBView/day.php:29 +msgid "Next Day" +msgstr "Hurrengo eguna" + +#: templates/month/head_side_by_side.inc:6 +#: templates/month/head_side_by_side.inc:12 +#: templates/month/head_side_by_side.inc:18 templates/month/head.inc:6 +msgid "Next Month" +msgstr "Hurrengo hilabetea" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Hurrengo astea" + +#: templates/year/head.inc:6 +msgid "Next Year" +msgstr "Hurrengo urtea" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Hurrengo eguna" + +#: templates/week/head.inc:5 templates/search/search.inc:58 +msgid "Next week" +msgstr "Hurrengo astea" + +#: config/prefs.php.dist:276 config/prefs.php.dist:289 +msgid "No" +msgstr "Ez" + +#: templates/edit/edit.inc:126 templates/view/view.inc:73 +msgid "No alarm" +msgstr "Alarmarik ez" + +#: templates/attendees/attendees.inc:48 +msgid "No attendees" +msgstr "Parte-hartzailerik ez" + +#: lib/api.php:762 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Ez da parte-hartzailerik eguneratu, emandako helbide elektronikoak ez " +"direlako aurkitu gertaeraren parte-hartzaileen zerrendan." + +#: lib/Kronolith.php:1450 +msgid "No calendars are available to guests." +msgstr "Ez dago egutegi erabilgarririk gonbidatuentzat." + +#: templates/edit/edit.inc:254 templates/view/view.inc:136 +msgid "No end date" +msgstr "Ez dago amaiera-datarik" + +#: lib/Block/prevmonthlist.php:164 lib/Block/summary.php:194 +#: lib/Block/monthlist.php:174 +msgid "No events to display" +msgstr "Ez dago gertaerarik bistaratzeko" + +#: lib/Kronolith.php:1053 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" +"Ez da libre/lanpetuta informaziorik aurkitu %s(r)en libre/lanpetuta URLean." + +#: lib/Storage/kolab.php:54 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Ez dago %s(r)en libre/lanpetuta informazio erabilgarririk." + +#: lib/Kronolith.php:1054 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Ez da %s(r)en libre/lanpetuta URLa aurkitu." + +#: lib/api.php:365 lib/api.php:381 lib/api.php:614 +msgid "No iCalendar data was found." +msgstr "Ez da aurkitu iCalendar daturik." + +#: templates/edit/edit.inc:203 +msgid "No recurrence" +msgstr "Errepikatzerik ez" + +#: lib/Kronolith.php:1000 +msgid "No valid email address found" +msgstr "Ez da baliozko helbide elektronikorik aurkitu" + +#: lib/Kronolith.php:704 lib/Kronolith.php:725 +msgid "None" +msgstr "Bat ere ez" + +#: lib/Storage/sql.php:145 +msgid "Not found" +msgstr "Ez da aurkitu" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Jakinarazpenak" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Azaroa" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Orain" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Urria" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:64 +msgid "On" +msgstr "Data" + +#: config/prefs.php.dist:279 config/prefs.php.dist:292 +msgid "On all calendars I have read access to" +msgstr "Irakurtzeko baimena dudan egutegi guztietan" + +#: config/prefs.php.dist:278 config/prefs.php.dist:291 +msgid "On all shown calendars" +msgstr "Erakutsitako egutegi guztietan" + +#: config/prefs.php.dist:277 config/prefs.php.dist:290 +msgid "On my calendars only" +msgstr "Nire egutegietan bakarrik" + +#: lib/Kronolith.php:722 +msgid "Optional" +msgstr "Aukerakoa" + +#: lib/FBView.php:119 +msgid "Optional Attendees" +msgstr "Aukerako parte-hartzaileak" + +#: lib/FBView.php:154 +msgid "Overview" +msgstr "Aurkezpen orokorra" + +#: templates/view/view.inc:34 +msgid "Owner" +msgstr "Jabea" + +#: lib/Driver.php:2117 +#, php-format +msgid "Owner: %s" +msgstr "Jabea: %s" + +#: templates/data/export.inc:114 templates/data/export.inc:194 +msgid "PM" +msgstr "PM" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Past Events List" +msgstr "Lehenaldiko gertaeren zerrenda" + +#: templates/edit/edit.inc:198 templates/view/view.inc:109 +msgid "Pattern" +msgstr "Eredua" + +#: templates/delete/one.inc:30 +msgid "Permanently delete this event?" +msgstr "Gertaera hau betiko ezabatu?" + +#: lib/api.php:344 lib/api.php:422 lib/api.php:475 lib/api.php:564 +#: lib/api.php:596 lib/api.php:682 lib/api.php:738 +msgid "Permission Denied" +msgstr "Baimena ukatu da" + +#: templates/calendars/calendars.inc:171 +msgid "Permissions" +msgstr "Baimenak" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Atariaren aukerak" + +#: lib/FBView/day.php:25 +msgid "Previous Day" +msgstr "Aurreko eguna" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Aurreko astea" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Aurreko eguna" + +#: templates/edit/edit.inc:251 templates/view/view.inc:135 +msgid "Recur Until" +msgstr "Noiz arte errepikatu" + +#: templates/view/view.inc:106 +msgid "Recurrence" +msgstr "Errepikatzea" + +#: data.php:68 +msgid "Recurrence Data" +msgstr "Errepikatze-datuak" + +#: data.php:66 +msgid "Recurrence End Date" +msgstr "Errepikatzearen amaiera-data" + +#: data.php:67 +msgid "Recurrence Interval" +msgstr "Errepikatzearen bitartea" + +#: data.php:65 +msgid "Recurrence Type" +msgstr "Errepikatze mota" + +#: lib/Kronolith.php:640 +msgid "Recurs daily" +msgstr "Errepikatu egunero" + +#: lib/Kronolith.php:647 +msgid "Recurs monthly" +msgstr "Errepikatu hilero" + +#: lib/Kronolith.php:643 +msgid "Recurs weekly" +msgstr "Errepikatu astero" + +#: lib/Kronolith.php:650 +msgid "Recurs yearly" +msgstr "Errepikatu urtero" + +#: lib/Scheduler/kronolith.php:215 +#, php-format +msgid "Reminder: %s" +msgstr "Abisua: %s" + +#: templates/calendars/calendars.inc:92 config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Urruneko egutegiak" + +#: templates/menu.inc:60 templates/menu.inc:62 +msgid "Remote Calendars:" +msgstr "Urruneko egutegiak:" + +#: templates/calendars/calendars.inc:195 +msgid "Remote Subscription URL" +msgstr "Urruneko harpidetzaren URLa" + +#: templates/contacts/contacts.inc:161 +msgid "Remove" +msgstr "Kendu" + +#: templates/attendees/attendees.inc:51 +#, php-format +msgid "Remove %s" +msgstr "Kendu %s" + +#: attendees.php:106 +msgid "Remove Attendee" +msgstr "Kendu parte-hartzailea" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Ordeztu lehendik dagoen egutegia inportatutakoarekin? Kontuz: Uneko " +"egutegiko sarrera guztiak ezabatuko ditu." + +#: lib/Kronolith.php:729 +msgid "Required" +msgstr "Beharrezkoa" + +#: lib/FBView.php:98 lib/FBView.php:139 lib/FBView.php:142 lib/FBView.php:145 +msgid "Required Attendees" +msgstr "Beharrezko parte-hartzaileak" + +#: templates/edit/edit.inc:36 templates/edit/edit.inc:309 +msgid "Reset to Defaults" +msgstr "Berrezarri lehenetsiak" + +#: templates/attendees/attendees.inc:43 templates/view/view.inc:166 +msgid "Response" +msgstr "Erantzuna" + +#: year.php:85 lib/Block/month.php:105 templates/edit/edit.inc:222 +#: templates/javascript/goto.js:64 +msgid "Sa" +msgstr "Lr" + +#: templates/edit/javascript.inc:72 templates/view/view.inc:120 +#: templates/month/head.inc:21 +msgid "Saturday" +msgstr "larunbata" + +#: templates/calendars/calendars.inc:204 +msgid "Save" +msgstr "Gorde" + +#: editevent.php:49 editevent.php:57 viewevent.php:135 +msgid "Save As New" +msgstr "Gorde berri gisa" + +#: templates/attendees/attendees.inc:83 +msgid "Save Attendees" +msgstr "Gorde parte-hartzaileak" + +#: addevent.php:55 editevent.php:52 +msgid "Save Event" +msgstr "Gorde gertaera" + +#: templates/attendees/attendees.inc:84 +msgid "Save and Finish" +msgstr "Gorde eta amaitu" + +#: search.php:91 lib/Block/tree_menu.php:26 +#: templates/contacts/contacts.inc:145 +#: templates/search/search_advanced.inc:114 templates/search/search.inc:67 +#: templates/calendars/search.inc:8 +msgid "Search" +msgstr "Bilatu" + +#: templates/calendars/search.inc:1 +msgid "Search Calendars" +msgstr "Bilatu egutegietan" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Bilaketaren emaitza" + +#: templates/calendars/search.inc:6 +msgid "Search for calendars containing:" +msgstr "Bilatu hau daukaten egutegiak:" + +#: templates/calendars/calendars.inc:154 +msgid "Select a calendar to edit" +msgstr "Hautatu egutegi bat editatzeko" + +#: templates/edit/edit.inc:266 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:81 +msgid "Select a date" +msgstr "Hautatu data" + +#: templates/menu.inc:30 +msgid "Select calendars to display:" +msgstr "Hautatu egutegiak bistaratzeko:" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Hautatu berrespen-aukerak, ikuspegiak bistaratzeko moduak eta aukeratu " +"ikuspegi lehenetsia." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Hautatu inportaziorako egutegia:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Hautatu esportaziorako egutegia(k)" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Hautatu esportazio-formatua:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Hautatu inportatu beharreko fitxategia:" + +#: config/prefs.php.dist:105 +msgid "Select the first weekday:" +msgstr "Hautatu lehen asteguna:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Hautatu iturburu-fitxategiaren formatua:" + +#: config/prefs.php.dist:185 +msgid "Select the time span to show:" +msgstr "Hautatu bistaratzeko denbora-bitartea:" + +#: config/prefs.php.dist:87 +msgid "Select the view to display on startup:" +msgstr "Hautatu abioan bistaratzeko ikuspegia:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Hautatu atarian ikusteko gertaerak." + +#: templates/delete/one.inc:27 templates/delete/delete.inc:27 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"Bidali bertan behera utzi dela esateko jakinarazpena parte-hartzaile guztiei " +"gertaera hau ezabatzean." + +#: templates/view/view.inc:170 +#, php-format +msgid "Send an email to %s" +msgstr "Bidali mezua -> %s" + +#: templates/edit/edit.inc:181 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"Bidali eguneratzeak/gonbidapenak parte-hartzaile guztiei gertaera hau " +"gordetzean" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Iraila" + +#: templates/edit/edit_timespan.inc:81 +msgid "Set end date" +msgstr "Ezarri amaiera-data" + +#: templates/edit/edit.inc:266 +msgid "Set recurrence end date" +msgstr "Ezarri errepikatzearen amaiera-data" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "Ezarri hasiera-data" + +#: config/prefs.php.dist:59 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" +"Ezarri zure libre/lanpetuta egutegiak eta zure eta beste erabiltzaileen " +"libre/lanpetuta aukerak." + +#: calendars.php:77 +#, php-format +msgid "Share not found: %s" +msgstr "Ez da aurkitu elementu partekatua: %s" + +#: templates/calendars/calendars.inc:80 +msgid "Shared Calendars" +msgstr "Egutegi partekatuak" + +#: templates/menu.inc:47 templates/menu.inc:49 +msgid "Shared Calendars:" +msgstr "Egutegi partekatuak:" + +#: calendar_search.php:25 templates/week/head_side_by_side.inc:3 +#: templates/day/head_side_by_side.inc:3 +msgid "Show Calendar" +msgstr "Erakutsi egutegia" + +#: config/prefs.php.dist:157 +msgid "Show category legend?" +msgstr "Erakutsi kategoriaren legenda?" + +#: config/prefs.php.dist:147 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"Erakutsi ezabatzearen, alarmaren eta errepikapenaren ikonoak egutegiaren " +"ikuspegietan?" + +#: config/prefs.php.dist:213 +msgid "Show due tasks in the calendar?" +msgstr "Erakutsi zeregin burutu gabeak egutegian?" + +#: config/prefs.php.dist:167 +msgid "Show free/busy legend?" +msgstr "Erakutsi libre/lanpetuta legenda?" + +#: config/prefs.php.dist:204 +msgid "Show only events that have an alarm set?" +msgstr "Erakutsi alarma ezarrita daukaten gertaerak bakarrik?" + +#: config/prefs.php.dist:176 +msgid "Show shared calendars side-by-side?" +msgstr "Erakutsi egutegi partekatuak elkarren ondoan?" + +#: config/prefs.php.dist:222 +msgid "Show tasks using category colors?" +msgstr "Erakutsi zereginak kategoria-koloreekin?" + +#: config/prefs.php.dist:96 +msgid "Show time of day between each day in week views?" +msgstr "Erakutsi eguneko ordua egunen artean asteko ikuspegietan?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "_Hasi" + +#: data.php:54 +msgid "Start Date" +msgstr "Hasiera-data" + +#: templates/search/event_headers.inc:7 templates/data/export.inc:37 +#: templates/view/view.inc:41 +msgid "Start On" +msgstr "Hasi" + +#: data.php:55 +msgid "Start Time" +msgstr "Hasiera-ordua" + +#: templates/edit/edit.inc:85 templates/search/search_advanced.inc:94 +msgid "Stat_us" +msgstr "E_goera" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:27 +msgid "Status" +msgstr "Egoera" + +#: year.php:78 year.php:87 lib/Block/month.php:107 lib/Block/month.php:109 +#: templates/edit/edit.inc:223 templates/javascript/goto.js:65 +msgid "Su" +msgstr "Ig" + +#: templates/edit/javascript.inc:66 templates/view/view.inc:121 +#: templates/month/head.inc:14 templates/month/head.inc:23 +#: config/prefs.php.dist:106 +msgid "Sunday" +msgstr "igandea" + +#: config/prefs.php.dist:29 +msgid "Tasks" +msgstr "Zereginak" + +#: lib/Kronolith.php:677 lib/Kronolith.php:700 +msgid "Tentative" +msgstr "Behin-behinekoa" + +#: year.php:83 lib/Block/month.php:105 templates/edit/edit.inc:220 +#: templates/javascript/goto.js:62 +msgid "Th" +msgstr "Og" + +#: data.php:230 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "%s fitxategiak ez dauka gertaerarik." + +#: templates/contacts/contacts.inc:70 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "" +"Parte-hartzaileak editatzeko pantaila jada ez da gehiago agertzen. Irteten." + +#: calendars.php:70 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "\"%s\" egutegia ezin da ezabatu." + +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "\"%s\" egutegia sortu da." + +#: calendars.php:88 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "\"%s\" egutegia ezabatuta dago." + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "\"%s\" egutegiari izena aldatu zaio: \"%s\"." + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "\"%s\" egutegia gordeta dago." + +#: data.php:238 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Egutegia ezin izan da purgatu: %s" + +#: templates/edit/javascript.inc:162 +msgid "The end date must be later than the start date." +msgstr "Amaierako datak hasierakoa baino beranduagokoa izan behar du." + +#: lib/Kronolith.php:1231 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" +"\"%s\" gertaera gehitu zaio \"%s\" egutegiari. Gertaeraren data: %s, lekua: %" +"s." + +#: lib/Kronolith.php:1241 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"\"%s\" gertaera ezabatu da \"%s\" egutegitik. Gertaeraren data: %s, lekua: %" +"s." + +#: lib/Kronolith.php:1236 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"\"%s\" gertaera editatu da \"%s\" egutegian. Gertaeraren data: %s, lekua: %s." + +#: lib/Kronolith.php:1204 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Gertaera-jakinarazpena behar bezala bidali zaio %s(r)i." + +#: lib/Kronolith.php:1161 +msgid "The following is a more detailed description of the event:" +msgstr "Hona hemen gertaerari buruzko xehetasun gehiagoko azalpena:" + +#: lib/Kronolith.php:1020 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Ezin da eskuratu %s(e)ren libre/lanpetuta url-a." + +#: attend.php:41 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Eskaera osatu gabea. Gertaera bat onartzeko edo ukatzeko beharrezkoak diren " +"parametro batzuk falta dira." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Ez dago uneko irizpideak betetzen dituen gertaerarik." + +#: addeventaction.php:18 editeventaction.php:35 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Errorea gertatu da egutegia atzitzean: %s" + +#: addeventaction.php:34 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Errorea gertatu da gertaera gehitzean: %s" + +#: editeventaction.php:82 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Errorea gertatu da gertaera editatzean: %s" + +#: lib/api.php:357 lib/api.php:608 +msgid "There was an error importing the iCalendar data." +msgstr "Errorea gertatu da iCalendar datuak inportatzean." + +#: editeventaction.php:62 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Errorea gertatu da gertaera lekuz aldatzean: %s" + +#: lib/Kronolith.php:1209 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Errorea gertatu da gertaera-jakinarazpena bidaltzean %s(r)i: %s" + +#: data.php:108 +msgid "There were no events to export." +msgstr "Ez dago gertaerarik esportatzeko." + +#: data.php:186 +msgid "This file format is not supported." +msgstr "Fitxategi-formatu hau ez da onartzen." + +#: data.php:258 +#, php-format +msgid "This is what the server said: %s" +msgstr "Hau esan du zerbitzariak: %s" + +#: templates/edit/javascript.inc:70 templates/view/view.inc:118 +#: templates/month/head.inc:19 +msgid "Thursday" +msgstr "osteguna" + +#: templates/search/search.inc:37 +msgid "Time Sp_an" +msgstr "_Denbora-bitartea" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Denbora-bitartea" + +#: templates/edit/edit.inc:42 templates/search/search_advanced.inc:34 +msgid "Tit_le" +msgstr "_Titulua" + +#: data.php:53 templates/search/event_headers.inc:3 +#: templates/search/search.inc:20 +msgid "Title" +msgstr "Titulua" + +#: lib/Block/prevmonthlist.php:122 lib/Block/summary.php:127 +#: lib/Block/monthlist.php:130 +msgid "Today" +msgstr "Gaur" + +#: lib/Block/prevmonthlist.php:124 lib/Block/summary.php:129 +#: lib/Block/monthlist.php:132 +msgid "Tomorrow" +msgstr "Bihar" + +#: year.php:81 lib/Block/month.php:105 templates/edit/edit.inc:218 +#: templates/javascript/goto.js:60 +msgid "Tu" +msgstr "Ar" + +#: templates/edit/javascript.inc:68 templates/view/view.inc:116 +#: templates/month/head.inc:17 +msgid "Tuesday" +msgstr "asteartea" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Mota" + +#: templates/calendars/calendars.inc:187 +msgid "URL" +msgstr "URLa" + +#: lib/Storage/sql.php:64 +msgid "Unable to connect to SQL server." +msgstr "Ezin da SQL zerbitzariarekin konektatu." + +#: calendars.php:84 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Ezin da \"%s\" ezabatu: %s" + +#: lib/Driver.php:182 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Ezin da kargatu %s(r)en definizioa." + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Ezin da aldatu \"%s\" izena: %s." + +#: lib/Storage/kolab.php:44 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Ezin da eskuratu %s(r)en libre/lanpetuta informazioa" + +#: templates/view/view.inc:15 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "Sailkatu gabe" + +#: lib/api.php:388 lib/api.php:446 lib/api.php:507 lib/api.php:633 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Eduki mota hau ez da onartzen: %s" + +#: lib/Kronolith.php:1151 +#, php-format +msgid "Updated: %s." +msgstr "Eguneratuta: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Erabiltzailearen interfazea" + +#: year.php:160 year.php:166 lib/Block/month.php:159 lib/Block/month.php:162 +msgid "View Day" +msgstr "Eguneko ikuspegia" + +#: year.php:82 lib/Block/month.php:105 templates/edit/edit.inc:219 +#: templates/javascript/goto.js:61 +msgid "We" +msgstr "Az" + +#: templates/edit/javascript.inc:69 templates/view/view.inc:117 +#: templates/month/head.inc:18 +msgid "Wednesday" +msgstr "asteazkena" + +#: attendees.php:114 lib/Kronolith.php:1433 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:84 +msgid "Week" +msgstr "Astea" + +#: week.php:34 workweek.php:30 month.php:178 +#, php-format +msgid "Week %d" +msgstr "%d. astea" + +#: templates/edit/edit.inc:140 templates/view/view.inc:59 +msgid "Week(s)" +msgstr "aste" + +#: templates/edit/edit.inc:214 templates/view/view.inc:122 +msgid "Weekly: Recurs every" +msgstr "Astero: Errepikatu:" + +#: config/prefs.php.dist:125 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Zein ordutan amaituko dira eguneko eta asteko ikuspegiak, beranduago " +"gertaerarik ez badago?" + +#: config/prefs.php.dist:116 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Zein ordutan hasiko dira eguneko eta asteko ikuspegiak, goizago gertaerarik " +"ez badago?" + +#: attendees.php:113 lib/Kronolith.php:1432 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:85 +msgid "Work Week" +msgstr "Lan-astea" + +#: lib/Kronolith.php:1435 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Urtea" + +#: templates/edit/edit.inc:240 templates/view/view.inc:128 +msgid "Yearly: Recurs every" +msgstr "Urtero: Errepikatu" + +#: addevent.php:17 data.php:39 data.php:247 editeventaction.php:45 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Ez duzu baimenik %d gertaera baino gehiago sortzeko." + +#: attend.php:49 +msgid "You are not an attendee of the specified event." +msgstr "Ez zara aipatutako gertaerako parte-hartzailea." + +#: templates/contacts/contacts.inc:76 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"Parte-hartzaileak editatzeko pantailatik bakarrik erabil dezakezu inprimaki " +"hau." + +#: lib/Kronolith.php:1104 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Ez daukazu helbide elektronikorik konfiguratuta Informazio pertsonalaren " +"aukeretan. Helbide bat ezarri behar duzu %shemen%s gertaera-jakinarazpenak " +"bidali ahal izateko." + +#: addeventaction.php:20 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Ez duzu baimenik gertaerak gehitzeko hemen: %s." + +#: data.php:195 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Ez duzu baimenik gertaerak gehitzeko hautatutako egutegian." + +#: deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "Ez duzu baimenik gertaera hau ezabatzeko." + +#: editeventaction.php:77 +msgid "You do not have permission to edit this event." +msgstr "Ez duzu baimenik gertaera hau editatzeko." + +#: data.php:192 +msgid "You have specified an invalid calendar." +msgstr "Egutegi baliogabe bat zehaztu duzu." + +#: attend.php:21 +msgid "You have successfully accepted attendence to this event." +msgstr "Behar bezala onartu duzu gertaera honetan parte-hartzea." + +#: attend.php:26 +msgid "You have successfully declined attendence to this event." +msgstr "Behar bezala ukatu duzu gertaera honetan parte-hartzea." + +#: attend.php:31 +msgid "You have tentatively accepted attendence to this event." +msgstr "Behin-behinean onartu duzu gertaera honetan parte-hartzea." + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "Egutegi bat hautatu behar duzu ezabatzeko." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Helbide bat hautatu behar duzu lehendabizi." + +#: templates/calendars/calendars.inc:174 +msgid "You need to select a calendar first" +msgstr "Egutegi bat hautatu behar duzu lehendabizi." + +#: lib/Kronolith.php:1231 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Zure egutegietan gertaerak gehitzen direnean horren berri ematea eskatu " +"zenuen." + +#: lib/Kronolith.php:1241 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Zure egutegietatik gertaerak ezabatzen direnean horren berri ematea eskatu " +"zenuen." + +#: lib/Kronolith.php:1236 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Zure egutegietan gertaerak editatzen direnean horren berri ematea eskatu " +"zenuen." + +#: lib/Scheduler/kronolith.php:219 +#, php-format +msgid "You requested to be reminded about %s, which is on %s at %s." +msgstr "Hau gogoraraztea eskatu zenuen: %s, data: %s, ordua: %s." + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Egutegi lehenetsia" + +#: lib/Driver.php:1290 lib/Driver.php:1300 +msgid "[Unnamed event]" +msgstr "[Izenik gabeko gertaera]" + +#: templates/edit/edit.inc:97 +msgid "_Alarm" +msgstr "_Alarma" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "_Oinarrizko bilaketa" + +#: viewevent.php:137 +msgid "_Edit" +msgstr "E_ditatu" + +#: lib/Kronolith.php:1470 +msgid "_Goto" +msgstr "_Joan" + +#: lib/Kronolith.php:1476 +msgid "_Import/Export" +msgstr "_Inportatu/esportatu" + +#: lib/Kronolith.php:1457 +msgid "_My Calendars" +msgstr "_Nire egutegiak" + +#: lib/Kronolith.php:1464 +msgid "_New Event" +msgstr "N_ire gertaera" + +#: lib/Kronolith.php:1481 +msgid "_Print" +msgstr "I_nprimatu" + +#: lib/Kronolith.php:1472 +msgid "_Search" +msgstr "_Bilatu" + +#: lib/Kronolith.php:1467 +msgid "_Today" +msgstr "_Gaur" + +#: templates/edit/edit.inc:142 +msgid "before the event starts" +msgstr "gertaera hasi aurretik" + +#: config/prefs.php.dist:186 +msgid "day" +msgstr "egun" + +#: templates/edit/edit.inc:209 templates/view/view.inc:112 +msgid "day(s)" +msgstr "egunez" + +#: config/prefs.php.dist:187 config/prefs.php.dist:188 +#: config/prefs.php.dist:189 config/prefs.php.dist:190 +#: config/prefs.php.dist:191 +msgid "days" +msgstr "egun" + +#: data.php:150 templates/data/export.inc:1 +msgid "events.csv" +msgstr "gertaerak.csv" + +#: data.php:170 +msgid "events.ics" +msgstr "gertaerak.ics" + +#: templates/contacts/contacts.inc:136 +msgid "in" +msgstr "- " + +#: templates/edit/edit.inc:229 templates/edit/edit.inc:235 +#: templates/view/view.inc:124 templates/view/view.inc:126 +msgid "month(s)" +msgstr "hilabetez" + +#: lib/Kronolith.php:1157 +#, php-format +msgid "on %s at %s" +msgstr "data : %s, ordua: %s" + +#: templates/edit/edit.inc:229 templates/view/view.inc:124 +msgid "on the same date" +msgstr "egun berean" + +#: templates/edit/edit.inc:235 templates/view/view.inc:126 +msgid "on the same weekday" +msgstr "astegun berean" + +#: data.php:29 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: lib/api.php:619 +msgid "vEvent not found." +msgstr "ez da aurkitu vEvent." + +#: config/prefs.php.dist:192 +msgid "week" +msgstr "aste" + +#: templates/edit/edit.inc:216 templates/view/view.inc:122 +msgid "week(s) on:" +msgstr "astez behin, eguna:" + +#: config/prefs.php.dist:193 config/prefs.php.dist:194 +#: config/prefs.php.dist:195 +msgid "weeks" +msgstr "aste" + +#: templates/edit/edit.inc:241 templates/view/view.inc:128 +msgid "year(s)" +msgstr "urtez" diff --git a/kronolith/po/fi_FI.po b/kronolith/po/fi_FI.po new file mode 100644 index 000000000..71323f2d6 --- /dev/null +++ b/kronolith/po/fi_FI.po @@ -0,0 +1,2557 @@ +# Finnish translation for Kronolith. +# Copyright +# Leena Heino , 2003-2008. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 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 \n" +"Language-Team: Finnish \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " %s saakka" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " ei loppuaikaa" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d tapahtumaa" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d kertaa" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Päivää %s Tuntia %s Minuuttia" + +#: lib/Driver.php:2267 +#, php-format +msgid "%s attendees" +msgstr "%s osallistujaa" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "%s tiedoston tuonti onnistui" + +#: lib/Kronolith.php:364 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "%s:n kalenteri" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Lisää nämä napauttamalla Lisää-painiketta *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Valitse osoitteet *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d kertaa" + +#: lib/Driver.php:2266 +msgid "1 attendee" +msgstr "1 osallistuja" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 tapahtuma" + +#: config/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 tunti" + +#: config/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 minuuttia" + +#: config/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 minuuttia" + +#: config/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 minuuttia" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1169 +msgid "Accepted" +msgstr "Hyväksytty" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "Ta_rkempi haku" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Lisää" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Lisää tapahtuma" + +#: new.php:65 +msgid "Add a new event" +msgstr "Lisää uusi tapahtuma" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Lisää osallistujat" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Lisää lähde" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Lisää osallistujiin" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Osoitekirja" + +#: config/prefs.php.dist:69 +msgid "Address Books" +msgstr "Osoitekirjat" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:10 +msgid "Advanced Search" +msgstr "Tarkempi haku" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Hälytys" + +#: lib/Driver.php:2233 +#, php-format +msgid "Alarm %d days before" +msgstr "Hälytä %d päivää aikaisemmin" + +#: lib/Driver.php:2238 +#, php-format +msgid "Alarm %d hours before" +msgstr "Hälytä %d tuntia aikaisemmin" + +#: lib/Driver.php:2243 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Hälytä %d minuutta aikaisemmin" + +#: lib/Driver.php:2228 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Hälytä %d viikkoa aikaisemmin" + +#: lib/Driver.php:2232 +msgid "Alarm 1 day before" +msgstr "Hälytä 1 päivä aikaisemmin" + +#: lib/Driver.php:2237 +msgid "Alarm 1 hour before" +msgstr "Hälytä 1 tunti aikaisemmin" + +#: lib/Driver.php:2242 +msgid "Alarm 1 minute before" +msgstr "Hälytä 1 minuuttia aikaisemmin" + +#: lib/Driver.php:2227 +msgid "Alarm 1 week before" +msgstr "Hälytä 1 viikko aikaisemmin" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Hälytyspäivämäärä" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Hälytyksen pituus (minuutteina)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Hälytysaika" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "Hälytyksen tyyppi" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "Hälytyksen arvo" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Hälytys on päällä" + +#: templates/edit/edit.inc:39 templates/delete/delete.inc:27 +msgid "All" +msgstr "Kaikki" + +#: lib/FBView.php:129 lib/FBView.php:132 lib/FBView.php:135 +msgid "All Attendees" +msgstr "Kaikki osallistujat" + +#: templates/perms/perms.inc:51 +msgid "All Authenticated Users" +msgstr "Kaikki autentikoituneet käyttäjät" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Kaikki kalenterit" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "Kaikki tulevat" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "Kaikki menneet" + +#: lib/Block/summary.php:28 lib/Block/month.php:24 +#: lib/Block/prevmonthlist.php:27 lib/Block/monthlist.php:30 +msgid "All Visible" +msgstr "Kaikki näkyvät" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2336 +#: lib/Views/Day.php:99 lib/Views/Day.php:102 lib/Views/Week.php:149 +#: lib/Views/Week.php:156 +msgid "All day" +msgstr "Koko päivän" + +#: lib/Block/summary.php:166 +msgid "All day event" +msgstr "Koko päivän tapahtuma" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Kaikki tapahtumat" + +#: lib/api.php:792 lib/api.php:803 +msgid "Already Exists" +msgstr "On jo olemassa" + +#: templates/search/search_advanced.inc:44 +#: templates/search/search_advanced.inc:65 lib/Kronolith.php:1262 +msgid "Any" +msgstr "Mikä tahansa" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "huhtikuu" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "Kello" + +#: lib/Kronolith.php:1442 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Liitteena on iCalendar-tiedosto, jossa on lisätietoja tapahtumasta. Jos " +"sähköpostiohjelmasti tukee iTip pyyntöjä, niin voit tämän tiedoston avulla " +"päivittää tiedoto paikalliseen kopioon." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Yritit muokata olematonta jakoa." + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "Osallistuminen" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "Osallistuja" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "Osallistujat" + +#: lib/Kronolith.php:1436 +#, php-format +msgid "Attendees: %s" +msgstr "Osallistujat: %s" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "elokuu" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Käytettävissä olevat Osoitekirjat:" + +#: templates/search/search_advanced.inc:9 templates/search/search.inc:12 +msgid "Basic Search" +msgstr "Yksinkertainen haku" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Syntymäpäivä" + +#: lib/FBView.php:90 lib/FBView.php:112 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Varattu" + +#: templates/search/search_advanced.inc:37 +msgid "C_alendar" +msgstr "_Kalenteri" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "K_alenteri" + +#: templates/calendar_list.php:22 lib/Block/summary.php:22 +#: lib/Block/month.php:21 lib/Block/prevmonthlist.php:21 +#: lib/Block/monthlist.php:21 +msgid "Calendar" +msgstr "Kalenteri" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Kalenteritietoja" + +#: templates/calendar_list.php:19 +msgid "Calendar List" +msgstr "Kalenterilista" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Kalenterin yhteenveto" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "Kalenterin poisto onnistui." + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:60 +msgid "Calendars" +msgstr "Kalenterit" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Tulostetut kalenterit: " + +#: data.php:270 +msgid "Can't create a new event." +msgstr "Ei voida luoda uutta tapahtumaan." + +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: templates/delete/delete.inc:28 templates/delete/one.inc:25 +#: lib/Forms/DeleteCalendar.php:45 lib/Forms/DeleteCalendar.php:51 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 +msgid "Cancel" +msgstr "Peru" + +#: lib/Kronolith.php:1145 +msgid "Cancelled" +msgstr "Peruttu" + +#: lib/Kronolith.php:1403 +#, php-format +msgid "Cancelled: %s" +msgstr "Peruttu: %s" + +#: lib/Driver/kolab.php:1394 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Ei voida poistaa tapahtumaa: %s" + +#: templates/search/search_advanced.inc:58 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "Kategori_a" + +#: data.php:64 templates/view/view.inc:6 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "Kategoria" + +#: templates/calendar_list.php:54 calendars/index.php:69 +msgid "Change Permissions" +msgstr "Muuta oikeuksia" + +#: config/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Valitse miten haluat saada ilmoitukset tapahtumien muutoksista, tapahtumien " +"hälytyksistä ja tulevista tapahtumista." + +#: config/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "" +"Valitse miten haluat saada muistutuksen tapahtumiin liitetyistä hälytyksistä:" + +#: config/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Valitse haluatko saada ilmoituksia uusista, muokatuista tai poistetuista " +"tapahtumista sähköpostitse:" + +#: config/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Valitse haluatko saada päivittäisiä muistutuksia tapahtumista:" + +#: config/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "" +"Valitse haluatko saada muistutuksen tapahtumiin liitetyistä hälytyksistä:" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "" +"Valitse kalenterit, jotka liitetään yllä olevaan vapaa/varattu URL-" +"osoitteeseen:" + +#: config/prefs.php.dist:440 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "" +"Valitse kalenterit, jotka huomioidaan tehtäessä vapaa/varattu URL-osoitteita:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "Valitse osoitekirjat, joista etsitään laajennettavia osoitteita." + +#: config/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "Valitse mitkä näkymät näytetään tapahtumien paikkatiedot:" + +#: config/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "Valitse miten näytetään alku- ja loppuajat:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Valitse näytettävät vapaapäivät" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Voit valita oletuskalenterisi." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Poista kaikki osallistujat" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Napsauta yhtä valitsemaasi osoitekirjaa ja tämän jälkeen valitse kaikki " +"etsittävät kentät." + +#: templates/calendar_list.php:40 templates/calendar_list.php:41 +#: templates/calendar_list.php:50 templates/calendar_list.php:51 +msgid "Click or copy this URL to display this calendar" +msgstr "Napsauta tai kopioi tämä URL nähdäksesi tämän tehtävälistan" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Sulje" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Sulje ikkuna" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Sulje ikkuna" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Pilkuilla erotetut arvot" + +#: config/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "Varmista tapahtumien poisto." + +#: lib/Kronolith.php:1142 +msgid "Confirmed" +msgstr "Varmistettu" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "" +"Kopioi alla oleva URL sinne minne tarvitset vapaa/varattu URL-osoitetta:" + +#: lib/Kronolith.php:456 +#, php-format +msgid "Could not open %s." +msgstr "Ei voitu aukaista %s." + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Luo" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Luo kalenteri" + +#: templates/week/head.inc:29 lib/Views/Day.php:99 lib/Views/Day.php:261 +#: lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "Luo uusi tapahtuma" + +#: templates/calendar_list.php:10 +msgid "Create a new Local Calendar" +msgstr "Luo uusi paikallinen kalenteri" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Luotu" + +#: templates/edit/edit.inc:37 templates/delete/delete.inc:25 +msgid "Current" +msgstr "Nykyinen" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Päivittäin" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "Päivittäin: Toistuvuuden väli" + +#: attendees.php:196 lib/Kronolith.php:1748 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:90 +msgid "Day" +msgstr "Päivä" + +#: templates/view/view.inc:56 templates/prefs/default_alarm_management.inc:28 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "Päivää" + +#: lib/Kronolith.php:1798 +msgid "De_lete" +msgstr "Po_ista" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "joulukuu" + +#: lib/Kronolith.php:1172 +msgid "Declined" +msgstr "Kieltäytyi" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Oletusasetukset hälytyksille:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Oletuskalenteri" + +#: templates/perms/perms.inc:57 templates/perms/perms.inc:81 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:122 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:163 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:204 +#: templates/perms/perms.inc:245 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:286 templates/perms/perms.inc:320 +msgid "Delegate" +msgstr "Delegoi" + +#: templates/calendar_list.php:56 templates/perms/perms.inc:56 +#: templates/perms/perms.inc:77 templates/perms/perms.inc:97 +#: templates/perms/perms.inc:118 templates/perms/perms.inc:138 +#: templates/perms/perms.inc:159 templates/perms/perms.inc:179 +#: templates/perms/perms.inc:200 templates/perms/perms.inc:241 +#: templates/perms/perms.inc:261 templates/perms/perms.inc:282 +#: templates/perms/perms.inc:316 templates/delete/one.inc:24 +#: lib/Driver.php:1329 lib/Driver.php:2295 lib/Forms/DeleteCalendar.php:45 +#: calendars/index.php:70 +msgid "Delete" +msgstr "Poista" + +#: lib/Driver.php:2294 lib/Views/DeleteEvent.php:29 +#: lib/Forms/DeleteCalendar.php:40 +#, php-format +msgid "Delete %s" +msgstr "Poista %s" + +#: lib/Driver.php:1328 +#, php-format +msgid "Delete exception on %s" +msgstr "Poista poikkus kun %s" + +#: templates/search/search_advanced.inc:101 templates/search/search.inc:27 +#: templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "Ku_vaus" + +#: data.php:63 templates/view/view.inc:155 lib/Forms/CreateCalendar.php:37 +#: lib/Forms/EditCalendar.php:44 +msgid "Description" +msgstr "Kuvaus" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Näytä" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Näkymän asetukset" + +#: templates/calendar_list.php:24 +msgid "Display URL" +msgstr "Näytä URL" + +#: lib/Kronolith.php:1110 +msgid "Does not recur" +msgstr "Ei toistu" + +#: config/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"Älä lähetä minulle ilmoitusta, jos olen lisännyt, muuttanut tai poistanut " +"tapahtuman." + +#: lib/Kronolith.php:674 +#, php-format +msgid "Due: %s" +msgstr "Valmistuu: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Kesto" + +#: lib/Driver.php:2006 +msgid "Duration Day" +msgstr "Kesto päivää" + +#: lib/Driver.php:2018 +msgid "Duration Hour" +msgstr "Kesto tuntia" + +#: lib/Driver.php:2029 +msgid "Duration Minute" +msgstr "Kesto minuuttia" + +#: templates/calendar_list.php:42 templates/calendar_list.php:52 +#: templates/perms/perms.inc:55 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:96 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:137 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:178 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:237 templates/perms/perms.inc:260 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:312 +#: lib/Driver.php:2288 calendars/index.php:68 +msgid "Edit" +msgstr "Muokkaa" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2287 +#: lib/Views/EditEvent.php:29 lib/Forms/EditCalendar.php:40 +#: lib/Forms/EditRemoteCalendar.php:34 +#, php-format +msgid "Edit %s" +msgstr "Muokkaa %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Muokkaa osallistujia" + +#: perms.php:237 +msgid "Edit Permissions" +msgstr "Muokkaa oikeuksia" + +#: perms.php:239 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Muokkaa %s oikeuksia" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Muokkaa osallistujaa" + +#: attendees.php:267 +msgid "Edit attendees" +msgstr "Muokkaa osallistujia" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Muokkaa kategorioita ja värejä" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Muokkaa %s:n oikeuksia" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Sähköpostiosoite" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "Päätty_y" + +#: data.php:58 +msgid "End Date" +msgstr "Päättymispäivämäärä" + +#: templates/data/export.inc:161 lib/Driver.php:1977 +msgid "End Day" +msgstr "Päättymispäivä" + +#: templates/data/export.inc:178 lib/Driver.php:1990 +msgid "End Hour" +msgstr "Päättymistunti" + +#: templates/data/export.inc:190 lib/Driver.php:2001 +msgid "End Minute" +msgstr "Päättymisminuutti" + +#: templates/data/export.inc:148 lib/Driver.php:1968 +msgid "End Month" +msgstr "Päättymiskuukausi" + +#: templates/view/view.inc:41 templates/search/event_headers.inc:8 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "Päättyy" + +#: data.php:59 +msgid "End Time" +msgstr "Päättymisaika" + +#: templates/data/export.inc:134 lib/Driver.php:1957 +msgid "End Year" +msgstr "Päättymisvuosi" + +#: attendees.php:246 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Tapahtui virhe tuotaessa vapaa/varattu-tietoja %s:lle: %s" + +#: attendees.php:223 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Tapahtui virhe haettaessa vapaa/varattu-tietojasi: %s" + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Tapahtumaoletukset" + +#: lib/Kronolith.php:1595 +msgid "Event added:" +msgstr "Tapahtuma lisättiin:" + +#: lib/Kronolith.php:1605 +msgid "Event deleted:" +msgstr "Tapahtuma poistettiin:" + +#: lib/Kronolith.php:1600 +msgid "Event edited:" +msgstr "Tapahtumaa muokattiin:" + +#: lib/Driver.php:1456 +#, php-format +msgid "Event from %s to %s" +msgstr "Tapahtuma alkaen %s loppuen %s" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "Tapahtumaa ei löytynyt" + +#: lib/Driver/kolab.php:453 lib/Driver/kolab.php:1189 +#: lib/Driver/kolab.php:1228 lib/Driver/kolab.php:1372 +#, php-format +msgid "Event not found: %s" +msgstr "Tapahtumaa ei löytynyt: %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:50 +msgid "Events" +msgstr "Tapahtumat" + +#: lib/api.php:279 +#, php-format +msgid "Events from %s" +msgstr "Tapahtumat alkaen %s" + +#: lib/Driver.php:1060 +msgid "Events must have a start date." +msgstr "Tapahtumilla pitää olla alkamisajankohta." + +#: lib/Driver.php:1022 +msgid "Events must have a title." +msgstr "Tapahtumilla pitää olla otsikko" + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "Poikkeukset" + +#: templates/data/export.inc:209 lib/Kronolith.php:1805 +msgid "Export" +msgstr "Vie" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Vie kalenteri" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Ulkoiset tapahtumat:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "helmikuu" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Etsittävät kentät" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Haku" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Views/Year.php:81 lib/Block/month.php:107 +msgid "Fr" +msgstr "pe" + +#: lib/Kronolith.php:1148 +msgid "Free" +msgstr "Vapaa" + +#: config/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "Vapaa/varattu-tietoja" + +#: templates/view/view.inc:103 templates/month/head.inc:21 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "perjantai" + +#: templates/edit/edit.inc:38 templates/delete/delete.inc:26 +msgid "Future" +msgstr "Tulevat" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Peli" + +#: templates/search/search_advanced.inc:18 +msgid "General" +msgstr "Yleinen" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Mene %s" + +#: templates/perms/perms.inc:256 +msgid "Groups" +msgstr "Ryhmät" + +#: templates/perms/perms.inc:92 +msgid "Guest Permissions" +msgstr "Vieraan oikeudet" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Piilota" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Lomat" + +#: templates/view/view.inc:59 templates/prefs/default_alarm_management.inc:27 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "Tuntia" + +#: config/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "Kuinka pitkä on aikalokero päivä- ja viikkonäkymissä?" + +#: config/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "Monelleko tulevalle päivälle luodaan vapaa/varattu-tietoja?" + +#: lib/Kronolith.php:1446 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Jos sähköpostiohjelmasi ei tue iTip pyyntöjä, niin voi käyttää alla olevia " +"linkkejä osallistuaksesi tai kieltäytyä osallistumasta tapahtumaan.\n" +"\n" +"Hyväksyä tapahtuman:\n" +"%s\n" +"\n" +"Alustavasti hyväksyä tapahtuman:\n" +"%s\n" +"\n" +"Kieltäytyäksesi tapahtumasta:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Kalenterin tuonti, askel %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Tuo/Vie kalenteri" + +#: templates/perms/perms.inc:174 +msgid "Individual Users" +msgstr "Yksittäiset käyttäjät" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "tammikuu" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "heinäkuu" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "kesäkuu" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "Avainsanat" + +#: templates/calendar_list.php:23 +msgid "Kind" +msgstr "Tyyppi" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "Edelliset 24 tuntia" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Muokattu viimeksi" + +#: templates/month/head.inc:5 templates/month/head_side_by_side.inc:5 +msgid "Last Month" +msgstr "Edellinen kuukausi" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Edellinen vuosi" + +#: templates/week/head.inc:6 templates/search/search.inc:53 +msgid "Last week" +msgstr "Edellinen viikko" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Rajoita viennin aikaikkunaa:" + +#: config/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Listaa kaikki yhteystiedot yhteystietonäkymässä? (Jos tämä on pois päältä, " +"niin näytetään vain hakemasi yhdystiedot)" + +#: templates/search/search_advanced.inc:81 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "Pai_kka" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Ladataan ..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Ladataan..." + +#: templates/calendar_list.php:49 +msgid "Local" +msgstr "Paikallinen" + +#: templates/calendar_info.php:18 +#, php-format +msgid "Local calendar owned by %s." +msgstr "Paikallinen kalenteri, omistaja %s." + +#: data.php:65 templates/view/view.inc:14 templates/search/event_headers.inc:5 +#: lib/Driver.php:2318 +msgid "Location" +msgstr "Paikka" + +#: lib/Kronolith.php:1427 +#, php-format +msgid "Location: %s" +msgstr "Paikka: %s" + +#: templates/calendar_list.php:4 calendars/index.php:74 +msgid "Manage Calendars" +msgstr "Hallinnoi kalentereita" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "maaliskuu" + +#: lib/api.php:138 +msgid "Maximum Number of Events" +msgstr "Tapahtumien maksimimäärä" + +#: lib/Block/summary.php:25 lib/Block/monthlist.php:27 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Näytettävien tapahtumien maksimimäärä (0 = näytetään kaikki)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "toukokuu" + +#: lib/Driver.php:2314 +msgid "Me" +msgstr "Ta" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Tapaaminen" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Valikko hälytykset" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Valikko lista" + +#: templates/view/view.inc:62 templates/prefs/default_alarm_management.inc:26 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "Minuuttia" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Views/Year.php:77 lib/Block/month.php:107 +msgid "Mo" +msgstr "ma" + +#: templates/view/view.inc:99 templates/month/head.inc:17 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:114 +msgid "Monday" +msgstr "maanantai" + +#: attendees.php:199 lib/Kronolith.php:1754 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:93 +msgid "Month" +msgstr "Kuukausi" + +#: config/prefs.php.dist:173 config/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "Kuukausi-, viikko- ja päivänäkymät" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Kuukausittain" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "Kuukausittain: Toistuvuuden väli" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Tulevaa kuukautta" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Mennyttä kuukautta" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Siirrä alas" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Siirrä ulos" + +#: lib/api.php:1063 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Löytyi useita iCalendar-komponentteja; Vain yksi vEvent on tuettu." + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Kalenterini:" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "Vapaa/varattu-URL:ini" + +#: templates/contacts/contacts.inc:188 lib/Forms/CreateCalendar.php:36 +#: lib/Forms/EditCalendar.php:43 lib/Forms/SubscribeRemoteCalendar.php:36 +#: lib/Forms/EditRemoteCalendar.php:36 +msgid "Name" +msgstr "Nimi" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Uusi tapahtuma" + +#: lib/Kronolith.php:398 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Uusi kalenteri on luotu ja automaattisesti jaettu seuraaville ryhmille: %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Seuraava" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Seuraavat 24 tuntia" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Seuraava päivä" + +#: templates/month/head.inc:7 templates/month/head_side_by_side.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "Seuraava kuukausi" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Seuraava viikko" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Seuraava vuosi" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Seuraava päivä" + +#: templates/week/head.inc:8 templates/search/search.inc:57 +msgid "Next week" +msgstr "Seuraava viikko" + +#: config/prefs.php.dist:336 config/prefs.php.dist:349 +#: config/prefs.php.dist:370 +msgid "No" +msgstr "Ei" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "Ei tietoja" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "Ei hälytys" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Ei osallistujat" + +#: lib/api.php:1201 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Osallistujien tietoja ei ole päivitetty, koska annetut sähköpostiosoitteet " +"eivät löyty tapahtuman osallistujalistalta." + +#: lib/Kronolith.php:1997 +msgid "No calendars are available to guests." +msgstr "Vierailijoille ei ole tarjolla yhtään kalenteria." + +#: lib/Driver/sql.php:418 +msgid "No calendars to search" +msgstr "Ei kalentereita etsittäväksi." + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "Ei päättymispäivää" + +#: lib/Block/summary.php:205 lib/Block/prevmonthlist.php:166 +#: lib/Block/monthlist.php:175 +msgid "No events to display" +msgstr "Ei tapahtumia näytettäväksi" + +#: lib/FreeBusy.php:225 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "Vapaa/varattu-tietoja ei löytynyt vapaa/varattu %s url-osoitteesta." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Vapaa/varattu-tietoja %s:lle ei ole olemassa" + +#: lib/FreeBusy.php:226 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Vapaa/varattu url-osoitetta ei löytynyt %s:lle." + +#: lib/api.php:491 lib/api.php:778 lib/api.php:816 lib/api.php:1070 +msgid "No iCalendar data was found." +msgstr "Ei löytynyt iCalendar-tietoja." + +#: templates/edit/edit.inc:221 lib/Driver.php:1313 lib/Recurrence.php:191 +msgid "No recurrence" +msgstr "Ei toistuvuutta" + +#: lib/FreeBusy.php:168 +msgid "No valid email address found" +msgstr "Ei löytynyt toimivaa sähköpostiosoitetta." + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1179 +#: lib/Kronolith.php:1200 +msgid "None" +msgstr "Ei mitään" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "Ei löytynyt" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Ei löytynyt" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Ilmoitukset" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "marraskuu" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Nyt" + +#: templates/perms/perms.inc:133 +msgid "Object Creator" +msgstr "Objektin luoja" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "lokakuu" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr " - " + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "Kaikkiin kalentereihin, joihin minulla on lukuoikeus" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "Kaikilla näkyvillä oleviin kalentereihin" + +#: config/prefs.php.dist:337 config/prefs.php.dist:350 +#: config/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "Vain omalla kalenterillani" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Vain omistaja tai järjestelmän ylläpitäjä voi vaihtaa omistajaa tai " +"omistajan oikeuksia jakoon" + +#: lib/Kronolith.php:1197 +msgid "Optional" +msgstr "Vapaaehtoinen" + +#: lib/FBView.php:120 +msgid "Optional Attendees" +msgstr "Mahdollinen osallistuja" + +#: config/prefs.php.dist:68 +msgid "Other Options" +msgstr "Muut asetukset" + +#: lib/FBView.php:155 +msgid "Overview" +msgstr "Yleiskuva" + +#: templates/view/view.inc:28 templates/perms/perms.inc:22 +msgid "Owner" +msgstr "Omistaja" + +#: templates/perms/perms.inc:28 templates/perms/perms.inc:39 +msgid "Owner:" +msgstr "Omistaja:" + +#: lib/Driver.php:2313 +#, php-format +msgid "Owner: %s" +msgstr "Omistaja: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "Salasana" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "Toistuvuus" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Poistetaanko tämä tapahtuma pysyvästi?" + +#: lib/Kronolith.php:1899 lib/Kronolith.php:1918 lib/Kronolith.php:1931 +#: lib/Kronolith.php:1952 lib/api.php:648 lib/api.php:692 lib/api.php:724 +#: lib/api.php:757 lib/api.php:855 lib/api.php:908 lib/api.php:1006 +#: lib/api.php:1040 lib/api.php:1131 lib/api.php:1191 lib/api.php:1256 +#: lib/api.php:1286 lib/Driver/sql.php:801 +msgid "Permission Denied" +msgstr "Käyttö kielletty" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Käyttö kielletty" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Selvitä epämääräinen tai väärä osoite." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Portaalin asetukset" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "Mahdollinen tapaamisaika" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Edellinen päivä" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Edellinen kuukausi" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Edellinen viikko" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Edellinen päivä" + +#: config/prefs.php.dist:174 config/prefs.php.dist:186 +msgid "Print Views" +msgstr "Tulosta näkymät" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Aikaisemmat tapahtumat" + +#: lib/Driver.php:1452 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Yksityinen tilaisuus alkaen %s loppuen %s" + +#: lib/Driver.php:2258 lib/Driver.php:2259 +msgid "Private event" +msgstr "Yksityinen tapahtuma" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Yksityinen?" + +#: templates/perms/perms.inc:54 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:95 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:136 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:177 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:259 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:308 +msgid "Read" +msgstr "Luku" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"Haluatko poistaa kalenterin \"%s\"? Tämä operaatio on peruuttamaton ja " +"kaikki tiedot tällä kalenterilla poistuvat lopullisesti." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "Lopetetaanko kalenterin tilaus \"%s\" (%s)?" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "Toistuvuus päättyy" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "Toistuvuus" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Toistuvuuden tiedot" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Toistuvuuden päättymispäivämäärä" + +#: lib/Driver.php:2072 +msgid "Recurrence End Day" +msgstr "Toistuvuuden päättymispäivämäärä" + +#: lib/Driver.php:2057 +msgid "Recurrence End Month" +msgstr "Toistuvuuden päättymiskuukaus" + +#: lib/Driver.php:2040 +msgid "Recurrence End Year" +msgstr "Toistuvuuden päättymisvuosi" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Toistuvuuden väli" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Toistuvuuden tyyppi" + +#: lib/Kronolith.php:1113 +msgid "Recurs daily" +msgstr "Toistuu päivittäin" + +#: lib/Kronolith.php:1120 +msgid "Recurs monthly" +msgstr "Toistuu kuukausittain" + +#: lib/Kronolith.php:1116 +msgid "Recurs weekly" +msgstr "Toistuu viikoittain" + +#: lib/Kronolith.php:1125 +msgid "Recurs yearly" +msgstr "Toistuu vuosittain" + +#: lib/Scheduler/kronolith.php:268 +#, php-format +msgid "Reminder: %s" +msgstr "Muistutus: %s" + +#: templates/calendar_list.php:39 +msgid "Remote" +msgstr "Etä" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Etäkalenterit kohteesta:" + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Etäkalenterit:" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Poista" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Poista %s" + +#: attendees.php:189 +msgid "Remove Attendee" +msgstr "Poista osallistuja" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Poista lähde" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Käyttäjätietojen poistaminen ei ole tuettu nykyisessä kalenterin " +"taustajärjestelmässä." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Korvaa olemassaolevat kalenterit tuodulla kalenterilla? Varoitus: " +"Tämä poistaa kaikki tietueet tämänhetkisestä kalenteristasi." + +#: lib/Kronolith.php:1204 +msgid "Required" +msgstr "Pakollinen" + +#: lib/FBView.php:98 lib/FBView.php:140 lib/FBView.php:143 lib/FBView.php:146 +msgid "Required Attendees" +msgstr "Pakollinen osallistuja" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Palauta oletukset" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "Vastaus" + +#: config/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Rajoita päivä- ja viikkonäkymät näihin aikoihin, vaikka olisi tapahtumia, jotka alkaa aikaisemmin tai loppuu myöhemmin." + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Views/Year.php:82 lib/Block/month.php:107 +msgid "Sa" +msgstr "la" + +#: templates/view/view.inc:104 templates/month/head.inc:22 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "lauantai" + +#: templates/panel.inc:83 lib/Forms/EditCalendar.php:46 +#: lib/Forms/EditRemoteCalendar.php:41 +msgid "Save" +msgstr "Talleta" + +#: templates/perms/perms.inc:331 +#, php-format +msgid "Save %s" +msgstr "Talleta %s" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1790 +#: lib/Views/EditEvent.php:79 lib/Views/EditEvent.php:89 +msgid "Save As New" +msgstr "Talleta uutena" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Talleta osallistujat" + +#: new.php:56 lib/Views/EditEvent.php:82 +msgid "Save Event" +msgstr "Talleta tapahtuma" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Talleta ja lopeta" + +#: search.php:91 templates/search/search_advanced.inc:113 +#: templates/search/search.inc:66 templates/contacts/contacts.inc:155 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Haku" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Haun tulokset" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Haku kalentereista:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Haun tulokset" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Vapaa/varattu-tietoja %s:lle ei ole saatavilla." + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Valitse päivämäärä" + +#: templates/perms/perms.inc:296 +msgid "Select a group to add" +msgstr "Valitse ryhmä muokattavaksi" + +#: templates/perms/perms.inc:294 +msgid "Select a group to add:" +msgstr "Valitse ryhmä lisättäväksi:" + +#: templates/perms/perms.inc:30 +msgid "Select a new owner:" +msgstr "Valitse uusi omistaja:" + +#: templates/perms/perms.inc:213 templates/perms/perms.inc:215 +msgid "Select a user to add:" +msgstr "Valitse lisättävä käyttäjä:" + +#: config/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Valitse osoitekirjat, joihin lisätään tai joista etsitään osoitteita." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Valitse kentät, joista etsitään laajennettavia osoitteita." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Voit muuttaa varmistukseen liittyviä asetuksia, miten erilaisia näkymiä " +"näytetään ja mitä käytetään oletusnäkymänä." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Valitse kalenteri, johon tuodaan tietoja:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Valitse kalenterit, joista viedään tietoja" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Valitse viennissä käytettävä muoto:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Valitse tiedosto, josta tuodaan tietoja:" + +#: config/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "Valitse ensimmäinen viikonpäivä:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Valitse lähdetiedoston muoto:" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Valitse näytettävä aikajakso:" + +#: config/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "Valitse sisäänkirjautumisen jälkeen näytettävä näkymä:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Voit valita mitä tapahtumia näytetään portaalissa." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Valitut Osoitekirjat:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Valitut päivämäärät" + +#: templates/delete/delete.inc:21 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Lähetä peruutusviesti kaikille osallistujille, kun tämä tapahtuma poistetaan" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Lähetä viesti osoitteeseen %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Lähetä kutsut kaikille osallistujille?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Lähetä päivitykset kaikille osallistujille?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "syyskuu" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Aseta oletukset uusille tapahtumille." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Aseta päättymispäivä" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Aseta toistuvuuden päättymispäivämäärä" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Aseta alkamispäivämäärä" + +#: config/prefs.php.dist:62 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "" +"Aseta vapaa/varattu-kalenterisi sekä sinuun ja muihin liittyviä vapaa/" +"varattu-asetuksia." + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Jaetut kalenterit:" + +#: templates/perms/perms.inc:53 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:94 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:135 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:176 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:258 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:304 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "Näytä" + +#: config/prefs.php.dist:218 +msgid "Show Free/Busy legend?" +msgstr "Näytä vapaa/varattu-selite." + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Näytä kalenteri asetuspaneelissa." + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Näytä kategorioiden selitykset." + +#: config/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Näytä poista-, hälytys- ja toisto ikonit kalenterinäkymässä." + +#: config/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "Näytä ulkoiset tapahtumat käyttäen kategorioiden värejä." + +#: config/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "Näytä vain ne tapahtumat, joihin liittyy hälytys." + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "Näytä jaetut kalenterit vierekkäin." + +#: config/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "Näytä kellonaika jokaisen päivän välissä viikkonäkymässä." + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "_Alkaa" + +#: data.php:56 +msgid "Start Date" +msgstr "Alkamispäivämäärä" + +#: templates/data/export.inc:68 lib/Driver.php:1932 +msgid "Start Day" +msgstr "Alkamispäivä" + +#: templates/data/export.inc:87 lib/Driver.php:1943 +msgid "Start Hour" +msgstr "Alkamistunti" + +#: templates/data/export.inc:102 lib/Driver.php:1953 +msgid "Start Minute" +msgstr "Alkamisminuutti" + +#: templates/data/export.inc:54 lib/Driver.php:1923 +msgid "Start Month" +msgstr "Alkamiskuukausi" + +#: templates/view/view.inc:35 templates/search/event_headers.inc:7 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Alkaa" + +#: data.php:57 +msgid "Start Time" +msgstr "Alkamisaika" + +#: templates/data/export.inc:39 lib/Driver.php:1912 +msgid "Start Year" +msgstr "Alkamisvuosi" + +#: templates/search/search_advanced.inc:91 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "T_ila" + +#: templates/view/view.inc:21 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "Tila" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Vapaa/varattu-tietoja talletus ei ole käytettävissä." + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:109 +#: lib/Block/month.php:111 +msgid "Su" +msgstr "su" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "Tilaa" + +#: templates/calendar_list.php:15 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "Tilaa uuteen etäkalenteriin" + +#: templates/calendar_list.php:25 +msgid "Subscription URL" +msgstr "Tilauksen URL-osoite" + +#: templates/view/view.inc:105 templates/month/head.inc:15 +#: templates/month/head.inc:24 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:113 +msgid "Sunday" +msgstr "sunnuntai" + +#: lib/Kronolith.php:1152 lib/Kronolith.php:1175 +msgid "Tentative" +msgstr "Ehdotettu" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Views/Year.php:80 lib/Block/month.php:107 +msgid "Th" +msgstr "to" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Tiedosto %s ei sisältänyt ainuttakaan tapahtumaa." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Kalenterin taustajärjestelmä ei ole käytettävissä" + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Kalenterin taustajärjestelmä ei ole käytettävissä: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Muokkaa osallistuja -näkymä ei ole enää näkyvissä. Poistutaan." + +#: lib/api.php:1210 +msgid "" +"The attendee hasn't been updated because the update was not sent from the " +"attendee." +msgstr "" +"Osallistujien tietoja ei ole päivitetty, koska vastausviesti ei tullut " +"osallistujalta." + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Kalenteri \"%s\" on luotu." + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Kalenteri \"%s\" on poistettu" + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Kalenteri \"%s\" on nimetty uudelleen \"%s\":ksi." + +#: calendars/edit.php:46 calendars/remote_edit.php:49 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Kalenteri \"%s\" on talletettu." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Kalenteria ei voitu poistaa: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "Päättymispäivämäärä pitää olla myöhempi kuin alkamispäivämäärä." + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "Tapahtuma \"%s\" on lisätty kalenteriin \"%s\", joka on %s %s." + +#: lib/Kronolith.php:1606 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "Tapahtuma \"%s\" on poistettu kalenterista \"%s\", joka on %s %s." + +#: lib/Kronolith.php:1601 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "Tapahtumaa \"%s\" on muokattu kalenterissa \"%s\", joka on %s %s." + +#: lib/Kronolith.php:1486 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Tapahtumailmoituksen lähettäminen %s onnistui." + +#: lib/Kronolith.php:1440 +msgid "The following is a more detailed description of the event:" +msgstr "Tässä ovat tarkemmat tiedot tapahtumasta:" + +#: lib/FreeBusy.php:193 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Vapaa/varattu-url %s ei voida hakea." + +#: calendars/remote_edit.php:36 calendars/remote_unsubscribe.php:36 +msgid "The remote calendar was not found." +msgstr "Etäkalenteria ei löytynyt." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Pyyntö oli epätäydellinen. Joitakin parametreja puuttuu, jotta tapahtuma " +"olisi voitu hyväksyä tai hylätä." + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "Pyydettyä tapahtumaa ei löytynyt" + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Ei ole tapahtumia, jotka vastaisivat nykyisiä vaatimuksia." + +#: add.php:24 edit.php:46 edit.php:68 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Tapahtui virhe käytettäessä kalenteria: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Tapahtui virhe lisättäessä tapahtumaa: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Tapahtui virhe muokattaessa tapahtumaa: %s" + +#: lib/api.php:483 lib/api.php:770 lib/api.php:1055 +msgid "There was an error importing the iCalendar data." +msgstr "iCalendar-tietojen tuonnissa tapahtui virhe." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Tapahtumien tuonnissa tapahtui virhe: %s." + +#: lib/Kronolith.php:1491 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Tapahtui virhe lähetettäessä tapahtumailmoitusta %s:lle: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Ei ole tapahtumia. Tapahtumia ei voi viedä." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Tämä kuukausi" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Tätä kalenteria ei voitu poistaa." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Tämä tiedostomuoto ei ole tuettu." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Tämä on toistuva tapahtuma. Poista vain tämä tapahtuma, tämä
      ja kaikki " +"tulevat tapahtuma toisinnot. tai kaikki tulevat ja menneet toisinnot." + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Tämä on toistuva tapahtuma. Muokkaa vain tätä tapahtumaa, tätä
      ja " +"kaikkien tulevien tapahtumien toisintoja, kaikkia esiintymiä vai " +"tallennetaanko tapahtuma uutena?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "Palvelimen virheilmoitus oli: %s" + +#: templates/view/view.inc:102 templates/month/head.inc:20 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "torstai" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "Aikaikkun_a:" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Aikaikkuna" + +#: templates/search/search_advanced.inc:28 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "Otsi_kko" + +#: data.php:55 templates/search/event_headers.inc:3 +#: templates/search/search.inc:19 +msgid "Title" +msgstr "Otsikko" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Valitaksesi useampi kenttiä, pidä pohjassa Control (PC) tai Command (Mac) " +"samalla kun valitset" + +#: templates/calendar_info.php:19 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" +"Tilataksesi tämän kalenterin toisesta ohjelmasta käytä tätä URL-osoitetta:" + +#: lib/Block/summary.php:140 lib/Block/prevmonthlist.php:125 +#: lib/Block/monthlist.php:132 +msgid "Today" +msgstr "Tänään" + +#: lib/Block/summary.php:142 lib/Block/prevmonthlist.php:127 +#: lib/Block/monthlist.php:134 +msgid "Tomorrow" +msgstr "Huomenna" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Views/Year.php:78 lib/Block/month.php:107 +msgid "Tu" +msgstr "ti" + +#: templates/view/view.inc:100 templates/month/head.inc:18 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "tiistai" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Tyyppi" + +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "SQL-palvelimeen ei saada yhteyttä." + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Ei voida poistaa \"%s\": %s" + +#: lib/api.php:599 +#, php-format +msgid "Unable to delete calendar \"%s\": %s" +msgstr "Ei voida poistaa kalenteria \"%s\": %s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Määrityksen %s lukeminen epäonnistui." + +#: attendees.php:68 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "\"%s\" ei tunnisteta toimivaksi sähköpostiosoitteeksi." + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Ei voida nimetä uudelleen \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Ei voi hakea vapaa/varattu-tietoja %s:lle" + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Ei voida tallentaa kalenteria \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Luokittelematon" + +#: lib/api.php:1356 lib/api.php:1392 +msgid "Unknown calendar protocol" +msgstr "Tuntematon kalenteriprotokolla" + +#: templates/calendar_list.php:46 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "Lopeta tilaus" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "Lopeta %s tilaus" + +#: lib/api.php:550 lib/api.php:823 lib/api.php:879 lib/api.php:942 +#: lib/api.php:1075 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Ei tuettu Content-Type: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Tulevat tapahtumat" + +#: perms.php:231 +#, php-format +msgid "Updated \"%s\"." +msgstr "Päivitettiin: \"%s\"." + +#: lib/Kronolith.php:1417 +#, php-format +msgid "Updated: %s." +msgstr "Päivitettiin: '%s'." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Käyttöliittymä" + +#: templates/perms/perms.inc:223 +msgid "User to add:" +msgstr "Lisättävä käyttäjä:" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +msgid "Username" +msgstr "Käyttäjänimi" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:164 +#: lib/Block/month.php:167 +msgid "View Day" +msgstr "Näytä päivä" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Views/Year.php:79 lib/Block/month.php:107 +msgid "We" +msgstr "ke" + +#: lib/Driver.php:1186 lib/Scheduler/kronolith.php:272 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Haluaisimme muistuttaa tulevasta tapahtumasta.\n" +"\n" +"%s\n" +"\n" +"Paikka: %s\n" +"\n" +"Päivä: %s\n" +"Aika: %s\n" +"\n" +"%s" + +#: templates/view/view.inc:101 templates/month/head.inc:19 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "keskiviikko" + +#: attendees.php:198 lib/Kronolith.php:1752 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:91 +msgid "Week" +msgstr "Viikko" + +#: week.php:16 workweek.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Viikko %d" + +#: templates/view/view.inc:53 templates/prefs/default_alarm_management.inc:29 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "Viikkoa" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Viikottain" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "Viikoittain: Toistuvuuden väli" + +#: config/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Mihin aikaan päivä ja viikkonäkymät pitäisi päättyä, jos ei ole myöhäisempiä " +"tapahtumia?" + +#: config/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Mihin aikaan päivä ja viikkonäkymät pitäisi alkaa, jos ei ole aikaisempia " +"tapahtumia?" + +#: config/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Mitkä vapaat haluat näyttää?" + +#: attendees.php:197 lib/Kronolith.php:1750 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:92 +msgid "Work Week" +msgstr "Työviikko" + +#: lib/Kronolith.php:1756 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Vuosi" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Vuosittain" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "Vuosittain: Toistuvuuden väli" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Sinulla ei ole oikeuksia muuttaa tätä kalenteria." + +#: data.php:41 data.php:261 edit.php:27 new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Et voi tehdä enempää kuin %d tapahtumaa." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Sinulla ei ole oikeuksia poistaa tätä kalenteria." + +#: lib/api.php:154 +msgid "You are not allowed to remove user data." +msgstr "Sinulla ei ole oikeuksia poistaa käyttäjätietoja." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Et ole merkitty osallistujaksi annettuun tapahtumaan." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Tätä lomaketta voi käyttää vain Muokkaa osallistuja -näkymästä." + +#: lib/Kronolith.php:1366 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Et ole määritellyt sähköpostiosoitettasi profiilisi asetuksissa. Sinun pitää " +"määritellä sähköpostiosoite %stäällä%s, ennenkuin tapahtuma tietoja voidaan " +"lähettää." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Sinulla ei ole oikeuksia lisätä tapahtumia %s:ään." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Sinulla ei ole oikeuksia lisätä tapahtumia valittuun kalenteriin." + +#: add.php:27 edit.php:162 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Sinulla ei ole oikeuksia delegoida tapahtumia %s:lle." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Sinulla ei ole oikeuksia poistaa tätä tapahtumaa." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "Sinulla ei ole oikeuksia muokata tätä tapahtumaa." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "Sinulla ei ole oikeuksia siirtää tätä tapahtumaa." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "Olet tilannut \"%s\" (%s)." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "Olet lopettanut \"%s\" (%s) tilauksen." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Olet määritellyt epäkelvon kalenterin." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Olet onnistuneesti hyväksynyt osallistumisesi tähän tapahtumaan." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Olet onnistuneesti kieltäytynyt osallistumasta tähän tapahtumaan." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "" +"Olet onnistuneesti alustavasti myöntynyt osallistumaan tähän tapahtumaan." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Sinun pitää ensin valita osoite." + +#: lib/Kronolith.php:1596 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Olet valinnut haluavasi ilmoituksia kun tapahtumia liitetään kalentereihisi." + +#: lib/Kronolith.php:1606 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Olet valinnut haluavasi ilmoituksia kun tapahtumia poistetaan " +"kalentereistasi." + +#: lib/Kronolith.php:1601 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Olet valinnut haluavasi ilmoituksia kun tapahtumia muokataan kalentereissasi." + +#: lib/Scheduler/kronolith.php:411 lib/Scheduler/kronolith.php:413 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Päivittäinen agendasi %s:lle" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Oletuskalenterisi:" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Hallinnoi kalentereita]" + +#: lib/Driver.php:1434 lib/Driver.php:1454 +msgid "[Unnamed event]" +msgstr "[nimeämätön tapahtuma]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Hälytys" + +#: templates/search/search_advanced.inc:9 +msgid "_Basic Search" +msgstr "_Yksinkertainen Haku" + +#: lib/Kronolith.php:1790 +msgid "_Edit" +msgstr "_Muokkaa" + +#: lib/Kronolith.php:2012 +msgid "_Goto" +msgstr "_Mene" + +#: lib/Kronolith.php:2018 +msgid "_Import/Export" +msgstr "_Tuo/Vie" + +#: lib/Kronolith.php:2008 +msgid "_New Event" +msgstr "_Uusi tapahtuma" + +#: lib/Kronolith.php:2023 +msgid "_Print" +msgstr "_Tulosta" + +#: lib/Kronolith.php:2014 +msgid "_Search" +msgstr "_Haku" + +#: lib/Kronolith.php:2003 +msgid "_Today" +msgstr "_Tänään" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "%s:nä" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "ennen tapahtuman alkua" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"ennenkuin tapahtuma alkaa. Arvo \"0\" tarkoittaa ettei ole oletushälytystä." + +#: lib/Views/Event.php:62 lib/Views/Event.php:71 +#, php-format +msgid "by %s" +msgstr "%s" + +#: lib/Views/Event.php:64 lib/Views/Event.php:73 +msgid "by me" +msgstr "itse" + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "päivä" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "päivää" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "päivää" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr " " + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "kuukautta" + +#: lib/Kronolith.php:1423 +#, php-format +msgid "on %s at %s" +msgstr "alkaen %s %s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "samana päivänä" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "samana viikonpäivänä" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "toistuvuus" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "viikko" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "viikoilla:" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "viikkoa" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "vuosittain samana päivänä" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "vuosittain samana päivänä vuodesta" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "vuosittain samana viikonpäivänä ja kuukautena vuodesta" diff --git a/kronolith/po/fr_FR.po b/kronolith/po/fr_FR.po new file mode 100644 index 000000000..fd5eb6f35 --- /dev/null +++ b/kronolith/po/fr_FR.po @@ -0,0 +1,2583 @@ +# translation of fr_FR.po to french +# Mikhaël Janson , 2001. +# Thierry Thomas , 2002. +# Pierre Lachance et Benoit St-Andre , 2003, 2004. +# Benoit St-André , 2004. +# Vincent Vinet , 2007. +# Yannick Sebastia , 2008. +# Kronolith 2.2-cvs French translation +# Copyright 2001 Mikhaël Janson. +# Copyright 2002, 2003, 2005, 2006, 2007 Thierry Thomas. +# This file is distributed under the same license as the PACKAGE package. +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:24+0100\n" +"Last-Translator: Yannick Sebastia \n" +"Language-Team: French \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " jusqu'à %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " sans fin" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d événements" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d fois" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Jours(s) %s Heure(s) %s Minutes" + +#: lib/Driver.php:2218 +#, php-format +msgid "%s attendees" +msgstr "%s participants" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "Le fichier %s a bien été importé" + +#: lib/Kronolith.php:367 lib/api.php:221 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "Agenda de %s" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Les ajouter en cliquant sur Ajouter *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Veuillez sélectionner une(des) adresse(s) *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d fois" + +#: lib/Driver.php:2217 +msgid "1 attendee" +msgstr "1 participant" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 événement" + +#: config/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 heure" + +#: config/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 minutes" + +#: config/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 minutes" + +#: config/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 minutes" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1172 +msgid "Accepted" +msgstr "Accepté" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "_Recherche avancée" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Ajouter" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Ajout d'événement" + +#: new.php:65 +msgid "Add a new event" +msgstr "Ajouter un nouvel événement" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Ajouter des participants" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Ajouter une source" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Ajouter aux participants" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Carnet d'adresses" + +#: config/prefs.php.dist:69 +msgid "Address Books" +msgstr "Carnets d'adresses" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Recherche avancée" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Alerte" + +#: lib/Driver.php:2184 +#, php-format +msgid "Alarm %d days before" +msgstr "Alerte %d jours avant" + +#: lib/Driver.php:2189 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alerte%d heures avant" + +#: lib/Driver.php:2194 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alerte %d minutes avant" + +#: lib/Driver.php:2179 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alerte %d semaine avant" + +#: lib/Driver.php:2183 +msgid "Alarm 1 day before" +msgstr "Alerte 1 journée avant" + +#: lib/Driver.php:2188 +msgid "Alarm 1 hour before" +msgstr "Alerte 1 heure avant" + +#: lib/Driver.php:2193 +msgid "Alarm 1 minute before" +msgstr "Alerte 1 minute avant" + +#: lib/Driver.php:2178 +msgid "Alarm 1 week before" +msgstr "Alerte 1 semaine avant" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Date de l'alerte" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Durée de l'alerte (minutes)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Heure de l'alerte" + +#: templates/edit/edit.inc:166 templates/prefs/default_alarm_management.inc:24 +msgid "Alarm Unit" +msgstr "Unité de l'alarme" + +#: templates/edit/edit.inc:164 templates/prefs/default_alarm_management.inc:22 +msgid "Alarm Value" +msgstr "Valeur de l'alarme" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Alarme activée" + +#: templates/edit/edit.inc:39 templates/delete/delete.inc:27 +msgid "All" +msgstr "Tout" + +#: lib/FBView.php:127 lib/FBView.php:130 lib/FBView.php:133 +msgid "All Attendees" +msgstr "Tous les participants" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "Tous les participants authentifiés" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Tous les agendas" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Tous événements ultérieurs" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Tous événements antérieurs" + +#: lib/Block/summary.php:28 lib/Block/monthlist.php:30 +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +msgid "All Visible" +msgstr "Tout visible" + +#: lib/Driver.php:2287 lib/Views/Week.php:148 lib/Views/Week.php:155 +#: lib/Views/Day.php:97 lib/Views/Day.php:100 +#: templates/edit/edit_timespan.inc:119 +msgid "All day" +msgstr "Toute la journée" + +#: lib/Block/summary.php:177 +msgid "All day event" +msgstr "Dure toute la journée" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Tous les événements" + +#: lib/api.php:664 lib/api.php:675 +msgid "Already Exists" +msgstr "existe déjà" + +#: lib/Kronolith.php:1265 templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 +msgid "Any" +msgstr "N'importe quel" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Avril" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "À" + +#: lib/Kronolith.php:1432 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"La pièce jointe est un fichier iCalendar contenant plus d'informations " +"concernant l'événement. Si votre client de courrier supporte les requêtes " +"iTip vous pouvez utiliser ce fichier pour mettre à jour votre copie locale " +"de l'événement." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Tentative de modification d'un partage inexistant." + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "Présence" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "Participant" + +#: templates/edit/edit.inc:193 templates/view/view.inc:168 +msgid "Attendees" +msgstr "Participants" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Août" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Carnets d'adresses disponibles :" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "Recherche simple" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Anniversaire" + +#: lib/FBView.php:89 lib/FBView.php:110 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Occupé" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "_Agenda" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "A_genda" + +#: lib/Block/summary.php:22 lib/Block/monthlist.php:21 +#: lib/Block/prevmonthlist.php:21 lib/Block/month.php:21 +#: templates/calendar_list.php:22 +msgid "Calendar" +msgstr "Agenda" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Information d'agenda" + +#: templates/calendar_list.php:19 +msgid "Calendar List" +msgstr "Liste des agendas" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Sommaire de l'agenda" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "Le calendrier a été purgé." + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:60 +msgid "Calendars" +msgstr "Agendas" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Agendas imprimés :" + +#: data.php:270 +msgid "Can't create a new event." +msgstr "Création impossible d'un nouvel événement." + +#: lib/Forms/DeleteCalendar.php:45 lib/Forms/DeleteCalendar.php:51 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 templates/edit/edit.inc:51 +#: templates/edit/edit.inc:382 templates/delete/one.inc:25 +#: templates/delete/delete.inc:28 +msgid "Cancel" +msgstr "Annuler" + +#: lib/Kronolith.php:1148 +msgid "Cancelled" +msgstr "Annulée" + +#: lib/Kronolith.php:1406 +#, php-format +msgid "Cancelled: %s" +msgstr "Annulée : %s." + +#: lib/Driver/kolab.php:1332 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Impossible de supprimer un événement : %s" + +#: templates/edit/edit.inc:94 templates/search/search_advanced.inc:63 +msgid "Categor_y" +msgstr "Catégor_ie" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Catégorie" + +#: templates/calendar_list.php:54 calendars/index.php:65 +msgid "Change Permissions" +msgstr "Changer les permissions" + +#: config/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Choisissez comment vous voulez être averti des créations, m. à j. ou " +"suppressions d'alarmes et d'événements planifiés." + +#: config/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "" +"Choisissez comment vous voulez recevoir des rappels pour les événements avec " +"des alarmes :" + +#: config/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Choisissez si vous voulez être averti des créations, m. à j. ou suppressions " +"d'événements par courrier :" + +#: config/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "" +"Choisissez si vous voulez recevoir des courriers de rappel quotidiens pour " +"les événements avec des alarmes :" + +#: config/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "" +"Choisissez si vous voulez recevoir des rappels pour les événements avec des " +"alarmes :" + +#: templates/prefs/fb_cals_select.inc:28 +#, fuzzy +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "" +"Choisissez les agendas à inclure pour générer les URL de disponibilités :" + +#: config/prefs.php.dist:440 +#, fuzzy +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "" +"Choisissez les agendas à inclure pour générer les URL de disponibilités :" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "" +"Choisissez l'ordre de recherche des carnets d'adresses lors du développement " +"des noms." + +#: config/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "" +"Choisir les vues dans lesquelles montrer l'emplacement des événements :" + +#: config/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "Choisir les vues dans lesquelles montrer les horaires des événements :" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Choisir les congés à afficher" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Choisissez votre agenda par défaut." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Libérer tous les participants" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Choisissez un de vos carnets d'adresses et ensuite sélectionnez tous les " +"champs à rechercher." + +#: templates/calendar_list.php:40 templates/calendar_list.php:41 +#: templates/calendar_list.php:50 templates/calendar_list.php:51 +msgid "Click or copy this URL to display this calendar" +msgstr "Cliquer ou copier cette URL pour afficher cet agenda" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Fermer" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Fermer la fenêtre" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Fermer la fenêtre" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Valeurs séparées par des virgules" + +#: config/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "Confirmer la suppression des événements ?" + +#: lib/Kronolith.php:1145 +msgid "Confirmed" +msgstr "Confirmée" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "" +"Copier l'URL ci-dessous pour utiliser lorsque vous avez besoin de votre URL " +"de disponibilités :" + +#: lib/Kronolith.php:459 +#, php-format +msgid "Could not open %s." +msgstr "Ouverture de %s impossible." + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Créer" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Créer un agenda" + +#: lib/Views/Month.php:173 lib/Views/Day.php:97 lib/Views/Day.php:256 +#: templates/week/head.inc:29 +msgid "Create a New Event" +msgstr "Créer un nouvel événement" + +#: templates/calendar_list.php:10 +msgid "Create a new Local Calendar" +msgstr "Créer un nouvel agenda local" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Créé" + +#: templates/edit/edit.inc:37 templates/delete/delete.inc:25 +msgid "Current" +msgstr "Courant" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Quotidien" + +#: templates/edit/edit.inc:226 templates/view/view.inc:96 +msgid "Daily: Recurs every" +msgstr "Quotidien : répétition chaque" + +#: attendees.php:170 lib/Kronolith.php:1738 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:90 +msgid "Day" +msgstr "Jour" + +#: templates/edit/edit.inc:170 templates/view/view.inc:56 +#: templates/prefs/default_alarm_management.inc:28 +msgid "Day(s)" +msgstr "Jour(s)" + +#: lib/Kronolith.php:1780 +msgid "De_lete" +msgstr "_Supprimer" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Décembre" + +#: lib/Kronolith.php:1175 +msgid "Declined" +msgstr "Décliné" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Configuration d'alarme par défaut :" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Agenda par défaut" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "Déléguer" + +#: lib/Driver.php:1303 lib/Driver.php:2246 lib/Forms/DeleteCalendar.php:45 +#: templates/calendar_list.php:56 templates/delete/one.inc:24 +#: templates/perms/perms.inc:33 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:89 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:130 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:171 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:212 templates/perms/perms.inc:233 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:294 +#: templates/perms/perms.inc:315 templates/perms/perms.inc:349 +#: calendars/index.php:66 +msgid "Delete" +msgstr "Supprimer" + +#: lib/Driver.php:2245 lib/Forms/DeleteCalendar.php:40 +#: lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Supprimer %s" + +#: lib/Driver.php:1302 +#, php-format +msgid "Delete exception on %s" +msgstr "Exception lors de la suppression sur %s" + +#: templates/edit/edit.inc:180 templates/search/search_advanced.inc:103 +msgid "Descri_ption" +msgstr "Descri_ption" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "Descri_ption :" + +#: data.php:63 lib/Forms/EditCalendar.php:44 lib/Forms/CreateCalendar.php:37 +#: templates/view/view.inc:155 +msgid "Description" +msgstr "Description" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Afficher" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Options d'affichage" + +#: templates/calendar_list.php:24 +msgid "Display URL" +msgstr "Afficher l'URL" + +#: lib/Kronolith.php:1113 +msgid "Does not recur" +msgstr "Non répétitif" + +#: config/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"Ne pas m'envoyer une notification si j'ai ajouté, modifié ou supprimé " +"l'événement ?" + +#: lib/Kronolith.php:677 +#, php-format +msgid "Due: %s" +msgstr "Échéance : %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Durée" + +#: lib/Driver.php:1976 +msgid "Duration Day" +msgstr "Durée (jour)" + +#: lib/Driver.php:1988 +msgid "Duration Hour" +msgstr "Durée (heure)" + +#: lib/Driver.php:1999 +msgid "Duration Minute" +msgstr "Durée (minute)" + +#: lib/Driver.php:2239 templates/calendar_list.php:42 +#: templates/calendar_list.php:52 templates/perms/perms.inc:32 +#: templates/perms/perms.inc:65 templates/perms/perms.inc:88 +#: templates/perms/perms.inc:106 templates/perms/perms.inc:129 +#: templates/perms/perms.inc:147 templates/perms/perms.inc:170 +#: templates/perms/perms.inc:188 templates/perms/perms.inc:211 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:270 +#: templates/perms/perms.inc:293 templates/perms/perms.inc:311 +#: templates/perms/perms.inc:345 calendars/index.php:64 +msgid "Edit" +msgstr "Modifier" + +#: lib/Driver.php:2238 lib/Forms/EditCalendar.php:40 +#: lib/Forms/EditRemoteCalendar.php:34 lib/Views/EditEvent.php:29 +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Edit %s" +msgstr "Éditer %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Éditer les participants" + +#: perms.php:262 +msgid "Edit Permissions" +msgstr "Éditer les permissions" + +#: perms.php:264 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Éditer les permissions pour « %s »" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Éditez le participant" + +#: attendees.php:234 +msgid "Edit attendees" +msgstr "Éditez les participants" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Modifier catégories et étiquettes" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Éditer les permissions pour %s" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Courriel" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "Fi_n" + +#: data.php:58 +msgid "End Date" +msgstr "Date de fin" + +#: lib/Driver.php:1947 templates/data/export.inc:161 +msgid "End Day" +msgstr "Fin (jour)" + +#: lib/Driver.php:1960 templates/data/export.inc:178 +msgid "End Hour" +msgstr "Fin (heure)" + +#: lib/Driver.php:1971 templates/data/export.inc:190 +msgid "End Minute" +msgstr "Fin (minute)" + +#: lib/Driver.php:1938 templates/data/export.inc:148 +msgid "End Month" +msgstr "Fin (mois)" + +#: templates/search/event_headers.inc:8 templates/data/export.inc:125 +#: templates/view/view.inc:41 +msgid "End On" +msgstr "Fin le" + +#: data.php:59 +msgid "End Time" +msgstr "Fin à" + +#: lib/Driver.php:1927 templates/data/export.inc:134 +msgid "End Year" +msgstr "Fin (année)" + +#: attendees.php:216 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "" +"Une erreur est survenue lors de l'importation des données iCalendar de %s : " +"%s" + +#: attendees.php:196 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "" +"Une erreur est survenue lors de le récupération des informations de " +"disponibilités : %s" + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Valeurs par défaut" + +#: lib/Kronolith.php:1585 +msgid "Event added:" +msgstr "Événement ajouté :" + +#: lib/Kronolith.php:1595 +msgid "Event deleted:" +msgstr "Événement supprimé :" + +#: lib/Kronolith.php:1590 +msgid "Event edited:" +msgstr "Événement édité :" + +#: lib/Driver.php:1426 +#, php-format +msgid "Event from %s to %s" +msgstr "Événement du %s au %s" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "Événement non trouvé" + +#: lib/Driver/kolab.php:431 lib/Driver/kolab.php:1158 +#: lib/Driver/kolab.php:1185 lib/Driver/kolab.php:1314 +#, php-format +msgid "Event not found: %s" +msgstr "Événement non trouvé : %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:50 +msgid "Events" +msgstr "Événements" + +#: lib/Driver.php:1034 +msgid "Events must have a start date." +msgstr "Les événements doivent avoir une date de début." + +#: lib/Driver.php:996 +msgid "Events must have a title." +msgstr "Les événements doivent avoir un titre." + +#: templates/edit/edit.inc:323 templates/view/view.inc:130 +msgid "Exceptions" +msgstr "Exceptions" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "Exporter" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Exporter l'agenda" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Evènements externes :" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Février" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Champs à rechercher" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Trouver" + +#: lib/Block/month.php:107 lib/Views/Year.php:81 templates/edit/edit.inc:239 +#: templates/javascript/goto.js:63 +msgid "Fr" +msgstr "Ven" + +#: lib/Kronolith.php:1151 +msgid "Free" +msgstr "Libre" + +#: config/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "Disponibilités" + +#: templates/edit/javascript.inc:71 templates/month/head.inc:21 +#: templates/view/view.inc:103 +msgid "Friday" +msgstr "Vendredi" + +#: templates/edit/edit.inc:38 templates/delete/delete.inc:26 +msgid "Future" +msgstr "À venir" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Jeu" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Générale" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Aller à %s" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "Groupes" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "Permissions des invités" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Cacher" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Congés" + +#: templates/edit/edit.inc:169 templates/view/view.inc:59 +#: templates/prefs/default_alarm_management.inc:27 +msgid "Hour(s)" +msgstr "Heure(s)" + +#: config/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "" +"Durée des tranches horaires dans les vues à la journée et à la semaine ?" + +#: config/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "" +"Pour combien de jours à la fois doit-on générer les informations sur la " +"disponibilité ?" + +#: lib/Kronolith.php:1436 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Si votre logiciel de courrier ne supporte pas les requêtes iTip vous pouvez " +"utiliser un des liens suivants pour accepter ou refuser l'événement.\n" +"\n" +"Pour accepter l'événement :\n" +"%s\n" +"\n" +"Pour accepter l'événement provisoirement :\n" +"%s\n" +"\n" +"Pour refuser l'événement :\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importer un agenda, étape %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Importer/Exporter un agenda" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "Utilisateurs individuels" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Janvier" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Juillet" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Juin" + +#: data.php:66 templates/edit/edit.inc:336 templates/view/view.inc:138 +msgid "Keywords" +msgstr "Mots-clés" + +#: templates/calendar_list.php:23 +msgid "Kind" +msgstr "Sorte" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Dernières 24 heures" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Dernière modification" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Mois précédent" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Année précédente" + +#: templates/search/search.inc:54 templates/week/head.inc:6 +msgid "Last week" +msgstr "Semaine précédente" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Limiter la période à exporter :" + +#: config/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Lister tous les contacts au chargement de l'écran des contacts ? (si " +"désactivé, vous ne verrez que les contacts explicitement demandés)" + +#: templates/edit/edit.inc:101 templates/search/search_advanced.inc:85 +msgid "Lo_cation" +msgstr "L_ieu" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Chargement ..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Chargement..." + +#: templates/calendar_list.php:49 +msgid "Local" +msgstr "Local" + +#: templates/calendar_info.php:16 +#, php-format +msgid "Local calendar owned by %s." +msgstr "Calendrier locaux appartenant à %s." + +#: data.php:65 lib/Driver.php:2269 templates/search/event_headers.inc:5 +#: templates/view/view.inc:14 +msgid "Location" +msgstr "Lieu" + +#: templates/calendar_list.php:4 calendars/index.php:70 +msgid "Manage Calendars" +msgstr "Mes agendas" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Mars" + +#: lib/api.php:133 +msgid "Maximum Number of Events" +msgstr "Nombre maximal d'événements" + +#: lib/Block/summary.php:25 lib/Block/monthlist.php:27 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Nombre maximal d'événements à afficher (0 = pas de limite)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Mai" + +#: lib/Driver.php:2265 +msgid "Me" +msgstr "Moi" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Réunion" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Menu des alertes" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menu" + +#: templates/edit/edit.inc:168 templates/view/view.inc:62 +#: templates/prefs/default_alarm_management.inc:26 +msgid "Minute(s)" +msgstr "Minute(s)" + +#: lib/Block/month.php:107 lib/Views/Year.php:77 templates/edit/edit.inc:235 +#: templates/javascript/goto.js:59 +msgid "Mo" +msgstr "Lun" + +#: templates/edit/javascript.inc:67 templates/month/head.inc:17 +#: templates/view/view.inc:99 config/prefs.php.dist:114 +msgid "Monday" +msgstr "Lundi" + +#: attendees.php:173 lib/Kronolith.php:1744 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:93 +msgid "Month" +msgstr "Mois" + +#: config/prefs.php.dist:173 +msgid "Month and Week Views" +msgstr "Vues par mois et par semaine" + +#: config/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "Vues par mois, par semaine et par jour" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Mensuellement" + +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "Monthly: Recurs every" +msgstr "Mensuel : répétition tous les" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Mois à venir" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Mois précédent" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Vers le bas" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Vers le haut" + +#: lib/api.php:935 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Plusieurs composants iCalendar trouvés ; seulement un événement est supporté." + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Mes agendas :" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "Mon URL de disponibilités" + +#: lib/Forms/SubscribeRemoteCalendar.php:36 lib/Forms/EditCalendar.php:43 +#: lib/Forms/EditRemoteCalendar.php:36 lib/Forms/CreateCalendar.php:36 +#: templates/contacts/contacts.inc:188 +msgid "Name" +msgstr "Nom" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Nouvel événement" + +#: lib/Kronolith.php:401 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Nouvel agenda créé et partagé automatiquement avec le(s) groupe(s) suivant" +"(s) : %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Suivant" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Prochaines 24 heures" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Jour suivant " + +#: lib/FBView/month.php:31 templates/month/head_side_by_side.inc:7 +#: templates/month/head.inc:7 +msgid "Next Month" +msgstr "Mois suivant" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Semaine suivante " + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Année suivante" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Jour suivant" + +#: templates/search/search.inc:58 templates/week/head.inc:8 +msgid "Next week" +msgstr "Semaine suivante" + +#: config/prefs.php.dist:336 config/prefs.php.dist:349 +#: config/prefs.php.dist:370 +msgid "No" +msgstr "Non" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "Pas d'information" + +#: templates/edit/edit.inc:163 templates/view/view.inc:67 +msgid "No alarm" +msgstr "Aucune alerte" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Aucun participant" + +#: lib/api.php:1084 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Aucun participant n'a été modifié, car aucune des adresses fournies n'a été " +"trouvée dans liste des participants à l'événement." + +#: lib/Kronolith.php:1937 +msgid "No calendars are available to guests." +msgstr "Pas d'agenda disponible pour les invités." + +#: templates/edit/edit.inc:284 templates/view/view.inc:124 +msgid "No end date" +msgstr "Pas de date de fin" + +#: lib/Block/summary.php:208 lib/Block/monthlist.php:175 +#: lib/Block/prevmonthlist.php:166 +msgid "No events to display" +msgstr "Aucun événement à afficher" + +#: lib/FreeBusy.php:223 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" +"Aucune information sur les disponibilités n'est accessible à l'URL des " +"disponibilités de %s." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Aucune information sur les disponibilités de %s n'est accessible" + +#: lib/FreeBusy.php:224 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Aucune URL des disponibilités trouvée pour %s." + +#: lib/api.php:391 lib/api.php:649 lib/api.php:688 lib/api.php:942 +msgid "No iCalendar data was found." +msgstr "Aucune donnée iCalendar trouvée." + +#: lib/Driver.php:1287 lib/Recurrence.php:191 templates/edit/edit.inc:221 +msgid "No recurrence" +msgstr "Sans répétition" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "Aucune adresse de courrier trouvée" + +#: lib/Kronolith.php:1182 lib/Kronolith.php:1203 +#: templates/prefs/sourceselect.inc:35 +msgid "None" +msgstr "Aucune" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "Non trouvé" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Non trouvé" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Notifications" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Novembre" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Maintenant" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "Créateur d'objet" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Octobre" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Le" + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "Sur tous les agendas auxquels j'ai accès en lecture" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "Sur tous les agendas affichés" + +#: config/prefs.php.dist:337 config/prefs.php.dist:350 +#: config/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "Seulement sur mes agendas" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Seuls le propriétaire ou l'administrateur système peuvent modifier les " +"permissions d'un partage." + +#: lib/Kronolith.php:1200 +msgid "Optional" +msgstr "Optionnel" + +#: lib/FBView.php:118 +msgid "Optional Attendees" +msgstr "Participants optionnels" + +#: config/prefs.php.dist:68 +msgid "Other Options" +msgstr "Autres options" + +#: lib/FBView.php:153 +msgid "Overview" +msgstr "Synthèse" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Propriétaire" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Permissions du propriétaire" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "Propriétaire :" + +#: lib/Driver.php:2264 +#, php-format +msgid "Owner: %s" +msgstr "Propriétaire : %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "Mot de passe" + +#: templates/edit/edit.inc:216 templates/view/view.inc:93 +msgid "Pattern" +msgstr "Motif" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Effacer cet événement définitivement ?" + +#: lib/Kronolith.php:1866 lib/Kronolith.php:1881 lib/Kronolith.php:1892 +#: lib/api.php:519 lib/api.php:563 lib/api.php:595 lib/api.php:628 +#: lib/api.php:727 lib/api.php:780 lib/api.php:878 lib/api.php:912 +#: lib/api.php:1003 lib/api.php:1059 lib/api.php:1119 lib/api.php:1149 +#: lib/Driver/sql.php:782 +msgid "Permission Denied" +msgstr "Autorisation rejetée" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Permission refusée" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Veuillez corriger les adresses ambiguës ou invalides." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Options du système" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "Heure de rencontre possible" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Jour précédent" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Mois précédent" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Semaine précédente" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Jour précédent" + +#: config/prefs.php.dist:174 config/prefs.php.dist:186 +msgid "Print Views" +msgstr "Imprimer les vues" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Événements précédents" + +#: lib/Driver.php:1422 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Événement privé du %s au %s" + +#: lib/Driver.php:2209 lib/Driver.php:2210 +msgid "Private event" +msgstr "Événement privé" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Privé ?" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "Lire" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"Supprimer réellement l'agenda \"%s\" ? Cela ne pourra être annulé et toutes " +"les données de ce calendrier seront définitivement supprimées." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "Se désincrire réellement de l'agenda \"%s\" (%s)?" + +#: templates/edit/edit.inc:281 templates/view/view.inc:123 +msgid "Recur Until" +msgstr "Répéter jusqu'à" + +#: templates/edit/edit.inc:210 templates/view/view.inc:90 +msgid "Recurrence" +msgstr "Répétition" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Données de répétition" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Date de fin de répétition" + +#: lib/Driver.php:2042 +msgid "Recurrence End Day" +msgstr "Jour de fin de répétition" + +#: lib/Driver.php:2027 +msgid "Recurrence End Month" +msgstr "Mois de fin de répétition" + +#: lib/Driver.php:2010 +msgid "Recurrence End Year" +msgstr "Année de fin de répétition" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Intervalle de répétition" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Type de répétition" + +#: lib/Kronolith.php:1116 +msgid "Recurs daily" +msgstr "Répétition quotidienne" + +#: lib/Kronolith.php:1123 +msgid "Recurs monthly" +msgstr "Répétition mensuelle" + +#: lib/Kronolith.php:1119 +msgid "Recurs weekly" +msgstr "Répétition hebdomadaire" + +#: lib/Kronolith.php:1128 +msgid "Recurs yearly" +msgstr "Répétition annuelle" + +#: lib/Scheduler/kronolith.php:261 +#, php-format +msgid "Reminder: %s" +msgstr "Rappel : %s" + +#: templates/calendar_list.php:39 +msgid "Remote" +msgstr "Distant" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Agendas distants de :" + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Agendas distants :" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Retirer" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Retirer %s" + +#: attendees.php:164 +msgid "Remove Attendee" +msgstr "Retirer le participant" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Retirer la source" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"La suppression de données utilisateur n'est pas supportée avec la " +"configuration actuelle." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Remplacer le calendrier existant par celui importé ? Avertissement : " +"cela supprimera toutes les entrées de votre agenda courant." + +#: lib/Kronolith.php:1207 +msgid "Required" +msgstr "Requis" + +#: lib/FBView.php:97 lib/FBView.php:138 lib/FBView.php:141 lib/FBView.php:144 +msgid "Required Attendees" +msgstr "Participants requis" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Réinitialiser aux valeurs par défaut" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "Réponse" + +#: config/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Restreindre les vues journalières et hebdomadaires à ces plages, même " +"s'ilexiste des événements antérieurs ou ultérieurs ?" + +#: lib/Block/month.php:107 lib/Views/Year.php:82 templates/edit/edit.inc:240 +#: templates/javascript/goto.js:64 +msgid "Sa" +msgstr "Sam" + +#: templates/edit/javascript.inc:72 templates/month/head.inc:22 +#: templates/view/view.inc:104 +msgid "Saturday" +msgstr "Samedi" + +#: lib/Forms/EditCalendar.php:46 lib/Forms/EditRemoteCalendar.php:41 +#: templates/panel.inc:83 +msgid "Save" +msgstr "Enregistrer" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "Enregistrer %s" + +#: lib/Kronolith.php:1775 lib/Views/EditEvent.php:78 +#: lib/Views/EditEvent.php:88 templates/edit/edit.inc:40 +msgid "Save As New" +msgstr "Enregistrer en tant que nouveau" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Enregistrer les participants" + +#: new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "Enregistrer l'événement" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Enregistrer et terminer" + +#: search.php:91 lib/Block/tree_menu.php:26 +#: templates/contacts/contacts.inc:155 +#: templates/search/search_advanced.inc:114 templates/search/search.inc:67 +msgid "Search" +msgstr "Rechercher" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Résultats de la recherche" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Rechercher des agendas :" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Résultats de la recherche" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "La recherche des disponibilités n'est pas accessible." + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Sélectionnez une date" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Sélectionnez un groupe à ajouter" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Sélectionnez un groupe à ajouter :" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Sélectionnez un nouveau propriétaire :" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "Sélectionnez un utilisateur à ajouter :" + +#: config/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "" +"Sélectionnez les carnets d'adresses à utiliser pour l'ajout ou la recherche " +"d'adresses." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "" +"Sélectionner tous les champs lors d'une recherche pour développer une " +"adresse." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Sélection des options de confirmation, de la façon d'afficher les différents " +"écrans et choix de la vue par défaut." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Sélectionnez l'agenda dans lequel importer :" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Sélectionnez les agendas à partir desquels exporter" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Sélectionnez le format de l'exportation :" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Sélectionnez le fichier à importer :" + +#: config/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "La semaine commence le :" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Sélectionnez le format du fichier source :" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Sélectionnez la période à afficher :" + +#: config/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "Sélectionnez la vue à afficher lors de l'entrée dans l'application :" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Sélectionnez quels événements afficher dans le portail." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Carnets d'adresses sélectionnés :" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Adresses sélectionnées" + +#: templates/delete/one.inc:19 templates/delete/delete.inc:21 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Envoyer une notification d'annulation à tous les participants lors de la " +"suppression de cet événement ?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Envoyer un courrier à %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Envoyer des invitations à tous les participants ?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Envoyer les mises à jour à tous les participants" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Septembre" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Définir les valeurs par défaut pour les nouveaux événements." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Définir la date de fin" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Définir la date de la fin de la répétition" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Définir la date de début" + +#: config/prefs.php.dist:62 +#, fuzzy +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "" +"Affecter vos agendas de disponibilités et les options de disponibilités pour " +"vous et les autres utilisateurs." + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Agendas partagés :" + +#: templates/edit/javascript.inc:262 templates/perms/perms.inc:30 +#: templates/perms/perms.inc:57 templates/perms/perms.inc:86 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:127 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:168 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:209 +#: templates/perms/perms.inc:221 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:291 templates/perms/perms.inc:303 +#: templates/perms/perms.inc:337 +msgid "Show" +msgstr "Afficher" + +#: config/prefs.php.dist:218 +#, fuzzy +msgid "Show Free/Busy legend?" +msgstr "Montrer la légende des disponibilités ?" + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Montrer l'ensemble des options de l'agenda ?" + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Montrer la légende de la catégorie ?" + +#: config/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"Montrer les icônes de suppression, d'alarme et de répétition dans les vues " +"de l'agenda ?" + +#: config/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "" +"Montrer les événements extérieurs en utilisant les couleurs des catégories ?" + +#: config/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "N'afficher que les événements accompagnés d'une alerte ?" + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "Afficher les agendas partagés côte à côte ?" + +#: config/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "Montrer l'heure entre chacune des journées dans la vue par semaine ?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Déb_ut" + +#: data.php:56 +msgid "Start Date" +msgstr "Date de début" + +#: lib/Driver.php:1902 templates/data/export.inc:68 +msgid "Start Day" +msgstr "Jour de début" + +#: lib/Driver.php:1913 templates/data/export.inc:87 +msgid "Start Hour" +msgstr "Heure de début" + +#: lib/Driver.php:1923 templates/data/export.inc:102 +msgid "Start Minute" +msgstr "Minute de début" + +#: lib/Driver.php:1893 templates/data/export.inc:54 +msgid "Start Month" +msgstr "Mois de début" + +#: templates/search/event_headers.inc:7 templates/data/export.inc:37 +#: templates/view/view.inc:35 +msgid "Start On" +msgstr "Début le" + +#: data.php:57 +msgid "Start Time" +msgstr "Heure de début" + +#: lib/Driver.php:1882 templates/data/export.inc:39 +msgid "Start Year" +msgstr "Année de début" + +#: templates/edit/edit.inc:110 templates/search/search_advanced.inc:94 +msgid "Stat_us" +msgstr "Stat_ut" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "Statut" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "L'enregistrement des disponibilités n'est pas accessible." + +#: lib/Block/month.php:109 lib/Block/month.php:111 lib/Views/Year.php:75 +#: lib/Views/Year.php:84 templates/edit/edit.inc:241 +#: templates/javascript/goto.js:65 +msgid "Su" +msgstr "Dim" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "S'inscrire" + +#: lib/Forms/SubscribeRemoteCalendar.php:34 templates/calendar_list.php:15 +#, fuzzy +msgid "Subscribe to a Remote Calendar" +msgstr "Ajouter un nouvel agenda distant" + +#: templates/calendar_list.php:25 +#, fuzzy +msgid "Subscription URL" +msgstr "URL d'abonnement distant" + +#: templates/edit/javascript.inc:66 templates/month/head.inc:15 +#: templates/month/head.inc:24 templates/view/view.inc:105 +#: config/prefs.php.dist:113 +msgid "Sunday" +msgstr "Dimanche" + +#: lib/Kronolith.php:1155 lib/Kronolith.php:1178 +msgid "Tentative" +msgstr "Tentative" + +#: lib/Block/month.php:107 lib/Views/Year.php:80 templates/edit/edit.inc:238 +#: templates/javascript/goto.js:62 +msgid "Th" +msgstr "Jeu" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Le fichier %s ne contient aucun événement." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Le moteur de l'agenda n'est pas disponible actuellement." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Le moteur de l'agenda n'est pas disponible actuellement : %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "" +"L'écran d'édition des participants n'est plus présent. Sortie en cours." + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "L'agenda « %s » a été créé." + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "L'agenda « %s » a été supprimé." + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "L'agenda « %s » a été renommé « %s »." + +#: calendars/edit.php:46 calendars/remote_edit.php:49 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "L'agenda « %s » a été enregistré." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Purge impossible de l'agenda : « %s »" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "La date de fin doit être postérieure à la date de début." + +#: lib/Kronolith.php:1586 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "L'événement « %s » a été ajouté à l'agenda « %s », le %s à %s." + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"L'événement « %s » a été retiré de l'agenda « %s » ; il était le %s à %s." + +#: lib/Kronolith.php:1591 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "L'événement « %s » a été m. à j. dans l'agenda « %s », le %s à %s." + +#: lib/Kronolith.php:1476 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "La notification de l'événement à %s a bien été envoyée." + +#: lib/Kronolith.php:1430 +msgid "The following is a more detailed description of the event:" +msgstr "Voici une description plus détaillée de l'événement :" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "L'URL des disponibilités de %s n'est pas accessible." + +#: calendars/remote_unsubscribe.php:36 calendars/remote_edit.php:36 +msgid "The remote calendar was not found." +msgstr "L'agenda distant n'a pas été trouvé." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"La requête était incomplète. Il manque certains paramètres nécessaires pour " +"l'acceptation ou le refus d'un événement." + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "L'événement demandé n'a pas été trouvé." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Aucun événement ne correspond au présent critère." + +#: add.php:24 edit.php:46 edit.php:68 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Une erreur s'est produite lors de l'accès à l'agenda : %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Une erreur s'est produite lors de l'ajout de l'événement : %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Une erreur s'est produite lors de l'édition de l'événement : %s" + +#: lib/api.php:383 lib/api.php:641 lib/api.php:927 +msgid "There was an error importing the iCalendar data." +msgstr "Une erreur est survenue lors de l'importation des données iCalendar." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Une erreur est apparue lors du déplacement de l'événement : %s" + +#: lib/Kronolith.php:1481 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Une erreur est survenue lors de l'envoi de votre invitation à %s : %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Aucun événement à exporter n'a été trouvé." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Ce mois-ci" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Cet agenda ne peut être supprimé." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Ce format de fichier n'est pas pris en compte." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Il s'agit d'un événement répétitif. Supprimer l'événement courant seulement, " +"cette
      occurrence et toutes les suivantes, ou toutes les occurrences ?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Il s'agit d'un événement répétitif. Éditer l'événement courant seulement, " +"cette occurrence
      et toutes les suivantes, toutes les occurrences, ou " +"enregistrer cet événement en tant que nouveau ?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "Le serveur indique : %s" + +#: templates/edit/javascript.inc:70 templates/month/head.inc:20 +#: templates/view/view.inc:102 +msgid "Thursday" +msgstr "Jeudi" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "Pl_age :" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Plage" + +#: templates/edit/edit.inc:58 templates/search/search_advanced.inc:34 +msgid "Tit_le" +msgstr "Tit_re" + +#: data.php:55 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Titre" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "Titre :" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Pour sélectionner plusieurs items à la fois, maintenez enfoncé le bouton " +"« Ctrl » (PC) ou Command (Mac) en cliquant." + +#: templates/calendar_info.php:17 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" +"Pour s'inscrire à cet agenda à partir d'un autre logiciel, utilisez cette " +"URL : " + +#: lib/Block/summary.php:140 lib/Block/monthlist.php:132 +#: lib/Block/prevmonthlist.php:125 +msgid "Today" +msgstr "Aujourd'hui" + +#: lib/Block/summary.php:142 lib/Block/monthlist.php:134 +#: lib/Block/prevmonthlist.php:127 +msgid "Tomorrow" +msgstr "Demain" + +#: lib/Block/month.php:107 lib/Views/Year.php:78 templates/edit/edit.inc:236 +#: templates/javascript/goto.js:60 +msgid "Tu" +msgstr "Mar" + +#: templates/edit/javascript.inc:68 templates/month/head.inc:18 +#: templates/view/view.inc:100 +msgid "Tuesday" +msgstr "Mardi" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Type" + +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Connexion au serveur SQL impossible." + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Suppression impossible de « %s » : %s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Chargement impossible de la définition de %s." + +#: attendees.php:57 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "Impossible de reconnaître « %s » en tant qu'adresse." + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Impossible de renommer « %s » : %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Impossible de récupérer les informations de disponibilités de %s" + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Suppression impossible d'enregistrer l'agenda « %s » : %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Hors catégorie" + +#: lib/api.php:1215 lib/api.php:1244 +msgid "Unknown calendar protocol" +msgstr "Protocole d'agenda inconnu" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 templates/calendar_list.php:46 +msgid "Unsubscribe" +msgstr "Désinscrire" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "Désinscrire de %s" + +#: lib/api.php:456 lib/api.php:695 lib/api.php:751 lib/api.php:814 +#: lib/api.php:947 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Type de contenu non-supporté : %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Événements à venir" + +#: perms.php:256 +#, php-format +msgid "Updated \"%s\"." +msgstr "Mise à jour de « %s »." + +#: lib/Kronolith.php:1420 +#, php-format +msgid "Updated: %s." +msgstr "Mise à jour : %s" + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Interface utilisateur" + +#: templates/perms/perms.inc:256 +msgid "User to add:" +msgstr "Utilisateur à ajouter :" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +#, fuzzy +msgid "Username" +msgstr "Nom d'utilisateur" + +#: lib/Block/month.php:164 lib/Block/month.php:167 lib/Views/Year.php:156 +#: lib/Views/Year.php:162 +msgid "View Day" +msgstr "Voir le jour" + +#: lib/Block/month.php:107 lib/Views/Year.php:79 templates/edit/edit.inc:237 +#: templates/javascript/goto.js:61 +msgid "We" +msgstr "Mer" + +#: lib/Driver.php:1160 lib/Scheduler/kronolith.php:265 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Rappel d'un événement à venir.\n" +"\n" +"%s\n" +"\n" +"Lieu : %s\n" +"\n" +"Date : %s\n" +"Heure : %s\n" +"\n" +"%s" + +#: templates/edit/javascript.inc:69 templates/month/head.inc:19 +#: templates/view/view.inc:101 +msgid "Wednesday" +msgstr "Mercredi" + +#: attendees.php:172 lib/Kronolith.php:1742 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:91 +msgid "Week" +msgstr "Semaine" + +#: week.php:16 workweek.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Semaine %d" + +#: templates/edit/edit.inc:171 templates/view/view.inc:53 +#: templates/prefs/default_alarm_management.inc:29 +msgid "Week(s)" +msgstr "Semaine(s)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Hebdomadaire" + +#: templates/edit/edit.inc:232 templates/view/view.inc:106 +msgid "Weekly: Recurs every" +msgstr "Hebdomadaire : répétition chaque" + +#: config/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Dernière heure sur les écrans des jours et des semaines, quand il n'y a pas " +"d'événement ultérieur ?" + +#: config/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Première heure sur les écrans des jours et des semaines, quand il n'y a pas " +"d'événement antérieur ?" + +#: config/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Quelle sorte de congés voulez-vous voir affichés ?" + +#: attendees.php:171 lib/Kronolith.php:1740 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:92 +msgid "Work Week" +msgstr "Semaine ouvrable" + +#: lib/Kronolith.php:1746 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Année" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Annuellement" + +#: templates/edit/edit.inc:258 templates/edit/edit.inc:264 +#: templates/edit/edit.inc:270 templates/view/view.inc:112 +#: templates/view/view.inc:114 templates/view/view.inc:116 +msgid "Yearly: Recurs every" +msgstr "Annuellement : répétition chaque" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Vous n'êtes pas autorisé à changer cet agenda." + +#: new.php:19 data.php:41 data.php:261 edit.php:27 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Vous n'êtes pas autorisé à créer plus de %d événements." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Vous n'êtes pas autorisé à supprimer cet agenda." + +#: lib/api.php:142 +msgid "You are not allowed to remove user data." +msgstr "Vous n'êtes pas autorisé à supprimer des données utilisateur." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Vous n'êtes pas un des participants à l'événement spécifié." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"Ce formulaire ne peut être utilisé que depuis l'écran d'édition des " +"participants. " + +#: lib/Kronolith.php:1369 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Aucune adresse de messagerie n'est configurée dans votre profil. Vous devez " +"en définir une %sici%s avant que des notifications d'événements puissent " +"être envoyées." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Vous n'avez pas l'autorisation d'ajouter des événements à %s." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" +"Vous n'avez pas l'autorisation d'ajouter des événements à l'agenda " +"sélectionné." + +#: add.php:27 edit.php:162 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Vous n'avez pas l'autorisation de déléguer des événements à %s." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Vous n'avez pas l'autorisation de supprimer cet événement." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "Vous n'avez pas l'autorisation de modifier cet événement." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "Vous n'avez pas l'autorisation de déplacer cet événement." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "Vous avez été inscrits à \"%s\" (%s)." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "Vous avez été désinscrits de \"%s\" (%s)." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Vous avez indiqué un agenda invalide." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Vous avez accepté de participer à cet événement." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Vous avez refusé de participer à cet événement." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "Vous avez provisoirement accepté de participer à cet événement." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Il faut d'abord sélectionner une adresse." + +#: lib/Kronolith.php:1586 +msgid "You requested to be notified when events are added to your calendars." +msgstr "Vous avez demandé à être averti des événements ajoutés à vos agenda." + +#: lib/Kronolith.php:1596 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Vous avez demandé à être averti de la suppression d'événements dans vos " +"agendas." + +#: lib/Kronolith.php:1591 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Vous avez demandé à être notifié de la m. à j. d'événements dans vos agendas." + +#: lib/Scheduler/kronolith.php:406 lib/Scheduler/kronolith.php:408 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Votre agenda quotidien pour %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Votre agenda par défaut" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Mes agendas]" + +#: lib/Driver.php:1408 lib/Driver.php:1424 +msgid "[Unnamed event]" +msgstr "[Événement sans nom]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Alerte" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "_Recherche simple" + +#: lib/Kronolith.php:1775 +msgid "_Edit" +msgstr "Édit_er" + +#: lib/Kronolith.php:1952 +msgid "_Goto" +msgstr "Alle_r à" + +#: lib/Kronolith.php:1958 +msgid "_Import/Export" +msgstr "_Importer/Exporter" + +#: lib/Kronolith.php:1948 +msgid "_New Event" +msgstr "_Nouvel événement" + +#: lib/Kronolith.php:1963 +msgid "_Print" +msgstr "Im_primer" + +#: lib/Kronolith.php:1954 +msgid "_Search" +msgstr "_Recherche" + +#: lib/Kronolith.php:1943 +msgid "_Today" +msgstr "Au_jourd'hui" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "en tant que %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "avant le début de l'événement" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"avant le début de l'événement. Une valeur « 0 » signifie aucune alarme par " +"défaut." + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "jour" + +#: templates/edit/edit.inc:227 templates/view/view.inc:96 +msgid "day(s)" +msgstr "jour(s)" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "jours" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "dans" + +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "month(s)" +msgstr "mois" + +#: lib/Kronolith.php:1426 +#, php-format +msgid "on %s at %s" +msgstr "le %s à %s" + +#: templates/edit/edit.inc:247 templates/view/view.inc:108 +msgid "on the same date" +msgstr "à la même date" + +#: templates/edit/edit.inc:253 templates/view/view.inc:110 +msgid "on the same weekday" +msgstr "le même jour de la semaine" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "répétitions" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "semaine" + +#: templates/edit/edit.inc:234 templates/view/view.inc:106 +msgid "week(s) on:" +msgstr "semaine(s), le :" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "semaines" + +#: templates/edit/edit.inc:259 templates/view/view.inc:112 +msgid "year(s) on the same date" +msgstr "année(s) à la même date" + +#: templates/edit/edit.inc:265 templates/view/view.inc:114 +msgid "year(s) on the same day of the year" +msgstr "année(s) le même jour de l'année" + +#: templates/edit/edit.inc:271 templates/view/view.inc:116 +msgid "year(s) on the same weekday and month of the year" +msgstr "année(s) les mêmes jour et mois de l'année" diff --git a/kronolith/po/hu_HU.po b/kronolith/po/hu_HU.po new file mode 100644 index 000000000..80507101f --- /dev/null +++ b/kronolith/po/hu_HU.po @@ -0,0 +1,2572 @@ +# Kronolith Hungarian translation file. +# Copyright 2002-2008 Laszlo L. Tornoci +# This file is distributed under the same license as the Kronolith package. +# Latest versions: ftp://xenia.sote.hu/pub/linux/horde/ +# +# Laszlo L. Tornoci , 2008. +msgid "" +msgstr "" +"Project-Id-Version: Kronolith-h3-2.2\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2008-01-22 18:10+0100\n" +"PO-Revision-Date: 2008-01-27 14:57+0100\n" +"Last-Translator: Laszlo L. Tornoci \n" +"Language-Team: Hungarian \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " %s-ig" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " vég nélkül" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d elfoglaltság" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d alkalommal" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s nap %s óra %s perc" + +#: lib/Driver.php:2218 +#, php-format +msgid "%s attendees" +msgstr "%s résztvevõ" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "A %s fájl importálása sikeresen megtörtént" + +#: lib/api.php:221 lib/Kronolith.php:367 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "%s naptára" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Az OK gombra kattintva adjuk hozzá ezeket *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Kérjük válasszon cím(ek)et *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d alkalommal" + +#: lib/Driver.php:2217 +msgid "1 attendee" +msgstr "1 résztvevõ" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 elfoglaltság" + +#: config/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 óra" + +#: config/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 perc" + +#: config/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 perc" + +#: config/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 perc" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "de." + +#: lib/Kronolith.php:1172 +msgid "Accepted" +msgstr "elfogadva" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Részletes keresés" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Bevitel" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Új elfoglaltság" + +#: new.php:65 +msgid "Add a new event" +msgstr "Új elfoglaltság beírása" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Résztvevõk hozzáadása" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "adjuk hozzá" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Adjuk a résztvevõkhöz" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Címjegyzék" + +#: config/prefs.php.dist:69 +msgid "Address Books" +msgstr "Címjegyzékek" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Részletes keresés" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Figyelmeztetés" + +#: lib/Driver.php:2184 +#, php-format +msgid "Alarm %d days before" +msgstr "Figyelmeztetés %d nappal elõtte" + +#: lib/Driver.php:2189 +#, php-format +msgid "Alarm %d hours before" +msgstr "Figyelmeztetés %d órával elõtte" + +#: lib/Driver.php:2194 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Figyelmeztetés %d perccel elõtte" + +#: lib/Driver.php:2179 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Figyelmeztetés %d héttel elõtte" + +#: lib/Driver.php:2183 +msgid "Alarm 1 day before" +msgstr "Figyelmeztetés 1 nappal elõtte" + +#: lib/Driver.php:2188 +msgid "Alarm 1 hour before" +msgstr "Figyelmeztetés 1 órával elõtte" + +#: lib/Driver.php:2193 +msgid "Alarm 1 minute before" +msgstr "Figyelmeztetés 1 perccel elõtte" + +#: lib/Driver.php:2178 +msgid "Alarm 1 week before" +msgstr "Figyelmeztetés 1 héttel elõtte" + +#: data.php:61 +msgid "Alarm Date" +msgstr "A figyelmeztetés dátuma" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "A figyelmeztetés idõtartama (perc)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "A figyelmeztetés ideje" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "A figyelmeztetés idõegysége" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "A figyelmeztetés legyen" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "A figyelmeztetés aktiválva van" + +#: templates/delete/delete.inc:27 templates/edit/edit.inc:39 +msgid "All" +msgstr "az összeset" + +#: lib/FBView.php:127 lib/FBView.php:130 lib/FBView.php:133 +msgid "All Attendees" +msgstr "Az összes résztvevõ" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "Minden nem vendég felhasználó" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Az összes naptár" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "minden a jövõben" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "minden a múltban" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "Az összes látható" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2287 +#: lib/Views/Day.php:97 lib/Views/Day.php:100 lib/Views/Week.php:148 +#: lib/Views/Week.php:155 +msgid "All day" +msgstr "egész nap" + +#: lib/Block/summary.php:177 +msgid "All day event" +msgstr "Egésznapos elfoglaltság" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Az összes elfoglaltság" + +#: lib/api.php:664 lib/api.php:675 +msgid "Already Exists" +msgstr "Már létezik" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:1265 +msgid "Any" +msgstr "bármelyik" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "április" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr " " + +#: lib/Kronolith.php:1432 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Mellékelten található egy iCalendar állomány, mely további információval " +"szolgál az eseményrõl. Amennyiben az Ön levelezõprogramja támogatja az iTip " +"kéréseket, akkor a melléklet segítségével könnyen frissítheti a esemény " +"saját naptárában levõ példányának adatait." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Nemlétezõ közös tárterületet kísérelt meg módosítani." + +#: templates/attendees/attendees.inc:48 templates/attendees/attendees.inc:60 +#: templates/view/view.inc:172 +msgid "Attendance" +msgstr "Megjelenés" + +#: templates/attendees/attendees.inc:47 templates/view/view.inc:171 +msgid "Attendee" +msgstr "Résztvevõ" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "Résztvevõk" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "augusztus" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "A rendelkezésre álló címjegyzékek:" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "Keresés" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Születésnap" + +#: lib/FBView.php:89 lib/FBView.php:110 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Elfoglalt" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "Naptár" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "Naptár" + +#: templates/calendar_list.php:22 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Naptár" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Naptár információ" + +#: templates/calendar_list.php:19 +msgid "Calendar List" +msgstr "Naptárak" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Naptár összefoglaló" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "A naptárat sikeresen töröltük." + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:60 +msgid "Calendars" +msgstr "Naptárak" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Kinyomtatott naptárak: " + +#: data.php:270 +msgid "Can't create a new event." +msgstr "Nem lehetséges új elfoglaltság bevitele." + +#: templates/delete/one.inc:25 templates/delete/delete.inc:28 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 lib/Forms/DeleteCalendar.php:45 +#: lib/Forms/DeleteCalendar.php:51 +msgid "Cancel" +msgstr "Mégse" + +#: lib/Kronolith.php:1148 +msgid "Cancelled" +msgstr "elmarad" + +#: lib/Kronolith.php:1406 +#, php-format +msgid "Cancelled: %s" +msgstr "Elmarad: %s" + +#: lib/Driver/kolab.php:1332 +#, php-format +msgid "Cannot delete event: %s" +msgstr "A következõ elfoglaltság nem törölhetõ: %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "Kategória" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Kategória" + +#: templates/calendar_list.php:54 calendars/index.php:65 +msgid "Change Permissions" +msgstr "A jogosultságok módosítása" + +#: config/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Válassza ki, hogyan kíván figyelmeztetést kapni a módosuló ill. közeledõ " +"elfoglaltságokról." + +#: config/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "" +"Válassza ki, hogyan kíván figyelmeztetést kapni az így megjelölt " +"elfoglaltságokról:" + +#: config/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Válassza ki, kíván-e emailben értesítést kapni az új, módosult vagy törölt " +"elfoglaltságokról:" + +#: config/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "" +"Válassza ki, hogy kíván-e naponta emailben összefoglalót kapni aznapi " +"teendõirõl:" + +#: config/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "" +"Válassza ki, hogy kíván-e figyelmeztetést kapni az így megjelölt " +"elfoglaltságokról:" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "Melyik naptárakat rendeljük hozzá a következõ idõbeosztási URL-hez:" + +#: config/prefs.php.dist:440 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "Melyik naptárakat használjuk az idõbeosztási URL-ek létrehozásakor:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "" +"A címrészlet teljes címmé alakításakor milyen sorrendben keressen a gép a " +"címjegyzékekben." + +#: config/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "" +"Válassza ki, hogy mely nézetekben szerepeljenek az elfoglaltságok helyei:" + +#: config/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "" +"Válassza ki, hogy mely nézetekben szerepeljenek az elfoglaltságok kezdõ ill. " +"befejezési idõpontjai:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Válassza ki, hogy melyik ünnepeket jelenítsük meg" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Válassza ki az Ön alapértelmezés szerinti naptárát." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Töröljük az összes résztvevõt" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Kattintson az egyik kiválasztott címjegyzékre, majd válassza ki, hogy melyik " +"mezõkben történjen keresés." + +#: templates/calendar_list.php:40 templates/calendar_list.php:41 +#: templates/calendar_list.php:50 templates/calendar_list.php:51 +msgid "Click or copy this URL to display this calendar" +msgstr "Kattinson rá, vagy másolja át ezt az URL-t a naptár megjelenítéséhez" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Bezárás" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Az ablak bezárása" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Az ablak bezárása" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Vesszõvel elválasztott értékek" + +#: config/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "Az elfoglaltságok törlésekor kíván külön megerõsítést?" + +#: lib/Kronolith.php:1145 +msgid "Confirmed" +msgstr "biztos" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "" +"Ezt az URL-t használja, ha más helyrõl kívánja elérni az idõbeosztási " +"információit:" + +#: lib/Kronolith.php:459 +#, php-format +msgid "Could not open %s." +msgstr "%s nem nyitható meg." + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Létrehozás" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Naptár létrehozása" + +#: templates/week/head.inc:29 lib/Views/Day.php:97 lib/Views/Day.php:256 +#: lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "Új elfoglaltság bevitele" + +#: templates/calendar_list.php:10 +msgid "Create a new Local Calendar" +msgstr "Hozzunk egy új helyi naptárat" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Létrehozva" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:37 +msgid "Current" +msgstr "Jelenlegi" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "naponta" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "naponta: minden" + +#: attendees.php:170 lib/Kronolith.php:1738 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:90 +msgid "Day" +msgstr "nap" + +#: templates/prefs/default_alarm_management.inc:28 templates/view/view.inc:56 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "nap" + +#: lib/Kronolith.php:1780 +msgid "De_lete" +msgstr "Törlés" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "december" + +#: lib/Kronolith.php:1175 +msgid "Declined" +msgstr "elutasította" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "A figyelmeztetések alapértelmezett beállítása:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Az alapértelmezés szerinti naptár" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "Másnak átadni" + +#: templates/calendar_list.php:56 templates/delete/one.inc:24 +#: templates/perms/perms.inc:33 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:89 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:130 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:171 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:212 templates/perms/perms.inc:233 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:294 +#: templates/perms/perms.inc:315 templates/perms/perms.inc:349 +#: calendars/index.php:66 lib/Driver.php:1303 lib/Driver.php:2246 +#: lib/Forms/DeleteCalendar.php:45 +msgid "Delete" +msgstr "Törlés" + +#: lib/Driver.php:2245 lib/Views/DeleteEvent.php:29 +#: lib/Forms/DeleteCalendar.php:40 +#, php-format +msgid "Delete %s" +msgstr "%s törlése" + +#: lib/Driver.php:1302 +#, php-format +msgid "Delete exception on %s" +msgstr "A %s kivétel törlése" + +#: templates/search/search_advanced.inc:103 templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "Leírás" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "Leírás" + +#: data.php:63 templates/view/view.inc:155 lib/Forms/EditCalendar.php:44 +#: lib/Forms/CreateCalendar.php:37 +msgid "Description" +msgstr "Leírás" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Megjelenítés" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Megjelenítési beállítások" + +#: templates/calendar_list.php:24 +msgid "Display URL" +msgstr "Megjelenítési URL" + +#: lib/Kronolith.php:1113 +msgid "Does not recur" +msgstr "nem ismétlõdik" + +#: config/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"Ne kapjak tájékoztatást az elfoglaltság módosítása ill. törlése esetén?" + +#: lib/Kronolith.php:677 +#, php-format +msgid "Due: %s" +msgstr "Határidõ: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Meddig tart" + +#: lib/Driver.php:1976 +msgid "Duration Day" +msgstr "Meddig tart (nap)" + +#: lib/Driver.php:1988 +msgid "Duration Hour" +msgstr "Meddig tart (óra)" + +#: lib/Driver.php:1999 +msgid "Duration Minute" +msgstr "Meddig tart (perc)" + +#: templates/calendar_list.php:42 templates/calendar_list.php:52 +#: templates/perms/perms.inc:32 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:88 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:129 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:170 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:211 templates/perms/perms.inc:229 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:293 +#: templates/perms/perms.inc:311 templates/perms/perms.inc:345 +#: calendars/index.php:64 lib/Driver.php:2239 +msgid "Edit" +msgstr "Módosítás" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2238 +#: lib/Views/EditEvent.php:29 lib/Forms/EditRemoteCalendar.php:34 +#: lib/Forms/EditCalendar.php:40 +#, php-format +msgid "Edit %s" +msgstr "%s módosítása" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "A résztvevõk módosítása" + +#: perms.php:262 +msgid "Edit Permissions" +msgstr "Jogosultság módosítás" + +#: perms.php:264 +#, php-format +msgid "Edit Permissions for %s" +msgstr "\"%s\" jogosultságainak módosítása" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Résztvevõ módosítása" + +#: attendees.php:234 +msgid "Edit attendees" +msgstr "A résztvevõk módosítása" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "A kategóriák és színeik módosítása" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "\"%s\" jogosultságainak módosítása" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Email cím" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "Végzõdik" + +#: data.php:58 +msgid "End Date" +msgstr "A befejezés dátuma" + +#: templates/data/export.inc:161 lib/Driver.php:1947 +msgid "End Day" +msgstr "A befejezés napja" + +#: templates/data/export.inc:178 lib/Driver.php:1960 +msgid "End Hour" +msgstr "A befejezés órája" + +#: templates/data/export.inc:190 lib/Driver.php:1971 +msgid "End Minute" +msgstr "A befejezés perce" + +#: templates/data/export.inc:148 lib/Driver.php:1938 +msgid "End Month" +msgstr "A befejezés hónapja" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:41 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "Végzõdik" + +#: data.php:59 +msgid "End Time" +msgstr "A befejezés ideje" + +#: templates/data/export.inc:134 lib/Driver.php:1927 +msgid "End Year" +msgstr "A befejezés éve" + +#: attendees.php:216 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Nem sikerült megtudni %s idõbeosztását: %s" + +#: attendees.php:196 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Nem sikerült megtudni az Ön idõbeosztását: %s" + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Az elfoglaltságok alapértelmezett értékei" + +#: lib/Kronolith.php:1585 +msgid "Event added:" +msgstr "Új esemény:" + +#: lib/Kronolith.php:1595 +msgid "Event deleted:" +msgstr "Törölt elfoglaltásg: " + +#: lib/Kronolith.php:1590 +msgid "Event edited:" +msgstr "Módosított elfoglaltság:" + +#: lib/Driver.php:1426 +#, php-format +msgid "Event from %s to %s" +msgstr "%s és %s közötti elfoglaltságok" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "Az esemény nem található" + +#: lib/Driver/kolab.php:431 lib/Driver/kolab.php:1158 +#: lib/Driver/kolab.php:1185 lib/Driver/kolab.php:1314 +#, php-format +msgid "Event not found: %s" +msgstr "Az esemény nem található: %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:50 +msgid "Events" +msgstr "Elfoglaltságok" + +#: lib/Driver.php:1034 +msgid "Events must have a start date." +msgstr "Az elfoglaltságoknak kell, hogy legyen egy kezdõ idõpontja." + +#: lib/Driver.php:996 +msgid "Events must have a title." +msgstr "Az elfoglaltságoknak kell, hogy legyen egy neve." + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "Kivételek" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "Exportálás" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Naptár exportálás" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Külsõ elfoglaltságok:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "február" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "A keresendõ mezõk" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Keressük" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Views/Year.php:81 lib/Block/month.php:107 +msgid "Fr" +msgstr "Pé" + +#: lib/Kronolith.php:1151 +msgid "Free" +msgstr "Szabad" + +#: config/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "Idõbeosztási információ" + +#: templates/month/head.inc:21 templates/view/view.inc:103 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "péntek" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:38 +msgid "Future" +msgstr "Jövõ" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Játék" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Általános adatok" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Ugrás ide: %s" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "Csoportok" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "Vendég jogosultságok" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Ne mutassuk" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Ünnepek" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:59 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "óra" + +#: config/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "A napi és heti nézetekben meddig tartsanak az idõsávok?" + +#: config/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "Hány napra elõre készüljön el az Ön idõbeosztása?" + +#: lib/Kronolith.php:1436 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Ha az Ön levelezõprogramja nem támogatja az iTip kéréseket, akkor az alábbi " +"linkeket használhatja egy eseményre való meghívás elfogadására vagy " +"elutasítására.\n" +"\n" +"A meghívás elfogadása:\n" +"%s\n" +"\n" +"A meghívás feltételes elfogadása:\n" +"%s\n" +"\n" +"A meghívás elutasítása:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Naptár importálás, %d. lépés" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Naptár importálása/exportálása" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "Egyes felhasználók" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "január" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "július" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "június" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "Kulcsszavak" + +#: templates/calendar_list.php:23 +msgid "Kind" +msgstr "Fajta" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "az elmúlt 24 óra" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Utolsó módosítás" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Múlt hónap" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Múlt év" + +#: templates/search/search.inc:54 templates/week/head.inc:6 +msgid "Last week" +msgstr "múlt hét" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Korlátozzuk az exportálandó adatok idõintervallumát:" + +#: config/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Listázzuk ki az össze partnert a címjegyzék behívásakor? (ha nem, akkor csak " +"azok a partnerek jelennek meg, melyekre rákeres)" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "Hely" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Betöltés..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Betöltés..." + +#: templates/calendar_list.php:49 +msgid "Local" +msgstr "Helyi" + +#: templates/calendar_info.php:16 +#, php-format +msgid "Local calendar owned by %s." +msgstr "A helyi naptár tulajdonosa %s." + +#: data.php:65 templates/search/event_headers.inc:5 templates/view/view.inc:14 +#: lib/Driver.php:2269 +msgid "Location" +msgstr "Hely" + +#: templates/calendar_list.php:4 calendars/index.php:70 +msgid "Manage Calendars" +msgstr "Naptárak kezelése" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "március" + +#: lib/api.php:133 +msgid "Maximum Number of Events" +msgstr "Az események maximális száma" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Legfeljebb hány eseményt jelenítsünk meg (0 = akárhányat)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "május" + +#: lib/Driver.php:2265 +msgid "Me" +msgstr "Én" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Megbeszélés" + +#: 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" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:62 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "perc" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Views/Year.php:77 lib/Block/month.php:107 +msgid "Mo" +msgstr "Hé" + +#: templates/month/head.inc:17 templates/view/view.inc:99 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:114 +msgid "Monday" +msgstr "hétfõ" + +#: attendees.php:173 lib/Kronolith.php:1744 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:93 +msgid "Month" +msgstr "hónap" + +#: config/prefs.php.dist:173 +msgid "Month and Week Views" +msgstr "Havi és heti megjelenítés" + +#: config/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "Havi, heti és napi megjelenítés" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "havonta" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "havonta: ismétlõdik minden" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "hónapokkal elõre" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "hónappal korábban" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "vigyük lejjebb" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "vigyük följebb" + +#: lib/api.php:935 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Több iCalendar komponens van jelen; csak egy vEvent használata támogatott." + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Az én naptáraim:" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "Idõbeosztási web címem" + +#: templates/contacts/contacts.inc:188 +#: lib/Forms/SubscribeRemoteCalendar.php:36 +#: lib/Forms/EditRemoteCalendar.php:36 lib/Forms/EditCalendar.php:43 +#: lib/Forms/CreateCalendar.php:36 +msgid "Name" +msgstr "Név" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Új elfoglaltság" + +#: lib/Kronolith.php:401 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Új naptárt hoztunk létre, melyet automatikusan megosztunk a következõ " +"csoportokkal: %s" + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Következõ" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "a következõ 24 óra" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "másnap" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "következõ hónap" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "következõ hét" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "következõ év" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Másnap" + +#: templates/search/search.inc:58 templates/week/head.inc:8 +msgid "Next week" +msgstr "következõ hét" + +#: config/prefs.php.dist:336 config/prefs.php.dist:349 +#: config/prefs.php.dist:370 +msgid "No" +msgstr "Nem" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "Nincs információ" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "Nincs figyelmeztetés" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "nincsenek résztvevõk" + +#: lib/api.php:1084 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Egy meghívott sem kapott értesítést, mert a megadott email címek közül " +"egysem szerepelt a meghívottak listájában." + +#: lib/Kronolith.php:1937 +msgid "No calendars are available to guests." +msgstr "A vendég felhasználók részére nem áll rendelkezésre naptár." + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "nincs vége" + +#: lib/Block/prevmonthlist.php:166 lib/Block/monthlist.php:175 +#: lib/Block/summary.php:208 +msgid "No events to display" +msgstr "Nincs megjeleníthetõ elfoglaltság" + +#: lib/FreeBusy.php:223 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "%s idõbeosztási adatai nem érhetõk el." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "%s idõbeosztási adatai nem érhetõk el" + +#: lib/FreeBusy.php:224 +#, php-format +msgid "No free/busy url found for %s." +msgstr "%s-hoz nincs idõbeosztási URL." + +#: lib/api.php:391 lib/api.php:649 lib/api.php:688 lib/api.php:942 +msgid "No iCalendar data was found." +msgstr "Nem található iCalendar adat." + +#: templates/edit/edit.inc:221 lib/Recurrence.php:191 lib/Driver.php:1287 +msgid "No recurrence" +msgstr "Nincs ismétlõdés" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "Nem található érvényes email cím" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1182 +#: lib/Kronolith.php:1203 +msgid "None" +msgstr "nincs" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "nem található" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "nem található" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Emailben történõ értesítés" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "november" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "most" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "Az objektum létrehozója" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "október" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "dátum" + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "Az összes naptárban, amihez hozzáférek" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "Minden megjelenített naptárban" + +#: config/prefs.php.dist:337 config/prefs.php.dist:350 +#: config/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "Csak a saját naptáraimban" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Csak a tulajdonos vagy a rendszergazda változtathatja meg egy közös " +"tárterület tulajdonosát vagy elérési jogosultságait" + +#: lib/Kronolith.php:1200 +msgid "Optional" +msgstr "választható" + +#: lib/FBView.php:118 +msgid "Optional Attendees" +msgstr "Opcionális résztvevõk" + +#: config/prefs.php.dist:68 +msgid "Other Options" +msgstr "Egyéb beállítások" + +#: lib/FBView.php:153 +msgid "Overview" +msgstr "Áttekintés" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Tulajdonos" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "A tulajdonos jogosultságai" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "Tulajdonos:" + +#: lib/Driver.php:2264 +#, php-format +msgid "Owner: %s" +msgstr "Tulajdonos: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "du." + +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "Jelszó" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "Módja" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Véglegesen töröljük ki ezt az elfoglaltságot?" + +#: lib/api.php:519 lib/api.php:563 lib/api.php:595 lib/api.php:628 +#: lib/api.php:727 lib/api.php:780 lib/api.php:878 lib/api.php:912 +#: lib/api.php:1003 lib/api.php:1059 lib/api.php:1119 lib/api.php:1149 +#: lib/Kronolith.php:1866 lib/Kronolith.php:1881 lib/Kronolith.php:1892 +#: lib/Driver/sql.php:782 +msgid "Permission Denied" +msgstr "Önnek nincs ehhez elegendõ jogosultsága" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Ehhez nincs megfelelõ jogosultsága" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Kérem javítsa ki a hibás vagy nem egyértelmû címeket." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Személyes kezdõoldal" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "A találkozó lehetséges idõpontja" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "elõzõ nap" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Elõzõ hónap" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "elõzõ hét" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Elõzõ nap" + +#: config/prefs.php.dist:174 config/prefs.php.dist:186 +msgid "Print Views" +msgstr "Nyomatón való megjelenítés" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Korábbi események" + +#: lib/Driver.php:1422 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Személyes elfoglaltság %s és %s között" + +#: lib/Driver.php:2209 lib/Driver.php:2210 +msgid "Private event" +msgstr "Személyes elfoglaltság" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Személyes?" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "Olvasás" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"Valóban törölni kívánja \"%s\" naptárt? Ez nem visszafordítható lépés, és a " +"naptárban levõ összes adatot végérvényesen törli." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "" +"Valóban használaton kívülre kívánja helyezni (unsubscribe) \"%s\" (%s) " +"naptárt?" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "Meddig ismétlõdik" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "Ismétlõdési adatok" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Ismétlõdési adatok" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Az ismétlõdés vége" + +#: lib/Driver.php:2042 +msgid "Recurrence End Day" +msgstr "Az ismétlõdés vége: nap" + +#: lib/Driver.php:2027 +msgid "Recurrence End Month" +msgstr "Az ismétlõdés vége: hónap" + +#: lib/Driver.php:2010 +msgid "Recurrence End Year" +msgstr "Az ismétlõdés vége: év" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Az ismétlõdési idõ" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Az ismétlõdés fajtája" + +#: lib/Kronolith.php:1116 +msgid "Recurs daily" +msgstr "Naponta ismétlõdik" + +#: lib/Kronolith.php:1123 +msgid "Recurs monthly" +msgstr "Havonta ismétlõdik" + +#: lib/Kronolith.php:1119 +msgid "Recurs weekly" +msgstr "Hetente ismétlõdik" + +#: lib/Kronolith.php:1128 +msgid "Recurs yearly" +msgstr "Évente ismétlõdik" + +#: lib/Scheduler/kronolith.php:261 +#, php-format +msgid "Reminder: %s" +msgstr "Emlékeztetõ: %s" + +#: templates/calendar_list.php:39 +msgid "Remote" +msgstr "Távoli" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Távoli naptár:" + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Távoli naptárak:" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Törlés" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "%s törlése" + +#: attendees.php:164 +msgid "Remove Attendee" +msgstr "A meghívott eltávolítása" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "távolítsuk el" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Felhasználói adatok törlését nem támogatja a jelenlegi naptáralrendszer " +"meghajtója." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Írjuk felül a jelenlegi naptárt az importálttal? Figyelmeztetés: ez " +"kitörli az összes adatot a jelenlegi naptárból!" + +#: lib/Kronolith.php:1207 +msgid "Required" +msgstr "szükséges" + +#: lib/FBView.php:97 lib/FBView.php:138 lib/FBView.php:141 lib/FBView.php:144 +msgid "Required Attendees" +msgstr "Szükséges résztvevõk" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Kezdjük újra a kitöltést" + +#: templates/attendees/attendees.inc:49 templates/view/view.inc:173 +msgid "Response" +msgstr "Válasz" + +#: config/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Korlátozzuk a napi és heti megjelenítést erre az idõtartamra akkor is, ha " +"van korábbi vagy késõbbi elfoglaltság?" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Views/Year.php:82 lib/Block/month.php:107 +msgid "Sa" +msgstr "Szo" + +#: templates/month/head.inc:22 templates/view/view.inc:104 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "szombat" + +#: templates/panel.inc:83 lib/Forms/EditRemoteCalendar.php:41 +#: lib/Forms/EditCalendar.php:46 +msgid "Save" +msgstr "Mentés" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "%s mentése" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1775 +#: lib/Views/EditEvent.php:78 lib/Views/EditEvent.php:88 +msgid "Save As New" +msgstr "Újként mentsük el" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Résztvevõk mentése" + +#: new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "Az elfoglaltság mentése" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Mentés és befejezés" + +#: search.php:91 templates/search/search_advanced.inc:114 +#: templates/search/search.inc:67 templates/contacts/contacts.inc:155 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Keresés" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "A keresés eredménye" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Naptárak keresése:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "A keresés eredménye" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Az idõbeosztási információk nem kereshetõek." + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Válasszon ki egy dátumot" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Melyik csoportot kívánja hozzáadni:" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Melyik csoportot kívánja hozzáadni:" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Válassza ki az új tulajdonost:" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "Melyik felhasználót kívánja hozzáadni:" + +#: config/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "" +"Kiválasztható, hogy melyik címjegyzékekhez kíván hozzátenni, ill. melyekben " +"kíván keresni." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "" +"A címrészlet teljes címmé alakításakor a címjegyzékek minden mezõjében " +"történjen keresés?" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Megerõsítési opciók, különbözõ nézetek megjelenítési formájái, ill. az " +"alapértelmezett nézet állítható be." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Válassza ki, melyik naptárba kívánja az adatokat importálni:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Válassza ki, melyik naptár(ak)ból kíván adatokat exportálni" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Válassza ki az exportálás formátumát:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Válassza ki az importálandó fájlt:" + +#: config/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "Válassza ki a hét elsõ napját:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Válassza ki az importálandó fájl formátumát:" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Válassza ki, hogy milyen idõintervallumot jelenítsünk meg:" + +#: config/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "Válassza ki, hogy milyen nézet jelenjen meg a bejelentkezés után:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "" +"Megadható, hogy milyen elfoglaltságokat jelenítsünk meg az összefoglaló " +"nézetben." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "A kiválasztott címjegyzékek:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "A kiválasztott címek" + +#: templates/delete/one.inc:19 templates/delete/delete.inc:21 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Az esemény törlése esetén küldjünk tájékoztatást annak elmaradásáról az " +"összes résztvevõnek?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Levélküldés %s-nek" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Küldjünk meghívást az összes résztvevõnek?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "" +"Küldjünk programváltozási információt az összes résztvevõnek ennek az " +"elfoglaltságnak a módosításakor?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "szeptember" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Az új elfoglaltságok alapértelmezett értékeinek beállítása." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "A befejezés dátuma" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Az ismétlõdés vége" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "A kezdet dátuma" + +#: config/prefs.php.dist:62 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "Az idõbeosztási információk beállításai." + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Közösen használt naptárak:" + +#: templates/perms/perms.inc:30 templates/perms/perms.inc:57 +#: templates/perms/perms.inc:86 templates/perms/perms.inc:98 +#: templates/perms/perms.inc:127 templates/perms/perms.inc:139 +#: templates/perms/perms.inc:168 templates/perms/perms.inc:180 +#: templates/perms/perms.inc:209 templates/perms/perms.inc:221 +#: templates/perms/perms.inc:262 templates/perms/perms.inc:291 +#: templates/perms/perms.inc:303 templates/perms/perms.inc:337 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "Megjelenítés" + +#: config/prefs.php.dist:218 +msgid "Show Free/Busy legend?" +msgstr "Jelöljük a szabad/elfoglalt idõszakokat?" + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Mutassuk a naptár beállítási lehetõségeit?" + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Jelezzük külön a megjelenített események kategóriáit?" + +#: config/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"A naptár megjelenítésekor legyenek-e ikonok a törlési funkcióhoz, ill. a " +"figyelmeztetési, ismétlõdési beállítások jelzésére?" + +#: config/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "" +"A külsõ eseményekhez is használjuk a rendszerben beállított kategóriák " +"színeit?" + +#: config/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "" +"Csak azokat az elfoglaltságokat mutassuk, amikhez figyelmeztetés van " +"rendelve?" + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "A megosztott naptárakat egymás mellett ábrázoljuk?" + +#: config/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "A heti nézetben mutassuk az órákat a napok oszlopai között is?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Kezdõdik" + +#: data.php:56 +msgid "Start Date" +msgstr "Kezdõ dátum" + +#: templates/data/export.inc:68 lib/Driver.php:1902 +msgid "Start Day" +msgstr "Kezdet (nap)" + +#: templates/data/export.inc:87 lib/Driver.php:1913 +msgid "Start Hour" +msgstr "Kezdet (óra)" + +#: templates/data/export.inc:102 lib/Driver.php:1923 +msgid "Start Minute" +msgstr "Kezdet (perc)" + +#: templates/data/export.inc:54 lib/Driver.php:1893 +msgid "Start Month" +msgstr "Kezdet (hónap)" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:35 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Kezdõdik" + +#: data.php:57 +msgid "Start Time" +msgstr "Kezdési idõ" + +#: templates/data/export.inc:39 lib/Driver.php:1882 +msgid "Start Year" +msgstr "Kezdet (év)" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "Állapot" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "Állapot" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Az elfoglaltsági információk nem menthetõk el." + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:109 +#: lib/Block/month.php:111 +msgid "Su" +msgstr "Va" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "Használatba vétel (subscribe)" + +#: templates/calendar_list.php:15 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "Távoli naptár használatba vétele" + +#: templates/calendar_list.php:25 +msgid "Subscription URL" +msgstr "Használatba vételi web cím" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/view/view.inc:105 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:113 +msgid "Sunday" +msgstr "vasárnap" + +#: lib/Kronolith.php:1155 lib/Kronolith.php:1178 +msgid "Tentative" +msgstr "tervezett" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Views/Year.php:80 lib/Block/month.php:107 +msgid "Th" +msgstr "Csü" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "A(z) %s állományban nem volt elfoglaltsági adat." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "A naptár alrendszer jelenleg nem áll rendelkezésre." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "A naptár alrendszer jelenleg nem áll rendelkezésre: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "" +"A \"Résztvevõk módosítása\" képernyõ már zárva van. Kilépés következik." + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "A(z) \"%s\" naptárt létrehoztuk." + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "A \"%s\" naptárt kitöröltük." + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "A \"%s\" naptárt átnevezzük \"%s\"-re." + +#: calendars/edit.php:46 calendars/remote_edit.php:49 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "A \"%s\" naptárt elmentettük." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "A naptár nem törölhetõ: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "A befejezés dátuma késõbb kel legyen, mint a kezdeté." + +#: lib/Kronolith.php:1586 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" +"A(z) \"%s\" esemény megjelent az Ön \"%s\" naptárában. Dátum: %s, idõpont: %" +"s." + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"A(z) \"%s\" esemény törlõdött a \"%s\" naptárból. Dátum: %s, idõpont: %s." + +#: lib/Kronolith.php:1591 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"A(z) \"%s\" esemény módosult a \"%s\" naptárban. Dátum: %s, idõpont: %s." + +#: lib/Kronolith.php:1476 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Az eseményrõl levelet küldtünk %s részére." + +#: lib/Kronolith.php:1430 +msgid "The following is a more detailed description of the event:" +msgstr "Az esemény részletes leírása:" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "%s idõbeosztása nem kapható meg." + +#: calendars/remote_unsubscribe.php:36 calendars/remote_edit.php:36 +msgid "The remote calendar was not found." +msgstr "A távoli naptár nem található." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"A kérés nem volt teljes. Valamilyen paraméter hiányzik ahhoz, hogy az " +"eseményre történõ meghívást elfogadjuk vagy elutasítsuk." + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "A kívánt esemény nem található." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Nincs a kritériumoknak megfelelõ elfoglaltság." + +#: edit.php:46 edit.php:68 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Hiba történt a naptár elérésekor: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Az elfoglaltság hozzáadása során hiba történt: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Az elfoglaltság módosítása során hiba történt: %s" + +#: lib/api.php:383 lib/api.php:641 lib/api.php:927 +msgid "There was an error importing the iCalendar data." +msgstr "Az iCalendar adatok importálása során hiba történt." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Az elfoglaltság áthelyezése során hiba történt: %s" + +#: lib/Kronolith.php:1481 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "" +"Hiba történt, amikor az eseményrõl tájékoztatást akartunk küldeni %s " +"részére: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Nem volt exportálható elfoglaltság." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Jelen hónap" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Ez a naptár nem törölhetõ." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Ismeretlen fájlformátum." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Ez egy ismétlõdõ elfoglaltság. Csak ezt az elfoglaltságot töröljük, vagy ezt " +"és az összes jövõbelit, vagy pedig az összeset, idõponttól függetlenül?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Ez egy ismétlõdõ elfoglaltság. Csak ezt az elfoglaltságot módosítsuk, vagy " +"ezt és az összes jövõbelit, idõponttól függetenül az összeset, vagy inkább " +"mentsük el egy új elfoglaltságként?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "A szerver üzenete: %s" + +#: templates/month/head.inc:20 templates/view/view.inc:102 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "csütörtök" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "Idõtartam:" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Idõtartam" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "Elnevezés" + +#: data.php:55 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Elnevezés" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "Elnevezés:" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Ha több mezõt kíván kijelölni, akkor tartsa nyomva a Control (PC-n) ill. " +"Command (Mac-en) billentyût, és úgy kattintson az egérrel a további mezõkre." + +#: templates/calendar_info.php:17 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" +"Ha ezt a naptárt egy másik programból is használni akarja, ezen a web címen " +"keresztül teheti meg:" + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:140 +msgid "Today" +msgstr "Ma" + +#: lib/Block/prevmonthlist.php:127 lib/Block/monthlist.php:134 +#: lib/Block/summary.php:142 +msgid "Tomorrow" +msgstr "Holnap" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Views/Year.php:78 lib/Block/month.php:107 +msgid "Tu" +msgstr "Ke" + +#: templates/month/head.inc:18 templates/view/view.inc:100 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "kedd" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Típus" + +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Az SQL szerver nem érhetõ el." + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "\"%s\" törlése nem sikerült: %s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Nem sikerült beolvasni %s definícióját." + +#: attendees.php:57 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "\"%s\" nem érvényes email cím." + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "\"%s\" átnevezése nem sikerült: %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Nem sikerült elérni %s idõbeosztási adatait." + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "\"%s\" naptár mentése nem sikerült: %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "besorolatlan" + +#: lib/api.php:1215 lib/api.php:1244 +msgid "Unknown calendar protocol" +msgstr "Ismeretlen naptár protokoll" + +#: templates/calendar_list.php:46 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "A használatba vétel megszüntetése (unsubscribe)" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "%s használaton kívül helyezése (unsubscribe)" + +#: lib/api.php:456 lib/api.php:695 lib/api.php:751 lib/api.php:814 +#: lib/api.php:947 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Nem támogatott tartalomtípus: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Közeljövõbeli elfoglaltságok" + +#: perms.php:256 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" változásait elmentettük." + +#: lib/Kronolith.php:1420 +#, php-format +msgid "Updated: %s." +msgstr "%s változásait elmentettük." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "A program használata" + +#: templates/perms/perms.inc:256 +msgid "User to add:" +msgstr "A hozzáadandó felhasználó:" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +msgid "Username" +msgstr "Felhasználói név" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:164 +#: lib/Block/month.php:167 +msgid "View Day" +msgstr "Napi megjelenítés" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Views/Year.php:79 lib/Block/month.php:107 +msgid "We" +msgstr "Sze" + +#: lib/Driver.php:1160 lib/Scheduler/kronolith.php:265 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Emlékeztetni szeretnénk a következõ eseményre.\n" +"\n" +"%s\n" +"\n" +"Hely: %s\n" +"\n" +"Dátum: %s\n" +"Idõpont: %s\n" +"\n" +"%s" + +#: templates/month/head.inc:19 templates/view/view.inc:101 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "szerda" + +#: attendees.php:172 lib/Kronolith.php:1742 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:91 +msgid "Week" +msgstr "hét" + +#: workweek.php:16 week.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "%d. hét" + +#: templates/prefs/default_alarm_management.inc:29 templates/view/view.inc:53 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "hét" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "hetente" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "hetente: ismétlõdik minden" + +#: config/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Hány óráig mutassuk az idõt a napi ill. heti nézetben, ha nincs késõbbi " +"elfoglaltság?" + +#: config/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Hány órátõl kezdve mutassuk az idõt a napi ill. heti nézetben, ha nincs " +"korábbi elfoglaltság?" + +#: config/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Milyen fajta ünnepeket szeretne megjelentetni?" + +#: attendees.php:171 lib/Kronolith.php:1740 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:92 +msgid "Work Week" +msgstr "munkahét" + +#: lib/Kronolith.php:1746 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "év" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "évente" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "évente: ismétlõdik minden" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Ön nem jogosult ezt a naptárat módosítani." + +#: edit.php:27 data.php:41 data.php:261 new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Ön legfeljebb %d eseményt hozhat létre." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Ön nem jogosult törölni ezt a naptárat." + +#: lib/api.php:142 +msgid "You are not allowed to remove user data." +msgstr "Ön nem jogosult felhasználói adatokat törölni." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Ön nem résztvevõje a megadott eseménynek." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Ez az ablak csak a \"Résztvevõk módosítása\" képernyõrõl hívható meg." + +#: lib/Kronolith.php:1369 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Nincs megadva az email címe az Ön személyes adatainak beállításai között. " +"Ezt be kell állítania %sitt%s ahhoz, hogy eseményekre szóló meghívókat " +"küldhessen a rendszer." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Önnek nincs jogosultsága elfoglaltságokat beírnia %s-be." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" +"Önnek nincs jogosultsága elfoglaltságokat beírnia a kiválasztott naptárba." + +#: edit.php:162 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "" +"Önnek nincs jogosultsága ahhoz, hogy elfoglaltságokat adjon át %s " +"felhasználónak." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Önnek nincs jogosultsága törölni ezt az elfoglaltságot." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "Önnek nincs jogosultsága módosítani ezt az elfoglaltságot." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "" +"Önnek nincs jogosultsága módosítani ennek az elfoglaltságnak az idõpontját." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "Sikerült használatba vennie (subscribe) \"%s\"-t (%s)." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "Sikerült használaton kívülre helyeznie (unsubscribe) \"%s\"-t (%s)." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Hibás/elfogadhatatlan a megadott naptár." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Ön elfogadta a meghívást erre az eseményre." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Ön visszautasította a meghívást erre az eseményre." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "Ön feltételesen elfogadta a meghívást erre az eseményre." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Elõször ki kell választania egy címet." + +#: lib/Kronolith.php:1586 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Ön értesítést kért arról, ha új elfoglaltságok jelennek meg a naptáraiban." + +#: lib/Kronolith.php:1596 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "Ön értesítést kért arról, ha elfoglaltságok törlõdnek a naptáraiból." + +#: lib/Kronolith.php:1591 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "Ön értesítést kért arról, ha elfoglaltságok módosulnak a naptáraiban." + +#: lib/Scheduler/kronolith.php:406 lib/Scheduler/kronolith.php:408 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Az Ön napirendje: %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Az Ön alapértelmezés szerinti naptára" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Naptárak kezelése]" + +#: lib/Driver.php:1408 lib/Driver.php:1424 +msgid "[Unnamed event]" +msgstr "[elnevezés nélküli elfoglaltság]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "Figyelmeztetés" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "Keresés" + +#: lib/Kronolith.php:1775 +msgid "_Edit" +msgstr "Módosítás" + +#: lib/Kronolith.php:1952 +msgid "_Goto" +msgstr "_Ugrás" + +#: lib/Kronolith.php:1958 +msgid "_Import/Export" +msgstr "Import/_Export" + +#: lib/Kronolith.php:1948 +msgid "_New Event" +msgstr "Ú_j elfoglaltság" + +#: lib/Kronolith.php:1963 +msgid "_Print" +msgstr "_Nyomtatás" + +#: lib/Kronolith.php:1954 +msgid "_Search" +msgstr "Kere_sés" + +#: lib/Kronolith.php:1943 +msgid "_Today" +msgstr "M_a" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "mint %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "az esemény elõtt" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"az esemény kezdete elõtt. A \"0\" érték azt jelenti, hogy alapértelmezetten " +"nincs figyelmeztetés." + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "nap" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "nap" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "nap" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "naptar.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "naptar.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "Keresés" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr ". hónap" + +#: lib/Kronolith.php:1426 +#, php-format +msgid "on %s at %s" +msgstr "%s, %s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr " a hónap ugyanazon napján" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr " a hét ugyanazon napján" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "ismétlõdések" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "hét" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr ". héten a következõ nap(ok)on:" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "hét" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr " évente, ugyanazon a dátumon" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "évente, az év ugyanazon napján" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "évente, ugyanabban a hónapban, és a hét ugyanazon napján" diff --git a/kronolith/po/it_IT.po b/kronolith/po/it_IT.po new file mode 100644 index 000000000..3fcba207d --- /dev/null +++ b/kronolith/po/it_IT.po @@ -0,0 +1,2564 @@ +# Kronolith 0.0.3 Italian translation +# Paola Carpenter ; Giovanni Meneghetti , 2001. +# Copyright 2003 Sergio G. Caredda. +# Sergio G. Caredda , 2003. +# Copyright 2007 nethesis srl. +# Cristian Manoni, Alessio Fattorini, Davide marini 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith v0.0.3\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2008-05-17 11:04+0200\n" +"PO-Revision-Date: 2005-02-23 17:23-0100\n" +"Last-Translator: Nethesis srl \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " fino a %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " senza termine" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d eventi" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d volte" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Giorno/i %s Ora/e %s Minuto/i" + +#: lib/Driver.php:2267 +#, php-format +msgid "%s attendees" +msgstr "%s partecipanti" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "File %s importato con successo" + +#: lib/Kronolith.php:364 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "Calendario di %s" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Aggiungi questi cliccando su Aggiungi *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Seleziona Indirizzo/i *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d volte" + +#: lib/Driver.php:2266 +msgid "1 attendee" +msgstr "1 partecipante" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 evento" + +#: config/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 ora" + +#: config/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 minuti" + +#: config/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 minuti" + +#: config/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 minuti" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1169 +msgid "Accepted" +msgstr "Accettato" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "Ricerca A_vanzata" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Aggiungi" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Aggiungi Evento" + +#: new.php:65 +msgid "Add a new event" +msgstr "Aggiungi un nuovo evento" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Aggiungi partecipanti" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Aggiungo sorgente" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Aggiungi ai partecipanti" + +#: contacts.php:76 templates/attendees/attendees.inc:85 +#: templates/contacts/contacts.inc:138 +msgid "Address Book" +msgstr "Rubrica" + +#: config/prefs.php.dist:69 +msgid "Address Books" +msgstr "Rubriche" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:10 +msgid "Advanced Search" +msgstr "Ricerca Avanzata" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Allarme" + +#: lib/Driver.php:2233 +#, php-format +msgid "Alarm %d days before" +msgstr "Allarme %d giorni prima" + +#: lib/Driver.php:2238 +#, php-format +msgid "Alarm %d hours before" +msgstr "Allarme %d ore prima" + +#: lib/Driver.php:2243 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Allarme %d minuti prima" + +#: lib/Driver.php:2228 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Allarme %d settimane prima" + +#: lib/Driver.php:2232 +msgid "Alarm 1 day before" +msgstr "Allarme 1 giorno prima" + +#: lib/Driver.php:2237 +msgid "Alarm 1 hour before" +msgstr "Allarme 1 ora prima" + +#: lib/Driver.php:2242 +msgid "Alarm 1 minute before" +msgstr "Allarme 1 minuto prima" + +#: lib/Driver.php:2227 +msgid "Alarm 1 week before" +msgstr "Allarme 1 settimana prima" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Data di Allarme" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Durata Allarme (minuti)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Ora Allarme" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "Unità Allarme" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "Valore Allarme" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Allarme Abilitato" + +#: templates/edit/edit.inc:39 templates/delete/delete.inc:27 +msgid "All" +msgstr "Tutti" + +#: lib/FBView.php:129 lib/FBView.php:132 lib/FBView.php:135 +msgid "All Attendees" +msgstr "Tutti i partecipanti" + +#: templates/perms/perms.inc:105 +msgid "All Authenticated Users" +msgstr "Tutti gli Utenti" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Tutti i Calendari" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "Tutto il Futuro" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "Tutto il Passato" + +#: lib/Block/prevmonthlist.php:27 lib/Block/summary.php:28 +#: lib/Block/monthlist.php:30 lib/Block/month.php:24 +msgid "All Visible" +msgstr "Tutti Visibili" + +#: lib/Driver.php:2336 lib/Views/Day.php:99 lib/Views/Day.php:102 +#: lib/Views/Week.php:149 lib/Views/Week.php:156 +#: templates/edit/edit_timespan.inc:119 +msgid "All day" +msgstr "Tutto il giorno" + +#: lib/Block/summary.php:166 +msgid "All day event" +msgstr "Tutto il giorno" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Tutti gli Eventi" + +#: lib/api.php:792 lib/api.php:803 +msgid "Already Exists" +msgstr "Esiste Già" + +#: lib/Kronolith.php:1262 templates/search/search_advanced.inc:44 +#: templates/search/search_advanced.inc:65 +msgid "Any" +msgstr "Qualsiasi" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Aprile" + +#: templates/data/export.inc:85 templates/data/export.inc:176 +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +msgid "At" +msgstr "Alle" + +#: lib/Kronolith.php:1442 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"L'allegato è un file iCalendar, con più informazoni sull'evento. Se il tuo " +"client di posta supporta le richieste iTip, puoi usare questo file per " +"aggiornare la copia locale dell'evento" + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Tentativo di aggiornare una condivisione inesistente" + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "Partecipanti" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "Partecipante" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "Partecipanti" + +#: lib/Kronolith.php:1436 +msgid "Attendees: %s" +msgstr "Partecipanti: %s" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Agosto" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Rubriche Disponibili" + +#: templates/search/search_advanced.inc:9 templates/search/search.inc:12 +msgid "Basic Search" +msgstr "Ricerca Veloce" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Compleanno" + +#: lib/FBView.php:90 lib/FBView.php:112 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Impegnato" + +#: templates/search/search_advanced.inc:37 +msgid "C_alendar" +msgstr "C_alendario" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "Cal_endario" + +#: lib/Block/prevmonthlist.php:21 lib/Block/summary.php:22 +#: lib/Block/monthlist.php:21 lib/Block/month.php:21 +#: templates/calendar_list.php:22 +msgid "Calendar" +msgstr "Calendario" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Informazione Calendario" + +#: templates/calendar_list.php:19 +msgid "Calendar List" +msgstr "Lista Calendari" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Sommario del Calendario" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "Calendario svuotato con successo" + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:60 +msgid "Calendars" +msgstr "Calendari" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Calendari Stampati: " + +#: data.php:270 +msgid "Can't create a new event." +msgstr "Impossibile creare un nuovo evento" + +#: lib/Forms/DeleteCalendar.php:45 lib/Forms/DeleteCalendar.php:51 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 templates/edit/edit.inc:51 +#: templates/edit/edit.inc:382 templates/delete/delete.inc:28 +#: templates/delete/one.inc:25 +msgid "Cancel" +msgstr "Annulla" + +#: lib/Kronolith.php:1145 +msgid "Cancelled" +msgstr "Annullato" + +#: lib/Kronolith.php:1403 +#, php-format +msgid "Cancelled: %s" +msgstr "Annullato: %s" + +#: lib/Driver/kolab.php:1394 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Impossibile eliminare l'evento: %s" + +#: templates/edit/edit.inc:94 templates/search/search_advanced.inc:58 +msgid "Categor_y" +msgstr "Categori_a" + +#: data.php:64 templates/view/view.inc:6 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "Categoria" + +#: calendars/index.php:69 templates/calendar_list.php:54 +msgid "Change Permissions" +msgstr "Cambia Permessi" + +#: config/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Scegliere come si desidera ricevere le notifiche sulle modifiche di eventi, " +"allarmi e eventi prossimi" + +#: config/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "" +"Scegliere come si desidera ricevere le notifiche per eventi con allarmi:" + +#: config/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Scegliere se si desidera ricevere le notifiche per eventi nuovi, modificati " +"o eliminati via email:" + +#: config/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Sscegliere se si desidera ricevere una agenda giornaliera via email:" + +#: config/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "scegliere se si desidera ricevere notifiche per eventi con allarmi:" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "Selezionare i calendari da includere nell'URL di Libero/Occupato:" + +#: config/prefs.php.dist:440 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "" +"Selezionare i calendari da includere generando l'URL di Libero/Occupato:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "" +"Seleziona l'ordine delle rubriche per la ricerca quando si espandono gli " +"indirizzi." + +#: config/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "Mostra il Luogo dell'evento nelle visualizzazioni:" + +#: config/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "Mostra la data inizio/fine dell'evento nelle visualizzazioni:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Selezionari quali festività mostare" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Scegli il tuo calendario di default" + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Azzera tutti i partecipanti" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Clicca si una delle rubriche selezionate e selezionare tutti i campi su cui " +"cercare" + +#: templates/calendar_list.php:40 templates/calendar_list.php:41 +#: templates/calendar_list.php:50 templates/calendar_list.php:51 +msgid "Click or copy this URL to display this calendar" +msgstr "Cliccare o copiare questa URL per visualizzare questo calendario" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Chiudi" + +#: templates/perms/perms.inc:30 +msgid "Close Window" +msgstr "Chiudi Finestra" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Chiudi Finestra" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Valori separati da virgola" + +#: config/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "Conferma cancellazione degli eventi?" + +#: lib/Kronolith.php:1142 +msgid "Confirmed" +msgstr "Confermato" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "Compia l'URL seguente per ottenere le informazioni di Libero/Occupato:" + +#: lib/Kronolith.php:456 +#, php-format +msgid "Could not open %s." +msgstr "Non è possibile aprire %s." + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Crea" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Crea Calendario" + +#: lib/Views/Day.php:99 lib/Views/Day.php:261 lib/Views/Month.php:173 +#: templates/week/head.inc:29 +msgid "Create a New Event" +msgstr "Crea un nuovo evento" + +#: templates/calendar_list.php:10 +msgid "Create a new Local Calendar" +msgstr "Crea Calendario Locale" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Creato" + +#: templates/edit/edit.inc:37 templates/delete/delete.inc:25 +msgid "Current" +msgstr "Corrente" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Giornaliero" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "Giornaliero: Si ripete ogni" + +#: attendees.php:196 lib/Kronolith.php:1748 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:90 +msgid "Day" +msgstr "Giorno" + +#: templates/prefs/default_alarm_management.inc:28 templates/view/view.inc:56 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "Giorno(i)" + +#: lib/Kronolith.php:1798 +msgid "De_lete" +msgstr "El_imina" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Dicembre" + +#: lib/Kronolith.php:1172 +msgid "Declined" +msgstr "Rifiutato" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Impostazioni di Default Allarmi:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Calendario di Default" + +#: templates/perms/perms.inc:55 templates/perms/perms.inc:94 +#: templates/perms/perms.inc:111 templates/perms/perms.inc:135 +#: templates/perms/perms.inc:152 templates/perms/perms.inc:176 +#: templates/perms/perms.inc:193 templates/perms/perms.inc:217 +#: templates/perms/perms.inc:234 templates/perms/perms.inc:258 +#: templates/perms/perms.inc:299 templates/perms/perms.inc:316 +#: templates/perms/perms.inc:340 templates/perms/perms.inc:374 +msgid "Delegate" +msgstr "Delegato" + +#: calendars/index.php:70 lib/Driver.php:1329 lib/Driver.php:2295 +#: lib/Forms/DeleteCalendar.php:45 templates/calendar_list.php:56 +#: templates/delete/one.inc:24 templates/perms/perms.inc:54 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:233 +#: templates/perms/perms.inc:254 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:315 templates/perms/perms.inc:336 +#: templates/perms/perms.inc:370 +msgid "Delete" +msgstr "Elimina" + +#: lib/Driver.php:2294 lib/Forms/DeleteCalendar.php:40 +#: lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Elimina %s" + +#: lib/Driver.php:1328 +#, php-format +msgid "Delete exception on %s" +msgstr "Eccezione Emininazione in %s" + +#: templates/edit/edit.inc:180 templates/search/search_advanced.inc:101 +#: templates/search/search.inc:27 +msgid "Descri_ption" +msgstr "Descri_zione" + +#: data.php:63 lib/Forms/EditCalendar.php:44 lib/Forms/CreateCalendar.php:37 +#: templates/view/view.inc:155 +msgid "Description" +msgstr "Descrizione" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Visualizza" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Opzioni Visualizzazione" + +#: templates/calendar_list.php:24 +msgid "Display URL" +msgstr "Mostra URL" + +#: lib/Kronolith.php:1110 +msgid "Does not recur" +msgstr "Non si ripete" + +#: config/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "Non mi inviare notifiche se ho cambiato o eliminato un evento?" + +#: lib/Kronolith.php:674 +#, php-format +msgid "Due: %s" +msgstr "Scadenza: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Durata" + +#: lib/Driver.php:2006 +msgid "Duration Day" +msgstr "Durata Giorni" + +#: lib/Driver.php:2018 +msgid "Duration Hour" +msgstr "Durata Ore" + +#: lib/Driver.php:2029 +msgid "Duration Minute" +msgstr "Durata Minuti" + +#: calendars/index.php:68 lib/Driver.php:2288 templates/calendar_list.php:42 +#: templates/calendar_list.php:52 templates/perms/perms.inc:53 +#: templates/perms/perms.inc:86 templates/perms/perms.inc:109 +#: templates/perms/perms.inc:127 templates/perms/perms.inc:150 +#: templates/perms/perms.inc:168 templates/perms/perms.inc:191 +#: templates/perms/perms.inc:209 templates/perms/perms.inc:232 +#: templates/perms/perms.inc:250 templates/perms/perms.inc:291 +#: templates/perms/perms.inc:314 templates/perms/perms.inc:332 +#: templates/perms/perms.inc:366 +msgid "Edit" +msgstr "Modifica" + +#: lib/Driver.php:2287 lib/Forms/EditCalendar.php:40 +#: lib/Forms/EditRemoteCalendar.php:34 lib/Views/EditEvent.php:29 +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Edit %s" +msgstr "Modifica %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Modifica Partecipanti" + +#: perms.php:237 +msgid "Edit Permissions" +msgstr "Modifica Permessi" + +#: perms.php:239 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Modifica Permessi per %s" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Modifica partecipante" + +#: attendees.php:267 +msgid "Edit attendees" +msgstr "Modifica partecipanti" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Modifica Categorie e Colori" + +#: templates/perms/perms.inc:32 +#, php-format +msgid "Edit permissions for %s" +msgstr "Modifica Permessi per %s" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Indirizzo Email" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "Fi_ne" + +#: data.php:58 +msgid "End Date" +msgstr "Data di fine" + +#: lib/Driver.php:1977 templates/data/export.inc:161 +msgid "End Day" +msgstr "Giorno di fine" + +#: lib/Driver.php:1990 templates/data/export.inc:178 +msgid "End Hour" +msgstr "Ora di fine" + +#: lib/Driver.php:2001 templates/data/export.inc:190 +msgid "End Minute" +msgstr "Minuto di fine" + +#: lib/Driver.php:1968 templates/data/export.inc:148 +msgid "End Month" +msgstr "Mese di fine" + +#: templates/view/view.inc:41 templates/data/export.inc:125 +#: templates/search/event_headers.inc:8 +msgid "End On" +msgstr "Finisce il" + +#: data.php:59 +msgid "End Time" +msgstr "Orario di fine" + +#: lib/Driver.php:1957 templates/data/export.inc:134 +msgid "End Year" +msgstr "Anno di fine" + +#: attendees.php:246 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "" +"Si è verificato un errore nell'importazione delle informazioni libero/" +"occupato dell'utente %s: %s." + +#: attendees.php:223 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "" +"Si è verificato un errore nell'importazione delle informazioni libero/" +"occupato: %s." + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Evento di Default" + +#: lib/Kronolith.php:1595 +msgid "Event added:" +msgstr "Evento aggiunto:" + +#: lib/Kronolith.php:1605 +msgid "Event deleted:" +msgstr "Evento eliminato:" + +#: lib/Kronolith.php:1600 +msgid "Event edited:" +msgstr "Evento modificato:" + +#: lib/Driver.php:1456 +#, php-format +msgid "Event from %s to %s" +msgstr "Eventi da %s a %s" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "Evento non trovato." + +#: lib/Driver/kolab.php:453 lib/Driver/kolab.php:1189 +#: lib/Driver/kolab.php:1228 lib/Driver/kolab.php:1372 +#, php-format +msgid "Event not found: %s" +msgstr "Evento non trovato: %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:50 +msgid "Events" +msgstr "Eventi" + +#: lib/api.php:279 +msgid "Events from %s" +msgstr "Eventi da %s" + +#: lib/Driver.php:1060 +msgid "Events must have a start date." +msgstr "Gli Eventi devono avere una data inizio." + +#: lib/Driver.php:1022 +msgid "Events must have a title." +msgstr "Gli Eventi devono avere una titolo." + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "Eccezioni" + +#: lib/Kronolith.php:1805 templates/data/export.inc:209 +msgid "Export" +msgstr "Esporta" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Esporta Calendario" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Eventi Esterni:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Febbraio" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Campi da cercare" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Trova" + +#: lib/Block/month.php:107 lib/Views/Year.php:81 templates/edit/edit.inc:239 +#: templates/javascript/goto.js:63 +msgid "Fr" +msgstr "Ven" + +#: lib/Kronolith.php:1148 +msgid "Free" +msgstr "Libero" + +#: config/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "Informazione Libero/Occupato" + +#: templates/view/view.inc:103 templates/edit/javascript.inc:71 +#: templates/month/head.inc:21 +msgid "Friday" +msgstr "Venerdì" + +#: templates/edit/edit.inc:38 templates/delete/delete.inc:26 +msgid "Future" +msgstr "Futuro" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Gioco" + +#: templates/search/search_advanced.inc:18 +msgid "General" +msgstr "Generale" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Vai a %s" + +#: templates/perms/perms.inc:310 +msgid "Groups" +msgstr "Gruppi" + +#: templates/perms/perms.inc:146 +msgid "Guest Permissions" +msgstr "Permessi Ospiti" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Nascondi" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Feste" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:59 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "Ora(e)" + +#: config/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "" +"Che Granularità si desidera nella visualizzazione del calendario per le " +"viste giornaliera e settimanale?" + +#: config/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "" +"Per quanti giorni le informazioni libero/occupato devono essere generate?" + +#: lib/Kronolith.php:1446 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Se il tuo client di posta non supporta le richieste iTip, puoi usare uno dei " +"seguenti link per accettare o rifiutare l'evento.\n" +"\n" +"Per accettare l'evento:\n" +"%s\n" +"\n" +"Per accettare l'evento con riserva:\n" +"%s\n" +"\n" +"per rifiutare l'evento:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importa Calendario, Step %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Importa/Esporta Calendario" + +#: templates/perms/perms.inc:228 +msgid "Individual Users" +msgstr "Utente Individuale" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Gennaio" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Luglio" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Giugno" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "Parole chiave" + +#: templates/calendar_list.php:23 +msgid "Kind" +msgstr "Tipo" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "Ultime 24 ore" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Ultima Modifica" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Ultimo mese" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Ultimo anno" + +#: templates/week/head.inc:6 templates/search/search.inc:53 +msgid "Last week" +msgstr "Ultima settimana" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Seleziona il lasso di tempo da esportare:" + +#: config/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Elenca tutti i contatti quando si carica la pagina dei contatti? (se " +"disabilitato si vedranno solo i contatti cercati esplicitamente)" + +#: templates/edit/edit.inc:101 templates/search/search_advanced.inc:81 +msgid "Lo_cation" +msgstr "Lu_ogo" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Caricamento..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Caricamento..." + +#: templates/calendar_list.php:49 +msgid "Local" +msgstr "Locale" + +#: templates/calendar_info.php:18 +#, php-format +msgid "Local calendar owned by %s." +msgstr "Calendario Locale di %s" + +#: data.php:65 lib/Driver.php:2318 templates/view/view.inc:14 +#: templates/search/event_headers.inc:5 +msgid "Location" +msgstr "Indirizzo" + +#: lib/Kronolith.php:1427 +msgid "Location: %s" +msgstr "Luogo: %s" + +#: calendars/index.php:74 templates/calendar_list.php:4 +msgid "Manage Calendars" +msgstr "[Gestisci i Calendari]" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Marzo" + +#: lib/api.php:138 +msgid "Maximum Number of Events" +msgstr "Numero massimo di eventi" + +#: lib/Block/summary.php:25 lib/Block/monthlist.php:27 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Numero massimo di eventi da visualizzare (0 = nessun limite)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Maggio" + +#: lib/Driver.php:2314 +msgid "Me" +msgstr "Io" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Incontro" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Menu Allarmi" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menu Liste" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:62 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "Minuti" + +#: lib/Block/month.php:107 lib/Views/Year.php:77 templates/edit/edit.inc:235 +#: templates/javascript/goto.js:59 +msgid "Mo" +msgstr "Lun" + +#: templates/view/view.inc:99 templates/edit/javascript.inc:67 +#: templates/month/head.inc:17 config/prefs.php.dist:114 +msgid "Monday" +msgstr "Lunedì" + +#: attendees.php:199 lib/Kronolith.php:1754 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:93 +msgid "Month" +msgstr "Mese" + +#: config/prefs.php.dist:173 config/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "Visualizzazione Mese, Settimana e Giorno" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Mensile" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "Mensilmente: Si ripete ogni" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Mesi Avanti" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Mesi Prima" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Sposta Giù" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Sposta Su" + +#: lib/api.php:1063 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Trovadi diversi compenenti icalendar; sol un vEvent è supportato." + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Miei Calendari:" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "URL Libero/Occupato" + +#: lib/Forms/EditCalendar.php:43 lib/Forms/SubscribeRemoteCalendar.php:36 +#: lib/Forms/CreateCalendar.php:36 lib/Forms/EditRemoteCalendar.php:36 +#: templates/contacts/contacts.inc:188 +msgid "Name" +msgstr "Nome" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Nuovo Evento" + +#: lib/Kronolith.php:398 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Il nuovo calendario è stato creato e automaticamente condiviso con i " +"seguenti gruppo: %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Avanti" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Prossime 24 ore" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Giorno successivo" + +#: lib/FBView/month.php:31 templates/month/head_side_by_side.inc:7 +#: templates/month/head.inc:7 +msgid "Next Month" +msgstr "Mese successivo" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Settimana successiva" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Anno successivo" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Giorno successivo" + +#: templates/week/head.inc:8 templates/search/search.inc:57 +msgid "Next week" +msgstr "Settimana successiva" + +#: config/prefs.php.dist:336 config/prefs.php.dist:349 +#: config/prefs.php.dist:370 +msgid "No" +msgstr "No" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "Nessuna Informazione" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "Nessun Allarme" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Nessun partecipante" + +#: lib/api.php:1201 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Nessun partecipante è stato aggiornato in quanto nessuno degli indirizzi " +"email forniti è stato trovato nella lista partecipanti." + +#: lib/Kronolith.php:1997 +msgid "No calendars are available to guests." +msgstr "Nessun calendario disponibile per gli ospiti." + +#: lib/Driver/sql.php:418 +msgid "No calendars to search" +msgstr "Nessun calendario da cercare" + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "Nessuna data di fine" + +#: lib/Block/prevmonthlist.php:166 lib/Block/summary.php:205 +#: lib/Block/monthlist.php:175 +msgid "No events to display" +msgstr "Nessun evento da mostrare" + +#: lib/FreeBusy.php:225 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "Nessuna informazione Libero/Occupato trovato all'URL di %s." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Nessuna informazione Libero/Occupato disponibile per %s." + +#: lib/FreeBusy.php:226 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Nessuna informazione Libero/Occupato trovata per %s." + +#: lib/api.php:491 lib/api.php:778 lib/api.php:816 lib/api.php:1070 +msgid "No iCalendar data was found." +msgstr "Nessun compleanno trovato." + +#: lib/Driver.php:1313 lib/Recurrence.php:191 templates/edit/edit.inc:221 +msgid "No recurrence" +msgstr "Nessuna Ricorrenza" + +#: lib/FreeBusy.php:168 +msgid "No valid email address found" +msgstr "Nessun indirizzo e-mail valido è stato trovato." + +#: lib/Kronolith.php:1179 lib/Kronolith.php:1200 +#: templates/prefs/sourceselect.inc:35 +msgid "None" +msgstr "Nessuno" + +#: lib/Views/EditEvent.php:27 lib/Views/Event.php:26 +#: lib/Views/DeleteEvent.php:27 +msgid "Not Found" +msgstr "Non trovato" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Non trovato" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Notifiche" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Novembre" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Ora" + +#: templates/perms/perms.inc:187 +msgid "Object Creator" +msgstr "Creatore Oggetto" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Ottobre" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Su" + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "Su tutti i calendari su cui ho accesso lettura" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "Su tutti i calendari mostrati" + +#: config/prefs.php.dist:337 config/prefs.php.dist:350 +#: config/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "Solo sui miei calendari" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Solo il proprietario o l'aministrazione di sistema può cambiare la proprietà " +"o i permessi del proprietario della condivisione" + +#: lib/Kronolith.php:1197 +msgid "Optional" +msgstr "Opzionale" + +#: lib/FBView.php:120 +msgid "Optional Attendees" +msgstr "Partecipazione facoltativa" + +#: config/prefs.php.dist:68 +msgid "Other Options" +msgstr "Altre Opzioni" + +#: lib/FBView.php:155 +msgid "Overview" +msgstr "Descrizione" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Proprietario" + +#: templates/perms/perms.inc:49 +msgid "Owner Permissions" +msgstr "Permessi Proprietario" + +#: templates/perms/perms.inc:61 templates/perms/perms.inc:72 +msgid "Owner:" +msgstr "Proprietario:" + +#: lib/Driver.php:2313 +#, php-format +msgid "Owner: %s" +msgstr "Proprietario: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "Password" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "Modello" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Cancella questo evento definitivamente?" + +#: lib/Kronolith.php:1899 lib/Kronolith.php:1918 lib/Kronolith.php:1931 +#: lib/Kronolith.php:1952 lib/api.php:648 lib/api.php:692 lib/api.php:724 +#: lib/api.php:757 lib/api.php:855 lib/api.php:908 lib/api.php:1006 +#: lib/api.php:1040 lib/api.php:1131 lib/api.php:1191 lib/api.php:1256 +#: lib/api.php:1286 lib/Driver/sql.php:801 +msgid "Permission Denied" +msgstr "Permesso Negato" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Permesso Negato" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Correggere indirizzi invalidi o ambigui." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Opzioni Portale" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "Orario possibile Riunione" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Giorno Precedente" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Mese precedente" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Settimana Precedente" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Giorno precedente" + +#: config/prefs.php.dist:174 config/prefs.php.dist:186 +msgid "Print Views" +msgstr "Stampa Visualizzazioni" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Evento Precedente" + +#: lib/Driver.php:1452 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Evento Riservato Eventi da %s a %s" + +#: lib/Driver.php:2258 lib/Driver.php:2259 +msgid "Private event" +msgstr "Evento Riservato" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Riservato?" + +#: templates/perms/perms.inc:52 templates/perms/perms.inc:82 +#: templates/perms/perms.inc:108 templates/perms/perms.inc:123 +#: templates/perms/perms.inc:149 templates/perms/perms.inc:164 +#: templates/perms/perms.inc:190 templates/perms/perms.inc:205 +#: templates/perms/perms.inc:231 templates/perms/perms.inc:246 +#: templates/perms/perms.inc:287 templates/perms/perms.inc:313 +#: templates/perms/perms.inc:328 templates/perms/perms.inc:362 +msgid "Read" +msgstr "Leggi" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"Sei sicuro di eliminare il calendario %s? Questa operazione non può essere " +"annullata e gli eventi saranno eliminati permanentemente." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "Annullare sottoscrizione del calendario \"%s\" (%s)?" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "Ripeti fino" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "Ricorrenza" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Data Ricorrenza" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Data di Fine ricorrenza" + +#: lib/Driver.php:2072 +msgid "Recurrence End Day" +msgstr "Giorno di Fine ricorrenza" + +#: lib/Driver.php:2057 +msgid "Recurrence End Month" +msgstr "Mese di Fine ricorrenza" + +#: lib/Driver.php:2040 +msgid "Recurrence End Year" +msgstr "Anno di Fine ricorrenza" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Intervallo di Ricorrenza" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Tipo di ricorrenza" + +#: lib/Kronolith.php:1113 +msgid "Recurs daily" +msgstr "Si ripete ogni giorno" + +#: lib/Kronolith.php:1120 +msgid "Recurs monthly" +msgstr "Si ripete ogni mese" + +#: lib/Kronolith.php:1116 +msgid "Recurs weekly" +msgstr "Si ripete ogni settimana" + +#: lib/Kronolith.php:1125 +msgid "Recurs yearly" +msgstr "Si ripete ogni anno" + +#: lib/Scheduler/kronolith.php:267 +#, php-format +msgid "Reminder: %s" +msgstr "Notifica: %s" + +#: templates/calendar_list.php:39 +msgid "Remote" +msgstr "Remoto" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Calendario Remoto da: " + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Calendari Remoti:" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Elimina" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Elimina %s" + +#: attendees.php:189 +msgid "Remove Attendee" +msgstr "Elimina Partecipante" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Elimina sogente" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "Impossibile eliminare i dati utente le calendario corrente." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Sostituire il calendario esistente con quello importato? Attenzione: " +"Questo eliminerà tutti i dati contenuti nell'attuale calendario." + +#: lib/Kronolith.php:1204 +msgid "Required" +msgstr "Obbligatorio" + +#: lib/FBView.php:98 lib/FBView.php:140 lib/FBView.php:143 lib/FBView.php:146 +msgid "Required Attendees" +msgstr "Partecipanti Obbligatori" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Torna alle impostazioni di Default" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "Risposta" + +#: config/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Limita le visualizzazioni giornaliera e settimanale a questi intervalli " +"orari, anche se ci sono eventi precedenti o successivi?" + +#: lib/Block/month.php:107 lib/Views/Year.php:82 templates/edit/edit.inc:240 +#: templates/javascript/goto.js:64 +msgid "Sa" +msgstr "Sab" + +#: templates/view/view.inc:104 templates/edit/javascript.inc:72 +#: templates/month/head.inc:22 +msgid "Saturday" +msgstr "Sabato" + +#: lib/Forms/EditCalendar.php:46 lib/Forms/EditRemoteCalendar.php:41 +#: templates/panel.inc:83 +msgid "Save" +msgstr "Salva" + +#: templates/perms/perms.inc:385 +#, php-format +msgid "Save %s" +msgstr "Salva %s" + +#: lib/Kronolith.php:1790 lib/Views/EditEvent.php:79 +#: lib/Views/EditEvent.php:89 templates/edit/edit.inc:40 +msgid "Save As New" +msgstr "Salva come Nuovo" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Salva Partecipanti" + +#: new.php:56 lib/Views/EditEvent.php:82 +msgid "Save Event" +msgstr "Salva Evento" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Salva e Chiudi" + +#: search.php:91 lib/Block/tree_menu.php:26 +#: templates/contacts/contacts.inc:155 +#: templates/search/search_advanced.inc:113 templates/search/search.inc:66 +msgid "Search" +msgstr "Cerca" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Risultati Rierca" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Cerca Calendari:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Risultati ricerca" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Ricerca di libero/occupato non disponibile" + +#: templates/edit/edit_timespan.inc:29 templates/edit/edit_timespan.inc:79 +#: templates/edit/edit.inc:302 +msgid "Select a date" +msgstr "Seleziona una data" + +#: templates/perms/perms.inc:350 +msgid "Select a group to add" +msgstr "Seleziona un gruppo da aggiungere" + +#: templates/perms/perms.inc:348 +msgid "Select a group to add:" +msgstr "Seleziona un gruppo da aggiungere:" + +#: templates/perms/perms.inc:63 +msgid "Select a new owner:" +msgstr "Seleziona un nuovo proprietario:" + +#: templates/perms/perms.inc:267 templates/perms/perms.inc:269 +msgid "Select a user to add:" +msgstr "Seleziona un utente da aggiungere:" + +#: config/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Seleziona una rubrica per aggiungere e cercare indirizzi." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Seleziona tuttu u campi di ricerca quando si espandono indirizzi." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Scegli le opzioni di conferma, le visualizzazioni e scegli la " +"visualizzazione di default." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Seleziona il calendario in cui importare:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Seleziona il calendario da cui esportare" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Seleziona il formato per esportare:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Seleziona il file da importare:" + +#: config/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "Seleziona il primo giorno feriale:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Seleziona il formato da cui importare:" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Seleziona il lasso di tempo da mostrare:" + +#: config/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "Scegli la visualizzazione da mostrare dopo l'accesso:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Seleziona quali eventi mostrare nel portale." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Rubriche selezionate:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Indirizzi selezionati" + +#: templates/delete/delete.inc:21 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Invia una notifica di annullamento a tutti i partecipanti quando si elimina " +"un evento?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Invia un email a %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Inviare un invito a tutti i partecipanti?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Inviare l'aggiornamento a tutti i partecipanti?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Settembre" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Imposta i valori di default per i nuovi eventi" + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Imposta la data di fine" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Imposta la data di fine della ricorrenza" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Imposta la data d'inizio" + +#: config/prefs.php.dist:62 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "Imposta i calendari e le opzioni per libero/occupato" + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Calendari Condivisi:" + +#: templates/edit/javascript.inc:262 templates/perms/perms.inc:51 +#: templates/perms/perms.inc:78 templates/perms/perms.inc:107 +#: templates/perms/perms.inc:119 templates/perms/perms.inc:148 +#: templates/perms/perms.inc:160 templates/perms/perms.inc:189 +#: templates/perms/perms.inc:201 templates/perms/perms.inc:230 +#: templates/perms/perms.inc:242 templates/perms/perms.inc:283 +#: templates/perms/perms.inc:312 templates/perms/perms.inc:324 +#: templates/perms/perms.inc:358 +msgid "Show" +msgstr "Visualizza" + +#: config/prefs.php.dist:218 +msgid "Show Free/Busy legend?" +msgstr "Mostra la legenda di libero/occupato?" + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Visualizzare il pannello opzioni del calendario?" + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Mostra la legenda di calendari?" + +#: config/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Mostra icone cancella, allarme e ricorrenze nelle viste calendario?" + +#: config/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "Visualizza eventi esterni usando i colori delle categorie?" + +#: config/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "Mostro solo gli eventi con un campanello di allarme?" + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "Visualizza calendari condivisi lato a lato?" + +#: config/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "" +"Mostra intervalli di mezza ora nella visualizzazione di giorno e settimana?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Ini_zia" + +#: data.php:56 +msgid "Start Date" +msgstr "Data di Inizio" + +#: lib/Driver.php:1932 templates/data/export.inc:68 +msgid "Start Day" +msgstr "Giorno di Inizio" + +#: lib/Driver.php:1943 templates/data/export.inc:87 +msgid "Start Hour" +msgstr "Ora di Inizio" + +#: lib/Driver.php:1953 templates/data/export.inc:102 +msgid "Start Minute" +msgstr "Minuto di Inizio" + +#: lib/Driver.php:1923 templates/data/export.inc:54 +msgid "Start Month" +msgstr "Mese di Inizio" + +#: templates/view/view.inc:35 templates/data/export.inc:37 +#: templates/search/event_headers.inc:7 +msgid "Start On" +msgstr "Inizia il" + +#: data.php:57 +msgid "Start Time" +msgstr "Orario di Inizio" + +#: lib/Driver.php:1912 templates/data/export.inc:39 +msgid "Start Year" +msgstr "Anno di Inizio" + +#: templates/edit/edit.inc:110 templates/search/search_advanced.inc:91 +msgid "Stat_us" +msgstr "Stato" + +#: templates/view/view.inc:21 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "Stato" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Non è possibile salvare le impostazioni dilibero/occupato" + +#: lib/Block/month.php:109 lib/Block/month.php:111 lib/Views/Year.php:75 +#: lib/Views/Year.php:84 templates/edit/edit.inc:241 +#: templates/javascript/goto.js:65 +msgid "Su" +msgstr "Dom" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "Sottoscrivi" + +#: lib/Forms/SubscribeRemoteCalendar.php:34 templates/calendar_list.php:15 +msgid "Subscribe to a Remote Calendar" +msgstr "Sottoscrivi un Calendario Remoto" + +#: templates/calendar_list.php:25 +msgid "Subscription URL" +msgstr "URL di sottoscrizione" + +#: templates/view/view.inc:105 templates/edit/javascript.inc:66 +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: config/prefs.php.dist:113 +msgid "Sunday" +msgstr "Domenica" + +#: lib/Kronolith.php:1152 lib/Kronolith.php:1175 +msgid "Tentative" +msgstr "Con Riserva" + +#: lib/Block/month.php:107 lib/Views/Year.php:80 templates/edit/edit.inc:238 +#: templates/javascript/goto.js:62 +msgid "Th" +msgstr "Gio" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Il file %s non contiene eventi." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Il backend del Calendario non è al momento disponibile" + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Il backend del Calendario non è al momento disponibile: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "La pagina di modifica partecipanti non è presente. Uscita." + +#: lib/api.php:1210 +msgid "" +"The attendee hasn't been updated because the update was not sent from the " +"attendee." +msgstr "" +"Il partecipante non è stato aggiornato in quanto nessun aggiornamento è " +"stato inviato dal partecipante." + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Il calendario \"%s\" è stato creato." + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Il calendario \"%s\" è stato eliminato." + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Il calendario \"%s\" è stato rinominato in \"%s\"." + +#: calendars/edit.php:46 calendars/remote_edit.php:49 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Il calendario \"%s\" è stato salvato." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Il calendario non può essere svuotato: %s." + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "La data di fine deve essere dopo la data di'inizio." + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "L'evento %s è stato aggiunto al calendario %s, il %s alle %s." + +#: lib/Kronolith.php:1606 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "L'evento %s è stato eliminato dal calendario %s, il %s alle %s." + +#: lib/Kronolith.php:1601 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "L'evento %s è stato modificato nel calendario %s, il %s alle %s." + +#: lib/Kronolith.php:1486 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "La notificazione del evento a %s è stata inviata con successo." + +#: lib/Kronolith.php:1440 +msgid "The following is a more detailed description of the event:" +msgstr "Il seguente è una decrizione più dettagliata del evento:" + +#: lib/FreeBusy.php:193 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Impossibile trovare l'URL libero occupato per %s." + +#: calendars/remote_unsubscribe.php:36 calendars/remote_edit.php:36 +msgid "The remote calendar was not found." +msgstr "Il calendario remoto non è stato trovato." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"La richiesta è incompleta. Alcuni parametri necessari per accettare o " +"l'evento sono mancanti." + +#: lib/Views/EditEvent.php:43 lib/Views/Event.php:41 +#: lib/Views/DeleteEvent.php:40 +msgid "The requested event was not found." +msgstr "L'evento richiesto non è stato trovato." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Non ci sono files in questa directory." + +#: add.php:24 edit.php:46 edit.php:68 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Errore nell'importazione dei dati iCalendar: %s." + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Si è verificato un errore nell'importazione dell'evento: %s." + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Si è verificato un errore nella visualizzazione dell'evento: %s." + +#: lib/api.php:483 lib/api.php:770 lib/api.php:1055 +msgid "There was an error importing the iCalendar data." +msgstr "Errore nell'importazione dei dati iCalendar." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Errore nell'eliminazione del evento: %s." + +#: lib/Kronolith.php:1491 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Errore nell'invio del tuo invito a %s: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Non c'erano eventi da esportare." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Questo mese" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Il calendario non può essere cancellato." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Il fomato di questo file non è supportato." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Questo è un evento ricorrente. Eliminare solo l'evento corrente, questo
      e tutti gli eventi futuri o tutti gli eventi (passati e futuri)?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Questo è un evento ricorrente. Modificare solo l'evento corrente, questo
      e tutti gli eventi futuri o tutti eventi (passati e futuri)?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "Questo è quello che il sever ha indicato: %s" + +#: templates/view/view.inc:102 templates/edit/javascript.inc:70 +#: templates/month/head.inc:20 +msgid "Thursday" +msgstr "Giovedì" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "Periodo" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Periodo" + +#: templates/edit/edit.inc:58 templates/search/search_advanced.inc:28 +msgid "Tit_le" +msgstr "Tito_lo" + +#: data.php:55 templates/search/search.inc:19 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Titolo" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Per selezionare campi multipli, cliccare tenere premuto il tasto CTRL (PC) o " +"Command (Mac)." + +#: templates/calendar_info.php:19 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" +"Per sottoscrivere questo calendario da un altra applicazione, usa questo URL:" + +#: lib/Block/prevmonthlist.php:125 lib/Block/summary.php:140 +#: lib/Block/monthlist.php:132 +msgid "Today" +msgstr "Oggi" + +#: lib/Block/prevmonthlist.php:127 lib/Block/summary.php:142 +#: lib/Block/monthlist.php:134 +msgid "Tomorrow" +msgstr "Domani" + +#: lib/Block/month.php:107 lib/Views/Year.php:78 templates/edit/edit.inc:236 +#: templates/javascript/goto.js:60 +msgid "Tu" +msgstr "Mar" + +#: templates/view/view.inc:100 templates/edit/javascript.inc:68 +#: templates/month/head.inc:18 +msgid "Tuesday" +msgstr "Martedì" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Tipo" + +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Impossibile connettersi al server SQL." + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Impossibile eliminare \"%s\": %s" + +#: lib/api.php:599 +msgid "Unable to delete calendar \"%s\": %s" +msgstr "Impossibile eliminare il calendario \"%s\": %s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Impossibile caricare le definizioni di %s." + +#: attendees.php:68 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "Impossibile riconoscere \"%s\" come un indirizzo email" + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Impossibile eliminare \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Impossibile ottenere informazioni di libero/occupato per %s" + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Impossibile Salvare il calendario \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Non Archiviato" + +#: lib/api.php:1352 lib/api.php:1388 +msgid "Unknown calendar protocol" +msgstr "Protocollo calendario sconosciuto" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 templates/calendar_list.php:46 +msgid "Unsubscribe" +msgstr "Annulla sottoscrizione" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "Annulla sottoscrizione da %s" + +#: lib/api.php:550 lib/api.php:823 lib/api.php:879 lib/api.php:942 +#: lib/api.php:1075 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Content-Type non supportato: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Eventi Futuri" + +#: perms.php:231 +#, php-format +msgid "Updated \"%s\"." +msgstr "Aggiornato %s." + +#: lib/Kronolith.php:1417 +#, php-format +msgid "Updated: %s." +msgstr "Aggiornato: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Interfaccia Utente" + +#: templates/perms/perms.inc:277 +msgid "User to add:" +msgstr "Utente da Aggiungere:" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +msgid "Username" +msgstr "Nome Utente" + +#: lib/Block/month.php:164 lib/Block/month.php:167 lib/Views/Year.php:156 +#: lib/Views/Year.php:162 +msgid "View Day" +msgstr "Visualizza Giorno" + +#: lib/Block/month.php:107 lib/Views/Year.php:79 templates/edit/edit.inc:237 +#: templates/javascript/goto.js:61 +msgid "We" +msgstr "Mer" + +#: lib/Driver.php:1186 lib/Scheduler/kronolith.php:271 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Notifica del seguente evento imminente.\n" +"\n" +"%s\n" +"\n" +"Luogo: %s\n" +"\n" +"Data: %s\n" +"Ora: %s\n" +"\n" +"%s" + +#: templates/view/view.inc:101 templates/edit/javascript.inc:69 +#: templates/month/head.inc:19 +msgid "Wednesday" +msgstr "Mercoledì" + +#: attendees.php:198 lib/Kronolith.php:1752 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:91 +msgid "Week" +msgstr "Settimana" + +#: week.php:16 workweek.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Settimana %d" + +#: templates/prefs/default_alarm_management.inc:29 templates/view/view.inc:53 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "Settimana(e)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Settimanale" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "Settimanalmente: Si ripete ogni" + +#: config/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"A che ora devono finire il giorno e la settimana, quando non ci sono eventi " +"successivi?" + +#: config/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"A che ora devono iniziare il giorno e la settimana, quando non ci sono " +"eventi precedenti?" + +#: config/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Che tipo di festività si desidera visualizzare?" + +#: attendees.php:197 lib/Kronolith.php:1750 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:92 +msgid "Work Week" +msgstr "Settimana lavorativa" + +#: lib/Kronolith.php:1756 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Anno" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Annuale" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "Annualmente: Si ripete ogni" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Non hai il permesso modificare questo calendario." + +#: data.php:41 data.php:261 new.php:19 edit.php:27 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Non hai il permesso di creare più di %d eventi." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Non hai il permesso di eliminare questo calendario." + +#: lib/api.php:154 +msgid "You are not allowed to remove user data." +msgstr "Non hai il permesso di eliminare dati utente." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Non sei un partecipante dell'evento specificato." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Puoi solo usare questo form dalla pagina di modifica partecipanti." + +#: lib/Kronolith.php:1366 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Non hai nessun indirizzo email configurato nelle tue preferenze. Devi " +"settarne uno %squi%s per poter ricevere le notifiche di eventi." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Non hai il permesso di aggiungere eventi a %s." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Non hai il permesso di aggiungere eventi al calendario selezionato." + +#: add.php:27 edit.php:162 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Non hai il permesso di delegare eventi a %s." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Non hai il permesso di cancellare l'evento." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "Non hai il permesso di modificare questo evento." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "Non hai il permesso di spostare questo evento." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "Hai sottoscrtto %s (%s)." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "Hai annullato la sottoscrizione da %s (%s)." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Hai specificato un calendario non valido." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Hai accettato con successo la partecipazione a questo evento." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Hai rifiutato con successo la partecipazione a questo evento." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "" +"Hai accettato \"con riserva\" con successo la partecipazione a questo evento." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Devi selezionare un indirizzo prima." + +#: lib/Kronolith.php:1596 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Hai richiesto di essere informato quando vengono aggiunti eventi sui tuoi " +"calendari" + +#: lib/Kronolith.php:1606 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Hai richiesto di essere informato quando vengono eliminati eventi sui tuoi " +"calendari" + +#: lib/Kronolith.php:1601 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Hai richiesto di essere informato quando vengono modificati eventi sui tuoi " +"calendari" + +#: lib/Scheduler/kronolith.php:410 lib/Scheduler/kronolith.php:412 +#, php-format +msgid "Your daily agenda for %s" +msgstr "La tua agenda giornaliera per %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Il tuo calendario di default" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Gestisci i Calendari]" + +#: lib/Driver.php:1434 lib/Driver.php:1454 +msgid "[Unnamed event]" +msgstr "[Evento senza nome]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Allarme" + +#: templates/search/search_advanced.inc:9 +msgid "_Basic Search" +msgstr "_Ricerca Veloce" + +#: lib/Kronolith.php:1790 +msgid "_Edit" +msgstr "_Modifica" + +#: lib/Kronolith.php:2012 +msgid "_Goto" +msgstr "_Vai a" + +#: lib/Kronolith.php:2018 +msgid "_Import/Export" +msgstr "_Importa/Esporta" + +#: lib/Kronolith.php:2008 +msgid "_New Event" +msgstr "_Nuovo Evento" + +#: lib/Kronolith.php:2023 +msgid "_Print" +msgstr "_Stampa" + +#: lib/Kronolith.php:2014 +msgid "_Search" +msgstr "_Cerca" + +#: lib/Kronolith.php:2003 +msgid "_Today" +msgstr "_Oggi" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "come %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "prima che inizia l'evento" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "prima che l'evento inizi. \"0\" significa nessun allarme di default." + +#: lib/Views/Event.php:62 lib/Views/Event.php:71 +msgid "by %s" +msgstr "da %s" + +#: lib/Views/Event.php:64 lib/Views/Event.php:73 +msgid "by me" +msgstr "da me" + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "giorno" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "giorno(i)" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "giorni" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "eventi.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "in" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "mese(i)" + +#: lib/Kronolith.php:1423 +#, php-format +msgid "on %s at %s" +msgstr "su %s alle %s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "alla stessa data" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "lo stesso giorno feriale" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "Ricorrenze" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "settimana" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "settimana(e) su:" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "settimane" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "Anno(i) alla stessa data" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "Anno(i) allo stesso giorno dell'anno" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "Anno(i) allo stesso giorno della settimana dell'anno" diff --git a/kronolith/po/ja_JP.po b/kronolith/po/ja_JP.po new file mode 100644 index 000000000..82bd7e7ae --- /dev/null +++ b/kronolith/po/ja_JP.po @@ -0,0 +1,2430 @@ +# Japanese translation for kronolith. +# Copyright 2004-2009 The Horde Project +# This file is distributed under the same license as the kronorith package. +# Hiromi Kimura +# +msgid "" +msgstr "" +"Project-Id-Version: kronolith 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-12-13 21:05+0900\n" +"Last-Translator: Hiromi Kimura \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr "%s ‚Ü‚Å" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr "I—¹‚È‚µ" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d ƒCƒxƒ“ƒg" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d ‰ñ" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s “ú %s ŽžŠÔ %s •ª" + +#: lib/Driver.php:2217 +#, php-format +msgid "%s attendees" +msgstr "%s ŽQ‰ÁŽÒ" + +#: data.php:304 +#, php-format +msgid "%s file successfully imported" +msgstr "%s ƒtƒ@ƒCƒ‹‚͐³í‚ɃCƒ“ƒ|[ƒg‚³‚ê‚Ü‚µ‚½" + +#: calendars.php:112 lib/api.php:217 lib/Kronolith.php:371 +#, php-format +msgid "%s's Calendar" +msgstr "%s ‚Ì—\’è•\" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "*u’ljÁv‚ðƒNƒŠƒbƒN‚µ‚ĒljÁ *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* ƒAƒhƒŒƒX‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢ *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr "A%d ‰ñ" + +#: lib/Driver.php:2216 +msgid "1 attendee" +msgstr "‚PŽQ‰ÁŽÒ" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "‚PƒCƒxƒ“ƒg" + +#: config/prefs.php.dist:161 +msgid "1 hour" +msgstr "‚PŽžŠÔ" + +#: config/prefs.php.dist:158 +msgid "15 minutes" +msgstr "15•ª" + +#: config/prefs.php.dist:159 +msgid "20 minutes" +msgstr "20•ª" + +#: config/prefs.php.dist:160 +msgid "30 minutes" +msgstr "30•ª" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1181 +msgid "Accepted" +msgstr "Žó—" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "_VÚ×ŒŸõ" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "’ljÁ" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "ƒCƒxƒ“ƒg’ljÁ" + +#: templates/prefs/remote_cal_management.inc:43 +msgid "Add a new Remote Calendar" +msgstr "V‚µ‚¢ƒŠƒ‚[ƒgƒJƒŒƒ“ƒ_[‚ð’ljÁ" + +#: new.php:65 +msgid "Add a new event" +msgstr "V‚µ‚¢ƒCƒxƒ“ƒg‚ð’ljÁ" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "ŽQ‰ÁŽÒ‚ð’ljÁ" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "ƒ\[ƒX‚ð’ljÁ" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "ŽQ‰ÁŽÒ‚ɒljÁ" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "ƒAƒhƒŒƒX’ " + +#: config/prefs.php.dist:76 +msgid "Address Books" +msgstr "ƒAƒhƒŒƒX’ " + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Ú×ŒŸõ" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "ƒAƒ‰[ƒ€" + +#: lib/Driver.php:2183 +#, php-format +msgid "Alarm %d days before" +msgstr "%d “ú‘O‚ɃAƒ‰[ƒ€" + +#: lib/Driver.php:2188 +#, php-format +msgid "Alarm %d hours before" +msgstr "%d ŽžŠÔ‘O‚ɃAƒ‰[ƒ€" + +#: lib/Driver.php:2193 +#, php-format +msgid "Alarm %d minutes before" +msgstr "%d •ª‘O‚ɃAƒ‰[ƒ€" + +#: lib/Driver.php:2178 +#, php-format +msgid "Alarm %d weeks before" +msgstr "%d TŠÔ‘O‚ɃAƒ‰[ƒ€" + +#: lib/Driver.php:2182 +msgid "Alarm 1 day before" +msgstr "‚P“ú‘O‚ɃAƒ‰[ƒ€" + +#: lib/Driver.php:2187 +msgid "Alarm 1 hour before" +msgstr "‚PŽžŠÔ‘O‚ɃAƒ‰[ƒ€" + +#: lib/Driver.php:2192 +msgid "Alarm 1 minute before" +msgstr "‚P•ª‘O‚ɃAƒ‰[ƒ€" + +#: lib/Driver.php:2177 +msgid "Alarm 1 week before" +msgstr "‚PTŠÔ‘O‚ɃAƒ‰[ƒ€" + +#: data.php:61 +msgid "Alarm Date" +msgstr "ƒAƒ‰[ƒ€“ú•t" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "ƒAƒ‰[ƒ€ŠÔŠui•ªj" + +#: data.php:62 +msgid "Alarm Time" +msgstr "ƒAƒ‰[ƒ€ŽžŠÔ" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "ƒAƒ‰[ƒ€’PˆÊ" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "ƒAƒ‰[ƒ€’l" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "ƒAƒ‰[ƒ€—LŒø" + +#: templates/delete/delete.inc:27 templates/edit/edit.inc:39 +msgid "All" +msgstr "‘S‚Ä" + +#: lib/FBView.php:127 lib/FBView.php:130 lib/FBView.php:133 +msgid "All Attendees" +msgstr "‘S‚Ă̎Q‰ÁŽÒ" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "‘S‚Ă̔FØÏƒ†[ƒU" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "‘S—\’è•\" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "¡Œã‘S‚Ä" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "‰ß‹Ž‘S‚Ä" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "‰{——‰Â”\‚È‚à‚Ì‘S‚Ä" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2286 +#: lib/Views/Day.php:97 lib/Views/Day.php:100 lib/Views/Week.php:143 +#: lib/Views/Week.php:150 +msgid "All day" +msgstr "ŠÛ‚P“ú" + +#: lib/Block/summary.php:177 +msgid "All day event" +msgstr "ŠÛ‚P“ú‚̃Cƒxƒ“ƒg" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "‘SƒCƒxƒ“ƒg" + +#: lib/api.php:641 lib/api.php:651 +msgid "Already Exists" +msgstr "Šù‚É‚ ‚è‚Ü‚·" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:1274 +msgid "Any" +msgstr "‚Ç‚ê‚Å‚à" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "‚SŒŽ" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "ŽžŠÔ" + +#: lib/Kronolith.php:1441 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"‚±‚̃[ƒ‹‚É“Y•t‚³‚ê‚Ä‚¢‚é‚̂́AƒCƒxƒ“ƒg‚̏ڍׂɂ‚¢‚Ä‚Ì iCalendar ƒtƒ@ƒCƒ‹‚Å" +"‚·B‚à‚µAƒ[ƒ‰‚ª iTip ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚ê‚΁A“Y•tƒtƒ@ƒCƒ‹‚©‚çŠÈ’P‚É—\’è•\‚ð" +"XV‚Å‚«‚Ü‚·B" + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "‘¶Ý‚µ‚È‚¢‹¤—L‚ð•ҏW‚µ‚悤‚Æ‚µ‚Ü‚µ‚½B" + +#: templates/attendees/attendees.inc:48 templates/attendees/attendees.inc:60 +#: templates/view/view.inc:172 +msgid "Attendance" +msgstr "ŽQ‰Á" + +#: templates/attendees/attendees.inc:47 templates/view/view.inc:171 +msgid "Attendee" +msgstr "ŽQ‰ÁŽÒ" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "ŽQ‰ÁŽÒ" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "‚WŒŽ" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Žg—p‰Â”\‚ȃAƒhƒŒƒX’ F" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "ŠÈˆÕŒŸõ" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "’a¶“ú" + +#: lib/FBView.php:89 lib/FBView.php:110 templates/fbview/legend.tpl:9 +msgid "Busy" +msgstr "‘½–Z" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "_A—\’è•\" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "—\’è•\" + +#: templates/calendars/calendars.inc:90 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "—\’è•\" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "—\’è•\ŠT—v" + +#: data.php:248 +msgid "Calendar successfully purged." +msgstr "—\’è•\‚͐³í‚Ƀp[ƒW‚³‚ê‚Ü‚µ‚½B" + +#: templates/panel.inc:42 templates/panel.inc:43 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:43 config/prefs.php.dist:67 +msgid "Calendars" +msgstr "—\’è•\" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "ˆóü‚·‚é—\’è•\F" + +#: calendars.php:31 +msgid "Calendars must have a name." +msgstr "—\’è•\‚Ì–¼‘O‚ª•K—v‚Å‚·B" + +#: data.php:264 +msgid "Can't create a new event." +msgstr "V‚µ‚¢ƒCƒxƒ“ƒg‚ðì¬‚Å‚«‚Ü‚¹‚ñB" + +#: templates/delete/one.inc:25 templates/delete/delete.inc:28 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +msgid "Cancel" +msgstr "ƒLƒƒƒ“ƒZƒ‹" + +#: lib/Kronolith.php:1157 +msgid "Cancelled" +msgstr "ƒLƒƒƒ“ƒZƒ‹" + +#: lib/Kronolith.php:1415 +#, php-format +msgid "Cancelled: %s" +msgstr "ƒLƒƒƒ“ƒZƒ‹Ï‚݁F%s" + +#: lib/Driver/kolab.php:1329 +#, php-format +msgid "Cannot delete event: %s" +msgstr "ƒCƒxƒ“ƒg‚͍폜‚Å‚«‚Ü‚¹‚ñF%s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "_Y•ª—Þ" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "•ª—Þ" + +#: config/prefs.php.dist:59 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "ƒCƒxƒ“ƒg‚̕ύXAƒAƒ‰[ƒ€‚ð‚Ç‚¤’Ê’m‚µ‚Ä—~‚µ‚¢‚©‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B" + +#: config/prefs.php.dist:391 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "ƒCƒxƒ“ƒg‚̃Aƒ‰[ƒ€‚ðƒ[ƒ‹‚Å’Ê’m‚µ‚Ä—~‚µ‚¢‚à‚Ì‚ð‘I‘ðF" + +#: config/prefs.php.dist:348 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "ƒCƒxƒ“ƒg‚̒ljÁA•ҏWAíœ‚ðƒ[ƒ‹‚Å’Ê’m‚µ‚Ä—~‚µ‚¢‚à‚Ì‚ð‘I‘ðF" + +#: config/prefs.php.dist:361 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "“ú–ˆ‚Ì—\’è‚с[ƒ‹‚Å’Ê’m‚µ‚Ä—~‚µ‚¢‚à‚Ì‚ð‘I‘ðF" + +#: config/prefs.php.dist:382 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "ƒCƒxƒ“ƒg‚̃Aƒ‰[ƒ€‚ðƒ[ƒ‹‚Å’Ê’m‚µ‚Ä—~‚µ‚¢‚à‚Ì‚ð‘I‘ðF" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "‚ ‚È‚½‚Ì—\’èî•ñ‚ð‘‚«ž‚Þ‚½‚߂̗\’è•\‚ð‘I‘ðF" + +#: config/prefs.php.dist:448 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "—\’èî•ñiFree/Busy URLj‚ª”­¶‚µ‚½Žž‚ɏ‘‚«ž‚Þ—\’è•\‚ð‘I‘ðF" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "ƒAƒhƒŒƒX‚ð“WŠJ‚·‚éÛ‚ÉŒŸõ‚·‚éƒAƒhƒŒƒX’ ‚Ì•À‚Ñ‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B" + +#: config/prefs.php.dist:195 +msgid "Choose the views to show event locations in:" +msgstr "ƒCƒxƒ“ƒgêŠ‚ð•\ަ‚·‚鉿–Ê‚ð‘I‘ðF" + +#: config/prefs.php.dist:183 +msgid "Choose the views to show event start and end times in:" +msgstr "ƒCƒxƒ“ƒg‚ÌŠJŽnI—¹ŽžŠÔ‚ð•\ަ‚·‚鉿–Ê‚ð‘I‘ðF" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "•\ަ‚·‚é‹x“ú‚ð‘I‘ðF" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "ƒfƒtƒHƒ‹ƒg‚Ì—\’è•\‚ð‘I‘ð‚µ‚Ä‚­‚¾‚³‚¢B" + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "‘SŽQ‰ÁŽÒ‚ðÁ‹Ž" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"æ‚¸ƒAƒhƒŒƒX’ ‚Ì‚P‚‚ðƒNƒŠƒbƒN‚µAŽŸ‚ÉŒŸõ‚·‚鍀–Ú‚ð‘S‚Ä‘I‘ð‚µ‚Ä‰º‚³‚¢B" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "ƒEƒCƒ“ƒh[‚ð•‚¶‚é" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "ƒEƒCƒ“ƒh[‚ð•‚¶‚é" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "ƒRƒ“ƒ}‹æØ‚è‚Ì’l" + +#: config/prefs.php.dist:88 +msgid "Confirm deletion of events?" +msgstr "ƒCƒxƒ“ƒg‚ðíœ‚·‚éÛ‚ÉŠm”F‚µ‚Ü‚·‚©H" + +#: lib/Kronolith.php:1154 +msgid "Confirmed" +msgstr "Šm’è" + +#: templates/calendars/calendars.inc:162 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "‚ ‚È‚½‚Ì—\’èî•ñ URLi•K—v‚ȂƂ±‚ë‚ɃRƒs[‚µ‚ÄŽg—pjF" + +#: lib/Kronolith.php:463 +#, php-format +msgid "Could not open %s." +msgstr "%s ‚ðŠJ‚¯‚Ü‚¹‚ñ‚Å‚µ‚½B" + +#: templates/calendars/calendars.inc:69 +msgid "Create" +msgstr "ì¬" + +#: templates/calendars/calendars.inc:55 +msgid "Create Calendar" +msgstr "—\’è•\‚ðì¬" + +#: templates/week/head.inc:29 lib/Views/Day.php:97 lib/Views/Day.php:256 +#: lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "V‹KƒCƒxƒ“ƒg‚ðì¬" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "ì¬“ú" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:37 +msgid "Current" +msgstr "Œ»Ý" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "“ú" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "–ˆ“úFŒJ‚è•Ô‚µ" + +#: attendees.php:170 lib/Kronolith.php:1747 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:97 +msgid "Day" +msgstr "“ú" + +#: templates/prefs/default_alarm_management.inc:28 templates/view/view.inc:56 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "“úŠÔ" + +#: lib/Kronolith.php:1789 +msgid "De_lete" +msgstr "_Líœ" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "‚P‚QŒŽ" + +#: lib/Kronolith.php:1184 +msgid "Declined" +msgstr "Ž«‘ލςÝ" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "ƒAƒ‰[ƒ€‚̃fƒtƒHƒ‹ƒgÝ’èF" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "ƒfƒtƒHƒ‹ƒg—\’è•\" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "ˆÏ”C" + +#: templates/calendars/calendars.inc:149 templates/delete/one.inc:24 +#: templates/prefs/remote_cal_management.inc:30 templates/perms/perms.inc:33 +#: templates/perms/perms.inc:69 templates/perms/perms.inc:89 +#: templates/perms/perms.inc:110 templates/perms/perms.inc:130 +#: templates/perms/perms.inc:151 templates/perms/perms.inc:171 +#: templates/perms/perms.inc:192 templates/perms/perms.inc:212 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:274 +#: templates/perms/perms.inc:294 templates/perms/perms.inc:315 +#: templates/perms/perms.inc:349 lib/Driver.php:1303 lib/Driver.php:2245 +msgid "Delete" +msgstr "íœ" + +#: lib/Driver.php:2244 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "%s ‚ðíœ" + +#: lib/Driver.php:1302 +#, php-format +msgid "Delete exception on %s" +msgstr "%s ‚©‚çíœœŠO" + +#: templates/search/search_advanced.inc:103 templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "_Pà–¾" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "_Pà–¾F" + +#: data.php:63 templates/calendars/calendars.inc:123 +#: templates/view/view.inc:155 +msgid "Description" +msgstr "à–¾" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "•\ަ" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "•\ަƒIƒvƒVƒ‡ƒ“" + +#: lib/Kronolith.php:1122 +msgid "Does not recur" +msgstr "ŒJ‚è•Ô‚µ‚ł͂ ‚è‚Ü‚¹‚ñ" + +#: config/prefs.php.dist:369 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "‚±‚̃Cƒxƒ“ƒg‚ð’ljÁAíœA•ύX‚µ‚½ŽžAŽ©•ª‚ɂ͒ʒm‚µ‚È‚¢‚悤‚É‚·‚éH" + +#: lib/Kronolith.php:683 +#, php-format +msgid "Due: %s" +msgstr "Šú“úF%s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Œp‘±ŠúŠÔ" + +#: lib/Driver.php:1978 +msgid "Duration Day" +msgstr "Œp‘±“ú”" + +#: lib/Driver.php:1990 +msgid "Duration Hour" +msgstr "Œp‘±ŽžŠÔ" + +#: lib/Driver.php:2001 +msgid "Duration Minute" +msgstr "Œp‘±i•ªj" + +#: templates/calendars/calendars.inc:116 +#: templates/prefs/remote_cal_management.inc:31 templates/perms/perms.inc:32 +#: templates/perms/perms.inc:65 templates/perms/perms.inc:88 +#: templates/perms/perms.inc:106 templates/perms/perms.inc:129 +#: templates/perms/perms.inc:147 templates/perms/perms.inc:170 +#: templates/perms/perms.inc:188 templates/perms/perms.inc:211 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:270 +#: templates/perms/perms.inc:293 templates/perms/perms.inc:311 +#: templates/perms/perms.inc:345 lib/Driver.php:2238 +msgid "Edit" +msgstr "•ҏW" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2237 +#: lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "%s ‚ð•ҏW" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "ŽQ‰ÁŽÒ‚̕ҏW" + +#: templates/calendars/calendars.inc:84 +msgid "Edit Calendars" +msgstr "—\’è•\‚̕ҏW" + +#: perms.php:262 +msgid "Edit Permissions" +msgstr "ƒAƒNƒZƒXŒ •ҏW" + +#: perms.php:264 +#, php-format +msgid "Edit Permissions for %s" +msgstr "%s ƒAƒNƒZƒXŒ ‚ð•ҏW" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "ŽQ‰ÁŽÒ‚̕ҏW" + +#: attendees.php:227 +msgid "Edit attendees" +msgstr "ŽQ‰ÁŽÒ‚̕ҏW" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "•ª—ނƐF‚̕ҏW" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "%s ‚̃AƒNƒZƒXŒ ‚ð•ҏW" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "ƒ[ƒ‹ƒAƒhƒŒƒX" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "_DI—¹" + +#: data.php:58 +msgid "End Date" +msgstr "I—¹“ú•t" + +#: templates/data/export.inc:161 lib/Driver.php:1949 +msgid "End Day" +msgstr "I—¹“ú" + +#: templates/data/export.inc:178 lib/Driver.php:1962 +msgid "End Hour" +msgstr "I—¹ŽžŠÔ" + +#: templates/data/export.inc:190 lib/Driver.php:1973 +msgid "End Minute" +msgstr "I—¹i•ªj" + +#: templates/data/export.inc:148 lib/Driver.php:1940 +msgid "End Month" +msgstr "I—¹ŒŽ" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:41 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "I—¹“ú" + +#: data.php:59 +msgid "End Time" +msgstr "I—¹ŽžŠÔ" + +#: templates/data/export.inc:134 lib/Driver.php:1929 +msgid "End Year" +msgstr "I—¹”N" + +#: attendees.php:216 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "%s ‚³‚ñ‚Ì—\’èî•ñŽæ“¾’†‚ɃGƒ‰[”­¶F%s" + +#: attendees.php:196 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "—\’èî•ñŽæ“¾’†‚ɃGƒ‰[”­¶F%s" + +#: config/prefs.php.dist:51 +msgid "Event Defaults" +msgstr "ƒCƒxƒ“ƒg‚̃fƒtƒHƒ‹ƒg" + +#: lib/Kronolith.php:1594 +msgid "Event added:" +msgstr "’ljÁ‚³‚ꂽƒCƒxƒ“ƒgF" + +#: lib/Kronolith.php:1604 +msgid "Event deleted:" +msgstr "íœ‚³‚ꂽƒCƒxƒ“ƒgF" + +#: lib/Kronolith.php:1599 +msgid "Event edited:" +msgstr "•ҏW‚³‚ꂽƒCƒxƒ“ƒgF" + +#: lib/Driver.php:1426 +#, php-format +msgid "Event from %s to %s" +msgstr "ƒCƒxƒ“ƒgŠúŠÔ %s ‚©‚ç %s ‚Ü‚Å" + +#: lib/Driver/sql.php:387 +msgid "Event not found" +msgstr "ƒCƒxƒ“ƒg‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ" + +#: lib/Driver/kolab.php:431 lib/Driver/kolab.php:1155 +#: lib/Driver/kolab.php:1182 lib/Driver/kolab.php:1311 +#, php-format +msgid "Event not found: %s" +msgstr "ƒCƒxƒ“ƒg‚ªŒ©‚‚©‚è‚Ü‚¹‚ñF%s" + +#: config/prefs.php.dist:50 config/prefs.php.dist:57 +msgid "Events" +msgstr "ƒCƒxƒ“ƒg" + +#: lib/Driver.php:1034 +msgid "Events must have a start date." +msgstr "ŠJŽn“úŽž‚ª•K—v‚Å‚·B" + +#: lib/Driver.php:996 +msgid "Events must have a title." +msgstr "ƒ^ƒCƒgƒ‹‚ª•K—v‚Å‚·B" + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "—áŠO" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "ƒGƒNƒXƒ|[ƒg" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "—\’è•\‚̃GƒNƒXƒ|[ƒg" + +#: templates/panel.inc:73 +msgid "External Events:" +msgstr "ŠO•”ƒCƒxƒ“ƒgF" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "‚QŒŽ" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "ŒŸõ‚·‚鍀–Ú" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "‘{‚·" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Views/Year.php:81 lib/Block/month.php:107 +msgid "Fr" +msgstr "‹à" + +#: lib/Kronolith.php:1160 +msgid "Free" +msgstr "Ž©—R" + +#: config/prefs.php.dist:68 +msgid "Free/Busy Information" +msgstr "—\’èî•ñiFree/Busyj" + +#: templates/month/head.inc:21 templates/view/view.inc:103 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "‹à—j" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:38 +msgid "Future" +msgstr "¡Œã" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "ƒQ[ƒ€" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "‘S”Ê" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "%s ‚Ɉړ®" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "ƒOƒ‹[ƒv" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "ƒQƒXƒg‚̃AƒNƒZƒXŒ " + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "‰B‚·" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "‹x“ú" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:59 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "ŽžŠÔ" + +#: config/prefs.php.dist:157 +msgid "How long should the time slots on the day and week views be?" +msgstr "“ú‚ƏT‚Ì•\ަ’PˆÊ‚ð‚ǂꂭ‚ç‚¢‚É‚µ‚Ü‚·‚©H" + +#: config/prefs.php.dist:400 +msgid "How many days of free/busy information should we generate?" +msgstr "‰½“ú•ª‚Ì—\’èî•ñ‚𐶐¬‚µ‚Ü‚·‚©H" + +#: lib/Kronolith.php:1445 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"‚à‚µ‚à‚¨Žg‚¢‚̃[ƒ‰‚ª iTip ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚È‚çAˆÈ‰º‚ÌƒŠƒ“ƒN‚ŃCƒxƒ“ƒg" +"‚Ö‚ÌŽó‘øEŽÓâ‚ª‚Å‚«‚Ü‚·B\n" +"\n" +"ƒCƒxƒ“ƒg‚ðŽó‘ø‚·‚éF\n" +"%s\n" +"\n" +"ƒCƒxƒ“ƒg‚ð‰¼Žó‘ø‚·‚éF\n" +"%s\n" +"\n" +"ƒCƒxƒ“ƒg‚ðŽÓâ‚·‚éF\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "—\’è•\‚̃Cƒ“ƒ|[ƒgAƒXƒeƒbƒv %d" + +#: data.php:310 +msgid "Import/Export Calendar" +msgstr "—\’è•\‚̃Cƒ“ƒ|[ƒg/ƒGƒNƒXƒ|[ƒg" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "ŠeŒÂl" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "‚PŒŽ" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "‚VŒŽ" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "‚UŒŽ" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "ƒLƒCƒ[ƒh" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "24ŽžŠÔ‘O‚Ü‚Å" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "ÅI•ύX“ú" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "æŒŽ" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "‹Ž”N" + +#: templates/search/search.inc:54 templates/week/head.inc:6 +msgid "Last week" +msgstr "æT" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "ƒGƒNƒXƒ|[ƒg‚͈̔́F" + +#: config/prefs.php.dist:411 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"˜A—æ‚ð•\ަ‚·‚鎞A˜A—æ‚ð‘S•”•\ަ‚µ‚Ü‚·‚©Hi‚łȂ¯‚ê‚΁AŒŸõ‚µ‚½‚à‚Ì‚¾‚¯" +"•\ަ‚³‚ê‚Ü‚·j" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "_CêŠ" + +#: templates/javascript_defs.php:14 +msgid "Loading ..." +msgstr "ƒ[ƒh’†..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "ƒ[ƒh’†..." + +#: data.php:65 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:25 +#: templates/prefs/remote_cal_management.inc:60 templates/view/view.inc:14 +#: lib/Driver.php:2268 +msgid "Location" +msgstr "êŠ" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "ƒŠƒ‚[ƒgƒJƒŒƒ“ƒ_[‚ðÝ’肵‚Ü‚·B" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "‚RŒŽ" + +#: lib/api.php:133 +msgid "Maximum Number of Events" +msgstr "ƒCƒxƒ“ƒg‚̍ő吔" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "•\ަ‚·‚éƒCƒxƒ“ƒg‚̍ő吔i0 ‚Í–³§ŒÀj" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "‚TŒŽ" + +#: lib/Driver.php:2264 +msgid "Me" +msgstr "Ž„" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "‰ï‹c" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "ƒAƒ‰[ƒ€" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "ƒƒjƒ…[ˆê——" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:62 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "•ª" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Views/Year.php:77 lib/Block/month.php:107 +msgid "Mo" +msgstr "ŒŽ" + +#: templates/month/head.inc:17 templates/view/view.inc:99 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:121 +msgid "Monday" +msgstr "ŒŽ—j" + +#: attendees.php:173 lib/Kronolith.php:1753 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:100 +msgid "Month" +msgstr "ŒŽ" + +#: config/prefs.php.dist:180 +msgid "Month and Week Views" +msgstr "ŒŽŠÔ‚ƏTŠÔ•\ަ" + +#: config/prefs.php.dist:192 +msgid "Month, Week, and Day Views" +msgstr "ŒŽŠÔATŠÔA“ú•\ަ" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "ŒŽ" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "–ˆŒŽFŒJ‚è•Ô‚µ" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "ŽŸ‚ÌŒŽ" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "‘O‚ÌŒŽ" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "‰º‚Ö" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "ã‚Ö" + +#: lib/api.php:911 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"•¡”‚Ì iCalendar —v‘f‚ª‚ ‚è‚Ü‚·G‚½‚¾‚P‚Â‚Ì vEvent ‚¾‚¯‚ðƒTƒ|[ƒg‚µ‚Ü‚·B" + +#: calendars.php:133 +msgid "My Calendars" +msgstr "Ž„‚Ì—\’è•\" + +#: templates/panel.inc:54 +msgid "My Calendars:" +msgstr "Ž„‚Ì—\’è•\F" + +#: templates/calendars/calendars.inc:158 +msgid "My Free/Busy URL" +msgstr "Ž„‚Ì—\’èî•ñ URL" + +#: templates/calendars/calendars.inc:60 templates/calendars/calendars.inc:103 +#: templates/contacts/contacts.inc:188 +#: templates/prefs/remote_cal_management.inc:24 +#: templates/prefs/remote_cal_management.inc:52 +msgid "Name" +msgstr "–¼‘O" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "VƒCƒxƒ“ƒg" + +#: lib/Kronolith.php:405 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "V‚µ‚¢—\’è•\‚ðì¬‚µAˆÈ‰º‚̃Oƒ‹[ƒv‚Æ‹¤—L‚µ‚Ü‚µ‚½F%s" + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "ŽŸ" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "¡Œã24ŽžŠÔ" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "–¾“ú" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "—ˆŒŽ" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "—ˆT" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "—ˆ”N" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "–¾“ú" + +#: templates/search/search.inc:58 templates/week/head.inc:8 +msgid "Next week" +msgstr "—ˆT" + +#: config/prefs.php.dist:344 config/prefs.php.dist:357 +#: config/prefs.php.dist:378 +msgid "No" +msgstr "‚È‚µ" + +#: templates/fbview/legend.tpl:13 +msgid "No Information" +msgstr "î•ñ‚È‚µ" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "ƒAƒ‰[ƒ€‚È‚µ" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "ŽQ‰ÁŽÒ‚È‚µ" + +#: lib/api.php:1062 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"ŽQ‰ÁŽÒ‚̃[ƒ‹ƒAƒhƒŒƒX‚ªˆê‚Â‚àŒ©‚‚©‚ç‚È‚¢‚̂ŁAŽQ‰ÁŽÒ‚͍XV‚³‚ê‚Ü‚¹‚ñ‚Å‚µ" +"‚½B" + +#: lib/Kronolith.php:1934 +msgid "No calendars are available to guests." +msgstr "ƒQƒXƒg—p‚Ì—\’è•\‚Í‚ ‚è‚Ü‚¹‚ñB" + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "‚¢‚‚܂łà" + +#: lib/Block/prevmonthlist.php:166 lib/Block/monthlist.php:175 +#: lib/Block/summary.php:208 +msgid "No events to display" +msgstr "•\ަ‚·‚é‚ׂ«ƒCƒxƒ“ƒg‚Í‚ ‚è‚Ü‚¹‚ñ" + +#: lib/FreeBusy.php:223 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "URL %s ‚É—\’èî•ñ‚ÍŒ©‚‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B" + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "%s ‚³‚ñ‚Ì—\’èî•ñ‚Í‚ ‚è‚Ü‚¹‚ñ" + +#: lib/FreeBusy.php:224 +#, php-format +msgid "No free/busy url found for %s." +msgstr "%s ‚É—\’èî•ñ URL ‚Í‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½B" + +#: lib/api.php:384 lib/api.php:627 lib/api.php:664 lib/api.php:918 +msgid "No iCalendar data was found." +msgstr "iCalendar ‚̃f[ƒ^‚ª‚ ‚è‚Ü‚¹‚ñB" + +#: templates/edit/edit.inc:221 lib/Recurrence.php:191 lib/Driver.php:1287 +msgid "No recurrence" +msgstr "ŒJ‚è•Ô‚µ‚È‚µ" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "³‚µ‚¢ƒ[ƒ‹ƒAƒhƒŒƒX‚ª‚ ‚è‚Ü‚¹‚ñ" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1191 +#: lib/Kronolith.php:1212 +msgid "None" +msgstr "‚È‚µ" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "Œ©‚‚©‚è‚Ü‚¹‚ñ" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Œ©‚‚©‚è‚Ü‚¹‚ñ" + +#: config/prefs.php.dist:58 +msgid "Notifications" +msgstr "’Ê’m" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "‚P‚PŒŽ" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "¡" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "ƒIƒuƒWƒFƒNƒgì¬ŽÒ" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "‚P‚OŒŽ" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "“ú•t" + +#: config/prefs.php.dist:347 config/prefs.php.dist:360 +#: config/prefs.php.dist:381 +msgid "On all calendars I have read access to" +msgstr "“ǂݏo‚µƒAƒNƒZƒXŒ ‚Ì‚ ‚é—\’è•\‘S•”" + +#: config/prefs.php.dist:346 config/prefs.php.dist:359 +#: config/prefs.php.dist:380 +msgid "On all shown calendars" +msgstr "•\ަ‚µ‚Ä‚ ‚é—\’è•\‘S•”" + +#: config/prefs.php.dist:345 config/prefs.php.dist:358 +#: config/prefs.php.dist:379 +msgid "On my calendars only" +msgstr "Ž„‚Ì—\’è•\‚Ì‚Ý" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "Š—LŽÒ‚©ƒVƒXƒeƒ€ŠÇ—ŽÒ‚¾‚¯‚ª‹¤—L‚ÌŠ—LŒ ‚ƃAƒNƒZƒXŒ ‚ð•ύX‚Å‚«‚Ü‚·B" + +#: lib/Kronolith.php:1209 +msgid "Optional" +msgstr "”CˆÓ" + +# msgstr "ƒIƒvƒVƒ‡ƒ“" +#: lib/FBView.php:118 +msgid "Optional Attendees" +msgstr "”CˆÓ‚ÌŽQ‰ÁŽÒ" + +#: config/prefs.php.dist:75 +msgid "Other Options" +msgstr "‘¼‚̃IƒvƒVƒ‡ƒ“" + +#: lib/FBView.php:153 +msgid "Overview" +msgstr "ŠT—ª" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "ì¬ŽÒ" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "ì¬ŽÒ‚̃AƒNƒZƒXŒ " + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "ì¬ŽÒF" + +#: lib/Driver.php:2263 +#, php-format +msgid "Owner: %s" +msgstr "ì¬ŽÒF%s" + +# msgstr "Š—LŽÒF%s" +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: templates/prefs/remote_cal_management.inc:76 +msgid "Password" +msgstr "ƒpƒXƒ[ƒh" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "ƒpƒ^[ƒ“" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "‚±‚̃Cƒxƒ“ƒg‚ðíœ‚µ‚Ü‚·‚©H" + +#: lib/api.php:606 lib/api.php:705 lib/api.php:758 lib/api.php:853 +#: lib/api.php:888 lib/api.php:980 lib/api.php:1037 lib/Driver/sql.php:776 +msgid "Permission Denied" +msgstr "ƒAƒNƒZƒX‹‘”Û" + +#: templates/calendars/calendars.inc:113 +msgid "Permissions" +msgstr "ƒAƒNƒZƒXŒ " + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "žB–†E•s³‚ȃAƒhƒŒƒX‚ðC³‚µ‚ĉº‚³‚¢B" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "ƒ|[ƒ^ƒ‹ƒIƒvƒVƒ‡ƒ“" + +#: templates/fbview/legend.tpl:11 +msgid "Possible Meeting Time" +msgstr "‰ï‹c‰Â”\‚ÈŽžŠÔ" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "‘O‚Ì“ú" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "‘O‚ÌŒŽ" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "‘O‚̏T" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "‘O‚Ì“ú" + +#: config/prefs.php.dist:181 config/prefs.php.dist:193 +msgid "Print Views" +msgstr "ˆóü•\ަ" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "d—v‚ȃCƒxƒ“ƒg" + +#: lib/Driver.php:1422 +#, php-format +msgid "Private Event from %s to %s" +msgstr "ŒÂl“IƒCƒxƒ“ƒgŠúŠÔ %s ‚©‚ç %s ‚Ü‚Å" + +#: lib/Driver.php:2208 lib/Driver.php:2209 +msgid "Private event" +msgstr "ŒÂl“IƒCƒxƒ“ƒg" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "ŒÂl—pH" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "“ǂݏo‚µ" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "I—¹“ú" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "ŒJ‚è•Ô‚µ" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "ŒJ‚è•Ô‚µ‚̃f[ƒ^" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "ŒJ‚è•Ô‚µI—¹“úŽž" + +#: lib/Driver.php:2044 +msgid "Recurrence End Day" +msgstr "ŒJ‚è•Ô‚µI—¹“ú" + +#: lib/Driver.php:2029 +msgid "Recurrence End Month" +msgstr "ŒJ‚è•Ô‚µI—¹ŒŽ" + +#: lib/Driver.php:2012 +msgid "Recurrence End Year" +msgstr "ŒJ‚è•Ô‚µI—¹”N" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "ŒJ‚è•Ô‚µ‚ÌŠÔŠu" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "ŒJ‚è•Ô‚µ‚ÌŒ^" + +#: lib/Kronolith.php:1125 +msgid "Recurs daily" +msgstr "–ˆ“úŒJ‚è•Ô‚µ" + +#: lib/Kronolith.php:1132 +msgid "Recurs monthly" +msgstr "–ˆŒŽŒJ‚è•Ô‚µ" + +#: lib/Kronolith.php:1128 +msgid "Recurs weekly" +msgstr "–ˆTŒJ‚è•Ô‚µ" + +#: lib/Kronolith.php:1137 +msgid "Recurs yearly" +msgstr "–ˆ”NŒJ‚è•Ô‚µ" + +#: lib/Scheduler/kronolith.php:261 +#, php-format +msgid "Reminder: %s" +msgstr "Ã‘£F%s" + +#: config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "ƒŠƒ‚[ƒgƒJƒŒƒ“ƒ_[" + +#: templates/panel.inc:86 +msgid "Remote Calendars:" +msgstr "ƒŠƒ‚[ƒgƒJƒŒƒ“ƒ_[F" + +#: templates/calendars/calendars.inc:139 +msgid "Remote Subscription URL" +msgstr "‰“Šuw“Ç URL" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "íœ" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "%s ‚ðíœ" + +#: attendees.php:164 +msgid "Remove Attendee" +msgstr "ŽQ‰ÁŽæ‚èŽ~‚ß" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "ƒ\[ƒX‚ðíœ" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Œ»Ý‚Ì—\’è•\ƒoƒbƒNƒGƒ“ƒh‚ł̓†[ƒU[ƒf[ƒ^‚̍폜‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"ƒCƒ“ƒ|[ƒg‚ÅŠù‘¶‚Ì—\’è•\‚ðã‘‚«‚µ‚Ü‚·‚©H ŒxFŒ»Ý‚Ì—\’è•\‚Ì“à—e‚ª" +"‘S‚č폜‚³‚ê‚Ü‚·B" + +#: lib/Kronolith.php:1216 +msgid "Required" +msgstr "•K{" + +#: lib/FBView.php:97 lib/FBView.php:138 lib/FBView.php:141 lib/FBView.php:144 +msgid "Required Attendees" +msgstr "•K{ŽQ‰ÁŽÒ" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "ƒfƒtƒHƒ‹ƒg‚É–ß‚·" + +#: templates/attendees/attendees.inc:49 templates/view/view.inc:173 +msgid "Response" +msgstr "‰ž“š" + +#: config/prefs.php.dist:148 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"“ú•\ަ‚ƏT•\ަ‚ð‚±‚ê‚ç‚ÌŽžŠÔ‚ɐ§ŒÀ‚µ‚Ü‚·‚©i”͈͊O‚ɃCƒxƒ“ƒg‚ª‚ ‚Á‚½‚Æ‚µ‚Ä" +"‚àjH" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Views/Year.php:82 lib/Block/month.php:107 +msgid "Sa" +msgstr "“y" + +#: templates/month/head.inc:22 templates/view/view.inc:104 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "“y—j" + +#: templates/panel.inc:96 templates/calendars/calendars.inc:148 +msgid "Save" +msgstr "•Û‘¶" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "%s ‚ð•Û‘¶" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1784 +#: lib/Views/EditEvent.php:78 lib/Views/EditEvent.php:88 +msgid "Save As New" +msgstr "V‹K‚Æ‚µ‚ĕۑ¶" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "ŽQ‰ÁŽÒ‚ð•Û‘¶" + +#: new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "ƒCƒxƒ“ƒg‚ð•Û‘¶" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "•Û‘¶‚µ‚ďI—¹" + +#: search.php:91 templates/search/search_advanced.inc:114 +#: templates/search/search.inc:67 templates/contacts/contacts.inc:155 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "ŒŸõ" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "ŒŸõŒ‹‰Ê" + +#: templates/panel.inc:48 +msgid "Search for Calendars:" +msgstr "—\’è•\‚ðŒŸõF" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "ŒŸõŒ‹‰Ê" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "—\’èî•ñ‚ÌŒŸõ‚͂ł«‚Ü‚¹‚ñB" + +#: templates/calendars/calendars.inc:23 templates/calendars/calendars.inc:142 +msgid "Select a calendar above to display the Remote Subscription URL" +msgstr "‰“Šuw“Ç URL ‚ð•\ަ‚³‚¹‚é—\’è•\‚ðã‚©‚ç‘I‚ñ‚ʼnº‚³‚¢" + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:134 +msgid "Select a calendar above to display the URL" +msgstr "URL ‚ð•\ަ‚³‚¹‚é—\’è•\‚ðã‚©‚ç‘I‚ñ‚ʼnº‚³‚¢" + +#: templates/calendars/calendars.inc:94 +msgid "Select a calendar to edit" +msgstr "•ҏW‚·‚é—\’è•\‚ð‘I‘ð" + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "“úŽž‚ð‘I‘ð" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "’ljÁ‚·‚éƒOƒ‹[ƒv‚ð‘I‘ð" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "•ҏW‚·‚éƒOƒ‹[ƒv‚ð‘I‘ðF" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "VŠ—LŽÒ‚ð‘I‘ðF" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "’ljÁ‚·‚郆[ƒU‚ð‘I‘ðF" + +#: config/prefs.php.dist:77 +msgid "Select address book sources for adding and searching for addresses." +msgstr "ƒAƒhƒŒƒXŒŸõ‚ÉŽg—p‚·‚éƒAƒhƒŒƒX’ ‚ð‘I‘ð‚µ‚Ü‚·B" + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "ƒAƒhƒŒƒX‚ð“WŠJ‚·‚鎞AŒŸõ‚·‚鍀–Ú‚ð‘S‚Ä‘I‘ð‚µ‚Ä‰º‚³‚¢B" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "Šm”F‚̃IƒvƒVƒ‡ƒ“‚â•\ަŒ`Ž®‚Ȃǂð‘I‘ð‚µ‚Ü‚·B" + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "ƒCƒ“ƒ|[ƒg‚·‚é—\’è•\‚ð‘I‘ðF" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "ƒGƒNƒXƒ|[ƒg‚·‚é—\’è•\‚ð‘I‘ð" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "ƒGƒNƒXƒ|[ƒg‚ÌŒ`Ž®‚ð‘I‘ðF" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "ƒCƒ“ƒ|[ƒg‚·‚éƒtƒ@ƒCƒ‹‚ð‘I‘ðF" + +#: config/prefs.php.dist:119 +msgid "Select the first weekday:" +msgstr "T‚̍ŏ‰‚Ì—j“ú‚ð‘I‘ðF" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Œ³ƒtƒ@ƒCƒ‹‚ÌŒ`Ž®‚ð‘I‘ðF" + +#: config/prefs.php.dist:243 +msgid "Select the time span to show:" +msgstr "•\ަ‚·‚éŠúŠÔ‚ð‘I‘ðF" + +#: config/prefs.php.dist:101 +msgid "Select the view to display on startup:" +msgstr "Å‰‚Ì•\ަŒ`Ž®‚ð‘I‘ðF" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "ƒ|[ƒ^ƒ‹‰æ–ʂɕ\ަ‚·‚éƒCƒxƒ“ƒg‚ð‘I‘ð‚µ‚Ü‚·B" + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "ƒAƒhƒŒƒX’ ‚ð‘I‘ð" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "‘I‘ð‚³‚ê‚½ƒAƒhƒŒƒX" + +#: templates/delete/one.inc:19 templates/delete/delete.inc:21 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "‚±‚̃Cƒxƒ“ƒg‚ðíœ‚·‚鎞‚ÉŽQ‰ÁŽÒ‘Sˆõ‚ɃLƒƒƒ“ƒZƒ‹‚Ì’Ê’m‚ðo‚µ‚Ü‚·‚©H" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "%s ‚Ƀ[ƒ‹‚ð‘—‚é" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "ƒCƒxƒ“ƒg‚ð•Û‘¶‚µ‚½ŽžAŽQ‰ÁŽÒ‘Sˆõ‚É’Ê’m‚ðo‚µ‚Ü‚·‚©H" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "ŽQ‰ÁŽÒ‘Sˆõ‚ɍXV‚ð‘—‚è‚Ü‚·‚©H" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "‚XŒŽ" + +#: config/prefs.php.dist:52 +msgid "Set default values for new events." +msgstr "V‚µ‚¢ƒCƒxƒ“ƒg—p‚̃fƒtƒHƒ‹ƒg‚ðÝ’肵‚ĉº‚³‚¢B" + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "I—¹“ú‚ðÝ’è" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "ŒJ‚è•Ô‚µI—¹“ú‚ðÝ’è" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "ŠJŽn“ú‚ðÝ’è" + +#: config/prefs.php.dist:69 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" +"‚ ‚È‚½‚Ì—\’èî•ñ—p‚Ì—\’è•\‚ƁA‘¼‚̐l‚Ì—\’èî•ñ‚𓾂邽‚߂̃IƒvƒVƒ‡ƒ“‚ðÝ’肵" +"‚Ü‚·B" + +#: calendars.php:84 +#, php-format +msgid "Share not found: %s" +msgstr "‹¤—L‚ªŒ©‚‚©‚è‚Ü‚¹‚ñF%s" + +#: templates/panel.inc:64 +msgid "Shared Calendars:" +msgstr "‹¤—L—\’è•\F" + +#: templates/perms/perms.inc:30 templates/perms/perms.inc:57 +#: templates/perms/perms.inc:86 templates/perms/perms.inc:98 +#: templates/perms/perms.inc:127 templates/perms/perms.inc:139 +#: templates/perms/perms.inc:168 templates/perms/perms.inc:180 +#: templates/perms/perms.inc:209 templates/perms/perms.inc:221 +#: templates/perms/perms.inc:262 templates/perms/perms.inc:291 +#: templates/perms/perms.inc:303 templates/perms/perms.inc:337 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "•\ަ" + +#: config/prefs.php.dist:215 +msgid "Show calendar options panel?" +msgstr "—\’è•\ƒIƒvƒVƒ‡ƒ“‚ð•\ަ‚µ‚Ü‚·‚©H" + +#: config/prefs.php.dist:205 +msgid "Show category legend?" +msgstr "•ª—ނ̉ðà‚ð•\ަ‚µ‚Ü‚·‚©H" + +#: config/prefs.php.dist:171 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "—\’è•\‚Ì’†‚ō폜AŒx•ñAŒJ‚è•Ô‚µ‚̃AƒCƒRƒ“‚ð•\ަ‚µ‚Ü‚·‚©H" + +#: config/prefs.php.dist:272 +msgid "Show external events using category colors?" +msgstr "ŠO•”ƒCƒxƒ“ƒg‚𕪗ނ̐F‚Å•\ަ‚µ‚Ü‚·‚©H" + +#: config/prefs.php.dist:225 +msgid "Show free/busy legend?" +msgstr "—\’èî•ñiFree/Budyj‚̉ðà‚ð•\ަ‚µ‚Ü‚·‚©H" + +#: config/prefs.php.dist:263 +msgid "Show only events that have an alarm set?" +msgstr "ƒAƒ‰[ƒ€‚Ì‚ ‚éƒCƒxƒ“ƒg‚¾‚¯‚ð•\ަ‚µ‚Ü‚·‚©H" + +#: config/prefs.php.dist:234 +msgid "Show shared calendars side-by-side?" +msgstr "‹¤—L—\’è•\‚ð•À‚ׂĕ\ަ‚µ‚Ü‚·‚©H" + +#: config/prefs.php.dist:110 +msgid "Show time of day between each day in week views?" +msgstr "T•\ަ‚Å‚à–ˆ“úŽžŠÔ‚ð•\ަ‚µ‚Ü‚·‚©H" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "_RŠJŽn" + +#: data.php:56 +msgid "Start Date" +msgstr "ŠJŽn“úŽž" + +#: templates/data/export.inc:68 lib/Driver.php:1904 +msgid "Start Day" +msgstr "ŠJŽn“ú" + +#: templates/data/export.inc:87 lib/Driver.php:1915 +msgid "Start Hour" +msgstr "ŠJŽnŽž" + +#: templates/data/export.inc:102 lib/Driver.php:1925 +msgid "Start Minute" +msgstr "ŠJŽn•ª" + +#: templates/data/export.inc:54 lib/Driver.php:1895 +msgid "Start Month" +msgstr "ŠJŽnŒŽ" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:35 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "ŠJŽn“úŽž" + +#: data.php:57 +msgid "Start Time" +msgstr "ŠJŽnŽžŠÔ" + +#: templates/data/export.inc:39 lib/Driver.php:1884 +msgid "Start Year" +msgstr "ŠJŽn”N" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "_Uó‘Ô" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "ó‘Ô" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "—\’èî•ñ‚Í‚ ‚è‚Ü‚¹‚ñB" + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:109 +#: lib/Block/month.php:111 +msgid "Su" +msgstr "“ú" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/view/view.inc:105 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:120 +msgid "Sunday" +msgstr "“ú—j" + +#: lib/Kronolith.php:1164 lib/Kronolith.php:1187 +msgid "Tentative" +msgstr "‚ ‚â‚Ó‚â" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Views/Year.php:80 lib/Block/month.php:107 +msgid "Th" +msgstr "–Ø" + +#: data.php:238 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "ƒtƒ@ƒCƒ‹ %s ‚ɂ̓Cƒxƒ“ƒg‚Í‚P‚Â‚à‚ ‚è‚Ü‚¹‚ñB" + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "—\’è•\ƒoƒbƒNƒGƒ“ƒh‚ÍŒ»ÝŽg—p‚Å‚«‚Ü‚¹‚ñB" + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "—\’è•\ƒoƒbƒNƒGƒ“ƒh‚ÍŒ»ÝŽg—p‚Å‚«‚Ü‚¹‚ñF%s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "ŽQ‰ÁŽÒ‚̕ҏW‰æ–Ê‚ª‚ ‚è‚Ü‚¹‚ñ‚̂ŁAI—¹‚µ‚Ü‚·B" + +#: calendars.php:77 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "—\’è•\ \"%s\" ‚͍폜‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B" + +#: calendars.php:44 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "—\’è•\ \"%s\" ‚͍쐬‚³‚ê‚Ü‚µ‚½B" + +#: calendars.php:95 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "—\’è•\ \"%s\" ‚͍폜‚³‚ê‚Ü‚µ‚½B" + +#: calendars.php:58 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "—\’è•\ \"%s\" ‚Í \"%s\" ‚É–¼‘O‚ª•ύX‚³‚ê‚Ü‚µ‚½B" + +#: calendars.php:60 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "—\’è•\ \"%s\" ‚͕ۑ¶‚³‚ê‚Ü‚µ‚½B" + +#: data.php:246 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "—\’è•\‚̓p[ƒW‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½F%s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "I—¹“úŽž‚ÍŠJŽn“úŽž‚æ‚è‚àŒã‚łȂ¯‚ê‚΂Ȃè‚Ü‚¹‚ñB" + +#: lib/Kronolith.php:1595 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "ƒCƒxƒ“ƒg \"%s\" ‚ð—\’è•\ \"%s\" ‚ɒljÁ‚µ‚Ü‚µ‚½B—\’è‚Í %s ‚Ì %s ‚Å‚·B" + +#: lib/Kronolith.php:1605 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"ƒCƒxƒ“ƒg \"%s\" ‚ð—\’è•\ \"%s\" ‚©‚çíœ‚µ‚Ü‚µ‚½B—\’è‚Í %s ‚Ì %s ‚Å‚µ‚½B" + +#: lib/Kronolith.php:1600 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "ƒCƒxƒ“ƒg \"%s\" ‚ð—\’è•\ \"%s\" ‚ŕύX‚µ‚Ü‚µ‚½B—\’è‚Í %s ‚Ì %s ‚Å‚·B" + +#: lib/Kronolith.php:1485 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "ƒCƒxƒ“ƒg’Ê’m‚Í %s ‚³‚ñ‚É‘—‚ç‚ê‚Ü‚µ‚½B" + +#: lib/Kronolith.php:1439 +msgid "The following is a more detailed description of the event:" +msgstr "ˆÈ‰º‚̓Cƒxƒ“ƒg‚̏ڍׂł·F" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "%s —p‚Ì—\’è•\ URL ‚͎擾‚Å‚«‚Ü‚¹‚ñ‚Å‚µ‚½B" + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"—v‹‚ª•sŠ®‘S‚Å‚µ‚½BƒCƒxƒ“ƒg‚ðŽó‘ø‚ ‚é‚¢‚͎Ӑ₷‚邽‚߂̃pƒ‰ƒ[ƒ^‚ª•s‘«‚µ‚Ä" +"‚¢‚Ü‚µ‚½B" + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "—v‹‚³‚ꂽƒCƒxƒ“ƒg‚ÍŒ©‚‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½B" + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Œ»Ý‚̊‚Ɉê’v‚·‚éƒCƒxƒ“ƒg‚Í‚ ‚è‚Ü‚¹‚ñB" + +#: edit.php:46 edit.php:68 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "—\’è•\‚̃AƒNƒZƒX’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½F %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "ƒCƒxƒ“ƒg‚̒ljÁ’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½F %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "ƒCƒxƒ“ƒg‚̕ύX’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½F %s" + +#: lib/api.php:376 lib/api.php:619 lib/api.php:903 +msgid "There was an error importing the iCalendar data." +msgstr "iCalendar ƒf[ƒ^‚ðƒCƒ“ƒ|[ƒg’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½B" + +#: edit.php:142 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "ƒCƒxƒ“ƒg‚̈ړ®’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½F %s" + +#: lib/Kronolith.php:1490 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "ƒCƒxƒ“ƒg’Ê’m‚ð %s ‚³‚ñ‚É‘—M’†‚ɃGƒ‰[‚ª”­¶‚µ‚Ü‚µ‚½F%s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "ƒGƒNƒXƒ|[ƒg‚·‚éƒCƒxƒ“ƒg‚Í‚ ‚è‚Ü‚¹‚ñB" + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "¡ŒŽ" + +#: data.php:194 +msgid "This file format is not supported." +msgstr "‚±‚̃tƒ@ƒCƒ‹Œ`Ž®‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB" + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"‚±‚ê‚ÍŒJ‚è•Ô‚µƒCƒxƒ“ƒg‚Å‚·Bíœ‚·‚é‚̂͌»Ý‚̃Cƒxƒ“ƒg‚¾‚¯‚Å‚·‚©H ‚»‚ê‚Æ‚à¡" +"Œã‚̃Cƒxƒ“ƒg‚à‚Å‚·‚©H" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"‚±‚ê‚ÍŒJ‚è•Ô‚µƒCƒxƒ“ƒg‚Å‚·B•ҏW‚·‚é‚̂͌»Ý‚̃Cƒxƒ“ƒg‚¾‚¯‚Å‚·‚©H ‚»‚ê‚Æ‚à¡" +"Œã‚̃Cƒxƒ“ƒg‚à‚Å‚·‚©H" + +#: data.php:266 +#, php-format +msgid "This is what the server said: %s" +msgstr "ƒT[ƒo‚©‚ç‚̉ž“šF%s" + +#: templates/month/head.inc:20 templates/view/view.inc:102 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "–Ø—j" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "_AŠúŠÔF" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "ŠúŠÔ" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "_L•\‘è" + +#: data.php:55 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "•\‘è" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "•\‘èF" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"•¡”‚̍€–Ú‚ð‘I‘ð‚·‚é‚ɂ́ACTRLiPC‚̏ꍇj‚ ‚é‚¢‚Í CommandiMac‚̏ꍇj‚ð‰Ÿ‚µ" +"‚È‚ª‚çƒNƒŠƒbƒN‚µ‚Ü‚·B" + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:140 +msgid "Today" +msgstr "¡“ú" + +#: lib/Block/prevmonthlist.php:127 lib/Block/monthlist.php:134 +#: lib/Block/summary.php:142 +msgid "Tomorrow" +msgstr "–¾“ú" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Views/Year.php:78 lib/Block/month.php:107 +msgid "Tu" +msgstr "‰Î" + +#: templates/month/head.inc:18 templates/view/view.inc:100 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "‰Î—j" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Œ^" + +#: templates/calendars/calendars.inc:131 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "SQL ƒT[ƒo‚ɐڑ±‚Å‚«‚Ü‚¹‚ñB" + +#: calendars.php:91 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "\"%s\" ‚ðíœ‚Å‚«‚Ü‚¹‚ñF%s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "’è‹` %s ‚ðƒ[ƒh‚Å‚«‚Ü‚¹‚ñB" + +#: attendees.php:57 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "\"%s\" ‚ðƒ[ƒ‹ƒAƒhƒŒƒX‚Æ”Fޝ‚Å‚«‚Ü‚¹‚ñB" + +#: calendars.php:55 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "\"%s\" ‚ð•ύX‚Å‚«‚Ü‚¹‚ñF%s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "%s ‚³‚ñ‚Ì—\’èî•ñ‚ðŠ“¾‚Å‚«‚Ü‚¹‚ñ" + +#: calendars.php:65 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "—\’è•\ \"%s\" ‚ð•Û‘¶‚Å‚«‚Ü‚¹‚ñF%s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "–¢®—" + +#: lib/api.php:448 lib/api.php:671 lib/api.php:729 lib/api.php:789 +#: lib/api.php:923 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "ƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢ƒRƒ“ƒeƒ“ƒcƒ^ƒCƒv‚Å‚·F%s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "‚±‚ê‚©‚ç‚̃Cƒxƒ“ƒg" + +#: perms.php:256 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" ‚ðXV‚µ‚Ü‚µ‚½B" + +#: lib/Kronolith.php:1429 +#, php-format +msgid "Updated: %s." +msgstr "XV‚µ‚Ü‚µ‚½F%s" + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "ƒ†[ƒU[ƒCƒ“ƒ^[ƒtƒFƒCƒX" + +#: templates/prefs/remote_cal_management.inc:68 +msgid "User Name" +msgstr "ƒ†[ƒU–¼" + +#: templates/perms/perms.inc:256 +msgid "User to add:" +msgstr "’ljÁ‚·‚郆[ƒUF" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:164 +#: lib/Block/month.php:167 +msgid "View Day" +msgstr "“ú•t‚ð•\ަ" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Views/Year.php:79 lib/Block/month.php:107 +msgid "We" +msgstr "…" + +#: lib/Driver.php:1160 lib/Scheduler/kronolith.php:265 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"‚ ‚È‚½‚ɍ¡Œã‚̃Cƒxƒ“ƒg‚ð‚¨’m‚点‚¢‚½‚µ‚Ü‚·B\n" +"\n" +"%s\n" +"\n" +"êŠF %s\n" +"\n" +"“ú•tF %s\n" +"ŽžŠÔF %s\n" +"\n" +"%s" + +#: templates/month/head.inc:19 templates/view/view.inc:101 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "…—j" + +#: attendees.php:172 lib/Kronolith.php:1751 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:98 +msgid "Week" +msgstr "T" + +#: workweek.php:15 week.php:17 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "‘æ%dT" + +#: templates/prefs/default_alarm_management.inc:29 templates/view/view.inc:53 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "TŠÔ" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "TŠÔ" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "–ˆTFŒJ‚è•Ô‚µ" + +#: config/prefs.php.dist:139 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "“ú•\ަ‚ƏT•\ަ‚̏I—¹ŽžŠÔ‚́H" + +#: config/prefs.php.dist:130 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "“ú•\ަ‚ƏT•\ަ‚ÌŠJŽnŽžŠÔ‚́H" + +#: config/prefs.php.dist:293 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "‚ǂ̎í—Þ‚Ì‹x“ú‚ð•\ަ‚µ‚Ü‚·‚©H" + +#: attendees.php:171 lib/Kronolith.php:1749 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:99 +msgid "Work Week" +msgstr "ŒŽ‹à" + +#: lib/Kronolith.php:1755 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "”N" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "”NŠÔ" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "–ˆ”NFŒJ‚è•Ô‚µ" + +#: edit.php:27 data.php:41 data.php:255 new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "‚ ‚È‚½‚Í %d ˆÈã‚̃Cƒxƒ“ƒg‚ðì¬‚Å‚«‚Ü‚¹‚ñB" + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "‚ ‚È‚½‚ÍŽw’肵‚½ƒCƒxƒ“ƒg‚ÌŽQ‰ÁŽÒ‚ł͂ ‚è‚Ü‚¹‚ñB" + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "‚±‚̃tƒH[ƒ€‚ÍŽQ‰ÁŽÒ‚̕ҏW‰æ–ʂł̂ݎg—p‚Å‚«‚Ü‚·B" + +#: lib/Kronolith.php:1378 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"‚ ‚È‚½‚͌lî•ñ‚̐ݒè‚с[ƒ‹ƒAƒhƒŒƒX‚ðÝ’肵‚Ä‚¢‚Ü‚¹‚ñBƒCƒxƒ“ƒg’Ê’m‚ðŽó‚¯" +"‚邽‚ß‚É‚Í %s‚±‚±%s ‚̐ݒ肪•K—v‚Å‚·B" + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "‚ ‚È‚½‚ɂ̓Cƒxƒ“ƒg‚ð %s ‚ɒljÁ‚·‚錠ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñB" + +#: data.php:203 +msgid "You do not have permission to add events to the selected calendar." +msgstr "‚ ‚È‚½‚ɂ͑I‘ð‚µ‚½—\’è•\‚ɃCƒxƒ“ƒg‚ð’ljÁ‚·‚錠ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñ" + +#: edit.php:159 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "‚ ‚È‚½‚ɂ̓Cƒxƒ“ƒg‚ð %s ‚ɈϏ÷‚·‚錠ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñB" + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "‚ ‚È‚½‚ɂ͂±‚̃Cƒxƒ“ƒg‚ðíœ‚·‚錠ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñB" + +#: edit.php:162 +msgid "You do not have permission to edit this event." +msgstr "‚ ‚È‚½‚ɂ͂±‚̃Cƒxƒ“ƒg‚ð•ύX‚·‚錠ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñB" + +#: edit.php:156 +msgid "You do not have permission to move this event." +msgstr "‚ ‚È‚½‚ɂ͂±‚̃Cƒxƒ“ƒg‚ðˆÚ“®‚·‚錠ŒÀ‚ª‚ ‚è‚Ü‚¹‚ñB" + +#: data.php:200 +msgid "You have specified an invalid calendar." +msgstr "•s³‚È—\’è•\‚ðŽw’肵‚Ü‚µ‚½B" + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "‚ ‚È‚½‚Í‚±‚̃Cƒxƒ“ƒg‚ÌŽQ‰ÁŽÒ‚ÉŽQ‰Á‚³‚ê‚Ü‚µ‚½B" + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "‚ ‚È‚½‚ɂ͂±‚̃Cƒxƒ“ƒg‚ւ̏µ‘Ò‚ðŽ«‘Þ‚µ‚Ü‚µ‚½B" + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "‚ ‚È‚½‚ɂ͂±‚̃Cƒxƒ“ƒg‚ւ̏µ‘Ò‚ð‰¼Žó‘ø‚µ‚Ü‚µ‚½B" + +#: calendars.php:98 +msgid "You must select a calendar to be deleted." +msgstr "íœ‚·‚é‚ׂ«—\’è•\‚ð‘I‘ð‚µ‚Ä‰º‚³‚¢B" + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "ƒAƒhƒŒƒX‚ðÅ‰‚É‘I‘ð‚µ‚Ä‰º‚³‚¢B" + +#: templates/calendars/calendars.inc:116 +msgid "You need to select a calendar first" +msgstr "—\’è•\‚ðÅ‰‚É‘I‘ð‚µ‚Ä‰º‚³‚¢" + +#: lib/Kronolith.php:1595 +msgid "You requested to be notified when events are added to your calendars." +msgstr "‚ ‚È‚½‚Í‚ ‚È‚½‚Ì—\’è•\‚ɃCƒxƒ“ƒg‚ª’ljÁ‚³‚ê‚½Žž‚Ì’Ê’m‚ð—v‹‚µ‚Ü‚µ‚½B" + +#: lib/Kronolith.php:1605 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "‚ ‚È‚½‚Í‚ ‚È‚½‚Ì—\’è•\‚©‚çƒCƒxƒ“ƒg‚ªíœ‚³‚ê‚½Žž‚Ì’Ê’m‚ð—v‹‚µ‚Ü‚µ‚½B" + +#: lib/Kronolith.php:1600 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "‚ ‚È‚½‚Í‚ ‚È‚½‚Ì—\’è•\‚̃Cƒxƒ“ƒg‚ª•ύX‚³‚ê‚½Žž‚Ì’Ê’m‚ð—v‹‚µ‚Ü‚µ‚½B" + +#: lib/Scheduler/kronolith.php:403 lib/Scheduler/kronolith.php:405 +#, php-format +msgid "Your daily agenda for %s" +msgstr "%s ‚ÌŒv‰æ" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "ƒfƒtƒHƒ‹ƒg—\’è•\" + +#: templates/panel.inc:59 +msgid "[Manage My Calendars]" +msgstr "[Ž„‚Ì—\’è•\‚ÌŠÇ—]" + +#: templates/panel.inc:91 +msgid "[Manage Remote Calendars]" +msgstr "[ƒŠƒ‚[ƒgƒJƒŒƒ“ƒ_[‚ÌŠÇ—]" + +#: lib/Driver.php:1408 lib/Driver.php:1424 +msgid "[Unnamed event]" +msgstr "[–³–¼ƒCƒxƒ“ƒg]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_AƒAƒ‰[ƒ€" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "_BŠÈˆÕŒŸõ" + +#: lib/Kronolith.php:1784 +msgid "_Edit" +msgstr "_E•ҏW" + +#: lib/Kronolith.php:1949 +msgid "_Goto" +msgstr "_GˆÚ“®" + +#: lib/Kronolith.php:1955 +msgid "_Import/Export" +msgstr "_IƒCƒ“/ƒAƒEƒg" + +#: lib/Kronolith.php:1945 +msgid "_New Event" +msgstr "_NVƒCƒxƒ“ƒg" + +#: lib/Kronolith.php:1960 +msgid "_Print" +msgstr "_Pˆóü" + +#: lib/Kronolith.php:1951 +msgid "_Search" +msgstr "_SŒŸõ" + +#: lib/Kronolith.php:1940 +msgid "_Today" +msgstr "_T¡“ú" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "as %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "ƒCƒxƒ“ƒgŠJŽn‘O" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "ƒCƒxƒ“ƒgŠJŽn‘OBu0v‚̓Aƒ‰[ƒ€–³‚µ‚ðˆÓ–¡‚µ‚Ü‚·B" + +#: config/prefs.php.dist:244 +msgid "day" +msgstr "“ú" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "“ú" + +#: config/prefs.php.dist:245 config/prefs.php.dist:246 +#: config/prefs.php.dist:247 config/prefs.php.dist:248 +#: config/prefs.php.dist:249 +msgid "days" +msgstr "“úŠÔ" + +#: data.php:155 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:179 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "in" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "ƒ–ŒŽ" + +#: lib/Kronolith.php:1435 +#, php-format +msgid "on %s at %s" +msgstr "%s ‚Ì %s ‚É" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "“¯‚¶“ú‚É" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "“¯‚¶—j“ú‚É" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "ŒJ‚è•Ô‚µ" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:250 +msgid "week" +msgstr "T" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "TA“¯‚¶“ú‚É" + +#: config/prefs.php.dist:251 config/prefs.php.dist:252 +#: config/prefs.php.dist:253 +msgid "weeks" +msgstr "TŠÔ" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "”N‚Ì“¯‚¶“úŽž‚É" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "”N‚Ì“¯‚¶“ú‚É" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "”N‚Ì“¯‚¶ŒŽ‚Å“¯‚¶T‚É" diff --git a/kronolith/po/ko_KR.po b/kronolith/po/ko_KR.po new file mode 100644 index 000000000..197c2aed0 --- /dev/null +++ b/kronolith/po/ko_KR.po @@ -0,0 +1,670 @@ +# Kronolith Korean translation. +# Copyright 2002 J.I Kim. +# J.I Kim , 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 2.0-cvs\n" +"POT-Creation-Date: 2002-05-29 14:58+0900\n" +"PO-Revision-Date: 2001-11-09 16:29+0900\n" +"Last-Translator: J.I Kim \n" +"Language-Team: Korean \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=EUC-KR\n" +"Content-Transfer-Encoding: 8bit\n" + +#, c-format +msgid "%d hour" +msgstr "%d ½Ã" + +#, c-format +msgid "%d hour, %d minute" +msgstr "%d ½Ã, %d ºÐ" + +#, c-format +msgid "%d hour, %d minutes" +msgstr "%d ½Ã, %d ºÐ" + +#, c-format +msgid "%d hours" +msgstr "%d ½Ã" + +#, c-format +msgid "%d hours, %d minute" +msgstr "%d ½Ã, %d ºÐ" + +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d ½Ã, %d ºÐ" + +#, c-format +msgid "%d minute" +msgstr "%d ºÐ" + +#, c-format +msgid "%d minutes" +msgstr "%d ºÐ" + +#, c-format +msgid "%s file successfully imported" +msgstr "%s ÆÄÀÏÀÌ ÀÓÆ÷Æ®µÇ¾ú½À´Ï´Ù." + +#, c-format +msgid "%s is in progress." +msgstr "%s °¡ ÁøÇàÁßÀÔ´Ï´Ù." + +#, c-format +msgid "%s is starting now." +msgstr "%s °¡ Áö±Ý ½ÃÀÛÇÕ´Ï´Ù." + +#, c-format +msgid "%s starts in %s" +msgstr "%s°¡ %s ¿¡¼­ ½ÃÀÛÇÕ´Ï´Ù." + +msgid "Description (optional)" +msgstr "³»¿ë (¼±ÅÃ)" + +msgid "Description" +msgstr "³»¿ë" + +msgid "Keywords (optional)" +msgstr "Ű¿öµå (¼±ÅÃ)" + +msgid "Keywords" +msgstr "Ű¿öµå" + +msgid "Recurrence (optional)" +msgstr "ÀÏÁ¤ ¹Ýº¹ (¼±ÅÃ)" + +msgid "Recurrence" +msgstr "ÀÏÁ¤ ¹Ýº¹" + +msgid "Add Event" +msgstr "ÀÏÁ¤ Ãß°¡" + +msgid "Add a new event" +msgstr "»õ·Î¿î ÀÏÁ¤ Ãß°¡Çϱâ" + +msgid "Alarm Date" +msgstr "¾Ë¸² ÀÏÀÚ" + +msgid "Alarm Span (minutes)" +msgstr "¾Ë¸² °£°Ý (ºÐ)" + +msgid "Alarm Time" +msgstr "¾Ë¸² ½Ã°£" + +msgid "Alarm" +msgstr "¾Ë¸²" + +msgid "All day event" +msgstr "ÇÏ·ç ³»³» ÀÏÁ¤" + +msgid "All day" +msgstr "ÇÏ·ç ³»³»" + +msgid "All events" +msgstr "Àüü ÀÏÁ¤" + +msgid "All" +msgstr "¸ðµÎ" + +msgid "April" +msgstr "4¿ù" + +msgid "At" +msgstr "½Ã°£" + +msgid "August" +msgstr "8¿ù" + +msgid "Birthday" +msgstr "»ýÀÏ" + +msgid "Business" +msgstr "¾÷¹«" + +msgid "Cancel" +msgstr "Ãë¼Ò" + +msgid "Category" +msgstr "¹üÁÖ" + +msgid "Change the way dates and times are formatted." +msgstr "ÀÏÀÚ ¹× ½Ã°£ Ãâ·ÂÇü½ÄÀ» ¼³Á¤ÇÕ´Ï´Ù." + +msgid "Confirm deletion of events?" +msgstr "ÀÏÁ¤ »èÁ¦½Ã È®ÀÎ?" + +msgid "Create a New Event" +msgstr "»õ·Î¿î ÀÏÁ¤ »ý¼º" + +msgid "Current" +msgstr "ÇöÀç" + +msgid "Daily: Recurs every" +msgstr "¸ÅÀÏ: ¹ß»ýÀÏ " + +msgid "Date and Time Options" +msgstr "½Ã°£ ¹× ÀÏÀÚ ¼³Á¤" + +msgid "Day" +msgstr "ÀÏ" + +msgid "Day(s)" +msgstr "ÀÏ" + +msgid "December" +msgstr "12¿ù" + +#, c-format +msgid "Delete %s" +msgstr "%s »èÁ¦" + +#, c-format +msgid "Delete '%s'" +msgstr "'%s' »èÁ¦" + +msgid "Delete Event" +msgstr "ÀÏÁ¤ »èÁ¦" + +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"ÇöÀç ÀÏÁ¤¸¸ »èÁ¦, ÀÌ ¹ß»ýÀÏÁ¤°ú ¸ðµç ¾ÕÀ¸·ÎÀÇ ¹ß»ýÀÏÁ¤, ¶Ç´Â ¸ðµç ¹ß»ý ÀÏÁ¤ ?" + +msgid "Delete" +msgstr "»èÁ¦" + +msgid "Description" +msgstr "¼³¸í" + +msgid "Display 24-hour times?" +msgstr "24½Ã°£ Çü½ÄÀ¸·Î Ç¥½Ã?" + +msgid "Display Options" +msgstr "È­¸é ¼³Á¤" + +#, c-format +msgid "Due: %s" +msgstr "ÇÒÀÏ: %s" + +msgid "Duration" +msgstr "±â°£" + +#, c-format +msgid "Edit %s" +msgstr "%s ¼öÁ¤" + +msgid "Edit" +msgstr "¼öÁ¤" + +msgid "End Date" +msgstr "Á¾·á ÀÏÀÚ" + +msgid "End On" +msgstr "Á¾·á ÀÏÀÚ" + +msgid "End Time" +msgstr "Á¾·á ½Ã°£" + +msgid "Export Calendar" +msgstr "ÀÏÁ¤ ÀͽºÆ÷Æ®" + +msgid "Export" +msgstr "ÀͽºÆ÷Æ®" + +msgid "February" +msgstr "2¿ù" + +msgid "Fr" +msgstr "±Ý" + +msgid "Friday" +msgstr "±Ý¿äÀÏ" + +msgid "Future" +msgstr "¾ÕÀ¸·Î" + +msgid "Game" +msgstr "°ÔÀÓ" + +msgid "Goto" +msgstr "À̵¿" + +msgid "Help" +msgstr "µµ¿ò¸»" + +msgid "Hour(s)" +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 Calendar" +msgstr "ÀÏÁ¤ ÀÓÆ÷Æ®Çϱâ" + +msgid "Import" +msgstr "ÀÓÆ÷Æ®" + +msgid "Import/Export Calendar" +msgstr "ÀÏÁ¤ ÀÓÆ÷Æ®/ÀͽºÆ÷Æ®" + +msgid "Import/Export" +msgstr "ÀÓÆ÷Æ®/ÀͽºÆ÷Æ®" + +msgid "January" +msgstr "1¿ù" + +msgid "July" +msgstr "7¿ù" + +msgid "June" +msgstr "6¿ù" + +msgid "Keywords" +msgstr "Ű¿öµå" + +msgid "Kronolith is not properly configured" +msgstr "Kronolith°¡ Á¤»óÀûÀ¸·Î ¼³Á¤µÇ¾î ÀÖÁö ¾Ê½À´Ï´Ù." + +msgid "Language" +msgstr "¾ð¾î" + +msgid "Last month" +msgstr "¸¶Áö¸· ´Þ" + +msgid "Last week" +msgstr "¸¶Áö¸· ÁÖ" + +msgid "Lasts" +msgstr "¸¶Áö¸·" + +msgid "Limit the time span to export:" +msgstr "ÀͽºÆ÷Æ® ½Ã°£ °£°Ý Á¦ÇÑ:" + +msgid "Location" +msgstr "À§Ä¡" + +msgid "March" +msgstr "3¿ù" + +msgid "May" +msgstr "5¿ù" + +msgid "Meeting" +msgstr "¹ÌÆÃ" + +msgid "Minute(s)" +msgstr "ºÐ" + +msgid "Minutes before" +msgstr "ºÐ Àü" + +msgid "Minutes" +msgstr "ºÐ" + +msgid "Mo" +msgstr "¿ù" + +msgid "Monday" +msgstr "¿ù¿äÀÏ" + +msgid "Month" +msgstr "¿ù" + +msgid "Monthly: Recurs every" +msgstr "¿ù¸¶´Ù: ¹ß»ý¿ù " + +msgid "New Event" +msgstr "»õ·Î¿î ÀÏÁ¤" + +msgid "Next Month" +msgstr "´ÙÀ½ ´Þ" + +msgid "Next day" +msgstr "´ÙÀ½ ÀÏ" + +msgid "Next week" +msgstr "´ÙÀ½ ÁÖ" + +msgid "No configuration information specified for SQL Calendar." +msgstr "SQL ÀÏÁ¤À» À§ÇÑ ¼³Á¤ Á¤º¸°¡ ¾ø½À´Ï´Ù." + +msgid "No end date" +msgstr "Á¾·áÀÏ ¾ø½¿" + +msgid "None" +msgstr "¾ø½¿" + +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"ÁÖÀÇ: ÀÌ ¼³Á¤¿¡¼­ ÀÓÆ÷Æ®´Â °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù. ÀÌ ÀÏÁ¤ µå¶óÀ̹ö¿¡´Â ¹ö±×°¡ ÀÖ" +"½À´Ï´Ù." + +msgid "November" +msgstr "11¿ù" + +msgid "October" +msgstr "10¿ù" + +msgid "Options" +msgstr "¼³Á¤" + +msgid "Pattern" +msgstr "À¯Çü" + +msgid "Permanently delete this event?" +msgstr "ÀÌ ÀÏÁ¤À» ¿ÏÀüÈ÷ »èÁ¦ÇϽðڽÀ´Ï±î?" + +msgid "Personal" +msgstr "°³ÀÎ" + +msgid "Previous day" +msgstr "ÀÌÀü ÀÏ" + +msgid "Problem?" +msgstr "¹®Á¦?" + +msgid "Recur Until" +msgstr "Á¾·á ÀÏ" + +msgid "Recurrence Data" +msgstr "¹Ýº¹ ÀÏ" + +msgid "Recurrence End Date" +msgstr "¹Ýº¹ Á¾·áÀÏ" + +msgid "Recurrence Interval" +msgstr "¹Ýº¹ °£°Ý" + +msgid "Recurrence Type" +msgstr "¹Ýº¹ À¯Çü" + +msgid "Recurs daily" +msgstr "¸ÅÀÏ ¹Ýº¹" + +msgid "Recurs monthly" +msgstr "¸Å¿ù ¹Ýº¹" + +msgid "Recurs not" +msgstr "¹Ýº¹ ¾ÈÇÔ" + +msgid "Recurs weekly" +msgstr "¸ÅÁÖ ¹Ýº¹" + +msgid "Recurs yearly" +msgstr "¸Å³â ¹Ýº¹" + +msgid "Required 'database' not specified in calendar configuration." +msgstr "ÀÏÁ¤¼³Á¤¿¡¼­ 'database'°¡ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù." + +msgid "Required 'hostspec' not specified in calendar configuration." +msgstr "ÀÏÁ¤¼³Á¤¿¡¼­ 'hostspec'ÀÌ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù." + +msgid "Required 'password' not specified in calendar configuration." +msgstr "ÀÏÁ¤¼³Á¤¿¡¼­ 'password'°¡ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù." + +msgid "Required 'phptype' not specified in calendar configuration." +msgstr "ÀÏÁ¤¼³Á¤¿¡¼­ 'phptype'ÀÌ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù." + +msgid "Required 'username' not specified in calendar configuration." +msgstr "ÀÏÁ¤¼³Á¤¿¡¼­ 'username'ÀÌ ¸í½ÃµÇÁö ¾Ê¾Ò½À´Ï´Ù." + +msgid "Reset to Defaults" +msgstr "ÃʱⰪÀ¸·Î" + +msgid "Sa" +msgstr "Åä" + +msgid "Saturday" +msgstr "Åä¿äÀÏ" + +msgid "Save As New" +msgstr "»õ·Î ÀúÀå" + +msgid "Save Event" +msgstr "ÀÏÁ¤ ÀúÀå" + +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "È®ÀÎ ¿É¼ÇÀ» ¼±ÅÃÇÏ¿© È­¸é Ãâ·Â¿É¼ÇÀ» ¼­·Î ´Ù¸£°Ô ¼±ÅÃÇÕ´Ï´Ù." + +msgid "Select how to display Dates:" +msgstr "ÀÏÀÚ Ãâ·Â ¹æ½Ä ¼±ÅÃ:" + +msgid "Select if to show due tasks in the calendar." +msgstr "ÀÏÁ¤¿¡¼­ º¸¿©ÁÙ ÇÒÀÏ ¼±ÅÃ." + +msgid "Select the file to import:" +msgstr "ÀÓÆ÷Æ®ÇÒ ÆÄÀÏ ¼±ÅÃ:" + +msgid "Select the first weekday:" +msgstr "ÃÖÃÊ ÁÖÁßÀÏ ¼±ÅÃ:" + +msgid "Select the format to export to:" +msgstr "ÀͽºÆ÷Æ®ÇÒ Çü½Ä ¼±ÅÃ:" + +msgid "Select the source to import from:" +msgstr "ÀÓÆ÷Æ®ÇÒ ¼Ò½º ¼±ÅÃ:" + +msgid "Select the time span to show:" +msgstr "Ãâ·Â½Ã°£ °£°Ý ¼±ÅÃ:" + +msgid "Select the view to display after login:" +msgstr "·Î±×ÀÎÈÄ¿¡ Ãâ·ÂÇÒ ÀÏÁ¤ ¼±ÅÃ:" + +msgid "Select what events to show in the Horde summary." +msgstr "Horde ¿ä¾à¿¡¼­ º¼ ¼ö ÀÖ±âÀ§ÇÑ ÀÏÁ¤À» ¼±ÅÃÇÒ ¼ö ÀÖ½À´Ï´Ù." + +msgid "September" +msgstr "9¿ù" + +msgid "Set the current time zone." +msgstr "ÇöÀçÀÇ Áö¿ª ½Ã°£À» ¼³Á¤ÇÕ´Ï´Ù." + +msgid "Set the language that menu items, explanations, and help are in." +msgstr "¸Þ´º ¹× ¼³¸í°ú µµ¿ò¸»¿¡¼­ »ç¿ëÇÒ ¾ð¾î¸¦ ¼³Á¤ÇÕ´Ï´Ù." + +msgid "Set your preferred display language." +msgstr "È­¸é Ãâ·Â¾ð¾î¸¦ ¼³Á¤ÇÕ´Ï´Ù." + +msgid "Show due tasks in the calendar?" +msgstr "ÀÏÁ¤¿¡¼­ ÇÒÀÏ º¸±â" + +msgid "Show half hour slots in day and week views?" +msgstr "ÀÏ ¹× ÁÖº° º¸±â¿¡¼­ 30ºÐ ´ÜÀ§·Î º¸±â?" + +msgid "Show only events that have an alarm set?" +msgstr "¾Ë¸² ¼³Á¤µÈ ÀÏÁ¤¸¸ º¸±â?" + +msgid "Some of Kronolith's configuration files are missing:" +msgstr "KronolithÀÇ ÀϺΠ¼³Á¤ÆÄÀÏÀÌ ´©¶ôµÇ¾ú½À´Ï´Ù:" + +msgid "Start Date" +msgstr "½ÃÀÛ ÀÏÀÚ" + +msgid "Start On" +msgstr "½ÃÀÛ ÀÏÀÚ" + +msgid "Start Time" +msgstr "½ÃÀÛ ½Ã°£" + +msgid "Su" +msgstr "ÀÏ" + +msgid "Summary" +msgstr "¿ä¾à" + +msgid "Sunday" +msgstr "ÀÏ¿äÀÏ" + +msgid "Tasks" +msgstr "ÇÒÀÏ" + +msgid "Th" +msgstr "¸ñ" + +msgid "The data was lost." +msgstr "µ¥ÀÌŸ°¡ »ç¶óÁ³½À´Ï´Ù." + +msgid "The end date must be later than the start date." +msgstr "Á¾·áÀÏÀº ½ÃÀÛÀ̺¸´Ù Ä¿¾ß ÇÕ´Ï´Ù." + +msgid "The file contained no data." +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 events to export." +msgstr "ÀͽºÆ÷Æ®ÇÒ ÀÏÁ¤ÀÌ ¾ø½À´Ï´Ù." + +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"ÀÌ ÆÄÀÏÀº KronolithÀÇ ±âº» ȯ°æ¼³Á¤ÀÔ´Ï´Ù. ¶ÇÇÑ »ç¿ëÀÚ°¡ º¯°æÇÒ ¼ö ÀÖ½À´Ï´Ù." + +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 Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "" +"ÀÌ ÆÄÀÏÀº ¸ÞÀÎ Kronolith ¼³Á¤ ÆÄÀÏÀÔ´Ï´Ù. Kronolith ½ºÅ©¸³Æ®ÀÇ °æ·Î¿Í ¼³Á¤³»" +"¿ëÀ» Æ÷ÇÔÇÕ´Ï´Ù." + +msgid "Thursday" +msgstr "¸ñ¿äÀÏ" + +msgid "Time Zone" +msgstr "Áö¿ª ½Ã°£" + +msgid "Title" +msgstr "Á¦¸ñ" + +msgid "Today" +msgstr "¿À´Ã" + +msgid "Tu" +msgstr "È­" + +msgid "Tuesday" +msgstr "È­¿äÀÏ" + +msgid "Type" +msgstr "À¯Çü" + +msgid "User Interface" +msgstr "»ç¿ëÀÚ ÀÎÅÍÆäÀ̽º" + +msgid "User Options" +msgstr "»ç¿ëÀÚ ¼³Á¤" + +#, c-format +msgid "View %s" +msgstr "%s º¸±â" + +msgid "We" +msgstr "¼ö" + +msgid "Wednesday" +msgstr "¼ö¿äÀÏ" + +#, c-format +msgid "Week %d" +msgstr "%d ÁÖ" + +msgid "Week" +msgstr "ÁÖ" + +#, c-format +msgid "Week %d" +msgstr "%d ÁÖ" + +msgid "Week(s)" +msgstr "¹øÂ° ÁÖ¿¡ " + +msgid "Weekly: Recurs every" +msgstr "ÁÖ¸¶´Ù ¹ß»ý: ¹ß»ýÁÖ " + +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "ÀÏ ¹× ÁÖº° º¸±â Á¾·á ½Ã°£(ÀÏÁ¤ Á¾·á ½Ã°£)?" + +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "ÀÏ ¹× ÁÖº° º¸±â ½ÃÀÛ ½Ã°£(ÀÏÁ¤ ½ÃÀÛ ½Ã°£)?" + +msgid "Work Week" +msgstr "ÁÖÁß" + +msgid "Work Week" +msgstr "ÁÖÁß" + +msgid "Yearly: Recurs every" +msgstr "³â¸¶´Ù: ¹ß»ý³â" + +msgid "Your Information" +msgstr "Á¤º¸»çÇ×" + +msgid "Your current time zone:" +msgstr "ÇöÀç Áö¿ª½Ã°£:" + +msgid "day" +msgstr "ÀÏ" + +msgid "day(s)" +msgstr "ÀÏ" + +msgid "days" +msgstr "ÀÏ" + +msgid "iCalendar file successfully imported" +msgstr "iCalendar ÆÄÀÏÀÌ ÀÓÆ÷Æ®µÇ¾ú½À´Ï´Ù." + +msgid "month(s)" +msgstr "¿ù" + +msgid "no time" +msgstr "½Ã°£ ¾ø½¿" + +msgid "on the same date" +msgstr " °°Àº³¯¿¡" + +msgid "on the same weekday" +msgstr " °°Àº ÁÖ¿¡" + +msgid "week" +msgstr "ÁÖ" + +msgid "week(s) on:" +msgstr "¹øÂ° ÁÖ¿¡:" + +msgid "weeks" +msgstr "ÁÖ" + +msgid "year(s)" +msgstr "³â" diff --git a/kronolith/po/kronolith.pot b/kronolith/po/kronolith.pot new file mode 100644 index 000000000..a5590d27c --- /dev/null +++ b/kronolith/po/kronolith.pot @@ -0,0 +1,2513 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright YEAR Horde Project +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , 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:45+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n" + +#: templates/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr "" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr "" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "" + +#: lib/Driver.php:2291 +#, php-format +msgid "%s attendees" +msgstr "" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "" + +#: lib/Kronolith.php:368 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr "" + +#: lib/Driver.php:2290 +msgid "1 attendee" +msgstr "" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "" + +#: config/prefs.php.dist:160 +msgid "1 hour" +msgstr "" + +#: config/prefs.php.dist:157 +msgid "15 minutes" +msgstr "" + +#: config/prefs.php.dist:158 +msgid "20 minutes" +msgstr "" + +#: config/prefs.php.dist:159 +msgid "30 minutes" +msgstr "" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "" + +#: lib/Kronolith.php:1210 +msgid "Accepted" +msgstr "" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "" + +#: new.php:65 +msgid "Add a new event" +msgstr "" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "" + +#: config/prefs.php.dist:75 +msgid "Address Books" +msgstr "" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:10 +msgid "Advanced Search" +msgstr "" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "" + +#: lib/Driver.php:2257 +#, php-format +msgid "Alarm %d days before" +msgstr "" + +#: lib/Driver.php:2262 +#, php-format +msgid "Alarm %d hours before" +msgstr "" + +#: lib/Driver.php:2267 +#, php-format +msgid "Alarm %d minutes before" +msgstr "" + +#: lib/Driver.php:2252 +#, php-format +msgid "Alarm %d weeks before" +msgstr "" + +#: lib/Driver.php:2256 +msgid "Alarm 1 day before" +msgstr "" + +#: lib/Driver.php:2261 +msgid "Alarm 1 hour before" +msgstr "" + +#: lib/Driver.php:2266 +msgid "Alarm 1 minute before" +msgstr "" + +#: lib/Driver.php:2251 +msgid "Alarm 1 week before" +msgstr "" + +#: data.php:61 +msgid "Alarm Date" +msgstr "" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "" + +#: data.php:62 +msgid "Alarm Time" +msgstr "" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "" + +#: templates/delete/delete.inc:27 templates/edit/edit.inc:39 +msgid "All" +msgstr "" + +#: lib/FBView.php:129 lib/FBView.php:132 lib/FBView.php:135 +msgid "All Attendees" +msgstr "" + +#: templates/perms/perms.inc:51 +msgid "All Authenticated Users" +msgstr "" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2360 +#: lib/Scheduler/kronolith.php:433 lib/Scheduler/kronolith.php:446 +#: lib/Views/Day.php:99 lib/Views/Day.php:102 lib/Views/Week.php:149 +#: lib/Views/Week.php:156 +msgid "All day" +msgstr "" + +#: lib/Block/summary.php:154 +msgid "All day event" +msgstr "" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "" + +#: lib/Maintenance/Task/purge_events.php:72 +#, php-format +msgid "All of your events older than %d days will be permanently deleted." +msgstr "" + +#: lib/api.php:801 lib/api.php:813 +msgid "Already Exists" +msgstr "" + +#: templates/search/search_advanced.inc:44 +#: templates/search/search_advanced.inc:65 lib/Kronolith.php:1303 +msgid "Any" +msgstr "" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "" + +#: lib/Kronolith.php:1483 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "" + +#: templates/attendees/attendees.inc:48 templates/attendees/attendees.inc:60 +#: templates/view/view.inc:172 +msgid "Attendance" +msgstr "" + +#: templates/attendees/attendees.inc:47 templates/view/view.inc:171 +msgid "Attendee" +msgstr "" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "" + +#: lib/Kronolith.php:1477 +#, php-format +msgid "Attendees: %s" +msgstr "" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "" + +#: templates/search/search_advanced.inc:9 templates/search/search.inc:12 +msgid "Basic Search" +msgstr "" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "" + +#: lib/FBView.php:90 lib/FBView.php:112 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "" + +#: templates/search/search_advanced.inc:37 +msgid "C_alendar" +msgstr "" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "" + +#: templates/calendar_list.php:24 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "" + +#: templates/calendar_list.php:21 +msgid "Calendar List" +msgstr "" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "" + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:66 +msgid "Calendars" +msgstr "" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "" + +#: data.php:270 +msgid "Can't create a new event." +msgstr "" + +#: templates/delete/one.inc:25 templates/delete/delete.inc:28 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 lib/Forms/DeleteCalendar.php:45 +#: lib/Forms/DeleteCalendar.php:51 +msgid "Cancel" +msgstr "" + +#: lib/Kronolith.php:1186 +msgid "Cancelled" +msgstr "" + +#: lib/Kronolith.php:1444 +#, php-format +msgid "Cancelled: %s" +msgstr "" + +#: lib/Driver/kolab.php:1398 +#, php-format +msgid "Cannot delete event: %s" +msgstr "" + +#: templates/search/search_advanced.inc:58 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "" + +#: templates/calendar_list.php:52 calendars/index.php:69 +msgid "Change Permissions" +msgstr "" + +#: config/prefs.php.dist:58 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" + +#: config/prefs.php.dist:389 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "" + +#: config/prefs.php.dist:346 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" + +#: config/prefs.php.dist:359 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "" + +#: config/prefs.php.dist:380 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "" + +#: config/prefs.php.dist:446 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "" + +#: config/prefs.php.dist:194 +msgid "Choose the views to show event locations in:" +msgstr "" + +#: config/prefs.php.dist:182 +msgid "Choose the views to show event start and end times in:" +msgstr "" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "" + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" + +#: templates/calendar_list.php:38 templates/calendar_list.php:39 +#: templates/calendar_list.php:48 templates/calendar_list.php:49 +msgid "Click or copy this URL to display this calendar" +msgstr "" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "" + +#: config/prefs.php.dist:87 +msgid "Confirm deletion of events?" +msgstr "" + +#: lib/Kronolith.php:1183 +msgid "Confirmed" +msgstr "" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "" + +#: lib/base.php:101 lib/base.php:112 +msgid "Could not execute maintenance operations." +msgstr "" + +#: lib/Kronolith.php:481 +#, php-format +msgid "Could not open %s." +msgstr "" + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "" + +#: templates/week/head.inc:29 lib/Views/Day.php:99 lib/Views/Day.php:261 +#: lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "" + +#: templates/calendar_list.php:11 +msgid "Create a new Local Calendar" +msgstr "" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:37 +msgid "Current" +msgstr "" + +#: lib/Recurrence.php:199 +msgid "Daily" +msgstr "" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "" + +#: attendees.php:194 lib/Kronolith.php:1789 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:96 +msgid "Day" +msgstr "" + +#: templates/prefs/default_alarm_management.inc:28 templates/view/view.inc:56 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "" + +#: lib/Kronolith.php:1839 +msgid "De_lete" +msgstr "" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "" + +#: lib/Kronolith.php:1213 +msgid "Declined" +msgstr "" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "" + +#: templates/perms/perms.inc:57 templates/perms/perms.inc:81 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:122 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:163 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:204 +#: templates/perms/perms.inc:245 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:286 templates/perms/perms.inc:320 +msgid "Delegate" +msgstr "" + +#: templates/calendar_list.php:54 templates/delete/one.inc:24 +#: templates/perms/perms.inc:56 templates/perms/perms.inc:77 +#: templates/perms/perms.inc:97 templates/perms/perms.inc:118 +#: templates/perms/perms.inc:138 templates/perms/perms.inc:159 +#: templates/perms/perms.inc:179 templates/perms/perms.inc:200 +#: templates/perms/perms.inc:241 templates/perms/perms.inc:261 +#: templates/perms/perms.inc:282 templates/perms/perms.inc:316 +#: calendars/index.php:70 lib/Driver.php:1343 lib/Driver.php:2319 +#: lib/Forms/DeleteCalendar.php:45 +msgid "Delete" +msgstr "" + +#: lib/Driver.php:2318 lib/Views/DeleteEvent.php:29 +#: lib/Forms/DeleteCalendar.php:40 +#, php-format +msgid "Delete %s" +msgstr "" + +#: lib/Driver.php:1342 +#, php-format +msgid "Delete exception on %s" +msgstr "" + +#: lib/Maintenance/Task/purge_events.php:59 +#, php-format +msgid "Deleted %d event older than %d days." +msgid_plural "Deleted %d events older than %d days." +msgstr[0] "" +msgstr[1] "" + +#: templates/search/search_advanced.inc:101 templates/search/search.inc:27 +#: templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "" + +#: data.php:63 templates/view/view.inc:155 lib/Forms/EditCalendar.php:44 +#: lib/Forms/CreateCalendar.php:37 +msgid "Description" +msgstr "" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "" + +#: templates/calendar_list.php:26 +msgid "Display URL" +msgstr "" + +#: lib/Kronolith.php:1151 +msgid "Does not recur" +msgstr "" + +#: config/prefs.php.dist:367 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" + +#: lib/Kronolith.php:715 +#, php-format +msgid "Due: %s" +msgstr "" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "" + +#: lib/Driver.php:2030 +msgid "Duration Day" +msgstr "" + +#: lib/Driver.php:2042 +msgid "Duration Hour" +msgstr "" + +#: lib/Driver.php:2053 +msgid "Duration Minute" +msgstr "" + +#: templates/calendar_list.php:40 templates/calendar_list.php:50 +#: templates/perms/perms.inc:55 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:96 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:137 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:178 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:237 templates/perms/perms.inc:260 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:312 +#: calendars/index.php:68 lib/Driver.php:2312 +msgid "Edit" +msgstr "" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2311 +#: lib/Views/EditEvent.php:29 lib/Forms/EditRemoteCalendar.php:34 +#: lib/Forms/EditCalendar.php:40 +#, php-format +msgid "Edit %s" +msgstr "" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "" + +#: perms.php:237 +msgid "Edit Permissions" +msgstr "" + +#: perms.php:239 +#, php-format +msgid "Edit Permissions for %s" +msgstr "" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "" + +#: attendees.php:265 +msgid "Edit attendees" +msgstr "" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "" + +#: data.php:58 +msgid "End Date" +msgstr "" + +#: templates/data/export.inc:161 lib/Driver.php:2001 +msgid "End Day" +msgstr "" + +#: templates/data/export.inc:178 lib/Driver.php:2014 +msgid "End Hour" +msgstr "" + +#: templates/data/export.inc:190 lib/Driver.php:2025 +msgid "End Minute" +msgstr "" + +#: templates/data/export.inc:148 lib/Driver.php:1992 +msgid "End Month" +msgstr "" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:41 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "" + +#: data.php:59 +msgid "End Time" +msgstr "" + +#: templates/data/export.inc:134 lib/Driver.php:1981 +msgid "End Year" +msgstr "" + +#: attendees.php:244 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "" + +#: attendees.php:221 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "" + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "" + +#: lib/Kronolith.php:1636 +msgid "Event added:" +msgstr "" + +#: lib/Kronolith.php:1646 +msgid "Event deleted:" +msgstr "" + +#: lib/Kronolith.php:1641 +msgid "Event edited:" +msgstr "" + +#: lib/Driver.php:1480 +#, php-format +msgid "Event from %s to %s" +msgstr "" + +#: lib/Driver/sql.php:399 +msgid "Event not found" +msgstr "" + +#: lib/Driver/kolab.php:453 lib/Driver/kolab.php:1191 +#: lib/Driver/kolab.php:1230 lib/Driver/kolab.php:1374 +#, php-format +msgid "Event not found: %s" +msgstr "" + +#: config/prefs.php.dist:43 config/prefs.php.dist:49 config/prefs.php.dist:56 +msgid "Events" +msgstr "" + +#: lib/api.php:300 +#, php-format +msgid "Events from %s" +msgstr "" + +#: lib/Driver.php:1074 +msgid "Events must have a start date." +msgstr "" + +#: lib/Driver.php:1036 +msgid "Events must have a title." +msgstr "" + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "" + +#: templates/data/export.inc:209 lib/Kronolith.php:1846 +msgid "Export" +msgstr "" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Views/Year.php:81 lib/Block/month.php:107 +msgid "Fr" +msgstr "" + +#: lib/Kronolith.php:1189 +msgid "Free" +msgstr "" + +#: config/prefs.php.dist:67 +msgid "Free/Busy Information" +msgstr "" + +#: templates/month/head.inc:21 templates/view/view.inc:103 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:38 +msgid "Future" +msgstr "" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "" + +#: templates/search/search_advanced.inc:18 +msgid "General" +msgstr "" + +#: lib/Block/summary.php:141 +#, php-format +msgid "Goto %s" +msgstr "" + +#: templates/perms/perms.inc:256 +msgid "Groups" +msgstr "" + +#: templates/perms/perms.inc:92 +msgid "Guest Permissions" +msgstr "" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:59 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "" + +#: config/prefs.php.dist:156 +msgid "How long should the time slots on the day and week views be?" +msgstr "" + +#: config/prefs.php.dist:398 +msgid "How many days of Free/Busy information should be generated?" +msgstr "" + +#: lib/Kronolith.php:1487 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "" + +#: templates/perms/perms.inc:174 +msgid "Individual Users" +msgstr "" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "" + +#: templates/calendar_list.php:25 +msgid "Kind" +msgstr "" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "" + +#: templates/search/search.inc:53 templates/week/head.inc:6 +msgid "Last week" +msgstr "" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "" + +#: config/prefs.php.dist:409 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" + +#: templates/search/search_advanced.inc:81 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "" + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "" + +#: templates/calendar_list.php:47 +msgid "Local" +msgstr "" + +#: templates/calendar_info.php:18 +#, php-format +msgid "Local calendar owned by %s." +msgstr "" + +#: data.php:65 templates/search/event_headers.inc:5 templates/view/view.inc:14 +#: lib/Driver.php:2342 +msgid "Location" +msgstr "" + +#: lib/Kronolith.php:1468 +#, php-format +msgid "Location: %s" +msgstr "" + +#: config/prefs.php.dist:50 +msgid "Maintenance" +msgstr "" + +#: templates/calendar_list.php:4 calendars/index.php:74 +msgid "Manage Calendars" +msgstr "" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "" + +#: lib/api.php:138 +msgid "Maximum Number of Events" +msgstr "" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "" + +#: lib/Driver.php:2338 +msgid "Me" +msgstr "" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:62 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Views/Year.php:77 lib/Block/month.php:107 +msgid "Mo" +msgstr "" + +#: templates/month/head.inc:17 templates/view/view.inc:99 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:120 +msgid "Monday" +msgstr "" + +#: attendees.php:197 lib/Kronolith.php:1795 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:99 +msgid "Month" +msgstr "" + +#: config/prefs.php.dist:179 config/prefs.php.dist:191 +msgid "Month, Week, and Day Views" +msgstr "" + +#: lib/Recurrence.php:202 +msgid "Monthly" +msgstr "" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "" + +#: lib/api.php:1059 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "" + +#: templates/contacts/contacts.inc:188 +#: lib/Forms/SubscribeRemoteCalendar.php:36 +#: lib/Forms/EditRemoteCalendar.php:36 lib/Forms/EditCalendar.php:43 +#: lib/Forms/CreateCalendar.php:36 +msgid "Name" +msgstr "" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "" + +#: lib/Kronolith.php:402 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "" + +#: templates/search/search.inc:57 templates/week/head.inc:8 +msgid "Next week" +msgstr "" + +#: config/prefs.php.dist:342 config/prefs.php.dist:355 +#: config/prefs.php.dist:376 +msgid "No" +msgstr "" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "" + +#: lib/api.php:1197 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" + +#: lib/Kronolith.php:2038 +msgid "No calendars are available to guests." +msgstr "" + +#: lib/Driver/sql.php:427 +msgid "No calendars to search" +msgstr "" + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "" + +#: lib/Block/prevmonthlist.php:166 lib/Block/monthlist.php:175 +#: lib/Block/summary.php:193 +msgid "No events to display" +msgstr "" + +#: lib/FreeBusy.php:233 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "" + +#: lib/FreeBusy.php:234 +#, php-format +msgid "No free/busy url found for %s." +msgstr "" + +#: lib/api.php:509 lib/api.php:786 lib/api.php:826 lib/api.php:1066 +msgid "No iCalendar data was found." +msgstr "" + +#: templates/edit/edit.inc:221 lib/Recurrence.php:198 lib/Driver.php:1327 +msgid "No recurrence" +msgstr "" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1220 +#: lib/Kronolith.php:1241 +msgid "None" +msgstr "" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "" + +#: config/prefs.php.dist:57 +msgid "Notifications" +msgstr "" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "" + +#: templates/perms/perms.inc:133 +msgid "Object Creator" +msgstr "" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "" + +#: config/prefs.php.dist:345 config/prefs.php.dist:358 +#: config/prefs.php.dist:379 +msgid "On all calendars I have read access to" +msgstr "" + +#: config/prefs.php.dist:344 config/prefs.php.dist:357 +#: config/prefs.php.dist:378 +msgid "On all shown calendars" +msgstr "" + +#: config/prefs.php.dist:343 config/prefs.php.dist:356 +#: config/prefs.php.dist:377 +msgid "On my calendars only" +msgstr "" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" + +#: lib/Kronolith.php:1238 +msgid "Optional" +msgstr "" + +#: lib/FBView.php:120 +msgid "Optional Attendees" +msgstr "" + +#: config/prefs.php.dist:74 +msgid "Other Options" +msgstr "" + +#: lib/FBView.php:155 +msgid "Overview" +msgstr "" + +#: templates/perms/perms.inc:22 templates/view/view.inc:28 +msgid "Owner" +msgstr "" + +#: templates/perms/perms.inc:28 templates/perms/perms.inc:39 +msgid "Owner:" +msgstr "" + +#: lib/Driver.php:2337 +#, php-format +msgid "Owner: %s" +msgstr "" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "" + +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "" + +#: lib/api.php:668 lib/api.php:704 lib/api.php:736 lib/api.php:767 +#: lib/api.php:862 lib/api.php:910 lib/api.php:1006 lib/api.php:1038 +#: lib/api.php:1127 lib/api.php:1187 lib/api.php:1253 lib/api.php:1275 +#: lib/Kronolith.php:1940 lib/Kronolith.php:1959 lib/Kronolith.php:1972 +#: lib/Kronolith.php:1993 lib/Driver/sql.php:813 +msgid "Permission Denied" +msgstr "" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "" + +#: config/prefs.php.dist:180 config/prefs.php.dist:192 +msgid "Print Views" +msgstr "" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "" + +#: lib/Driver.php:1476 +#, php-format +msgid "Private Event from %s to %s" +msgstr "" + +#: lib/Driver.php:2282 +msgid "Private event" +msgstr "" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "" + +#: config/prefs.php.dist:472 +msgid "Purge old events from your calender?" +msgstr "" + +#: config/prefs.php.dist:481 +msgid "Purge old events how often:" +msgstr "" + +#: config/prefs.php.dist:489 +msgid "Purge old events older than this amount of days." +msgstr "" + +#: templates/perms/perms.inc:54 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:95 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:136 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:177 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:259 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:308 +msgid "Read" +msgstr "" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "" + +#: lib/Driver.php:2096 +msgid "Recurrence End Day" +msgstr "" + +#: lib/Driver.php:2081 +msgid "Recurrence End Month" +msgstr "" + +#: lib/Driver.php:2064 +msgid "Recurrence End Year" +msgstr "" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "" + +#: lib/Kronolith.php:1154 +msgid "Recurs daily" +msgstr "" + +#: lib/Kronolith.php:1161 +msgid "Recurs monthly" +msgstr "" + +#: lib/Kronolith.php:1157 +msgid "Recurs weekly" +msgstr "" + +#: lib/Kronolith.php:1166 +msgid "Recurs yearly" +msgstr "" + +#: lib/Scheduler/kronolith.php:268 +#, php-format +msgid "Reminder: %s" +msgstr "" + +#: templates/calendar_list.php:37 +msgid "Remote" +msgstr "" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "" + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "" + +#: attendees.php:187 +msgid "Remove Attendee" +msgstr "" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "" + +#: lib/Driver.php:259 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" + +#: lib/Kronolith.php:1245 +msgid "Required" +msgstr "" + +#: lib/FBView.php:98 lib/FBView.php:140 lib/FBView.php:143 lib/FBView.php:146 +msgid "Required Attendees" +msgstr "" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "" + +#: templates/attendees/attendees.inc:49 templates/view/view.inc:173 +msgid "Response" +msgstr "" + +#: config/prefs.php.dist:147 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Views/Year.php:82 lib/Block/month.php:107 +msgid "Sa" +msgstr "" + +#: templates/month/head.inc:22 templates/view/view.inc:104 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "" + +#: templates/panel.inc:83 lib/Forms/EditRemoteCalendar.php:41 +#: lib/Forms/EditCalendar.php:46 +msgid "Save" +msgstr "" + +#: templates/perms/perms.inc:331 +#, php-format +msgid "Save %s" +msgstr "" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1831 +#: lib/Views/EditEvent.php:79 lib/Views/EditEvent.php:89 +msgid "Save As New" +msgstr "" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "" + +#: new.php:56 lib/Views/EditEvent.php:82 +msgid "Save Event" +msgstr "" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "" + +#: search.php:91 templates/search/search_advanced.inc:113 +#: templates/search/search.inc:66 templates/contacts/contacts.inc:155 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "" + +#: lib/Storage.php:131 +msgid "Searching free/busy is not available." +msgstr "" + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "" + +#: templates/perms/perms.inc:296 +msgid "Select a group to add" +msgstr "" + +#: templates/perms/perms.inc:294 +msgid "Select a group to add:" +msgstr "" + +#: templates/perms/perms.inc:30 +msgid "Select a new owner:" +msgstr "" + +#: templates/perms/perms.inc:213 templates/perms/perms.inc:215 +msgid "Select a user to add:" +msgstr "" + +#: config/prefs.php.dist:76 +msgid "Select address book sources for adding and searching for addresses." +msgstr "" + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "" + +#: config/prefs.php.dist:118 +msgid "Select the first weekday:" +msgstr "" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "" + +#: config/prefs.php.dist:242 +msgid "Select the time span to show:" +msgstr "" + +#: config/prefs.php.dist:100 +msgid "Select the view to display on startup:" +msgstr "" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "" + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "" + +#: templates/delete/one.inc:19 templates/delete/delete.inc:21 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "" + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "" + +#: config/prefs.php.dist:51 +msgid "Set options for deleting old events." +msgstr "" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "" + +#: config/prefs.php.dist:68 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "" + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "" + +#: templates/perms/perms.inc:53 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:94 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:135 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:176 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:258 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:304 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "" + +#: config/prefs.php.dist:224 +msgid "Show Free/Busy legend?" +msgstr "" + +#: config/prefs.php.dist:214 +msgid "Show calendar options panel?" +msgstr "" + +#: config/prefs.php.dist:204 +msgid "Show category legend?" +msgstr "" + +#: config/prefs.php.dist:170 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" + +#: config/prefs.php.dist:271 +msgid "Show external events using category colors?" +msgstr "" + +#: config/prefs.php.dist:262 +msgid "Show only events that have an alarm set?" +msgstr "" + +#: config/prefs.php.dist:233 +msgid "Show shared calendars side-by-side?" +msgstr "" + +#: config/prefs.php.dist:109 +msgid "Show time of day between each day in week views?" +msgstr "" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "" + +#: data.php:56 +msgid "Start Date" +msgstr "" + +#: templates/data/export.inc:68 lib/Driver.php:1956 +msgid "Start Day" +msgstr "" + +#: templates/data/export.inc:87 lib/Driver.php:1967 +msgid "Start Hour" +msgstr "" + +#: templates/data/export.inc:102 lib/Driver.php:1977 +msgid "Start Minute" +msgstr "" + +#: templates/data/export.inc:54 lib/Driver.php:1947 +msgid "Start Month" +msgstr "" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:35 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "" + +#: data.php:57 +msgid "Start Time" +msgstr "" + +#: templates/data/export.inc:39 lib/Driver.php:1936 +msgid "Start Year" +msgstr "" + +#: templates/search/search_advanced.inc:91 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "" + +#: lib/Storage.php:139 +msgid "Storing free/busy is not available." +msgstr "" + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:109 +#: lib/Block/month.php:111 +msgid "Su" +msgstr "" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "" + +#: templates/calendar_list.php:17 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "" + +#: templates/calendar_list.php:27 +msgid "Subscription URL" +msgstr "" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/view/view.inc:105 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:119 +msgid "Sunday" +msgstr "" + +#: lib/Kronolith.php:1193 lib/Kronolith.php:1216 +msgid "Tentative" +msgstr "" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Views/Year.php:80 lib/Block/month.php:107 +msgid "Th" +msgstr "" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "" + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "" + +#: lib/Driver.php:204 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "" + +#: lib/api.php:1207 +msgid "" +"The attendee hasn't been updated because the update was not sent from the " +"attendee." +msgstr "" + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "" + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "" + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "" + +#: calendars/edit.php:46 calendars/remote_edit.php:49 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "" + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "" + +#: lib/Kronolith.php:1637 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" + +#: lib/Kronolith.php:1647 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" + +#: lib/Kronolith.php:1642 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" + +#: lib/Kronolith.php:1527 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "" + +#: lib/Kronolith.php:1481 +msgid "The following is a more detailed description of the event:" +msgstr "" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "" + +#: calendars/remote_unsubscribe.php:36 calendars/remote_edit.php:36 +msgid "The remote calendar was not found." +msgstr "" + +#: attend.php:45 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "" + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "" + +#: edit.php:46 edit.php:68 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "" + +#: lib/api.php:501 lib/api.php:778 lib/api.php:1051 +msgid "There was an error importing the iCalendar data." +msgstr "" + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "" + +#: lib/Kronolith.php:1532 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "" + +#: data.php:109 +msgid "There were no events to export." +msgstr "" + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "" + +#: data.php:200 +msgid "This file format is not supported." +msgstr "" + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "" + +#: templates/month/head.inc:20 templates/view/view.inc:102 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "" + +#: templates/search/search_advanced.inc:28 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "" + +#: data.php:55 templates/search/search.inc:19 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" + +#: templates/calendar_info.php:19 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:128 +msgid "Today" +msgstr "" + +#: lib/Block/prevmonthlist.php:127 lib/Block/monthlist.php:134 +#: lib/Block/summary.php:130 +msgid "Tomorrow" +msgstr "" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Views/Year.php:78 lib/Block/month.php:107 +msgid "Tu" +msgstr "" + +#: templates/month/head.inc:18 templates/view/view.inc:100 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "" + +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "" + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "" + +#: lib/api.php:619 +#, php-format +msgid "Unable to delete calendar \"%s\": %s" +msgstr "" + +#: lib/Driver.php:207 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "" + +#: attendees.php:66 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "" + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "" + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "" + +#: lib/api.php:1345 lib/api.php:1381 +msgid "Unknown calendar protocol" +msgstr "" + +#: templates/calendar_list.php:44 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "" + +#: lib/api.php:570 lib/api.php:833 lib/api.php:884 lib/api.php:942 +#: lib/api.php:1071 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "" + +#: perms.php:231 +#, php-format +msgid "Updated \"%s\"." +msgstr "" + +#: lib/Kronolith.php:1458 +#, php-format +msgid "Updated: %s." +msgstr "" + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "" + +#: templates/perms/perms.inc:223 +msgid "User to add:" +msgstr "" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +msgid "Username" +msgstr "" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:164 +#: lib/Block/month.php:167 +msgid "View Day" +msgstr "" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Views/Year.php:79 lib/Block/month.php:107 +msgid "We" +msgstr "" + +#: lib/Driver.php:1200 lib/Scheduler/kronolith.php:272 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" + +#: templates/month/head.inc:19 templates/view/view.inc:101 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "" + +#: attendees.php:196 lib/Kronolith.php:1793 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:97 +msgid "Week" +msgstr "" + +#: workweek.php:16 week.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "" + +#: templates/prefs/default_alarm_management.inc:29 templates/view/view.inc:53 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "" + +#: lib/Recurrence.php:200 +msgid "Weekly" +msgstr "" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "" + +#: config/prefs.php.dist:138 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" + +#: config/prefs.php.dist:129 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" + +#: config/prefs.php.dist:292 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "" + +#: attendees.php:195 lib/Kronolith.php:1791 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:98 +msgid "Work Week" +msgstr "" + +#: lib/Kronolith.php:1797 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "" + +#: lib/Recurrence.php:205 +msgid "Yearly" +msgstr "" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "" + +#: edit.php:27 data.php:41 data.php:261 new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "" + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "" + +#: lib/api.php:154 +msgid "You are not allowed to remove user data." +msgstr "" + +#: attend.php:58 +msgid "You are not an attendee of the specified event." +msgstr "" + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" + +#: lib/Kronolith.php:1407 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "" + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" + +#: edit.php:162 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "" + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "" + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "" + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "" + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "" + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "" + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "" + +#: attend.php:25 +msgid "You have successfully accepted attendence to this event." +msgstr "" + +#: attend.php:30 +msgid "You have successfully declined attendence to this event." +msgstr "" + +#: attend.php:35 +msgid "You have tentatively accepted attendence to this event." +msgstr "" + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "" + +#: lib/Kronolith.php:1637 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" + +#: lib/Kronolith.php:1647 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" + +#: lib/Kronolith.php:1642 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" + +#: lib/Scheduler/kronolith.php:438 lib/Scheduler/kronolith.php:441 +#, php-format +msgid "Your daily agenda for %s" +msgstr "" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "" + +#: lib/Driver.php:1458 lib/Driver.php:1478 +msgid "[Unnamed event]" +msgstr "" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "" + +#: templates/search/search_advanced.inc:9 +msgid "_Basic Search" +msgstr "" + +#: lib/Kronolith.php:1831 +msgid "_Edit" +msgstr "" + +#: lib/Kronolith.php:2053 +msgid "_Goto" +msgstr "" + +#: lib/Kronolith.php:2059 +msgid "_Import/Export" +msgstr "" + +#: lib/Kronolith.php:2049 +msgid "_New Event" +msgstr "" + +#: lib/Kronolith.php:2064 +msgid "_Print" +msgstr "" + +#: lib/Kronolith.php:2055 +msgid "_Search" +msgstr "" + +#: lib/Kronolith.php:2044 +msgid "_Today" +msgstr "" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" + +#: lib/Views/Event.php:62 lib/Views/Event.php:71 +#, php-format +msgid "by %s" +msgstr "" + +#: lib/Views/Event.php:64 lib/Views/Event.php:73 +msgid "by me" +msgstr "" + +#: config/prefs.php.dist:243 +msgid "day" +msgstr "" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 config/prefs.php.dist:247 +#: config/prefs.php.dist:248 +msgid "days" +msgstr "" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "" + +#: data.php:185 +msgid "events.ics" +msgstr "" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "" + +#: lib/Kronolith.php:1464 +#, php-format +msgid "on %s at %s" +msgstr "" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "" + +#: config/prefs.php.dist:249 +msgid "week" +msgstr "" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "" + +#: config/prefs.php.dist:250 config/prefs.php.dist:251 +#: config/prefs.php.dist:252 +msgid "weeks" +msgstr "" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "" diff --git a/kronolith/po/lt_LT.po b/kronolith/po/lt_LT.po new file mode 100644 index 000000000..e0cc833d8 --- /dev/null +++ b/kronolith/po/lt_LT.po @@ -0,0 +1,2446 @@ +# Lithuanian translations for Kronolith package. +# Copyright 2007-2009 The Horde Project +# This file is distributed under the same license as the Kronolith package. +# Mantas Smelevicius , 2002. +# Vilius Sumkas , 2003, 2004, 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 2.2-cvs\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2007-11-23 15:46+0200\n" +"PO-Revision-Date: 2007-11-23 15:47+0200\n" +"Last-Translator: Vilius Sumskas \n" +"Language-Team: Lithuanian \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " iki %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " be pabaigos" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d ávykiai" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d kartus" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s diena(os, ø) %s valanda(os, ø) %s minutë(ës, iø)" + +#: lib/Driver.php:2217 +#, php-format +msgid "%s attendees" +msgstr "%s dalyviai" + +#: data.php:304 +#, php-format +msgid "%s file successfully imported" +msgstr "%s failas sëkmingai ákeltas" + +#: calendars.php:112 lib/api.php:217 lib/Kronolith.php:371 +#, php-format +msgid "%s's Calendar" +msgstr "%s kalendorius" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Norëdami pridëtá spauskite Pridëti *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Pasirinkite adresà(us) *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d kartus" + +#: lib/Driver.php:2216 +msgid "1 attendee" +msgstr "1 dalyvis" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 ávykis" + +#: config/prefs.php.dist:161 +msgid "1 hour" +msgstr "1 valanda" + +#: config/prefs.php.dist:158 +msgid "15 minutes" +msgstr "15 minuèiø" + +#: config/prefs.php.dist:159 +msgid "20 minutes" +msgstr "20 minuèiø" + +#: config/prefs.php.dist:160 +msgid "30 minutes" +msgstr "30 minuèiø" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1181 +msgid "Accepted" +msgstr "Priimta" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "_Detali paieðka" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Ávesti" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Naujas ávykis" + +#: templates/prefs/remote_cal_management.inc:43 +msgid "Add a new Remote Calendar" +msgstr "Sukurti naujà nutolusá kalendoriø" + +#: new.php:65 +msgid "Add a new event" +msgstr "Sukurti naujà ávyká" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Pridëti dalyvius" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Pridëti ðaltiná" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Átraukti á dalyviø sàraðà" + +#: contacts.php:76 templates/attendees/attendees.inc:85 +#: templates/contacts/contacts.inc:138 +msgid "Address Book" +msgstr "Adresø knygelë" + +#: config/prefs.php.dist:76 +msgid "Address Books" +msgstr "Adresø knygelës" + +#: templates/search/search.inc:11 templates/search/search_advanced.inc:8 +msgid "Advanced Search" +msgstr "Detali paieðka" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Perspëjimas" + +#: lib/Driver.php:2183 +#, php-format +msgid "Alarm %d days before" +msgstr "Perspëti %d dienø prieð" + +#: lib/Driver.php:2188 +#, php-format +msgid "Alarm %d hours before" +msgstr "Perspëti %d valandø prieð" + +#: lib/Driver.php:2193 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Perspëti %d minuèiø prieð" + +#: lib/Driver.php:2178 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Perspëti %d savaièiø prieð" + +#: lib/Driver.php:2182 +msgid "Alarm 1 day before" +msgstr "Perspëti 1 dienà prieð" + +#: lib/Driver.php:2187 +msgid "Alarm 1 hour before" +msgstr "Perspëti 1 valandà prieð" + +#: lib/Driver.php:2192 +msgid "Alarm 1 minute before" +msgstr "Perspëti 1 minutæ prieð" + +#: lib/Driver.php:2177 +msgid "Alarm 1 week before" +msgstr "Perspëti 1 savaitæ prieð" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Perspëjimo data" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Perspëjimo pasikartojimas (minutëmis)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Perspëjimo laikas" + +#: templates/edit/edit.inc:166 templates/prefs/default_alarm_management.inc:24 +msgid "Alarm Unit" +msgstr "Perspëjimo vienetai" + +#: templates/edit/edit.inc:164 templates/prefs/default_alarm_management.inc:22 +msgid "Alarm Value" +msgstr "Perspëjimo reikðmë" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Perspëjimai ájungti" + +#: templates/edit/edit.inc:39 templates/delete/delete.inc:27 +msgid "All" +msgstr "Visi" + +#: lib/FBView.php:127 lib/FBView.php:130 lib/FBView.php:133 +msgid "All Attendees" +msgstr "Visi dalyviai" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "Visi prisijungæ vartotojai" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Visi kalendoriai" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Visi bûsimi" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Visi buvæ" + +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +msgid "All Visible" +msgstr "Visi matomi" + +#: lib/Driver.php:2286 lib/Views/Day.php:97 lib/Views/Day.php:100 +#: lib/Views/Week.php:143 lib/Views/Week.php:150 +#: templates/edit/edit_timespan.inc:119 +msgid "All day" +msgstr "Visà dienà" + +#: lib/Block/summary.php:177 +msgid "All day event" +msgstr "Ávykis visai dienai" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Visi ávykiai" + +#: lib/api.php:641 lib/api.php:651 +msgid "Already Exists" +msgstr "Jau egzistuoja" + +#: lib/Kronolith.php:1274 templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 +msgid "Any" +msgstr "Bet kuri" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Balandis" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr " " + +#: lib/Kronolith.php:1441 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Prikabintas failas yra iCalendar informacija apie ávyká. Jeigu jûsø paðto " +"klientas palaiko iTip uþklausas, galite panaudoti ðá failà atnaujinant " +"lokalios ávykio kopijos duomenis." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Bandote redaguoti neegzistuojantá elementà." + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "Dalyvavimas" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "Dalyvis" + +#: templates/edit/edit.inc:193 templates/view/view.inc:168 +msgid "Attendees" +msgstr "Dalyviai" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Rugpjûtis" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Galimos adresø knygelës:" + +#: templates/search/search.inc:8 templates/search/search_advanced.inc:11 +msgid "Basic Search" +msgstr "Paprastoji paieðka" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Gimtadienis" + +#: lib/FBView.php:89 lib/FBView.php:110 +msgid "Busy" +msgstr "Uþimta" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "Kal_endorius" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "Kal_endorius" + +#: lib/Block/monthlist.php:21 lib/Block/summary.php:22 +#: lib/Block/prevmonthlist.php:21 lib/Block/month.php:21 +#: templates/calendars/calendars.inc:90 +msgid "Calendar" +msgstr "Kalendorius" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Kalendoriaus santrumpa" + +#: data.php:248 +msgid "Calendar successfully purged." +msgstr "Kalendorius iðvalytas sëkmingai." + +#: templates/panel.inc:42 templates/panel.inc:43 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:43 config/prefs.php.dist:67 +msgid "Calendars" +msgstr "Kalendoriai" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Spausdinami kalendoriai: " + +#: calendars.php:31 +msgid "Calendars must have a name." +msgstr "Áraðykite kalendoriaus pavadinimà." + +#: data.php:264 +msgid "Can't create a new event." +msgstr "Nepavyko sukurti naujo ávykio." + +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: templates/delete/delete.inc:28 templates/delete/one.inc:25 +msgid "Cancel" +msgstr "Atðaukti" + +#: lib/Kronolith.php:1157 +msgid "Cancelled" +msgstr "Atðauktas" + +#: lib/Kronolith.php:1415 +#, php-format +msgid "Cancelled: %s" +msgstr "Atðaukta: %s" + +#: lib/Driver/kolab.php:1265 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Nepavyko iðtrinti ávykio: %s" + +#: templates/edit/edit.inc:94 templates/search/search_advanced.inc:63 +msgid "Categor_y" +msgstr "_Kategorija" + +#: data.php:64 templates/view/view.inc:6 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "Kategorija" + +#: config/prefs.php.dist:59 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Praneðimø apie ávykiø pakeitimus, perspëjimø ir bûsimø ávykiø nustatymai." + +#: config/prefs.php.dist:391 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "Pasirinkite, kaip norite bûti informuoti apie ávykius su perspëjimais:" + +#: config/prefs.php.dist:348 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Pasirinkite, ar norite bûti informuoti apie naujus, pakeistus arba iðtrintus " +"ávykius el. paðtu:" + +#: config/prefs.php.dist:361 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Pasirinkite, ar norite kas dienà gauti priminimus el. paðtu:" + +#: config/prefs.php.dist:382 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "Pasirinkite, ar norite gauti priminimus ávykiams su perspëjimais:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "" +"Pasirinkite, kuriuos kalendorius naudoti uþimtumo informacijai generuoti:" + +#: config/prefs.php.dist:448 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "" +"Pasirinkite, kuriuos kalendorius naudoti uþimtumo informacijos URL " +"generavimui:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "Pasirinkite adresø knygeliø tvarkà, naudojamà adresø patikrinimui." + +#: config/prefs.php.dist:195 +msgid "Choose the views to show event locations in:" +msgstr "Pasirinkite, kuriuose languose rodyti ávykiø vietà:" + +#: config/prefs.php.dist:183 +msgid "Choose the views to show event start and end times in:" +msgstr "" +"Pasirinkite, kuriuose languose rodyti ávykiø pradþios ir pabaigos laikà:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Ðvenèiø rodymas." + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Jûsø pagrindinis kalendorius." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Iðvalyti visus dalyvius" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Pele paþymëkite vienà ið Jûsø adresø knygeliø, o po to pasirinkite laukus " +"paieðkai." + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Uþdaryti langà" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Uþdaryti langà" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Kableliais atskirtos reikðmës" + +#: config/prefs.php.dist:88 +msgid "Confirm deletion of events?" +msgstr "Patvirtinti visø ávykiø iðtrynimà?" + +#: lib/Kronolith.php:1154 +msgid "Confirmed" +msgstr "Patvirtintas" + +#: templates/calendars/calendars.inc:162 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" +"Nusikopijuokite apaèioje esantá URL adresà, kurá galite naudoti savo " +"uþimtumo informacijos platinimui:" + +#: lib/Kronolith.php:463 +#, php-format +msgid "Could not open %s." +msgstr "Negaliu atidaryti %s." + +#: templates/calendars/calendars.inc:69 +msgid "Create" +msgstr "Sukurti" + +#: templates/calendars/calendars.inc:55 +msgid "Create Calendar" +msgstr "Sukurti kalendoriø" + +#: lib/Views/Day.php:97 lib/Views/Day.php:256 lib/Views/Month.php:173 +#: templates/week/head.inc:29 +msgid "Create a New Event" +msgstr "Sukurti naujà ávyká" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Sukurta" + +#: templates/edit/edit.inc:37 templates/delete/delete.inc:25 +msgid "Current" +msgstr "Einamas" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Kasdien" + +#: templates/edit/edit.inc:226 templates/view/view.inc:96 +msgid "Daily: Recurs every" +msgstr "Kasdieninis: Pasikartoja kas" + +#: attendees.php:170 lib/Kronolith.php:1747 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:97 +msgid "Day" +msgstr "Diena" + +#: templates/edit/edit.inc:170 templates/view/view.inc:56 +#: templates/prefs/default_alarm_management.inc:28 +msgid "Day(s)" +msgstr "Diena(os)" + +#: lib/Kronolith.php:1789 +msgid "De_lete" +msgstr "Iðtrinti" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Gruodis" + +#: lib/Kronolith.php:1184 +msgid "Declined" +msgstr "Pasibaigæs" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Standartiniai perspëjimø nustatymai:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Pagrindinis kalendorius" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "Atstovauti" + +#: lib/Driver.php:1303 lib/Driver.php:2245 +#: templates/calendars/calendars.inc:149 templates/delete/one.inc:24 +#: templates/prefs/remote_cal_management.inc:30 templates/perms/perms.inc:33 +#: templates/perms/perms.inc:69 templates/perms/perms.inc:89 +#: templates/perms/perms.inc:110 templates/perms/perms.inc:130 +#: templates/perms/perms.inc:151 templates/perms/perms.inc:171 +#: templates/perms/perms.inc:192 templates/perms/perms.inc:212 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:274 +#: templates/perms/perms.inc:294 templates/perms/perms.inc:315 +#: templates/perms/perms.inc:349 +msgid "Delete" +msgstr "Iðtrinti" + +#: lib/Driver.php:2244 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Iðtrinti %s" + +#: lib/Driver.php:1302 +#, php-format +msgid "Delete exception on %s" +msgstr "%s trynimo klaida" + +#: templates/edit/edit.inc:180 templates/search/search_advanced.inc:103 +msgid "Descri_ption" +msgstr "_Apraðymas" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "_Apraðymas:" + +#: data.php:63 templates/calendars/calendars.inc:123 +#: templates/view/view.inc:155 +msgid "Description" +msgstr "Apraðymas" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Rodyti" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Vaizdavimo nustatymai" + +#: lib/Kronolith.php:1122 +msgid "Does not recur" +msgstr "Nepasikartoja" + +#: config/prefs.php.dist:369 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "Nesiøsti man praneðimø apie ávykio sukûrimà, pakeitimà arba iðtrynimà?" + +#: lib/Kronolith.php:683 +#, php-format +msgid "Due: %s" +msgstr "Trukmë: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Trukmë" + +#: lib/Driver.php:1978 +msgid "Duration Day" +msgstr "Trukmës diena" + +#: lib/Driver.php:1990 +msgid "Duration Hour" +msgstr "Trukmës valanda" + +#: lib/Driver.php:2001 +msgid "Duration Minute" +msgstr "Trukmës minutë" + +#: lib/Driver.php:2238 templates/calendars/calendars.inc:116 +#: templates/prefs/remote_cal_management.inc:31 templates/perms/perms.inc:32 +#: templates/perms/perms.inc:65 templates/perms/perms.inc:88 +#: templates/perms/perms.inc:106 templates/perms/perms.inc:129 +#: templates/perms/perms.inc:147 templates/perms/perms.inc:170 +#: templates/perms/perms.inc:188 templates/perms/perms.inc:211 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:270 +#: templates/perms/perms.inc:293 templates/perms/perms.inc:311 +#: templates/perms/perms.inc:345 +msgid "Edit" +msgstr "Redaguoti" + +#: lib/Driver.php:2237 lib/Views/EditEvent.php:29 +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Edit %s" +msgstr "Redaguoti %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Dalyviø redagavimas" + +#: templates/calendars/calendars.inc:84 +msgid "Edit Calendars" +msgstr "Kalendoriø redagavimas" + +#: perms.php:260 +msgid "Edit Permissions" +msgstr "Keisti teises" + +#: perms.php:262 +#, php-format +msgid "Edit Permissions for %s" +msgstr "%s teisiø keitimas" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Redaguoti dalyvá" + +#: attendees.php:227 +msgid "Edit attendees" +msgstr "Redaguoti dalyvius" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Redaguoti kategorijas ir spalvas" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "%s teisiø redagavimas" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "El. paðto adresas" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "Pabaiga" + +#: data.php:58 +msgid "End Date" +msgstr "Pabaigos data" + +#: lib/Driver.php:1949 templates/data/export.inc:161 +msgid "End Day" +msgstr "Pabaigos diena" + +#: lib/Driver.php:1962 templates/data/export.inc:178 +msgid "End Hour" +msgstr "Pabaigos valanda" + +#: lib/Driver.php:1973 templates/data/export.inc:190 +msgid "End Minute" +msgstr "Pabaigos minutë" + +#: lib/Driver.php:1940 templates/data/export.inc:148 +msgid "End Month" +msgstr "Pabaigos mënuo" + +#: templates/view/view.inc:41 templates/search/event_headers.inc:8 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "Baigiasi" + +#: data.php:59 +msgid "End Time" +msgstr "Pabaigos laikas" + +#: lib/Driver.php:1929 templates/data/export.inc:134 +msgid "End Year" +msgstr "Pabaigos metai" + +#: attendees.php:216 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Nepavyko gauti %s vartotojo uþimtumo informacijos: %s" + +#: attendees.php:196 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Nepavyko gauti jûsø uþimtumo informacijos: %s" + +#: config/prefs.php.dist:51 +msgid "Event Defaults" +msgstr "Ávykiø standartinës reikðmës" + +#: lib/Kronolith.php:1594 +msgid "Event added:" +msgstr "Ávykis sukurtas:" + +#: lib/Kronolith.php:1604 +msgid "Event deleted:" +msgstr "Ávykis iðtrintas:" + +#: lib/Kronolith.php:1599 +msgid "Event edited:" +msgstr "Ávykis pakeistas:" + +#: lib/Driver.php:1426 +#, php-format +msgid "Event from %s to %s" +msgstr "Ávykis nuo %s iki %s" + +#: lib/Driver/sql.php:387 +msgid "Event not found" +msgstr "Ávykis nerastas" + +#: lib/Driver/kolab.php:433 lib/Driver/kolab.php:1130 +#: lib/Driver/kolab.php:1157 lib/Driver/kolab.php:1247 +#, php-format +msgid "Event not found: %s" +msgstr "Ávykis nerastas: %s" + +#: config/prefs.php.dist:50 config/prefs.php.dist:57 +msgid "Events" +msgstr "Ávykiai" + +#: lib/Driver.php:1034 +msgid "Events must have a start date." +msgstr "Nurodykite pradþios datà." + +#: lib/Driver.php:996 +msgid "Events must have a title." +msgstr "Áraðykite ávykio pavadinimà." + +#: templates/edit/edit.inc:323 templates/view/view.inc:130 +msgid "Exceptions" +msgstr "Iðimtys" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "Iðkelti" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Iðkelti kalendoriø" + +#: templates/panel.inc:73 +msgid "External Events:" +msgstr "Iðoriniai ávykiai:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Vasaris" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Ieðkoti laukuose" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Ieðkoti" + +#: lib/Block/month.php:107 lib/Views/Year.php:81 templates/edit/edit.inc:239 +#: templates/javascript/goto.js:63 +msgid "Fr" +msgstr "Penk." + +#: lib/Kronolith.php:1160 +msgid "Free" +msgstr "Laisva" + +#: config/prefs.php.dist:68 +msgid "Free/Busy Information" +msgstr "Uþimtumo informacija" + +#: templates/edit/javascript.inc:71 templates/view/view.inc:103 +#: templates/month/head.inc:21 +msgid "Friday" +msgstr "Penktadienis" + +#: templates/edit/edit.inc:38 templates/delete/delete.inc:26 +msgid "Future" +msgstr "Bûsimas" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Þaidimas" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Pagrindiniai laukai" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Rodyti %s" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "Grupës" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "Sveèiø teisës" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Paslëpti" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Ðventës" + +#: templates/edit/edit.inc:169 templates/view/view.inc:59 +#: templates/prefs/default_alarm_management.inc:27 +msgid "Hour(s)" +msgstr "Valanda(os)" + +#: config/prefs.php.dist:157 +msgid "How long should the time slots on the day and week views be?" +msgstr "Kokio ilgumo laiko þymes rodyti dienos ir savaitës vaizdavime?" + +#: config/prefs.php.dist:400 +msgid "How many days of free/busy information should we generate?" +msgstr "Kiek dienø á prieká generuoti uþimtumo informacijà?" + +#: lib/Kronolith.php:1445 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Jeigu jûsø el. paðto klientas nesupranta iTip uþklausø, norëdami priimti " +"arba atmesti ávyká pasinaudokite nuorodomis apaèioje.\n" +"\n" +"Priimti ávyká:\n" +"%s\n" +"\n" +"Priimti ávyká kitu laiku:\n" +"%s\n" +"Atmesti ávyká:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Kalendoriaus ákëlimas, %d-as þingsnis" + +#: data.php:310 +msgid "Import/Export Calendar" +msgstr "Ákelti/Iðkelti kalendoriø" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "Individualûs vartotojai" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Sausis" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Liepa" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Birþelis" + +#: data.php:66 templates/edit/edit.inc:336 templates/view/view.inc:138 +msgid "Keywords" +msgstr "Þodþiai" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Paskutinës 24 valandos" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Paskutiná kartà redaguota" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Praëjæs mënuo" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Praëjæ metai" + +#: templates/week/head.inc:6 templates/search/search.inc:54 +msgid "Last week" +msgstr "Praëjusi savaitë" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Nustatyti laiko tarpà iðkelimui:" + +#: config/prefs.php.dist:411 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Rodyti visus adresus, adresø knygelëje? (jeigu iðjungsite, matysite tik " +"adresus, kuriø ieðkojote)" + +#: templates/edit/edit.inc:101 templates/search/search_advanced.inc:85 +msgid "Lo_cation" +msgstr "_Vieta" + +#: templates/javascript_defs.php:14 +msgid "Loading ..." +msgstr "Krauna ..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Krauna..." + +#: data.php:65 lib/Driver.php:2268 templates/view/view.inc:14 +#: templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:25 +#: templates/prefs/remote_cal_management.inc:60 +msgid "Location" +msgstr "Vieta" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Nutolusiø kalendoriø tvarkymas." + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Kovas" + +#: lib/api.php:133 +msgid "Maximum Number of Events" +msgstr "Maksimalus ávykius skaièius" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Maksimalus rodomø ávykiø skaièius (0 = neribojama)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Geguþë" + +#: lib/Driver.php:2264 +msgid "Me" +msgstr "Að" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Susirinkimas" + +#: 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" + +#: templates/edit/edit.inc:168 templates/view/view.inc:62 +#: templates/prefs/default_alarm_management.inc:26 +msgid "Minute(s)" +msgstr "Minutë(s)" + +#: lib/Block/month.php:107 lib/Views/Year.php:77 templates/edit/edit.inc:235 +#: templates/javascript/goto.js:59 +msgid "Mo" +msgstr "Pirm." + +#: templates/edit/javascript.inc:67 templates/view/view.inc:99 +#: templates/month/head.inc:17 config/prefs.php.dist:121 +msgid "Monday" +msgstr "Pirmadienis" + +#: attendees.php:173 lib/Kronolith.php:1753 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:100 +msgid "Month" +msgstr "Mënuo" + +#: config/prefs.php.dist:180 +msgid "Month and Week Views" +msgstr "Mënesio ir savaitës puslapyje" + +#: config/prefs.php.dist:192 +msgid "Month, Week, and Day Views" +msgstr "Mënesio, savaitës ir dienos puslapyje" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Kas mënesá" + +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "Monthly: Recurs every" +msgstr "Kasmënesinis. Kartojasi kas" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Mënesiai á prieká" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Mënesiai prieð tai" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Perkelti þemyn" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Perkelti aukðtyn" + +#: lib/api.php:911 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Rasti keli iCalendar komponentai; palaikomas tik vEvent tipas." + +#: calendars.php:133 +msgid "My Calendars" +msgstr "Mano kalendoriai" + +#: templates/panel.inc:54 +msgid "My Calendars:" +msgstr "Mano kalendoriai:" + +#: templates/calendars/calendars.inc:158 +msgid "My Free/Busy URL" +msgstr "Mano uþimtumo informacijos URL" + +#: templates/calendars/calendars.inc:60 templates/calendars/calendars.inc:103 +#: templates/contacts/contacts.inc:188 +#: templates/prefs/remote_cal_management.inc:24 +#: templates/prefs/remote_cal_management.inc:52 +msgid "Name" +msgstr "Vardas" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Naujas áraðas" + +#: lib/Kronolith.php:405 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "Naujas kalendorius sukurtas ir pavieðintas ðiai(ioms) grupei(ës): %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Sekantis" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Sekanèios 24 valandos" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Sekanti diena" + +#: lib/FBView/month.php:31 templates/month/head_side_by_side.inc:7 +#: templates/month/head.inc:7 +msgid "Next Month" +msgstr "Sekantis mënuo" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Sekanti savaitë" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Sekantys metai" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Sekanti diena" + +#: templates/week/head.inc:8 templates/search/search.inc:58 +msgid "Next week" +msgstr "Sekanti savaitë" + +#: config/prefs.php.dist:344 config/prefs.php.dist:357 +#: config/prefs.php.dist:378 +msgid "No" +msgstr "Ne" + +#: templates/edit/edit.inc:163 templates/view/view.inc:67 +msgid "No alarm" +msgstr "Perspëjimai iðjungti" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Dalyviø nëra" + +#: lib/api.php:1062 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Neatnaujintas nei vienas dalyvis, kadangi dalyviø sàraðe nerastas nei vienas " +"ávestas el. paðto adresas." + +#: lib/Kronolith.php:1934 +msgid "No calendars are available to guests." +msgstr "Kalendoriø sveèiams nëra." + +#: templates/edit/edit.inc:284 templates/view/view.inc:124 +msgid "No end date" +msgstr "Nëra pabaigos datos" + +#: lib/Block/monthlist.php:175 lib/Block/summary.php:208 +#: lib/Block/prevmonthlist.php:166 +msgid "No events to display" +msgstr "Ávykiø nëra" + +#: lib/FreeBusy.php:223 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" +"Nurodytoje nuorodoje nepavyko aptikti jokios vartotojo %s uþimtumo " +"informacijos." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Nepavyko gauti vartotojo %s uþimtumo informacijos" + +#: lib/FreeBusy.php:224 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Nepavyko gauti vartotojo %s uþimtumo informacijos nuorodos." + +#: lib/api.php:384 lib/api.php:627 lib/api.php:664 lib/api.php:918 +msgid "No iCalendar data was found." +msgstr "Nerasta jokiø iCalendar duomenø." + +#: lib/Driver.php:1287 lib/Recurrence.php:191 templates/edit/edit.inc:221 +msgid "No recurrence" +msgstr "Pasikartojimo nëra" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "Nerastas teisingas el. paðto adresas." + +#: lib/Kronolith.php:1191 lib/Kronolith.php:1212 +#: templates/prefs/sourceselect.inc:35 +msgid "None" +msgstr "Nëra" + +#: lib/Views/EditEvent.php:27 lib/Views/Event.php:26 +#: lib/Views/DeleteEvent.php:27 +msgid "Not Found" +msgstr "Nerasta" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Nerasta" + +#: config/prefs.php.dist:58 +msgid "Notifications" +msgstr "Praneðimai" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Lapkritis" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Dabar" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "Objekto savininkas" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Spalis" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr " " + +#: config/prefs.php.dist:347 config/prefs.php.dist:360 +#: config/prefs.php.dist:381 +msgid "On all calendars I have read access to" +msgstr "Visiems kalendoriams, kuriuos að galiu skaityti" + +#: config/prefs.php.dist:346 config/prefs.php.dist:359 +#: config/prefs.php.dist:380 +msgid "On all shown calendars" +msgstr "Visiems rodomiems kalendoriams" + +#: config/prefs.php.dist:345 config/prefs.php.dist:358 +#: config/prefs.php.dist:379 +msgid "On my calendars only" +msgstr "Tik mano kalendoriams" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Elemento savininko teises gali keisti tik jo savininkas arba sistemos " +"administratorius" + +#: lib/Kronolith.php:1209 +msgid "Optional" +msgstr "Nebûtinas" + +#: lib/FBView.php:118 +msgid "Optional Attendees" +msgstr "Kiti dalyviai" + +#: config/prefs.php.dist:75 +msgid "Other Options" +msgstr "Kiti nustatymai" + +#: lib/FBView.php:153 +msgid "Overview" +msgstr "Santrauka" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Savininkas" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Savininiko teisës" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "Savininkas:" + +#: lib/Driver.php:2263 +#, php-format +msgid "Owner: %s" +msgstr "Savininkas: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: templates/prefs/remote_cal_management.inc:76 +msgid "Password" +msgstr "Slaptaþodis" + +#: templates/edit/edit.inc:216 templates/view/view.inc:93 +msgid "Pattern" +msgstr "Pasikartojimai" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Iðtrinti ðá áraðà?" + +#: lib/api.php:606 lib/api.php:705 lib/api.php:758 lib/api.php:853 +#: lib/api.php:888 lib/api.php:980 lib/api.php:1037 lib/Driver/sql.php:776 +msgid "Permission Denied" +msgstr "Neuþtenka teisiø" + +#: templates/calendars/calendars.inc:113 +msgid "Permissions" +msgstr "Teisës" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Iðtaisykite neteisingus adresus." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Portalo nustatymai" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Ankstesnë diena" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Ankstesnis mënuo" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Ankstesnë savaitë" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Vakar diena" + +#: config/prefs.php.dist:181 config/prefs.php.dist:193 +msgid "Print Views" +msgstr "Spausdinimo puslapyje" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Ankstesni ávykiai" + +#: lib/Driver.php:1422 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Asmeninis ávykis nuo %s iki %s" + +#: lib/Driver.php:2208 lib/Driver.php:2209 +msgid "Private event" +msgstr "Asmeninis ávykis" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Asmeninis?" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "Skaityti" + +#: templates/edit/edit.inc:281 templates/view/view.inc:123 +msgid "Recur Until" +msgstr "Pasikartoja iki" + +#: templates/edit/edit.inc:210 templates/view/view.inc:90 +msgid "Recurrence" +msgstr "Pasikartojimas" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Pasikartojimo data" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Pasikartojimo pabaigos data" + +#: lib/Driver.php:2044 +msgid "Recurrence End Day" +msgstr "Pasikartojimo pabaigos diena" + +#: lib/Driver.php:2029 +msgid "Recurrence End Month" +msgstr "Pasikartojimo pabaigos mënuo" + +#: lib/Driver.php:2012 +msgid "Recurrence End Year" +msgstr "Pasikartojimo pabaigos metai" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Pasikartojimo daþnumas" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Pasikartojimo bûdas" + +#: lib/Kronolith.php:1125 +msgid "Recurs daily" +msgstr "Pakartoti kas dienà" + +#: lib/Kronolith.php:1132 +msgid "Recurs monthly" +msgstr "Pakartoti kas mënesá" + +#: lib/Kronolith.php:1128 +msgid "Recurs weekly" +msgstr "Pakartoti kas savaitæ" + +#: lib/Kronolith.php:1137 +msgid "Recurs yearly" +msgstr "Pakartoti kas metus" + +#: lib/Scheduler/kronolith.php:261 +#, php-format +msgid "Reminder: %s" +msgstr "Priminimas: %s" + +#: config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Nutolæ kalendoriai" + +#: templates/panel.inc:86 +msgid "Remote Calendars:" +msgstr "Nutolæ kalendoriai:" + +#: templates/calendars/calendars.inc:139 +msgid "Remote Subscription URL" +msgstr "Iðorinë uþsisakymo URL nuoroda" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Iðtrinti" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Iðtrinti %s" + +#: attendees.php:164 +msgid "Remove Attendee" +msgstr "Paðalinti dalyvius" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Panaikinti ðaltiná" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Dabartinë kalendoriø saugojimo posistemë neleidþia iðtrinti vartotojo " +"duomenø." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Pakeisti visus áraðus adresø knygelëje á ákeliamus? Dëmesio: taip " +"iðtrinsite visus áraðus dabartinëje adresø knygelëje." + +#: lib/Kronolith.php:1216 +msgid "Required" +msgstr "Privalomas" + +#: lib/FBView.php:97 lib/FBView.php:138 lib/FBView.php:141 lib/FBView.php:144 +msgid "Required Attendees" +msgstr "Bûtini dalyviai" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Atstatyti" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "Atsakymas" + +#: config/prefs.php.dist:148 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Dienos ir savaitës puslapiuose rodyti tik ávykius tarp ðiø valandø, jeigu " +"net yra ankstesniø ávykiø?" + +#: lib/Block/month.php:107 lib/Views/Year.php:82 templates/edit/edit.inc:240 +#: templates/javascript/goto.js:64 +msgid "Sa" +msgstr "Ðeðt." + +#: templates/edit/javascript.inc:72 templates/view/view.inc:104 +#: templates/month/head.inc:22 +msgid "Saturday" +msgstr "Ðeðtadienis" + +#: templates/panel.inc:96 templates/calendars/calendars.inc:148 +msgid "Save" +msgstr "Iðsaugoti" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "Iðsaugoti %s" + +#: lib/Kronolith.php:1784 lib/Views/EditEvent.php:78 +#: lib/Views/EditEvent.php:88 templates/edit/edit.inc:40 +msgid "Save As New" +msgstr "Iðsaugoti kaip naujà" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Iðsaugoti dalyvius" + +#: new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "Iðsaugoti ávyká" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Iðsaugoti ir baigti" + +#: search.php:91 lib/Block/tree_menu.php:26 templates/search/search.inc:67 +#: templates/search/search_advanced.inc:114 +#: templates/contacts/contacts.inc:155 +msgid "Search" +msgstr "Ieðkoti" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Paieðkos rezultatai" + +#: templates/panel.inc:48 +msgid "Search for Calendars:" +msgstr "Ieðkoti kalendoriuose:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Paieðkos rezultatai" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Ieðkoti uþimtumo informacijoje negalima." + +#: templates/calendars/calendars.inc:23 templates/calendars/calendars.inc:142 +msgid "Select a calendar above to display the Remote Subscription URL" +msgstr "" +"Pasirinkite kalendoriø, kurio iðorinæ uþsisakymo URL nuorodà norite pamatyti" + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:134 +msgid "Select a calendar above to display the URL" +msgstr "Pasirinkite kalendoriø, kurio URL nuorodà norite pamatyti" + +#: templates/calendars/calendars.inc:94 +msgid "Select a calendar to edit" +msgstr "Pasirinkite kalendoriø, kurá norite redaguoti" + +#: templates/edit/edit_timespan.inc:29 templates/edit/edit_timespan.inc:79 +#: templates/edit/edit.inc:302 +msgid "Select a date" +msgstr "Pasirinkite datà" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Pasirinkite grupæ" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Pasirinkite grupæ:" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Pasirinkite naujà savininkà:" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "Pasirinkite vartotojà:" + +#: config/prefs.php.dist:77 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Adresø knygelës adresø paieðkai ir pridëjimui nustatymas." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Pasirinkite laukelius, kuriuos naudosite adresø iðskleidimui." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Patvirtinimo nustatymø, vaizdavimo bûdø ir standartinio vaizdavimo " +"pasirinkimas." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Pasirinkite kalendoriø ákëlimui:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Pasirinkite kalendoriø(ius) iðkëlimui" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Pasirinkite iðkëlimo formatà:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Pasirinkite failà ákëlimui:" + +#: config/prefs.php.dist:119 +msgid "Select the first weekday:" +msgstr "Pasirinkite pirmà ðiokiadiená:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Pasirinkite ákeliamo failo formatà:" + +#: config/prefs.php.dist:243 +msgid "Select the time span to show:" +msgstr "Pasirinkite laiko tarpà rodymui:" + +#: config/prefs.php.dist:101 +msgid "Select the view to display on startup:" +msgstr "Pasirinkite vaizdavimo bûdà po prisijungimo:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Ávykiø rodymo portale pasirinkimas." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Pasirinktos adresø knygelës:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Pasirinkti adresai" + +#: templates/delete/delete.inc:21 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Trinant ðá ávyká visiems dalyviams iðsiøsti praneðimà apie ávykio nutraukimà?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Iðsiøsti laiðkà %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Siøsti pakvietimus visiems dalyviams?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Siøsti praneðimus apie atnaujinimus visiems dalyviams?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Rugsëjis" + +#: config/prefs.php.dist:52 +msgid "Set default values for new events." +msgstr "Naujø ávykiø standartiniø reikðmiø nustatymas." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Nurodykite pabaigos datà" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Nurodykite pasikartojimo pabaigos datà" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Nurodykite pradþios datà" + +#: config/prefs.php.dist:69 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" +"Jûsø uþimtumo kalendoriaus ir jûsø bei kitø vartotojø kitø uþimtumo " +"parametrø nustatymas." + +#: calendars.php:84 +#, php-format +msgid "Share not found: %s" +msgstr "Bendras kalendorius nerastas: %s" + +#: templates/panel.inc:64 +msgid "Shared Calendars:" +msgstr "Bendri kalendoriai:" + +#: templates/edit/javascript.inc:262 templates/perms/perms.inc:30 +#: templates/perms/perms.inc:57 templates/perms/perms.inc:86 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:127 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:168 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:209 +#: templates/perms/perms.inc:221 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:291 templates/perms/perms.inc:303 +#: templates/perms/perms.inc:337 +msgid "Show" +msgstr "Rodyti" + +#: config/prefs.php.dist:215 +msgid "Show calendar options panel?" +msgstr "Rodyti kalendoriaus nustatymø pultà?" + +#: config/prefs.php.dist:205 +msgid "Show category legend?" +msgstr "Rodyti kategorijø spalvø reikðmes?" + +#: config/prefs.php.dist:171 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Rodyti trynimo, perspëjimo ir pasikartojimo piktogramas kalendoriuje?" + +#: config/prefs.php.dist:272 +msgid "Show external events using category colors?" +msgstr "Iðoriniø ávykiø rodymui naudoti kategorijø spalvas?" + +#: config/prefs.php.dist:225 +msgid "Show free/busy legend?" +msgstr "Rodyti uþimtumo informacijos spalvø reikðmes?" + +#: config/prefs.php.dist:263 +msgid "Show only events that have an alarm set?" +msgstr "Ar rodyti tik tuos veiksmus kurie turi perspëjimo þymæ?" + +#: config/prefs.php.dist:234 +msgid "Show shared calendars side-by-side?" +msgstr "Rodyti bendrus kalendorius vienà ðalia kito?" + +#: config/prefs.php.dist:110 +msgid "Show time of day between each day in week views?" +msgstr "Savaitës reþime rodyti tarpà tarp dienø?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Pradþia" + +#: data.php:56 +msgid "Start Date" +msgstr "Pradþios data" + +#: lib/Driver.php:1904 templates/data/export.inc:68 +msgid "Start Day" +msgstr "Pradþios diena" + +#: lib/Driver.php:1915 templates/data/export.inc:87 +msgid "Start Hour" +msgstr "Pradþios valanda" + +#: lib/Driver.php:1925 templates/data/export.inc:102 +msgid "Start Minute" +msgstr "Pradþios minutë" + +#: lib/Driver.php:1895 templates/data/export.inc:54 +msgid "Start Month" +msgstr "Pradþios mënuo" + +#: templates/view/view.inc:35 templates/search/event_headers.inc:7 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Prasideda" + +#: data.php:57 +msgid "Start Time" +msgstr "Pradþios laikas" + +#: lib/Driver.php:1884 templates/data/export.inc:39 +msgid "Start Year" +msgstr "Pradþios metai" + +#: templates/edit/edit.inc:110 templates/search/search_advanced.inc:94 +msgid "Stat_us" +msgstr "_Bûsena" + +#: templates/view/view.inc:21 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "Bûsena" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Iðsaugoti uþimtumo informacijos negalima." + +#: lib/Block/month.php:109 lib/Block/month.php:111 lib/Views/Year.php:75 +#: lib/Views/Year.php:84 templates/edit/edit.inc:241 +#: templates/javascript/goto.js:65 +msgid "Su" +msgstr "Sekm." + +#: templates/edit/javascript.inc:66 templates/view/view.inc:105 +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: config/prefs.php.dist:120 +msgid "Sunday" +msgstr "Sekmadienis" + +#: lib/Kronolith.php:1164 lib/Kronolith.php:1187 +msgid "Tentative" +msgstr "Bandomasis" + +#: lib/Block/month.php:107 lib/Views/Year.php:80 templates/edit/edit.inc:238 +#: templates/javascript/goto.js:62 +msgid "Th" +msgstr "Ketv." + +#: data.php:238 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "%s faile nëra jokiø ávykiø." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Kalendoriø posistemë ðiuo metu nepasiekiama." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Kalendoriø posistemë ðiuo metu nepasiekiama: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Dalyviø redagavimo langas uþdarytas. Iðeinu." + +#: calendars.php:77 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Kalendoriaus \"%s\" neiðtrintas." + +#: calendars.php:44 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Kalendorius \"%s\" sukurtas." + +#: calendars.php:95 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Kalendorius \"%s\" iðtrintas." + +#: calendars.php:58 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Kalendorius \"%s\" pervadintas á \"%s\"." + +#: calendars.php:60 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Kalendorius \"%s\" iðsaugotas." + +#: data.php:246 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Nepavyko iðvalyti kalendoriaus: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "Pabaigos data turi bûti vëlesnë negu pradþios data." + +#: lib/Kronolith.php:1595 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "Ávykis \"%s\" pridëtas prie \"%s\" kalendoriaus ir prasidës %s %s." + +#: lib/Kronolith.php:1605 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"Ávykis \"%s\" iðtrintas ið \"%s\" kalendoriaus. Jis turëjo prasidëti %s %s." + +#: lib/Kronolith.php:1600 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "Ávykis \"%s\" kalendoriuje \"%s\" pakeistas ir prasidës %s %s." + +#: lib/Kronolith.php:1485 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Praneðimas apie ávyká sëkmingai iðsiøstas %s." + +#: lib/Kronolith.php:1439 +msgid "The following is a more detailed description of the event:" +msgstr "Detalesnis ávykio apraðymas:" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Nepavyko gauti %s uþimtumo informacijos nuorodos." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Uþklausa nebuvo pilna. Trûksta kai kuriø parametrø, kurie reikalingi norint " +"priimti arba atmesti ávyká." + +#: lib/Views/EditEvent.php:43 lib/Views/Event.php:41 +#: lib/Views/DeleteEvent.php:40 +msgid "The requested event was not found." +msgstr "Nurodytas ávykis neegzistuoja." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Ávykiø atitinkanèiø paieðkos kriterijus nëra." + +#: edit.php:46 edit.php:68 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Klaida atidarant kalendoriø: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Klaida pridedant ávyká: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Klaida redaguojant ávyká: %s" + +#: lib/api.php:376 lib/api.php:619 lib/api.php:903 +msgid "There was an error importing the iCalendar data." +msgstr "Klaida ákeliant iCalendar duomenis." + +#: edit.php:142 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Klaida perkeliant ávyká: %s" + +#: lib/Kronolith.php:1490 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Klaida siunèiant praneðimà apie ávyká %s: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Ávykiø iðkëlimui nëra." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Ðis mënuo" + +#: data.php:194 +msgid "This file format is not supported." +msgstr "Failo formatas nepalaikomas." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Tai pasikartojantis ávykis. Iðtrinti tik ðá ávyká, ðá ávyká ir
      visus " +"bûsimus, arba viskà?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Tai pasikartojantis ávykis. Pakeisti tik ðá ávyká, ðá ávyká ir
      visus " +"bûsimus, arba viskà?" + +#: data.php:266 +#, php-format +msgid "This is what the server said: %s" +msgstr "Serverio praneðimas toks: %s" + +#: templates/edit/javascript.inc:70 templates/view/view.inc:102 +#: templates/month/head.inc:20 +msgid "Thursday" +msgstr "Ketvirtadienis" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "Laik_o tarpas:" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Laiko tarpas" + +#: templates/edit/edit.inc:58 templates/search/search_advanced.inc:34 +msgid "Tit_le" +msgstr "Pavadini_mas" + +#: data.php:55 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Pavadinimas" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "Pavadinimas:" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Norëdami pasirinkti keletà reikðmiø, laikykite Control (PC) arba Command " +"(Mac) klaviðà, ir pasirinkite pele." + +#: lib/Block/monthlist.php:132 lib/Block/summary.php:140 +#: lib/Block/prevmonthlist.php:125 +msgid "Today" +msgstr "Ðiandien" + +#: lib/Block/monthlist.php:134 lib/Block/summary.php:142 +#: lib/Block/prevmonthlist.php:127 +msgid "Tomorrow" +msgstr "Rytoj" + +#: lib/Block/month.php:107 lib/Views/Year.php:78 templates/edit/edit.inc:236 +#: templates/javascript/goto.js:60 +msgid "Tu" +msgstr "Antr." + +#: templates/edit/javascript.inc:68 templates/view/view.inc:100 +#: templates/month/head.inc:18 +msgid "Tuesday" +msgstr "Antradienis" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Tipas" + +#: templates/calendars/calendars.inc:131 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Nepavyko prisijungti prie SQL serverio." + +#: calendars.php:91 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Nepavyko iðtrinti \"%s\": %s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Nepavyko uþkrauti %s apraðymo." + +#: attendees.php:57 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "Nepavyko atpaþinti \"%s\" kaip el. paðto adreso." + +#: calendars.php:55 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Nepavyko pervadinti \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Nepavyko gauti %s vartotojo uþimtumo informacijos serveryje" + +#: calendars.php:65 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Nepavyko iðsaugoti kalendoriaus \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Nenurodyta" + +#: lib/api.php:448 lib/api.php:671 lib/api.php:729 lib/api.php:789 +#: lib/api.php:923 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Neatpaþinta Content-Type antraðtë: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Artëjantys ávykiai" + +#: perms.php:254 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" atnaujinta." + +#: lib/Kronolith.php:1429 +#, php-format +msgid "Updated: %s." +msgstr "Atnaujinta: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Vartotojo sàsaja" + +#: templates/prefs/remote_cal_management.inc:68 +msgid "User Name" +msgstr "Vartotojo vardas" + +#: templates/perms/perms.inc:256 +msgid "User to add:" +msgstr "Pasirinkite vartotojà:" + +#: lib/Block/month.php:164 lib/Block/month.php:167 lib/Views/Year.php:156 +#: lib/Views/Year.php:162 +msgid "View Day" +msgstr "Rodyti dienà" + +#: lib/Block/month.php:107 lib/Views/Year.php:79 templates/edit/edit.inc:237 +#: templates/javascript/goto.js:61 +msgid "We" +msgstr "Treè." + +#: lib/Driver.php:1160 lib/Scheduler/kronolith.php:265 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Norime priminti apie artëjantá ávyká.\n" +"\n" +"%s\n" +"\n" +"Vieta: %s\n" +"\n" +"Data: %s\n" +"Laikas: %s\n" +"\n" +"%s" + +#: templates/edit/javascript.inc:69 templates/view/view.inc:101 +#: templates/month/head.inc:19 +msgid "Wednesday" +msgstr "Treèiadienis" + +#: attendees.php:172 lib/Kronolith.php:1751 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:98 +msgid "Week" +msgstr "Savaitë" + +#: workweek.php:15 week.php:17 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "%d savaitë" + +#: templates/edit/edit.inc:171 templates/view/view.inc:53 +#: templates/prefs/default_alarm_management.inc:29 +msgid "Week(s)" +msgstr "Savaitë(s)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Kas savaitæ" + +#: templates/edit/edit.inc:232 templates/view/view.inc:106 +msgid "Weekly: Recurs every" +msgstr "Kassavaitinis. Kartojasi kas" + +#: config/prefs.php.dist:139 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "Kuri valanda darbo dienomis ir savaitgaliais yra paskutinë?" + +#: config/prefs.php.dist:130 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "Kelintà valanda prasideda darbo diena ir savaitgalis?" + +#: config/prefs.php.dist:293 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Kurias ðvenèiø dienas norite matyti?" + +#: attendees.php:171 lib/Kronolith.php:1749 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:99 +msgid "Work Week" +msgstr "Darbo savaitë" + +#: lib/Kronolith.php:1755 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Metai" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Kasmet" + +#: templates/edit/edit.inc:258 templates/edit/edit.inc:264 +#: templates/edit/edit.inc:270 templates/view/view.inc:112 +#: templates/view/view.inc:114 templates/view/view.inc:116 +msgid "Yearly: Recurs every" +msgstr "Kasmetinis. Kartojasi kas" + +#: data.php:41 data.php:255 new.php:19 edit.php:27 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Jûs negalite kurti daugiau nei %d ávykiø." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Jûs nesate nurodyto ávykio dalyvis." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Ðià formà galite naudoti tik ið dalyviø redagavimo lango." + +#: lib/Kronolith.php:1378 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Savo nustatymuose nenurodëte jokio el. paðto adreso. Norëdami gauti " +"praneðimus, turite %sèia%s nurodyti bent vienà." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Jûs neturite teisiø pridëti ávykiø prie %s." + +#: data.php:203 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Jûs neturite teisiø pridëti ávykiø á pasirinktà kalendoriø." + +#: edit.php:159 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Jûs neturite teisiø paskirti ávykiø prie %s." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Jûs neturite teisiø iðtrinti ðio ávykio." + +#: edit.php:162 +msgid "You do not have permission to edit this event." +msgstr "Jûs neturite teisiø redaguoti ðio ávykio." + +#: edit.php:156 +msgid "You do not have permission to move this event." +msgstr "Jûs neturite teisiø perkelti ðio ávykio." + +#: data.php:200 +msgid "You have specified an invalid calendar." +msgstr "Jûs nurodëte neteisingà kalendoriø." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Jûs sëkmingai sutikote dalyvauti ðiame ávykyje." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Jûs sëkmingai atsisakëte dalyvauti ðiame ávykyje." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "Jûs sutikote dalyvauti ávykyje kitu laiku." + +#: calendars.php:98 +msgid "You must select a calendar to be deleted." +msgstr "Nurodykite kalendoriø, kurià norite iðtrinti." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Visø pirma reikia nurodyti adresà." + +#: templates/calendars/calendars.inc:116 +msgid "You need to select a calendar first" +msgstr "Visø pirma reikia pasirinkti kalendoriø" + +#: lib/Kronolith.php:1595 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Jûs pasirinkote bûti informuotas apie naujus ávykius savo kalendoriuose." + +#: lib/Kronolith.php:1605 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Jûs pasirinkote bûti informuotas apie iðtrintus ávykius ið jûsø kalendoriø." + +#: lib/Kronolith.php:1600 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Jûs pasirinkote bûti informuotas apie pakeistus ávykius savo kalendoriuose." + +#: lib/Scheduler/kronolith.php:403 lib/Scheduler/kronolith.php:405 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Jûsø kasdienis kalendoriaus %s priminimas" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Jûsø pagrindinis kalendorius" + +#: templates/panel.inc:59 +msgid "[Manage My Calendars]" +msgstr "[Valgyti mano kalendorius]" + +#: templates/panel.inc:91 +msgid "[Manage Remote Calendars]" +msgstr "[Valdyti nutolusius kalendorius]" + +#: lib/Driver.php:1408 lib/Driver.php:1424 +msgid "[Unnamed event]" +msgstr "[Neávardintas ávykis]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "Perspëjimas" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "Papra_stoji paieðka" + +#: lib/Kronolith.php:1784 +msgid "_Edit" +msgstr "Redaguoti" + +#: lib/Kronolith.php:1949 +msgid "_Goto" +msgstr "Rod_yti" + +#: lib/Kronolith.php:1955 +msgid "_Import/Export" +msgstr "Ákelti/_Iðkelti" + +#: lib/Kronolith.php:1945 +msgid "_New Event" +msgstr "Na_ujas áraðas" + +#: lib/Kronolith.php:1960 +msgid "_Print" +msgstr "Spausdinti" + +#: lib/Kronolith.php:1951 +msgid "_Search" +msgstr "Ieðkoti" + +#: lib/Kronolith.php:1940 +msgid "_Today" +msgstr "Ðiandien" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "kaip %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "prieð prasidedant ávykiui" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"prieð prasidedant ávykiui. Reikðmë \"0\" reiðkia jokio standartinio " +"perspëjimo." + +#: config/prefs.php.dist:244 +msgid "day" +msgstr "diena" + +#: templates/edit/edit.inc:227 templates/view/view.inc:96 +msgid "day(s)" +msgstr "diena(os)" + +#: config/prefs.php.dist:245 config/prefs.php.dist:246 +#: config/prefs.php.dist:247 config/prefs.php.dist:248 +#: config/prefs.php.dist:249 +msgid "days" +msgstr "dienos" + +#: data.php:155 templates/data/export.inc:1 +msgid "events.csv" +msgstr "ivykiai.csv" + +#: data.php:179 +msgid "events.ics" +msgstr "ivykiai.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "kataloge" + +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "month(s)" +msgstr "mënuo(iai)" + +#: lib/Kronolith.php:1435 +#, php-format +msgid "on %s at %s" +msgstr "%s %s" + +#: templates/edit/edit.inc:247 templates/view/view.inc:108 +msgid "on the same date" +msgstr "tuo paèiu metu" + +#: templates/edit/edit.inc:253 templates/view/view.inc:110 +msgid "on the same weekday" +msgstr "ta paèià savaitës dienà" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "pasikartojimai" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:250 +msgid "week" +msgstr "savaitë" + +#: templates/edit/edit.inc:234 templates/view/view.inc:106 +msgid "week(s) on:" +msgstr "savaitë(ës):" + +#: config/prefs.php.dist:251 config/prefs.php.dist:252 +#: config/prefs.php.dist:253 +msgid "weeks" +msgstr "savaitës" + +#: templates/edit/edit.inc:259 templates/view/view.inc:112 +msgid "year(s) on the same date" +msgstr "metø tuo paèiu metu" + +#: templates/edit/edit.inc:265 templates/view/view.inc:114 +msgid "year(s) on the same day of the year" +msgstr "metø tà paèià metø dienà" + +#: templates/edit/edit.inc:271 templates/view/view.inc:116 +msgid "year(s) on the same weekday and month of the year" +msgstr "metø tà paèià metø savaitës dienà ir mënesá" diff --git a/kronolith/po/lv_LV.po b/kronolith/po/lv_LV.po new file mode 100644 index 000000000..ef1f56305 --- /dev/null +++ b/kronolith/po/lv_LV.po @@ -0,0 +1,749 @@ +# Latvieðu valodas tulkojums Horde Framework komponentei. +# Kronolith - Kalendârs +# Copyright 2004 Free Software Foundation, Inc. +# Ivars Stivriòð , 2004. +# +msgid "" +msgstr "" +"Project-Id-Version: 1.0\n" +"POT-Creation-Date: 2004-09-15 18:43+0300\n" +"PO-Revision-Date: 2004-09-15 20:52+0200\n" +"Last-Translator: Ivars Stivrins \n" +"Language-Team: Latvian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CP1257\n" +"Content-Transfer-Encoding: 8-bit\n" + +#, c-format +msgid "%d hour" +msgstr "%d stunda" + +#, c-format +msgid "%d hour, %d minute" +msgstr "%d stunda, %d minûte" + +#, c-format +msgid "%d hour, %d minutes" +msgstr "%d stunda, %d minûtes" + +#, c-format +msgid "%d hours" +msgstr "%d stundas" + +#, c-format +msgid "%d hours, %d minute" +msgstr "%d stundas, %d minûte" + +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d stundas, %d minûtes" + +#, c-format +msgid "%d minute" +msgstr "%d minûte" + +#, c-format +msgid "%d minutes" +msgstr "%d minûtes" + +#, c-format +msgid "%s Minutes before" +msgstr "Pirms %s minûtçm" + +#, c-format +msgid "%s file successfully imported" +msgstr "%s datne sekmîgi ielâdçta" + +#, c-format +msgid "%s is in progress." +msgstr "%s notiek paðreiz..." + +#, c-format +msgid "%s is starting now." +msgstr "%s jau sâkas" + +#, c-format +msgid "%s starts in %s" +msgstr "%s sâkas pçc %s" + +msgid "Description (optional)" +msgstr "Apraksts (neobligâts)" + +msgid "Description" +msgstr "Apraksts" + +msgid "Keywords (optional)" +msgstr "Atslçgvârdi (neobligâti)" + +msgid "Keywords" +msgstr "Atslçgvârdi" + +msgid "Recurrence (optional)" +msgstr "Atkârtoðanâs (neobligâti)" + +msgid "Recurrence" +msgstr "Atkârtoðanâs" + +msgid "Add Event" +msgstr "Pievienot notikumu" + +msgid "Add a new event" +msgstr "Pievienot jaunu notikumu" + +msgid "Add, remove, and edit categories." +msgstr "Pievienot, dzçst un labot kategorijas" + +msgid "Alarm Date" +msgstr "Atgâdinâjuma datums" + +msgid "Alarm Span (minutes)" +msgstr "Atgâdinâjuma laika sprîdis (minûtçs)" + +msgid "Alarm Time" +msgstr "Atgâdinâjuma laiks" + +msgid "Alarm" +msgstr "Atgâdinâjums" + +msgid "All day event" +msgstr "Visi dienas notikumi" + +msgid "All day" +msgstr "Visi dienas" + +msgid "All events" +msgstr "Visi notikumi" + +msgid "All" +msgstr "Viss" + +#, c-format +msgid "Any events in a category that is deleted will become %s." +msgstr "Visi notikumi kategorijâ, kas tiks dzçsta kïûs %s" + +msgid "April" +msgstr "Aprîlis" + +msgid "At" +msgstr "-" + +msgid "August" +msgstr "Augusts" + +msgid "Birthday" +msgstr "Dzimðanas diena" + +msgid "Cancel" +msgstr "Atcelt" + +msgid "Category Management" +msgstr "Kategoriju administrçðana" + +msgid "Category" +msgstr "Kategorija" + +msgid "Change the way dates and times are formatted." +msgstr "Mainît datumu un laika atrâdîðanas veidu" + +msgid "Choose Color" +msgstr "Izvçlçties krâsu" + +msgid "Color Picker" +msgstr "Krâsu palete" + +msgid "Confirm deletion of events?" +msgstr "Apstiprinât notikumu dzçðanu" + +msgid "Create New Category" +msgstr "Izveidot jaunu kategoriju" + +msgid "Create a New Event" +msgstr "Izveidot jaunu notikumu" + +msgid "Current" +msgstr "Pasreizçjais" + +msgid "Daily: Recurs every" +msgstr "Dienâ: Atkârtoties katru" + +msgid "Date and Time Options" +msgstr "DAtuma un laika opcijas" + +msgid "Day" +msgstr "Diena" + +msgid "Day(s)" +msgstr "Dienas" + +msgid "December" +msgstr "Decembris" + +#, c-format +msgid "Delete %s" +msgstr "Datums %s" + +#, c-format +msgid "Delete '%s'" +msgstr "Dzçst '%s'" + +msgid "Delete Event" +msgstr "Dzçst notikumu" + +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Dzçst tikai esoðo notikumu, ðajâ un visâs nâkamajâs reizçs, vaivienmçr?" + +msgid "Delete" +msgstr "Dzçst" + +msgid "Description" +msgstr "Paskaidrojums" + +msgid "Display 24-hour times?" +msgstr "Râdît 24 stundu laiku" + +msgid "Display Options" +msgstr "Displeja parametri" + +#, c-format +msgid "Due: %s" +msgstr "Sakarâ ar: %s" + +msgid "Duration" +msgstr "Ilgums" + +#, c-format +msgid "Edit %s" +msgstr "Labot %s" + +#, c-format +msgid "Edit '%s'" +msgstr "Labot '%s'" + +msgid "Edit" +msgstr "Labot" + +msgid "End Date" +msgstr "Baigu datums" + +msgid "End On" +msgstr "Beidzas" + +msgid "End Time" +msgstr "Beigu laiks" + +msgid "Export Calendar" +msgstr "Eksportçt kalendâru" + +msgid "Export" +msgstr "Eksportçt" + +msgid "February" +msgstr "Februâris" + +msgid "Fr" +msgstr "Pi" + +msgid "Friday" +msgstr "Piektdiena" + +msgid "Future" +msgstr "Nâkotnç" + +msgid "Game" +msgstr "Spçle" + +msgid "Goto" +msgstr "Iet uz" + +msgid "Help" +msgstr "Palîdzîba" + +msgid "Hour(s)" +msgstr "Stunda(s)" + +msgid "If importing CSV data: does the first row contain the field names?" +msgstr "Ja ievelkam CSV datus: vai pirmâ rinda satur lauku vârdus?" + +msgid "Illegal or malformed form data." +msgstr "Nepieïaujami vai neveiksmîgi noformçti dati" + +msgid "Import Calendar" +msgstr "Ievilkt kalendâru" + +msgid "Import" +msgstr "Ievilkt" + +msgid "Import/Export Calendar" +msgstr "Ievilkt/Eksportçt kalendâru" + +msgid "Import/Export" +msgstr "Ievilkt/Eksportçt" + +msgid "Invalid category entered." +msgstr "Nepareiza kategorija ievadîta" + +msgid "January" +msgstr "Janvâris" + +msgid "July" +msgstr "Jûlijs" + +msgid "June" +msgstr "Jûnija" + +msgid "Keywords" +msgstr "Atslçgvârdi" + +msgid "Kronolith is not properly configured" +msgstr "Kronoltith nav pareizi nokonfigurçts" + +msgid "Language" +msgstr "Valoda" + +msgid "Last Month" +msgstr "Pçdçjais mçnesis" + +msgid "Last week" +msgstr "Pçdçjâ nedçïa" + +msgid "Lasts" +msgstr "Pçdçjâs(-ie)" + +msgid "Limit the time span to export:" +msgstr "Ierobeþot laika grafiku datu eksportam" + +msgid "Location" +msgstr "Atraðanâs" + +msgid "March" +msgstr "Marts" + +msgid "May" +msgstr "Maijs" + +msgid "Meeting" +msgstr "Tikðanâs" + +msgid "Minute(s)" +msgstr "Minûte(s)" + +msgid "Minutes" +msgstr "Minûtes" + +msgid "Mo" +msgstr "Pi" + +msgid "Monday" +msgstr "Pirmdiena" + +msgid "Month" +msgstr "Mçnesis" + +msgid "Monthly: Recurs every" +msgstr "Mçneðos: Atkârtoties katru" + +msgid "New Category" +msgstr "Jauna kategorija" + +msgid "New Event" +msgstr "Jauns notikums" + +msgid "Next Month" +msgstr "Nâkoðais mçnesis" + +msgid "Next day" +msgstr "Nâkoðâ diena" + +msgid "Next week" +msgstr "Nâkoðâ nedçïa" + +msgid "No configuration information specified for SQL Calendar." +msgstr "Nav nekâdas informâcijas norâdîtas SQL kalendâram" + +msgid "No end date" +msgstr "Nav beigu datuma" + +msgid "None" +msgstr "Nav" + +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"Piezîme: Ievilkðana nav iespçjama sakarâ ar konfigurâcijas failujo ir kïûda " +"kalendâra dzinî" + +msgid "November" +msgstr "Novembris" + +msgid "October" +msgstr "Oktobris" + +msgid "Options" +msgstr "Parametri" + +msgid "Other Options" +msgstr "Citi parametri" + +msgid "Pattern" +msgstr "Veids" + +msgid "Permanently delete this event?" +msgstr "Dzçst ðo notikumu pilnîbâ" + +msgid "Please enter a name for the new category:" +msgstr "Lûdzu ievadiet jaunâs kategorijas nosaukumu" + +msgid "Please enter a new name for this category:" +msgstr "Lûdzu ievadiet jaunu kategorijas nosaukumu" + +msgid "Previous day" +msgstr "Iepriekðçjâ diena" + +msgid "Print" +msgstr "Drukât" + +msgid "Problem?" +msgstr "Problçma" + +msgid "Recur Until" +msgstr "Atkârtojas" + +msgid "Recurrence Data" +msgstr "Atkârtoðanâs datums" + +msgid "Recurrence End Date" +msgstr "Atkârtoðanâs iztecçjuma (beigu) datums" + +msgid "Recurrence Interval" +msgstr "Atkârtoðanâs intervâls" + +msgid "Recurrence Type" +msgstr "Atkârtoðanâs laiks" + +msgid "Recurs daily" +msgstr "Atkârtoties katru dienu" + +msgid "Recurs monthly" +msgstr "Atkârtoties katru mçnesi" + +msgid "Recurs not" +msgstr "Neatkârtoties " + +msgid "Recurs weekly" +msgstr "Atkârtoties ik nedçïu" + +msgid "Recurs yearly" +msgstr "Atkârtoties ik gadu" + +msgid "Rename" +msgstr "Pârdçvçt" + +msgid "Required 'hostspec' not specified in calendar configuration." +msgstr "Nepiecieðamâ 'hostspec' nav norâdîta kalendâra konfigurâcijâ. " + +msgid "Required 'password' not specified in calendar configuration." +msgstr "Nepiecieðamâ 'password' nav norâdîta kalendâra konfigurâcijâ." + +msgid "Required 'phptype' not specified in calendar configuration." +msgstr "Nepiecieðamais 'phptype' nav norâdîts kalendâra konfigurâcijâ." + +msgid "Required 'username' not specified in calendar configuration." +msgstr "Nepiecieðamais 'username' nav norâdîts kalendâra konfigurâcijâ" + +msgid "Reset to Defaults" +msgstr "Atiestatît noklusçjuma parametrus" + +msgid "Sa" +msgstr "Se" + +msgid "Saturday" +msgstr "Sestdiena" + +msgid "Save As New" +msgstr "Saglabât kâ jaunu" + +msgid "Save Event" +msgstr "Saglabât notikumu" + +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Izvçlieties apstiprinâjuma parametrus, izvçlîeties vienu no " +"vairâkiemapskates (attçlojuma) veidiem." + +msgid "Select how to display Dates:" +msgstr "Izvçlieties kâ atspoguïot datumus:" + +msgid "Select if to show due tasks in the calendar." +msgstr "Izvçlieties ja râdît kopâ ar notikumiem kalendârâ." + +msgid "Select the file to import:" +msgstr "Izvçlieties datni ko ielasît:" + +msgid "Select the first weekday:" +msgstr "Izvçlieties nedçïas pirmo dienu." + +msgid "Select the format to export to:" +msgstr "Izvçlieties formâtu kâdâ eksportçt:" + +msgid "Select the source to import from:" +msgstr "Izvçlieties no kurienes ielasît:" + +msgid "Select the time span to show:" +msgstr "Izvçlieties laika sprîdi cik ilgi râdît:" + +msgid "Select the view to display after login:" +msgstr "Izvçlieties skatu ko râdît pçc autorizâcijas sistçmâ:" + +msgid "Select which events to show in the Horde summary." +msgstr "Izvçlieties kâdus notikumus râdît kopskatâ." + +msgid "September" +msgstr "Septembris" + +msgid "Set the current time zone." +msgstr "Izvçlieties laika joslu" + +msgid "Set the language that menu items, explanations, and help are in." +msgstr "Izvçlieties valodu" + +msgid "Set your preferred display language." +msgstr "Iestatît noklusçto valodu" + +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Râdît " + +msgid "Show due tasks in the calendar?" +msgstr "Râdît ar notikumiem kalendârâ?" + +msgid "Show half hour slots in day and week views?" +msgstr "Râdît ceturdaïkvadrâtiòus dienu un nedçïu skatos?" + +msgid "Show only events that have an alarm set?" +msgstr "Râdît tikai notikumus ar atgâdinâjumu?" + +msgid "Some of Kronolith's configuration files are missing:" +msgstr "Trûkst daþi no Kronolith konfigurâcijas failiem:" + +msgid "Start Date" +msgstr "Sâkuma datums" + +msgid "Start On" +msgstr "Sâksies" + +msgid "Start Time" +msgstr "Sâkuma laiks" + +msgid "Su" +msgstr "Sv" + +msgid "Summary" +msgstr "Kopsavilkums" + +msgid "Sunday" +msgstr "Svçtdiena" + +msgid "Tasks" +msgstr "Uzdevumi" + +msgid "Th" +msgstr "Ce" + +msgid "The Options window has closed. Exiting." +msgstr "Iestatîjumu logs ticis aizvçrts. Atteikðanâs..." + +msgid "The data was lost." +msgstr "Dati tikuði pazaudçti." + +msgid "The end date must be later than the start date." +msgstr "Beigu datumam ir jâbût vçlâk kâ sâkuma." + +msgid "The file contained no data." +msgstr "Datne nesatur nekâdus datus" + +msgid "" +"There was a problem with the file upload. The file may have been larger than " +"the maximum allowed size." +msgstr "" +"Problçmas ar datnes augðupielâdi. Iespçjams , ka datne ir lielâkakâ to " +"atïauj servera parametri." + +msgid "There was an error importing the data." +msgstr "Kïûda ielasot datus" + +msgid "There was an error importing the uploaded file" +msgstr "Kïûda ielasot augðupielâdçto datni" + +msgid "There were no events to export." +msgstr "Nav notikumu ko eksportçt" + +msgid "These changes can not be undone!" +msgstr "Izmaiòas nevar atcelt!" + +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"Datne satur noklusçtos parametrus un nosaka kâdusparametrus lietotâjs drîkst " +"mainît" + +msgid "" +"This file controls the stylesheet that is used to set colors and fonts in " +"addition to or overriding Horde defaults." +msgstr "Datne satur stilus fontus un krâsas." + +msgid "" +"This is the main Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "Galvenâ konfigurâcijas datneSatur ceïus un opcijas visiem kodiem" + +msgid "This window must be called from an Options window" +msgstr "Ðo logu var aizvçrt no parametru loga" + +msgid "Thursday" +msgstr "Ceturdiena" + +msgid "Time Zone" +msgstr "Laika zina" + +msgid "Title" +msgstr "Nosaukums" + +msgid "Today" +msgstr "Ðodiena" + +msgid "Tomorrow" +msgstr "Rîtdiena" + +msgid "Tu" +msgstr "Ot" + +msgid "Tuesday" +msgstr "Otrdiena" + +msgid "Type" +msgstr "Tips" + +msgid "Unable to create calendar instance." +msgstr "Navar izveidot kalendâra ierakstu" + +#, c-format +msgid "Unable to delete %s." +msgstr "Nevar neodzçst %s." + +#, c-format +msgid "Unable to load the definition of %s." +msgstr "Nevar ielâdçt definîciju iekð %s." + +msgid "Unfiled" +msgstr "Neaizpildîts" + +msgid "User Interface" +msgstr "Lietotâja skats" + +msgid "User Options" +msgstr "Lietotâja parametri" + +#, c-format +msgid "View %s" +msgstr "Skats %s" + +msgid "We" +msgstr "Tr" + +msgid "Wednesday" +msgstr "Treðdiena" + +#, c-format +msgid "Week %d" +msgstr "Nedçïas %d" + +msgid "Week" +msgstr "Nedçïa" + +#, c-format +msgid "Week %d" +msgstr "Nedçïa %d" + +msgid "Week(s)" +msgstr "Nedçïa(s)" + +msgid "Weekly: Recurs every" +msgstr "Nedçïa: Atkârtoties katru" + +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "Kâdâ laikâ dienai un nedçïai jâbeidzas, ja nav citu ierakstu?" + +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "Kâdâ laikâ dienai un nedçïai jâsâkas, ja nav citu ierakstu?" + +msgid "Work Week" +msgstr "Darba nedçïa" + +msgid "Yearly: Recurs every" +msgstr "Ikgadus: Atkârtoties katru" + +msgid "You are creating a new category." +msgstr "Jûs veidojat jaunu kategoriju." + +msgid "You must choose a category." +msgstr "Jums ir jâizvçlas kategorija" + +msgid "Your Information" +msgstr "Jûsu informâcija" + +msgid "" +"Your browser does not support this print option. Press Control/Option + P to " +"print." +msgstr "" +"Jûsu pârlûkprogramma nesaprot kâ var printçt automâtiski, nospiediet Ctrl + " +"Plai drukâtu" + +msgid "Your current time zone:" +msgstr "Jûsu laika josla ir:" + +msgid "[none]" +msgstr "[nav]" + +msgid "day" +msgstr "diena" + +msgid "day(s)" +msgstr "diena(s)" + +msgid "days" +msgstr "dienas" + +msgid "iCalendar file successfully imported" +msgstr "i-kalendârs sekmîgi ierakstîts" + +msgid "month(s)" +msgstr "mçnesis(-ði)" + +msgid "no time" +msgstr "laika nav" + +msgid "on the same date" +msgstr "tajâ paðâ datumâ" + +msgid "on the same weekday" +msgstr "tajâ paðâ nedçïas dienâ" + +msgid "week" +msgstr "nedçïa" + +msgid "week(s) on:" +msgstr "nedçlâ(-âs) :" + +msgid "weeks" +msgstr "nedçïas" + +msgid "year(s)" +msgstr "gads(-i)" diff --git a/kronolith/po/nb_NO.po b/kronolith/po/nb_NO.po new file mode 100644 index 000000000..7521c0ef5 --- /dev/null +++ b/kronolith/po/nb_NO.po @@ -0,0 +1,957 @@ +# Norwegian Kronolith Translation. +# Copyright 2002-2009 The Horde Project. +# This file is distributed under the same license as the Kronolith package. +# Torstein S. Hansen , 2002. +# Andreas Gunleikskaas , 2003. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 1.1\n" +"POT-Creation-Date: 2002-07-22 13:04+0200\n" +"PO-Revision-Date: 2004-05-18 23:37+0200\n" +"Last-Translator: Andreas Gunleikskaas \n" +"Language-Team: Norwegian (Bokmal) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#, c-format +msgid "%d hour" +msgstr "%d time" + +#, c-format +msgid "%d hour, %d minute" +msgstr "%d time, %d minutt" + +#, c-format +msgid "%d hour, %d minutes" +msgstr "%d time, %d minutter" + +#, c-format +msgid "%d hours" +msgstr "%d timer" + +#, c-format +msgid "%d hours, %d minute" +msgstr "%d timer, %d minutt" + +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d timer, %d minutter" + +#, c-format +msgid "%d minute" +msgstr "%d minutt" + +#, c-format +msgid "%d minutes" +msgstr "%d minutter" + +#, c-format +msgid "%s file successfully imported" +msgstr "%s filen ble importert" + +#, c-format +msgid "%s is in progress." +msgstr "%s pågår." + +#, c-format +msgid "%s is starting now." +msgstr "%s starter nå." + +#, c-format +msgid "%s starts in %s" +msgstr "%s starter om %s" + +msgid "Description (optional)" +msgstr "Beskrivelse (valgfritt)" + +msgid "Description" +msgstr "Beskrivelse" + +msgid "Keywords (optional)" +msgstr "Stikkord (valgfritt)" + +msgid "Keywords" +msgstr "Stikkord" + +msgid "Recurrence (optional)" +msgstr "Gjentakelse (valgfritt)" + +msgid "Recurrence" +msgstr "Gjentakelse " + +msgid "Add Event" +msgstr "Legg til hendelse" + +msgid "Add a new event" +msgstr "Legg til ny hendelse" + +msgid "Alarm Date" +msgstr "Alarm Dato" + +msgid "Alarm Span (minutes)" +msgstr "Alarm Intervall (minutter)" + +msgid "Alarm Time" +msgstr "Alarm Tidspunkt" + +msgid "Alarm" +msgstr "Alarm" + +msgid "All day event" +msgstr "Hendelsen varer hele dagen" + +msgid "All day" +msgstr "Hele dagen" + +msgid "All events" +msgstr "Alle hendelser" + +msgid "All" +msgstr "Alle" + +msgid "April" +msgstr "april" + +msgid "At" +msgstr "Klokka" + +msgid "August" +msgstr "august" + +msgid "Birthday" +msgstr "Bursdag" + +msgid "Business" +msgstr "Bransje" + +msgid "Cancel" +msgstr "Avbryt" + +msgid "Category" +msgstr "Kategori" + +msgid "Change the way dates and times are formatted." +msgstr "Endre formatet for hvordan tid og dato er satt" + +msgid "Confirm deletion of events?" +msgstr "Bekreft sletting av hendelser?" + +msgid "Create a New Event" +msgstr "Lag et ny hendelse" + +msgid "Current" +msgstr "Nåværende" + +msgid "Daily: Recurs every" +msgstr "Hver dag: Skjer hver dag" + +msgid "Date and Time Options" +msgstr "Valg for dato og tid" + +msgid "Day" +msgstr "Dag" + +msgid "Day(s)" +msgstr "Dag(er)" + +msgid "December" +msgstr "desember" + +#, c-format +msgid "Delete %s" +msgstr "Slett %s" + +#, c-format +msgid "Delete '%s'" +msgstr "Slett '%s'" + +msgid "Delete Event" +msgstr "Slette hendelse" + +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Slett bare gjeldende hendelse, denne hendelsen og alle fremtidige hendelser, " +"eller alle hendelser?" + +msgid "Delete" +msgstr "Slett" + +msgid "Description" +msgstr "Beskrivelse" + +msgid "Display 24-hour times?" +msgstr "Vis tid som 24 timer?" + +msgid "Display Options" +msgstr "Visingsvalg" + +#, c-format +msgid "Due: %s" +msgstr "Forfall: %s" + +msgid "Duration" +msgstr "Varighet" + +#, c-format +msgid "Edit %s" +msgstr "Rediger %s" + +msgid "Edit" +msgstr "Rediger" + +msgid "End Date" +msgstr "Avsluttes dato" + +msgid "End On" +msgstr "Avsluttes" + +msgid "End Time" +msgstr "Avsluttes klokken" + +msgid "Export Calendar" +msgstr "Eksporter kalender" + +msgid "Export" +msgstr "Eksporter" + +msgid "February" +msgstr "februar" + +msgid "Fr" +msgstr "Fr" + +msgid "Friday" +msgstr "Fredag" + +msgid "Future" +msgstr "Fremtid" + +msgid "Game" +msgstr "Spill" + +msgid "Goto" +msgstr "Gå til" + +msgid "Help" +msgstr "Hjelp" + +msgid "Hour(s)" +msgstr "Time(r)" + +msgid "If importing CSV data: does the first row contain the field names?" +msgstr "" +"Dersom du importerer CSV-data; inneholder den første raden da feltnavn?" + +msgid "Illegal or malformed form data." +msgstr "Ulovlig eller feil utformet data." + +msgid "Import Calendar" +msgstr "Importer Kalender" + +msgid "Import" +msgstr "Importer" + +msgid "Import/Export Calendar" +msgstr "Importer/Eksporter Kalender" + +msgid "Import/Export" +msgstr "Importer/Eksporter" + +msgid "January" +msgstr "januar" + +msgid "July" +msgstr "juli" + +msgid "June" +msgstr "juni" + +msgid "Keywords" +msgstr "Stikkord" + +msgid "Kronolith is not properly configured" +msgstr "Kronolith er ikke riktig konfigurert" + +msgid "Language" +msgstr "Språk" + +msgid "Last month" +msgstr "Forrige måned" + +msgid "Last week" +msgstr "Forrige uke" + +msgid "Lasts" +msgstr "Varer" + +msgid "Limit the time span to export:" +msgstr "Avgrens tidsintervall for eksportering:" + +msgid "Location" +msgstr "Plassering" + +msgid "March" +msgstr "mars" + +msgid "May" +msgstr "mai" + +msgid "Meeting" +msgstr "Møte" + +msgid "Minute(s)" +msgstr "Minutt(er)" + +msgid "Minutes before" +msgstr "Minutter før" + +msgid "Minutes" +msgstr "Minutter" + +msgid "Mo" +msgstr "Ma" + +msgid "Monday" +msgstr "Mandag" + +msgid "Month" +msgstr "Måned" + +msgid "Monthly: Recurs every" +msgstr "Hver måned: Skjer hver" + +msgid "New Event" +msgstr "Ny hendelse" + +msgid "Next Month" +msgstr "Neste måned" + +msgid "Next day" +msgstr "Neste dag" + +msgid "Next week" +msgstr "Neste uke" + +msgid "No configuration information specified for SQL Calendar." +msgstr "Ingen konfigurasjon spesifisert for SQL-kalender." + +msgid "No end date" +msgstr "Ingen avsluttnings dato" + +msgid "None" +msgstr "Ingen" + +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"Merk: Kan ikke importere med denne konfigurasjonen, grunnet en feil i den " +"underliggende kalendermodulen." + +msgid "November" +msgstr "november" + +msgid "October" +msgstr "oktober" + +msgid "Options" +msgstr "Valg" + +msgid "Pattern" +msgstr "Mønster" + +msgid "Permanently delete this event?" +msgstr "Slett denne hendelsen permanent?" + +msgid "Personal" +msgstr "Personlig" + +msgid "Previous day" +msgstr "Neste dag" + +msgid "Problem?" +msgstr "Problem?" + +msgid "Recur Until" +msgstr "Avsluttes" + +msgid "Recurrence Data" +msgstr "Gjentagende dato" + +msgid "Recurrence End Date" +msgstr "Slutt dato for gjentaging" + +msgid "Recurrence Interval" +msgstr "Gjentagelses intervall" + +msgid "Recurrence Type" +msgstr "Gjentagelses type" + +msgid "Recurs daily" +msgstr "Skjer daglig" + +msgid "Recurs monthly" +msgstr "Skjer månedlig" + +msgid "Recurs not" +msgstr "Skjer ikke" + +msgid "Recurs weekly" +msgstr "Skjer ukentlig" + +msgid "Recurs yearly" +msgstr "Skjer årlig" + +msgid "Required 'database' not specified in calendar configuration." +msgstr "Nødvendig 'database' ikke spesifisert i konfigurasjon for kalender." + +msgid "Required 'hostspec' not specified in calendar configuration." +msgstr "Nødvendig 'hostspec' ikke spesifisert i konfigurasjon for kalender." + +msgid "Required 'password' not specified in calendar configuration." +msgstr "Nødvendig 'passord' ikke spesifisert i konfigurasjon for kalender." + +msgid "Required 'phptype' not specified in calendar configuration." +msgstr "Nødvendig 'phptype' ikke spesifisert i konfigurasjon for kalender." + +msgid "Required 'username' not specified in calendar configuration." +msgstr "Nødvendig 'brukernavn' ikke spesifisert i konfigurasjon for kalender." + +msgid "Reset to Defaults" +msgstr "Nullstill til standardverdier" + +msgid "Sa" +msgstr "Lø" + +msgid "Saturday" +msgstr "Lørdag" + +msgid "Save As New" +msgstr "Lagre som ny" + +msgid "Save Event" +msgstr "Lagre hendelse" + +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Velg valg for bekreftelse, hvordan de ulike visingene skal presenteres og " +"velg en standardvising." + +msgid "Select how to display Dates:" +msgstr "Velg hvordan dato skal vises:" + +msgid "Select if to show due tasks in the calendar." +msgstr "Velg om forfalte oppgaver skal vises i kalenderen." + +msgid "Select the file to import:" +msgstr "Velg fil som skal importeres:" + +msgid "Select the first weekday:" +msgstr "Velg første ukedag:" + +msgid "Select the format to export to:" +msgstr "Velg formatet som det skal eksporteres til:" + +msgid "Select the source to import from:" +msgstr "Velg kilden det skal importeres fra:" + +msgid "Select the time span to show:" +msgstr "Velg tidsintervall som skal vises:" + +msgid "Select the view to display after login:" +msgstr "Velg visning som skal brukes etter innlogging:" + +msgid "Select what events to show in the Horde summary." +msgstr "Velg hvilken hendelser som skal vises i oppsummeringsvisningen." + +msgid "September" +msgstr "september" + +msgid "Set the current time zone." +msgstr "Velg gjeldende tidssone." + +msgid "Set the language that menu items, explanations, and help are in." +msgstr "Velg språk for menyer, forklaringer og hjelp." + +msgid "Set your preferred display language." +msgstr "Velg ønsket språk." + +msgid "Show due tasks in the calendar?" +msgstr "Vis oppgaver til forfall i kalenderen?" + +msgid "Show half hour slots in day and week views?" +msgstr "Vis halvtimessegmenter i dag- og ukevising?" + +msgid "Show only events that have an alarm set?" +msgstr "Vis bare hendelser som har alarm?" + +msgid "Some of Kronolith's configuration files are missing:" +msgstr "Noen av Kronolith's konfigurasjonsfiler mangler:" + +msgid "Start Date" +msgstr "Start dato" + +msgid "Start On" +msgstr "Start" + +msgid "Start Time" +msgstr "Start tid" + +msgid "Su" +msgstr "Sø" + +msgid "Summary" +msgstr "Sammendrag" + +msgid "Sunday" +msgstr "Søndag" + +msgid "Tasks" +msgstr "Oppgaver" + +msgid "Th" +msgstr "To" + +msgid "The data was lost." +msgstr "Dataene forsvant." + +msgid "The end date must be later than the start date." +msgstr "Kan ikke avslutte før start." + +msgid "The file contained no data." +msgstr "Denne filen inneholder ingen data." + +msgid "" +"There was a problem with the file upload. The file may have been larger than " +"the maximum allowed size." +msgstr "" +"Problem ved opplasting av fil. Filen er kanskje større enn maksimalt tillatt " +"størrelse." + +msgid "There was an error importing the data." +msgstr "Det skjedde en feil ved import av data." + +msgid "There was an error importing the uploaded file" +msgstr "Det skjedde en feil ved importering av den opplastede filen" + +msgid "There were no events to export." +msgstr "Det er ingen hendelser å eksportere." + +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"Denne filen kontrollerer standardinnstillingene for Kronolith, og " +"kontrollerer også hvilke innstillinger brukeren kan endre." + +msgid "" +"This file controls the stylesheet that is used to set colors and fonts in " +"addition to or overriding Horde defaults." +msgstr "" +"Denne filen kontrollerer stilarket som blir brukt til å definere farger og " +"skrifttyper, som tillegg eller overstyring av standardverdier i Horde." + +msgid "" +"This is the main Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "" +"Dette er hovedkonfigurasjonsfilen for Kronolith. Den inneholder katalognavn " +"og valg for alle Kronolith-skriptene." + +msgid "Thursday" +msgstr "Torsdag" + +msgid "Time Zone" +msgstr "Tidssone" + +msgid "Title" +msgstr "Tittel" + +msgid "Today" +msgstr "I dag" + +msgid "Tu" +msgstr "Ti" + +msgid "Tuesday" +msgstr "Tirsdag" + +msgid "Type" +msgstr "Type" + +msgid "User Interface" +msgstr "Brukergrensesnitt" + +msgid "User Options" +msgstr "Brukervalg" + +#, c-format +msgid "View %s" +msgstr "Vis %s" + +msgid "We" +msgstr "On" + +msgid "Wednesday" +msgstr "Onsdag" + +#, c-format +msgid "Week %d" +msgstr "Uke %d" + +msgid "Week" +msgstr "Uke" + +#, c-format +msgid "Week %d" +msgstr "Uke %d" + +msgid "Week(s)" +msgstr "Uke(er)" + +msgid "Weekly: Recurs every" +msgstr "Ukentlig: Skjer hver" + +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Klokkeslett dag- og ukevisinger vises frem til, om det ikke er noen senere " +"hendelser?" + +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Klokkeslett dag- og ukevisinger vises fra, om det ikke er noen tidligere " +"hendelser?" + +msgid "Work Week" +msgstr "Arbeidsuke" + +msgid "Work Week" +msgstr "Arbeidsuke" + +msgid "Yearly: Recurs every" +msgstr "Årlig: Skjer hvert" + +msgid "Your Information" +msgstr "Din informasjon" + +msgid "Your current time zone:" +msgstr "Din gjeldende tidssone:" + +msgid "day" +msgstr "dag" + +msgid "day(s)" +msgstr "dag(er)" + +msgid "days" +msgstr "dager" + +msgid "iCalendar file successfully imported" +msgstr "iCalendar fil ble importert" + +msgid "month(s)" +msgstr "måned(er)" + +msgid "no time" +msgstr "ingen tid" + +msgid "on the same date" +msgstr "på samme dato" + +msgid "on the same weekday" +msgstr "på samme uke dag" + +msgid "week" +msgstr "uke" + +msgid "week(s) on:" +msgstr "uke(r) på:" + +msgid "weeks" +msgstr "uker" + +msgid "year(s)" +msgstr "år" + +msgid "Print" +msgstr "Skriv ut" + +msgid "Tomorrow" +msgstr "I morgen" + +msgid "Other Options" +msgstr "Andre valg" + +msgid "Category Management" +msgstr "Kategoriadministrasjon" + +msgid "Add, remove, and edit categories." +msgstr "Legg til, fjern og rediger kategorier." + +msgid "Select which events to show in the Horde summary." +msgstr "Velg hvilke hendelser som skal vises i oppsummeringsvisningen." + +msgid "Any events in a category that is deleted will become %s." +msgstr "Om en kategori slettes vil hendelser under denne bli %s." + +msgid "Rename" +msgstr "Gi nytt navn" + +msgid "These changes can not be undone!" +msgstr "Endringer her kan ikke angres!" + +msgid "New Category" +msgstr "Ny kategori" + +msgid "Create New Category" +msgstr "Opprett ny kategori" + +msgid "Unfiled" +msgstr "Uklassifisert" + +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Vis slett-, alarm- og gjentagelsesikoner i kalendervisning?" + +msgid "Search" +msgstr "Søk" + +msgid "_Today" +msgstr "I dag" + +msgid "_New Event" +msgstr "Ny hendelse" + +msgid "_Goto" +msgstr "Gå til" + +msgid "_Search" +msgstr "Søk" + +msgid "_My Calendars" +msgstr "Mine kalendere" + +msgid "_Import/Export" +msgstr "Importer/Eksporter" + +msgid "_Print" +msgstr "Print" + +msgid "_Organizing" +msgstr "Organisering" + +msgid "Basic Search" +msgstr "Standard søk" + +msgid "_Basic Search" +msgstr "Standard søk" + +msgid "Descri_ption" +msgstr "Beskrivelse" + +msgid "Time Sp_an" +msgstr "Tidsperiode" + +msgid "Now" +msgstr "Nå" + +msgid "Ad_vanced Search" +msgstr "Avansert Søk" + +msgid "Clear Form" +msgstr "Tøm Skjema" + +msgid "Advanced Search" +msgstr "Avansert Søk" + +msgid "Tit_le" +msgstr "Tittel" + +msgid "C_alendar" +msgstr "Kalender" + +msgid "Categor_y" +msgstr "Kategori" + +msgid "Lo_cation" +msgstr "Sted" + +msgid "Stat_us" +msgstr "Status" + +msgid "Time Span" +msgstr "Tidsperiode" + +msgid "Time span" +msgstr "Tidsperiode" + +msgid "Sta_rt On" +msgstr "Start på" + +msgid "_At" +msgstr "Klokken" + +msgid "Any" +msgstr "Alle" + +msgid "Confirmed" +msgstr "Bekreftet" + +msgid "Tentative" +msgstr "Foreløpig" + +msgid "Cancelled" +msgstr "Avbrutt" + +msgid "Cancelled: %s" +msgstr "Avbrutt: %s" + +msgid "before the event starts" +msgstr "før hendelsen starter" + +msgid "Descri_ption (optional)" +msgstr "Beskrivelse ( valgfritt )" + +msgid "Attendees (optional)" +msgstr "Deltakerer" + +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"Send oppdateringer/invitasjoner til alle deltakere ved lagring av denne " +"hendelsen" + +msgid "Edit Attendees" +msgstr "Endre deltakere" + +msgid "Add attendees" +msgstr "Legg til deltakere" + +msgid "Add people from my Address Book" +msgstr "Legg til personer fra min adressbok" + +msgid "Add these people" +msgstr "Legg til disse personene" + +msgid "* Add these by clicking Add *" +msgstr "* Legg til disse ved å klikke 'Legg til' *" + +msgid "No attendees" +msgstr "Ingen deltakere" + +msgid "Response" +msgstr "Svar" + +msgid "Attendance" +msgstr "Deltakere" + +msgid "Possible Meeting Time" +msgstr "Mulig møtetidspunkt" + +msgid "Possible Meeting Times" +msgstr "Mulige møtetidspunkt" + +msgid "Dismiss" +msgstr "Lukk" + +msgid "Clear all attandees" +msgstr "Fjern alle deltakere" + +msgid "Remove %s" +msgstr "Ta bort %s" + +msgid "Remove Attendee" +msgstr "Ta bort deltakere" + +msgid "Required" +msgstr "Obligatorisk" + +msgid "Required Attendees" +msgstr "Obligatoriske deltakere" + +msgid "Required to attend" +msgstr "Obligatoriskt å delta" + +msgid "Find" +msgstr "Finn" + +msgid "from" +msgstr "fra" + +msgid "Add" +msgstr "Legg til" + +msgid "Display" +msgstr "Vis" + +msgid "Email Address" +msgstr "E-post adresse" + +msgid "All Attendees" +msgstr "Alle deltakere" + +msgid "Edit attendees" +msgstr "Endre deltakere" + +msgid "My Calendars" +msgstr "Mine kalenderer" + +msgid "Select a calendar" +msgstr "Velg en kalender" + +msgid "Calendar Description" +msgstr "Kalender beskrivelse" + +msgid "Calendar Name" +msgstr "Kalender navn" + +msgid "Calendar Summary" +msgstr "Kalender sammendrag" + +msgid "Reset" +msgstr "Tøm" + +msgid "Create" +msgstr "Opprett" + +msgid "Back to Calendar Options" +msgstr "Tilbake til Kalender oppsett" + +msgid "Import Calendar, Step %d" +msgstr "Importer kalender, steg %d" + +msgid "Select the format of the source file:" +msgstr "Velg formatet på filen som skal importeres:" + +msgid "Comma separated values" +msgstr "Komma separerte verdier" + +msgid "vCalendar/iCalendar" +msgstr "vCalender/iCalender" + +msgid "Select the export format:" +msgstr "Velg eksport format:" + +msgid "Next" +msgstr "Neste" + +msgid "All Future" +msgstr "All framtid" + +msgid "All Past" +msgstr "All fortid" + +msgid "Owner" +msgstr "Eiger" + +msgid "Created" +msgstr "Opprettet" + +msgid "_Edit" +msgstr "Rediger" diff --git a/kronolith/po/nl_NL.po b/kronolith/po/nl_NL.po new file mode 100644 index 000000000..913e97300 --- /dev/null +++ b/kronolith/po/nl_NL.po @@ -0,0 +1,2463 @@ +# Kronolith Dutch translation. +# Copyright 2001 Jan Kuipers. +# Jan Kuipers , 2001-2007. +# Updated Han Spruyt, 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 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:14+0100\n" +"Last-Translator: Jan Kuipers \n" +"Language-Team: Dutch \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " totdat %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " zonder einde" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d gebeurtenissen" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d maal" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s dag(en) %s uren %s minuten" + +#: lib/Driver.php:2217 +#, php-format +msgid "%s attendees" +msgstr "%s aanwezigen" + +#: data.php:304 +#, php-format +msgid "%s file successfully imported" +msgstr "%s bestand met succes geimporteerd" + +#: calendars.php:112 lib/Kronolith.php:371 lib/api.php:217 +#, php-format +msgid "%s's Calendar" +msgstr "%s's agenda" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Deze toevoegen, klik op Toevoegen *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Selecteer adres(sen), a.u.b. *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d maal" + +#: lib/Driver.php:2216 +msgid "1 attendee" +msgstr "1 aanwezige" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 gebeurtenis" + +#: config/prefs.php.dist:161 +msgid "1 hour" +msgstr "1 uur" + +#: config/prefs.php.dist:158 +msgid "15 minutes" +msgstr "15 minuten" + +#: config/prefs.php.dist:159 +msgid "20 minutes" +msgstr "20 minuten" + +#: config/prefs.php.dist:160 +msgid "30 minutes" +msgstr "30 minuten" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1181 +msgid "Accepted" +msgstr "Geaccepteerd" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "_Uitgebreid zoeken" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Toevoegen" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Gebeurtenis toevoegen" + +#: templates/prefs/remote_cal_management.inc:43 +msgid "Add a new Remote Calendar" +msgstr "Nieuwe agenda op afstand, toevoegen" + +#: new.php:65 +msgid "Add a new event" +msgstr "Nieuwe gebeurtenis toevoegen" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Aanwezigen toevoegen" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Bron toevoegen" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Aan aanwezigen toevoegen" + +#: contacts.php:76 templates/attendees/attendees.inc:85 +#: templates/contacts/contacts.inc:138 +msgid "Address Book" +msgstr "Adresboek" + +#: config/prefs.php.dist:76 +msgid "Address Books" +msgstr "Adresboeken" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Uitgebreid zoeken" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Alarm" + +#: lib/Driver.php:2183 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarm %d dagen voor" + +#: lib/Driver.php:2188 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarm %d uren voor" + +#: lib/Driver.php:2193 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarm %d minuten voor" + +#: lib/Driver.php:2178 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarm %d weken voor" + +#: lib/Driver.php:2182 +msgid "Alarm 1 day before" +msgstr "Alarm 1 dag voor" + +#: lib/Driver.php:2187 +msgid "Alarm 1 hour before" +msgstr "Alarm 1 uur voor" + +#: lib/Driver.php:2192 +msgid "Alarm 1 minute before" +msgstr "Alarm 1 minuut voor" + +#: lib/Driver.php:2177 +msgid "Alarm 1 week before" +msgstr "Alarm 1 week voor" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Alarmdatum" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Alarmduur (minuten)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Alarmtijd" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "Alarmeenheid" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "Alarmwaarde" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Alarm ingeschakeld" + +#: templates/delete/delete.inc:27 templates/edit/edit.inc:39 +msgid "All" +msgstr "Alle" + +#: lib/FBView.php:127 lib/FBView.php:130 lib/FBView.php:133 +msgid "All Attendees" +msgstr "Alle aanwezigen" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "Alle geauthenticeerde gebruikers" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Alle agenda's" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Alle toekomstige" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Alle afgelopen" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "Alle zichtbaar" + +#: lib/Driver.php:2286 lib/Views/Day.php:97 lib/Views/Day.php:100 +#: lib/Views/Week.php:143 lib/Views/Week.php:150 +#: templates/edit/edit_timespan.inc:119 +msgid "All day" +msgstr "De gehele dag" + +#: lib/Block/summary.php:177 +msgid "All day event" +msgstr "Gehele dag durende gebeurtenis" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Alle gebeurtenissen" + +#: lib/api.php:641 lib/api.php:651 +msgid "Already Exists" +msgstr "Bestaat al" + +#: lib/Kronolith.php:1274 templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 +msgid "Any" +msgstr "Elk" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "April" + +#: templates/data/export.inc:85 templates/data/export.inc:176 +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +msgid "At" +msgstr "Op" + +#: lib/Kronolith.php:1441 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Bijgevoegd is een iCalendar bestand met meer informatie over de gebeurtenis. " +"Wanneer uw mailclient iTip verzoeken ondersteunt, kunt u dit bestand " +"gebruiken om eenvoudig uw lokale kopie van de gebeurtenis bij te werken." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Poging om een niet bestaande share te bewerken." + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "Aanwezigheid" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "Aanwezige" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "Aanwezigen" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Augustus" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Beschikbare adresboeken:" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "Eenvoudig zoeken" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Verjaardag" + +#: lib/FBView.php:89 lib/FBView.php:110 +msgid "Busy" +msgstr "Bezet" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "A_genda" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "_Agenda" + +#: lib/Block/prevmonthlist.php:21 lib/Block/month.php:21 +#: lib/Block/monthlist.php:21 lib/Block/summary.php:22 +#: templates/calendars/calendars.inc:90 +msgid "Calendar" +msgstr "Agenda" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Agendasamenvatting" + +#: data.php:248 +msgid "Calendar successfully purged." +msgstr "Agenda met succes geleegd." + +#: templates/panel.inc:42 templates/panel.inc:43 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:43 config/prefs.php.dist:67 +msgid "Calendars" +msgstr "Agenda's" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Agenda's afgedrukt: " + +#: calendars.php:31 +msgid "Calendars must have a name." +msgstr "Agenda's moeten een naam hebben." + +#: data.php:264 +msgid "Can't create a new event." +msgstr "Kan geen nieuwe gebeurtenis maken." + +#: templates/delete/delete.inc:28 templates/delete/one.inc:25 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +msgid "Cancel" +msgstr "Afbreken" + +#: lib/Kronolith.php:1157 +msgid "Cancelled" +msgstr "Afgebroken" + +#: lib/Kronolith.php:1415 +#, php-format +msgid "Cancelled: %s" +msgstr "Afgebroken: %s" + +#: lib/Driver/kolab.php:1265 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Kan gebeurtenis niet verwijderen: %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "_Categorie" + +#: data.php:64 templates/view/view.inc:6 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "Categorie" + +#: config/prefs.php.dist:59 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Kies op welke manier u op de hoogte wilt blijven van gewijzigde, alarm en " +"komende gebeurtenissen." + +#: config/prefs.php.dist:391 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "" +"Kies op welke manier u reminders wilt ontvangen van gebeurtenissen met " +"alarmen:" + +#: config/prefs.php.dist:348 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Wilt u van nieuwe, bewerkte, en verwijderde gebeurtenissen per email op de " +"hoogte te blijven:" + +#: config/prefs.php.dist:361 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Kies of u e-mailreminders wilt ontvangen van uw dagelijkse agenda:" + +#: config/prefs.php.dist:382 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "Kies of u reminders wilt ontvangen van gebeurtenissen met alarmen:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Kies de agenda's die u in uw Vrij/Bezet informatie wilt toevoegen:" + +#: config/prefs.php.dist:448 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "Kies het adresboek voor het zoeken van vrij/bezet URLs:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "" +"Kies de volgorde van adresboeken om te doorzoeken t.b.v. naamsuitbreiding." + +#: config/prefs.php.dist:195 +msgid "Choose the views to show event locations in:" +msgstr "Kies de weergaven waarin gebeurtenislocaties worden weergegeven:" + +#: config/prefs.php.dist:183 +msgid "Choose the views to show event start and end times in:" +msgstr "" +"Kies de weergaven waarin de gebeurtenisstart- en eindtijden worden " +"weergegeven:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Kies welke vakanties worden weergegeven" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Kies uw standaard agenda." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Alle aanwezigen wissen" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Klik op één van uw geselecteerde adresboeken en selecteer daarna alle velden " +"welke doorzocht dienen te worden." + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Sluit scherm" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Sluit scherm" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Komma gescheiden waarden" + +#: config/prefs.php.dist:88 +msgid "Confirm deletion of events?" +msgstr "Verwijdering van gebeurtenissen bevestigen?" + +#: lib/Kronolith.php:1154 +msgid "Confirmed" +msgstr "Bevestigd" + +#: templates/calendars/calendars.inc:162 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" +"Kopieer de onderstaande URL voor gebruik, wanneer u uw Vrij/Bezet URL nodig " +"heeft:" + +#: lib/Kronolith.php:463 +#, php-format +msgid "Could not open %s." +msgstr "Kon %s niet openen." + +#: templates/calendars/calendars.inc:69 +msgid "Create" +msgstr "Maken" + +#: templates/calendars/calendars.inc:55 +msgid "Create Calendar" +msgstr "Maak agenda" + +#: lib/Views/Month.php:173 lib/Views/Day.php:97 lib/Views/Day.php:256 +#: templates/week/head.inc:29 +msgid "Create a New Event" +msgstr "Maak een nieuwe gebeurtenis" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Gemaakt" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:37 +msgid "Current" +msgstr "Huidige" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Dagelijks" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "Dagelijks: herhaalt zich elke" + +#: attendees.php:170 lib/Kronolith.php:1747 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:97 +msgid "Day" +msgstr "Dag" + +#: templates/view/view.inc:56 templates/prefs/default_alarm_management.inc:28 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "Dag(en)" + +#: lib/Kronolith.php:1789 +msgid "De_lete" +msgstr "Verwi_jderen" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "December" + +#: lib/Kronolith.php:1184 +msgid "Declined" +msgstr "Afgenomen" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Standaard alarminstelling:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Standaard agenda" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "Overdragen" + +#: lib/Driver.php:1303 lib/Driver.php:2245 templates/delete/one.inc:24 +#: templates/calendars/calendars.inc:149 +#: templates/prefs/remote_cal_management.inc:30 templates/perms/perms.inc:33 +#: templates/perms/perms.inc:69 templates/perms/perms.inc:89 +#: templates/perms/perms.inc:110 templates/perms/perms.inc:130 +#: templates/perms/perms.inc:151 templates/perms/perms.inc:171 +#: templates/perms/perms.inc:192 templates/perms/perms.inc:212 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:274 +#: templates/perms/perms.inc:294 templates/perms/perms.inc:315 +#: templates/perms/perms.inc:349 +msgid "Delete" +msgstr "Verwijderen" + +#: lib/Driver.php:2244 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Verwijder %s" + +#: lib/Driver.php:1302 +#, php-format +msgid "Delete exception on %s" +msgstr "Uitzondering op %s verwijderen" + +#: templates/search/search_advanced.inc:103 templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "Omsch_rijving" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "Be_schrijving:" + +#: data.php:63 templates/view/view.inc:155 +#: templates/calendars/calendars.inc:123 +msgid "Description" +msgstr "Beschrijving" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Weergeven" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Weergaveopties" + +#: lib/Kronolith.php:1122 +msgid "Does not recur" +msgstr "Herhaalt zich niet" + +#: config/prefs.php.dist:369 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"Stuur mij geen notificatie wanneer ik de gebeurtenis heb toegevoegd, " +"bijgewerkt of verwijderd?" + +#: lib/Kronolith.php:683 +#, php-format +msgid "Due: %s" +msgstr "Vervaldatum: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Tijdsduur" + +#: lib/Driver.php:1978 +msgid "Duration Day" +msgstr "Tijdsduur dag" + +#: lib/Driver.php:1990 +msgid "Duration Hour" +msgstr "Tijdsduur uur" + +#: lib/Driver.php:2001 +msgid "Duration Minute" +msgstr "Tijdsduur minuut" + +#: lib/Driver.php:2238 templates/calendars/calendars.inc:116 +#: templates/prefs/remote_cal_management.inc:31 templates/perms/perms.inc:32 +#: templates/perms/perms.inc:65 templates/perms/perms.inc:88 +#: templates/perms/perms.inc:106 templates/perms/perms.inc:129 +#: templates/perms/perms.inc:147 templates/perms/perms.inc:170 +#: templates/perms/perms.inc:188 templates/perms/perms.inc:211 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:270 +#: templates/perms/perms.inc:293 templates/perms/perms.inc:311 +#: templates/perms/perms.inc:345 +msgid "Edit" +msgstr "Bewerken" + +#: lib/Driver.php:2237 lib/Views/EditEvent.php:29 +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Edit %s" +msgstr "%s bewerken" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Aanwezigen bewerken" + +#: templates/calendars/calendars.inc:84 +msgid "Edit Calendars" +msgstr "Agenda's bewerken" + +#: perms.php:260 +msgid "Edit Permissions" +msgstr "Rechten bewerken" + +#: perms.php:262 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Rechten van '%s' bewerken" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Aanwezige bewerken" + +#: attendees.php:227 +msgid "Edit attendees" +msgstr "Aanwezigen bewerken" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Categorieën en kleuren bewerken" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Rechten van %s bewerken" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "E-mailadres" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "Ein_de" + +#: data.php:58 +msgid "End Date" +msgstr "Einddatum" + +#: lib/Driver.php:1949 templates/data/export.inc:161 +msgid "End Day" +msgstr "Einddag" + +#: lib/Driver.php:1962 templates/data/export.inc:178 +msgid "End Hour" +msgstr "Einduur" + +#: lib/Driver.php:1973 templates/data/export.inc:190 +msgid "End Minute" +msgstr "Eindminuut" + +#: lib/Driver.php:1940 templates/data/export.inc:148 +msgid "End Month" +msgstr "Eindmaand" + +#: templates/view/view.inc:41 templates/search/event_headers.inc:8 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "Eindigt op" + +#: data.php:59 +msgid "End Time" +msgstr "Eindtijd" + +#: lib/Driver.php:1929 templates/data/export.inc:134 +msgid "End Year" +msgstr "Eindjaar" + +#: attendees.php:216 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Fout bij het ophalen van vrij/bezet informatie voor %s: %s" + +#: attendees.php:196 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Fout bij het ophalen van uw vrij/bezet informatie: %s" + +#: config/prefs.php.dist:51 +msgid "Event Defaults" +msgstr "Gebeurtenis standaardinstellingen" + +#: lib/Kronolith.php:1594 +msgid "Event added:" +msgstr "Gebeurtenis toegevoegd" + +#: lib/Kronolith.php:1604 +msgid "Event deleted:" +msgstr "Gebeurtenis verwijderd:" + +#: lib/Kronolith.php:1599 +msgid "Event edited:" +msgstr "Bewerkte gebeurtenis:" + +#: lib/Driver.php:1426 +#, php-format +msgid "Event from %s to %s" +msgstr "Gebeurtenis van %s tot %s" + +#: lib/Driver/sql.php:387 +msgid "Event not found" +msgstr "Gebeurtenis niet gevonden" + +#: lib/Driver/kolab.php:433 lib/Driver/kolab.php:1130 +#: lib/Driver/kolab.php:1157 lib/Driver/kolab.php:1247 +#, php-format +msgid "Event not found: %s" +msgstr "Gebeurtenis niet gevonden: %s" + +#: config/prefs.php.dist:50 config/prefs.php.dist:57 +msgid "Events" +msgstr "Gebeurtenissen" + +#: lib/Driver.php:1034 +msgid "Events must have a start date." +msgstr "Gebeurtenis moet een startdatum hebben." + +#: lib/Driver.php:996 +msgid "Events must have a title." +msgstr "Gebeurtenis moet een naam hebben." + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "Uitzonderingen" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "Exporteren" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Agenda exporteren" + +#: templates/panel.inc:73 +msgid "External Events:" +msgstr "Externe gebeurtenissen:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Februari" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Zoekvelden" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Vinden" + +#: lib/Block/month.php:107 lib/Views/Year.php:81 templates/edit/edit.inc:239 +#: templates/javascript/goto.js:63 +msgid "Fr" +msgstr "Vr" + +#: lib/Kronolith.php:1160 +msgid "Free" +msgstr "Vrij" + +#: config/prefs.php.dist:68 +msgid "Free/Busy Information" +msgstr "Vrij/Bezet informatie" + +#: templates/view/view.inc:103 templates/month/head.inc:21 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "Vrijdag" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:38 +msgid "Future" +msgstr "Toekomst" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Spel" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Algemeen" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Ga naar %s" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "Groepen" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "Gast rechten" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Verbergen" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Vakanties" + +#: templates/view/view.inc:59 templates/prefs/default_alarm_management.inc:27 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "Uur" + +#: config/prefs.php.dist:157 +msgid "How long should the time slots on the day and week views be?" +msgstr "Welk tijdsinterval wilt u gebruiken in dag- en weekweergave?" + +#: config/prefs.php.dist:400 +msgid "How many days of free/busy information should we generate?" +msgstr "" +"Voor hoeveel toekomstige dagen moet vrij/bezet informatie worden gegenereerd?" + +#: lib/Kronolith.php:1445 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Als uw email client geen iTip verzoeken ondersteund, kunt één van de " +"volgende links gebruiken voor accepteren of afwijzen van de gebeurtenis.\n" +"\n" +"Om de gebeurtenis te accepteren:\n" +"%s\n" +"\n" +"Om de gebeurtenis voorlopig te accepteren:\n" +"%s\n" +"\n" +"Om de gebeurtenis af te wijzen:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Agenda importeren, stap %d" + +#: data.php:310 +msgid "Import/Export Calendar" +msgstr "Agenda importeren/exporteren" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "Individuele gebruikers" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Januari" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Juli" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Juni" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "Trefwoorden" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Afgelopen 24 uur" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Laatst gewijzigd" + +#: templates/month/head.inc:5 templates/month/head_side_by_side.inc:5 +msgid "Last Month" +msgstr "Afgelopen maand" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Vorig jaar" + +#: templates/week/head.inc:6 templates/search/search.inc:54 +msgid "Last week" +msgstr "Vorige week" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Beperk de, te exporteren, tijdsduur:" + +#: config/prefs.php.dist:411 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Alle adressen weergeven bij het laden van het adresscherm? (Wanneer dit is " +"uitgeschakeld, zie u alleen het adres waar u speciaal naar zoekt)" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "_Locatie" + +#: templates/javascript_defs.php:14 +msgid "Loading ..." +msgstr "Laden ..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Laden..." + +#: data.php:65 lib/Driver.php:2268 templates/view/view.inc:14 +#: templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:25 +#: templates/prefs/remote_cal_management.inc:60 +msgid "Location" +msgstr "Locatie" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Agenda's op afstand, beheren." + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Maart" + +#: lib/api.php:133 +msgid "Maximum Number of Events" +msgstr "Maximum aantal Gebeurtenissen" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Maximum aantal weer te geven gebeurtenissen (0 = geen limiet)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Mei" + +#: lib/Driver.php:2264 +msgid "Me" +msgstr "Ik" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Vergadering" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Alarmmenu" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menulijst" + +#: templates/view/view.inc:62 templates/prefs/default_alarm_management.inc:26 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "Minuten" + +#: lib/Block/month.php:107 lib/Views/Year.php:77 templates/edit/edit.inc:235 +#: templates/javascript/goto.js:59 +msgid "Mo" +msgstr "Ma" + +#: templates/view/view.inc:99 templates/month/head.inc:17 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:121 +msgid "Monday" +msgstr "Maandag" + +#: attendees.php:173 lib/Kronolith.php:1753 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:100 +msgid "Month" +msgstr "Maand" + +#: config/prefs.php.dist:180 +msgid "Month and Week Views" +msgstr "Maand en weekweergaven" + +#: config/prefs.php.dist:192 +msgid "Month, Week, and Day Views" +msgstr "Maand, week en dagweergaven" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Maandelijks" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "Maandelijks: herhaalt zich elke" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Komende maanden" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Maanden voor" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Naar beneden" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Naar boven" + +#: lib/api.php:911 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Meerdere iCalendar onderdelen gevonden; slecht één vEvent wordt ondersteund." + +#: calendars.php:133 +msgid "My Calendars" +msgstr "Mijn agenda's" + +#: templates/panel.inc:54 +msgid "My Calendars:" +msgstr "Mijn agenda's:" + +#: templates/calendars/calendars.inc:158 +msgid "My Free/Busy URL" +msgstr "Mijn Freebusy URL" + +#: templates/calendars/calendars.inc:60 templates/calendars/calendars.inc:103 +#: templates/prefs/remote_cal_management.inc:24 +#: templates/prefs/remote_cal_management.inc:52 +#: templates/contacts/contacts.inc:188 +msgid "Name" +msgstr "Naam" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Nieuwe gebeurtenis" + +#: lib/Kronolith.php:405 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Nieuwe agenda gemaakt en automatisch gedeeld met de volgende groep(en): %s" + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Volgende" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Volgende 24 uur" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Volgende dag" + +#: lib/FBView/month.php:31 templates/month/head.inc:7 +#: templates/month/head_side_by_side.inc:7 +msgid "Next Month" +msgstr "Volgende maand" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Volgende week" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Volgend jaar" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Volgende dag" + +#: templates/week/head.inc:8 templates/search/search.inc:58 +msgid "Next week" +msgstr "Volgende week" + +#: config/prefs.php.dist:344 config/prefs.php.dist:357 +#: config/prefs.php.dist:378 +msgid "No" +msgstr "Nee" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "Geen alarm" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Geen aanwezigen" + +#: lib/api.php:1062 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Er zijn geen aanwezigen bijgewerkt omdat geen van de opgegeven e-" +"mailadressen gevonden werden in de aanwezigenlijst van de gebeurtenis." + +#: lib/Kronolith.php:1934 +msgid "No calendars are available to guests." +msgstr "Geen agenda's beschikbaar voor gasten." + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "Geen einddatum" + +#: lib/Block/prevmonthlist.php:166 lib/Block/monthlist.php:175 +#: lib/Block/summary.php:208 +msgid "No events to display" +msgstr "Geen gebeurtenissen weer te geven" + +#: lib/FreeBusy.php:223 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "Geen vrij/bezet informatie gevonden in de vrij/bezet url van %s." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Geen vrij/bezet informatie beschikbaar voor %s" + +#: lib/FreeBusy.php:224 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Geen vrij/bezet url gevonden voor %s." + +#: lib/api.php:384 lib/api.php:627 lib/api.php:664 lib/api.php:918 +msgid "No iCalendar data was found." +msgstr "Geen iCalendardata gevonden." + +#: lib/Recurrence.php:191 lib/Driver.php:1287 templates/edit/edit.inc:221 +msgid "No recurrence" +msgstr "Geen herhaling" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "Geen geldig e-mailadres gevonden" + +#: lib/Kronolith.php:1191 lib/Kronolith.php:1212 +#: templates/prefs/sourceselect.inc:35 +msgid "None" +msgstr "Geen" + +#: lib/Views/EditEvent.php:27 lib/Views/Event.php:26 +#: lib/Views/DeleteEvent.php:27 +msgid "Not Found" +msgstr "Niet gevonden" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Niet gevonden" + +#: config/prefs.php.dist:58 +msgid "Notifications" +msgstr "Meldingen" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "November" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Nu" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "Objecteigenaar" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Oktober" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Op" + +#: config/prefs.php.dist:347 config/prefs.php.dist:360 +#: config/prefs.php.dist:381 +msgid "On all calendars I have read access to" +msgstr "Voor alle agenda's waar ik leesrechten heb" + +#: config/prefs.php.dist:346 config/prefs.php.dist:359 +#: config/prefs.php.dist:380 +msgid "On all shown calendars" +msgstr "Voor alle getoonde agenda's." + +#: config/prefs.php.dist:345 config/prefs.php.dist:358 +#: config/prefs.php.dist:379 +msgid "On my calendars only" +msgstr "Alleen voor mijn agenda's" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Alleen de eigenaar of een systeembeheerder mag de eigenaarrechten van een " +"share wijzigen" + +#: lib/Kronolith.php:1209 +msgid "Optional" +msgstr "Optioneel" + +#: lib/FBView.php:118 +msgid "Optional Attendees" +msgstr "Optionele aanwezigen" + +#: config/prefs.php.dist:75 +msgid "Other Options" +msgstr "Andere opties" + +#: lib/FBView.php:153 +msgid "Overview" +msgstr "Overzicht" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Eigenaar" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Eigenaarrechten" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "Eigenaar:" + +#: lib/Driver.php:2263 +#, php-format +msgid "Owner: %s" +msgstr "Eigenaar: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: templates/prefs/remote_cal_management.inc:76 +msgid "Password" +msgstr "Wachtwoord" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "Patroon" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Deze gebeurtenis definitief verwijderen?" + +#: lib/api.php:606 lib/api.php:705 lib/api.php:758 lib/api.php:853 +#: lib/api.php:888 lib/api.php:980 lib/api.php:1037 lib/Driver/sql.php:776 +msgid "Permission Denied" +msgstr "Toegang geweigerd" + +#: templates/calendars/calendars.inc:113 +msgid "Permissions" +msgstr "Rechten" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Herstel dubbelzinnige of ongeldige adressen, a.u.b." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Portaalopties" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Vorige dag" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Vorige maand" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Vorige week" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Vorige dag" + +#: config/prefs.php.dist:181 config/prefs.php.dist:193 +msgid "Print Views" +msgstr "Weergaven afdrukken" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Voorgaande gebeurtenissen" + +#: lib/Driver.php:1422 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Privé gebeurtenis van %s tot %s" + +#: lib/Driver.php:2208 lib/Driver.php:2209 +msgid "Private event" +msgstr "Privé gebeurtenis" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Privé?" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "Lezen" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "Herhaal tot" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "Herhaling" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Herhalingsdata" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Herhalingseinddatum" + +#: lib/Driver.php:2044 +msgid "Recurrence End Day" +msgstr "Herhalingseinddag" + +#: lib/Driver.php:2029 +msgid "Recurrence End Month" +msgstr "Herhalingseindmaand" + +#: lib/Driver.php:2012 +msgid "Recurrence End Year" +msgstr "Herhalingseindjaar" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Herhalingsinterval" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Herhalingstype" + +#: lib/Kronolith.php:1125 +msgid "Recurs daily" +msgstr "Herhaalt dagelijks" + +#: lib/Kronolith.php:1132 +msgid "Recurs monthly" +msgstr "Herhaalt maandelijks" + +#: lib/Kronolith.php:1128 +msgid "Recurs weekly" +msgstr "Herhaalt wekelijks" + +#: lib/Kronolith.php:1137 +msgid "Recurs yearly" +msgstr "Herhaalt jaarlijks" + +#: lib/Scheduler/kronolith.php:261 +#, php-format +msgid "Reminder: %s" +msgstr "Herinnering: %s" + +#: config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Agenda's op afstand" + +#: templates/panel.inc:86 +msgid "Remote Calendars:" +msgstr "Agenda's op afstand:" + +#: templates/calendars/calendars.inc:139 +msgid "Remote Subscription URL" +msgstr "Remote Subscription URL" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Verwijderen" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "%s verwijderen" + +#: attendees.php:164 +msgid "Remove Attendee" +msgstr "Aanwezige verwijderen" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Bron verwijderen" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Verwijderen van gebruikersdata wordt niet ondersteund door het huidige " +"agenda opslag backend." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Vervang de bestaande agenda door de geïmporteerde? Waarschuwing: Dit " +"verwijdert de hele inhoud uit uw huidige agenda." + +#: lib/Kronolith.php:1216 +msgid "Required" +msgstr "Vereist" + +#: lib/FBView.php:97 lib/FBView.php:138 lib/FBView.php:141 lib/FBView.php:144 +msgid "Required Attendees" +msgstr "Vereiste aanwezigen" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Herstel standaardinstellingen" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "Antwoord" + +#: config/prefs.php.dist:148 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Beperk dag- en weekweergave tot dit tijdsgebied, zelfs " +"wanneer er eerdere of latere gebeurtenissen zijn?" + +#: lib/Block/month.php:107 lib/Views/Year.php:82 templates/edit/edit.inc:240 +#: templates/javascript/goto.js:64 +msgid "Sa" +msgstr "Za" + +#: templates/view/view.inc:104 templates/month/head.inc:22 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "Zaterdag" + +#: templates/panel.inc:96 templates/calendars/calendars.inc:148 +msgid "Save" +msgstr "Opslaan" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "%s opslaan" + +#: lib/Kronolith.php:1784 lib/Views/EditEvent.php:78 +#: lib/Views/EditEvent.php:88 templates/edit/edit.inc:40 +msgid "Save As New" +msgstr "Opslaan als nieuw" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Aanwezigen opslaan" + +#: new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "Gebeurtenis opslaan" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Opslaan en afsluiten" + +#: search.php:91 lib/Block/tree_menu.php:26 +#: templates/search/search_advanced.inc:114 templates/search/search.inc:67 +#: templates/contacts/contacts.inc:155 +msgid "Search" +msgstr "Zoeken" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Zoekresultaten" + +#: templates/panel.inc:48 +msgid "Search for Calendars:" +msgstr "Zoek naar agenda's:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Zoekresultaten" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Zoeken in vrij/bezet is niet beschikbaar." + +#: templates/calendars/calendars.inc:23 templates/calendars/calendars.inc:142 +msgid "Select a calendar above to display the Remote Subscription URL" +msgstr "" +"Selecteer een bovenstaande agenda om de Remote Subsription URL weer te geven" + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:134 +msgid "Select a calendar above to display the URL" +msgstr "Selecteer een bovenstaande agenda voor weergave van de URL" + +#: templates/calendars/calendars.inc:94 +msgid "Select a calendar to edit" +msgstr "Selecteer een agenda voor bewerken" + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Selecteer een datum" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Selecteer een groep om toe te voegen" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Selecteer een groep om toe te voegen:" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Selecteer een nieuwe eigenaar:" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "Selecteer een gebruiker om toe te voegen:" + +#: config/prefs.php.dist:77 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Selecteer adresboekbronnen voor toevoegen en zoeken van adressen." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Selecteer alle velden om te doorzoeken t.b.v. naamsuitbreiding." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Kies bevestigingsopties, hoe de verschillende weergaves worden afgebeeld en " +"kies een standaardweergave." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Selecteer de agenda om naar te importeren:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Selecteer de agenda('s) om uit te exporteren" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Selecteer het exportformaat:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Selecteer het importbestand:" + +#: config/prefs.php.dist:119 +msgid "Select the first weekday:" +msgstr "Selecteer de eerste weekdag:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Selecteer het formaat van het bronbestand:" + +#: config/prefs.php.dist:243 +msgid "Select the time span to show:" +msgstr "Selecteer een tijdsduurweergave:" + +#: config/prefs.php.dist:101 +msgid "Select the view to display on startup:" +msgstr "Selecteer een weergave welke wordt gebruikt na opstarten:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Selecteer welke gebeurtenissen worden weergegeven in het portaal." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Geselecteerde adresboeken:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Geselecteerde adressen" + +#: templates/delete/delete.inc:21 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Stuur een afzegging aan alle aanwezigen bij verwijderen van deze gebeurtenis?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Een e-mail versturen aan %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Stuur uitnodigingen aan alle aanwezigen?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Stuur updates aan alle aanwezigen?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "September" + +#: config/prefs.php.dist:52 +msgid "Set default values for new events." +msgstr "Standaardwaarden voor nieuwe gebeurtenissen instellen." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Einddatum instellen" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Herhalingseinddatum instellen" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Begindatum instellen" + +#: config/prefs.php.dist:69 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" +"Instellen van uw vrij/bezet agenda's en opties van uzelf en andere " +"gebruikers." + +#: calendars.php:84 +#, php-format +msgid "Share not found: %s" +msgstr "Niet gevonden: %s" + +#: templates/panel.inc:64 +msgid "Shared Calendars:" +msgstr "Gedeelde agenda's" + +#: templates/perms/perms.inc:30 templates/perms/perms.inc:57 +#: templates/perms/perms.inc:86 templates/perms/perms.inc:98 +#: templates/perms/perms.inc:127 templates/perms/perms.inc:139 +#: templates/perms/perms.inc:168 templates/perms/perms.inc:180 +#: templates/perms/perms.inc:209 templates/perms/perms.inc:221 +#: templates/perms/perms.inc:262 templates/perms/perms.inc:291 +#: templates/perms/perms.inc:303 templates/perms/perms.inc:337 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "Weergeven" + +#: config/prefs.php.dist:215 +msgid "Show calendar options panel?" +msgstr "Agendaoptiespaneel weergeven?" + +#: config/prefs.php.dist:205 +msgid "Show category legend?" +msgstr "Toon categorielegenda?" + +#: config/prefs.php.dist:171 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"Verwijderen, alarm en herhalingpictogrammen weergeven in agendaweergaven?" + +#: config/prefs.php.dist:272 +msgid "Show external events using category colors?" +msgstr "Externe gebeurtenissen weergeven met categoriekleuren?" + +#: config/prefs.php.dist:225 +msgid "Show free/busy legend?" +msgstr "Toon Vrij/Bezet legenda?" + +#: config/prefs.php.dist:263 +msgid "Show only events that have an alarm set?" +msgstr "Alleen gebeurtenissen met een alarm weergeven?" + +#: config/prefs.php.dist:234 +msgid "Show shared calendars side-by-side?" +msgstr "Gedeelde agenda's naast elkaar weergeven?" + +#: config/prefs.php.dist:110 +msgid "Show time of day between each day in week views?" +msgstr " Tijd weergeven tussen elke dag in weekweergaven?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Sta_rt" + +#: data.php:56 +msgid "Start Date" +msgstr "Begindatum" + +#: lib/Driver.php:1904 templates/data/export.inc:68 +msgid "Start Day" +msgstr "Begindag" + +#: lib/Driver.php:1915 templates/data/export.inc:87 +msgid "Start Hour" +msgstr "Beginuur" + +#: lib/Driver.php:1925 templates/data/export.inc:102 +msgid "Start Minute" +msgstr "Beginminuut" + +#: lib/Driver.php:1895 templates/data/export.inc:54 +msgid "Start Month" +msgstr "Beginmaand" + +#: templates/view/view.inc:35 templates/search/event_headers.inc:7 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Begint op" + +#: data.php:57 +msgid "Start Time" +msgstr "Begintijd" + +#: lib/Driver.php:1884 templates/data/export.inc:39 +msgid "Start Year" +msgstr "Beginjaar" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "Stat_us" + +#: templates/view/view.inc:21 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "Status" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Opslaan van vrij/bezet is niet beschikbaar." + +#: lib/Block/month.php:109 lib/Block/month.php:111 lib/Views/Year.php:75 +#: lib/Views/Year.php:84 templates/edit/edit.inc:241 +#: templates/javascript/goto.js:65 +msgid "Su" +msgstr "Zo" + +#: templates/view/view.inc:105 templates/month/head.inc:15 +#: templates/month/head.inc:24 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:120 +msgid "Sunday" +msgstr "Zondag" + +#: lib/Kronolith.php:1164 lib/Kronolith.php:1187 +msgid "Tentative" +msgstr "Voorlopig" + +#: lib/Block/month.php:107 lib/Views/Year.php:80 templates/edit/edit.inc:238 +#: templates/javascript/goto.js:62 +msgid "Th" +msgstr "Do" + +#: data.php:238 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Het %s bestand bevatte geen gebeurtenissen." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Het agenda backend is momenteel niet beschikbaar." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Het agenda backend is momenteel niet beschikbaar: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Het Aanwezigen bewerken scherm is niet meer aanwezig. Afsluiten." + +#: calendars.php:77 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "De agenda \"%s\" kan niet worden verwijderd." + +#: calendars.php:44 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "De agenda \"%s\" is aangemaakt." + +#: calendars.php:95 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "De agenda \"%s\" is verwijderd." + +#: calendars.php:58 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "De agenda \"%s\" is hernoemd naar \"%s\"." + +#: calendars.php:60 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "De agenda \"%s\" is opgeslagen." + +#: data.php:246 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "De agenda kon niet worden geleegd: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "De einddatum dient later te zijn dan de startdatum." + +#: lib/Kronolith.php:1595 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "De gebeurtenis \"%s\" is toegevoegd aan \"%s\" agenda, op %s om %s." + +#: lib/Kronolith.php:1605 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "De gebeurtenis \"%s\" is verwijderd van \"%s\" agenda, op %s om %s." + +#: lib/Kronolith.php:1600 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "De gebeurtenis \"%s\" is gewijzigd op \"%s\" agenda, op %s om %s." + +#: lib/Kronolith.php:1485 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "De gebeurtenisnotificatie is met succes verzonden naar %s." + +#: lib/Kronolith.php:1439 +msgid "The following is a more detailed description of the event:" +msgstr "" +"Het volgende is een meer gedetailleerde beschrijving van de gebeurtenis:" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "De vrij/bezet url voor %s kon niet worden opgehaald." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Het verzoek was incompleet. Sommige parameters, nodig om een gebeurtenis te " +"accepteren of af te wijzen, ontbreken." + +#: lib/Views/EditEvent.php:43 lib/Views/Event.php:41 +#: lib/Views/DeleteEvent.php:40 +msgid "The requested event was not found." +msgstr "De gevraagde gebeurtenis is niet gevonden." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Er zijn gebeurtenissen die overeenkomen met de huidige criteria." + +#: edit.php:46 edit.php:68 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Een fout bij de toegang van de agenda: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Een fout bij het toevoegen van de gebeurtenis: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Een fout bij het bewerken van de gebeurtenis: %s" + +#: lib/api.php:376 lib/api.php:619 lib/api.php:903 +msgid "There was an error importing the iCalendar data." +msgstr "Een fout bij het importeren van de iCalendardata." + +#: edit.php:142 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Een fout bij het verplaatsen van de gebeurtenis: %s" + +#: lib/Kronolith.php:1490 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Een fout bij het verzenden van een gebeurtenisnotificatie naar %s: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Er zijn geen gebeurtenissen te exporteren." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Deze maand" + +#: data.php:194 +msgid "This file format is not supported." +msgstr "Dit bestandsformaat wordt niet ondersteund." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Dit is een herhalende gebeurtenis. Verwijder alleen de huidige gebeurtenis, " +"deze
      en toekomstige gebeurtenissen of all gebeurtenissen?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Dit is een herhalende gebeurtenis. Bewerk alleen de huidige gebeurtenis, " +"deze
      en toekomstige gebeurtenissen, alle gebeurtenissen of deze " +"gebeurtenis als nieuw opslaan?" + +#: data.php:266 +#, php-format +msgid "This is what the server said: %s" +msgstr "Dit is wat de server meldt: %s" + +#: templates/view/view.inc:102 templates/month/head.inc:20 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "Donderdag" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "Tijdsd_uur:" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Tijdsduur" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "_Titel" + +#: data.php:55 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Titel" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "Titel:" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Om meerdere velden te selecteren, houd de Control (PC) of Command (Mac) " +"toets ingedrukt tijdens klikken." + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:140 +msgid "Today" +msgstr "Vandaag" + +#: lib/Block/prevmonthlist.php:127 lib/Block/monthlist.php:134 +#: lib/Block/summary.php:142 +msgid "Tomorrow" +msgstr "Morgen" + +#: lib/Block/month.php:107 lib/Views/Year.php:78 templates/edit/edit.inc:236 +#: templates/javascript/goto.js:60 +msgid "Tu" +msgstr "Di" + +#: templates/view/view.inc:100 templates/month/head.inc:18 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "Dinsdag" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Type" + +#: templates/calendars/calendars.inc:131 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Niet in staat met de SQL server te verbinden." + +#: calendars.php:91 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Niet in staat om \"%s\": %s te verwijderen" + +#: lib/Storage.php:58 lib/Driver.php:206 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Niet in staat om de definitie van %s te laden." + +#: attendees.php:57 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "Niet in staat om \"%s\" als een e-mailadres te herkennen." + +#: calendars.php:55 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Niet in staat \"%s\" te hernoemen: %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Niet in staat vrij/bezet informatie op te halen voor %s" + +#: calendars.php:65 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Niet in staat agenda \"%s\" te hernoemen: %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Onbenoemd" + +#: lib/api.php:448 lib/api.php:671 lib/api.php:729 lib/api.php:789 +#: lib/api.php:923 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Niet ondersteund Content-Type: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Komende gebeurtenissen" + +#: perms.php:254 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" is bijgewerkt." + +#: lib/Kronolith.php:1429 +#, php-format +msgid "Updated: %s." +msgstr "%s bijgewerkt." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Gebruikersinterface" + +#: templates/prefs/remote_cal_management.inc:68 +msgid "User Name" +msgstr "Gebruikersnaam" + +#: templates/perms/perms.inc:256 +msgid "User to add:" +msgstr "Gebruiker om toe te voegen:" + +#: lib/Block/month.php:164 lib/Block/month.php:167 lib/Views/Year.php:156 +#: lib/Views/Year.php:162 +msgid "View Day" +msgstr "Dag weergeven" + +#: lib/Block/month.php:107 lib/Views/Year.php:79 templates/edit/edit.inc:237 +#: templates/javascript/goto.js:61 +msgid "We" +msgstr "Wo" + +#: lib/Driver.php:1160 lib/Scheduler/kronolith.php:265 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Wij willen u van deze komende gebeurtenis op de hoogte brengen.\n" +"\n" +"%s\n" +"\n" +"Locatie: %s\n" +"\n" +"Datum: %s\n" +"Tijd: %s\n" +"\n" +"%s" + +#: templates/view/view.inc:101 templates/month/head.inc:19 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "Woensdag" + +#: attendees.php:172 lib/Kronolith.php:1751 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:98 +msgid "Week" +msgstr "Week" + +#: week.php:17 workweek.php:15 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Week %d" + +#: templates/view/view.inc:53 templates/prefs/default_alarm_management.inc:29 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "Weken" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Wekelijks" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "Wekelijks: herhaalt zich elke" + +#: config/prefs.php.dist:139 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Welke tijd dienen dag- en weekweergaven te eindigen, wanneer er geen latere " +"gebeurtenissen zijn?" + +#: config/prefs.php.dist:130 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Welke tijd dienen dag- en weekweergaven te beginnen, wanneer er geen eerdere " +"gebeurtenissen zijn?" + +#: config/prefs.php.dist:293 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Welke soort vakanties wilt u dat worden weergegeven?" + +#: attendees.php:171 lib/Kronolith.php:1749 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:99 +msgid "Work Week" +msgstr "Werkweek" + +#: lib/Kronolith.php:1755 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Jaar" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Jaarlijks" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "Jaarlijks: herhaalt zich elke" + +#: edit.php:27 new.php:19 data.php:41 data.php:255 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Maximum aantal gebeurtenissen is: %d" + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "U bent geen deelnemer aan de gekozen gebeurtenis" + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"U kunt dit formulier alleen gebruiken vanuit het Aanwezigen bewerken scherm." + +#: lib/Kronolith.php:1378 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"U heeft geen e-mailadres geconfigureerd in uw " +"identiteitsvoorkeursinstellingen. U dient er %shier%s een in te stellen om " +"meldingen te kunnen verzenden." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "U heeft geen recht om gebeurtenissen aan %s toe te voegen." + +#: data.php:203 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" +"U heeft geen recht om gebeurtenissen aan de geselecteerde agenda toe te " +"voegen." + +#: edit.php:159 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "U heeft geen recht om gebeurtenissen aan %s over te dragen." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "U heeft geen recht om deze gebeurtenis te verwijderen." + +#: edit.php:162 +msgid "You do not have permission to edit this event." +msgstr "U heeft geen recht om deze gebeurtenis te bewerken." + +#: edit.php:156 +msgid "You do not have permission to move this event." +msgstr "U heeft geen recht om deze gebeurtenis te verplaatsen." + +#: data.php:200 +msgid "You have specified an invalid calendar." +msgstr "U heeft een ongeldige agenda opgegeven." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "U heeft de gebeurtenis geaccepteerd." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "U heeft de gebeurtenis niet geaccepteerd." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "U heeft de gebeurtenis voorlopig geaccepteerd." + +#: calendars.php:98 +msgid "You must select a calendar to be deleted." +msgstr "U dient een agenda te selecteren om te verwijderen." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "U dient eerst een adres te selecteren." + +#: templates/calendars/calendars.inc:116 +msgid "You need to select a calendar first" +msgstr "U dient eerst een agenda te selecteren" + +#: lib/Kronolith.php:1595 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"U hebt gevraagd om een melding als gebeurtenissen aan uw agenda worden " +"toegevoegd." + +#: lib/Kronolith.php:1605 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"U hebt gevraagd om een melding als gebeurtenissen uit uw agenda worden " +"verwijderd." + +#: lib/Kronolith.php:1600 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"U hebt gevraagd om een melding als gebeurtenissen in uw agenda worden " +"gewijzigd." + +#: lib/Scheduler/kronolith.php:403 lib/Scheduler/kronolith.php:405 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Uw dagelijkse agenda voor %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Uw standaard agenda" + +#: templates/panel.inc:59 +msgid "[Manage My Calendars]" +msgstr "[Beheer Mijn agenda's]" + +#: templates/panel.inc:91 +msgid "[Manage Remote Calendars]" +msgstr "[Beheer agenda's op afstand]" + +#: lib/Driver.php:1408 lib/Driver.php:1424 +msgid "[Unnamed event]" +msgstr "[Onbenoemde gebeurtenis]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Alarm" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "Een_voudig zoeken" + +#: lib/Kronolith.php:1784 +msgid "_Edit" +msgstr "_Bewerken" + +#: lib/Kronolith.php:1949 +msgid "_Goto" +msgstr "Ga _naar" + +#: lib/Kronolith.php:1955 +msgid "_Import/Export" +msgstr "_Import/Export" + +#: lib/Kronolith.php:1945 +msgid "_New Event" +msgstr "Nieu_we gebeurtenis" + +#: lib/Kronolith.php:1960 +msgid "_Print" +msgstr "A_fdrukken" + +#: lib/Kronolith.php:1951 +msgid "_Search" +msgstr "_Zoeken" + +#: lib/Kronolith.php:1940 +msgid "_Today" +msgstr "_Vandaag" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "als %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "voor de gebeurtenis begint" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"voor de gebeurtenis begint. Een waarde van \"0\" betekent geen " +"standaardalarmen." + +#: config/prefs.php.dist:244 +msgid "day" +msgstr "dag" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "dag(en)" + +#: config/prefs.php.dist:245 config/prefs.php.dist:246 +#: config/prefs.php.dist:247 config/prefs.php.dist:248 +#: config/prefs.php.dist:249 +msgid "days" +msgstr "dagen" + +#: data.php:155 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:179 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "in" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "maand(en)" + +#: lib/Kronolith.php:1435 +#, php-format +msgid "on %s at %s" +msgstr "op %s om %s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "Op dezelfde datum" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "Op dezelfde weekdag" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "Herhalingen" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:250 +msgid "week" +msgstr "week" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "week op:" + +#: config/prefs.php.dist:251 config/prefs.php.dist:252 +#: config/prefs.php.dist:253 +msgid "weeks" +msgstr "weken" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "Jaren op dezelfde datum" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "Jaren op dezelfde dag van het jaar" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "Jaren op dezelfde dag van de week en maand van het jaar" diff --git a/kronolith/po/nn_NO.po b/kronolith/po/nn_NO.po new file mode 100644 index 000000000..10e0eb937 --- /dev/null +++ b/kronolith/po/nn_NO.po @@ -0,0 +1,680 @@ +# Kronolith Norwegian Nynorsk translation +# Copyright 2002 Per-Stian Vatne +# This file is distributed under the same license as the Kronolith package. +# Per-Stian Vatne , 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 2.0-cvs\n" +"POT-Creation-Date: 2002-06-08 22:17+0200\n" +"PO-Revision-Date: 2002-06-08 02:39+0100\n" +"Last-Translator: Per-Stian Vatne \n" +"Language-Team: Norwegian Nynorsk \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#, c-format +msgid "%d hour" +msgstr "%d time" + +#, c-format +msgid "%d hour, %d minute" +msgstr "%d time, %d minutt" + +#, c-format +msgid "%d hour, %d minutes" +msgstr "%d time, %d minutt" + +#, c-format +msgid "%d hours" +msgstr "%d timar" + +#, c-format +msgid "%d hours, %d minute" +msgstr "%d timar, %d minutt" + +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d timar, %d minutt" + +#, c-format +msgid "%d minute" +msgstr "%d minutt" + +#, c-format +msgid "%d minutes" +msgstr "%d minutt" + +#, c-format +msgid "%s file successfully imported" +msgstr "Fila %s vart importert" + +#, c-format +msgid "%s is in progress." +msgstr "%s pågår." + +#, c-format +msgid "%s is starting now." +msgstr "%s startar no." + +#, c-format +msgid "%s starts in %s" +msgstr "%s startar om %s" + +msgid "Description (optional)" +msgstr "Skildring (valfritt)" + +msgid "Description" +msgstr "Skildring" + +msgid "Keywords (optional)" +msgstr "Nøkkelord (valfritt)" + +msgid "Keywords" +msgstr "Nøkkelord" + +msgid "Recurrence (optional)" +msgstr "Regelfast (valfritt)" + +msgid "Recurrence" +msgstr "Regelfast" + +msgid "Add Event" +msgstr "Legg til hending" + +msgid "Add a new event" +msgstr "Legg til ny hending" + +msgid "Alarm Date" +msgstr "Alarmdato" + +msgid "Alarm Span (minutes)" +msgstr "Alarmintervall (minutt)" + +msgid "Alarm Time" +msgstr "Alarmtidspunkt" + +msgid "Alarm" +msgstr "Alarm" + +msgid "All day event" +msgstr "Varer heile dagen" + +msgid "All day" +msgstr "Heile dagen" + +msgid "All events" +msgstr "Alle hendingar" + +msgid "All" +msgstr "Alle" + +msgid "April" +msgstr "April" + +msgid "At" +msgstr " " + +msgid "August" +msgstr "August" + +msgid "Birthday" +msgstr "Bursdag" + +msgid "Business" +msgstr "Bransje" + +msgid "Cancel" +msgstr "Avbryt" + +msgid "Category" +msgstr "Kategori" + +msgid "Change the way dates and times are formatted." +msgstr "Endre formatering for dato og tid." + +msgid "Confirm deletion of events?" +msgstr "Stadfest sletting av hendingar?" + +msgid "Create a New Event" +msgstr "Opprett ny hending" + +msgid "Current" +msgstr "Noverande" + +msgid "Daily: Recurs every" +msgstr "Kvar dag: Skjer kvar" + +msgid "Date and Time Options" +msgstr "Alternativ for dato og tid" + +msgid "Day" +msgstr "Dag" + +msgid "Day(s)" +msgstr "dag(ar)" + +msgid "December" +msgstr "Desember" + +#, c-format +msgid "Delete %s" +msgstr "Slett %s" + +#, c-format +msgid "Delete '%s'" +msgstr "Slett '%s'" + +msgid "Delete Event" +msgstr "Slett hending" + +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Slett berre gjeldande hending, denne førekomsten og alle framtidige " +"førekomster, eller alle førekomster?" + +msgid "Delete" +msgstr "Slett" + +msgid "Description" +msgstr "Skildring" + +msgid "Display 24-hour times?" +msgstr "Vis tid som 24-timar?" + +msgid "Display Options" +msgstr "Visingsalternativ" + +#, c-format +msgid "Due: %s" +msgstr "Forfell: %s" + +msgid "Duration" +msgstr "Duration" + +#, c-format +msgid "Edit %s" +msgstr "Endre %s" + +msgid "Edit" +msgstr "Endre" + +msgid "End Date" +msgstr "Sluttdato" + +msgid "End On" +msgstr "Slutt" + +msgid "End Time" +msgstr "Sluttidspunkt" + +msgid "Export Calendar" +msgstr "Eksporter kalender" + +msgid "Export" +msgstr "Eksport" + +msgid "February" +msgstr "Februar" + +msgid "Fr" +msgstr "Fr" + +msgid "Friday" +msgstr "Fredag" + +msgid "Future" +msgstr "Framtid" + +msgid "Game" +msgstr "Spel" + +msgid "Goto" +msgstr "Gå til" + +msgid "Help" +msgstr "Hjelp" + +msgid "Hour(s)" +msgstr "time/timar" + +msgid "If importing CSV data: does the first row contain the field names?" +msgstr "Dersom du importerer CSV-data; inneheld den første rada feltnamn?" + +msgid "Illegal or malformed form data." +msgstr "Ulovleg eller feil utforma data." + +msgid "Import Calendar" +msgstr "Importer kalender" + +msgid "Import" +msgstr "Import" + +msgid "Import/Export Calendar" +msgstr "Import/eksport kalender" + +msgid "Import/Export" +msgstr "Import/eksport" + +msgid "January" +msgstr "Januar" + +msgid "July" +msgstr "Juli" + +msgid "June" +msgstr "Juni" + +msgid "Keywords" +msgstr "Nøkkelord" + +msgid "Kronolith is not properly configured" +msgstr "Kronolith er ikkje ordentleg konfigurert" + +msgid "Language" +msgstr "Språk" + +msgid "Last month" +msgstr "Førre månad" + +msgid "Last week" +msgstr "Førre veke" + +msgid "Lasts" +msgstr "Varer" + +msgid "Limit the time span to export:" +msgstr "Avgrens tidsintervall for eksport:" + +msgid "Location" +msgstr "Plassering" + +msgid "March" +msgstr "Mars" + +msgid "May" +msgstr "Mai" + +msgid "Meeting" +msgstr "Møte" + +msgid "Minute(s)" +msgstr "minutt" + +msgid "Minutes before" +msgstr "Minutt før" + +msgid "Minutes" +msgstr "Minutt" + +msgid "Mo" +msgstr "Må" + +msgid "Monday" +msgstr "Måndag" + +msgid "Month" +msgstr "Månad" + +msgid "Monthly: Recurs every" +msgstr "Kvar månad: Skjer kvar" + +msgid "New Event" +msgstr "Ny hending" + +msgid "Next Month" +msgstr "Neste månad" + +msgid "Next day" +msgstr "Neste dag" + +msgid "Next week" +msgstr "Neste veke" + +msgid "No configuration information specified for SQL Calendar." +msgstr "Ingen konfigurasjon spesifisert for SQL-kalender." + +msgid "No end date" +msgstr "Ingen sluttdato" + +msgid "None" +msgstr "Ingen" + +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"Merk: Kan ikkje importere med denne konfigurasjonen, grunna ein feil i den " +"underliggande kalendermodulen." + +msgid "November" +msgstr "November" + +msgid "October" +msgstr "Oktober" + +msgid "Options" +msgstr "Alternativ" + +msgid "Pattern" +msgstr "Mønster" + +msgid "Permanently delete this event?" +msgstr "Slett denne hendinga permanent?" + +msgid "Personal" +msgstr "Personleg" + +msgid "Previous day" +msgstr "Førre dag" + +msgid "Problem?" +msgstr "Problem?" + +msgid "Recur Until" +msgstr "Skjer til" + +msgid "Recurrence Data" +msgstr "Regelfast data" + +msgid "Recurrence End Date" +msgstr "Regelfast sluttdato" + +msgid "Recurrence Interval" +msgstr "Regelfast intervall" + +msgid "Recurrence Type" +msgstr "Regelfast type" + +msgid "Recurs daily" +msgstr "Skjer dagleg" + +msgid "Recurs monthly" +msgstr "Skjer månadleg" + +msgid "Recurs not" +msgstr "Skjer ikkje" + +msgid "Recurs weekly" +msgstr "Skjer kvar veke" + +msgid "Recurs yearly" +msgstr "Skjer årleg" + +msgid "Required 'database' not specified in calendar configuration." +msgstr "Nødvendig 'database' ikkje spesifisert i konfigurasjon for kalender." + +msgid "Required 'hostspec' not specified in calendar configuration." +msgstr "Nødvendig 'hostspec' ikkje spesifisert i konfigurasjon for kalender." + +msgid "Required 'password' not specified in calendar configuration." +msgstr "Nødvendig 'password' ikkje spesifisert i konfigurasjon for kalender." + +msgid "Required 'phptype' not specified in calendar configuration." +msgstr "Nødvendig 'phptype' ikkje spesifisert i konfigurasjon for kalender." + +msgid "Required 'username' not specified in calendar configuration." +msgstr "Nødvendig 'username' ikkje spesifisert i konfigurasjon for kalender." + +msgid "Reset to Defaults" +msgstr "Nullstill til standardverdiar" + +msgid "Sa" +msgstr "La" + +msgid "Saturday" +msgstr "Laurdag" + +msgid "Save As New" +msgstr "Lagre som ny" + +msgid "Save Event" +msgstr "Lagre hending" + +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Vel alternativ for stadfesting, korleis dei ulike visingane skal " +"presenterast og vel ei standardvising." + +msgid "Select how to display Dates:" +msgstr "Vel korleis datoar skal visast:" + +msgid "Select if to show due tasks in the calendar." +msgstr "Vel om forfelte oppgåver skal visast i kalenderen." + +msgid "Select the file to import:" +msgstr "Vel fil som skal importerast:" + +msgid "Select the first weekday:" +msgstr "Vel første vekedag:" + +msgid "Select the format to export to:" +msgstr "Vel format å eksportere til:" + +msgid "Select the source to import from:" +msgstr "Vel kjelde å importere frå:" + +msgid "Select the time span to show:" +msgstr "Vel tidsintervall å vise:" + +msgid "Select the view to display after login:" +msgstr "Vel visinga som skal brukast etter innlogging:" + +msgid "Select what events to show in the Horde summary." +msgstr "Vel kva hendingar som skal visast i samandrag for Horde." + +msgid "September" +msgstr "September" + +msgid "Set the current time zone." +msgstr "Set gjeldande tidssone." + +msgid "Set the language that menu items, explanations, and help are in." +msgstr "Vel språk for menyar, forklaringar og hjelp." + +msgid "Set your preferred display language." +msgstr "Vel ønska språk." + +msgid "Show due tasks in the calendar?" +msgstr "Vis oppgåver til forfall i kalenderen?" + +msgid "Show half hour slots in day and week views?" +msgstr "Vis halvtimesegment i dag- og vekevising?" + +msgid "Show only events that have an alarm set?" +msgstr "Vis berre hendingar som har ein alarm aktivert?" + +msgid "Some of Kronolith's configuration files are missing:" +msgstr "Nokre av Kronolith sine konfigurasjonsfiler manglar:" + +msgid "Start Date" +msgstr "Startdato" + +msgid "Start On" +msgstr "Start" + +msgid "Start Time" +msgstr "Starttidspunkt" + +msgid "Su" +msgstr "Sø" + +msgid "Summary" +msgstr "Samandrag" + +msgid "Sunday" +msgstr "Søndag" + +msgid "Tasks" +msgstr "Oppgåver" + +msgid "Th" +msgstr "To" + +msgid "The data was lost." +msgstr "Dataene forsvann." + +msgid "The end date must be later than the start date." +msgstr "Sluttdato må vere seinare enn startdato." + +msgid "The file contained no data." +msgstr "Fila inneheld ingen data." + +msgid "" +"There was a problem with the file upload. The file may have been larger than " +"the maximum allowed size." +msgstr "" +"Problem ved opplasting av fil. Fila er kanskje større enn maksimalt tillaten " +"storleik." + +msgid "There was an error importing the data." +msgstr "Det skjedde ein feil ved import av data." + +msgid "There was an error importing the uploaded file" +msgstr "Det skjedde ein feil ved import av den opplasta fila" + +msgid "There were no events to export." +msgstr "Det var ingen hendingar å eksportere." + +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"Denne fila kontrollerer standardinnstillingane for Kronolith, og " +"kontrollerer også kva innstillingar brukarar kan endre." + +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, og legg til eller overstyrer standardverdiane til Horde." + +msgid "" +"This is the main Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "" +"Dette er hovedkonfigurasjonsfila for Kronolith. Den inneheld katalognamn og " +"alternativ for alle Kronolith-skripta." + +msgid "Thursday" +msgstr "Torsdag" + +msgid "Time Zone" +msgstr "Tidssone" + +msgid "Title" +msgstr "Tittel" + +msgid "Today" +msgstr "I dag" + +msgid "Tu" +msgstr "Ty" + +msgid "Tuesday" +msgstr "Tysdag" + +msgid "Type" +msgstr "Type" + +msgid "User Interface" +msgstr "Brukargrensesnitt" + +msgid "User Options" +msgstr "Brukaralternativ" + +#, c-format +msgid "View %s" +msgstr "Vis %s" + +msgid "We" +msgstr "On" + +msgid "Wednesday" +msgstr "Onsdag" + +#, c-format +msgid "Week %d" +msgstr "Veke %d" + +msgid "Week" +msgstr "Veke" + +#, c-format +msgid "Week %d" +msgstr "Veke %d" + +msgid "Week(s)" +msgstr "Veke(r)" + +msgid "Weekly: Recurs every" +msgstr "Kvar veke: Skjer kvar" + +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"På kva tidspunkt skal dag- og vekevisingar slutte, når det er ingen seinare " +"hendingar?" + +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"På kva tidspunkt skal dag- og vekevisingar starte, når det er ingen " +"tidlegare hendingar?" + +msgid "Work Week" +msgstr "Arbeidsveke" + +msgid "Work Week" +msgstr "Arbeidsveke" + +msgid "Yearly: Recurs every" +msgstr "Kvart år: Skjer kvart" + +msgid "Your Information" +msgstr "Din informasjon" + +msgid "Your current time zone:" +msgstr "Di noverande tidssone:" + +msgid "day" +msgstr "dag" + +msgid "day(s)" +msgstr "dag" + +msgid "days" +msgstr "dagar" + +msgid "iCalendar file successfully imported" +msgstr "iCalendar-fil vart importert" + +msgid "month(s)" +msgstr "månad " + +msgid "no time" +msgstr "inga tid" + +msgid "on the same date" +msgstr "på same dato" + +msgid "on the same weekday" +msgstr "på same vekedag" + +msgid "week" +msgstr "veke" + +msgid "week(s) on:" +msgstr "veke på:" + +msgid "weeks" +msgstr "veker" + +msgid "year(s)" +msgstr "år" diff --git a/kronolith/po/pl_PL.po b/kronolith/po/pl_PL.po new file mode 100644 index 000000000..36f9778ae --- /dev/null +++ b/kronolith/po/pl_PL.po @@ -0,0 +1,2196 @@ +# Polish translations for Horde package +# Polskie t³umaczenia dla pakietu PACKAGE. +# Copyright 2007-2009 The Horde Project +# This file is distributed under the same license as the Horde package. +# Automatically generated, 2007. +# Mariusz Zynel , 2001. +# Piotr Roszatycki , 2001. +# Krzysztof Kozlowski , 2005. +# Piotr Adamcio , 2007 +msgid "" +msgstr "" +"Project-Id-Version: Passwd H3 (3.1-cvs)\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2007-06-13 21:31+0200\n" +"PO-Revision-Date: 2007-05-30 12:02+0200\n" +"Last-Translator: adamcios@go2.pl\n" +"Language-Team: i18n@lists.horde.org\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-2\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/calendars/search.inc:16 +#, php-format +msgid "%d calendars found" +msgstr "%d znalezione kalendarze" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d zdarzenia" + +#: templates/edit/edit_timespan.inc:121 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Dzien %s Godzina (y) %s Minuty" + +#: lib/Driver.php:2028 +#, php-format +msgid "%s attendees" +msgstr "%s obecni" + +#: data.php:296 +#, php-format +msgid "%s file successfully imported" +msgstr "Plik %s zosta³ zaimportowany" + +#: calendars.php:105 lib/base.php:138 +#, php-format +msgid "%s's Calendar" +msgstr "Kalendarz %s" + +#: templates/calendars/search.inc:17 +msgid "" +"(Click on calendar name to switch the calendar's visibility in the main " +"window)" +msgstr "" +"Kliknij nazwê kalendarza aby prze³±czyæ widok kalendarza w g³ównym oknie)" + +#: templates/contacts/contacts.inc:165 +msgid "* Add these by clicking Add *" +msgstr "Dodaj " + +#: templates/contacts/contacts.inc:151 +msgid "* Please select address(es) *" +msgstr "* Proszê wybraæ adres (y) *" + +#: lib/Driver.php:2027 +msgid "1 attendee" +msgstr "1 obecny" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 zdarzenie" + +#: config/prefs.php.dist:138 +msgid "1 hour" +msgstr "%d godzina" + +#: config/prefs.php.dist:135 +msgid "15 minutes" +msgstr "15 minut" + +#: config/prefs.php.dist:136 +msgid "20 minutes" +msgstr "20 minut" + +#: config/prefs.php.dist:137 +msgid "30 minutes" +msgstr "30 minut" + +#: templates/edit/edit.inc:171 +msgid "Attendees (optional)" +msgstr "Obecni (opcjonalnie)" + +#: templates/edit/edit.inc:149 +msgid "Descri_ption (optional)" +msgstr "Opi_s (opcjonalnie)" + +#: templates/edit/edit.inc:275 +msgid "Keywords (optional)" +msgstr "S³owa kluczowe (opcjonalnie)" + +#: templates/edit/edit.inc:194 +msgid "Recurrence (optional)" +msgstr "Rekurencja (opcjonalnie)" + +#: templates/data/export.inc:113 templates/data/export.inc:193 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:678 +msgid "Accepted" +msgstr "Zaakceptowany" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Zaa_wansowane szukanie" + +#: templates/contacts/contacts.inc:160 +msgid "Add" +msgstr "Dodaj" + +#: templates/edit/edit.inc:26 +msgid "Add Event" +msgstr "Dodaj zdarzenie" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Dodaj zdalny Kalendarz" + +#: addevent.php:64 new.php:65 +msgid "Add a new event" +msgstr "Dodaj nowe zdarzenie" + +#: templates/attendees/attendees.inc:71 +msgid "Add attendees" +msgstr "Dodaj uczestników" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Dodaj ¼ród³o" + +#: templates/contacts/contacts.inc:185 +msgid "Add to attendees" +msgstr "Dodaj do uczestników" + +#: contacts.php:76 templates/contacts/contacts.inc:128 +#: templates/attendees/attendees.inc:74 +msgid "Address Book" +msgstr "Ksi±¿ka adresowa" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Zaawansowane wyszukiwanie" + +#: templates/view/view.inc:53 +msgid "Alarm" +msgstr "Alarm" + +#: lib/Driver.php:2003 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarm %d dni przed" + +#: lib/Driver.php:2008 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarm %d godzin przed" + +#: lib/Driver.php:2013 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarm %d minut przed" + +#: lib/Driver.php:1998 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarm %d tygodni przed" + +#: lib/Driver.php:2002 +msgid "Alarm 1 day before" +msgstr "Alarm 1 dzieñ przed" + +#: lib/Driver.php:2007 +msgid "Alarm 1 hour before" +msgstr "Alarm 1 godzina przed" + +#: lib/Driver.php:2012 +msgid "Alarm 1 minute before" +msgstr "Alarm 1 minutê przed" + +#: lib/Driver.php:1997 +msgid "Alarm 1 week before" +msgstr "Alarm 1 tydzieñ przed" + +#: data.php:59 +msgid "Alarm Date" +msgstr "Data alarmu" + +#: data.php:58 +msgid "Alarm Span (minutes)" +msgstr "Czas trwania alarmu (minuty)" + +#: data.php:60 +msgid "Alarm Time" +msgstr "Czas alarmu" + +#: templates/prefs/default_alarm_management.inc:24 +msgid "Alarm Unit" +msgstr "Jednostka alarmu" + +#: templates/prefs/default_alarm_management.inc:22 +msgid "Alarm Value" +msgstr "Warto¶æ alarmu" + +#: templates/delete/delete.inc:34 +msgid "All" +msgstr "Wszystko" + +#: lib/FBView.php:128 lib/FBView.php:131 lib/FBView.php:134 +msgid "All Attendees" +msgstr "Wszyscy Uczestnicy" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "Wszyscy uwierzytelnieni u¿ytkownicy" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Wszystkie przysz³e" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Wszystkie minione" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:25 +msgid "All Visible" +msgstr "Wszystkie widoczne" + +#: templates/edit/edit_timespan.inc:120 lib/DayView.php:90 lib/DayView.php:93 +#: lib/WeekView.php:127 lib/WeekView.php:134 lib/Driver.php:2089 +#: lib/Views/Day.php:96 lib/Views/Day.php:99 lib/Views/Week.php:142 +#: lib/Views/Week.php:149 +msgid "All day" +msgstr "Ca³y dzieñ" + +#: lib/Block/summary.php:164 +msgid "All day event" +msgstr "Zdarzenie ca³odzienne" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Wszystkie zdarzenia" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:771 +msgid "Any" +msgstr "¯aden" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Kwiecieñ" + +#: templates/edit/edit_timespan.inc:38 templates/edit/edit_timespan.inc:91 +#: templates/data/export.inc:82 templates/data/export.inc:168 +msgid "At" +msgstr "o" + +#: lib/Kronolith.php:1138 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Próba edycji nieistniej±cego udzia³u.." + +#: templates/attendees/attendees.inc:42 templates/view/view.inc:165 +msgid "Attendance" +msgstr "Obecny" + +#: templates/view/view.inc:161 +msgid "Attendees" +msgstr "Uczestnicy" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Sierpieñ" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Dostêpne ksi±¿ki adresowe:" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "Podstawowe wyszukiwanie" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Urodziny" + +#: lib/FBView.php:90 lib/FBView.php:111 +msgid "Busy" +msgstr "Zajêty" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "_Kalendarz" + +#: templates/edit/edit.inc:51 +msgid "Cal_endar" +msgstr "Kal_endarz" + +#: templates/calendars/calendars.inc:150 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Kalendarz" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Podsumowanie Kalendarza" + +#: data.php:240 +msgid "Calendar successfully purged." +msgstr "Kalendarz wyczyszczony pomy¶lnie" + +#: templates/panel.inc:42 templates/panel.inc:43 config/prefs.php.dist:36 +#: config/prefs.php.dist:43 config/prefs.php.dist:50 config/prefs.php.dist:57 +msgid "Calendars" +msgstr "Kalendarze" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Wydrukowane Kalendarze: " + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Kalendarz musi mieæ nazwê." + +#: data.php:256 +msgid "Can't create a new event." +msgstr "Nie mo¿na utworzyæ nowego zdarzenia" + +#: templates/delete/one.inc:33 templates/delete/delete.inc:35 +#: templates/edit/edit.inc:35 templates/edit/edit.inc:308 +msgid "Cancel" +msgstr "Anuluj" + +#: lib/Kronolith.php:654 +msgid "Cancelled" +msgstr "Anulowany" + +#: lib/Kronolith.php:1112 +#, php-format +msgid "Cancelled: %s" +msgstr "Anulowany %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:69 +msgid "Categor_y" +msgstr "Kate_goria" + +#: data.php:62 templates/search/event_headers.inc:4 templates/view/view.inc:13 +msgid "Category" +msgstr "Kategoria" + +#: config/prefs.php.dist:280 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Wybierz je¶li chcesz byæ informowany o nowych, edytowanych, i kasowanych " +"zdarzeniach przez email:" + +#: config/prefs.php.dist:52 +msgid "Choose if you want to be notified of new, edited, and deleted events." +msgstr "" +"Wybierz je¶li chcesz byæ informowany o nowych, edytowanych, i kasowanych " +"zdarzeniach." + +#: config/prefs.php.dist:293 +msgid "Choose if you want to receive email reminders for events with alarms:" +msgstr "" +"Wybierz je¶li chcesz byæ informowany o nowych, edytowanych, i kasowanych " +"zdarzeniach przez email:" + +#: templates/prefs/search_abook_select.inc:19 config/prefs.php.dist:313 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "Wybierz ksi±¿ki adresowe, by szukaæ wolnego/zajête URLs:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Wybierz kalendarze, by zawrzeæ w swoj± woln±/zajêt± informacjê:" + +#: config/prefs.php.dist:336 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "Wybierz kalendarze, by zawrzeæ w swoj± woln±/zajêt± informacjê:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "" +"Wybierz kolejno¶æ przeszukiwania ksi±¿ek adresowych podczas rozszerzania " +"adresów." + +#: config/prefs.php.dist:38 +msgid "Choose your default calendar." +msgstr "Wybierz swój domy¶lny kalendarz" + +#: templates/attendees/attendees.inc:85 +msgid "Clear all attendees" +msgstr "Usuñ wszystkich uczestników" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Kliknij na jednym z wybranych ksi±¿ek adresowych i okre¶l pola wed³ug " +"których rozpocz±æ szukanie." + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Zamknij okno" + +#: templates/contacts/contacts.inc:186 +msgid "Close window" +msgstr "Zamknij okno" + +#: data.php:28 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Przecinek oddziela warto¶ci" + +#: config/prefs.php.dist:74 +msgid "Confirm deletion of events?" +msgstr "Potwierd¼ usuniêcie zdarzenia" + +#: lib/Kronolith.php:651 +msgid "Confirmed" +msgstr "Potwierdzone" + +#: templates/calendars/calendars.inc:220 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" + +#: lib/Kronolith.php:168 +#, php-format +msgid "Could not open %s." +msgstr "Nie mo¿na otworzyæ %s." + +#: templates/calendars/calendars.inc:129 +msgid "Create" +msgstr "Twórz" + +#: templates/calendars/calendars.inc:115 +msgid "Create Calendar" +msgstr "Tworzenie Kalendarza" + +#: month.php:164 templates/week/head.inc:25 lib/DayView.php:90 +#: lib/DayView.php:192 lib/Views/Day.php:96 lib/Views/Day.php:248 +#: lib/Views/Month.php:170 +msgid "Create a New Event" +msgstr "Utwórz nowe zdarzenie" + +#: templates/view/view.inc:80 +msgid "Created" +msgstr "Utworzony" + +#: templates/delete/delete.inc:32 +msgid "Current" +msgstr "Bie¿±cy" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Codziennie" + +#: templates/view/view.inc:112 templates/edit/edit.inc:208 +msgid "Daily: Recurs every" +msgstr "codziennie: powtarza siê co" + +#: attendees.php:112 lib/Kronolith.php:1406 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:83 +msgid "Day" +msgstr "Dzieñ" + +#: templates/prefs/default_alarm_management.inc:28 templates/view/view.inc:62 +#: templates/edit/edit.inc:139 +msgid "Day(s)" +msgstr "Dzieñ (Dni)" + +#: viewevent.php:113 +msgid "De_lete" +msgstr "_Usuñ" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Grudzieñ" + +#: lib/Kronolith.php:681 +msgid "Declined" +msgstr "Odrzucone" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Domy¶lny ustawienia alarmu:" + +#: config/prefs.php.dist:37 +msgid "Default Calendar" +msgstr "Domy¶lny kalendarz" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "Oddelegowane" + +#: templates/perms/perms.inc:33 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:89 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:130 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:171 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:212 templates/perms/perms.inc:233 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:294 +#: templates/perms/perms.inc:315 templates/perms/perms.inc:349 +#: templates/calendars/calendars.inc:205 templates/delete/one.inc:32 +#: templates/prefs/remote_cal_management.inc:23 lib/Driver.php:2071 +msgid "Delete" +msgstr "Usuñ" + +#: delevent.php:40 templates/delete/one.inc:21 templates/delete/delete.inc:21 +#: lib/Driver.php:2070 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Usuñ '%s" + +#: editevent.php:72 +msgid "Delete Event" +msgstr "Usuñ zdarzenie" + +#: templates/delete/delete.inc:30 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Usuñ tylko aktualne wydarzenie, to zdarzenie i wszystkie przysz³e zdarzenia " +"lub wszystkie zdarzenia?" + +#: templates/search/search_advanced.inc:103 templates/search/search.inc:28 +msgid "Descri_ption" +msgstr "_Opis" + +#: data.php:61 templates/calendars/calendars.inc:179 +#: templates/view/view.inc:96 +msgid "Description" +msgstr "Opis" + +#: templates/contacts/contacts.inc:174 +msgid "Display" +msgstr "Wy¶wietl" + +#: templates/calendars/calendars.inc:61 +msgid "Display Calendars" +msgstr "Wy¶wietl kalendarze" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:28 +msgid "Display Options" +msgstr "Opcje wy¶wietlania" + +#: config/prefs.php.dist:30 +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "Czy chcesz pokazaæ zadania, które s± planowane w twoim kalendarzu?" + +#: lib/Kronolith.php:621 +msgid "Does not recur" +msgstr "Nie powtarzaj± siê" + +#: lib/Kronolith.php:333 +#, fuzzy, php-format +msgid "Due: %s" +msgstr "Termin: %s" + +#: templates/edit/edit_timespan.inc:113 +msgid "Duration" +msgstr "Czas trwania" + +#: templates/perms/perms.inc:32 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:88 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:129 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:170 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:211 templates/perms/perms.inc:229 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:293 +#: templates/perms/perms.inc:311 templates/perms/perms.inc:345 +#: templates/calendars/calendars.inc:174 lib/Driver.php:2057 +msgid "Edit" +msgstr "Edytuj" + +#: editevent.php:33 templates/edit/edit.inc:26 lib/Driver.php:2056 +#: lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "Edytuj %s" + +#: templates/edit/edit.inc:187 +msgid "Edit Attendees" +msgstr "Edytuj Uczestników" + +#: templates/calendars/calendars.inc:144 +msgid "Edit Calendars" +msgstr "Edycja kalendarzy" + +#: perms.php:260 +msgid "Edit Permissions" +msgstr "Edytuj uprawnienia" + +#: perms.php:262 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Edytuj uprawnienia dla %s" + +#: config/prefs.php.dist:251 +msgid "Edit Remote Calendars" +msgstr "Edytuj Zdalne Kalendarze" + +#: attendees.php:164 +msgid "Edit attendees" +msgstr "Edytuj Uczestników" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Edytuj kategorie i kolory" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Edytuj uprawnienia dla %s" + +#: templates/contacts/contacts.inc:177 templates/attendees/attendees.inc:41 +#: templates/view/view.inc:164 +msgid "Email Address" +msgstr "Adres email" + +#: templates/edit/edit_timespan.inc:59 +msgid "En_d" +msgstr "_Koniec" + +#: data.php:56 +msgid "End Date" +msgstr "Data zakoñczenia" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:47 +#: templates/data/export.inc:120 +msgid "End On" +msgstr "koñcz±c w" + +#: data.php:57 +msgid "End Time" +msgstr "czas zakoñczenia" + +#: attendees.php:156 +#, fuzzy, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Niemo¿liwe uzyskanie wolny/zajêty informacji dla %s" + +#: attendees.php:137 +#, fuzzy, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Niemo¿liwe uzyskanie wolny/zajêty informacji dla %s" + +#: lib/Kronolith.php:1205 +msgid "Event added:" +msgstr "Dodane zdarzenie:" + +#: lib/Kronolith.php:1215 +msgid "Event deleted:" +msgstr "Usuniête zdarzenie:" + +#: lib/Kronolith.php:1210 +msgid "Event edited:" +msgstr "Edycja zdarzenia" + +#: lib/Driver.php:1298 +#, php-format +msgid "Event from %s to %s" +msgstr "Zdarzenie od %s do %s" + +#: lib/Driver/sql.php:375 +msgid "Event not found" +msgstr "Zdarzenie nie znalezione" + +#: lib/Driver.php:981 +msgid "Events must have a start date." +msgstr "Zdarzenia musz± mieæ datê pocz±tkow±." + +#: lib/Driver.php:943 +msgid "Events must have a title." +msgstr "Zdarzenie musi mieæ tytu³." + +#: templates/attendees/attendees.inc:75 +msgid "Expand Names" +msgstr "Rozwiñ nazwy" + +#: templates/data/export.inc:199 +msgid "Export" +msgstr "Eksport" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Eksportuj kalendarz" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Luty" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Pole z wyszukiwania" + +#: templates/contacts/contacts.inc:133 +msgid "Find" +msgstr "Znajd¼" + +#: year.php:84 templates/javascript/goto.js:63 templates/edit/edit.inc:221 +#: lib/Views/Year.php:81 lib/Block/month.php:105 +msgid "Fr" +msgstr "Pi" + +#: lib/Kronolith.php:657 +msgid "Free" +msgstr "Wolny" + +#: config/prefs.php.dist:58 +msgid "Free/Busy Information" +msgstr "Informacja wolny/zajêty" + +#: templates/month/head.inc:20 templates/view/view.inc:119 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "Pi±tek" + +#: templates/delete/delete.inc:33 +msgid "Future" +msgstr "Przysz³y" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Gra" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Ogólne" + +#: lib/Block/summary.php:140 +#, php-format +msgid "Goto %s" +msgstr "Id¼ do %s" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "Grupy" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "Uprawnienia go¶cia" + +#: month.php:137 templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 +msgid "Hide" +msgstr "Ukryty" + +#: month.php:137 templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 +#, php-format +msgid "Hide %s" +msgstr "Ukryty %s" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:65 +#: templates/edit/edit.inc:138 +msgid "Hour(s)" +msgstr "Godzina(y)" + +#: config/prefs.php.dist:134 +msgid "How long should the time slots on the day and week views be?" +msgstr "Jak du¿e przedzia³y czasowe pokazywaæ w widokach dnia i tygodnia?" + +#: config/prefs.php.dist:302 +msgid "How many days of free/busy information should we generate?" +msgstr "" + +#: lib/Kronolith.php:1142 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s" +msgstr "" +"Je¿eli twój klient email nie wspiera ¿±dañ iTip, mo¿esz u¿yæ jednego " +"znastêpuj±cych odno¶ników by zaakceptowaæ lub odwo³aæ zdarzenie.\n" +"\n" +"By zaakceptowaæ zdarzenie:\n" +"%s\n" +"\n" +"Zaakceptowaæ zdarzenie wstêpnie:\n" +"%s\n" +"\n" +"Odwo³aæ zdarzenie:\n" +"%s" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importuj kalendarz, Krok %d" + +#: data.php:302 +msgid "Import/Export Calendar" +msgstr "Import/Eksport kalendarza" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "Indywidualni U¿ytkownicy" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Styczeñ" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Lipiec" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Czerwiec" + +#: data.php:64 templates/view/view.inc:142 +msgid "Keywords" +msgstr "s³owa kluczowe" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Ostatnie 24 godziny" + +#: templates/view/view.inc:87 +msgid "Last Modified" +msgstr "Ostatnio zmodyfikowany" + +#: templates/month/head_side_by_side.inc:4 +#: templates/month/head_side_by_side.inc:10 +#: templates/month/head_side_by_side.inc:16 templates/month/head.inc:4 +msgid "Last Month" +msgstr "Poprzedni miesi±c" + +#: templates/year/head.inc:4 +msgid "Last Year" +msgstr "Poprzedni tydzieñ" + +#: templates/search/search.inc:54 templates/week/head.inc:3 +msgid "Last week" +msgstr "Poprzedni tydzieñ" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Ogranicz okres dla eksportu:" + +#: config/prefs.php.dist:327 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Pokazywaæ wszystkie kontakty podczas ³adowania okna kontaktów?(je¶li " +"wy³±czone, widoczne bêd± jedynie poczukiwane konakty)" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:76 +msgid "Lo_cation" +msgstr "_Miejsce" + +#: kronolith.js.php:43 +msgid "Loading ..." +msgstr "£adowanie ..." + +#: data.php:63 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 templates/view/view.inc:21 +#: lib/Driver.php:2110 +msgid "Location" +msgstr "Lokalizacja" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Zarz±dzaj zdalnymi kalendarzami" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Marzec" + +#: lib/api.php:101 +msgid "Maximum Number of Events" +msgstr "Maksymalna liczba zdarzeñ" + +#: lib/Block/monthlist.php:27 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Maksymalna liczba zdarzeñ do wy¶wietlenia (0 = brak limitów)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Maj" + +#: lib/Driver.php:2107 +msgid "Me" +msgstr "Ja" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "spotkanie" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Spis Alarmów" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menu Lista" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:68 +#: templates/edit/edit.inc:137 +msgid "Minute(s)" +msgstr "Minuta(y)" + +#: year.php:80 templates/javascript/goto.js:59 templates/edit/edit.inc:217 +#: lib/Views/Year.php:77 lib/Block/month.php:105 +msgid "Mo" +msgstr "Po" + +#: templates/month/head.inc:16 templates/view/view.inc:115 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:107 +msgid "Monday" +msgstr "poniedzia³ek" + +#: lib/Kronolith.php:1409 lib/Block/tree_menu.php:24 config/prefs.php.dist:86 +msgid "Month" +msgstr "Miesi±c" + +#: lib/Block/month.php:3 +msgid "Month View" +msgstr "Widok Miesi±ca" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Co miesi±" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Monthly Events List" +msgstr "Miesiêczna lista zdarzeñ" + +#: templates/view/view.inc:124 templates/view/view.inc:126 +#: templates/edit/edit.inc:228 templates/edit/edit.inc:234 +msgid "Monthly: Recurs every" +msgstr "miesiêcznie: powtarza siê co" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Miesi±æ naprzód" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Miesi±c przed" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Przesuñ w dó³" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Przenie¶ w górê" + +#: lib/api.php:624 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Znaleziono wielokrotne komponenty iCalendar; tylko jedno vEvent jest " +"wpierane." + +#: calendars.php:128 templates/calendars/calendars.inc:68 +msgid "My Calendars" +msgstr "Moje kalendarze" + +#: templates/menu.inc:34 templates/menu.inc:36 templates/panel.inc:54 +msgid "My Calendars:" +msgstr "Moje kalendarze:" + +#: templates/calendars/calendars.inc:216 +msgid "My Free/Busy URL" +msgstr "URL Wolny/Zajêty" + +#: templates/calendars/calendars.inc:120 templates/calendars/calendars.inc:163 +#: templates/contacts/contacts.inc:176 +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +msgid "Name" +msgstr "Nazwa" + +#: lib/Block/month.php:41 lib/Block/monthlist.php:47 lib/Block/summary.php:41 +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Nowe zdarzenie" + +#: lib/base.php:173 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Nowy kalendarz stworzony i automatycznie przydzielony do nastêpuj±cych grup" +"(y): %s" + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Nastêpne" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Nastêpne 24 godziny" + +#: lib/FBView/day.php:29 +msgid "Next Day" +msgstr "Nastêpny dzieñ" + +#: templates/month/head_side_by_side.inc:6 +#: templates/month/head_side_by_side.inc:12 +#: templates/month/head_side_by_side.inc:18 templates/month/head.inc:6 +#: lib/FBView/month.php:32 +msgid "Next Month" +msgstr "Nastêpny miesi±c" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Nastêpny tydzieñ" + +#: templates/year/head.inc:6 +msgid "Next Year" +msgstr "Nastêpny dzieñ" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Nastêpny dzieñ" + +#: templates/search/search.inc:58 templates/week/head.inc:5 +msgid "Next week" +msgstr "Nastêpny tydzieñ" + +#: config/prefs.php.dist:276 config/prefs.php.dist:289 +msgid "No" +msgstr "Nie" + +#: templates/view/view.inc:73 templates/edit/edit.inc:126 +msgid "No alarm" +msgstr "Brak alarmu" + +#: templates/attendees/attendees.inc:48 +msgid "No attendees" +msgstr "¯adni uczestnicy" + +#: lib/api.php:762 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" + +#: lib/Kronolith.php:1425 +msgid "No calendars are available to guests." +msgstr "Nie ma dostêpnych kalendarzy dla go¶ci." + +#: templates/view/view.inc:136 templates/edit/edit.inc:254 +msgid "No end date" +msgstr "nie ma daty koñca" + +#: lib/Block/prevmonthlist.php:164 lib/Block/monthlist.php:174 +#: lib/Block/summary.php:194 +msgid "No events to display" +msgstr "Brak zdarzeñ do wy¶wietlenia" + +#: lib/Kronolith.php:1028 lib/FreeBusy.php:214 +#, fuzzy, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "Niemo¿liwe uzyskanie wolny/zajêty informacji dla %s" + +#: lib/Storage/kolab.php:54 +#, fuzzy, php-format +msgid "No free/busy information is available for %s" +msgstr "Niemo¿liwe uzyskanie wolny/zajêty informacji dla %s" + +#: lib/Kronolith.php:1029 lib/FreeBusy.php:215 +#, fuzzy, php-format +msgid "No free/busy url found for %s." +msgstr "Nie znaleziony wpis %s dla %s" + +#: lib/api.php:365 lib/api.php:381 lib/api.php:614 +msgid "No iCalendar data was found." +msgstr "Nie znaleziono danych iCalendar." + +#: templates/edit/edit.inc:203 lib/Recurrence.php:191 +msgid "No recurrence" +msgstr "Bez powtarzania" + +#: lib/Kronolith.php:984 lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "Znaleziono niew³a¶ciwy adres email" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:688 +#: lib/Kronolith.php:709 +msgid "None" +msgstr "¯aden" + +#: lib/Views/DeleteEvent.php:27 lib/Views/EditEvent.php:27 +#: lib/Views/Event.php:26 +msgid "Not Found" +msgstr "Nie znaleziono" + +#: lib/Storage/sql.php:145 +msgid "Not found" +msgstr "Nie znaleziony" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Powiadomienia" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Listopad" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Teraz" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "Kreator obiektów" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Pa¼dziernik" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:64 +msgid "On" +msgstr "Na" + +#: config/prefs.php.dist:279 config/prefs.php.dist:292 +msgid "On all calendars I have read access to" +msgstr "" + +#: config/prefs.php.dist:278 config/prefs.php.dist:291 +msgid "On all shown calendars" +msgstr "We wszystkich widocznych kalendarzach" + +#: config/prefs.php.dist:277 config/prefs.php.dist:290 +msgid "On my calendars only" +msgstr "Tylko w moich kalendarzach" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Tylko w³a¶ciciel lub administrator systemu mo¿e zmieniæ wspó³w³asno¶æ lub " +"w³a¶ciciela uprawnieñ dla udzia³u" + +#: lib/Kronolith.php:706 +msgid "Optional" +msgstr "Opcjonalny" + +#: lib/FBView.php:119 +msgid "Optional Attendees" +msgstr "Opcjonalni Uczestnicy" + +#: lib/FBView.php:154 +msgid "Overview" +msgstr "Przegl±danie" + +#: templates/view/view.inc:34 +msgid "Owner" +msgstr "W³a¶ciciel" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Uprawnienia w³a¶ciciela" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "W³a¶ciciel:" + +#: lib/Driver.php:2106 +#, php-format +msgid "Owner: %s" +msgstr "W³a¶ciciel: %s" + +#: templates/data/export.inc:114 templates/data/export.inc:194 +msgid "PM" +msgstr "" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Past Events List" +msgstr "Lista Minionych Wydarzeñ" + +#: templates/view/view.inc:109 templates/edit/edit.inc:198 +msgid "Pattern" +msgstr "Wzorzec" + +#: templates/delete/one.inc:30 +msgid "Permanently delete this event?" +msgstr "Definitywnie usun±æ zdarzenie?" + +#: lib/api.php:344 lib/api.php:422 lib/api.php:475 lib/api.php:564 +#: lib/api.php:596 lib/api.php:682 lib/api.php:738 +msgid "Permission Denied" +msgstr "Brak uprawnieñ" + +#: templates/calendars/calendars.inc:171 +msgid "Permissions" +msgstr "Uprawnienia" + +#: lib/Imple/ContactAutoCompleter.php:224 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Popraw niejednoznaczny lub nieprawid³owy adres." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Opcje portalu" + +#: lib/FBView/day.php:25 +msgid "Previous Day" +msgstr "Poprzedni dzieñ" + +#: lib/FBView/month.php:26 +msgid "Previous Month" +msgstr "Poprzedni miesi±c" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Poprzedni tydzieñ" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Poprzedni dzieñ" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "Czytaj" + +#: templates/view/view.inc:135 templates/edit/edit.inc:251 +msgid "Recur Until" +msgstr "Powtarzanie do" + +#: templates/view/view.inc:106 +msgid "Recurrence" +msgstr "Powtarzanie" + +#: data.php:68 +msgid "Recurrence Data" +msgstr "data powtarzania" + +#: data.php:66 +msgid "Recurrence End Date" +msgstr "Data koñca powtarzania" + +#: data.php:67 +msgid "Recurrence Interval" +msgstr "Przedzia³ powtarzania" + +#: data.php:65 +msgid "Recurrence Type" +msgstr "Ttyp powtarzania" + +#: lib/Kronolith.php:624 +msgid "Recurs daily" +msgstr "Powtarza siê codziennie" + +#: lib/Kronolith.php:631 +msgid "Recurs monthly" +msgstr "Powtarza siê co miesi±c" + +#: lib/Kronolith.php:627 +msgid "Recurs weekly" +msgstr "Powtarza siê co tydzieñ" + +#: lib/Kronolith.php:634 +msgid "Recurs yearly" +msgstr "Powtarza siê co rok" + +#: lib/Scheduler/kronolith.php:215 +#, php-format +msgid "Reminder: %s" +msgstr "Przypomnienie %s" + +#: templates/calendars/calendars.inc:92 config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Zdalne kalendarze" + +#: templates/menu.inc:60 templates/menu.inc:62 templates/panel.inc:72 +msgid "Remote Calendars:" +msgstr "Zdalne kalendarze" + +#: templates/calendars/calendars.inc:195 +msgid "Remote Subscription URL" +msgstr "Zdalna subskrypcja URL" + +#: templates/contacts/contacts.inc:161 +msgid "Remove" +msgstr "Usuñ" + +#: templates/attendees/attendees.inc:51 +#, php-format +msgid "Remove %s" +msgstr "Usun±æ %s" + +#: attendees.php:106 +msgid "Remove Attendee" +msgstr "Usuñ uczestników" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Usuñ ¼ród³o" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Zast±piæ istniej±cy kalendarz importowanym? Ostrze¿enie: Tousunie " +"wszystkie wpisy w obecnym kalendarzu. " + +#: lib/Kronolith.php:713 +msgid "Required" +msgstr "Wymagany" + +#: lib/FBView.php:98 lib/FBView.php:139 lib/FBView.php:142 lib/FBView.php:145 +msgid "Required Attendees" +msgstr "Wymagani uczetnicy" + +#: templates/edit/edit.inc:36 templates/edit/edit.inc:309 +msgid "Reset to Defaults" +msgstr "Przywróc domy¶lne" + +#: templates/attendees/attendees.inc:43 templates/view/view.inc:166 +msgid "Response" +msgstr "Odpowied¼" + +#: year.php:85 templates/javascript/goto.js:64 templates/edit/edit.inc:222 +#: lib/Views/Year.php:82 lib/Block/month.php:105 +msgid "Sa" +msgstr "So" + +#: templates/month/head.inc:21 templates/view/view.inc:120 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "sobota" + +#: templates/panel.inc:82 templates/calendars/calendars.inc:204 +msgid "Save" +msgstr "Zapisz" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "Zapisz %s" + +#: viewevent.php:135 editevent.php:49 editevent.php:57 +#: lib/Views/EditEvent.php:78 lib/Views/EditEvent.php:88 +msgid "Save As New" +msgstr "Zapisz jako nowy" + +#: templates/attendees/attendees.inc:83 +msgid "Save Attendees" +msgstr "Zapisz uczestników" + +#: addevent.php:55 editevent.php:52 new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "Zapamiêtaj zdarzenie" + +#: templates/attendees/attendees.inc:84 +msgid "Save and Finish" +msgstr "Zapisz i zakoñcz" + +#: search.php:91 templates/search/search_advanced.inc:114 +#: templates/search/search.inc:67 templates/calendars/search.inc:8 +#: templates/contacts/contacts.inc:145 lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Wyszukiwanie" + +#: templates/calendars/search.inc:1 +msgid "Search Calendars" +msgstr "Wyszukaj kalendarze" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Wyniki wyszukiwania" + +#: templates/panel.inc:48 +#, fuzzy +msgid "Search for Calendars:" +msgstr "Wyszukaj kalendarze" + +#: templates/calendars/search.inc:6 +msgid "Search for calendars containing:" +msgstr "Wyszukaj kalendarze zawieraj±ce:" + +#: templates/calendars/calendars.inc:154 +msgid "Select a calendar to edit" +msgstr "Wybierz kalendarz do edycji" + +#: templates/edit/edit.inc:266 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:81 +msgid "Select a date" +msgstr "Wybierz datê" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Wybierz grupê do dodania" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Wybierz grupê do dodania:" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Wybierz nowego w³a¶ciciela:" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "Wybierz u¿ytkownika do dodania:" + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Wybierz wszystkie pola do przeszukiwania podczas rozszerzania adresów." + +#: templates/menu.inc:30 +msgid "Select calendars to display:" +msgstr "Wybierz kalendarze do wy¶wietlenia:" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Wybierz,opcje potwierdzenia w jaki sposób pokazywaæ ró¿ne widoki.Wybierz " +"widok domy¶lny." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Wybierz plik do importu:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Wybierz kalendarz(e) by wyeksportowaæ z" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Wybierz format exportu:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Wybierz plik do importu:" + +#: config/prefs.php.dist:105 +msgid "Select the first weekday:" +msgstr "Wybierz pierwszy dzieñ tygodnia:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Wybierz format pliku ¼ród³owego:" + +#: config/prefs.php.dist:185 +msgid "Select the time span to show:" +msgstr "Wybierz pokazywany okres:" + +#: config/prefs.php.dist:87 +msgid "Select the view to display on startup:" +msgstr "Wybierz widok pokazywany na starcie:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Wybierz, jakie zdarzenia pokazaæ w podsumowaniu Horde." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Wybrane ksi±¿ki adresowe:" + +#: templates/delete/one.inc:27 templates/delete/delete.inc:27 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"Wy¶lij zawiadomienie anulowania do wszystkich uczestników skre¶laj±c to " +"wydarzenie" + +#: templates/view/view.inc:170 +#, php-format +msgid "Send an email to %s" +msgstr "Wy¶lij email do %s" + +#: templates/edit/edit.inc:181 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"Wy¶lij uaktualnienie/zaproszenia do wszystkich uczestników zachowuj±c to " +"wydarzenie" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Wrzesieñ" + +#: templates/edit/edit_timespan.inc:81 +msgid "Set end date" +msgstr "Ustaw daty koñca" + +#: templates/edit/edit.inc:266 +msgid "Set recurrence end date" +msgstr "Ustaw datê koñca powtarzania" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "Ustaw datê startu" + +#: config/prefs.php.dist:59 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" + +#: calendars.php:77 +#, php-format +msgid "Share not found: %s" +msgstr "Nie znaleziono udzia³u: %s" + +#: templates/calendars/calendars.inc:80 +msgid "Shared Calendars" +msgstr "Wspó³dzielone kalendarze" + +#: templates/menu.inc:47 templates/menu.inc:49 templates/panel.inc:64 +msgid "Shared Calendars:" +msgstr "Wspó³dzielone kalendarze:" + +#: templates/perms/perms.inc:30 templates/perms/perms.inc:57 +#: templates/perms/perms.inc:86 templates/perms/perms.inc:98 +#: templates/perms/perms.inc:127 templates/perms/perms.inc:139 +#: templates/perms/perms.inc:168 templates/perms/perms.inc:180 +#: templates/perms/perms.inc:209 templates/perms/perms.inc:221 +#: templates/perms/perms.inc:262 templates/perms/perms.inc:291 +#: templates/perms/perms.inc:303 templates/perms/perms.inc:337 +msgid "Show" +msgstr "Poka¿" + +#: calendar_search.php:25 templates/week/head_side_by_side.inc:3 +#: templates/day/head_side_by_side.inc:3 +msgid "Show Calendar" +msgstr "Pokarz kalendarz" + +#: config/prefs.php.dist:157 +msgid "Show category legend?" +msgstr "Pokazaæ legende kategorii" + +#: config/prefs.php.dist:147 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Pokazywaæ ikony usuñ, alarm, powrót w widoku kalendarza?" + +#: config/prefs.php.dist:213 +msgid "Show due tasks in the calendar?" +msgstr "Czy pokazywaæ zadania terminowe w kalendarzu?" + +#: config/prefs.php.dist:167 +msgid "Show free/busy legend?" +msgstr "Pokazaæ legende wolny/zajêty?" + +#: config/prefs.php.dist:204 +msgid "Show only events that have an alarm set?" +msgstr "Czy pokazywaæ tylko te wydarzenia, którym przypisano alarm?" + +#: config/prefs.php.dist:176 +msgid "Show shared calendars side-by-side?" +msgstr "Pokazaæ wspó³dzielone kalendarze strona po stronie?" + +#: config/prefs.php.dist:222 +msgid "Show tasks using category colors?" +msgstr "Czy pokazywaæ zadania kolorów kategorii?" + +#: config/prefs.php.dist:96 +msgid "Show time of day between each day in week views?" +msgstr "Czy pokazywaæ czas dnia pomiêdzy ka¿dym dniem w widoku tygodnia?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Sta_rt" + +#: data.php:54 +msgid "Start Date" +msgstr "data pocz±tku" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:41 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Pocz±wszy od" + +#: data.php:55 +msgid "Start Time" +msgstr "Czas pocz±tku" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:85 +msgid "Stat_us" +msgstr "Sta_n" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:27 +msgid "Status" +msgstr "Status" + +#: year.php:78 year.php:87 templates/javascript/goto.js:65 +#: templates/edit/edit.inc:223 lib/Views/Year.php:75 lib/Views/Year.php:84 +#: lib/Block/month.php:107 lib/Block/month.php:109 +msgid "Su" +msgstr "Nie" + +#: templates/month/head.inc:14 templates/month/head.inc:23 +#: templates/view/view.inc:121 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:106 +msgid "Sunday" +msgstr "niedziela" + +#: config/prefs.php.dist:29 +msgid "Tasks" +msgstr "Zadania" + +#: lib/Kronolith.php:661 lib/Kronolith.php:684 +msgid "Tentative" +msgstr "Wstêpny" + +#: year.php:83 templates/javascript/goto.js:62 templates/edit/edit.inc:220 +#: lib/Views/Year.php:80 lib/Block/month.php:105 +msgid "Th" +msgstr "Cz" + +#: data.php:230 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Plik %s nie zawiera danych o zdarzeniach." + +#: templates/contacts/contacts.inc:70 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Okno Edycja Uczestników nie jest d³u¿ej obecne. Wyj¶cie." + +#: calendars.php:70 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Kalendarz \"%s\" nie mo¿e byæ usuniêty." + +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Kalendarz \"%s\" zosta³ utworzony." + +#: calendars.php:88 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Kalendarz \"%s\" zosta³ usuniêty." + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Nazwa kalendarza \"%s\" zosta³a zmieniona na \"%s\"" + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Kalendarz \"%s\" zosta³ zapisany." + +#: data.php:238 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Kalendarz nie mo¿e byæ wyczyszczony: %s" + +#: templates/edit/javascript.inc:162 +msgid "The end date must be later than the start date." +msgstr "Data koñca musi byæ pó¼niejsza ni¿ data pocz±tku." + +#: lib/Kronolith.php:1206 +#, fuzzy, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "Wydarzenie zosta³o dodane do twojego kalendarza." + +#: lib/Kronolith.php:1216 +#, fuzzy, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "Wydarzenie zosta³o dodane do twojego kalendarza." + +#: lib/Kronolith.php:1211 +#, fuzzy, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "Wydarzenie zosta³o dodane do twojego kalendarza." + +#: lib/Kronolith.php:1179 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Powiadomienie o wydarzeniu %s zosta³o pomy¶lnie wys³ane." + +#: lib/Kronolith.php:1136 +#, fuzzy +msgid "The following is a more detailed description of the event:" +msgstr "Nastêpuj±ce pliki zosta³y do³±czone do tej czê¶ci:" + +#: lib/Kronolith.php:1004 lib/FreeBusy.php:191 +#, fuzzy, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Kalendarz \"%s\" nie mo¿e byæ usuniêty." + +#: attend.php:41 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"¯±danie jest niekompletne. Niektóre parametry niezbêdne do " +"zaakceptowaniaodrzucenia zdarzenia sa brakujace." + +#: lib/Views/DeleteEvent.php:40 lib/Views/EditEvent.php:43 +#: lib/Views/Event.php:41 +#, fuzzy +msgid "The requested event was not found." +msgstr "Za³±cznik nie zosta³ znaleziony." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Nie by³o zdarzeñ speniajacych kryteria." + +#: addeventaction.php:18 editeventaction.php:35 add.php:24 edit.php:46 +#: edit.php:68 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Wystapi³ b³±d podczas dostêpu do kalendarza: %s" + +#: addeventaction.php:34 add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Wystapi³ b³±d podczas dodawania zdarzenia: %s" + +#: editeventaction.php:82 edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Wystapi³ b³±d podczas edycji zdarzenia: %s" + +#: lib/api.php:357 lib/api.php:608 +msgid "There was an error importing the iCalendar data." +msgstr "Wyst±pi³ b³±d poczas importowania danych iCalendar." + +#: editeventaction.php:62 edit.php:142 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Wystapi³ b³±d podczas przenoszenia zdarzenia: %s" + +#: lib/Kronolith.php:1184 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Wystapi³ b³±d podczas wysy³ania powiadomienia o zdarzeniu do %s: %s" + +#: data.php:108 +msgid "There were no events to export." +msgstr "Nie by³o zdarzeñ, które mo¿na eksportowaæ." + +#: data.php:186 +msgid "This file format is not supported." +msgstr "Ten format pliku jest nieobslugiwany." + +#: data.php:258 +#, php-format +msgid "This is what the server said: %s" +msgstr "Odpowied¼ serwera: %s" + +#: templates/month/head.inc:19 templates/view/view.inc:118 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "czwartek" + +#: templates/search/search.inc:37 +msgid "Time Sp_an" +msgstr "Prze_dzia³ czasowy" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Przedzia³ czasowy" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:42 +msgid "Tit_le" +msgstr "Zda_rzenie" + +#: data.php:53 templates/search/search.inc:20 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Tytu³" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Aby wybraæ wielokrotne pola przytrzymaj Control (PC) lub Command (Mac " +"podczas klikania." + +#: lib/Block/prevmonthlist.php:122 lib/Block/monthlist.php:130 +#: lib/Block/summary.php:127 +msgid "Today" +msgstr "Disiaj" + +#: lib/Block/prevmonthlist.php:124 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:129 +msgid "Tomorrow" +msgstr "Jutro" + +#: year.php:81 templates/javascript/goto.js:60 templates/edit/edit.inc:218 +#: lib/Views/Year.php:78 lib/Block/month.php:105 +msgid "Tu" +msgstr "Wt" + +#: templates/month/head.inc:17 templates/view/view.inc:116 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "wtorek" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "typ" + +#: templates/calendars/calendars.inc:187 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:64 +msgid "Unable to connect to SQL server." +msgstr "Nie mo¿na po³±czyæ siê z serwerem SQL." + +#: calendars.php:84 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Nie mo¿na usun±æ \"%s\": %s" + +#: lib/Driver.php:182 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Nie mo¿na za³adowaæ definicji %s." + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Niemo¿liwa zmiana nazwy \"%s\": %s" + +#: lib/Storage/kolab.php:44 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Niemo¿liwe uzyskanie wolny/zajêty informacji dla %s" + +#: templates/view/view.inc:15 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "" + +#: lib/api.php:388 lib/api.php:446 lib/api.php:507 lib/api.php:633 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Nieobs³ugiwany typ zawarto¶ci: %s" + +#: perms.php:254 +#, php-format +msgid "Updated \"%s\"." +msgstr "Uaktualniony \"%s\"." + +#: lib/Kronolith.php:1126 +#, php-format +msgid "Updated: %s." +msgstr "Uaktualniono: %s" + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Widok okienka" + +#: templates/perms/perms.inc:256 +#, fuzzy +msgid "User to add:" +msgstr "Wybierz u¿ytkownika do dodania" + +#: year.php:160 year.php:166 lib/Views/Year.php:156 lib/Views/Year.php:162 +#: lib/Block/month.php:159 lib/Block/month.php:162 +msgid "View Day" +msgstr "Widok Dnia" + +#: year.php:82 templates/javascript/goto.js:61 templates/edit/edit.inc:219 +#: lib/Views/Year.php:79 lib/Block/month.php:105 +msgid "We" +msgstr "¦r" + +#: templates/month/head.inc:18 templates/view/view.inc:117 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "¶roda" + +#: attendees.php:114 lib/Kronolith.php:1408 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:84 +msgid "Week" +msgstr "Tydzieñ" + +#: month.php:178 workweek.php:30 week.php:34 lib/Views/Month.php:183 +#, php-format +msgid "Week %d" +msgstr "Tydzieñ %d" + +#: templates/prefs/default_alarm_management.inc:29 templates/view/view.inc:59 +#: templates/edit/edit.inc:140 +msgid "Week(s)" +msgstr "Tydzieñ(tygodnie)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Tygodniowo" + +#: templates/view/view.inc:122 templates/edit/edit.inc:214 +msgid "Weekly: Recurs every" +msgstr "Tygodniowo: powtarza siê co" + +#: config/prefs.php.dist:125 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" + +#: config/prefs.php.dist:116 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" + +#: attendees.php:113 lib/Kronolith.php:1407 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:85 +msgid "Work Week" +msgstr "Tydzieñ roboczy" + +#: lib/Kronolith.php:1410 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Rok" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Rocznie" + +#: templates/view/view.inc:128 templates/edit/edit.inc:240 +msgid "Yearly: Recurs every" +msgstr "Rocznie: powtarza siê co" + +#: data.php:39 data.php:247 editeventaction.php:45 addevent.php:17 edit.php:27 +#: new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Nie masz pozwolenia na tworzenie wiecej niz %d zdarzen." + +#: attend.php:49 +msgid "You are not an attendee of the specified event." +msgstr "Nie jestes uczestnikiem wymienionego zdarzenia." + +#: templates/contacts/contacts.inc:76 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Mo¿esz u¿yæ tego formularza tylko z ekranu Edycja Uczestników." + +#: lib/Kronolith.php:1079 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Nie masz skonfigurowanego adresu email w twoich Danych osobowych Opcje. " +"Musisz ustawiæ %stutaj %s zanim powiadomienie o zdarzeniu bedzie wyslane." + +#: addeventaction.php:20 add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Nie masz uprawnien aby dodac zdarzenie do %s." + +#: data.php:195 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Nie masz uprawnieñ aby dodaæ zdarzenie to wybranego kalendarza." + +#: add.php:27 edit.php:159 +#, fuzzy, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Nie masz uprawnien aby dodac zdarzenie do %s." + +#: deleventaction.php:26 delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Nie masz uprawnieñ do skasowania tego zdarzenia." + +#: editeventaction.php:77 edit.php:162 +msgid "You do not have permission to edit this event." +msgstr "Nie masz uprawnieñ do edycji tego zdarzenia" + +#: edit.php:156 +#, fuzzy +msgid "You do not have permission to move this event." +msgstr "Nie masz uprawnieñ do edycji tego zdarzenia" + +#: data.php:192 +msgid "You have specified an invalid calendar." +msgstr "Wymieni³e¶ niewa¿ny kalendarz." + +#: attend.php:21 +msgid "You have successfully accepted attendence to this event." +msgstr "Szczê¶liwie zaakceptowa³e¶ obecno¶æ do tego wydarzenia." + +#: attend.php:26 +msgid "You have successfully declined attendence to this event." +msgstr "Szczê¶liwie odmówi³e¶ obecno¶æ do tego wydarzenia." + +#: attend.php:31 +msgid "You have tentatively accepted attendence to this event." +msgstr "Wstêpnie zaakceptowa³e¶ obecno¶æ do tego wydarzenia." + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "Musisz wybraæ kalendarz do usuniêcia." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Musisz najpierw wybraæ adres." + +#: templates/calendars/calendars.inc:174 +msgid "You need to select a calendar first" +msgstr "Musisz najpierw wybraæ kalendarz." + +#: lib/Kronolith.php:1206 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Za¿±da³e¶ powiadomienia, kiedy wydarzenie dodano do twojego kalendarza." + +#: lib/Kronolith.php:1216 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Za¿±da³e¶ powiadomienia, gdy wydarzenia s± usówane z twojego kalendarza." + +#: lib/Kronolith.php:1211 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Za¿±da³e¶ powiadomienia, gdy wydarzenia s± edytowane w twoim kalendarzu." + +#: lib/Scheduler/kronolith.php:219 +#, fuzzy, php-format +msgid "You requested to be reminded about %s, which is on %s at %s." +msgstr "Wydarzenie zosta³o dodane do twojego kalendarza." + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Twój domy¶lny kalendarz" + +#: templates/panel.inc:59 +#, fuzzy +msgid "[Manage My Calendars]" +msgstr "Moje kalendarze" + +#: templates/panel.inc:77 +#, fuzzy +msgid "[Manage Remote Calendars]" +msgstr "Zarz±dzaj zdalnymi kalendarzami" + +#: lib/Driver.php:1285 lib/Driver.php:1295 +msgid "[Unnamed event]" +msgstr "[Nienazwane zdarzenie]" + +#: templates/edit/edit.inc:97 +msgid "_Alarm" +msgstr "_Alarm" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "_Podstawowe wyszukiwanie" + +#: viewevent.php:137 +msgid "_Edit" +msgstr "_Edycja" + +#: lib/Kronolith.php:1445 +msgid "_Goto" +msgstr "I_d¼ do" + +#: lib/Kronolith.php:1451 +msgid "_Import/Export" +msgstr "_Import/Eksport" + +#: lib/Kronolith.php:1432 +msgid "_My Calendars" +msgstr "_Mój kalendarz" + +#: lib/Kronolith.php:1439 +msgid "_New Event" +msgstr "_Nowe zdarzenie" + +#: lib/Kronolith.php:1456 +msgid "_Print" +msgstr "_Drukuj" + +#: lib/Kronolith.php:1447 +msgid "_Search" +msgstr "Wyszukiwanie" + +#: lib/Kronolith.php:1442 +msgid "_Today" +msgstr "_Dzisiaj" + +#: templates/edit/edit.inc:142 +msgid "before the event starts" +msgstr "przed zdarzeniem" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" + +#: config/prefs.php.dist:186 +msgid "day" +msgstr "dzieñ" + +#: templates/view/view.inc:112 templates/edit/edit.inc:209 +msgid "day(s)" +msgstr "dzieñ(dni)" + +#: config/prefs.php.dist:187 config/prefs.php.dist:188 +#: config/prefs.php.dist:189 config/prefs.php.dist:190 +#: config/prefs.php.dist:191 +msgid "days" +msgstr "dni" + +#: data.php:150 templates/data/export.inc:1 +msgid "events.csv" +msgstr "zdarzenie.csv" + +#: data.php:170 +msgid "events.ics" +msgstr "zdarzenia.ics" + +#: templates/contacts/contacts.inc:136 +msgid "in" +msgstr "w" + +#: templates/view/view.inc:124 templates/view/view.inc:126 +#: templates/edit/edit.inc:229 templates/edit/edit.inc:235 +msgid "month(s)" +msgstr "miesi±c(miesi±ce)" + +#: lib/Kronolith.php:1132 +#, fuzzy, php-format +msgid "on %s at %s" +msgstr "%s na %s" + +#: templates/view/view.inc:124 templates/edit/edit.inc:229 +msgid "on the same date" +msgstr "w tym samym dniu" + +#: templates/view/view.inc:126 templates/edit/edit.inc:235 +msgid "on the same weekday" +msgstr "w tym samym dniu tygodnia" + +#: data.php:29 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: lib/api.php:619 +msgid "vEvent not found." +msgstr "vEvent nie znaleziony" + +#: config/prefs.php.dist:192 +msgid "week" +msgstr "tydzieñ" + +#: templates/view/view.inc:122 templates/edit/edit.inc:216 +msgid "week(s) on:" +msgstr "tydzieñ(tygodnie) w:" + +#: config/prefs.php.dist:193 config/prefs.php.dist:194 +#: config/prefs.php.dist:195 +msgid "weeks" +msgstr "tygodnie" + +#: templates/view/view.inc:128 templates/edit/edit.inc:241 +msgid "year(s)" +msgstr "rok(lata)" diff --git a/kronolith/po/pt_BR.po b/kronolith/po/pt_BR.po new file mode 100644 index 000000000..bfe030f7b --- /dev/null +++ b/kronolith/po/pt_BR.po @@ -0,0 +1,2570 @@ +# translation of pt_BR.po to Português brasileiro +# This file is distributed under the same license as the Kronolith package. +# Copyright YEAR Horde Project. +# +# Fabio Gomes , 2005. +# Luis Felipe Marzagao , 2008. +msgid "" +msgstr "" +"Project-Id-Version: pt_BR\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2008-07-02 20:21-0300\n" +"PO-Revision-Date: 2008-07-05 19:25-0300\n" +"Last-Translator: Luis Felipe Marzagao \n" +"Language-Team: Português brasileiro \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " até %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " sem fim" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d eventos" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d vezes" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Dia(s) %s Hora(s) %s Minutos" + +#: lib/Driver.php:2267 +#, php-format +msgid "%s attendees" +msgstr "%s participantes" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "Arquivo %s importado com sucesso" + +#: lib/Kronolith.php:364 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "Calendário de %s" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Adicione estes clicando em Adicionar *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Por favor selecione o(s) endereço(s) *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d vezes" + +#: lib/Driver.php:2266 +msgid "1 attendee" +msgstr "1 participante" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 evento" + +#: config/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 hora" + +#: config/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 minutos" + +#: config/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 minutos" + +#: config/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 minutos" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1169 +msgid "Accepted" +msgstr "Aceita" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "Pesquisa A_vançada" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Adicionar" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Adicionar Evento" + +#: new.php:65 +msgid "Add a new event" +msgstr "Adicionar novo evento" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Adicionar participantes" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Adicionar fonte" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Adicionar ao participantes" + +#: contacts.php:76 templates/attendees/attendees.inc:85 +#: templates/contacts/contacts.inc:138 +msgid "Address Book" +msgstr "Contatos" + +#: config/prefs.php.dist:69 +msgid "Address Books" +msgstr "Contatos" + +#: templates/search/search.inc:10 templates/search/search_advanced.inc:11 +msgid "Advanced Search" +msgstr "Pesquisa Avançada" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Aviso" + +#: lib/Driver.php:2233 +#, php-format +msgid "Alarm %d days before" +msgstr "Avisar %d dias antes" + +#: lib/Driver.php:2238 +#, php-format +msgid "Alarm %d hours before" +msgstr "Avisar %d horas antes" + +#: lib/Driver.php:2243 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Avisar %d minutos antes" + +#: lib/Driver.php:2228 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Avisar %d semanas antes" + +#: lib/Driver.php:2232 +msgid "Alarm 1 day before" +msgstr "Avisar 1 dia antes" + +#: lib/Driver.php:2237 +msgid "Alarm 1 hour before" +msgstr "Avisar 1 hora antes" + +#: lib/Driver.php:2242 +msgid "Alarm 1 minute before" +msgstr "Avisar 1 minuto antes" + +#: lib/Driver.php:2227 +msgid "Alarm 1 week before" +msgstr "Avisar 1 semana antes" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Data do aviso" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Duração do Aviso (minutos)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Horário do Aviso" + +#: templates/edit/edit.inc:166 templates/prefs/default_alarm_management.inc:24 +msgid "Alarm Unit" +msgstr "Unidade de Alarme" + +#: templates/edit/edit.inc:164 templates/prefs/default_alarm_management.inc:22 +msgid "Alarm Value" +msgstr "Valor de Alarme" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Alarme habilitado" + +#: templates/delete/delete.inc:27 templates/edit/edit.inc:39 +msgid "All" +msgstr "Todos" + +#: lib/FBView.php:129 lib/FBView.php:132 lib/FBView.php:135 +msgid "All Attendees" +msgstr "Todos os Participantes" + +#: templates/perms/perms.inc:51 +msgid "All Authenticated Users" +msgstr "Todos os Usuários Autenticados" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Todos os Calendários" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "Todos os Futuros" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "Todos os Passados" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "Todos os Visíveis" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2336 +#: lib/Views/Day.php:99 lib/Views/Day.php:102 lib/Views/Week.php:149 +#: lib/Views/Week.php:156 lib/Scheduler/kronolith.php:432 +#: lib/Scheduler/kronolith.php:445 +msgid "All day" +msgstr "Dia todo" + +#: lib/Block/summary.php:166 +msgid "All day event" +msgstr "Evento o dia todo" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Todos eventos" + +#: lib/api.php:816 lib/api.php:828 +msgid "Already Exists" +msgstr "Já Existe" + +#: templates/search/search_advanced.inc:44 +#: templates/search/search_advanced.inc:65 lib/Kronolith.php:1262 +msgid "Any" +msgstr "Qualquer um" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Abril" + +#: templates/data/export.inc:85 templates/data/export.inc:176 +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +msgid "At" +msgstr "Às" + +#: lib/Kronolith.php:1442 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Se encontra anexado um arquivo iCalendar com mais informações sobre o " +"evento. Se seu cliente de correio suporta requisições iTip, você pode " +"utilizar este arquivo para atualizar facilmente sua cópia local do evento." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Tentar editar um compartilhamento não existente." + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "Presença" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "Participante" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "Participantes" + +#: lib/Kronolith.php:1436 +#, php-format +msgid "Attendees: %s" +msgstr "Participantes: %s" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Agosto" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Contatos disponíveis:" + +#: templates/search/search.inc:12 templates/search/search_advanced.inc:9 +msgid "Basic Search" +msgstr "Pesquisa Simples" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Aniversário" + +#: lib/FBView.php:90 lib/FBView.php:112 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Ocupado" + +#: templates/search/search_advanced.inc:37 +msgid "C_alendar" +msgstr "C_alendário" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "Cal_endário" + +#: templates/calendar_list.php:24 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Calendário" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Informação de Calendário" + +#: templates/calendar_list.php:21 +msgid "Calendar List" +msgstr "Lista de Calendários" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Resumo do Calendário" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "O calendário foi apagado com sucesso." + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:60 +msgid "Calendars" +msgstr "Calendários" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Calendários Impressos: " + +#: data.php:270 +msgid "Can't create a new event." +msgstr "Não consigo criar um novo evento." + +#: templates/delete/one.inc:25 templates/delete/delete.inc:28 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 lib/Forms/DeleteCalendar.php:45 +#: lib/Forms/DeleteCalendar.php:51 +msgid "Cancel" +msgstr "Cancelar" + +#: lib/Kronolith.php:1145 +msgid "Cancelled" +msgstr "Cancelado" + +#: lib/Kronolith.php:1403 +#, php-format +msgid "Cancelled: %s" +msgstr "Cancelado: %s" + +#: lib/Driver/kolab.php:1394 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Impossível apagar evento: %s" + +#: templates/search/search_advanced.inc:58 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "C_ategoria" + +#: data.php:64 templates/view/view.inc:6 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "Categoria" + +#: calendars/index.php:69 templates/calendar_list.php:52 +msgid "Change Permissions" +msgstr "Alterar Permissões" + +#: config/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Escolha como deseja ser notificado sobre alterações de eventos, alarmes de " +"eventos e próximos eventos." + +#: config/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "Escolha como deseja receber lembretes de eventos com alarmes:" + +#: config/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Escolha se você deseja ser notificado por e-mail sobre eventos novos, " +"editados e apagados:" + +#: config/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Escolha se deseja receber lembretes dirários de agenda por e-mail:" + +#: config/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "Escolha se deseja receber lembretes para alarmes de eventos:" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "Escolha os calendários a incluir na URL de Livre/Ocupado acima:" + +#: config/prefs.php.dist:440 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "Escolha os calendários a incluir ao gerar URLs de Livre/Ocupado:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "Escolha a ordem dos contatos para pesquisar ao expandir endereços." + +#: config/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "Escolha a exibição para mostrar o local do evento:" + +#: config/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "Escolha a exibição para mostrar o horário de início e fim do evento:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Escolha quais feriados a exibir" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Escolha o calendário padrão." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Remover todos os participantes" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Clique em um de seus contatos selecionados e então selecione todos os campos " +"a pesquisar." + +#: templates/calendar_list.php:38 templates/calendar_list.php:39 +#: templates/calendar_list.php:48 templates/calendar_list.php:49 +msgid "Click or copy this URL to display this calendar" +msgstr "Clique ou copie esta URL para exibir este calendário" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Fechar" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Fechar Janela" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Fechar janela" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Valores separados por vírgula" + +#: config/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "Confirmar a exclusão de eventos?" + +#: lib/Kronolith.php:1142 +msgid "Confirmed" +msgstr "Confirmado" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "" +"Copie esta URL para ser usada sempre que você precisar da URL de Livre/" +"Ocupado:" + +#: lib/Kronolith.php:456 +#, php-format +msgid "Could not open %s." +msgstr "Não consegui abrir %s." + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Criar" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Criar Calendário" + +#: templates/week/head.inc:29 lib/Views/Day.php:99 lib/Views/Day.php:261 +#: lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "Criar Novo Evento" + +#: templates/calendar_list.php:11 +msgid "Create a new Local Calendar" +msgstr "Criar um novo Calendário Local" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Criado" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:37 +msgid "Current" +msgstr "Atual" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Diariamente" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "Diário: Repete a cada" + +#: attendees.php:194 lib/Kronolith.php:1748 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:90 +msgid "Day" +msgstr "Dia" + +#: templates/view/view.inc:56 templates/edit/edit.inc:170 +#: templates/prefs/default_alarm_management.inc:28 +msgid "Day(s)" +msgstr "Dia(s)" + +#: lib/Kronolith.php:1798 +msgid "De_lete" +msgstr "Exc_luir" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Dezembro" + +#: lib/Kronolith.php:1172 +msgid "Declined" +msgstr "Recusado" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Ajuste Padrão de Alarme:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Calendário Padrão" + +#: templates/perms/perms.inc:57 templates/perms/perms.inc:81 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:122 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:163 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:204 +#: templates/perms/perms.inc:245 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:286 templates/perms/perms.inc:320 +msgid "Delegate" +msgstr "Delegar" + +#: calendars/index.php:70 templates/calendar_list.php:54 +#: templates/delete/one.inc:24 templates/perms/perms.inc:56 +#: templates/perms/perms.inc:77 templates/perms/perms.inc:97 +#: templates/perms/perms.inc:118 templates/perms/perms.inc:138 +#: templates/perms/perms.inc:159 templates/perms/perms.inc:179 +#: templates/perms/perms.inc:200 templates/perms/perms.inc:241 +#: templates/perms/perms.inc:261 templates/perms/perms.inc:282 +#: templates/perms/perms.inc:316 lib/Driver.php:1329 lib/Driver.php:2295 +#: lib/Forms/DeleteCalendar.php:45 +msgid "Delete" +msgstr "Excluir" + +#: lib/Driver.php:2294 lib/Forms/DeleteCalendar.php:40 +#: lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Excluir %s" + +#: lib/Driver.php:1328 +#, php-format +msgid "Delete exception on %s" +msgstr "Apagar exceção em %s" + +#: templates/search/search.inc:27 templates/search/search_advanced.inc:101 +#: templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "De_scrição" + +#: data.php:63 templates/view/view.inc:155 lib/Forms/CreateCalendar.php:37 +#: lib/Forms/EditCalendar.php:44 +msgid "Description" +msgstr "Descrição" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Exibir" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Opções de Exibição" + +#: templates/calendar_list.php:26 +msgid "Display URL" +msgstr "Exibir URL" + +#: lib/Kronolith.php:1110 +msgid "Does not recur" +msgstr "Não repete" + +#: config/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"Não me enviar uma notificação se eu adicionei, alterei ou apaguei o evento?" + +#: lib/Kronolith.php:674 +#, php-format +msgid "Due: %s" +msgstr "Vencimento: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Duração" + +#: lib/Driver.php:2006 +msgid "Duration Day" +msgstr "Dia de Duração" + +#: lib/Driver.php:2018 +msgid "Duration Hour" +msgstr "Hora de Duração" + +#: lib/Driver.php:2029 +msgid "Duration Minute" +msgstr "Minuto de Duração" + +#: calendars/index.php:68 templates/calendar_list.php:40 +#: templates/calendar_list.php:50 templates/perms/perms.inc:55 +#: templates/perms/perms.inc:73 templates/perms/perms.inc:96 +#: templates/perms/perms.inc:114 templates/perms/perms.inc:137 +#: templates/perms/perms.inc:155 templates/perms/perms.inc:178 +#: templates/perms/perms.inc:196 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:260 templates/perms/perms.inc:278 +#: templates/perms/perms.inc:312 lib/Driver.php:2288 +msgid "Edit" +msgstr "Editar" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2287 +#: lib/Forms/EditRemoteCalendar.php:34 lib/Forms/EditCalendar.php:40 +#: lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "Editar %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Editar Participantes" + +#: perms.php:237 +msgid "Edit Permissions" +msgstr "Editar Permissões" + +#: perms.php:239 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Editar Permissões para %s" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Editar participante" + +#: attendees.php:265 +msgid "Edit attendees" +msgstr "Editar participantes" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Editar categorias e cores" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Editar permissões para %s" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Endereço de E-Mail" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "Fi_m" + +#: data.php:58 +msgid "End Date" +msgstr "Data Final" + +#: templates/data/export.inc:161 lib/Driver.php:1977 +msgid "End Day" +msgstr "Dia Final" + +#: templates/data/export.inc:178 lib/Driver.php:1990 +msgid "End Hour" +msgstr "Hora Final" + +#: templates/data/export.inc:190 lib/Driver.php:2001 +msgid "End Minute" +msgstr "Minuto Final" + +#: templates/data/export.inc:148 lib/Driver.php:1968 +msgid "End Month" +msgstr "Mês Final" + +#: templates/view/view.inc:41 templates/data/export.inc:125 +#: templates/search/event_headers.inc:8 +msgid "End On" +msgstr "Acaba Em" + +#: data.php:59 +msgid "End Time" +msgstr "Horário Final" + +#: templates/data/export.inc:134 lib/Driver.php:1957 +msgid "End Year" +msgstr "Ano Final" + +#: attendees.php:244 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Erro ao obter informação livre/ocupado de %s: %s" + +#: attendees.php:221 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Erro ao obter suas informações de livre/ocupado: %s" + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Padrões do Evento" + +#: lib/Kronolith.php:1595 +msgid "Event added:" +msgstr "Evento adicionado:" + +#: lib/Kronolith.php:1605 +msgid "Event deleted:" +msgstr "Evento apagado:" + +#: lib/Kronolith.php:1600 +msgid "Event edited:" +msgstr "Evento editado:" + +#: lib/Driver.php:1456 +#, php-format +msgid "Event from %s to %s" +msgstr "Evento de %s para %s" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "Evento não encontrado" + +#: lib/Driver/kolab.php:453 lib/Driver/kolab.php:1189 +#: lib/Driver/kolab.php:1228 lib/Driver/kolab.php:1372 +#, php-format +msgid "Event not found: %s" +msgstr "Evento não encontrado: %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:50 +msgid "Events" +msgstr "Eventos" + +#: lib/api.php:300 +#, php-format +msgid "Events from %s" +msgstr "Eventos de %s" + +#: lib/Driver.php:1060 +msgid "Events must have a start date." +msgstr "Eventos devem possuir uma data de início." + +#: lib/Driver.php:1022 +msgid "Events must have a title." +msgstr "Eventos devem possuir um título." + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "Exceções" + +#: templates/data/export.inc:209 lib/Kronolith.php:1805 +msgid "Export" +msgstr "Exportar" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Exportar Calendário" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Eventos Externos:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Fevereiro" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Campos para Pesquisar" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Encontrar" + +#: templates/edit/edit.inc:239 templates/javascript/goto.js:63 +#: lib/Views/Year.php:81 lib/Block/month.php:107 +msgid "Fr" +msgstr "Sex" + +#: lib/Kronolith.php:1148 +msgid "Free" +msgstr " Livre" + +#: config/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "Informação Livre/Ocupado" + +#: templates/view/view.inc:103 templates/month/head.inc:21 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "Sexta-Feira" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:38 +msgid "Future" +msgstr "Futuro" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Jogo" + +#: templates/search/search_advanced.inc:18 +msgid "General" +msgstr "Geral" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Ir Para %s" + +#: templates/perms/perms.inc:256 +msgid "Groups" +msgstr "Grupos" + +#: templates/perms/perms.inc:92 +msgid "Guest Permissions" +msgstr "Permissões de Convidado" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Ocultar" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Feriados" + +#: templates/view/view.inc:59 templates/edit/edit.inc:169 +#: templates/prefs/default_alarm_management.inc:27 +msgid "Hour(s)" +msgstr "Hora(s)" + +#: config/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "" +"Qual o intervalo de tempo a ser mostrado na exibição de dia e de semana?" + +#: config/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "Quantos dias de informação de Livre/Ocupado devem ser gerados?" + +#: lib/Kronolith.php:1446 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Se o seu cliente de e-mail não suporta requisições iTip você poderá usar um " +"dos seguintes links para aceitar ou recursar o evento.\n" +"\n" +"Para aceitar o evento:\n" +"%s\n" +"\n" +"Para aceitar o evento provisoriamente:\n" +"%s\n" +"\n" +"Para recusar o evento:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importar Calendário, Passo %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Importar/Exportar Calendário" + +#: templates/perms/perms.inc:174 +msgid "Individual Users" +msgstr "Usuários individuais" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Janeiro" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Julho" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Junho" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "Palavras-chave" + +#: templates/calendar_list.php:25 +msgid "Kind" +msgstr "Tipo" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "Últimas 24 horas" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Última Modificação" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Último Mês" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Último Ano" + +#: templates/search/search.inc:53 templates/week/head.inc:6 +msgid "Last week" +msgstr "Última semana" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Limitar o interválo de tempo para exportar:" + +#: config/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Listar todos contatos quando carregar a tela de contatos? (se desabilitado, " +"você verá somente contatos que você explicitamente pesquisar)" + +#: templates/search/search_advanced.inc:81 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "Lo_cal" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Carregando ..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Carregando..." + +#: templates/calendar_list.php:47 +msgid "Local" +msgstr "Local" + +#: templates/calendar_info.php:18 +#, php-format +msgid "Local calendar owned by %s." +msgstr "Calendário local pertence a %s." + +#: data.php:65 templates/view/view.inc:14 templates/search/event_headers.inc:5 +#: lib/Driver.php:2318 +msgid "Location" +msgstr "Local" + +#: lib/Kronolith.php:1427 +#, php-format +msgid "Location: %s" +msgstr "Local: %s" + +#: calendars/index.php:74 templates/calendar_list.php:4 +msgid "Manage Calendars" +msgstr "Gerenciar Calendários" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Março" + +#: lib/api.php:138 +msgid "Maximum Number of Events" +msgstr "Número Máximo de Eventos" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Número máximo de eventos a exibir (0 = sem limite)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Maio" + +#: lib/Driver.php:2314 +msgid "Me" +msgstr "Eu" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Reunião" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Menu de Alarmes" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Lista de Menu" + +#: templates/view/view.inc:62 templates/edit/edit.inc:168 +#: templates/prefs/default_alarm_management.inc:26 +msgid "Minute(s)" +msgstr "Minuto(s)" + +#: templates/edit/edit.inc:235 templates/javascript/goto.js:59 +#: lib/Views/Year.php:77 lib/Block/month.php:107 +msgid "Mo" +msgstr "Seg" + +#: templates/view/view.inc:99 templates/month/head.inc:17 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:114 +msgid "Monday" +msgstr "Segunda-Feira" + +#: attendees.php:197 lib/Kronolith.php:1754 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:93 +msgid "Month" +msgstr "Mês" + +#: config/prefs.php.dist:173 config/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "Exibição de Mês, Semana, e Dia" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Mensalmente" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "Mensal: Repete a cada" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Próximos Meses" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Meses Anteriores" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Abaixo" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Acima" + +#: lib/api.php:1088 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Múltiplos compenentes iCalendar encontrados; somente um vEvent é suportado." + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Meus Calendários:" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "Minha URL Livre/Ocupado" + +#: templates/contacts/contacts.inc:188 +#: lib/Forms/SubscribeRemoteCalendar.php:36 lib/Forms/CreateCalendar.php:36 +#: lib/Forms/EditRemoteCalendar.php:36 lib/Forms/EditCalendar.php:43 +msgid "Name" +msgstr "Nome" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Novo Evento" + +#: lib/Kronolith.php:398 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Novo calendário criado e automaticamente compartilhado com o(s) seguinte(s) " +"grupo(s): %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Próxima" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Próximas 24 horas" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Próximo Dia" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "Próximo Mês" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Próxima Semana" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Próximo Ano" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Próximo dia" + +#: templates/search/search.inc:57 templates/week/head.inc:8 +msgid "Next week" +msgstr "Próxima Semana" + +#: config/prefs.php.dist:336 config/prefs.php.dist:349 +#: config/prefs.php.dist:370 +msgid "No" +msgstr "Não" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "Nenhuma Informação" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "Sem alarme" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Nenhum Participante" + +#: lib/api.php:1226 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Nenhum participante recebeu atualização porque nenhum endereço de e-mail " +"fornecido foi encontrado na lista de participantes do evento." + +#: lib/Kronolith.php:1997 +msgid "No calendars are available to guests." +msgstr "Nenhum calendário está disponível para convidados." + +#: lib/Driver/sql.php:418 +msgid "No calendars to search" +msgstr "Não há calendários para pesquisar" + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "Sem data final" + +#: lib/Block/prevmonthlist.php:166 lib/Block/monthlist.php:175 +#: lib/Block/summary.php:205 +msgid "No events to display" +msgstr "Nenhum evento para exibir" + +#: lib/FreeBusy.php:235 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" +"Nenhuma informação de livre/ocupado encontrada na URL de livre/ocupado de %s." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Nenhuma informação livre/ocupado está disponível para %s" + +#: lib/FreeBusy.php:236 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Nenhuma URL de livre/ocupado encontrada para %s." + +#: lib/api.php:512 lib/api.php:801 lib/api.php:841 lib/api.php:1095 +msgid "No iCalendar data was found." +msgstr "Nenhum dado iCalendar foi encontrado." + +#: templates/edit/edit.inc:221 lib/Driver.php:1313 lib/Recurrence.php:191 +msgid "No recurrence" +msgstr "Sem recorrência" + +#: lib/FreeBusy.php:168 +msgid "No valid email address found" +msgstr "Nenhum endereço de e-mail válido foi encontrado" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1179 +#: lib/Kronolith.php:1200 +msgid "None" +msgstr "Nenhuma" + +#: lib/Views/DeleteEvent.php:27 lib/Views/EditEvent.php:27 +#: lib/Views/Event.php:26 +msgid "Not Found" +msgstr "Não Encontrado" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Não encontrado" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Notificações" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Novembro" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Agora" + +#: templates/perms/perms.inc:133 +msgid "Object Creator" +msgstr "Criador do Objeto" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Outubro" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Em" + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "Em todos os calendários em que eu tenha accesso" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "Em todos os calendários exibidos" + +#: config/prefs.php.dist:337 config/prefs.php.dist:350 +#: config/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "Somente em meu calendário" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Somente o proprietário ou o administrador do sistema podem alterar as " +"permissões de propriedade ou proprietário de um compartilhamento" + +#: lib/Kronolith.php:1197 +msgid "Optional" +msgstr "Opcional" + +#: lib/FBView.php:120 +msgid "Optional Attendees" +msgstr "Participantes Opcionais" + +#: config/prefs.php.dist:68 +msgid "Other Options" +msgstr "Outras Opções" + +#: lib/FBView.php:155 +msgid "Overview" +msgstr "Visão geral" + +#: templates/view/view.inc:28 templates/perms/perms.inc:22 +msgid "Owner" +msgstr "Proprietário" + +#: templates/perms/perms.inc:28 templates/perms/perms.inc:39 +msgid "Owner:" +msgstr "Proprietário:" + +#: lib/Driver.php:2313 +#, php-format +msgid "Owner: %s" +msgstr "Proprietário: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "Senha" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "Modelo" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Excluir este evento permanentemente?" + +#: lib/api.php:671 lib/api.php:715 lib/api.php:747 lib/api.php:780 +#: lib/api.php:880 lib/api.php:933 lib/api.php:1031 lib/api.php:1065 +#: lib/api.php:1156 lib/api.php:1216 lib/api.php:1282 lib/api.php:1312 +#: lib/Kronolith.php:1899 lib/Kronolith.php:1918 lib/Kronolith.php:1931 +#: lib/Kronolith.php:1952 lib/Driver/sql.php:801 +msgid "Permission Denied" +msgstr "Permissão Negada" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Permissão negada" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Por favor corrija endereços inválidos ou ambíguos." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Opções do Portal" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "Possível Horário da Reunião" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Dia Anterior" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Mês Anterior" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Semana Anterior" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Dia anterior" + +#: config/prefs.php.dist:174 config/prefs.php.dist:186 +msgid "Print Views" +msgstr "Exibições de Impressão" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Eventos Anteriores" + +#: lib/Driver.php:1452 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Evento privado de %s para %s" + +#: lib/Driver.php:2258 +msgid "Private event" +msgstr "Evento privado" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Privado?" + +#: templates/perms/perms.inc:54 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:95 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:136 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:177 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:259 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:308 +msgid "Read" +msgstr "Ler" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"Realmente apagar o calendário \"%s\"? Isto não pode ser desfeito e todos os " +"dados deste calendário serão permanentemente removidos." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "Realmente cancelar a assinatura do calendário \"%s\" (%s)?" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "Repetir Até" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "Repetição" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Dados da Repetição" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Data Final da Repetição" + +#: lib/Driver.php:2072 +msgid "Recurrence End Day" +msgstr "Dia Final de Recorrência" + +#: lib/Driver.php:2057 +msgid "Recurrence End Month" +msgstr "Mês Final de Recorrência" + +#: lib/Driver.php:2040 +msgid "Recurrence End Year" +msgstr "Ano Final de Recorrência" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Intervalo de Repetição" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Tipo de Repetição" + +#: lib/Kronolith.php:1113 +msgid "Recurs daily" +msgstr "Repete diariamente" + +#: lib/Kronolith.php:1120 +msgid "Recurs monthly" +msgstr "Repete mensalmente" + +#: lib/Kronolith.php:1116 +msgid "Recurs weekly" +msgstr "Repete semanalmente" + +#: lib/Kronolith.php:1125 +msgid "Recurs yearly" +msgstr "Repete anualmente" + +#: lib/Scheduler/kronolith.php:267 +#, php-format +msgid "Reminder: %s" +msgstr "Lembrete: %s" + +#: templates/calendar_list.php:37 +msgid "Remote" +msgstr "Remoto" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Calendários Remotos de: " + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Calendários Remotos:" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Remover" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Remover %s" + +#: attendees.php:187 +msgid "Remove Attendee" +msgstr "Remover Participante" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Remover origem" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"A remoção de dados de usuário não é suportada com a atual estrutura de " +"armazenamento de calendário." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Substituir o calendário existente pelo importado? Aviso: Isso " +"apagará todos os registros do calendário atual." + +#: lib/Kronolith.php:1204 +msgid "Required" +msgstr "Obrigatório" + +#: lib/FBView.php:98 lib/FBView.php:140 lib/FBView.php:143 lib/FBView.php:146 +msgid "Required Attendees" +msgstr "Participantes Obrigatórios" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Retornar para os padrões" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "Resposta" + +#: config/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Restringir a exibição de dia e semana a esses espaços de tempo, mesmo que " +"haja eventos anteriores ou posteriores?" + +#: templates/edit/edit.inc:240 templates/javascript/goto.js:64 +#: lib/Views/Year.php:82 lib/Block/month.php:107 +msgid "Sa" +msgstr "Sab" + +#: templates/view/view.inc:104 templates/month/head.inc:22 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "Sábado" + +#: templates/panel.inc:83 lib/Forms/EditRemoteCalendar.php:41 +#: lib/Forms/EditCalendar.php:46 +msgid "Save" +msgstr "Gravar" + +#: templates/perms/perms.inc:331 +#, php-format +msgid "Save %s" +msgstr "Gravar %s" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1790 +#: lib/Views/EditEvent.php:79 lib/Views/EditEvent.php:89 +msgid "Save As New" +msgstr "Gravar Como Novo" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Gravar Participantes" + +#: new.php:56 lib/Views/EditEvent.php:82 +msgid "Save Event" +msgstr "Gravar Evento" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Gravar e Terminar" + +#: search.php:91 templates/search/search.inc:66 +#: templates/search/search_advanced.inc:113 +#: templates/contacts/contacts.inc:155 lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Pesquisar" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Resultados da Pesquisa" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Pesquisar por Calendários:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Resultados da pesquisa" + +#: lib/Storage.php:131 +msgid "Searching free/busy is not available." +msgstr "Pesquisa de livre/ocupado não está disponível." + +#: templates/edit/edit_timespan.inc:29 templates/edit/edit_timespan.inc:79 +#: templates/edit/edit.inc:302 +msgid "Select a date" +msgstr "Selecione uma data" + +#: templates/perms/perms.inc:296 +msgid "Select a group to add" +msgstr "Selecione um grupo para adicionar" + +#: templates/perms/perms.inc:294 +msgid "Select a group to add:" +msgstr "Selecione um grupo para adicionar:" + +#: templates/perms/perms.inc:30 +msgid "Select a new owner:" +msgstr "Selecione um novo proprietário:" + +#: templates/perms/perms.inc:213 templates/perms/perms.inc:215 +msgid "Select a user to add:" +msgstr "Selecione um usuário para adicionar:" + +#: config/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Selecione os contatos para adicionar e pesquisar endereços." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Selecione os campos para pesquisar ao expandir endereços." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Selecione opções de confirmação, como exibir diferentes visualizações e " +"escolha uma visualização padrão." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Selecione o calendário para onde importar:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Selecione o(s) calendário(s) dos quais exportar" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Selecione o formato para exportar:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Selecione o arquivo para importar:" + +#: config/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "Selecione o primeiro dia da semana:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Selecione o formato do arquivo de origem:" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Selecione o tempo de duração para exibir:" + +#: config/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "Selecione a visualização para exibir na inicialização:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Selecione quais eventos exibir no portal." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Contatos Selecionados:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Selecione endereços" + +#: templates/delete/one.inc:19 templates/delete/delete.inc:21 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Enviar uma notificação de cancelamento para todos os participantes quando " +"apagar este evento?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Enviar um e-mail para %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Enviar convites para todos os participantes?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Enviar atualizações para todos os participantes?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Setembro" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Definir valores padrão para novos eventos." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Definir data final" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Definir data final da repetição" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Definir data de início" + +#: config/prefs.php.dist:62 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "" +"Definir seus calendários Livre/Ocupado e as opções Livre/Ocupado suas e de " +"outros usuários." + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Calendários Compartilhados:" + +#: templates/perms/perms.inc:53 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:94 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:135 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:176 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:258 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:304 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "Exibir" + +#: config/prefs.php.dist:218 +msgid "Show Free/Busy legend?" +msgstr "Exibir legenda Livre/Ocupado?" + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Exibir painel de opções de calendário?" + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Exibir legenda das categorias?" + +#: config/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"Exibir os ícones de exclusão, aviso e repetição nas visualizações do " +"calendário?" + +#: config/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "Usar cores de categorias para exibir eventos externos?" + +#: config/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "Exibir apenas eventos que tenham definição de alarme?" + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "Exibir calendários compartilhados lado a lado?" + +#: config/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "Exibir as horas entre cada dia nas visualizações semanais?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "_Começo" + +#: data.php:56 +msgid "Start Date" +msgstr "Data Inicial" + +#: templates/data/export.inc:68 lib/Driver.php:1932 +msgid "Start Day" +msgstr "Dia Inicial" + +#: templates/data/export.inc:87 lib/Driver.php:1943 +msgid "Start Hour" +msgstr "Hora Inicial" + +#: templates/data/export.inc:102 lib/Driver.php:1953 +msgid "Start Minute" +msgstr "Minuto Inicial" + +#: templates/data/export.inc:54 lib/Driver.php:1923 +msgid "Start Month" +msgstr "Mês Inicial" + +#: templates/view/view.inc:35 templates/data/export.inc:37 +#: templates/search/event_headers.inc:7 +msgid "Start On" +msgstr "Inicia Em" + +#: data.php:57 +msgid "Start Time" +msgstr "Hora Inicial" + +#: templates/data/export.inc:39 lib/Driver.php:1912 +msgid "Start Year" +msgstr "Ano Inicial" + +#: templates/search/search_advanced.inc:91 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "Sit_uação" + +#: templates/view/view.inc:21 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "Situação" + +#: lib/Storage.php:139 +msgid "Storing free/busy is not available." +msgstr "Armazenamento de livre/ocupado não está disponível." + +#: templates/edit/edit.inc:241 templates/javascript/goto.js:65 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:109 +#: lib/Block/month.php:111 +msgid "Su" +msgstr "Dom" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "Assinar" + +#: templates/calendar_list.php:17 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "Assinar um Calendário Remoto" + +#: templates/calendar_list.php:27 +msgid "Subscription URL" +msgstr "URL de assinatura" + +#: templates/view/view.inc:105 templates/month/head.inc:15 +#: templates/month/head.inc:24 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:113 +msgid "Sunday" +msgstr "Domingo" + +#: lib/Kronolith.php:1152 lib/Kronolith.php:1175 +msgid "Tentative" +msgstr "Provisório" + +#: templates/edit/edit.inc:238 templates/javascript/goto.js:62 +#: lib/Views/Year.php:80 lib/Block/month.php:107 +msgid "Th" +msgstr "Qui" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "O arquivo %s não continha nenhum evento." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "A estrutura de Calendário não está disponível no momento." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "A estrutura de Calendário não está disponível no momento: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "A tela Editar Participantes não está mais disponível. Saindo." + +#: lib/api.php:1236 +msgid "" +"The attendee hasn't been updated because the update was not sent from the " +"attendee." +msgstr "" +"O participante não foi atualizado porque a atualização não partiu dele." + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "O calendário \"%s\" foi criado." + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "O calendário \"%s\" foi excluído." + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "O calendário \"%s\" foi renomeado para \"%s\"." + +#: calendars/remote_edit.php:49 calendars/edit.php:46 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "O calendário \"%s\" foi gravado." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Não foi possível apagar o calendário: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "A data final deve ser maior que a data inicial." + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" +"O evento \"%s\" foi adicionado ao calendário \"%s\" , que não está no %s em %" +"s." + +#: lib/Kronolith.php:1606 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"O evento \"%s\" foi apagado do calendário \"%s\" , que estava no %s em %s." + +#: lib/Kronolith.php:1601 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"O evento \"%s\" foi editado no calendário \"%s\" , que está no %s em %s." + +#: lib/Kronolith.php:1486 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "A notificação de evento para %s foi enviada com sucesso." + +#: lib/Kronolith.php:1440 +msgid "The following is a more detailed description of the event:" +msgstr "Segue uma descrição mais detalhada do evento:" + +#: lib/FreeBusy.php:193 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Não foi possível obter a url de livre/ocupado para %s." + +#: calendars/remote_edit.php:36 calendars/remote_unsubscribe.php:36 +msgid "The remote calendar was not found." +msgstr "O calendário remoto não foi encontrado." + +#: attend.php:45 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"A requisição foi incompleta. Alguns parâmetros necessários para aceitar ou " +"recusar um evento estão faltando." + +#: lib/Views/DeleteEvent.php:40 lib/Views/EditEvent.php:43 +#: lib/Views/Event.php:41 +msgid "The requested event was not found." +msgstr "O evento requisitado não foi encontrado." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Não existem eventos correspondentes ao critério atual." + +#: edit.php:46 edit.php:68 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Houve um erro ao acessar o calendário: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Houve um erro ao adicionar o evento: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Houve um erro ao editar o evento: %s" + +#: lib/api.php:504 lib/api.php:793 lib/api.php:1080 +msgid "There was an error importing the iCalendar data." +msgstr "Houve um erro ao importar os dados do iCalendar." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Houve um erro ao mover o evento: %s" + +#: lib/Kronolith.php:1491 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Houve um erro ao enviar uma notificação de evento para %s: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Não existiam eventos para exportar." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Este Mês" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Este calendário não pode ser apagado." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Este formato de arquivo não é suportado." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Este é um evento recorrente. Apagar apenas o evento atual, esta
      ocorrência e todas as futuras ocorrências, ou todas as ocorrências?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Este é um evento recorrente. Editar o apenas evento atual, esta " +"ocorrência
      e todas as futuras ocorrências, todas as ocorrências, or " +"gravar este evento como novo?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "Isto foi o que o servidor retornou: %s" + +#: templates/view/view.inc:102 templates/month/head.inc:20 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "Quinta-Feira" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "Interv_alo" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Intervalo" + +#: templates/search/search_advanced.inc:28 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "_Título" + +#: data.php:55 templates/search/search.inc:19 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Título" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Para selecionar vários campos, segure Control (PC) ou Command (Mac) ao " +"clicar." + +#: templates/calendar_info.php:19 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" +"Para assinar este calendário a partir de outro programa de calendário, use " +"esta URL: " + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:140 +msgid "Today" +msgstr "Hoje" + +#: lib/Block/prevmonthlist.php:127 lib/Block/monthlist.php:134 +#: lib/Block/summary.php:142 +msgid "Tomorrow" +msgstr "Amanhã" + +#: templates/edit/edit.inc:236 templates/javascript/goto.js:60 +#: lib/Views/Year.php:78 lib/Block/month.php:107 +msgid "Tu" +msgstr "Ter" + +#: templates/view/view.inc:100 templates/month/head.inc:18 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "Terça-Feira" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Tipo" + +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Impossível conectar ao servidor SQL." + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Impossível excluir \"%s\": %s" + +#: lib/api.php:622 +#, php-format +msgid "Unable to delete calendar \"%s\": %s" +msgstr "Impossível excluir o calendário \"%s\": %s" + +#: lib/Storage.php:58 lib/Driver.php:206 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Impossível carregar a definição de %s." + +#: attendees.php:66 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "Impossível reconhecer \"%s\" como um endereço de e-mail." + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Impossível renomear \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Impossível obter a informação livre/ocupado de %s" + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Impossível gravar o calendário \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Normal" + +#: lib/api.php:1381 lib/api.php:1417 +msgid "Unknown calendar protocol" +msgstr "Protocolo de calendário desconhecido" + +#: templates/calendar_list.php:44 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "Cancelar assinatura" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "Cancelar assinatura de %s" + +#: lib/api.php:573 lib/api.php:848 lib/api.php:904 lib/api.php:967 +#: lib/api.php:1100 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Tipo de Conteúdo não suportado: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Próximos Eventos" + +#: perms.php:231 +#, php-format +msgid "Updated \"%s\"." +msgstr "Atualizado \"%s\"." + +#: lib/Kronolith.php:1417 +#, php-format +msgid "Updated: %s." +msgstr "Atualizado: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Interface do Usuário" + +#: templates/perms/perms.inc:223 +msgid "User to add:" +msgstr "Usuário para adicionar:" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +msgid "Username" +msgstr "Usuário" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:164 +#: lib/Block/month.php:167 +msgid "View Day" +msgstr "Visualização Diária" + +#: templates/edit/edit.inc:237 templates/javascript/goto.js:61 +#: lib/Views/Year.php:79 lib/Block/month.php:107 +msgid "We" +msgstr "Qua" + +#: lib/Driver.php:1186 lib/Scheduler/kronolith.php:271 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Gostaríamos de lembrá-lo destes próximos eventos.\n" +"\n" +"%s\n" +"\n" +"Local: %s\n" +"\n" +"Data: %s\n" +"Hora: %s\n" +"\n" +"%s" + +#: templates/view/view.inc:101 templates/month/head.inc:19 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "Quarta-Feira" + +#: attendees.php:196 lib/Kronolith.php:1752 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:91 +msgid "Week" +msgstr "Semana" + +#: week.php:16 workweek.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Semana %d" + +#: templates/view/view.inc:53 templates/edit/edit.inc:171 +#: templates/prefs/default_alarm_management.inc:29 +msgid "Week(s)" +msgstr "Semana(s)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Semanalmente" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "Semanalmente: Repete a cada" + +#: config/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"A que horas devem terminar as exibições de dia e semana, quando não houver " +"eventos mais tarde?" + +#: config/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"A que horas devem começar as exibições de dia e semana, quando não houver " +"eventos mais cedo?" + +#: config/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Que tipo de feriados você deseja que sejam exibidos?" + +#: attendees.php:195 lib/Kronolith.php:1750 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:92 +msgid "Work Week" +msgstr "Dias Úteis" + +#: lib/Kronolith.php:1756 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Ano" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Anualmente" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "Anual: repete a cada" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Você não pode alterar este calendário." + +#: data.php:41 data.php:261 new.php:19 edit.php:27 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Você não pode criar mais do que %d eventos." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Você não pode apagar este calendário." + +#: lib/api.php:154 +msgid "You are not allowed to remove user data." +msgstr "Você não pode remover dados do usuário." + +#: attend.php:58 +msgid "You are not an attendee of the specified event." +msgstr "Você não é um participante desse evento específico." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"Você pode utilizar este formulário somente a partir da tela Editar " +"Participantes." + +#: lib/Kronolith.php:1366 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Você não tem um endereço de e-mail configurado nas suas Opções de " +"Informações Pessoais. Você deve definir um %saqui%s antes de enviar as " +"notificações de eventos." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Você não tem permissão de adicionar eventos em %s." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "" +"Você não tem permissões de adicionar eventos ao calendário selecionado." + +#: edit.php:162 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Você não tem permissão para delegar eventos para %s." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Você não tem permissão de excluir este evento." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "Você não tem permissão de editar este evento." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "Você não tem permissão para mover este evento." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "Você foi inscrito em \"%s\" (%s)." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "Foi cancelada sua assinatura de \"%s\" (%s)." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Você especificou um calendário inválido." + +#: attend.php:25 +msgid "You have successfully accepted attendence to this event." +msgstr "Você aceitou com sucesso a participação neste evento." + +#: attend.php:30 +msgid "You have successfully declined attendence to this event." +msgstr "Você recusou com sucesso a participação neste evento." + +#: attend.php:35 +msgid "You have tentatively accepted attendence to this event." +msgstr "Você aceitou provisoriamente a participação neste evento." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Você deve selecionar um endereço primeiro." + +#: lib/Kronolith.php:1596 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Você solicitou ser notificado quando eventos são adicionados a seus " +"calendários." + +#: lib/Kronolith.php:1606 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Você requisitou ser notificado quando eventos forem apagados dos seus " +"calendários." + +#: lib/Kronolith.php:1601 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Você requisitou ser notificado quando eventos forem editados nos seus " +"calendários." + +#: lib/Scheduler/kronolith.php:437 lib/Scheduler/kronolith.php:440 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Sua agenda diária para %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Seu calendário padrão" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Gerenciar Calendários]" + +#: lib/Driver.php:1434 lib/Driver.php:1454 +msgid "[Unnamed event]" +msgstr "[Evento sem nome]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Alarme" + +#: templates/search/search_advanced.inc:9 +msgid "_Basic Search" +msgstr "Pesquisa _Simples" + +#: lib/Kronolith.php:1790 +msgid "_Edit" +msgstr "_Editar" + +#: lib/Kronolith.php:2012 +msgid "_Goto" +msgstr "_Ir Para" + +#: lib/Kronolith.php:2018 +msgid "_Import/Export" +msgstr "Importar/E_xportar" + +#: lib/Kronolith.php:2008 +msgid "_New Event" +msgstr "_Novo Evento" + +#: lib/Kronolith.php:2023 +msgid "_Print" +msgstr "I_mprimir" + +#: lib/Kronolith.php:2014 +msgid "_Search" +msgstr "_Pesquisar" + +#: lib/Kronolith.php:2003 +msgid "_Today" +msgstr "_Hoje" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "como %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "antes de iniciar o evento" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"antes de os eventos começarem. Um valor \"0\" significa nenhum alarme padrão." + +#: lib/Views/Event.php:62 lib/Views/Event.php:71 +#, php-format +msgid "by %s" +msgstr "por %s" + +#: lib/Views/Event.php:64 lib/Views/Event.php:73 +msgid "by me" +msgstr "por mim" + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "dia" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "dia(s)" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "dias" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "eventos.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "eventos.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "em" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "mês(es)" + +#: lib/Kronolith.php:1423 +#, php-format +msgid "on %s at %s" +msgstr "no %s em %s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "na mesma data" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "na mesma semana" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "recorrências" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "semana" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "semana(s) em:" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "semanas" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "ano(s) na mesma data" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "ano(s) no mesmo dia do ano" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "ano(s) no mesmo dia útil e mês do ano" diff --git a/kronolith/po/pt_PT.po b/kronolith/po/pt_PT.po new file mode 100644 index 000000000..b3aaef3d7 --- /dev/null +++ b/kronolith/po/pt_PT.po @@ -0,0 +1,1920 @@ +# KRONOLITH Portugal Portuguese translation. +# Manuel Menezes de Sequeira , 2005. +# Based on a previous +# KRONOLITH BRAZILIAN PORTUGUESE LANGUAGE FILE. +# Copyright 2001 Samuel Mota. +# SAMUEL MOTA , 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith-0.0.3-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:28-0000\n" +"Last-Translator: Manuel Menezes de Sequeira \n" +"Language-Team: Portuguese of Portugal \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=ISO-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/calendars/search.inc:16 +#, php-format +msgid "%d calendars found" +msgstr "%d calendários encontrados" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d eventos" + +#: templates/edit/edit_timespan.inc:121 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Dia(s) %s Hora(s) %s Minuto(s)" + +#: lib/Driver.php:1913 +#, php-format +msgid "%s attendees" +msgstr "%s participantes" + +#: data.php:296 +#, php-format +msgid "%s file successfully imported" +msgstr "arquivo %s importado com sucesso" + +#: calendars.php:105 lib/base.php:132 +#, php-format +msgid "%s's Calendar" +msgstr "Calendário de %s" + +#: templates/calendars/search.inc:17 +msgid "" +"(Click on calendar name to switch the calendar's visibility in the main " +"window)" +msgstr "" +"(Clique sobre o nome de um calendário para alterar a sua visibilidade na " +"janela principal)" + +#: templates/contacts/contacts.inc:165 +msgid "* Add these by clicking Add *" +msgstr "* Adicione-os clicando em Adicionar *" + +#: templates/contacts/contacts.inc:151 +msgid "* Please select address(es) *" +msgstr "* Por favor seleccione endereço(s) *" + +#: lib/Driver.php:1912 +msgid "1 attendee" +msgstr "1 participante" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 evento" + +#: config/prefs.php.dist:138 +msgid "1 hour" +msgstr "1 hora" + +#: config/prefs.php.dist:135 +msgid "15 minutes" +msgstr "15 minutos" + +#: config/prefs.php.dist:136 +msgid "20 minutes" +msgstr "20 minutos" + +#: config/prefs.php.dist:137 +msgid "30 minutes" +msgstr "30 minutos" + +#: templates/edit/edit.inc:171 +msgid "Attendees (optional)" +msgstr "Participantes (opcional)" + +#: templates/edit/edit.inc:149 +msgid "Descri_ption (optional)" +msgstr "Des_crição (opcional)" + +#: templates/edit/edit.inc:275 +msgid "Keywords (optional)" +msgstr "Pala_vras-Chave (opcional)" + +#: templates/edit/edit.inc:194 +msgid "Recurrence (optional)" +msgstr "Recorrência (opcional)" + +#: templates/data/export.inc:113 templates/data/export.inc:193 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:660 +msgid "Accepted" +msgstr "Aceite" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Procura _Avançada" + +#: templates/contacts/contacts.inc:160 +msgid "Add" +msgstr "Adicionar" + +#: templates/edit/edit.inc:26 +msgid "Add Event" +msgstr "Adicionar Evento" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Adicionar um novo Calendário Remoto" + +#: addevent.php:64 +msgid "Add a new event" +msgstr "Adicionar um novo evento" + +#: templates/attendees/attendees.inc:71 +msgid "Add attendees" +msgstr "Adicionar participantes" + +#: templates/contacts/contacts.inc:185 +msgid "Add to attendees" +msgstr "Adicionar aos participantes" + +#: contacts.php:76 templates/contacts/contacts.inc:128 +#: templates/attendees/attendees.inc:74 +msgid "Address Book" +msgstr "Livro de Endereços" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Procura Avançada" + +#: templates/view/view.inc:53 +msgid "Alarm" +msgstr "Aviso" + +#: lib/Driver.php:1888 +#, php-format +msgid "Alarm %d days before" +msgstr "Aviso %d dias antes" + +#: lib/Driver.php:1893 +#, php-format +msgid "Alarm %d hours before" +msgstr "Aviso %d horas antes" + +#: lib/Driver.php:1898 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Aviso %d minutos antes" + +#: lib/Driver.php:1883 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Aviso %d semanas antes" + +#: lib/Driver.php:1887 +msgid "Alarm 1 day before" +msgstr "Aviso 1 dia antes" + +#: lib/Driver.php:1892 +msgid "Alarm 1 hour before" +msgstr "Aviso 1 hora antes" + +#: lib/Driver.php:1897 +msgid "Alarm 1 minute before" +msgstr "Aviso 1 minuto antes" + +#: lib/Driver.php:1882 +msgid "Alarm 1 week before" +msgstr "Aviso 1 semana antes" + +#: data.php:59 +msgid "Alarm Date" +msgstr "Data do Aviso" + +#: data.php:58 +msgid "Alarm Span (minutes)" +msgstr "Duração do Aviso (minutos)" + +#: data.php:60 +msgid "Alarm Time" +msgstr "Hora do Aviso" + +#: templates/delete/delete.inc:34 +msgid "All" +msgstr "Tudo" + +#: lib/FBView.php:128 lib/FBView.php:131 lib/FBView.php:134 +msgid "All Attendees" +msgstr "Todos os Participantes" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Todo o Futuro" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Todo o Passado" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:25 +msgid "All Visible" +msgstr "Tudo o Visível" + +#: templates/edit/edit_timespan.inc:120 lib/DayView.php:90 lib/DayView.php:93 +#: lib/WeekView.php:127 lib/WeekView.php:134 lib/Driver.php:1974 +msgid "All day" +msgstr "Todo o dia" + +#: lib/Block/summary.php:164 +msgid "All day event" +msgstr "Evento de todo o dia" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Todos os eventos" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:753 +msgid "Any" +msgstr "Qualquer" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Abril" + +#: templates/edit/edit_timespan.inc:38 templates/edit/edit_timespan.inc:91 +#: templates/data/export.inc:82 templates/data/export.inc:168 +msgid "At" +msgstr "Às" + +#: lib/Kronolith.php:1117 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Em anexo está um arquivo iCalendar com mais informação sobre o evento. Se o " +"seu cliente de correio electrónico suportar pedidos iTip, pode usar este " +"ficheiro para actualizar com facilidade a sua cópia local do evento." + +#: templates/attendees/attendees.inc:42 templates/view/view.inc:165 +msgid "Attendance" +msgstr "Participação" + +#: templates/view/view.inc:161 +msgid "Attendees" +msgstr "Participantes" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Agosto" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "Procura Básica" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Data de nascimento" + +#: lib/FBView.php:90 lib/FBView.php:111 +msgid "Busy" +msgstr "Ocupado" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "C_alendário" + +#: templates/edit/edit.inc:51 +msgid "Cal_endar" +msgstr "Cal_endário" + +#: templates/calendars/calendars.inc:150 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Calendário" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Sumário do Calendário" + +#: data.php:240 +msgid "Calendar successfully purged." +msgstr "Calendário purgado com sucesso." + +#: config/prefs.php.dist:36 config/prefs.php.dist:43 config/prefs.php.dist:50 +#: config/prefs.php.dist:57 +msgid "Calendars" +msgstr "Calendários" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Os calendários têm de ter um nome" + +#: data.php:256 +msgid "Can't create a new event." +msgstr "Impossível criar novo evento." + +#: templates/delete/one.inc:33 templates/delete/delete.inc:35 +#: templates/edit/edit.inc:35 templates/edit/edit.inc:308 +msgid "Cancel" +msgstr "Cancelar" + +#: lib/Kronolith.php:636 +msgid "Cancelled" +msgstr "Cancelado" + +#: lib/Kronolith.php:1091 +#, php-format +msgid "Cancelled: %s" +msgstr "Cancelado: %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:69 +msgid "Categor_y" +msgstr "Categor_ia" + +#: data.php:62 templates/search/event_headers.inc:4 templates/view/view.inc:13 +msgid "Category" +msgstr "Categoria" + +#: config/prefs.php.dist:280 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Escolha se deseja ser notificado via correio electrónico acerca de eventos " +"novos, modificados ou removidos:" + +#: config/prefs.php.dist:52 +msgid "Choose if you want to be notified of new, edited, and deleted events." +msgstr "" +"Escolha se deseja ser notificado acerca de eventos novos, modificados ou " +"removidos." + +#: config/prefs.php.dist:293 +msgid "Choose if you want to receive email reminders for events with alarms:" +msgstr "" +"Escolha se deseja receber lembretes via correio electrónico para eventos com " +"avisos:" + +#: templates/prefs/search_abook_select.inc:19 config/prefs.php.dist:313 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "" +"Escolha os livros de endereços nos quais procurar por URL Livre/Ocupado:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Escolha os calendários a incluir na sua informação livre/ocupado:" + +#: config/prefs.php.dist:336 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "" +"Escolha os calendários a incluir aquando da geração dos URL livre/ocupado:" + +#: config/prefs.php.dist:38 +msgid "Choose your default calendar." +msgstr "Escolha o seu calendário por omissão." + +#: templates/attendees/attendees.inc:85 +msgid "Clear all attendees" +msgstr "Remover todos os participantes" + +#: templates/contacts/contacts.inc:186 +msgid "Close window" +msgstr "Fechar janela" + +#: data.php:28 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Valores separados por vírgulas" + +#: config/prefs.php.dist:74 +msgid "Confirm deletion of events?" +msgstr "Confirma remoção de eventos?" + +#: lib/Kronolith.php:633 +msgid "Confirmed" +msgstr "Confirmado" + +#: templates/calendars/calendars.inc:220 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "Copie o URL abaixo para usar onde for necessário um URL Livre/Ocupado:" + +#: lib/Kronolith.php:168 +#, php-format +msgid "Could not open %s." +msgstr "Não pude abrir %s." + +#: templates/calendars/calendars.inc:129 +msgid "Create" +msgstr "Criar" + +#: templates/calendars/calendars.inc:115 +msgid "Create Calendar" +msgstr "Criar Calendário" + +#: month.php:164 templates/week/head.inc:25 lib/DayView.php:90 +#: lib/DayView.php:192 +msgid "Create a New Event" +msgstr "Criar Novo Evento" + +#: templates/view/view.inc:80 +msgid "Created" +msgstr "Criado" + +#: templates/delete/delete.inc:32 +msgid "Current" +msgstr "Corrente" + +#: templates/view/view.inc:112 templates/edit/edit.inc:208 +msgid "Daily: Recurs every" +msgstr "Diário: Repete cada" + +#: attendees.php:112 lib/Kronolith.php:1385 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:83 +msgid "Day" +msgstr "Dia" + +#: templates/view/view.inc:62 templates/edit/edit.inc:139 +msgid "Day(s)" +msgstr "Dia(s)" + +#: viewevent.php:113 +msgid "De_lete" +msgstr "Re_mover" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Dezembro" + +#: lib/Kronolith.php:663 +msgid "Declined" +msgstr "Declinou" + +#: config/prefs.php.dist:37 +msgid "Default Calendar" +msgstr "Calendário por Omissão" + +#: templates/calendars/calendars.inc:205 templates/delete/one.inc:32 +#: templates/prefs/remote_cal_management.inc:23 lib/Driver.php:1956 +msgid "Delete" +msgstr "Remover" + +#: delevent.php:40 templates/delete/one.inc:21 templates/delete/delete.inc:21 +#: lib/Driver.php:1955 +#, php-format +msgid "Delete %s" +msgstr "Remover %s" + +#: editevent.php:72 +msgid "Delete Event" +msgstr "Remover evento" + +#: templates/delete/delete.inc:30 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Remover o apenas o evento corrente, o evento corrente e todas as ocorrências " +"futuras, ou todas as ocorrências?" + +#: templates/search/search_advanced.inc:103 templates/search/search.inc:28 +msgid "Descri_ption" +msgstr "Descr_ição" + +#: data.php:61 templates/calendars/calendars.inc:179 +#: templates/view/view.inc:96 +msgid "Description" +msgstr "Descrição" + +#: templates/contacts/contacts.inc:174 +msgid "Display" +msgstr "Mostrar" + +#: templates/calendars/calendars.inc:61 +msgid "Display Calendars" +msgstr "Mostrar Calendários" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:28 +msgid "Display Options" +msgstr "Opções de Visualização" + +#: config/prefs.php.dist:30 +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "Deseja mostrar prazo final das tarefas no seu calendário?" + +#: lib/Kronolith.php:603 +msgid "Does not recur" +msgstr "Não se repete" + +#: lib/Kronolith.php:333 +#, php-format +msgid "Due: %s" +msgstr "Prazo final: %s" + +#: templates/edit/edit_timespan.inc:113 +msgid "Duration" +msgstr "Duração" + +#: templates/calendars/calendars.inc:174 lib/Driver.php:1942 +msgid "Edit" +msgstr "Editar" + +#: editevent.php:33 templates/edit/edit.inc:26 lib/Driver.php:1941 +#, php-format +msgid "Edit %s" +msgstr "Editar %s" + +#: templates/edit/edit.inc:187 +msgid "Edit Attendees" +msgstr "Editar Participantes" + +#: templates/calendars/calendars.inc:144 +msgid "Edit Calendars" +msgstr "Editar Calendários" + +#: config/prefs.php.dist:251 +msgid "Edit Remote Calendars" +msgstr "Editar Calendários Remotos" + +#: attendees.php:164 +msgid "Edit attendees" +msgstr "Editar participantes" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Editar categorias e cores" + +#: templates/contacts/contacts.inc:177 templates/attendees/attendees.inc:41 +#: templates/view/view.inc:164 +msgid "Email Address" +msgstr "Endereço de Correio Electrónico" + +#: templates/edit/edit_timespan.inc:59 +msgid "En_d" +msgstr "_Fim" + +#: data.php:56 +msgid "End Date" +msgstr "Data final" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:47 +#: templates/data/export.inc:120 +msgid "End On" +msgstr "Acaba em" + +#: data.php:57 +msgid "End Time" +msgstr "Horário final" + +#: attendees.php:156 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Erro descarregando informação livre/ocupado de %s: %s" + +#: attendees.php:137 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Erro descarregando informação livre/ocupado: %s" + +#: lib/Kronolith.php:1184 +msgid "Event added:" +msgstr "Evento adicionado:" + +#: lib/Kronolith.php:1194 +msgid "Event deleted:" +msgstr "Evento removido:" + +#: lib/Kronolith.php:1189 +msgid "Event edited:" +msgstr "Evento alterado:" + +#: lib/Driver.php:1178 +#, php-format +msgid "Event from %s to %s" +msgstr "Evento de %s a %s" + +#: lib/Driver/sql.php:375 +msgid "Event not found" +msgstr "Evento não encontrado." + +#: lib/Driver.php:866 +msgid "Events must have a start date." +msgstr "Os eventos têm de ter uma data de início." + +#: lib/Driver.php:828 +msgid "Events must have a title." +msgstr "Os eventos têm de ter um título." + +#: templates/attendees/attendees.inc:75 +msgid "Expand Names" +msgstr "Expandir Nomes" + +#: templates/data/export.inc:199 +msgid "Export" +msgstr "Exportar" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Exportar calendário" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Fevereiro" + +#: templates/contacts/contacts.inc:133 +msgid "Find" +msgstr "Pesquisar" + +#: year.php:84 templates/javascript/goto.js:63 templates/edit/edit.inc:221 +#: lib/Block/month.php:105 +msgid "Fr" +msgstr "6.ª" + +#: lib/Kronolith.php:639 +msgid "Free" +msgstr "Livre" + +#: config/prefs.php.dist:58 +msgid "Free/Busy Information" +msgstr "Informação Livre/Ocupado" + +#: templates/month/head.inc:20 templates/view/view.inc:119 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "sexta-feira" + +#: templates/delete/delete.inc:33 +msgid "Future" +msgstr "Futuro" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Jogo" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Geral" + +#: lib/Block/summary.php:140 +#, php-format +msgid "Goto %s" +msgstr "Ir para %s" + +#: month.php:137 templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 +msgid "Hide" +msgstr "Esconder" + +#: month.php:137 templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 +#, php-format +msgid "Hide %s" +msgstr "Ocultar %s" + +#: templates/view/view.inc:65 templates/edit/edit.inc:138 +msgid "Hour(s)" +msgstr "Hora(s)" + +#: config/prefs.php.dist:134 +msgid "How long should the time slots on the day and week views be?" +msgstr "" +"Quão longos devem ser os intervalos de tempo nas visualizações de dia e de " +"semana?" + +#: config/prefs.php.dist:302 +msgid "How many days of free/busy information should we generate?" +msgstr "Quantos dias de informação livre/ocupado devemos gerar?" + +#: lib/Kronolith.php:1121 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s" +msgstr "" +"Se o seu cliente de correio electrónico não suporta pedidos iTip, pode usar " +"uma das seguintes ligações para aceitar ou declinar o convite para o " +"evento.\n" +"\n" +"Aceitar o convide:\n" +"%s\n" +"\n" +"Aceitar provisoriamente o convite:\n" +"%s\n" +"\n" +"Declinar o convite:\n" +"%s" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importar Calendário, Passo %d" + +#: data.php:302 +msgid "Import/Export Calendar" +msgstr "Importar/Exportar Calendário" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Janeiro" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Julho" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Junho" + +#: data.php:64 templates/view/view.inc:142 +msgid "Keywords" +msgstr "Palavras-chave" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Últimas 24 horas" + +#: templates/view/view.inc:87 +msgid "Last Modified" +msgstr "Último Modificado" + +#: templates/month/head_side_by_side.inc:4 +#: templates/month/head_side_by_side.inc:10 +#: templates/month/head_side_by_side.inc:16 templates/month/head.inc:4 +msgid "Last Month" +msgstr "Último Mês" + +#: templates/year/head.inc:4 +msgid "Last Year" +msgstr "Último Ano" + +#: templates/search/search.inc:54 templates/week/head.inc:3 +msgid "Last week" +msgstr "Última semana" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Limitar a gama temporal a exportar: " + +#: config/prefs.php.dist:327 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Listas todos os contactos quando carregando a janela de contactos? (se " +"desactivado, verá apenas os contactos pelos quais procurar explicitamente)" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:76 +msgid "Lo_cation" +msgstr "Lo_cal" + +#: data.php:63 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 templates/view/view.inc:21 +#: lib/Driver.php:1995 +msgid "Location" +msgstr "Local" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Gerir calendários remotos." + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Março" + +#: lib/api.php:101 +msgid "Maximum Number of Events" +msgstr "Número Máximo de Eventos" + +#: lib/Block/monthlist.php:27 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Número máximo de eventos a mostrar (0 = sem limite)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Maio" + +#: lib/Driver.php:1992 +msgid "Me" +msgstr "Eu" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Encontro" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Avisos de Menu" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Lista de Menus" + +#: templates/view/view.inc:68 templates/edit/edit.inc:137 +msgid "Minute(s)" +msgstr "Minuto(s)" + +#: year.php:80 templates/javascript/goto.js:59 templates/edit/edit.inc:217 +#: lib/Block/month.php:105 +msgid "Mo" +msgstr "2.ª" + +#: templates/month/head.inc:16 templates/view/view.inc:115 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:107 +msgid "Monday" +msgstr "segunda-feira" + +#: lib/Kronolith.php:1388 lib/Block/tree_menu.php:24 config/prefs.php.dist:86 +msgid "Month" +msgstr "Mês" + +#: lib/Block/month.php:3 +msgid "Month View" +msgstr "Vista de Mês" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Monthly Events List" +msgstr "Lista de Eventos Mensais" + +#: templates/view/view.inc:124 templates/view/view.inc:126 +#: templates/edit/edit.inc:228 templates/edit/edit.inc:234 +msgid "Monthly: Recurs every" +msgstr "Mensal: Repete cada" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Meses à Frente" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Meses Atrás" + +#: lib/api.php:624 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Múltiplos componenete iCalendar encontrados; apenas se suporta um vEvent." + +#: calendars.php:128 templates/calendars/calendars.inc:68 +msgid "My Calendars" +msgstr "Os Meus Calendários" + +#: templates/menu.inc:34 templates/menu.inc:36 +msgid "My Calendars:" +msgstr "Os Meus Calendários:" + +#: templates/calendars/calendars.inc:216 +msgid "My Free/Busy URL" +msgstr "Os Meus URL Livre/Ocupado" + +#: templates/calendars/calendars.inc:120 templates/calendars/calendars.inc:163 +#: templates/contacts/contacts.inc:176 +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +msgid "Name" +msgstr "Nome" + +#: lib/Block/month.php:41 lib/Block/monthlist.php:47 lib/Block/summary.php:41 +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Novo Evento" + +#: lib/base.php:167 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Novo calendário criado e automaticamente partilhado com o(s) seguinte(s) " +"grupo(s): %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Próximo" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Próximas 24 horas" + +#: lib/FBView/day.php:29 +msgid "Next Day" +msgstr "Próximo Dia" + +#: templates/month/head_side_by_side.inc:6 +#: templates/month/head_side_by_side.inc:12 +#: templates/month/head_side_by_side.inc:18 templates/month/head.inc:6 +msgid "Next Month" +msgstr "Próximo Mês" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Próxima Semana" + +#: templates/year/head.inc:6 +msgid "Next Year" +msgstr "Próximo Ano" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Próximo dia" + +#: templates/search/search.inc:58 templates/week/head.inc:5 +msgid "Next week" +msgstr "Próxima semana" + +#: config/prefs.php.dist:276 config/prefs.php.dist:289 +msgid "No" +msgstr "Não" + +#: templates/view/view.inc:73 templates/edit/edit.inc:126 +msgid "No alarm" +msgstr "Sem aviso" + +#: templates/attendees/attendees.inc:48 +msgid "No attendees" +msgstr "Sem participantes" + +#: lib/Kronolith.php:1404 +msgid "No calendars are available to guests." +msgstr "Não há calendários disponíveis para convidados." + +#: templates/view/view.inc:136 templates/edit/edit.inc:254 +msgid "No end date" +msgstr "Sem data final" + +#: lib/Block/prevmonthlist.php:164 lib/Block/monthlist.php:174 +#: lib/Block/summary.php:194 +msgid "No events to display" +msgstr "Sem eventos para mostrar" + +#: lib/Kronolith.php:1007 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "Informação livre/ocupado indisponível no URL correspondente a %s." + +#: lib/Storage/kolab.php:54 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Informação livre/ocupado para %s está indisponível" + +#: lib/Kronolith.php:1008 +#, php-format +msgid "No free/busy url found for %s." +msgstr "URL da informação livre/ocupado de %s indisponível." + +#: lib/api.php:365 lib/api.php:381 lib/api.php:614 +msgid "No iCalendar data was found." +msgstr "Não se encontrou dados iCalendar." + +#: templates/edit/edit.inc:203 +msgid "No recurrence" +msgstr "Sem repetição" + +#: lib/Kronolith.php:965 +msgid "No valid email address found" +msgstr "Não se encontrou endereço de correio electrónico válido" + +#: lib/Kronolith.php:670 lib/Kronolith.php:691 +msgid "None" +msgstr "Nenhum" + +#: lib/Storage/sql.php:145 +msgid "Not found" +msgstr "Não encontrado" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Notificações" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Novembro" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Agora" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Outubro" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:64 +msgid "On" +msgstr "Activo" + +#: config/prefs.php.dist:279 config/prefs.php.dist:292 +msgid "On all calendars I have read access to" +msgstr "Em todos os calendários aos quais tenho acesso de leitura" + +#: config/prefs.php.dist:278 config/prefs.php.dist:291 +msgid "On all shown calendars" +msgstr "Em todos os calendários mostrados" + +#: config/prefs.php.dist:277 config/prefs.php.dist:290 +msgid "On my calendars only" +msgstr "Apenas nos meus calendários" + +#: lib/Kronolith.php:688 +msgid "Optional" +msgstr "Opcional" + +#: lib/FBView.php:119 +msgid "Optional Attendees" +msgstr "Participantes Opcionais" + +#: lib/FBView.php:154 +msgid "Overview" +msgstr "Visão Geral" + +#: templates/view/view.inc:34 +msgid "Owner" +msgstr "Dono" + +#: lib/Driver.php:1991 +#, php-format +msgid "Owner: %s" +msgstr "Proprietário: %s" + +#: templates/data/export.inc:114 templates/data/export.inc:194 +msgid "PM" +msgstr "PM" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Past Events List" +msgstr "Lista de Eventos Passados" + +#: templates/view/view.inc:109 templates/edit/edit.inc:198 +msgid "Pattern" +msgstr "Padrão" + +#: templates/delete/one.inc:30 +msgid "Permanently delete this event?" +msgstr "Remover evento permanentemente?" + +#: lib/api.php:344 lib/api.php:422 lib/api.php:475 lib/api.php:564 +#: lib/api.php:596 lib/api.php:682 lib/api.php:738 +msgid "Permission Denied" +msgstr "Permissão Negada" + +#: templates/calendars/calendars.inc:171 +msgid "Permissions" +msgstr "Permissões" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Opções do Portal" + +#: lib/FBView/day.php:25 +msgid "Previous Day" +msgstr "Dia Anterior" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Semana Anterior" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Dia anterior" + +#: templates/view/view.inc:135 templates/edit/edit.inc:251 +msgid "Recur Until" +msgstr "Repetir Até" + +#: templates/view/view.inc:106 +msgid "Recurrence" +msgstr "Repetição" + +#: data.php:68 +msgid "Recurrence Data" +msgstr "Dados de Repetição" + +#: data.php:66 +msgid "Recurrence End Date" +msgstr "Data Final da Repetição" + +#: data.php:67 +msgid "Recurrence Interval" +msgstr "Intervalo de Repetição" + +#: data.php:65 +msgid "Recurrence Type" +msgstr "Tipo de Repetição" + +#: lib/Kronolith.php:606 +msgid "Recurs daily" +msgstr "Repete diariamente" + +#: lib/Kronolith.php:613 +msgid "Recurs monthly" +msgstr "Repete mensalmente" + +#: lib/Kronolith.php:609 +msgid "Recurs weekly" +msgstr "Repete semanalmente" + +#: lib/Kronolith.php:616 +msgid "Recurs yearly" +msgstr "Repete anualmente" + +#: lib/Scheduler/kronolith.php:210 +#, php-format +msgid "Reminder: %s" +msgstr "Lembrete: %s" + +#: templates/calendars/calendars.inc:92 config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Calendários Remotos" + +#: templates/menu.inc:60 templates/menu.inc:62 +msgid "Remote Calendars:" +msgstr "Calendários Remotos:" + +#: templates/calendars/calendars.inc:195 +msgid "Remote Subscription URL" +msgstr "URL de Subscrição Remota" + +#: templates/contacts/contacts.inc:161 +msgid "Remove" +msgstr "Remover" + +#: templates/attendees/attendees.inc:51 +#, php-format +msgid "Remove %s" +msgstr "Remover %s" + +#: attendees.php:106 +msgid "Remove Attendee" +msgstr "Remover Participante" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Substituir calendário existente pelo importado? Aviso: Isso removerá " +"todas as entradas no seu calendário corrente." + +#: lib/Kronolith.php:695 +msgid "Required" +msgstr "Indispensável" + +#: lib/FBView.php:98 lib/FBView.php:139 lib/FBView.php:142 lib/FBView.php:145 +msgid "Required Attendees" +msgstr "Participantes Indispensáveis" + +#: templates/edit/edit.inc:36 templates/edit/edit.inc:309 +msgid "Reset to Defaults" +msgstr "Repor Valores por Omissão" + +#: templates/attendees/attendees.inc:43 templates/view/view.inc:166 +msgid "Response" +msgstr "Resposta" + +#: year.php:85 templates/javascript/goto.js:64 templates/edit/edit.inc:222 +#: lib/Block/month.php:105 +msgid "Sa" +msgstr "sáb" + +#: templates/month/head.inc:21 templates/view/view.inc:120 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "sábado" + +#: templates/calendars/calendars.inc:204 +msgid "Save" +msgstr "Guardar" + +#: viewevent.php:135 editevent.php:49 editevent.php:57 +msgid "Save As New" +msgstr "Gravar Como Novo" + +#: templates/attendees/attendees.inc:83 +msgid "Save Attendees" +msgstr "Guardar Participantes" + +#: addevent.php:55 editevent.php:52 +msgid "Save Event" +msgstr "Guardar Evento" + +#: templates/attendees/attendees.inc:84 +msgid "Save and Finish" +msgstr "Guardar e Terminar" + +#: search.php:91 templates/search/search_advanced.inc:114 +#: templates/search/search.inc:67 templates/calendars/search.inc:8 +#: templates/contacts/contacts.inc:145 lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Procurar" + +#: templates/calendars/search.inc:1 +msgid "Search Calendars" +msgstr "Procurar Calendários:" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Resultados da Procura" + +#: templates/calendars/search.inc:6 +msgid "Search for calendars containing:" +msgstr "Procurar calendários contendo:" + +#: templates/calendars/calendars.inc:154 +msgid "Select a calendar to edit" +msgstr "Seleccione um calendário a editar" + +#: templates/edit/edit.inc:266 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:81 +msgid "Select a date" +msgstr "Seleccione uma data" + +#: templates/menu.inc:30 +msgid "Select calendars to display:" +msgstr "Seleccione os calendários a mostrar:" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Seleccione opções de confirmação, como mostrar as diferentas vistas e qual a " +"vista por omissão." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Seleccione o calendário para o qual importar:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Seleccione o(s) calendário(s) a partir dos quais exportar" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Seleccione o formato de exportação:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Seleccione o arquivo a importar:" + +#: config/prefs.php.dist:105 +msgid "Select the first weekday:" +msgstr "Seleccione o primeiro dia da semana:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Seleccione o formato do ficheiro fonte:" + +#: config/prefs.php.dist:185 +msgid "Select the time span to show:" +msgstr "Seleccione a gama temporal a mostrar:" + +#: config/prefs.php.dist:87 +msgid "Select the view to display on startup:" +msgstr "Seleccione a vista a mostar após a entrada:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Seleccione que eventos mostrar no portal." + +#: templates/delete/one.inc:27 templates/delete/delete.inc:27 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"Enviar uma notificação de cancelamento a todos os participantes quando se " +"remover este evento" + +#: templates/view/view.inc:170 +#, php-format +msgid "Send an email to %s" +msgstr "Enviar uma mensagem para %s" + +#: templates/edit/edit.inc:181 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"Enviar actualizações/convites a todos os participantes quando este evento " +"for guardado" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Setembro" + +#: templates/edit/edit_timespan.inc:81 +msgid "Set end date" +msgstr "Atribuir data final" + +#: templates/edit/edit.inc:266 +msgid "Set recurrence end date" +msgstr "Especificar data final da repetição" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "Especificar data inicial" + +#: config/prefs.php.dist:59 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" +"Defina os seus calendários livre/ocupado e as opções de livre/ocupado para " +"si e para os outros." + +#: calendars.php:77 +#, php-format +msgid "Share not found: %s" +msgstr "Partilha não encontrada: %s" + +#: templates/calendars/calendars.inc:80 +msgid "Shared Calendars" +msgstr "Calendários Partilhados" + +#: templates/menu.inc:47 templates/menu.inc:49 +msgid "Shared Calendars:" +msgstr "Calendário Partilhados:" + +#: calendar_search.php:25 templates/week/head_side_by_side.inc:3 +#: templates/day/head_side_by_side.inc:3 +msgid "Show Calendar" +msgstr "Mostrar Calendário" + +#: config/prefs.php.dist:157 +msgid "Show category legend?" +msgstr "Mostrar legenda de categorias?" + +#: config/prefs.php.dist:147 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Mostrar ícones de remoção, aviso e repetição nas vistas do calendário?" + +#: config/prefs.php.dist:213 +msgid "Show due tasks in the calendar?" +msgstr "Mostrar tarefas com prazo excedido no calendário?" + +#: config/prefs.php.dist:167 +msgid "Show free/busy legend?" +msgstr "Mostrar legenda livre/ocupado?" + +#: config/prefs.php.dist:204 +msgid "Show only events that have an alarm set?" +msgstr "Mostrar somente eventos com aviso configurado?" + +#: config/prefs.php.dist:176 +msgid "Show shared calendars side-by-side?" +msgstr "Mostrar calendários partilhados lado a lado?" + +#: config/prefs.php.dist:222 +msgid "Show tasks using category colors?" +msgstr "Mostrar tarefas usando cores de categorias?" + +#: config/prefs.php.dist:96 +msgid "Show time of day between each day in week views?" +msgstr "Mostrar hora do dia entre cada dia nas vistas de semana?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Come_çar" + +#: data.php:54 +msgid "Start Date" +msgstr "Data Inicial" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:41 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Inicia-se Em" + +#: data.php:55 +msgid "Start Time" +msgstr "Hora Inicial" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:85 +msgid "Stat_us" +msgstr "Esta_do" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:27 +msgid "Status" +msgstr "Estado" + +#: year.php:78 year.php:87 templates/javascript/goto.js:65 +#: templates/edit/edit.inc:223 lib/Block/month.php:107 lib/Block/month.php:109 +msgid "Su" +msgstr "dom" + +#: templates/month/head.inc:14 templates/month/head.inc:23 +#: templates/view/view.inc:121 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:106 +msgid "Sunday" +msgstr "domingo" + +#: config/prefs.php.dist:29 +msgid "Tasks" +msgstr "Tarefas" + +#: lib/Kronolith.php:643 lib/Kronolith.php:666 +msgid "Tentative" +msgstr "Tentativa" + +#: year.php:83 templates/javascript/goto.js:62 templates/edit/edit.inc:220 +#: lib/Block/month.php:105 +msgid "Th" +msgstr "5.ª" + +#: data.php:230 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "O ficheiro %s não continha quaisquer eventos." + +#: templates/contacts/contacts.inc:70 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "O ecrã Edição de Participantes já não está presente. Saindo." + +#: calendars.php:70 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "O calendário \"%s\" não pôde ser removido." + +# c-format +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "O calendário \"%s\" foi criado." + +#: calendars.php:88 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "O calendário \"%s\" foi removido." + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "O calendário \"%s\" foi renomeado como \"%s\"." + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "O calendário \"%s\" foi guardado." + +#: data.php:238 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "O calendário não pôde ser purgado: %s" + +#: templates/edit/javascript.inc:162 +msgid "The end date must be later than the start date." +msgstr "A data final deve ser maior que a data inicial." + +#: lib/Kronolith.php:1185 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" +"O evento \"%s\" foi adicionado ao calendário \"%s\". Tem lugar no(a) %s às %" +"s." + +#: lib/Kronolith.php:1195 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"O evento \"%s\" foi removido do calendário \"%s\". Tinha lugar no(a) %s às %" +"s." + +#: lib/Kronolith.php:1190 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"O evento \"%s\" foi modificado no calendário \"%s\". Tem lugar no(a) %s às %" +"s." + +#: lib/Kronolith.php:1158 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "A notificação de evento para %s foi enviada com sucesso." + +#: lib/Kronolith.php:1115 +msgid "The following is a more detailed description of the event:" +msgstr "Segue-se uma descrição mais pormenorizada do evento:" + +#: attend.php:41 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"O pedido está incompleto. Alguns parâmetros necessários para aceitar ou " +"declinar um convite para um evento estão em falta." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Nenhum evento de acordo com o critério corrente." + +#: addeventaction.php:18 editeventaction.php:35 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Ocorreu um erro ao aceder ao calendário: %s" + +#: addeventaction.php:34 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Ocorreu um erro ao adicionar o evento: %s" + +#: editeventaction.php:82 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Ocorreu um erro ao editar o evento: %s" + +#: lib/api.php:357 lib/api.php:608 +msgid "There was an error importing the iCalendar data." +msgstr "Ocorreu um erro ao importar dados iCalendar." + +#: editeventaction.php:62 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Ocorreu um erro ao mover o evento: %s" + +#: lib/Kronolith.php:1163 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Ocorreu um erro ao enviar uma notificação do evento para %s: %s" + +#: data.php:108 +msgid "There were no events to export." +msgstr "Não há eventos para exportar." + +#: data.php:186 +msgid "This file format is not supported." +msgstr "Este formato de ficheiro não é suportado." + +#: data.php:258 +#, php-format +msgid "This is what the server said: %s" +msgstr "Eis o que o servidor disse: %s" + +#: templates/month/head.inc:19 templates/view/view.inc:118 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "quinta-feira" + +#: templates/search/search.inc:37 +msgid "Time Sp_an" +msgstr "G_ama Temporal" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Gama temporal" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:42 +msgid "Tit_le" +msgstr "Títu_lo" + +#: data.php:53 templates/search/search.inc:20 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Título" + +#: lib/Block/prevmonthlist.php:122 lib/Block/monthlist.php:130 +#: lib/Block/summary.php:127 +msgid "Today" +msgstr "Hoje" + +#: lib/Block/prevmonthlist.php:124 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:129 +msgid "Tomorrow" +msgstr "Amanhã" + +#: year.php:81 templates/javascript/goto.js:60 templates/edit/edit.inc:218 +#: lib/Block/month.php:105 +msgid "Tu" +msgstr "3.ª" + +#: templates/month/head.inc:17 templates/view/view.inc:116 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "terça-feira" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Tipo" + +#: templates/calendars/calendars.inc:187 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:64 +msgid "Unable to connect to SQL server." +msgstr "Não foi possível ligar ao servidor SQL." + +#: calendars.php:84 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Não consigo remover \"%s\": %s." + +#: lib/Driver.php:182 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Impossível ler a definição de %s." + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Não consigo renomear \"%s\": %s." + +#: lib/Storage/kolab.php:44 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Não consigo obter informação livre/ocupado de %s" + +#: templates/view/view.inc:15 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "Sem categoria" + +#: lib/api.php:388 lib/api.php:446 lib/api.php:507 lib/api.php:633 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Tipo de conteúdo (Content-Type) não suportado: %s" + +#: lib/Kronolith.php:1105 +#, php-format +msgid "Updated: %s." +msgstr "Actualizado: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Interface do utilizador" + +#: year.php:160 year.php:166 lib/Block/month.php:159 lib/Block/month.php:162 +msgid "View Day" +msgstr "Mostrar Dia" + +#: year.php:82 templates/javascript/goto.js:61 templates/edit/edit.inc:219 +#: lib/Block/month.php:105 +msgid "We" +msgstr "4.ª" + +#: templates/month/head.inc:18 templates/view/view.inc:117 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "quarta-feira" + +#: attendees.php:114 lib/Kronolith.php:1387 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:84 +msgid "Week" +msgstr "Semana" + +#: month.php:178 workweek.php:30 week.php:34 +#, php-format +msgid "Week %d" +msgstr "Semana %d" + +#: templates/view/view.inc:59 templates/edit/edit.inc:140 +msgid "Week(s)" +msgstr "Semana(s)" + +#: templates/view/view.inc:122 templates/edit/edit.inc:214 +msgid "Weekly: Recurs every" +msgstr "Semanalmente: repete cada" + +#: config/prefs.php.dist:125 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"A que horas devem terminar as vistas de dia e semana, quando não houver " +"eventos posteriores?" + +#: config/prefs.php.dist:116 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"A que horas devem começar as vistas de dia e semana, quando não houver " +"eventos anteriores?" + +#: attendees.php:113 lib/Kronolith.php:1386 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:85 +msgid "Work Week" +msgstr "Comercial" + +#: lib/Kronolith.php:1389 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Ano" + +#: templates/view/view.inc:128 templates/edit/edit.inc:240 +msgid "Yearly: Recurs every" +msgstr "Anual: repete por" + +#: data.php:39 data.php:247 editeventaction.php:45 addevent.php:17 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Não está autorizado a criar mais do que %d eventos." + +#: attend.php:49 +msgid "You are not an attendee of the specified event." +msgstr "Não é um participante do evento especificado." + +#: templates/contacts/contacts.inc:76 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Só pode usar este formulário a partir do ecrã Edição de Participações" + +#: lib/Kronolith.php:1058 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Não tem um endereço de correio electrónico configurado nas suas Opções de " +"Informação Pessoal. Tem de configurar um %saqui%s para que lhe possam ser " +"enviadas notificações." + +#: addeventaction.php:20 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Não tem permissão para adicionar eventos a %s." + +#: data.php:195 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Não tem permissão para adicionar eventos ao calendário seleccionado." + +#: deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "Não tem permissão para remover este evento." + +#: editeventaction.php:77 +msgid "You do not have permission to edit this event." +msgstr "Não tem permissão para editar este evento." + +#: data.php:192 +msgid "You have specified an invalid calendar." +msgstr "Especificou um calendário inválido." + +#: attend.php:21 +msgid "You have successfully accepted attendence to this event." +msgstr "Aceitou participar no evento." + +#: attend.php:26 +msgid "You have successfully declined attendence to this event." +msgstr "Declinou participar no evento." + +#: attend.php:31 +msgid "You have tentatively accepted attendence to this event." +msgstr "Aceitou provisoriamente participar no evento." + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "Tem de seleccionar um calendário a remover." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Tem de seleccionar primeiro um endereço." + +#: templates/calendars/calendars.inc:174 +msgid "You need to select a calendar first" +msgstr "Tem de seleccionar um calendário primeiro" + +#: lib/Kronolith.php:1185 +msgid "You requested to be notified when events are added to your calendars." +msgstr "" +"Solicitou ser notificado quando eventos forem adicionados aos seus " +"calendários." + +#: lib/Kronolith.php:1195 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Solicitou ser notificado quando eventos dos seus calendários forem removidos." + +#: lib/Kronolith.php:1190 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Solicitou ser notificado quando eventos dos seus calendários forem " +"modificados." + +#: lib/Scheduler/kronolith.php:213 +#, php-format +msgid "You requested to be reminded about %s, which is on %s at %s." +msgstr "Pediu para ser recordado acerca de %s, que tem lugar a %s em %s." + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "O seu calendário por omissão" + +#: lib/Driver.php:1165 lib/Driver.php:1175 +msgid "[Unnamed event]" +msgstr "[Evento sem nome]" + +#: templates/edit/edit.inc:97 +msgid "_Alarm" +msgstr "_Aviso" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "Procura _Básica" + +#: viewevent.php:137 +msgid "_Edit" +msgstr "Edi_tar" + +#: lib/Kronolith.php:1424 +msgid "_Goto" +msgstr "_Ir para" + +#: lib/Kronolith.php:1430 +msgid "_Import/Export" +msgstr "Importar/E_xportar" + +#: lib/Kronolith.php:1411 +msgid "_My Calendars" +msgstr "Os _Meus Calendários" + +#: lib/Kronolith.php:1418 +msgid "_New Event" +msgstr "_Novo Evento" + +#: lib/Kronolith.php:1435 +msgid "_Print" +msgstr "Im_primir" + +#: lib/Kronolith.php:1426 +msgid "_Search" +msgstr "_Procurar" + +#: lib/Kronolith.php:1421 +msgid "_Today" +msgstr "_Hoje" + +#: templates/edit/edit.inc:142 +msgid "before the event starts" +msgstr "antes de o evento começar" + +#: config/prefs.php.dist:186 +msgid "day" +msgstr "dia" + +#: templates/view/view.inc:112 templates/edit/edit.inc:209 +msgid "day(s)" +msgstr "dia(s)" + +#: config/prefs.php.dist:187 config/prefs.php.dist:188 +#: config/prefs.php.dist:189 config/prefs.php.dist:190 +#: config/prefs.php.dist:191 +msgid "days" +msgstr "dias" + +#: data.php:150 templates/data/export.inc:1 +msgid "events.csv" +msgstr "eventos.csv" + +#: data.php:170 +msgid "events.ics" +msgstr "evantos.ics" + +#: templates/contacts/contacts.inc:136 +msgid "in" +msgstr "em" + +#: templates/view/view.inc:124 templates/view/view.inc:126 +#: templates/edit/edit.inc:229 templates/edit/edit.inc:235 +msgid "month(s)" +msgstr "mes(es)" + +#: lib/Kronolith.php:1111 +#, php-format +msgid "on %s at %s" +msgstr "no(a) %s às %s" + +#: templates/view/view.inc:124 templates/edit/edit.inc:229 +msgid "on the same date" +msgstr "na mesma data" + +#: templates/view/view.inc:126 templates/edit/edit.inc:235 +msgid "on the same weekday" +msgstr "no mesmo dia da semana" + +#: data.php:29 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: lib/api.php:619 +msgid "vEvent not found." +msgstr "vEvent não encontrado." + +#: config/prefs.php.dist:192 +msgid "week" +msgstr "semana" + +#: templates/view/view.inc:122 templates/edit/edit.inc:216 +msgid "week(s) on:" +msgstr "semana(s) em:" + +#: config/prefs.php.dist:193 config/prefs.php.dist:194 +#: config/prefs.php.dist:195 +msgid "weeks" +msgstr "semanas" + +#: templates/view/view.inc:128 templates/edit/edit.inc:241 +msgid "year(s)" +msgstr "ano(s)" diff --git a/kronolith/po/ro_RO.po b/kronolith/po/ro_RO.po new file mode 100644 index 000000000..65733fec4 --- /dev/null +++ b/kronolith/po/ro_RO.po @@ -0,0 +1,451 @@ +# Kronolith 1.0 Romanian translation +# Copyright 2002-2009 The Horde Project. +# Eugen Hoanca , 2003. +# Marius Dragulescu, 2003. +# + +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 1.0\n" +"POT-Creation-Date: 2003-02-22 16:33 +0200\n" +"PO-Revision-Date: 2003-03-01 12:00 +0200\n" +"Last-Translator: Eugen Hoanca\n" +"Language-Team: Romanian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8-bit\n" + +#, c-format +msgid "%d hour" +msgstr "ora %d" + +#, c-format +msgid "%d hour, %d minute" +msgstr "ora %d, minutul %d" + +#, c-format +msgid "%d hour, %d minutes" +msgstr "ora %d, %d minute" + +#, c-format +msgid "%d hours" +msgstr "%d ore" + +#, c-format +msgid "%d hours, %d minute" +msgstr "%d ore, %d minut" + +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d ore, %d minute" + +#, c-format +msgid "%d minuto" +msgstr "minutul %d" + +#, c-format +msgid "%d minutes" +msgstr "%d minute" + +#, c-format +msgid "%s is in progress." +msgstr "%s e in desfasurare." + +#, c-format +msgid "%s is starting now." +msgstr "%s incepe acum." + +#, c-format +msgid "%s starts in %s" +msgstr "%s incepe in %s" + +msgid "Description (optional)" +msgstr "Descriere (opitona;)" + +msgid "Keywords (optional)" +msgstr "Cuvinte cheie (optional)" + +msgid "Recurrence (optional)" +msgstr "Frecventa (optional)" + +msgid "Add Event" +msgstr "Adauga eveniment" + +msgid "Add a new event" +msgstr "Adauga eveniment nou" + +msgid "Alarm" +msgstr "Alarma" + +msgid "All day" +msgstr "Toata ziua" + +msgid "An illegal value was specified." +msgstr "S-a specificat o valoare invalida." + +msgid "At" +msgstr "La" + +msgid "Birthday" +msgstr "Zi de nastere" + +msgid "Business" +msgstr "Afacere" + +msgid "Calendar" +msgstr "Calendar" + +msgid "Cancel" +msgstr "Renuntare" + +msgid "Category" +msgstr "Categorie" + +msgid "" +"Change the way dates and times are formatted and the timezone difference to " +"the server." +msgstr "" +"Schimba formatul orei si datei si diferentele de fus orar " +"in server." + +msgid "Change the way dates and times are formatted." +msgstr "Schimba formatul datei si orei." + +msgid "Create a New Event" +msgstr "Creare eveniment nou" + +msgid "Daily: Recurs every" +msgstr "Zilnic: Repetare la fiecare" + +msgid "Date and Time Options" +msgstr "Optiuni de ora si data" + +msgid "Day" +msgstr "Zi" + +msgid "Day(s)" +msgstr "Zi(le)" + +#, c-format +msgid "Delete '%s'" +msgstr "Sterge '%s'" + +msgid "Delete Event" +msgstr "Sterge eveniment" + +msgid "Display 24-hour times?" +msgstr "Afiseaza formatul de 24 de ore?" + +msgid "Display Option" +msgstr "Afiseaza optiune" + +msgid "Display Options" +msgstr "Afiseaza optiuni" + +msgid "Duration" +msgstr "Durata" + +msgid "Edit " +msgstr "Editeaza " + +#, c-format +msgid "Edit %s" +msgstr "Editeaza %s" + +msgid "End On" +msgstr "Sfarsit de" + +msgid "Error" +msgstr "Eroare" + +msgid "Fr" +msgstr "Vin" + +msgid "Friday" +msgstr "Vineri" + +msgid "Game" +msgstr "Joc" + +msgid "Help" +msgstr "Ajutor" + +msgid "Hour(s)" +msgstr "Ora(e)" + +msgid "Kronolith is not fully configured." +msgstr "Kronolith nu este configurat." + +msgid "Kronolith" +msgstr "Kronolith" + +msgid "Language" +msgstr "Limba" + +msgid "Last month" +msgstr "Ultima luna" + +msgid "Last week" +msgstr "Ultima saptamana" + +msgid "Lasts" +msgstr "Ultimii" + +msgid "Location" +msgstr "Locatie" + +msgid "Meeting" +msgstr "Intalnire" + +msgid "Message" +msgstr "Mesaj" + +msgid "Minutes before" +msgstr "Minute inainte de" + +msgid "Minutes" +msgstr "Minute" + +msgid "Mo" +msgstr "Lun" + +msgid "Monday" +msgstr "Luni" + +msgid "Month" +msgstr "Luna" + +msgid "Monthly: Recurs every" +msgstr "Lunar: Se repeta la fiecare" + +msgid "New Event" +msgstr "Eveniment nou" + +msgid "Next Month" +msgstr "Luna urmatoare" + +msgid "Next day" +msgstr "Ziua urmatoare" + +msgid "Next week" +msgstr "Saptamana urmatoare" + +msgid "No end date" +msgstr "Fara data de final" + +msgid "None" +msgstr "Nici un" + +msgid "Options" +msgstr "Optiuni" + +msgid "Pattern" +msgstr "Model" + +msgid "Personal" +msgstr "Personal" + +msgid "Previous day" +msgstr "Ziua precedenta" + +msgid "Problem?" +msgstr "Problema?" + +msgid "Recur Until" +msgstr "Repeta pana" + +msgid "Reset to Defaults" +msgstr "Reseteaza la valori implicite" + +msgid "Sa" +msgstr "Sam" + +msgid "Saturday" +msgstr "Sambata" + +msgid "Save Event" +msgstr "Salveaza eveniment" + +msgid "Select how to display Dates:" +msgstr "Selecteaza mod de afisare Date:" + +msgid "Select how to display the different views and choose default view." +msgstr "" +"Selecteaza modul de afisare al vizualizarilor si alege vizualizare implicita." + + +msgid "Select the first weekday:" +msgstr "Selecteaza prima zi din saptamana:" + +msgid "Select the time span to show:" +msgstr "Selecteaza interval de timp:" + +msgid "Select the view to display after login:" +msgstr "Selecteaza tip de vizualizare dupa intrare:" + +msgid "Select what events to show in the Horde summary." +msgstr "Selecteaza ce evenimente sa se afiseze in cuprinsul Horde." + +msgid "Set the language that menu items, explanations, and help are in." +msgstr "Setare limba in care sunt afisate meniurile, explicatiile si help-ul." + +msgid "Set the your preferred display language." +msgstr "Setare limba preferata." + +msgid "Show half hour slots in day and week views?" +msgstr "" +"Afisare segmente de jumatati de ora in vizualizarile zilei si saptamanii?" + +msgid "Show only events that have an alarm set?" +msgstr "Afisare numai a evenimentelor care au setata alarma?" + +msgid "Some of Kronolith's configuration files are missing:" +msgstr "Anumite fisiere de configurare Kronolit lipsesc:" + +msgid "Start On" +msgstr "Incepe la" + +msgid "Su" +msgstr "Dum" + +msgid "Success" +msgstr "Succes" + +msgid "Summary" +msgstr "Cuprins" + +msgid "Sunday" +msgstr "Duminica" + +msgid "Th" +msgstr "Joi" + +msgid "The end date must be later than the start date." +msgstr "Data de sfarsit trebuie sa fie mai noua decat data de inceput." + +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"Acest fisier seteaza preferintele implicite pentru Kronolith, precum si " +"alte preferinte modficabile." + +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 diferita " +"de aceea stabilita implicit de catre Horde." + +msgid "" +"This is the main Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "" +"Acesta e fisierul principal de configurare Kronolith. Contine cai si optiuni " +"pentru scripturile Kronolith." + +msgid "This number must be at least one." +msgstr "Acest numar trebuie sa fie minim 1." + +msgid "This value must be a number." +msgstr "Aceasta valoare trebuie sa fie numerica." + +msgid "Thursday" +msgstr "Joi" + +#, c-format +msgid "Time difference to the server in hours. Current server time is %s:" +msgstr "" +"Diferenta de timp fata de server in ore. Ora curenta a serverului este %s:" + +msgid "Title" +msgstr "Titlu" + +msgid "Today" +msgstr "Azi" + +msgid "Tu" +msgstr "Mar" + +msgid "Tuesday" +msgstr "Marti" + +msgid "Type" +msgstr "Tip" + +msgid "User Interface" +msgstr "Interfata utilizator" + +msgid "User Preferences" +msgstr "Preferinte utilizator " + +msgid "Warning" +msgstr "Avertisment" + +msgid "We" +msgstr "Mie" + +msgid "Wednesday" +msgstr "Miercuri" + +#, c-format +msgid "Week %d" +msgstr "Saptamana %d" + +msgid "Week" +msgstr "Saptamana" + +#, c-format +msgid "Week %d" +msgstr "Saptamana %d" + +msgid "Weekly: Recurs every" +msgstr "Saptamanal: Se repeta la fiecare" + +msgid "Work Week" +msgstr "Saptamana lucratoare" + +msgid "Work Week" +msgstr "Saptamana Lucratoare" + +msgid "Yearly: Recurs every" +msgstr "Anual: Se repeta la fiecare" + +msgid "Your Information" +msgstr "Informatii personale" + +msgid "Your preferences have been updated." +msgstr "Preferintele au fost salvate." + +msgid "day" +msgstr "zi" + +msgid "day(s)" +msgstr "zi(le)" + +msgid "days" +msgstr "zile" + +msgid "month(s)" +msgstr "luna(i)" + +msgid "no time" +msgstr "nici un orar" + +msgid "on the same date" +msgstr "in aceeasi data" + +msgid "on the same weekday" +msgstr "in aceeasi zi a saptamanii" + +msgid "week" +msgstr "saptamana" + +msgid "week(s) on:" +msgstr "saptamana(i) la:" + +msgid "weeks" +msgstr "saptamani" + +msgid "year(s)" +msgstr "an(i)" diff --git a/kronolith/po/ru_RU.po b/kronolith/po/ru_RU.po new file mode 100644 index 000000000..701accc70 --- /dev/null +++ b/kronolith/po/ru_RU.po @@ -0,0 +1,680 @@ +# Kronolith Russian translation. +# Copyright +# Anton Nekhoroshih , 2001 +# Fedor A. Fetisov , 2002 +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith v1.0\n" +"POT-Creation-Date: 2002-11-10 17:45+0300\n" +"PO-Revision-Date: 2002-11-10 17:45+0300\n" +"Last-Translator: Fedor A. Fetisov \n" +"Language-Team: Fedor A. Fetisov \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CP1251\n" +"Content-Transfer-Encoding: 8bit\n" + +#, c-format +msgid "%d hour" +msgstr "%d ÷" + +#, c-format +msgid "%d hour, %d minute" +msgstr "%d ÷, %d ìèí" + +#, c-format +msgid "%d hour, %d minutes" +msgstr "%d ÷, %d ìèí" + +#, c-format +msgid "%d hours" +msgstr "%d ÷" + +#, c-format +msgid "%d hours, %d minute" +msgstr "%d ÷, %d ìèí" + +#, c-format +msgid "%d hours, %d minutes" +msgstr "%d ÷, %d ìèí" + +#, c-format +msgid "%d minute" +msgstr "%d ìèí" + +#, c-format +msgid "%d minutes" +msgstr "%d ìèí" + +#, c-format +msgid "%s file successfully imported" +msgstr "Ôàéë %s óñïåøíî èìïîðòèðîâàí" + +#, c-format +msgid "%s is in progress." +msgstr "%s â ïðîöåññå" + +#, c-format +msgid "%s is starting now." +msgstr "%s íà÷èíàåòñÿ." + +#, c-format +msgid "%s starts in %s" +msgstr "%s íà÷èíàåòñÿ â %s" + +msgid "Description (optional)" +msgstr "Îïèñàíèå (íå îáÿçàòåëüíî)" + +msgid "Description" +msgstr "Îïèñàíèå" + +msgid "Keywords (optional)" +msgstr "Êëþ÷åâûå ñëîâà" + +msgid "Keywords" +msgstr "Êëþ÷åâûå ñëîâà (íå îáÿçàòåëüíî)" + +msgid "Recurrence (optional)" +msgstr "Ïîâòîðÿåìîñòü (íå îáÿçàòåëüíî)" + +msgid "Recurrence" +msgstr "Ïîâòîðÿåìîñòü" + +msgid "Add Event" +msgstr "Äîáàâèòü ñîáûòèå" + +msgid "Add a new event" +msgstr "Äîáàâèòü íîâîå ñîáûòèå" + +msgid "Alarm Date" +msgstr "Äàòà íàïîìèíàíèÿ" + +msgid "Alarm Span (minutes)" +msgstr "Äëèòåëüíîñòü íàïîìèíàíèÿ (ìèíóòû)" + +msgid "Alarm Time" +msgstr "Âðåìÿ íàïîìèíàíèÿ" + +msgid "Alarm" +msgstr "Íàïîìèíàíèå" + +msgid "All day event" +msgstr "Åæåäíåâíîå ñîáûòèå" + +msgid "All day" +msgstr "Êàæäûé äåíü" + +msgid "All events" +msgstr "Âñå ñîáûòèÿ" + +msgid "All" +msgstr "Âñå" + +msgid "April" +msgstr "Àïðåëü" + +msgid "At" +msgstr "Â" + +msgid "August" +msgstr "Àâãóñò" + +msgid "Birthday" +msgstr "Äåíü ðîæäåíèÿ" + +msgid "Business" +msgstr "Äåëà" + +msgid "Cancel" +msgstr "Îòìåíà" + +msgid "Category" +msgstr "Êàòåãîðèÿ" + +msgid "Change the way dates and times are formatted." +msgstr "Èçìåíåíèå ôîðìàòà äàòû è âðåìåíè." + +msgid "Confirm deletion of events?" +msgstr "Ïîäòâåðæäåíèå óäàëåíèÿ ñîáûòèé" + +msgid "Create a New Event" +msgstr "Ñîçäàòü íîâîå ñîáûòèå" + +msgid "Current" +msgstr "Òåêóùåå" + +msgid "Daily: Recurs every" +msgstr "Ïîâòîðÿåòñÿ åæåäíåâíî" + +msgid "Date and Time Options" +msgstr "Íàñòðîéêè äàòû è âðåìåíè" + +msgid "Day" +msgstr "Äåíü" + +msgid "Day(s)" +msgstr "Äåíü(äíè)" + +msgid "December" +msgstr "Äåêàáðü" + +#, c-format +msgid "Delete %s" +msgstr "Óäàëèòü %s" + +#, c-format +msgid "Delete '%s'" +msgstr "Óäàëèòü '%s'" + +msgid "Delete Event" +msgstr "Óäàëèòü ñîáûòèå" + +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Óäàëèòü òîëüêî äàííîå ñîáûòèå, ýòî ñîáûòèå è âñå áóäóùèå ñîáûòèÿ, èëè âñå " +"ñîáûòèÿ?" + +msgid "Delete" +msgstr "Óäàëèòü" + +msgid "Description" +msgstr "Îïèñàíèå" + +msgid "Display 24-hour times?" +msgstr "24-÷àñîâîé ôîðìàò âðåìåíè?" + +msgid "Display Options" +msgstr "Íàñòðîéêè îáîëî÷êè" + +#, c-format +msgid "Due: %s" +msgstr "Äî: %s" + +msgid "Duration" +msgstr "Äëèòåëüíîñòü" + +#, c-format +msgid "Edit %s" +msgstr "Ðåäàêòèðîâàòü %s" + +msgid "Edit" +msgstr "Ðåäàêòèðîâàòü" + +msgid "End Date" +msgstr "Äàòà îêîí÷àíèÿ" + +msgid "End On" +msgstr "Çàêàí÷èâàåòñÿ" + +msgid "End Time" +msgstr "Âðåìÿ îêîí÷àíèÿ" + +msgid "Export Calendar" +msgstr "Ýêñïîðòèðîâàòü êàëåíäàðü" + +msgid "Export" +msgstr "Ýêñïîðò" + +msgid "February" +msgstr "Ôåâðàëü" + +msgid "Fr" +msgstr "Ïò" + +msgid "Friday" +msgstr "Ïÿòíèöà" + +msgid "Future" +msgstr "Áóäóùåå" + +msgid "Game" +msgstr "Èãðà" + +msgid "Goto" +msgstr "Ïåðåéòè" + +msgid "Help" +msgstr "Ïîäñêàçêà" + +msgid "Hour(s)" +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 Calendar" +msgstr "Èìïîðòèðîâàòü êàëåíäàðü" + +msgid "Import" +msgstr "Èìïîðò" + +msgid "Import/Export Calendar" +msgstr "Èìïîðò/Ýêñïîðò êàëåíäàðÿ" + +msgid "Import/Export" +msgstr "Èìïîðò/Ýêñïîðò" + +msgid "January" +msgstr "ßíâàðü" + +msgid "July" +msgstr "Èþëü" + +msgid "June" +msgstr "Èþíü" + +msgid "Keywords" +msgstr "Êëþ÷åâûå ñëîâà" + +msgid "Kronolith is not properly configured" +msgstr "Kronolith íåâåðíî ñêîíôèãóðèðîâàí" + +msgid "Language" +msgstr "ßçûê" + +msgid "Last month" +msgstr "Ïðîøëûé ìåñÿö" + +msgid "Last week" +msgstr "Ïðîøëàÿ íåäåëÿ" + +msgid "Lasts" +msgstr "Äëèòñÿ" + +msgid "Limit the time span to export:" +msgstr "Îãðàíè÷åíèå ýêñïîðòèðóåìîãî âðåìåííîãî ïðîìåæóòêà:" + +msgid "Location" +msgstr "Ðàñïîëîæåíèå" + +msgid "March" +msgstr "Ìàðò" + +msgid "May" +msgstr "Ìàé" + +msgid "Meeting" +msgstr "Âñòðå÷à" + +msgid "Minute(s)" +msgstr "Ìèíóòà(û)" + +msgid "Minutes before" +msgstr "Ìèíóòû äî" + +msgid "Minutes" +msgstr "Ìèíóòû" + +msgid "Mo" +msgstr "Ïí" + +msgid "Monday" +msgstr "Ïîíåäåëüíèê" + +msgid "Month" +msgstr "Ìåñÿö" + +msgid "Monthly: Recurs every" +msgstr "Ïîâòîðÿåòñÿ åæåìåñÿ÷íî" + +msgid "New Event" +msgstr "Íîâîå ñîáûòèå" + +msgid "Next Month" +msgstr "Ñëåäóþùèé ìåñÿö" + +msgid "Next day" +msgstr "Ñëåäóþùèé äåíü" + +msgid "Next week" +msgstr "Ñëåäóþùàÿ íåäåëÿ" + +msgid "No configuration information specified for SQL Calendar." +msgstr "Äëÿ SQL êàëåíäàðÿ íå áûëî óêàçàíî êîíôèãóðàöèîííîé èíôîðìàöèè." + +msgid "No end date" +msgstr "Íåò äàòû îêîí÷àíèÿ" + +msgid "None" +msgstr "Íåò" + +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "" +"Ïðèìå÷àíèå: Èìïîðò íå âîçìîæåí ñ äàííîé êîíôèãóðàöèåé, èç-çà áàãà â äðàéâåðå " +"êàëåíäàðÿ." + +msgid "November" +msgstr "Íîÿáðü" + +msgid "October" +msgstr "Îêòÿáðü" + +msgid "Options" +msgstr "Íàñòðîéêè" + +msgid "Pattern" +msgstr "Îáðàçåö" + +msgid "Permanently delete this event?" +msgstr "Íàâñåãäà óäàëèòü ýòî ñîáûòèå?" + +msgid "Personal" +msgstr "Ëè÷íîå" + +msgid "Previous day" +msgstr "Ïðåäûäóùèé äåíü" + +msgid "Problem?" +msgstr "Ïðîáëåìû?" + +msgid "Recur Until" +msgstr "Ïîâòîð äî" + +msgid "Recurrence Data" +msgstr "Äàííûå ïîâòîðà" + +msgid "Recurrence End Date" +msgstr "Äàòà îêîí÷àíèÿ ïîâòîðà" + +msgid "Recurrence Interval" +msgstr "Èíòåðâàë ïîâòîðà" + +msgid "Recurrence Type" +msgstr "Òèï ïîâòîðà" + +msgid "Recurs daily" +msgstr "Åæåäíåâíî" + +msgid "Recurs monthly" +msgstr "Åæåìåñÿ÷íî" + +msgid "Recurs not" +msgstr "Íå ïîâòîðÿåòñÿ" + +msgid "Recurs weekly" +msgstr "Åæåíåäåëüíî" + +msgid "Recurs yearly" +msgstr "Åæåãîäíî" + +msgid "Required 'database' not specified in calendar configuration." +msgstr "Íåîáõîäèìûé ïàðàìåòð 'database' íå îïðåäåëåí â êîíôèãóðàöèè." + +msgid "Required 'hostspec' not specified in calendar configuration." +msgstr "Íåîáõîäèìûé ïàðàìåòð 'hostspec' íå îïðåäåëåí â êîíôèãóðàöèè." + +msgid "Required 'password' not specified in calendar configuration." +msgstr "Íåîáõîäèìûé ïàðàìåòð 'password' íå îïðåäåëåí â êîíôèãóðàöèè." + +msgid "Required 'phptype' not specified in calendar configuration." +msgstr "Íåîáõîäèìûé ïàðàìåòð 'phptype' íå îïðåäåëåí â êîíôèãóðàöèè." + +msgid "Required 'username' not specified in calendar configuration." +msgstr "Íåîáõîäèìûé ïàðàìåòð 'username' íå îïðåäåëåí â êîíôèãóðàöèè." + +msgid "Reset to Defaults" +msgstr "Ñáðîñ óñòàíîâîê" + +msgid "Sa" +msgstr "Ñá" + +msgid "Saturday" +msgstr "Ñóááîòà" + +msgid "Save As New" +msgstr "Ñîõðàíèòü êàê íîâîå" + +msgid "Save Event" +msgstr "Ñîõðàíèòü ñîáûòèå" + +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Âûáîð óñòàíîâîê ïîäòâåðæäåíèÿ, êàê îòîáðàæàòü ðàçëè÷íûå âèäû, âûáîð âèäà ïî " +"óìîë÷àíèþ." + +msgid "Select how to display Dates:" +msgstr "Âûáåðèòå ôîðìàò îòîáðàæåíèÿ äàò:" + +msgid "Select if to show due tasks in the calendar." +msgstr "Ïîêàçûâàòü â êàëåíäàðå óñòàðåâøèå çàäà÷è." + +msgid "Select the file to import:" +msgstr "Âûáåðèòå ôàéë äëÿ èìïîðòà" + +msgid "Select the first weekday:" +msgstr "Íåäåëÿ íà÷èíàåòñÿ ñ:" + +msgid "Select the format to export to:" +msgstr "Âûáåðèòå ôîðìàò ýêñïîðòà:" + +msgid "Select the source to import from:" +msgstr "Âûáåðèòå èñòî÷íèê èìïîðòà:" + +msgid "Select the time span to show:" +msgstr "Âûáåðèòå îòîáðàæàåìûé ïðîìåæóòîê âðåìåíè:" + +msgid "Select the view to display after login:" +msgstr "Âûáåðèòå âèä ïîñëå âõîäà â ñèñòåìó:" + +msgid "Select what events to show in the Horde summary." +msgstr "Âûáåðèòå, êàêèå ñîáûòèÿ ïîêàçûâàòü íà ãëàâíîé ñòðàíèöå Horde." + +msgid "September" +msgstr "Ñåíòÿáðü" + +msgid "Set the current time zone." +msgstr "Çàäàòü âðåìåííóþ çîíó." + +msgid "Set the language that menu items, explanations, and help are in." +msgstr "Çàäàòü ÿçûê ìåíþ è ïîäñêàçîê." + +msgid "Set your preferred display language." +msgstr "Çàäàòü ÿçûê èíòåðôåéñà." + +msgid "Show due tasks in the calendar?" +msgstr "Ïîêàçûâàòü â êàëåíäàðå óñòàðåâøèå çàäà÷è?" + +msgid "Show half hour slots in day and week views?" +msgstr "Ïîêàçûâàòü ïîëó÷àñîâûå ÿ÷åéêè ïðè ïðîñìîòðå äíåé è íåäåëü?" + +msgid "Show only events that have an alarm set?" +msgstr "Ïîêàçûâàòü òîëüêî ñîáûòèÿ ñ îïîâåùåíèåì?" + +msgid "Some of Kronolith's configuration files are missing:" +msgstr "Íåêîòîðûå ôàéëû êîíôèãóðàöèè Kronolith ïîòåðÿíû:" + +msgid "Start Date" +msgstr "Äàòà íà÷àëà" + +msgid "Start On" +msgstr "Íà÷èíàåòñÿ" + +msgid "Start Time" +msgstr "Âðåìÿ íà÷àëà" + +msgid "Su" +msgstr "Âñ" + +msgid "Summary" +msgstr "Ãëàâíàÿ" + +msgid "Sunday" +msgstr "Âîñêðåñåíüå" + +msgid "Tasks" +msgstr "Çàäà÷è" + +msgid "Th" +msgstr "×ò" + +msgid "The data was lost." +msgstr "Äàííûå áûëè óòåðÿíû." + +msgid "The end date must be later than the start date." +msgstr "Äàòà îêîí÷àíèÿ äîëæíà áûòü ïîçæå äàòû íà÷àëà." + +msgid "The file contained no data." +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 events to export." +msgstr "Ñîáûòèÿ äëÿ ýêñïîðòà íå íàéäåíû." + +msgid "" +"This file controls the default preferences for Kronolith, and also controls " +"which preferences users can alter." +msgstr "" +"Ýòîò ôàéë îïðåäåëÿåò óñòàíîâêè ïî óìîë÷àíèþ äëÿ Kronolith, à òàêæå " +"îïðåäåëÿåò, êàêèå ïàðàìåòðû ïîëüçîâàòåëè ìîãóò èçìåíÿòü." + +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 Kronolith configuration file. It contains paths and options " +"for all Kronolith scripts." +msgstr "" +"Ýòî ãëàâíûé êîíôèãóðàöèîííûé ôàéë Kronolith. Îí ñîäåðæèò ïóòè è ïàðàìåòðû " +"äëÿ âñåõ ñêðèïòîâ Kronolith." + +msgid "Thursday" +msgstr "×åòâåðã" + +msgid "Time Zone" +msgstr "Âðåìåííàÿ çîíà" + +msgid "Title" +msgstr "Çàãîëîâîê" + +msgid "Today" +msgstr "Ñåãîäíÿ" + +msgid "Tu" +msgstr "Âò" + +msgid "Tuesday" +msgstr "Âòîðíèê" + +msgid "Type" +msgstr "Òèï" + +msgid "User Interface" +msgstr "Ïîëüçîâàòåëüñêèé èíòåðôåéñ" + +msgid "User Options" +msgstr "Íàñòðîéêè ïîëüçîâàòåëÿ" + +#, c-format +msgid "View %s" +msgstr "Âèä %s" + +msgid "We" +msgstr "Ñð" + +msgid "Wednesday" +msgstr "Ñðåäà" + +#, c-format +msgid "Week %d" +msgstr "Íåäåëÿ %d" + +msgid "Week" +msgstr "Íåäåëÿ" + +#, c-format +msgid "Week %d" +msgstr "Íåäåëÿ %d" + +msgid "Week(s)" +msgstr "Íåäåëÿ(è)" + +msgid "Weekly: Recurs every" +msgstr "Ïîâòîðÿåòñÿ åæåíåäåëüíî" + +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Êàêèì âðåìåíåì çàêàí÷èâàòü îòîáðàæàòü äåíü èëè íåäåëþ, ïðè îòñóòñòâèè áîëåå " +"ïîçäíèõ ñîáûòèé?" + +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Ñ êàêîãî âðåìåíè íà÷èíàòü îòîáðàæàòü äåíü èëè íåäåëþ, ïðè îòñòóòñòâèè áîëåå " +"ðàííèõ ñîáûòèé?" + +msgid "Work Week" +msgstr "Ðàáî÷àÿ íåäåëÿ" + +msgid "Work Week" +msgstr "Ðàáî÷àÿ íåäåëÿ" + +msgid "Yearly: Recurs every" +msgstr "Ïîâòîðÿåòñÿ åæåãîäíî" + +msgid "Your Information" +msgstr "Âàøà èíôîðìàöèÿ" + +msgid "Your current time zone:" +msgstr "Âàøà âðåìåííàÿ çîíà:" + +msgid "day" +msgstr "äåíü" + +msgid "day(s)" +msgstr "äåíü(äíè)" + +msgid "days" +msgstr "äíè" + +msgid "iCalendar file successfully imported" +msgstr "Ôàéë ôîðìàòà iCalendar óñïåøíî èìïîðòèðîâàí" + +msgid "month(s)" +msgstr "ìåñÿö(û)" + +msgid "no time" +msgstr "íåò âðåìåíè" + +msgid "on the same date" +msgstr "â òîò æå äåíü" + +msgid "on the same weekday" +msgstr "â òîò æå äåíü íåäåëè" + +msgid "week" +msgstr "íåäåëÿ" + +msgid "week(s) on:" +msgstr "íåäåëÿ(è):" + +msgid "weeks" +msgstr "íåäåëè" + +msgid "year(s)" +msgstr "ãîä(û)" diff --git a/kronolith/po/sk_SK.po b/kronolith/po/sk_SK.po new file mode 100644 index 000000000..2773532c4 --- /dev/null +++ b/kronolith/po/sk_SK.po @@ -0,0 +1,2627 @@ +# Kronolith Slovak translation. +# Copyright 2002 Leo Mrafko, , 2002 (original translator) +# (c) 2004 Ivan Noris +# Martin Matu¹ka , 2008 +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 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 \n" +"Language-Team: Slovak \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==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#: templates/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " do %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " bez konca" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d udalostí" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d krát" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s d. %s hod. %s min." + +#: lib/Driver.php:2267 +#, php-format +msgid "%s attendees" +msgstr "%s úèastníkov" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "súbor %s úspe¹ne importovaný" + +#: calendars.php:112 lib/Kronolith.php:364 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "Kalendár %s" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Pridajte kliknutím na Prida» *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Prosím vyberte adresu(y) *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d krát" + +#: lib/Driver.php:2266 +msgid "1 attendee" +msgstr "1 úèastník" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 udalos»" + +#: config/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 hodina" + +#: config/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 minút" + +#: config/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 minút" + +#: config/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 minút" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "Predpoludním" + +#: lib/Kronolith.php:1169 +msgid "Accepted" +msgstr "Prijatá" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "_Roz¹írené vyhµadávanie" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Prida»" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Prida» udalos»" + +#: templates/prefs/remote_cal_management.inc:43 +msgid "Add a new Remote Calendar" +msgstr "Prida» vzdialený kalendár" + +#: new.php:65 +msgid "Add a new event" +msgstr "Prida» novú udalos»" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Prida» úèastníkov" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Prida» zdroj" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Prida» k úèastníkom" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Adresár" + +#: config/prefs.php.dist:69 +msgid "Address Books" +msgstr "Adresáre" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:10 +msgid "Advanced Search" +msgstr "Roz¹írené vyhµadávanie" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Alarm" + +#: lib/Driver.php:2233 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarm %d dní pred" + +#: lib/Driver.php:2238 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarm %d hodín pred" + +#: lib/Driver.php:2243 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarm %d min. pred" + +#: lib/Driver.php:2228 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarm %d tý¾dòov pred" + +#: lib/Driver.php:2232 +msgid "Alarm 1 day before" +msgstr "Alarm 1 deò pred" + +#: lib/Driver.php:2237 +msgid "Alarm 1 hour before" +msgstr "Alarm 1 hodinu pred" + +#: lib/Driver.php:2242 +msgid "Alarm 1 minute before" +msgstr "Alarm 1 minútu pred" + +#: lib/Driver.php:2227 +msgid "Alarm 1 week before" +msgstr "Alarm 1 tý¾deò pred" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Dátum alarmu" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Rozpätie alarmu (v minútach)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Èas alarmu" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "Jednotka alarmu" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "Hodnota alarmu" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Alarm zapnutý" + +#: templates/delete/delete.inc:27 templates/edit/edit.inc:39 +msgid "All" +msgstr "V¹etky" + +#: lib/FBView.php:129 lib/FBView.php:132 lib/FBView.php:135 +msgid "All Attendees" +msgstr "V¹etci úèastníci" + +#: templates/perms/perms.inc:51 +msgid "All Authenticated Users" +msgstr "V¹etci overený pou¾ívatelia" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "V¹etky kalendáre" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "V¹etky budúce" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "V¹etky minulé" + +#: lib/Block/monthlist.php:30 lib/Block/prevmonthlist.php:27 +#: lib/Block/month.php:24 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "V¹etky viditeµné" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2336 +#: lib/Views/Day.php:99 lib/Views/Day.php:102 lib/Views/Week.php:149 +#: lib/Views/Week.php:156 +msgid "All day" +msgstr "Ka¾dý deò" + +#: lib/Block/summary.php:166 +msgid "All day event" +msgstr "Ka¾dodenná udalos»" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "V¹etky udalosti" + +#: lib/api.php:792 lib/api.php:803 +msgid "Already Exists" +msgstr "U¾ existuje" + +#: templates/search/search_advanced.inc:44 +#: templates/search/search_advanced.inc:65 lib/Kronolith.php:1262 +msgid "Any" +msgstr "¥ubovoµná" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Apríl" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "O" + +#: lib/Kronolith.php:1442 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"V prílohe je súbor iCalendar s detailnými informáciami o udalosti. Ak Vá¹ e-" +"mailový klient podporuje po¾iadavky iTip, mô¾ete tento súbor pou¾i» na " +"jednoduchú aktualizáciu Va¹ej lokálnej kópie udalosti." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Pokus o úpravu neexistujúceho zdielania." + +#: templates/attendees/attendees.inc:48 templates/attendees/attendees.inc:60 +#: templates/view/view.inc:172 +msgid "Attendance" +msgstr "Úèas»" + +#: templates/attendees/attendees.inc:47 templates/view/view.inc:171 +msgid "Attendee" +msgstr "Úèastník" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "Úèastníci" + +#: lib/Kronolith.php:1436 +#, php-format +msgid "Attendees: %s" +msgstr "Úèastníci: %s" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "August" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Dostupné adresáre" + +#: templates/search/search_advanced.inc:9 templates/search/search.inc:12 +msgid "Basic Search" +msgstr "Základné hµadanie" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Narodeniny" + +#: lib/FBView.php:90 lib/FBView.php:112 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Zaneprázdnený" + +#: templates/search/search_advanced.inc:37 +msgid "C_alendar" +msgstr "K_alendár" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "Kal_endár" + +#: templates/calendar_list.php:22 templates/calendars/calendars.inc:90 +#: lib/Block/monthlist.php:21 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Kalendár" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Informácie o kalendári" + +#: templates/calendar_list.php:19 +msgid "Calendar List" +msgstr "Zoznam kalendárov" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Kalendárový súhrn" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "Kalendár bol úspe¹ne vyprázdnený." + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:60 +msgid "Calendars" +msgstr "Kalendáre" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Vytlaèené kalendáre: " + +#: calendars.php:31 +msgid "Calendars must have a name." +msgstr "Kalendáre musia ma» názov." + +#: data.php:270 +msgid "Can't create a new event." +msgstr "Nepodarilo sa vytvori» novú udalos»." + +#: templates/delete/delete.inc:28 templates/delete/one.inc:25 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 lib/Forms/DeleteCalendar.php:45 +#: lib/Forms/DeleteCalendar.php:51 +msgid "Cancel" +msgstr "Zru¹i»" + +#: lib/Kronolith.php:1145 +msgid "Cancelled" +msgstr "Zru¹ené" + +#: lib/Kronolith.php:1403 +#, php-format +msgid "Cancelled: %s" +msgstr "Zru¹ené: %s" + +#: lib/Driver/kolab.php:1394 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Nemô¾em vymaza» udalos»: %s" + +#: templates/search/search_advanced.inc:58 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "Kategór_ia" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Kategória" + +#: calendars/index.php:69 templates/calendar_list.php:54 +msgid "Change Permissions" +msgstr "Zmeni» práva" + +#: config/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Vyberte, èi chcete by» upozornený o zmenách v udalostiach, alarmoch udalostí " +"a nastávajúcich udalostiach." + +#: config/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "Vyberte si ako chcete prijíma» pripomienky o odalostiach s alarmami:" + +#: config/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Vyberte, èi chcete by» upovedomený o nových, zmenených alebo vymazaných " +"udalostiach e-mailom:" + +#: config/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Vyberte, èi chcete dostáva» denný súhrn upozornení e-mailom:" + +#: config/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "Vyberte, èi chcete dostáva» upozornenia pre udalosti s alarmom:" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "" +"Vyberte adresáre, ktoré budú obsiahnuté v URL s informáciami o voµnosti/" +"obsadenosti uvedenom vy¹¹ie:" + +#: config/prefs.php.dist:440 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "" +"Vyberte adresáre, ktoré sa pou¾ijú pri vytváraní URL s informáciami o " +"voµnosti/obsadenosti:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "" +"Vyberte poradie, v akom sa budú prehµadáva» adresáre pri dopåòaní adries." + +#: config/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "Vyberte náhµady, v ktorých sa majú zobrazi» miesta udalostí:" + +#: config/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "" +"Vyberte náhµady, v ktorých sa majú zobrazi» èasy zaèiatku a konca udalostí:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Vyberte sviatky, ktoré majú by» zobrazené" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Vyberte Vá¹ prednastavený kalendár" + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Odstráni» v¹etkých úèastníkov" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Kliknite na jeden z Va¹ich vybraných adresárov a potom oznaète v¹etky polia, " +"ktoré chcete prehµadáva»." + +#: templates/calendar_list.php:40 templates/calendar_list.php:41 +#: templates/calendar_list.php:50 templates/calendar_list.php:51 +msgid "Click or copy this URL to display this calendar" +msgstr "Kliknite alebo skopírujte túto URL na zobrazenie tohto kalendára" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Zavrie»" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Zavrie» okno" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Zavrie» okno" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Hodnoty oddelené èiarkou" + +#: config/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "Potvrdzova» vymazávanie udalostí?" + +#: lib/Kronolith.php:1142 +msgid "Confirmed" +msgstr "Potvrdené" + +#: templates/calendars/calendars.inc:162 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" +"Skopírujte túto URL s informáciami ni¾¹ie pre informácie o voµnos»i/" +"obsadenos»i:" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "Skopírujte túto URL s informáciami o Va¹ej voµnos»i/obsadenos»i" + +#: lib/Kronolith.php:456 +#, php-format +msgid "Could not open %s." +msgstr "Nepodarilo sa otvori» %s." + +#: templates/calendars/calendars.inc:69 lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Vytvori»" + +#: templates/calendars/calendars.inc:55 lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Vytvori» kalendár" + +#: templates/week/head.inc:29 lib/Views/Day.php:99 lib/Views/Day.php:261 +#: lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "Vytvori» novú udalos»" + +#: templates/calendar_list.php:10 +msgid "Create a new Local Calendar" +msgstr "Vytvori» nový lokálny kalendár" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Vytvorené" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:37 +msgid "Current" +msgstr "Aktuálne" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Denne" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "Denne: opakovanie ka¾dých" + +#: attendees.php:196 lib/Kronolith.php:1748 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:90 +msgid "Day" +msgstr "Deò" + +#: templates/prefs/default_alarm_management.inc:28 templates/view/view.inc:56 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "Deò(dni)" + +#: lib/Kronolith.php:1798 +msgid "De_lete" +msgstr "Vy_maza»" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "December" + +#: lib/Kronolith.php:1172 +msgid "Declined" +msgstr "Odmietnuté" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "©tandardné nastavenia pre alarmy:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Prednastavený kalendár" + +#: templates/perms/perms.inc:57 templates/perms/perms.inc:81 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:122 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:163 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:204 +#: templates/perms/perms.inc:245 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:286 templates/perms/perms.inc:320 +msgid "Delegate" +msgstr "Delegova»" + +#: calendars/index.php:70 templates/calendar_list.php:56 +#: templates/calendars/calendars.inc:149 templates/delete/one.inc:24 +#: templates/prefs/remote_cal_management.inc:30 templates/perms/perms.inc:56 +#: templates/perms/perms.inc:77 templates/perms/perms.inc:97 +#: templates/perms/perms.inc:118 templates/perms/perms.inc:138 +#: templates/perms/perms.inc:159 templates/perms/perms.inc:179 +#: templates/perms/perms.inc:200 templates/perms/perms.inc:241 +#: templates/perms/perms.inc:261 templates/perms/perms.inc:282 +#: templates/perms/perms.inc:316 lib/Driver.php:1329 lib/Driver.php:2295 +#: lib/Forms/DeleteCalendar.php:45 +msgid "Delete" +msgstr "Vymaza»" + +#: lib/Driver.php:2294 lib/Forms/DeleteCalendar.php:40 +#: lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Vymaza» %s" + +#: lib/Driver.php:1328 +#, php-format +msgid "Delete exception on %s" +msgstr "Chyba pri vymazávaní %s" + +#: templates/search/search_advanced.inc:101 templates/search/search.inc:27 +#: templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "Po_pis" + +#: data.php:63 templates/calendars/calendars.inc:123 +#: templates/view/view.inc:155 lib/Forms/EditCalendar.php:44 +#: lib/Forms/CreateCalendar.php:37 +msgid "Description" +msgstr "Popis" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Nastavenie zobrazenia" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Nastavenie zobrazenia" + +#: templates/calendar_list.php:24 +msgid "Display URL" +msgstr "Zobrazenie URL" + +#: lib/Kronolith.php:1110 +msgid "Does not recur" +msgstr "Neopakuje sa" + +#: config/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"Má sa posiela» upozornenie pri pridaní, zmene alebo vymazaní tejto udalosti?" + +#: lib/Kronolith.php:674 +#, php-format +msgid "Due: %s" +msgstr "Termín: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Trvanie" + +#: lib/Driver.php:2006 +msgid "Duration Day" +msgstr "Trvanie deò" + +#: lib/Driver.php:2018 +msgid "Duration Hour" +msgstr "Trvanie hodina" + +#: lib/Driver.php:2029 +msgid "Duration Minute" +msgstr "Trvanie minúta" + +#: calendars/index.php:68 templates/calendar_list.php:42 +#: templates/calendar_list.php:52 templates/calendars/calendars.inc:116 +#: templates/prefs/remote_cal_management.inc:31 templates/perms/perms.inc:55 +#: templates/perms/perms.inc:73 templates/perms/perms.inc:96 +#: templates/perms/perms.inc:114 templates/perms/perms.inc:137 +#: templates/perms/perms.inc:155 templates/perms/perms.inc:178 +#: templates/perms/perms.inc:196 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:260 templates/perms/perms.inc:278 +#: templates/perms/perms.inc:312 lib/Driver.php:2288 +msgid "Edit" +msgstr "Upravi»" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2287 +#: lib/Forms/EditCalendar.php:40 lib/Forms/EditRemoteCalendar.php:34 +#: lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "Upravi» %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Upravi» úèastníkov" + +#: templates/calendars/calendars.inc:84 +msgid "Edit Calendars" +msgstr "Upravi» kalendáre" + +#: perms.php:237 +msgid "Edit Permissions" +msgstr "Upravi» práva" + +#: perms.php:239 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Upravi» práva pre %s" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Upravi» úèastníka" + +#: attendees.php:267 +msgid "Edit attendees" +msgstr "Upravi» úèastníkov" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Upravi» kategória a farby" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Upravi» práva pre %s" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "E-mailová adresa" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "_Koniec" + +#: data.php:58 +msgid "End Date" +msgstr "Dátum ukonèenia" + +#: templates/data/export.inc:161 lib/Driver.php:1977 +msgid "End Day" +msgstr "Deò ukonèenia" + +#: templates/data/export.inc:178 lib/Driver.php:1990 +msgid "End Hour" +msgstr "Hodina ukonèenia" + +#: templates/data/export.inc:190 lib/Driver.php:2001 +msgid "End Minute" +msgstr "Minúta ukonèenia" + +#: templates/data/export.inc:148 lib/Driver.php:1968 +msgid "End Month" +msgstr "Mesiac ukonèenia" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:41 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "Konèí" + +#: data.php:59 +msgid "End Time" +msgstr "Èas ukonèenia" + +#: templates/data/export.inc:134 lib/Driver.php:1957 +msgid "End Year" +msgstr "Rok ukonèenia" + +#: attendees.php:246 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "" +"Nastala chyba pri importe informácií o voµnosti/obsadenosti pou¾ívateµa: %s: " +"%s." + +#: attendees.php:223 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "" +"Nastala chyba pri importe Va¹ích informácií o voµnosti/obsadenosti: %s." + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Prednastavené hodnoty pre udalos»" + +#: lib/Kronolith.php:1595 +msgid "Event added:" +msgstr "Udalos» pridaná:" + +#: lib/Kronolith.php:1605 +msgid "Event deleted:" +msgstr "Udalos» vymazaná:" + +#: lib/Kronolith.php:1600 +msgid "Event edited:" +msgstr "Udalos» upravená:" + +#: lib/Driver.php:1456 +#, php-format +msgid "Event from %s to %s" +msgstr "Udalos» od %s do %s" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "Udalos» nebola nájdená." + +#: lib/Driver/kolab.php:453 lib/Driver/kolab.php:1189 +#: lib/Driver/kolab.php:1228 lib/Driver/kolab.php:1372 +#, php-format +msgid "Event not found: %s" +msgstr "Udalos» nebola nájdená: %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:50 +msgid "Events" +msgstr "Udalosti" + +#: lib/api.php:279 +#, php-format +msgid "Events from %s" +msgstr "Udalosti od %s" + +#: lib/Driver.php:1060 +msgid "Events must have a start date." +msgstr "Udalosti musia ma» dátum ich zaèiatku." + +#: lib/Driver.php:1022 +msgid "Events must have a title." +msgstr "Udalosti musia ma» názov." + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "Výnimky" + +#: templates/data/export.inc:209 lib/Kronolith.php:1805 +msgid "Export" +msgstr "Export" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Exportova» kalendár" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Externé udalosti:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Február" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Polia na hµadanie" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Nájs»" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Views/Year.php:81 lib/Block/month.php:107 +msgid "Fr" +msgstr "Pia" + +#: lib/Kronolith.php:1148 +msgid "Free" +msgstr "Voµný" + +#: config/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "Informácie o voµnosti/obsadenosti" + +#: templates/month/head.inc:21 templates/view/view.inc:103 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "Piatok" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:38 +msgid "Future" +msgstr "Budúcnos»" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Hra" + +#: templates/search/search_advanced.inc:18 +msgid "General" +msgstr "V¹eobecné" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Prejs» na %s" + +#: templates/perms/perms.inc:256 +msgid "Groups" +msgstr "Skupiny" + +#: templates/perms/perms.inc:92 +msgid "Guest Permissions" +msgstr "Práva hos»a" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Skry»" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Sviatky" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:59 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "Hodina(y)" + +#: config/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "Aké veµké majú by» èasové úseky v dennom a tý¾dennom náhµade?" + +#: config/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "Koµko dní informácií o voµnosti/obsadenosti má by» vytvorených?" + +#: lib/Kronolith.php:1446 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Ak Vá¹ e-mailový klient nepodporuje po¾iadavky iTip mô¾ete pou¾i» jeden z " +"nasledujúcich odkazov na prijatie alebo odmietnutie udalosti.\n" +"\n" +"Prijatie udalosti:\n" +"%s\n" +"\n" +"Predbe¾né prijatie udalosti:\n" +"%s\n" +"\n" +"Odmietnutie udalosti:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Importova» kalendár, krok %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Import/Export kalendára" + +#: templates/perms/perms.inc:174 +msgid "Individual Users" +msgstr "Individuálni pou¾ívatelia" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Január" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Júl" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Jún" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "Kµúèové slová" + +#: templates/calendar_list.php:23 +msgid "Kind" +msgstr "Typ" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "Posledných 24 hodín" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Posledná aktualizácia" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Posledný mesiac" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Posledný rok" + +#: templates/search/search.inc:53 templates/week/head.inc:6 +msgid "Last week" +msgstr "Posledný tý¾deò" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Obmedzi» rozsah èasov pre export." + +#: config/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Zobrazi» v¹etky kontakty pri prehµadávaní? (ak nie, budete vidie» iba " +"kontakty, ktoré explicítne vyhovujú hµadaniu)" + +#: templates/search/search_advanced.inc:81 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "Mie_sto" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Nahráva sa ..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Nahráva sa..." + +#: templates/calendar_list.php:49 +msgid "Local" +msgstr "Miestne" + +#: templates/calendar_info.php:18 +#, php-format +msgid "Local calendar owned by %s." +msgstr "Miestny kalendár, vlastník %s." + +#: data.php:65 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:25 +#: templates/prefs/remote_cal_management.inc:60 templates/view/view.inc:14 +#: lib/Driver.php:2318 +msgid "Location" +msgstr "Miesto" + +#: lib/Kronolith.php:1427 +#, php-format +msgid "Location: %s" +msgstr "Miesto: %s" + +#: calendars/index.php:74 templates/calendar_list.php:4 +msgid "Manage Calendars" +msgstr "Spravova» kalendáre" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Marec" + +#: lib/api.php:138 +msgid "Maximum Number of Events" +msgstr "Maximálny poèet udalostí" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Maximálny poèet udalostí na zobrazenie (0 = bez obmedzenia)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Máj" + +#: lib/Driver.php:2314 +msgid "Me" +msgstr "Ja" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Stretnutie" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Alarmy menu" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Zoznam menu" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:62 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "Minúta(y)" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Views/Year.php:77 lib/Block/month.php:107 +msgid "Mo" +msgstr "Pon" + +#: templates/month/head.inc:17 templates/view/view.inc:99 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:114 +msgid "Monday" +msgstr "Pondelok" + +#: attendees.php:199 lib/Kronolith.php:1754 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:93 +msgid "Month" +msgstr "Mesiac" + +#: config/prefs.php.dist:173 config/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "Mesaèné, tý¾denné a denné náhµady" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Mesaène" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "Mesaène: opakovanie" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Mesiacov dopredu" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Mesiacov pred" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Prejs» ni¾¹ie" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Prejs» vy¹¹ie" + +#: lib/api.php:1063 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "" +"Bolo nájdených viacero komponentov iCalendar; podporovaný je iba jeden " +"vEvent." + +#: calendars.php:133 +msgid "My Calendars" +msgstr "Moje kalendáre" + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Moje kalendár:" + +#: templates/calendars/calendars.inc:158 templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "Moja URL s voµnos»ou/obsadenos»ou" + +#: templates/calendars/calendars.inc:60 templates/calendars/calendars.inc:103 +#: templates/contacts/contacts.inc:188 +#: templates/prefs/remote_cal_management.inc:24 +#: templates/prefs/remote_cal_management.inc:52 +#: lib/Forms/SubscribeRemoteCalendar.php:36 lib/Forms/EditCalendar.php:43 +#: lib/Forms/EditRemoteCalendar.php:36 lib/Forms/CreateCalendar.php:36 +msgid "Name" +msgstr "Meno" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Nová udalos»" + +#: lib/Kronolith.php:398 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Nový kalendár bol vytvorený a je automaticky zdieµaný s nasledovnými " +"skupinami: %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Ïalej" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Nasledujúcich 24 hodín" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Nasledujúci deò" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "Nasledujúci mesiac" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Nasledujúci tý¾deò" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Nasledujúci rok" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Nasledujúci deò" + +#: templates/search/search.inc:57 templates/week/head.inc:8 +msgid "Next week" +msgstr "Nasledujúci tý¾deò" + +#: config/prefs.php.dist:336 config/prefs.php.dist:349 +#: config/prefs.php.dist:370 +msgid "No" +msgstr "Nie" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "®iadne informácie" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "®iaden alarm" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "®iadni úèastníci" + +#: lib/api.php:1201 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"®iadnemu úèastníkovi nebola zaslaná aktualizácia, lebo ani jedna z uvedených " +"e-mailových adries nepatrí ¾iadnemu úèastníkovi na zozname." + +#: lib/Kronolith.php:1997 +msgid "No calendars are available to guests." +msgstr "Pre neprihlásených pou¾ívateµov nie sú k dispozícii ¾iadne kalendáre." + +#: lib/Driver/sql.php:418 +msgid "No calendars to search" +msgstr "®iadne kalendáre na hµadanie" + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "®iaden dátum ukonèenia" + +#: lib/Block/monthlist.php:175 lib/Block/prevmonthlist.php:166 +#: lib/Block/summary.php:205 +msgid "No events to display" +msgstr "®iadne udalosti na zobrazenie" + +#: lib/FreeBusy.php:225 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" +"Pre %s neboli na URL s voµnos»ou/obsadenos»ou nájdené ¾iadne informácie." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Pre %s nie sú k dispozícii informácie o voµnosti/obsadenosti" + +#: lib/FreeBusy.php:226 +#, php-format +msgid "No free/busy url found for %s." +msgstr "Pre %s nie je k dispozícii URL s informáciami o voµnosti/obsadenosti" + +#: lib/api.php:491 lib/api.php:778 lib/api.php:816 lib/api.php:1070 +msgid "No iCalendar data was found." +msgstr "Neboli nájdené ¾iadne údaje iCalendar." + +#: templates/edit/edit.inc:221 lib/Recurrence.php:191 lib/Driver.php:1313 +msgid "No recurrence" +msgstr "®iadne opakovanie" + +#: lib/FreeBusy.php:168 +msgid "No valid email address found" +msgstr "Nebola nájdená platná e-mailová adresa" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1179 +#: lib/Kronolith.php:1200 +msgid "None" +msgstr "®iadna" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "Nenájdené" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Nenájdené" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Upozornenia" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "November" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Teraz" + +#: templates/perms/perms.inc:133 +msgid "Object Creator" +msgstr "Vytváranie objektov" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Október" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Na" + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "Pri v¹etkých kalendároch, kde mám prístup na èitanie" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "Pri v¹etkých zobrazených kalendároch" + +#: config/prefs.php.dist:337 config/prefs.php.dist:350 +#: config/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "Iba pri mojich kalendároch" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Iba vlastník alebo systémový administrátor mô¾e zmeni» vlastníka alebo " +"vlastnícke práva na zdielanie" + +#: lib/Kronolith.php:1197 +msgid "Optional" +msgstr "Voliteµné" + +#: lib/FBView.php:120 +msgid "Optional Attendees" +msgstr "Prípadní úèastníci" + +#: config/prefs.php.dist:68 +msgid "Other Options" +msgstr "Ïal¹ie nastavenia" + +#: lib/FBView.php:155 +msgid "Overview" +msgstr "Prehµad" + +#: templates/perms/perms.inc:22 templates/view/view.inc:28 +msgid "Owner" +msgstr "Vlastník" + +#: templates/perms/perms.inc:28 templates/perms/perms.inc:39 +msgid "Owner:" +msgstr "Vlastník:" + +#: lib/Driver.php:2313 +#, php-format +msgid "Owner: %s" +msgstr "Vlastník: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "Popoludní" + +#: templates/prefs/remote_cal_management.inc:76 +#: lib/Forms/SubscribeRemoteCalendar.php:39 +#: lib/Forms/EditRemoteCalendar.php:39 +msgid "Password" +msgstr "Heslo" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "Vzor" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Natrvalo vymaza» túto udalos»?" + +#: lib/Kronolith.php:1899 lib/Kronolith.php:1918 lib/Kronolith.php:1931 +#: lib/Kronolith.php:1952 lib/api.php:648 lib/api.php:692 lib/api.php:724 +#: lib/api.php:757 lib/api.php:855 lib/api.php:908 lib/api.php:1006 +#: lib/api.php:1040 lib/api.php:1131 lib/api.php:1191 lib/api.php:1256 +#: lib/api.php:1286 lib/Driver/sql.php:801 +msgid "Permission Denied" +msgstr "Prístup zamietnutý" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Prístup zamietnutý" + +#: templates/calendars/calendars.inc:113 +msgid "Permissions" +msgstr "Práva" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Prosím opravte zlé alebo nesprávne adresy." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Nastavenia portálu" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "Mo¾ný èas stretnutia" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Predchádzajúci deò" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Predchádzajúci mesiac" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Predchádzajúci tý¾deò" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Predchádzajúci deò" + +#: config/prefs.php.dist:174 config/prefs.php.dist:186 +msgid "Print Views" +msgstr "Náhµady na tlaèenie" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Predo¹lé udalosti" + +#: lib/Driver.php:1452 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Súkromná udalos» od %s do %s" + +#: lib/Driver.php:2258 lib/Driver.php:2259 +msgid "Private event" +msgstr "Súkromná udalos»" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Súkromné?" + +#: templates/perms/perms.inc:54 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:95 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:136 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:177 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:259 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:308 +msgid "Read" +msgstr "Èíta»" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"Naozaj chcete vymaza» kalendár \"%s\"? Toto nie je mo¾né vráti» spä» a " +"v¹etky údaje v tomto kalendári budú trvale odstránené." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "Naozaj sa chcete odhlási» z kalendára \"%s\" (%s)?" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "Opakuje sa do" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "Opakovanie" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Údaje opakovania" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Dátum ukonèenia opakovania" + +#: lib/Driver.php:2072 +msgid "Recurrence End Day" +msgstr "Deò ukonèenia opakovania" + +#: lib/Driver.php:2057 +msgid "Recurrence End Month" +msgstr "Mesiac ukonèenia opakovania" + +#: lib/Driver.php:2040 +msgid "Recurrence End Year" +msgstr "Rok ukonèenia opakovania" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Interval opakovania" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Typ opakovania" + +#: lib/Kronolith.php:1113 +msgid "Recurs daily" +msgstr "opakuje sa ka¾dodenne" + +#: lib/Kronolith.php:1120 +msgid "Recurs monthly" +msgstr "opakuje sa ka¾dý mesiac" + +#: lib/Kronolith.php:1116 +msgid "Recurs weekly" +msgstr "Opakuje sa ka¾dý tý¾deò" + +#: lib/Kronolith.php:1125 +msgid "Recurs yearly" +msgstr "opakuje sa raz roène" + +#: lib/Scheduler/kronolith.php:267 +#, php-format +msgid "Reminder: %s" +msgstr "Pripomienka: %s" + +#: templates/calendar_list.php:39 +msgid "Remote" +msgstr "Vzdialený" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Vzdialený kalendár od: " + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Vzdialené kalendáre:" + +#: templates/calendars/calendars.inc:139 +msgid "Remote Subscription URL" +msgstr "URL pre vzdialené prihlásenie" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Odstráni»" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Odstráni» %s" + +#: attendees.php:189 +msgid "Remove Attendee" +msgstr "Odstráni» úèastníka" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Odstráni» zdroj" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Backend aktuálneho kalendára nepodporuje odstraòovanie u¾ívateµských údajov." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Nahradi» existujúci kalendár importovaným? Pozor: Toto vyma¾e v¹etky " +"záznamy vo Va¹om aktuálnom kalendári." + +#: lib/Kronolith.php:1204 +msgid "Required" +msgstr "Po¾adovaný" + +#: lib/FBView.php:98 lib/FBView.php:140 lib/FBView.php:143 lib/FBView.php:146 +msgid "Required Attendees" +msgstr "Po¾adovaní úèastníci" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Obnovi» na prednastavené hodnoty" + +#: templates/attendees/attendees.inc:49 templates/view/view.inc:173 +msgid "Response" +msgstr "Odpoveï" + +#: config/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Obmedzi» denný a tý¾denný náhµad na tieto èasové úseky, aj keï " +"existujú skor¹ie alebo neskor¹ie udalosti?" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Views/Year.php:82 lib/Block/month.php:107 +msgid "Sa" +msgstr "So" + +#: templates/month/head.inc:22 templates/view/view.inc:104 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "Sobota" + +#: templates/panel.inc:83 templates/calendars/calendars.inc:148 +#: lib/Forms/EditCalendar.php:46 lib/Forms/EditRemoteCalendar.php:41 +msgid "Save" +msgstr "Ulo¾i»" + +#: templates/perms/perms.inc:331 +#, php-format +msgid "Save %s" +msgstr "Ulo¾i» %s" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1790 +#: lib/Views/EditEvent.php:79 lib/Views/EditEvent.php:89 +msgid "Save As New" +msgstr "Ulo¾i» ako novú" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Ulo¾i» úèastníkov" + +#: new.php:56 lib/Views/EditEvent.php:82 +msgid "Save Event" +msgstr "Ulo¾i» udalos»" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Ulo¾i» a ukonèi»" + +#: search.php:91 templates/search/search_advanced.inc:113 +#: templates/search/search.inc:66 templates/contacts/contacts.inc:155 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Hµada»" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Výsledky hµadania" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Hµada» kalendáre:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Výsledky hµadania" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Hµadanie voµnosti/obsadenosti nie je k dispozícii." + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:134 +msgid "Select a calendar above to display the URL" +msgstr "Vyberte vy¹¹ie kalendár na zobrazenie URL" + +#: templates/calendars/calendars.inc:94 +msgid "Select a calendar to edit" +msgstr "Vyberte kalendár na úpravu" + +#: templates/edit/edit_timespan.inc:29 templates/edit/edit_timespan.inc:79 +#: templates/edit/edit.inc:302 +msgid "Select a date" +msgstr "Vyberte dátum" + +#: templates/perms/perms.inc:296 +msgid "Select a group to add" +msgstr "Vyberte skupinu na pridanie" + +#: templates/perms/perms.inc:294 +msgid "Select a group to add:" +msgstr "Vyberte skupinu na pridanie:" + +#: templates/perms/perms.inc:30 +msgid "Select a new owner:" +msgstr "Vyberte nového vlastníka:" + +#: templates/perms/perms.inc:213 templates/perms/perms.inc:215 +msgid "Select a user to add:" +msgstr "Vyberte u¾ívateµa na pridanie:" + +#: config/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Vyberte adresárové zdroje pre pridávanie a hµadanie adries." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Vyberte v¹etky polia na prehµadanie pri dopåòaní adries." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Vyberte nastavenia potvrdení, ïalej ako sa majú zobrazova» rôzne náhµady a " +"¹tandardný náhµad." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Vyberte kalendár, do ktorého sa má importova»:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Vyberte kalendáre, z ktorých sa má exportova»:" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Vyberte formát exportu:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Vyberte súbor pre import:" + +#: config/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "Vyberte prvý deò tý¾dòa:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Vyberte formát zdrojového súboru:" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Vyberte èasový rozsah pre zobrazenie:" + +#: config/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "Vyberte náhµad, ktorý sa zobrazí po prihlásení:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Vyberte, ktoré udalosti sa majú zobrazi» v portáli." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Vybrané adresáre:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Vybrané adresy" + +#: templates/delete/delete.inc:21 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Posla» upozornenie o zru¹ení v¹etkým úèastníkom pri vymazaní tejto udalosti?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Posla» e-mail %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Posla» pozvánku v¹etkým úèastníkom?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Posla» aktualizácie v¹etkým úèastníkom?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "September" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Nastavte prednastavené hodnoty pre nové udalosti." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Nastavi» dátum ukonèenia" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Nastavi» dátum ukonèenia opakovania" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Nastavi» dátum zaèiatku" + +#: config/prefs.php.dist:62 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "" +"Nastavte Va¹e kalendáre pre voµnos»/obsadenos» a nastavenia pre Vás a iných " +"u¾ívateµov." + +#: calendars.php:84 +#, php-format +msgid "Share not found: %s" +msgstr "Zdieµanie nebolo nájdené: %s" + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Zdieµané kalendáre:" + +#: templates/perms/perms.inc:53 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:94 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:135 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:176 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:258 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:304 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "Zobrazi»" + +#: config/prefs.php.dist:218 +msgid "Show Free/Busy legend?" +msgstr "Zobrazi» legendu pre informácie o voµnosti/obsadenosti?" + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Zobrazi» panel s nastaveniami kalendára?" + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Zobrazi» legendu pre kalendár?" + +#: config/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"Zobrazi» ikony pre vymazanie, alarm a opakovanie v kalendárových náhµadoch?" + +#: config/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "Zobrazi» externé udalosti s farbami kategórií?" + +#: config/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "Zobrazi» len udalosti, ktoré majú nastavený alarm ?" + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "Zobrazi» zdieµané kalendáre vedµa seba?" + +#: config/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "Zobrazi» èas medzi ka¾dým dòom v tý¾dennom náhµade?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Zaèí_na" + +#: data.php:56 +msgid "Start Date" +msgstr "Dátum zaèiatku" + +#: templates/data/export.inc:68 lib/Driver.php:1932 +msgid "Start Day" +msgstr "Deò zaèiatku" + +#: templates/data/export.inc:87 lib/Driver.php:1943 +msgid "Start Hour" +msgstr "Hodina zaèiatku" + +#: templates/data/export.inc:102 lib/Driver.php:1953 +msgid "Start Minute" +msgstr "Minúta zaèiatku" + +#: templates/data/export.inc:54 lib/Driver.php:1923 +msgid "Start Month" +msgstr "Mesiac zaèiatku" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:35 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Zaèína" + +#: data.php:57 +msgid "Start Time" +msgstr "Èas zaèiatku" + +#: templates/data/export.inc:39 lib/Driver.php:1912 +msgid "Start Year" +msgstr "Rok zaèiatku" + +#: templates/search/search_advanced.inc:91 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "Sta_v" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "Stav" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Ukladanie informácií o voµnosti/obsadenosti nie je k dispozícii." + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:109 +#: lib/Block/month.php:111 +msgid "Su" +msgstr "Ne" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "Prihlási»" + +#: templates/calendar_list.php:15 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "Prihlási» vzdialený kalendár" + +#: templates/calendar_list.php:25 +msgid "Subscription URL" +msgstr "URL pre prihlásenie" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/view/view.inc:105 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:113 +msgid "Sunday" +msgstr "Nedeµa" + +#: lib/Kronolith.php:1152 lib/Kronolith.php:1175 +msgid "Tentative" +msgstr "Predbe¾ný" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Views/Year.php:80 lib/Block/month.php:107 +msgid "Th" +msgstr "©t" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Súbor %s neobsahuje ¾iadne udalosti." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Backend kalendára nie je momentálne k dispozícii." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Backend kalendára nie je momentálne k dispozícii: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Obrazovka Upravi» úèastníkov u¾ neexistuje. Koniec." + +#: lib/api.php:1210 +msgid "" +"The attendee hasn't been updated because the update was not sent from the " +"attendee." +msgstr "" +"Úèastník nebol aktualizovaný, lebo aktualizácia nebola od tohto úèastníka " +"zaslaná." + +#: calendars.php:77 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Kalendár \"%s\" nemô¾e by» vymazaný." + +#: calendars.php:44 calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Kalendár \"%s\" bol vytvorený." + +#: calendars.php:95 calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Kalendár \"%s\" bol vymazaný." + +#: calendars.php:58 calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Kalendár \"%s\" bol premenovaný na \"%s\"." + +#: calendars.php:60 calendars/remote_edit.php:49 calendars/edit.php:46 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Kalendár \"%s\" bol ulo¾ený." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Nepodarilo sa vyprázdni» kalendár: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "Deò ukonèenia musí nasledova» a¾ po dni zaèatia." + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "Udalos» \"%s\" bola pridaná do kalendára \"%s\", ktorá je dòa %s o %s." + +#: lib/Kronolith.php:1606 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"Udalos» \"%s\" bola vymazaná z kalendára \"%s\", ktorá bola dòa %s o %s." + +#: lib/Kronolith.php:1601 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "Udalos» \"%s\" bola upravená v kalendári \"%s\", je dòa %s o %s." + +#: lib/Kronolith.php:1486 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Upozornenie na udalos» pre %s bolo úspe¹ne odoslané." + +#: lib/Kronolith.php:1440 +msgid "The following is a more detailed description of the event:" +msgstr "Nasleduje detailnej¹í popis udalosti:" + +#: lib/FreeBusy.php:193 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "Nepodarilo sa pre %s získa» URL s informáciami o voµnosti/obsadenosti." + +#: calendars/remote_edit.php:36 calendars/remote_unsubscribe.php:36 +msgid "The remote calendar was not found." +msgstr "Nepodarilo sa nájs» vzdialený kalendár." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Po¾iadavka bola neúplná. Niektoré parametre ktoré sú potrebné k prijatiu " +"alebo odmietnutiu udalosti chýbajú." + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "Nepodarilo sa nájs» po¾adovanú udalos»." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "®iadne udalosti nevyhovujú aktuálnym kritériám." + +#: edit.php:46 edit.php:68 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Nastala chyba pri prístupe ku kalendáru: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Nastala chyba pri pridávaní udalosti: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Nastala chyba pri úprave udalosti: %s" + +#: lib/api.php:483 lib/api.php:770 lib/api.php:1055 +msgid "There was an error importing the iCalendar data." +msgstr "Nastala chyba pri importe údajov iCalendar." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Nastala chyba pri presúvaní udalosti: %s" + +#: lib/Kronolith.php:1491 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Nastala chyba pri posielaní upozornenia na udalos» %s: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Nie sú ¾iadne udalosti pre export." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Tento mesiac" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Tento kalendár nemô¾e by» vymazaný." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Tento formát súboru nie je podporovaný." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Toto je opakujúca sa udalos». Vymaza» iba aktuálnu udalos», tento
      výskyt a v¹etky budúce výskyty alebo v¹etky výskyty?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Toto je opakujúca sa udalos». Upravi» iba aktuálnu udalos», tento výskyt
      a v¹etky budúce výskyty alebo v¹etky výskyty?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "Toto oznámil server: %s" + +#: templates/month/head.inc:20 templates/view/view.inc:102 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "©tvrtok" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "Èasový rozs_ah:" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Èasový rozsah" + +#: templates/search/search_advanced.inc:28 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "_Názov" + +#: data.php:55 templates/search/search.inc:19 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Názov" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Pre výber viacerých polí dr¾te tlaèidlo CTRL (PC) alebo Command (Mac) poèas " +"klikania." + +#: templates/calendar_info.php:19 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "" +"Na prihlásenie do tohto kalendára z iného kalendároveho programu, pou¾ite " +"túto URL:" + +#: lib/Block/monthlist.php:132 lib/Block/prevmonthlist.php:125 +#: lib/Block/summary.php:140 +msgid "Today" +msgstr "Dnes" + +#: lib/Block/monthlist.php:134 lib/Block/prevmonthlist.php:127 +#: lib/Block/summary.php:142 +msgid "Tomorrow" +msgstr "Zajtra" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Views/Year.php:78 lib/Block/month.php:107 +msgid "Tu" +msgstr "Ut" + +#: templates/month/head.inc:18 templates/view/view.inc:100 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "Utorok" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Typ" + +#: templates/calendars/calendars.inc:131 +#: lib/Forms/SubscribeRemoteCalendar.php:37 +#: lib/Forms/EditRemoteCalendar.php:37 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Nepodarilo sa spoji» s SQL serverom." + +#: calendars.php:91 lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Nepodarilo sa vymaza» \"%s\": %s" + +#: lib/api.php:599 +#, php-format +msgid "Unable to delete calendar \"%s\": %s" +msgstr "Nepodarilo sa vymaza» kalendár \"%s\": %s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Nemo¾né nahra» definíciu %s." + +#: attendees.php:68 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "Nepodarilo sa rozpozna» \"%s\" ako e-mailovú adresu." + +#: calendars.php:55 lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Nepodarilo sa premenova» \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Nepodarilo sa získa» informáciu o voµnosti/obsadenosti %s" + +#: calendars.php:65 lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Nepodarilo sa ulo¾i» kalendár \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Nenastavená" + +#: lib/api.php:1352 lib/api.php:1388 +msgid "Unknown calendar protocol" +msgstr "Neznámy kalendárový protokol" + +#: templates/calendar_list.php:46 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "Odhlási»" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "Odhlási» z %s" + +#: lib/api.php:550 lib/api.php:823 lib/api.php:879 lib/api.php:942 +#: lib/api.php:1075 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Nepodporovaný typ obsahu (Content-Type): %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Nastávajúce udalosti" + +#: perms.php:231 +#, php-format +msgid "Updated \"%s\"." +msgstr "Aktualizované \"%s\"." + +#: lib/Kronolith.php:1417 +#, php-format +msgid "Updated: %s." +msgstr "Aktualizované: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Pou¾ívateµské rozhranie" + +#: templates/prefs/remote_cal_management.inc:68 +msgid "User Name" +msgstr "Pou¾ívateµské meno" + +#: templates/perms/perms.inc:223 +msgid "User to add:" +msgstr "U¾ívateµ na pridanie:" + +#: lib/Forms/SubscribeRemoteCalendar.php:38 +#: lib/Forms/EditRemoteCalendar.php:38 +msgid "Username" +msgstr "Pou¾ívateµské meno" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:164 +#: lib/Block/month.php:167 +msgid "View Day" +msgstr "Zobrazi» deò" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Views/Year.php:79 lib/Block/month.php:107 +msgid "We" +msgstr "St" + +#: lib/Driver.php:1186 lib/Scheduler/kronolith.php:271 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Chceli by sme Vás upozorni» o nastávajúcej udalosti.\n" +"\n" +"%s\n" +"\n" +"Miesto: %s\n" +"\n" +"Dátum: %s\n" +"Èas: %s\n" +"\n" +"%s" + +#: templates/month/head.inc:19 templates/view/view.inc:101 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "Streda" + +#: attendees.php:198 lib/Kronolith.php:1752 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:91 +msgid "Week" +msgstr "Tý¾deò" + +#: workweek.php:16 week.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Tý¾deò %d" + +#: templates/prefs/default_alarm_management.inc:29 templates/view/view.inc:53 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "Tý¾deò(tý¾dne)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Tý¾denne" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "Tý¾denne: opakuje sa" + +#: config/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Ktorým èasom má konèi» denný a tý¾denný náhµad, ak nie sú neskor¹ie udalosti?" + +#: config/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Ktorým èasom má zaèína» denný a tý¾denný náhµad, ak nie sú skor¹ie udalosti?" + +#: config/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Ktorý typ sviatkov chcete ma» zobrazený?" + +#: attendees.php:197 lib/Kronolith.php:1750 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:92 +msgid "Work Week" +msgstr "Pracovný tý¾deò" + +#: lib/Kronolith.php:1756 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Rok" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Roène" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "Roène: opakuje sa" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Nemáte právo na úpravu tohto kalendára." + +#: edit.php:27 data.php:41 data.php:261 new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Nemáte právo vytvori» viac ako %d udalostí." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Nemáte právo na vymazanie tohto kalendára." + +#: lib/api.php:154 +msgid "You are not allowed to remove user data." +msgstr "Nemáte právo na vymaza» u¾ívateµské údaje." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Nie ste úèastníkom urèenej udalosti." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Tento formulár mô¾ete pou¾i» iba z obrazovky Upravi» úèastníkov." + +#: lib/Kronolith.php:1366 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"V nastavení identity nemáte nastavenú e-mailovú adresu. Musíte ju nastavi» %" +"stu%s skôr, ako sa budú posiela» upozornenia na udalosti." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Nemáte právo na pridanie udalostí do %s." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Nemáte právo na pridanie udalostí k vybranému kalendáru." + +#: edit.php:162 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Nemáte právo delegova» udalosti pre %s." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Nemáte právo na vymazanie tejto udalosti." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "Nemáte právo na úpravu tejto udalosti." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "Nemáte právo na presunutie tejto udalosti." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "Boli ste prihlásený do \"%s\" (%s)." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "Boli ste odhlásený z \"%s\" (%s)." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Zadali ste neplatný kalendár." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Úspe¹ne ste prijali úèas» na tejto udalosti." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Úspe¹ne ste odmietli úèas» na tejto udalosti." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "Predbe¾ne ste prijali úèas» na tejto udalosti." + +#: calendars.php:98 +msgid "You must select a calendar to be deleted." +msgstr "Musíte vybra» kalendár na vymazanie." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Musíte vybra» aspoò jednu adresu." + +#: templates/calendars/calendars.inc:116 +msgid "You need to select a calendar first" +msgstr "Musíte najprv vybra» kalendár" + +#: lib/Kronolith.php:1596 +msgid "You requested to be notified when events are added to your calendars." +msgstr "Po¾iadali ste o upozornenie pri pridaní udalostí do Va¹ich kalendárov." + +#: lib/Kronolith.php:1606 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "Po¾iadali ste o upozornenie pri vymazaní udalostí z Va¹ich kalendárov." + +#: lib/Kronolith.php:1601 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "Po¾iadali ste o upozornenie pri úprave udalostí vo Va¹ich kalendároch" + +#: lib/Scheduler/kronolith.php:410 lib/Scheduler/kronolith.php:412 +#, php-format +msgid "Your daily agenda for %s" +msgstr "Va¹a denná agenda pre %s" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Vá¹ prednastavený kalendár" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Spravova» kalendáre]" + +#: lib/Driver.php:1434 lib/Driver.php:1454 +msgid "[Unnamed event]" +msgstr "[Nepomenovaná udalos»]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Alarm" + +#: templates/search/search_advanced.inc:9 +msgid "_Basic Search" +msgstr "_Základné hµadanie" + +#: lib/Kronolith.php:1790 +msgid "_Edit" +msgstr "_Upravi»" + +#: lib/Kronolith.php:2012 +msgid "_Goto" +msgstr "_Prejs» na" + +#: lib/Kronolith.php:2018 +msgid "_Import/Export" +msgstr "_Import/Export" + +#: lib/Kronolith.php:2008 +msgid "_New Event" +msgstr "_Nová udalos»" + +#: lib/Kronolith.php:2023 +msgid "_Print" +msgstr "_Tlaèi»" + +#: lib/Kronolith.php:2014 +msgid "_Search" +msgstr "_Hµada»" + +#: lib/Kronolith.php:2003 +msgid "_Today" +msgstr "_Dnes" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "ako %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "pred zaèiatkom udalosti" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"pred zaèiatkom udalosti. Hodnota \"0\" znamená ¾iaden prednastavený alarm." + +#: lib/Views/Event.php:62 lib/Views/Event.php:71 +#, php-format +msgid "by %s" +msgstr "pou¾ívateµom %s" + +#: lib/Views/Event.php:64 lib/Views/Event.php:73 +msgid "by me" +msgstr "Vami" + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "deò" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "deò(dní)" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "dni" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "v" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "mesiac(e)" + +#: lib/Kronolith.php:1423 +#, php-format +msgid "on %s at %s" +msgstr "v %s o %s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "ten istý dátum" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "ten istý deò v tý¾dni" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "opakovania" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "tý¾deò" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "tý¾deò(-ne) v:" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "tý¾dne" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "rok(y) v ten istý dátum" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "rok(y) v ten istý deò v roku" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "rok(y) v ten istý deò v tý¾dni a mesiaci v roku" diff --git a/kronolith/po/sl_SI.po b/kronolith/po/sl_SI.po new file mode 100644 index 000000000..8a24487f2 --- /dev/null +++ b/kronolith/po/sl_SI.po @@ -0,0 +1,2047 @@ +# Slovenian translations for Kronolith packaga +# Slovenski prevod Kronolith 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: kronolith\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2006-07-25 11:30+0200\n" +"PO-Revision-Date: 2006-04-30 10:32+0100\n" +"Last-Translator: duck@obala.net\n" +"Language-Team: sl_SI \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=utf-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/calendars/search.inc:16 +#, php-format +msgid "%d calendars found" +msgstr "%d nadenih koledarjev." + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d dogodki" + +#: templates/edit/edit_timespan.inc:121 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Dan(i) %s Ur(a) %s Minut(a)" + +#: lib/Driver.php:1882 +#, php-format +msgid "%s attendees" +msgstr "%s prisotnih" + +#: data.php:287 +#, php-format +msgid "%s file successfully imported" +msgstr "%s datoteka je bila uspeÅ¡no sprejeta" + +#: calendars.php:105 lib/base.php:141 +#, php-format +msgid "%s's Calendar" +msgstr "%s's Koledar" + +#: templates/calendars/search.inc:17 +msgid "" +"(Click on calendar name to switch the calendar's visibility in the main " +"window)" +msgstr "(Kliknite na ime koledarja za premik nanj)" + +#: templates/contacts/contacts.inc:165 +msgid "* Add these by clicking Add *" +msgstr "* To dodajte s klikom na Dodaj *" + +#: templates/contacts/contacts.inc:151 +msgid "* Please select address(es) *" +msgstr "* Prosim, izberite naslov(e) *" + +#: lib/Driver.php:1881 +msgid "1 attendee" +msgstr "1 prisoten" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 dogodek" + +#: config/prefs.php.dist:161 +msgid "1 hour" +msgstr "1 ura" + +#: config/prefs.php.dist:158 +msgid "15 minutes" +msgstr "15 minut" + +#: config/prefs.php.dist:159 +msgid "20 minutes" +msgstr "20 minut" + +#: config/prefs.php.dist:160 +msgid "30 minutes" +msgstr "40 minut" + +#: templates/edit/edit.inc:172 +msgid "Attendees (optional)" +msgstr "Prisotnih (neobvezno)" + +#: templates/edit/edit.inc:159 +msgid "Descri_ption (optional)" +msgstr "Opis (neobvezno)" + +#: templates/edit/edit.inc:276 +msgid "Keywords (optional)" +msgstr "Gesla (neobvezno)" + +#: templates/edit/edit.inc:195 +msgid "Recurrence (optional)" +msgstr "Ponavljanje (neobvezno)" + +#: templates/data/export.inc:113 templates/data/export.inc:193 +msgid "AM" +msgstr "Dopoldan" + +#: lib/Kronolith.php:657 +msgid "Accepted" +msgstr "Sprejeto" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Napredno iskanje" + +#: templates/contacts/contacts.inc:160 +msgid "Add" +msgstr "Dodaj" + +#: templates/edit/edit.inc:21 +msgid "Add Event" +msgstr "Dodaj Dogodek" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Dodaj novi Oddaljeni Koledar" + +#: addevent.php:64 +msgid "Add a new event" +msgstr "Dodaj nov dogodek" + +#: templates/attendees/attendees.inc:71 +msgid "Add attendees" +msgstr "Dodaj prisotne" + +#: templates/contacts/contacts.inc:185 +msgid "Add to attendees" +msgstr "Dodaj med prisotne" + +#: contacts.php:76 templates/contacts/contacts.inc:128 +#: templates/attendees/attendees.inc:74 +msgid "Address Book" +msgstr "Imenik naslovov" + +#: config/prefs.php.dist:38 +msgid "Address Books" +msgstr "Imenik" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "Napredno iskanje" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Opozorilo" + +#: lib/Driver.php:1857 +#, php-format +msgid "Alarm %d days before" +msgstr "Opozorilo %d dni pred dogodkom" + +#: lib/Driver.php:1862 +#, php-format +msgid "Alarm %d hours before" +msgstr "Opozorilo %d ur pred dogodkom" + +#: lib/Driver.php:1867 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alerem %d minut pred dogodkom" + +#: lib/Driver.php:1852 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Opozorilo %d tednov pred dogodkom" + +#: lib/Driver.php:1856 +msgid "Alarm 1 day before" +msgstr "Opozorilo 1 dan pred dogodkom" + +#: lib/Driver.php:1861 +msgid "Alarm 1 hour before" +msgstr "Opozorilo 1 uro pred dogodkom" + +#: lib/Driver.php:1866 +msgid "Alarm 1 minute before" +msgstr "Alerem 1 minuto pred dogodkom" + +#: lib/Driver.php:1851 +msgid "Alarm 1 week before" +msgstr "Opozorilo 1 teden pred dogodkom" + +#: data.php:59 +msgid "Alarm Date" +msgstr "Datum Opozorila" + +#: data.php:58 +msgid "Alarm Span (minutes)" +msgstr "Opozorilo Span (minute)" + +#: data.php:60 +msgid "Alarm Time" +msgstr "Čas Opozorila" + +#: templates/delete/delete.inc:26 +msgid "All" +msgstr "Vse" + +#: lib/FBView.php:128 lib/FBView.php:131 lib/FBView.php:134 +msgid "All Attendees" +msgstr "Vsi Prisotni" + +#: templates/perms/perms.inc:65 +msgid "All Authenticated Users" +msgstr "Vsi overjeni uporabniki" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Vse lastnosti" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Vsi petekli" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "All Visible" +msgstr "Vsi Vidni" + +#: templates/edit/edit_timespan.inc:120 lib/Driver.php:1928 +#: lib/Views/Day.php:93 lib/Views/Day.php:96 lib/Views/Week.php:141 +#: lib/Views/Week.php:148 +msgid "All day" +msgstr "Vsi dnevi" + +#: lib/Block/summary.php:163 +msgid "All day event" +msgstr "Celodnevni dogodek" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Vsi dogodki" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:750 +msgid "Any" +msgstr "Katirkoli" + +#: templates/javascript/goto.inc:71 +msgid "April" +msgstr "April" + +#: templates/edit/edit_timespan.inc:38 templates/edit/edit_timespan.inc:91 +#: templates/data/export.inc:82 templates/data/export.inc:168 +msgid "At" +msgstr "Pri" + +#: lib/Kronolith.php:1109 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Pripeta je datoteka iKoledarja, ki vsebuje podrobnejÅ¡e podatke o dogodku. V " +"primeru, da poÅ¡tni predal vaÅ¡ega gosta podpira iNasvete, lahko uporabite to " +"datoteko za enostavno posodabljanje vaÅ¡e lokalne kopije dogodka." + +#: perms.php:44 +msgid "Attempt to edit a non-existent share." +msgstr "PoskuÅ¡ali smo urediti neobstoječi deljeni koledar." + +#: templates/attendees/attendees.inc:42 templates/view/view.inc:159 +msgid "Attendance" +msgstr "Prisotnost" + +#: templates/view/view.inc:155 +msgid "Attendees" +msgstr "Prisotni" + +#: templates/javascript/goto.inc:75 +msgid "August" +msgstr "Avgust" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "Osnovno iskanje" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Rojstni dan" + +#: lib/FBView.php:90 lib/FBView.php:111 +msgid "Busy" +msgstr "Zasedeno" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "Koledar" + +#: templates/edit/edit.inc:47 +msgid "Cal_endar" +msgstr "Koledar" + +#: templates/calendars/calendars.inc:149 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Koledar" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Povzetek Koledarja" + +#: data.php:238 +msgid "Calendar successfully purged." +msgstr "%s datoteka je bila uspeÅ¡no sprejeta" + +#: config/prefs.php.dist:45 config/prefs.php.dist:52 config/prefs.php.dist:73 +msgid "Calendars" +msgstr "Koledarji" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Koledarji morajo imeti ime." + +#: data.php:253 +msgid "Can't create a new event." +msgstr "Novega dogodka ne morem ustvariti." + +#: templates/delete/one.inc:25 templates/delete/delete.inc:27 +#: templates/edit/edit.inc:31 templates/edit/edit.inc:309 +msgid "Cancel" +msgstr "ZbriÅ¡i" + +#: lib/Kronolith.php:633 +msgid "Cancelled" +msgstr "Zbrisano" + +#: lib/Kronolith.php:1084 +#, php-format +msgid "Cancelled: %s" +msgstr "Zbrisano: %s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:76 +msgid "Categor_y" +msgstr "Kategorija" + +#: data.php:62 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Kategorija" + +#: config/prefs.php.dist:304 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Izberite če želite biti opozirjeni na nove, urejene ali brzsane dogodke po " +"elektronski poÅ¡ti:" + +#: config/prefs.php.dist:68 +msgid "Choose if you want to be notified of new, edited, and deleted events." +msgstr "" +"Izberite če želite biti opozirjeni na nove, urejene ali brzsane dogodke." + +#: config/prefs.php.dist:317 +msgid "Choose if you want to receive email reminders for events with alarms:" +msgstr "Izberite če želite prejemati emaile za dogofke z alamom;" + +#: templates/prefs/search_abook_select.inc:19 config/prefs.php.dist:337 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "Izberite adresarje kjer lahko najdem proste/zasedene URLje:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Izberite koledar, ki naj ga vkjučim v prosto/zasedene infromacije:" + +#: config/prefs.php.dist:360 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "Izberite koledar za tvrojenje prosto/zasedenih infromacij:" + +#: config/prefs.php.dist:47 +msgid "Choose your default calendar." +msgstr "Izberite privzet koledaer" + +#: templates/attendees/attendees.inc:84 +msgid "Clear all attendees" +msgstr "Odstrani vse prisotne" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Zapri okno" + +#: templates/contacts/contacts.inc:186 +msgid "Close window" +msgstr "Zapri okno" + +#: data.php:28 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Vrednosti so ločene z vejico" + +#: config/prefs.php.dist:39 +msgid "Configure the address book search used when sending invitations." +msgstr "Nastavi adresar za iskanje ob poÅ¡iljanju povabil." + +#: config/prefs.php.dist:88 +msgid "Confirm deletion of events?" +msgstr "Ali naj potrdim brisanje dogodka?" + +#: lib/Kronolith.php:630 +msgid "Confirmed" +msgstr "Potrjeno" + +#: templates/calendars/calendars.inc:217 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "Prenesi URL kadarkoli potrebujeÅ¡ svoje prosto/zasedene povezavo:" + +#: lib/Kronolith.php:168 +#, php-format +msgid "Could not open %s." +msgstr "%s ne morem odpreti." + +#: templates/calendars/calendars.inc:129 +msgid "Create" +msgstr "Ustvari" + +#: templates/calendars/calendars.inc:115 +msgid "Create Calendar" +msgstr "Tvori koledar" + +#: templates/week/head.inc:28 lib/Views/Day.php:93 lib/Views/Day.php:205 +#: lib/Views/Month.php:170 +msgid "Create a New Event" +msgstr "Ustvari Nov Dogodek" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Ustvarjeno" + +#: templates/delete/delete.inc:24 +msgid "Current" +msgstr "Tekoče" + +#: templates/view/view.inc:106 templates/edit/edit.inc:209 +msgid "Daily: Recurs every" +msgstr "Dnevno: Ponovi vsakič" + +#: attendees.php:106 lib/Kronolith.php:1399 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:97 +msgid "Day" +msgstr "Dan" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:56 +#: templates/edit/edit.inc:149 +msgid "Day(s)" +msgstr "Dan(i)" + +#: lib/Kronolith.php:1441 +msgid "De_lete" +msgstr "ZbriÅ¡i" + +#: templates/javascript/goto.inc:79 +msgid "December" +msgstr "December" + +#: lib/Kronolith.php:660 +msgid "Declined" +msgstr "Neodobreno" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Prenastavljene lastnisti opozoril" + +#: config/prefs.php.dist:46 +msgid "Default Calendar" +msgstr "Privzet koledar" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:71 +#: templates/perms/perms.inc:97 templates/perms/perms.inc:123 +#: templates/perms/perms.inc:149 templates/perms/perms.inc:197 +msgid "Delegate" +msgstr "Določi" + +#: templates/calendars/calendars.inc:204 templates/delete/one.inc:24 +#: templates/prefs/remote_cal_management.inc:23 templates/perms/perms.inc:33 +#: templates/perms/perms.inc:70 templates/perms/perms.inc:96 +#: templates/perms/perms.inc:122 templates/perms/perms.inc:148 +#: templates/perms/perms.inc:196 lib/Driver.php:1909 +msgid "Delete" +msgstr "ZbriÅ¡i" + +#: lib/Driver.php:1908 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "ZbriÅ¡i %s" + +#: templates/delete/delete.inc:22 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "Ali naj zbriÅ¡em samo sledeči dogodek ali vse dogodke?" + +#: templates/search/search_advanced.inc:103 templates/search/search.inc:28 +msgid "Descri_ption" +msgstr "Opis" + +#: data.php:61 templates/calendars/calendars.inc:178 +#: templates/view/view.inc:90 +msgid "Description" +msgstr "Opis" + +#: templates/contacts/contacts.inc:174 +msgid "Display" +msgstr "Prikaži" + +#: templates/calendars/calendars.inc:63 +msgid "Display Calendars" +msgstr "Moji Koledarji" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:28 +#: config/prefs.php.dist:37 +msgid "Display Options" +msgstr "Prikaži Možnosti" + +#: config/prefs.php.dist:30 +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "Želite prikazati opravila v koledarju?" + +#: lib/Kronolith.php:600 +msgid "Does not recur" +msgstr "Se ne ponavlja" + +#: lib/Kronolith.php:347 +#, php-format +msgid "Due: %s" +msgstr "Pristojen: %s" + +#: templates/edit/edit_timespan.inc:113 +msgid "Duration" +msgstr "Trajanje" + +#: templates/calendars/calendars.inc:173 templates/perms/perms.inc:32 +#: templates/perms/perms.inc:69 templates/perms/perms.inc:95 +#: templates/perms/perms.inc:121 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:195 lib/Driver.php:1901 +msgid "Edit" +msgstr "Uredi" + +#: lib/Driver.php:1900 lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "Uredi %s" + +#: templates/edit/edit.inc:188 +msgid "Edit Attendees" +msgstr "Urejanja Prisotnih" + +#: templates/calendars/calendars.inc:143 +msgid "Edit Calendars" +msgstr "Uredi Koledarje" + +#: perms.php:259 +msgid "Edit Permissions" +msgstr "Dovoljenja" + +#: perms.php:261 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Uredi pravice za %s" + +#: attendees.php:156 +msgid "Edit attendees" +msgstr "Urejanje prisotnih" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Uredi kategorije in barve" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Uredi pravice za %s" + +#: templates/contacts/contacts.inc:177 templates/attendees/attendees.inc:41 +#: templates/view/view.inc:158 +msgid "Email Address" +msgstr "Email naslov" + +#: templates/edit/edit_timespan.inc:59 +msgid "En_d" +msgstr "Končaj" + +#: data.php:56 +msgid "End Date" +msgstr "Zključni Datum" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:41 +#: templates/data/export.inc:120 +msgid "End On" +msgstr "Končaj" + +#: data.php:57 +msgid "End Time" +msgstr "Zaključni čas" + +#: attendees.php:141 attendees.php:148 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "" +"PriÅ¡lo je do napake pri vzpostavljanju prosto/zasedenih informacij za %s: %s" + +#: attendees.php:131 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "PriÅ¡lo je do napake pri vzpostavljanju prosto/zasedenih informacij: %s" + +#: config/prefs.php.dist:60 +msgid "Event Defaults" +msgstr "Povrni na prenastavlene" + +#: lib/Kronolith.php:1254 +msgid "Event added:" +msgstr "Dogodek dodan:" + +#: lib/Kronolith.php:1264 +msgid "Event deleted:" +msgstr "Dogodek izbrisan:" + +#: lib/Kronolith.php:1259 +msgid "Event edited:" +msgstr "Dogodek urjen:" + +#: lib/Driver.php:1096 +#, php-format +msgid "Event from %s to %s" +msgstr "Dogodki od %s do %s" + +#: lib/Driver/sql.php:370 +msgid "Event not found" +msgstr "Ne najdem dogodka." + +#: config/prefs.php.dist:59 config/prefs.php.dist:66 +msgid "Events" +msgstr "Dogodki" + +#: lib/Driver.php:749 +msgid "Events must have a start date." +msgstr "Dogodki morajo imeti začetni datum." + +#: lib/Driver.php:715 +msgid "Events must have a title." +msgstr "Dogodki morajo imeti naslov." + +#: templates/attendees/attendees.inc:75 +msgid "Expand Names" +msgstr "RazÅ¡iri imena" + +#: templates/data/export.inc:199 +msgid "Export" +msgstr "Oddaj" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Oddaj Koledar" + +#: templates/javascript/goto.inc:69 +msgid "February" +msgstr "Februar" + +#: templates/contacts/contacts.inc:133 +msgid "Find" +msgstr "Najdi" + +#: templates/javascript/goto.inc:63 templates/edit/edit.inc:222 +#: lib/Views/Year.php:81 lib/Block/month.php:99 +msgid "Fr" +msgstr "Pe" + +#: lib/Kronolith.php:636 +msgid "Free" +msgstr "Prosto" + +#: config/prefs.php.dist:74 +msgid "Free/Busy Information" +msgstr "Informacije o Prosti/Zasedenih" + +#: templates/month/head.inc:21 templates/view/view.inc:113 +#: templates/edit/javascript.inc:73 +msgid "Friday" +msgstr "Petek" + +#: templates/delete/delete.inc:25 +msgid "Future" +msgstr "Prihodnost" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Igra" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "SploÅ¡no" + +#: lib/Block/summary.php:139 +#, php-format +msgid "Goto %s" +msgstr "Pojdi na %s" + +#: templates/perms/perms.inc:191 +msgid "Groups" +msgstr "Skupine" + +#: templates/perms/perms.inc:91 +msgid "Guest Permissions" +msgstr "Dovoljenja gostov" + +#: templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 lib/Views/Month.php:140 +msgid "Hide" +msgstr "Skrij" + +#: templates/week/head_side_by_side.inc:12 +#: templates/day/head_side_by_side.inc:10 lib/Views/Month.php:140 +#, php-format +msgid "Hide %s" +msgstr "Skrij %s" + +#: templates/prefs/default_alarm_management.inc:25 templates/view/view.inc:59 +#: templates/edit/edit.inc:148 +msgid "Hour(s)" +msgstr "Ura(e)" + +#: config/prefs.php.dist:157 +msgid "How long should the time slots on the day and week views be?" +msgstr "Koliko dolgi naj bodo intervali med dnevi in tedni?" + +#: config/prefs.php.dist:326 +msgid "How many days of free/busy information should we generate?" +msgstr "Za koliko dni naj sestavim proste/zasedene informacije?" + +#: lib/Kronolith.php:1113 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s" +msgstr "" +"Če vaÅ¡ odjemalec elektronske poÅ¡te ne podpira iTip zahtevkov lahko uporavite " +"enega od spodnjih naslovov za potrditev ali zavritev udeležbe.\n" +"\n" +"Za potdtiev prostnosti:\n" +"%s\n" +"\n" +"Za potrditev možne prisotnosti:\n" +"%s\n" +"\n" +"Za zavrnitev prostnosti:\n" +"%s" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Sprejem Koledarja, Korak %d " + +#: data.php:293 +msgid "Import/Export Calendar" +msgstr "Sprejmi/Oddaj KOledar" + +#: templates/perms/perms.inc:143 +msgid "Individual Users" +msgstr "Posamični uporabniki" + +#: templates/javascript/goto.inc:68 +msgid "January" +msgstr "Januar" + +#: templates/javascript/goto.inc:74 +msgid "July" +msgstr "Julij" + +#: templates/javascript/goto.inc:73 +msgid "June" +msgstr "Junij" + +#: data.php:64 templates/view/view.inc:136 +msgid "Keywords" +msgstr "Gesla" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Zadnjih 24 ur" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Nazadnje Spremenjeno" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "PrejÅ¡nji Mesec" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "PrejÅ¡nje leto" + +#: templates/search/search.inc:54 templates/week/head.inc:6 +msgid "Last week" +msgstr "PrejÅ¡nji teden" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Časovna omejitev za oddajo spana:" + +#: config/prefs.php.dist:351 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"IzpiÅ¡em vse stike kadar nalagam njihov spisek? (Če je ne, boste vidli le " +"stike, ki ste jih eksplicitno iskali)" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:83 +msgid "Lo_cation" +msgstr "Mesto" + +#: js/Kronolith.js.php:7 js/src/Kronolith.js.php:68 +msgid "Loading ..." +msgstr "Nalagam ..." + +#: data.php:63 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 templates/view/view.inc:14 +#: lib/Driver.php:1946 +msgid "Location" +msgstr "Mesto" + +#: config/prefs.php.dist:54 +msgid "Manage remote calendars." +msgstr "Vodi oddaljen koledar" + +#: templates/javascript/goto.inc:70 +msgid "March" +msgstr "Marec" + +#: lib/api.php:104 +msgid "Maximum Number of Events" +msgstr "Največje ptevilo dogodkov" + +#: templates/javascript/goto.inc:72 +msgid "May" +msgstr "Maj" + +#: lib/Driver.php:1942 +msgid "Me" +msgstr "" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Sestanek" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Meni Alarmov" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Spisek" + +#: templates/prefs/default_alarm_management.inc:24 templates/view/view.inc:62 +#: templates/edit/edit.inc:147 +msgid "Minute(s)" +msgstr "Minuta(e)" + +#: templates/javascript/goto.inc:59 templates/edit/edit.inc:218 +#: lib/Views/Year.php:77 lib/Block/month.php:99 +msgid "Mo" +msgstr "Po" + +#: templates/month/head.inc:17 templates/view/view.inc:109 +#: templates/edit/javascript.inc:69 config/prefs.php.dist:121 +msgid "Monday" +msgstr "Ponedeljek" + +#: lib/Kronolith.php:1405 lib/Block/tree_menu.php:24 config/prefs.php.dist:100 +msgid "Month" +msgstr "Mesec" + +#: templates/view/view.inc:118 templates/view/view.inc:120 +#: templates/edit/edit.inc:229 templates/edit/edit.inc:235 +msgid "Monthly: Recurs every" +msgstr "MeseÅ¡no: Ponovi vsakič" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Prihodnji Meseci" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "PrejÅ¡nji Meseci" + +#: lib/api.php:657 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Najdel sem več komponent iKoledarja; podprt je le en vDogodek." + +#: calendars.php:128 templates/calendars/calendars.inc:70 +msgid "My Calendars" +msgstr "Moji Koledarji" + +#: templates/menu.inc:35 templates/menu.inc:37 +msgid "My Calendars:" +msgstr "Moji Koledarji:" + +#: templates/calendars/calendars.inc:213 +msgid "My Free/Busy URL" +msgstr "Moj Prosti/Zasedeni URL" + +#: templates/calendars/calendars.inc:120 templates/calendars/calendars.inc:162 +#: templates/contacts/contacts.inc:176 +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +msgid "Name" +msgstr "Ime" + +#: lib/Block/month.php:41 lib/Block/monthlist.php:44 lib/Block/summary.php:41 +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Nov Dogodek" + +#: lib/base.php:175 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "Nov koledar ustvarjen in deljen z sledečimi skupinami: %s" + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Naslednji" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Naslednjih 24 ur" + +#: lib/FBView/day.php:29 +msgid "Next Day" +msgstr "Naslednji Dan" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +msgid "Next Month" +msgstr "Naslednji Mesec" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Naslednji Teden" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Naslednje leto" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Naslednji dan" + +#: templates/search/search.inc:58 templates/week/head.inc:8 +msgid "Next week" +msgstr "Naslednji teden" + +#: config/prefs.php.dist:300 config/prefs.php.dist:313 +msgid "No" +msgstr "Ne" + +#: templates/view/view.inc:67 templates/edit/edit.inc:144 +msgid "No alarm" +msgstr "Brez alarma" + +#: templates/attendees/attendees.inc:48 +msgid "No attendees" +msgstr "Ni prisotnih" + +#: lib/Kronolith.php:1558 +msgid "No calendars are available to guests." +msgstr "Koledarji niso na voljo gostom." + +#: templates/view/view.inc:130 templates/edit/edit.inc:255 +msgid "No end date" +msgstr "Ni končnega datuma" + +#: lib/Block/prevmonthlist.php:167 lib/Block/monthlist.php:166 +#: lib/Block/summary.php:193 +msgid "No events to display" +msgstr "Ni dogodkov za prikaz" + +#: lib/Storage/kolab.php:61 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Ni informacij o prosto/zasedenih časih za %s" + +#: lib/api.php:364 lib/api.php:647 +msgid "No iCalendar data was found." +msgstr "Nobenih podatkov iKoledarja nisem najdel." + +#: templates/edit/edit.inc:204 +msgid "No recurrence" +msgstr "Se ne ponavlja" + +#: lib/Kronolith.php:960 +msgid "No valid email address found" +msgstr "Nobenega veljavnega email naslova nisem najdel." + +#: lib/Kronolith.php:667 lib/Kronolith.php:688 +msgid "None" +msgstr "Noben" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "Ne najdem" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Ne najdem" + +#: config/prefs.php.dist:67 +msgid "Notifications" +msgstr "Opozorila" + +#: templates/javascript/goto.inc:78 +msgid "November" +msgstr "November" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Sedaj" + +#: templates/perms/perms.inc:117 +msgid "Object Creator" +msgstr "Tvorec dogodka" + +#: templates/javascript/goto.inc:77 +msgid "October" +msgstr "October" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:64 +msgid "On" +msgstr "Na" + +#: config/prefs.php.dist:303 config/prefs.php.dist:316 +msgid "On all calendars I have read access to" +msgstr "Pri vseh koledarjih katere imam pravico brati" + +#: config/prefs.php.dist:302 config/prefs.php.dist:315 +msgid "On all shown calendars" +msgstr "Vsi prikazani koledarji" + +#: config/prefs.php.dist:301 config/prefs.php.dist:314 +msgid "On my calendars only" +msgstr "Samo Moji Koledarji" + +#: perms.php:56 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Samo lastnik ali sistemski administrator lahko spremeni lastniÅ¡tvo dogodka" + +#: lib/Kronolith.php:685 +msgid "Optional" +msgstr "Neobvezno" + +#: lib/FBView.php:119 +msgid "Optional Attendees" +msgstr "Neobvezna Prisotni" + +#: lib/FBView.php:154 +msgid "Overview" +msgstr "Pregled" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Lastnik" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Pravice lastnika" + +#: lib/Driver.php:1941 +#, php-format +msgid "Owner: %s" +msgstr "Lastnik: %s" + +#: templates/data/export.inc:114 templates/data/export.inc:194 +msgid "PM" +msgstr "Popoldan" + +#: templates/view/view.inc:103 templates/edit/edit.inc:199 +msgid "Pattern" +msgstr "Vzorec" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Ali naj trajno zbriÅ¡em ta dogodek?" + +#: lib/api.php:345 lib/api.php:441 lib/api.php:515 lib/api.php:597 +#: lib/api.php:629 lib/api.php:715 lib/api.php:751 +msgid "Permission Denied" +msgstr "Dovjenje ni bilo odobreno" + +#: templates/calendars/calendars.inc:170 +msgid "Permissions" +msgstr "Dovoljenja" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Možnosti Portala" + +#: lib/FBView/day.php:25 +msgid "Previous Day" +msgstr "PrejÅ¡nji Dan" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "PrejÅ¡nji Teden" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "PrejÅ¡nji dan" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Predhnodni dogodki" + +#: lib/Driver.php:1823 lib/Kronolith.php:1431 lib/Views/Event.php:30 +msgid "Private Event" +msgstr "Zasebni dogodek" + +#: templates/edit/edit.inc:102 +msgid "Private?" +msgstr "Zasebni?" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:68 +#: templates/perms/perms.inc:94 templates/perms/perms.inc:120 +#: templates/perms/perms.inc:146 templates/perms/perms.inc:194 +msgid "Read" +msgstr "Preberi" + +#: templates/view/view.inc:129 templates/edit/edit.inc:252 +msgid "Recur Until" +msgstr "Obnavljaj Do" + +#: templates/view/view.inc:100 +msgid "Recurrence" +msgstr "Ponovitve" + +#: data.php:68 +msgid "Recurrence Data" +msgstr "Podatki, ki se Ponavljajo" + +#: data.php:66 +msgid "Recurrence End Date" +msgstr "Končni datum, ki se ponavlja" + +#: data.php:67 +msgid "Recurrence Interval" +msgstr "Interval, ki se ponavlja" + +#: data.php:65 +msgid "Recurrence Type" +msgstr "Vrsta, ki se ponavlja" + +#: lib/Kronolith.php:603 +msgid "Recurs daily" +msgstr "Ponovlja se dnevno" + +#: lib/Kronolith.php:610 +msgid "Recurs monthly" +msgstr "Ponovja se mesečno" + +#: lib/Kronolith.php:606 +msgid "Recurs weekly" +msgstr "Ponovlja se tedenskoi" + +#: lib/Kronolith.php:613 +msgid "Recurs yearly" +msgstr "Ponavlja se letno" + +#: lib/Scheduler/kronolith.php:208 +#, php-format +msgid "Reminder: %s" +msgstr "Opomnik: %s" + +#: templates/calendars/calendars.inc:94 config/prefs.php.dist:53 +msgid "Remote Calendars" +msgstr "Oddaljen Koledar" + +#: templates/menu.inc:61 templates/menu.inc:63 +msgid "Remote Calendars:" +msgstr "Oddaljeni koledarji:" + +#: templates/calendars/calendars.inc:194 +msgid "Remote Subscription URL" +msgstr "Oddaljena povezava za ureležbe" + +#: templates/contacts/contacts.inc:161 +msgid "Remove" +msgstr "Odstrani" + +#: templates/attendees/attendees.inc:51 +#, php-format +msgid "Remove %s" +msgstr "Odstrani %s " + +#: attendees.php:100 +msgid "Remove Attendee" +msgstr "Odstrani Prisotnega" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Zamenjaj obstoječi koledaer z uvoženim?Zamenjeva pobriÅ¡e vse stare " +"zapise" + +#: lib/Kronolith.php:692 +msgid "Required" +msgstr "Zahtevano" + +#: lib/FBView.php:98 lib/FBView.php:139 lib/FBView.php:142 lib/FBView.php:145 +msgid "Required Attendees" +msgstr "Zahtevani so Prisotni" + +#: templates/edit/edit.inc:32 templates/edit/edit.inc:310 +msgid "Reset to Defaults" +msgstr "Povni na prenastavlene" + +#: templates/attendees/attendees.inc:43 templates/view/view.inc:160 +msgid "Response" +msgstr "Odgovori" + +#: config/prefs.php.dist:148 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +" Omejite prikaz dneva in tedna na te termine, tudi če obstajajo pretekli ali " +"bodoči dogodki" + +#: templates/javascript/goto.inc:64 templates/edit/edit.inc:223 +#: lib/Views/Year.php:82 lib/Block/month.php:99 +msgid "Sa" +msgstr "So" + +#: templates/month/head.inc:22 templates/view/view.inc:114 +#: templates/edit/javascript.inc:74 +msgid "Saturday" +msgstr "Sobota" + +#: templates/calendars/calendars.inc:203 +msgid "Save" +msgstr "Shrani" + +#: templates/perms/perms.inc:235 +#, php-format +msgid "Save %s" +msgstr "Shrani %s" + +#: lib/Kronolith.php:1436 lib/Views/EditEvent.php:74 +#: lib/Views/EditEvent.php:81 +msgid "Save As New" +msgstr "Shrani Kot Novo" + +#: templates/attendees/attendees.inc:83 +msgid "Save Attendees" +msgstr "Shrani Prisotne" + +#: addevent.php:55 lib/Views/EditEvent.php:76 +msgid "Save Event" +msgstr "Shrani Dogodek" + +#: search.php:91 templates/search/search_advanced.inc:114 +#: templates/search/search.inc:67 templates/calendars/search.inc:8 +#: templates/contacts/contacts.inc:145 lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Išči" + +#: templates/calendars/search.inc:1 +msgid "Search Calendars" +msgstr "Išči Koledarje" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Rezultati iskanja" + +#: templates/calendars/search.inc:6 +msgid "Search for calendars containing:" +msgstr "Išči koledarje ki vsebujejo:" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Isanje po prosto/zasedenih ni na voljo." + +#: templates/calendars/calendars.inc:153 +msgid "Select a calendar to edit" +msgstr "Izberite Koledar za urejanje" + +#: templates/edit/edit.inc:267 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:81 +msgid "Select a date" +msgstr "Izberite datum" + +#: templates/perms/perms.inc:215 +msgid "Select a group to add" +msgstr "Izberite skupino za dodati" + +#: templates/perms/perms.inc:41 +msgid "Select a new owner" +msgstr "Izberite novega lastnika" + +#: templates/perms/perms.inc:168 +msgid "Select a user to add" +msgstr "Izberite uproabnika" + +#: templates/menu.inc:31 +msgid "Select calendars to display:" +msgstr "Izberite koledar za prikaz:" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Izberite potrdilne možnosti, kako naj bodo prikazani različni pogledai in " +"privzet pogled." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Izberite koledar, ki želite sprejeti na:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Izberite koledar(je) za izvoz" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Izberite obliko izvozne datoteke:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Izberite datoteko, ki želite sprejeti:" + +#: config/prefs.php.dist:119 +msgid "Select the first weekday:" +msgstr "izberite prvi dan v tednu:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Izberite obliko uvozne datoteke: " + +#: config/prefs.php.dist:208 +msgid "Select the time span to show:" +msgstr "Izberite čas spana za prikaz:" + +#: config/prefs.php.dist:101 +msgid "Select the view to display on startup:" +msgstr "Izberite pogled, ki bo prikazan na startupu:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Določite kateri dogodki naj bodo prikazani na portalu." + +#: templates/delete/one.inc:19 templates/delete/delete.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "PoÅ¡lji sporočilo o zbrisanem dogodku vsem prisotnim." + +#: templates/view/view.inc:164 +#, php-format +msgid "Send an email to %s" +msgstr "PoÅ¡lji sporočilo %s" + +#: templates/edit/edit.inc:182 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"Pri spreminjanju dogodkov poÅ¡lji povabila in posodobljene dogodke vsem " +"prisotnim." + +#: templates/javascript/goto.inc:76 +msgid "September" +msgstr "September" + +#: config/prefs.php.dist:61 +msgid "Set default values for new events." +msgstr "Nastavite privzete lastnosti novih dogodkov." + +#: templates/edit/edit_timespan.inc:81 +msgid "Set end date" +msgstr "Nastavi končni datum" + +#: templates/edit/edit.inc:267 +msgid "Set recurrence end date" +msgstr "Nastavi ponavljanja in datum" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "Nastavi zažetni datum" + +#: config/prefs.php.dist:75 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" +"Nastavi svoje prosto/zasedene koledarje in stale nastavitve o zasedenosti." + +#: calendars.php:77 +#, php-format +msgid "Share not found: %s" +msgstr "Deljeni komedarji niso bili najdeni: %s" + +#: templates/calendars/calendars.inc:82 +msgid "Shared Calendars" +msgstr "Koledar v skupni uporabi" + +#: templates/menu.inc:48 templates/menu.inc:50 +msgid "Shared Calendars:" +msgstr "Koledarji v skupni Uporabi:" + +#: templates/perms/perms.inc:30 templates/perms/perms.inc:67 +#: templates/perms/perms.inc:93 templates/perms/perms.inc:119 +#: templates/perms/perms.inc:145 templates/perms/perms.inc:193 +msgid "Show" +msgstr "Prikaži" + +#: calendar_search.php:25 templates/week/head_side_by_side.inc:3 +#: templates/day/head_side_by_side.inc:3 +msgid "Show Calendar" +msgstr "Prikaži Koledar" + +#: config/prefs.php.dist:180 +msgid "Show category legend?" +msgstr "Ali naj prikačem legendo kategorij?" + +#: config/prefs.php.dist:170 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" +"Ali naj v pogledu koledarja prikažem ikone za brisanje, opozorila in " +"ponavljanja?" + +#: config/prefs.php.dist:236 +msgid "Show due tasks in the calendar?" +msgstr "Ali naj na koledarju prikažem nujna opravila?" + +#: config/prefs.php.dist:190 +msgid "Show free/busy legend?" +msgstr "Ali naj prikažem legendo prost/zasedenih teminov" + +#: config/prefs.php.dist:227 +msgid "Show only events that have an alarm set?" +msgstr "Ali naj prikažem le dogodke, za katere ste nastavlili opozorilo?" + +#: config/prefs.php.dist:199 +msgid "Show shared calendars side-by-side?" +msgstr "Prikažem deljene koledarje en ob drugemu?" + +#: config/prefs.php.dist:245 +msgid "Show tasks using category colors?" +msgstr "Pikaži orpavila v barvah kategorij?" + +#: config/prefs.php.dist:110 +msgid "Show time of day between each day in week views?" +msgstr "Ali naj pri pregledu tedna prikažem vsako uro med dnevi?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Začetek" + +#: data.php:54 +msgid "Start Date" +msgstr "Začetni datum" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:35 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "Začni" + +#: data.php:55 +msgid "Start Time" +msgstr "Začetni čas" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:92 +msgid "Stat_us" +msgstr "Stanje" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "Stanje" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Razvrščanje prosto/zasedenih ni na voljo" + +#: templates/javascript/goto.inc:65 templates/edit/edit.inc:224 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:101 +#: lib/Block/month.php:103 +msgid "Su" +msgstr "Ne" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/view/view.inc:115 templates/edit/javascript.inc:68 +#: config/prefs.php.dist:120 +msgid "Sunday" +msgstr "Nedelja" + +#: config/prefs.php.dist:29 +msgid "Tasks" +msgstr "Opravila" + +#: lib/Kronolith.php:640 lib/Kronolith.php:663 +msgid "Tentative" +msgstr "Poskus" + +#: templates/javascript/goto.inc:62 templates/edit/edit.inc:221 +#: lib/Views/Year.php:80 lib/Block/month.php:99 +msgid "Th" +msgstr "Če" + +#: lib/Driver.php:45 +msgid "The Calendar backend is not currently available." +msgstr "Gonilnik koledarjev trenutno ni na voljo." + +#: lib/Driver.php:200 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Gonilnik koledarjev trenutno ni na voljo: %s" + +#: templates/contacts/contacts.inc:70 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Urejanje Prisotnih ni več možno. Program se zaustavlja." + +#: calendars.php:70 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Koledarja \"%s\" ne morem zbrisati." + +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Koledar \"%s\" je bil ustvarjen." + +#: calendars.php:88 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Koledar \"%s\" je bil zbrisan." + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Koledar \"%s\" je bil preimenovan na \"%s\"." + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Koledar \"%s\" je shranjen." + +#: data.php:236 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Koledarja ne mora biti počiščen: %s" + +#: templates/edit/javascript.inc:164 +msgid "The end date must be later than the start date." +msgstr "Končni datum mora biti za začetnim." + +#: lib/Kronolith.php:1255 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "Dogodek \"%s\" je bil dodan v koledar \"%s\", ki %s ob %s." + +#: lib/Kronolith.php:1265 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"Dogodek \"%s\" je bil izbrisan iz koledarja \"%s\", ki je bil %s ob %s." + +#: lib/Kronolith.php:1260 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "Dogodek \"%s\" je bil urejen v koledarju \"%s\", ki bo %s ob %s." + +#: lib/Kronolith.php:1151 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Opozorilo za dogodek je bilo uspeÅ¡no poslano za %s." + +#: lib/Kronolith.php:1107 +msgid "The following is a more detailed description of the event:" +msgstr "Sledi podroben opis dogodka:" + +#: attend.php:41 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "Zahtevek je bil nepopoln. Manjkajo nekateri zahtevani parametri." + +#: lib/Views/Event.php:45 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "Zahtevna dogodek ne obstaja." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Ni dogodkov ki bi ustrezali izbranim kategorijam." + +#: addeventaction.php:24 editeventaction.php:28 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Pri odpiranju koledarja je priÅ¡lo do napake: %s" + +#: addeventaction.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Pri dodajanju dogodka je priÅ¡lo do napake: %s" + +#: editeventaction.php:84 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Pri urejnju dogodka je priÅ¡lo do napake: %s" + +#: lib/api.php:358 lib/api.php:641 +msgid "There was an error importing the iCalendar data." +msgstr "PriÅ¡lo je do napake pri sprejemanju podatkov iKoledarja." + +#: editeventaction.php:60 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "PriÅ¡lo je do napake pri premiku dogodka: %s" + +#: lib/Kronolith.php:1156 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "PriÅ¡lo je do napake pri poÅ¡iljanju opozorila o dogodku za %s: %s " + +#: data.php:108 +msgid "There were no events to export." +msgstr "Ni dogodkov za oddajo." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Tekoči mesec" + +#: data.php:192 +msgid "This file format is not supported." +msgstr "Format datokeke nima podpore." + +#: data.php:255 +#, php-format +msgid "This is what the server said: %s" +msgstr "Sporočilo strežnika se glasi: %s " + +#: templates/month/head.inc:20 templates/view/view.inc:112 +#: templates/edit/javascript.inc:72 +msgid "Thursday" +msgstr "Četrtek" + +#: templates/search/search.inc:37 +msgid "Time Sp_an" +msgstr "Časovni doseg" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Časovni doseg" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:38 +msgid "Tit_le" +msgstr "Naslov" + +#: data.php:53 templates/search/search.inc:20 +#: templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Naslov" + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:124 +#: lib/Block/summary.php:126 +msgid "Today" +msgstr "Danes" + +#: lib/Block/prevmonthlist.php:127 lib/Block/monthlist.php:126 +#: lib/Block/summary.php:128 +msgid "Tomorrow" +msgstr "Jutri" + +#: templates/javascript/goto.inc:60 templates/edit/edit.inc:219 +#: lib/Views/Year.php:78 lib/Block/month.php:99 +msgid "Tu" +msgstr "To" + +#: templates/month/head.inc:18 templates/view/view.inc:110 +#: templates/edit/javascript.inc:70 +msgid "Tuesday" +msgstr "Torek" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Vrsta" + +#: templates/calendars/calendars.inc:186 +msgid "URL" +msgstr "Povezava" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Ne morem se povezati s SQL strežnikom." + +#: calendars.php:84 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Ne morem zbrisati \"%s\": %s" + +#: lib/Driver.php:203 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Ne morem naložiti definicije za %s." + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Ne morem preimenovati \"%s\": %s" + +#: lib/Storage/kolab.php:51 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Ne morem prebrati prosto/zasedenih informacij za %s" + +#: templates/view/view.inc:8 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "Neurejeno" + +#: lib/api.php:396 lib/api.php:482 lib/api.php:560 lib/api.php:666 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Nepodprti tip: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:43 +msgid "Upcoming Events" +msgstr "Bodoči dogodki" + +#: perms.php:253 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" posodobljen." + +#: lib/Kronolith.php:1097 +#, php-format +msgid "Updated: %s." +msgstr "Posodobljeno: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Uporabnikov Vmesnik" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:156 +#: lib/Block/month.php:159 +msgid "View Day" +msgstr "Poglej Dan" + +#: templates/javascript/goto.inc:61 templates/edit/edit.inc:220 +#: lib/Views/Year.php:79 lib/Block/month.php:99 +msgid "We" +msgstr "Sr" + +#: templates/month/head.inc:19 templates/view/view.inc:111 +#: templates/edit/javascript.inc:71 +msgid "Wednesday" +msgstr "Sreda" + +#: attendees.php:108 lib/Kronolith.php:1403 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:98 +msgid "Week" +msgstr "Teden" + +#: workweek.php:15 week.php:15 lib/Views/Month.php:184 +#, php-format +msgid "Week %d" +msgstr "Teden %d" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:53 +#: templates/edit/edit.inc:150 +msgid "Week(s)" +msgstr "Teden(i)" + +#: templates/view/view.inc:116 templates/edit/edit.inc:215 +msgid "Weekly: Recurs every" +msgstr "Tedensko: Ponovi vasakič" + +#: config/prefs.php.dist:139 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "Ob kateri uri naj se zaključijo dnevi in tedni, ko ni več dogodkov?" + +#: config/prefs.php.dist:130 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +" Ob kateri uri naj se začnejo dnevi in tedni, ko ni napovedanih dogodkov " +"zgodnaj zjuraj?" + +#: attendees.php:107 lib/Kronolith.php:1401 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:99 +msgid "Work Week" +msgstr "Delavni Teden" + +#: lib/Kronolith.php:1407 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Leto" + +#: templates/view/view.inc:122 templates/edit/edit.inc:241 +msgid "Yearly: Recurs every" +msgstr "Letno: Ponovi vsakič" + +#: data.php:39 data.php:244 editeventaction.php:39 addevent.php:17 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Nimate pravice za tvojenje več kot %d dogodkov." + +#: attend.php:49 +msgid "You are not an attendee of the specified event." +msgstr "Niste povabljeni na izbrani dogodek." + +#: templates/contacts/contacts.inc:76 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Uporabite lahko le ta obrazec za Urejanje Prisotnih." + +#: lib/Kronolith.php:1049 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"V nastavitvah nimate nastavlenega vaÅ¡ega naslova elektronske poÅ¡te. Pred " +"poÅ¡iljanjem morate ga nastaviti en %shere%s." + +#: addeventaction.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Niste pooblaščeni za dodajanje dogodkov k %s." + +#: data.php:202 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Niste pooblaščeni za dodajanje dogodkov k izbranemu koledarju." + +#: addeventaction.php:27 editeventaction.php:76 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Niste pooblaščeni za dodeljevanje prisotnosti dogodkov k %s." + +#: deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "Niste pooblaščeni za brisaanje tega dogodka." + +#: editeventaction.php:79 +msgid "You do not have permission to edit this event." +msgstr "Niste pooblaščeni za urejanje tega dogodka." + +#: data.php:197 +msgid "You have specified an invalid calendar." +msgstr "Izbrali ste neveljaven koledar." + +#: attend.php:21 +msgid "You have successfully accepted attendence to this event." +msgstr "ZpeÅ¡no ste potrdili prisotnost v tem dogodku." + +#: attend.php:26 +msgid "You have successfully declined attendence to this event." +msgstr "UspeÅ¡no ste zarnili udeležbo v tem dogodku." + +#: attend.php:31 +msgid "You have tentatively accepted attendence to this event." +msgstr "Potrdili ste možno prisotnost na dogodku." + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "Izbrati morate koledar, ki bo zbrisan." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Najprej morate izbrati naslov." + +#: templates/calendars/calendars.inc:173 +msgid "You need to select a calendar first" +msgstr "Najprej morate izbrati koledar." + +#: lib/Kronolith.php:1255 +msgid "You requested to be notified when events are added to your calendars." +msgstr "Zahtevali ste da vas obvestimo kadar so dogodki dodani v vaÅ¡ koledar." + +#: lib/Kronolith.php:1265 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "" +"Zahtevali ste da vas obvestimo kadar bo kakÅ¡en dogodek izbrisan z vaÅ¡ega " +"koledarja" + +#: lib/Kronolith.php:1260 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Zahtevali ste da vas obvestimo kadar so dogodki ažurirani v vaÅ¡em koledar." + +#: lib/Scheduler/kronolith.php:211 +#, php-format +msgid "You requested to be reminded about %s, which is on %s at %s." +msgstr "Želeli ste, da vas opozorimo na %s, ki bo dne %s ob %s." + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "VaÅ¡ privzet koledar" + +#: lib/Driver.php:1085 lib/Driver.php:1093 +msgid "[Unnamed event]" +msgstr "[Neimenovan dogodek]" + +#: templates/edit/edit.inc:114 +msgid "_Alarm" +msgstr "_Opozorilo" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "Osnovno iskanje" + +#: lib/Kronolith.php:1436 +msgid "_Edit" +msgstr "Uredi" + +#: lib/Kronolith.php:1578 +msgid "_Goto" +msgstr "Pojdi" + +#: lib/Kronolith.php:1584 +msgid "_Import/Export" +msgstr "Sprejmi/Oddaj" + +#: lib/Kronolith.php:1565 +msgid "_My Calendars" +msgstr "_Moji Koledarji" + +#: lib/Kronolith.php:1572 +msgid "_New Event" +msgstr "Nov Dogodek" + +#: lib/Kronolith.php:1589 +msgid "_Print" +msgstr "Natisni" + +#: lib/Kronolith.php:1580 +msgid "_Search" +msgstr "Iskanje" + +#: lib/Kronolith.php:1575 +msgid "_Today" +msgstr "Danes" + +#: templates/edit/edit.inc:57 +#, php-format +msgid "as %s" +msgstr "kot %s" + +#: templates/edit/edit.inc:152 +msgid "before the event starts" +msgstr "pred dogodkom" + +#: templates/prefs/default_alarm_management.inc:29 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "preden prične dogodek. Verdnost \"0\" pomeni brez alarma." + +#: config/prefs.php.dist:209 +msgid "day" +msgstr "dan" + +#: templates/view/view.inc:106 templates/edit/edit.inc:210 +msgid "day(s)" +msgstr "dan(i)" + +#: config/prefs.php.dist:210 config/prefs.php.dist:211 +#: config/prefs.php.dist:212 config/prefs.php.dist:213 +#: config/prefs.php.dist:214 +msgid "days" +msgstr "dni" + +#: data.php:151 templates/data/export.inc:1 +msgid "events.csv" +msgstr "dogodki.csv" + +#: data.php:177 +msgid "events.ics" +msgstr "dogodki.csv" + +#: templates/contacts/contacts.inc:136 +msgid "in" +msgstr "v" + +#: templates/view/view.inc:118 templates/view/view.inc:120 +#: templates/edit/edit.inc:230 templates/edit/edit.inc:236 +msgid "month(s)" +msgstr "mesec(i)" + +#: lib/Kronolith.php:1103 +#, php-format +msgid "on %s at %s" +msgstr "dne %s ob %s" + +#: templates/view/view.inc:118 templates/edit/edit.inc:230 +msgid "on the same date" +msgstr "na isti datum" + +#: templates/view/view.inc:120 templates/edit/edit.inc:236 +msgid "on the same weekday" +msgstr "istega dne v tednu" + +#: data.php:29 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vKoledar/iKoledar" + +#: lib/api.php:369 lib/api.php:652 +msgid "vEvent not found." +msgstr "vDogodka ne najdem." + +#: config/prefs.php.dist:215 +msgid "week" +msgstr "teden" + +#: templates/view/view.inc:116 templates/edit/edit.inc:217 +msgid "week(s) on:" +msgstr "teden(i) na:" + +#: config/prefs.php.dist:216 config/prefs.php.dist:217 +#: config/prefs.php.dist:218 +msgid "weeks" +msgstr "tedni" + +#: templates/view/view.inc:122 templates/edit/edit.inc:242 +msgid "year(s)" +msgstr "leto(a)" diff --git a/kronolith/po/sv_SE.po b/kronolith/po/sv_SE.po new file mode 100644 index 000000000..990346e39 --- /dev/null +++ b/kronolith/po/sv_SE.po @@ -0,0 +1,1768 @@ +# Kronolith Swedish translation +# Copyright 2002-2005 Andreas Dahlén. +# Andreas Dahlén , 2005. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 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 08:50+0100\n" +"Last-Translator: Andreas Dahlén \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=iso-8859-1\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/search/header.inc:8 +#, php-format +msgid "%d events" +msgstr "%d händelser" + +#: templates/edit/edit_timespan.inc:127 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s dag(ar) %s timm(ar) %s minut(er)" + +#: lib/Driver.php:1719 +#, php-format +msgid "%s attendees" +msgstr "%s deltagare" + +#: data.php:241 +#, php-format +msgid "%s file successfully imported" +msgstr "%s filen är importerad" + +#: calendars.php:105 lib/base.php:126 +#, php-format +msgid "%s's Calendar" +msgstr "Kalender för %s" + +#: templates/contacts/contacts.inc:164 +msgid "* Add these by clicking Add *" +msgstr "* Lägg till dem här genom att klicka 'Lägg till' *" + +#: templates/contacts/contacts.inc:150 +msgid "* Please select address(es) *" +msgstr "* Välj adress(er) *" + +#: lib/Driver.php:1719 +msgid "1 attendee" +msgstr "1 deltagare" + +#: templates/search/header.inc:8 +msgid "1 event" +msgstr "1 händelse" + +#: templates/edit/edit.inc:159 +msgid "Attendees (optional)" +msgstr "Deltagare (valfri)" + +#: templates/edit/edit.inc:137 +msgid "Descri_ption (optional)" +msgstr "Beskri_vning (valfri)" + +#: templates/edit/edit.inc:261 +msgid "Keywords (optional)" +msgstr "Nyckelord (valfri)" + +#: templates/edit/edit.inc:179 +msgid "Recurrence (optional)" +msgstr "Upprepning (valfri)" + +#: templates/data/export.inc:105 templates/data/export.inc:185 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:525 +msgid "Accepted" +msgstr "Accepterad" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "A_vancerad sökning" + +#: templates/contacts/contacts.inc:161 templates/contacts/contacts.inc:190 +msgid "Add" +msgstr "Lägg till" + +#: templates/edit/edit.inc:25 +msgid "Add Event" +msgstr "Lägg till händelse" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Lägg till ny fjärrkalender" + +#: addevent.php:50 +msgid "Add a new event" +msgstr "Lägg till en ny händelse" + +#: templates/attendees/attendees.inc:81 +msgid "Add attendees" +msgstr "Lägg till deltagare" + +#: templates/attendees/attendees.inc:85 +msgid "Add people from my Address Book" +msgstr "Lägg till personer från min adressbok" + +#: templates/attendees/attendees.inc:89 +msgid "Add these people" +msgstr "Lägg till dessa personer" + +#: contacts.php:82 templates/contacts/contacts.inc:120 +msgid "Address Book" +msgstr "Adressbok" + +#: templates/search/search.inc:10 templates/search/search_advanced.inc:7 +msgid "Advanced Search" +msgstr "Avancerad sökning" + +#: templates/edit/edit.inc:96 templates/view/view.inc:61 +msgid "Alarm" +msgstr "Alarm" + +#: lib/Driver.php:1699 +#, php-format +msgid "Alarm %d days before" +msgstr "Alarm %d dagar innan" + +#: lib/Driver.php:1704 +#, php-format +msgid "Alarm %d hours before" +msgstr "Alarm %d timmar innan" + +#: lib/Driver.php:1709 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Alarm %d minuter innan" + +#: lib/Driver.php:1694 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Alarm %d veckor innan" + +#: lib/Driver.php:1698 +msgid "Alarm 1 day before" +msgstr "Alarm 1 dag innan" + +#: lib/Driver.php:1703 +msgid "Alarm 1 hour before" +msgstr "Alarm 1 timma innan" + +#: lib/Driver.php:1708 +msgid "Alarm 1 minute before" +msgstr "Alarm 1 minut innan" + +#: lib/Driver.php:1693 +msgid "Alarm 1 week before" +msgstr "Alarm 1 vecka innan" + +#: data.php:50 +msgid "Alarm Date" +msgstr "Alarmdatum" + +#: data.php:49 +msgid "Alarm Span (minutes)" +msgstr "Tid mellan alarm (minuter)" + +#: data.php:51 +msgid "Alarm Time" +msgstr "Alarmtid" + +#: templates/delete/delete.inc:43 +msgid "All" +msgstr "Alla" + +#: lib/FBView.php:124 lib/FBView.php:127 lib/FBView.php:130 +msgid "All Attendees" +msgstr "Alla deltagare" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "Alla framtida" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "Hela tidigare" + +#: lib/Block/month.php:24 lib/Block/monthlist.php:27 +#: lib/Block/prevmonthlist.php:27 lib/Block/summary.php:25 +msgid "All Visible" +msgstr "Alla synliga" + +#: lib/WeekView.php:110 lib/WeekView.php:120 lib/Driver.php:1623 +#: lib/Driver.php:1649 lib/DayView.php:87 lib/DayView.php:89 +#: templates/edit/edit_timespan.inc:126 +msgid "All day" +msgstr "Hela dagen" + +#: lib/Block/summary.php:148 +msgid "All day event" +msgstr "Heldagshändelse" + +#: templates/data/export.inc:25 +msgid "All events" +msgstr "Alla händelser" + +#: lib/Kronolith.php:615 templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 +msgid "Any" +msgstr "vilken som helst" + +#: templates/javascript/goto.inc:71 +msgid "April" +msgstr "april" + +#: templates/edit/edit_timespan.inc:95 templates/data/export.inc:74 +#: templates/data/export.inc:160 +msgid "At" +msgstr "Kl" + +#: lib/Kronolith.php:974 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." + +#: templates/view/view.inc:181 templates/attendees/attendees.inc:46 +msgid "Attendance" +msgstr "Deltagande" + +#: templates/view/view.inc:177 +msgid "Attendees" +msgstr "Deltagare" + +#: templates/javascript/goto.inc:75 +msgid "August" +msgstr "augusti" + +#: templates/calendars/calendars.inc:126 +msgid "Back to Calendar Options" +msgstr "Tillbaka till kalenderinställningar" + +#: templates/search/search.inc:7 templates/search/search_advanced.inc:10 +msgid "Basic Search" +msgstr "Sökning" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Födelsedag" + +#: lib/FBView.php:90 lib/FBView.php:109 templates/fbview/legend.inc:3 +msgid "Busy" +msgstr "Upptagen" + +#: templates/search/search_advanced.inc:43 +msgid "C_alendar" +msgstr "K_alender" + +#: templates/edit/edit.inc:48 +msgid "Cal_endar" +msgstr "K_alender" + +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 +#: lib/Block/prevmonthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Kalender" + +#: templates/calendars/calendars.inc:113 +msgid "Calendar Description" +msgstr "Kalenderbeskrivning" + +#: templates/calendars/calendars.inc:97 +msgid "Calendar Name" +msgstr "Kalendernamn" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Kalender sammanfattning" + +#: calendars.php:119 config/prefs.php.dist:36 config/prefs.php.dist:43 +#: config/prefs.php.dist:50 config/prefs.php.dist:57 +msgid "Calendars" +msgstr "Kalendrar" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Kalendrar måste ha ett namn." + +#: templates/menu.inc:31 +msgid "Calendars:" +msgstr "Kalendrar:" + +#: data.php:211 +msgid "Can't create a new event." +msgstr "Kan inte skapa en ny händelse" + +#: templates/delete/delete.inc:44 templates/delete/one.inc:42 +#: templates/edit/edit.inc:32 templates/edit/edit.inc:292 +#: templates/contacts/contacts.inc:191 +msgid "Cancel" +msgstr "Avbryt" + +#: lib/Kronolith.php:504 +msgid "Cancelled" +msgstr "Avbruten" + +#: lib/Kronolith.php:949 +#, php-format +msgid "Cancelled: %s" +msgstr "Avbruten: %s" + +#: templates/edit/edit.inc:68 templates/search/search_advanced.inc:63 +msgid "Categor_y" +msgstr "Kategor_i" + +#: data.php:53 templates/search/event_headers.inc:4 templates/view/view.inc:21 +msgid "Category" +msgstr "Kategori" + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:123 +msgid "Change" +msgstr "Ändra" + +#: templates/prefs/search_abook_select.inc:17 config/prefs.php.dist:295 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "Välj adressbok för sökning av ledig/upptagen URL:" + +#: templates/calendars/calendars.inc:138 +msgid "" +"Choose the calendars that you want to be included in your Free/Busy listings:" +msgstr "Välj de kalendrar du vill inkludera i listning av ledig/upptagen:" + +#: config/prefs.php.dist:38 +msgid "Choose your default calendar." +msgstr "Välj din förvalda kalender." + +#: templates/search/search.inc:68 templates/search/search_advanced.inc:116 +msgid "Clear Form" +msgstr "Rensa formulär" + +#: templates/attendees/attendees.inc:72 +msgid "Clear all attandees" +msgstr "Rensa alla deltagare" + +#: data.php:28 templates/data/import.inc:21 +msgid "Comma separated values" +msgstr "Kommaseparerade värden" + +#: config/prefs.php.dist:73 +msgid "Confirm deletion of events?" +msgstr "Bekräfta radering av händelser?" + +#: lib/Kronolith.php:501 +msgid "Confirmed" +msgstr "Bekräftad" + +#: templates/calendars/calendars.inc:151 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "Kopiera länken nedan när du behöver infromation om ledig/upptagen:" + +#: lib/Kronolith.php:163 +#, php-format +msgid "Could not open %s." +msgstr "Kan inte öppna %s." + +#: templates/calendars/calendars.inc:17 templates/calendars/calendars.inc:123 +#: templates/calendars/calendars.inc:125 +msgid "Create" +msgstr "Skapa" + +#: month.php:152 month.php:153 lib/DayView.php:87 lib/DayView.php:185 +#: templates/day/row.inc:6 templates/week/head.inc:20 +#: templates/week/head.inc:21 templates/week/head_side_by_side.inc:20 +#: templates/week/head_side_by_side.inc:21 +msgid "Create a New Event" +msgstr "Skapa en ny händelse" + +#: templates/view/view.inc:88 +msgid "Created" +msgstr "Skapad" + +#: templates/delete/delete.inc:41 +msgid "Current" +msgstr "Aktuell" + +#: templates/edit/edit.inc:194 templates/view/view.inc:122 +msgid "Daily: Recurs every" +msgstr "Daglig: Upprepa var" + +#: attendees.php:106 lib/Kronolith.php:1189 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:82 +msgid "Day" +msgstr "Dag" + +#: templates/edit/edit.inc:127 templates/view/view.inc:70 +msgid "Day(s)" +msgstr "Dag(ar)" + +#: viewevent.php:103 +msgid "De_lete" +msgstr "_Radera" + +#: templates/javascript/goto.inc:79 +msgid "December" +msgstr "december" + +#: lib/Kronolith.php:528 +msgid "Declined" +msgstr "Avböjt" + +#: config/prefs.php.dist:37 +msgid "Default Calendar" +msgstr "Förvald kalender" + +#: lib/Driver.php:1739 templates/delete/one.inc:41 +#: templates/prefs/remote_cal_management.inc:23 +#: templates/contacts/contacts.inc:181 templates/calendars/calendars.inc:124 +msgid "Delete" +msgstr "Radera" + +#: delevent.php:40 lib/Driver.php:1739 templates/delete/delete.inc:21 +#: templates/delete/one.inc:21 +#, php-format +msgid "Delete %s" +msgstr "Radera %s" + +#: viewevent.php:103 +#, php-format +msgid "Delete '%s'" +msgstr "Radera '%s'" + +#: editevent.php:61 +msgid "Delete Event" +msgstr "Radera händelse" + +#: templates/delete/delete.inc:35 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "" +"Radera enbart aktuell händelse, aktuell samt framtida förekomster eller alla " +"förekomster?" + +#: templates/search/search.inc:27 templates/search/search_advanced.inc:103 +msgid "Descri_ption" +msgstr "_Beskrivning" + +#: data.php:52 templates/view/view.inc:105 +msgid "Description" +msgstr "Beskrivning" + +#: templates/attendees/attendees.inc:102 +msgid "Dismiss" +msgstr "Avfärda" + +#: templates/contacts/contacts.inc:173 +msgid "Display" +msgstr "Visa" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:28 +msgid "Display Options" +msgstr "Visningsinställningar" + +#: config/prefs.php.dist:30 +msgid "Do you want to show tasks which are due on your calendar?" +msgstr "Vill du visa uppgifter som är klara i din kalender?" + +#: lib/Kronolith.php:471 +msgid "Does not recur" +msgstr "Upprepas inte" + +#: lib/Kronolith.php:317 +#, php-format +msgid "Due: %s" +msgstr "Klar: %s" + +#: templates/edit/edit_timespan.inc:62 +msgid "Duration" +msgstr "Varaktighet" + +#: lib/Driver.php:1733 +msgid "Edit" +msgstr "Ändra" + +#: editevent.php:33 lib/Driver.php:1733 templates/edit/edit.inc:25 +#, php-format +msgid "Edit %s" +msgstr "Ändra %s" + +#: viewevent.php:119 +#, php-format +msgid "Edit '%s'" +msgstr "Ändra '%s'" + +#: templates/edit/edit.inc:172 +msgid "Edit Attendees" +msgstr "Ändra deltagare" + +#: config/prefs.php.dist:246 +msgid "Edit Remote Calendars" +msgstr "Ändra fjärrkalendrar" + +#: attendees.php:146 +msgid "Edit attendees" +msgstr "Ändra deltagare" + +#: templates/category_legend.inc:25 +msgid "Edit categories and colors" +msgstr "Ändra kategorier och färger" + +#: templates/contacts/contacts.inc:176 templates/view/view.inc:180 +#: templates/attendees/attendees.inc:45 +msgid "Email Address" +msgstr "E-post adress" + +#: data.php:47 +msgid "End Date" +msgstr "Slutdatum" + +#: templates/edit/edit_timespan.inc:67 templates/search/event_headers.inc:8 +#: templates/view/view.inc:55 templates/data/export.inc:112 +msgid "End On" +msgstr "Sluta den" + +#: data.php:48 +msgid "End Time" +msgstr "Sluttid" + +#: attendees.php:120 attendees.php:131 attendees.php:138 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Kan inte hämta information om ledig/upptagen för %s: %s" + +#: lib/Kronolith.php:1040 +msgid "Event added:" +msgstr "Händelse skapad:" + +#: lib/Kronolith.php:1048 +msgid "Event deleted:" +msgstr "Händelse raderad:" + +#: lib/Kronolith.php:1044 +msgid "Event edited:" +msgstr "Händelse ändrad:" + +#: lib/Driver.php:955 +#, php-format +msgid "Event from %s to %s" +msgstr "Händelse från %s till %s" + +#: lib/Driver.php:674 +msgid "Events must have a start date." +msgstr "Händelser måste ha ett startdatum." + +#: lib/Driver.php:640 +msgid "Events must have a title." +msgstr "Händelser måste ha en rubrik." + +#: lib/Driver.php:677 +msgid "Events must have an end date or a duration." +msgstr "Händelser måste ha ett slutdatum eller varaktighet" + +#: templates/data/export.inc:191 +msgid "Export" +msgstr "Exportera" + +#: templates/data/export.inc:9 +msgid "Export Calendar" +msgstr "Exportera kalender" + +#: templates/javascript/goto.inc:69 +msgid "February" +msgstr "februari" + +#: templates/contacts/contacts.inc:128 +msgid "Find" +msgstr "Sök" + +#: year.php:82 lib/Block/month.php:109 templates/javascript/goto.inc:63 +#: templates/edit/edit.inc:207 +msgid "Fr" +msgstr "Fr" + +#: config/prefs.php.dist:58 +msgid "Free/Busy Information" +msgstr "Ledig/Upptagen information" + +#: templates/month/head.inc:20 templates/edit/javascript.inc:72 +#: templates/view/view.inc:130 +msgid "Friday" +msgstr "Fredag" + +#: templates/delete/delete.inc:42 +msgid "Future" +msgstr "Framtida" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Spel" + +#: templates/search/search_advanced.inc:22 +msgid "General" +msgstr "Allmän" + +#: lib/Block/summary.php:127 +#, php-format +msgid "Goto %s" +msgstr "Gå till %s" + +#: templates/edit/edit.inc:126 templates/view/view.inc:73 +msgid "Hour(s)" +msgstr "Timm/e/ar" + +#: config/prefs.php.dist:284 +msgid "" +"How many days into the future should we generate free/busy information for?" +msgstr "" +"För hur många dagar in i framtiden vill du generera information om ledig/" +"upptagen?" + +#: lib/Kronolith.php:978 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"To accept the event:\n" +"%s\n" +"To accept the event tentatively:\n" +"%s\n" +"To decline the event:\n" +"%s" +msgstr "" +"Om din epost klient inte stödjer iTip, så kan du använda en av följande " +"länkar att accepetera eller avböja händelsen.\n" +"För att acceptera:\n" +"%s\n" +"För att preliminärt acceptera:\n" +"%s\n" +"För att avböja:\n" +"%s" + +#: templates/data/import.inc:9 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Import kalender, steg %d" + +#: data.php:286 +msgid "Import/Export Calendar" +msgstr "Importera/Exportera kalender" + +#: templates/javascript/goto.inc:68 +msgid "January" +msgstr "januari" + +#: templates/javascript/goto.inc:74 +msgid "July" +msgstr "juli" + +#: templates/javascript/goto.inc:73 +msgid "June" +msgstr "juni" + +#: data.php:55 templates/view/view.inc:155 +msgid "Keywords" +msgstr "Nyckelord" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "Senaste 24 timmarna" + +#: templates/view/view.inc:95 +msgid "Last Modified" +msgstr "Senast ändrad" + +#: templates/month/head.inc:4 templates/month/head_side_by_side.inc:4 +#: templates/month/head_side_by_side.inc:10 +#: templates/month/head_side_by_side.inc:16 +msgid "Last Month" +msgstr "Förra månaden" + +#: templates/year/head.inc:4 +msgid "Last Year" +msgstr "Förra året" + +#: templates/search/search.inc:53 templates/week/head.inc:4 +#: templates/week/head_side_by_side.inc:4 +msgid "Last week" +msgstr "Förra veckan" + +#: templates/edit/edit_timespan.inc:122 +msgid "Lasts" +msgstr "Varar" + +#: templates/data/export.inc:21 +msgid "Limit the time span to export:" +msgstr "Begränsa tidsspannet för exporten:" + +#: templates/edit/edit.inc:75 templates/search/search_advanced.inc:85 +msgid "Lo_cation" +msgstr "_Plats" + +#: data.php:54 templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 +#: templates/search/event_headers.inc:5 templates/view/view.inc:29 +msgid "Location" +msgstr "Plats" + +#: config/prefs.php.dist:45 +msgid "Manage remote calendars." +msgstr "Hantera fjärrkalendrar." + +#: templates/javascript/goto.inc:70 +msgid "March" +msgstr "mars" + +#: templates/javascript/goto.inc:72 +msgid "May" +msgstr "maj" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Möte" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menylista" + +#: templates/edit/edit.inc:125 templates/view/view.inc:76 +msgid "Minute(s)" +msgstr "Minut(er)" + +#: lib/Block/prevmonthlist.php:44 +msgid "Missed Events List" +msgstr "Missade händelser" + +#: year.php:78 lib/Block/month.php:109 templates/javascript/goto.inc:59 +#: templates/edit/edit.inc:203 +msgid "Mo" +msgstr "Må" + +#: templates/month/head.inc:16 templates/edit/javascript.inc:68 +#: templates/view/view.inc:126 config/prefs.php.dist:115 +msgid "Monday" +msgstr "Måndag" + +#: lib/Kronolith.php:1192 lib/Block/tree_menu.php:24 config/prefs.php.dist:85 +msgid "Month" +msgstr "Månad" + +#: lib/Block/month.php:3 +msgid "Month View" +msgstr "Månadsvy" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:44 +msgid "Monthly Events List" +msgstr "Månatliga händelser" + +#: templates/edit/edit.inc:214 templates/edit/edit.inc:220 +#: templates/view/view.inc:136 templates/view/view.inc:138 +msgid "Monthly: Recurs every" +msgstr "Monatlig: Upprepa var" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Månader frammåt" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Månader tidigare" + +#: lib/api.php:205 lib/api.php:451 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Flera iCaldener-delar hittades; enbart en vEvent stöds." + +#: templates/calendars/calendars.inc:84 +msgid "My Calendars" +msgstr "Mina kalendrar" + +#: templates/menu.inc:35 templates/menu.inc:37 +msgid "My Calendars:" +msgstr "Mina kalendrar:" + +#: templates/calendars/calendars.inc:132 +msgid "My Free/Busy URL" +msgstr "Min ledig/upptagen URL" + +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +#: templates/contacts/contacts.inc:175 +msgid "Name" +msgstr "Namn" + +#: lib/Block/month.php:43 lib/Block/monthlist.php:45 lib/Block/summary.php:43 +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Ny händelse" + +#: templates/data/import.inc:39 +msgid "Next" +msgstr "Nästa" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "Nästa 24 timmar" + +#: lib/FBView/day.php:78 +msgid "Next Day" +msgstr "Nästa dag" + +#: templates/month/head.inc:6 templates/month/head_side_by_side.inc:6 +#: templates/month/head_side_by_side.inc:12 +#: templates/month/head_side_by_side.inc:18 +msgid "Next Month" +msgstr "Nästa månad" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Nästa vecka" + +#: templates/year/head.inc:6 +msgid "Next Year" +msgstr "Nästa år" + +#: templates/day/head_side_by_side.inc:7 templates/day/head.inc:7 +msgid "Next day" +msgstr "Nästa dag" + +#: templates/search/search.inc:57 templates/week/head.inc:6 +#: templates/week/head_side_by_side.inc:6 +msgid "Next week" +msgstr "Nästa vecka" + +#: config/prefs.php.dist:271 +msgid "No" +msgstr "Nej" + +#: templates/fbview/legend.inc:7 +msgid "No Information" +msgstr "Ingen information" + +#: templates/edit/edit.inc:121 templates/view/view.inc:81 +msgid "No alarm" +msgstr "Inget alarm" + +#: templates/attendees/attendees.inc:53 +msgid "No attendees" +msgstr "Inge deltagare" + +#: lib/Kronolith.php:1214 +msgid "No calendars are available to guests." +msgstr "Inga kalendrar tillgängliga för gäster." + +#: templates/edit/edit.inc:240 templates/view/view.inc:148 +msgid "No end date" +msgstr "Inget slutdatum" + +#: lib/Block/monthlist.php:176 lib/Block/prevmonthlist.php:180 +#: lib/Block/summary.php:196 +msgid "No events to display" +msgstr "Inga händelser att visa" + +#: lib/Storage/kolab.php:44 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "Ingen information om ledig/upptagen tillgänglig för %s" + +#: lib/api.php:195 lib/api.php:441 +msgid "No iCalendar data was found." +msgstr "iCalendar information saknas." + +#: templates/edit/edit.inc:189 +msgid "No recurrence" +msgstr "Ingen upprepning" + +#: lib/Kronolith.php:842 +msgid "No valid email address found" +msgstr "Godkänd ePost-adress sakna." + +#: lib/Kronolith.php:535 lib/Kronolith.php:555 +msgid "None" +msgstr "Ingen" + +#: lib/Storage/sql.php:127 +msgid "Not found" +msgstr "Hittades inte" + +#: templates/data/import.inc:17 +msgid "" +"Notice: Importing is not possible with this configuration due to a bug in " +"the underlying calendar driver." +msgstr "Pga en bug i drivrutinen för kalendern, så är import inte möjligt." + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Notifieringar" + +#: templates/javascript/goto.inc:78 +msgid "November" +msgstr "november" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "Nu" + +#: templates/javascript/goto.inc:77 +msgid "October" +msgstr "oktober" + +#: config/prefs.php.dist:274 +msgid "On all calendars I have read access to" +msgstr "På alla kalenderar som jag har läsbehörighet till" + +#: config/prefs.php.dist:273 +msgid "On all shown calendars" +msgstr "På alla visade kalendrar" + +#: config/prefs.php.dist:272 +msgid "On my calendars only" +msgstr "Enbart på mina kalendrar" + +#: lib/Kronolith.php:552 +msgid "Optional" +msgstr "Valfri" + +#: lib/FBView.php:117 +msgid "Optional to attend" +msgstr "Valfri att delta" + +#: templates/view/view.inc:42 +msgid "Owner" +msgstr "Ägare" + +#: templates/data/export.inc:106 templates/data/export.inc:186 +msgid "PM" +msgstr "PM" + +#: data.php:29 templates/data/import.inc:22 +msgid "Palm DateBook" +msgstr "Palm datebook" + +#: lib/Block/prevmonthlist.php:3 +msgid "Past Events List" +msgstr "Förflutna händelser" + +#: templates/edit/edit.inc:183 templates/view/view.inc:119 +msgid "Pattern" +msgstr "Mönster" + +#: templates/delete/one.inc:35 +msgid "Permanently delete this event?" +msgstr "Radera händelsen permanent?" + +#: lib/api.php:176 lib/api.php:258 lib/api.php:320 lib/api.php:392 +#: lib/api.php:423 lib/api.php:509 lib/api.php:545 +msgid "Permission Denied" +msgstr "Behörighet nekades" + +#: ics.php:41 +msgid "Permission denied" +msgstr "Behörighet nekades" + +#: templates/calendars/calendars.inc:107 +msgid "Permissions" +msgstr "behörigheter" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Portalinställningar" + +#: templates/fbview/legend.inc:5 +msgid "Possible Meeting Time" +msgstr "Möjlig mötestid" + +#: lib/FBView.php:149 +msgid "Possible Meeting Times" +msgstr "Möjliga mötestider" + +#: lib/FBView/day.php:74 +msgid "Previous Day" +msgstr "Föregående dag" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Föregående sida" + +#: templates/day/head_side_by_side.inc:5 templates/day/head.inc:5 +msgid "Previous day" +msgstr "Föregående dag" + +#: templates/edit/edit.inc:237 templates/view/view.inc:147 +msgid "Recur Until" +msgstr "Upprepa tills" + +#: templates/view/view.inc:116 +msgid "Recurrence" +msgstr "Upprepning" + +#: data.php:59 +msgid "Recurrence Data" +msgstr "Information om upprepning" + +#: data.php:57 +msgid "Recurrence End Date" +msgstr "Slutdatum för upprepning" + +#: data.php:58 +msgid "Recurrence Interval" +msgstr "Intervall för upprepning" + +#: data.php:56 +msgid "Recurrence Type" +msgstr "Typ av upprepning" + +#: lib/Kronolith.php:474 +msgid "Recurs daily" +msgstr "Daglig upprepning" + +#: lib/Kronolith.php:481 +msgid "Recurs monthly" +msgstr "Månatlig upprepning" + +#: lib/Kronolith.php:477 +msgid "Recurs weekly" +msgstr "Veckovis upprepning" + +#: lib/Kronolith.php:484 +msgid "Recurs yearly" +msgstr "Årlig upprepning" + +#: lib/Scheduler/kronolith.php:166 +#, php-format +msgid "Reminder: %s" +msgstr "Påminnelse: %s" + +#: config/prefs.php.dist:44 +msgid "Remote Calendars" +msgstr "Fjärrkalendrar" + +#: templates/menu.inc:61 templates/menu.inc:63 +msgid "Remote Calendars:" +msgstr "Fjärrkalendrar:" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Ta bort %s" + +#: attendees.php:37 +msgid "Remove Attendee" +msgstr "Ta bort deltagare" + +#: lib/Kronolith.php:559 +msgid "Required" +msgstr "Obligatoriskt" + +#: lib/FBView.php:135 lib/FBView.php:138 lib/FBView.php:141 +msgid "Required Attendees" +msgstr "Obligatoriska deltagare" + +#: lib/FBView.php:98 +msgid "Required to attend" +msgstr "Obligatoriskt deltagande" + +#: templates/calendars/calendars.inc:125 +msgid "Reset" +msgstr "Återställ" + +#: templates/edit/edit.inc:33 templates/edit/edit.inc:293 +msgid "Reset to Defaults" +msgstr "Återställ till grundinställningar" + +#: templates/view/view.inc:182 templates/attendees/attendees.inc:47 +msgid "Response" +msgstr "Svar" + +#: viewevent.php:117 +#, php-format +msgid "S_ave '%s' As New" +msgstr "_Spara '%s'som ny" + +#: year.php:83 lib/Block/month.php:109 templates/javascript/goto.inc:64 +#: templates/edit/edit.inc:208 +msgid "Sa" +msgstr "Lö" + +#: templates/month/head.inc:21 templates/edit/javascript.inc:73 +#: templates/view/view.inc:131 +msgid "Saturday" +msgstr "Lördag" + +#: editevent.php:44 editevent.php:48 viewevent.php:117 +msgid "Save As New" +msgstr "Spara som ny" + +#: editevent.php:46 addevent.php:41 +msgid "Save Event" +msgstr "Spara" + +#: search.php:14 lib/Block/tree_menu.php:26 +#: templates/contacts/contacts.inc:140 templates/search/search.inc:67 +#: templates/search/search_advanced.inc:115 +msgid "Search" +msgstr "Sök" + +#: templates/calendars/calendars.inc:86 +msgid "Select a calendar" +msgstr "Välj en kalender" + +#: templates/edit/edit.inc:253 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:85 +msgid "Select a date" +msgstr "Välj ett datum" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Välj inställningar för bekräftelser och hur vyer skall visas samt förvald vy." + +#: config/prefs.php.dist:52 +msgid "" +"Select if you want to get notified about new, edited, or deleted events." +msgstr "" +"Välj om du vill bli notifierad om nya, ändrade eller raderade händelser." + +#: config/prefs.php.dist:275 +msgid "" +"Select if you want to get notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Välj om du vill bli notifierad om nya, ändrade eller raderade händelser via " +"e-post:" + +#: templates/data/import.inc:27 +msgid "Select the calendar to import to:" +msgstr "Välj kalender att importera till:" + +#: templates/data/export.inc:16 +msgid "Select the export format:" +msgstr "Välj exportformat:" + +#: templates/data/import.inc:36 +msgid "Select the file to import:" +msgstr "Välj fil som skall importeras:" + +#: config/prefs.php.dist:113 +msgid "Select the first weekday:" +msgstr "Välj första veckodagen:" + +#: templates/data/import.inc:19 +msgid "Select the format of the source file:" +msgstr "Välj format på importfilen:" + +#: config/prefs.php.dist:180 +msgid "Select the time span to show:" +msgstr "Välj tidsintervall som skall visas:" + +#: config/prefs.php.dist:86 +msgid "Select the view to display on startup:" +msgstr "Välj vy som visas vid start:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Välj vilka händelser som skall visas i portalen." + +#: templates/delete/delete.inc:28 templates/delete/one.inc:28 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"Skicka en annuleringsnotifiering till alla deltagare när händelsen raderas" + +#: templates/view/view.inc:186 templates/attendees/attendees.inc:60 +#, php-format +msgid "Send an email to %s" +msgstr "Skicka meddelande till %s" + +#: templates/edit/edit.inc:166 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" +"Skicka uppdatering/inbjudningar till alla deltagare när händelsen sparas" + +#: templates/javascript/goto.inc:76 +msgid "September" +msgstr "september" + +#: templates/edit/edit_timespan.inc:85 +msgid "Set end date" +msgstr "Ange slutdatum" + +#: templates/edit/edit.inc:253 +msgid "Set recurrence end date" +msgstr "Ange slutdatum för upprepning" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "Ange startdatum" + +#: config/prefs.php.dist:59 +msgid "Set your own and other user's free/busy options." +msgstr "Ange dina och andras inställningar för ledig/upptagen." + +#: calendars.php:77 +#, php-format +msgid "Share not found: %s" +msgstr "Utdelning saknas: %s" + +#: templates/menu.inc:48 templates/menu.inc:50 +msgid "Shared Calendars:" +msgstr "Delade kalendrar:" + +#: config/prefs.php.dist:152 +msgid "Show category legend?" +msgstr "Visa örklaring för kategorier?" + +#: config/prefs.php.dist:142 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Visa ikoner för radera, alarm och återkommande i kalendervyer?" + +#: config/prefs.php.dist:208 +msgid "Show due tasks in the calendar?" +msgstr "Visa förfallna uppgifter i kalendern?" + +#: config/prefs.php.dist:162 +msgid "Show free/busy legend?" +msgstr "Visa förklaring för information om ledig/upptagen?" + +#: config/prefs.php.dist:95 +msgid "Show half hour slots in day and week views?" +msgstr "Visa halvtimmes rader i dags- och veckovyer?" + +#: config/prefs.php.dist:199 +msgid "Show only events that have an alarm set?" +msgstr "Visa enbart händelser med alarm?" + +#: config/prefs.php.dist:171 +msgid "Show shared calendars side-by-side" +msgstr "Visa delade kalendrar sida vid sida" + +#: config/prefs.php.dist:217 +msgid "Show tasks using category colors?" +msgstr "Visa uppgifter med kategorifärger?" + +#: config/prefs.php.dist:104 +msgid "Show time of day between each day in week views?" +msgstr "Visa klockslag mellan varje dag i veckovy?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt On" +msgstr "Sta_rta den" + +#: data.php:45 +msgid "Start Date" +msgstr "Startdatum" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:49 +#: templates/data/export.inc:29 +msgid "Start On" +msgstr "Starta den" + +#: data.php:46 +msgid "Start Time" +msgstr "Starttid" + +#: templates/edit/edit.inc:84 templates/search/search_advanced.inc:94 +msgid "Stat_us" +msgstr "Stat_us" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:35 +msgid "Status" +msgstr "Status" + +#: year.php:76 year.php:85 lib/Block/month.php:111 lib/Block/month.php:113 +#: templates/javascript/goto.inc:65 templates/edit/edit.inc:209 +msgid "Su" +msgstr "Sö" + +#: templates/month/head.inc:14 templates/month/head.inc:23 +#: templates/edit/javascript.inc:67 templates/view/view.inc:132 +#: config/prefs.php.dist:114 +msgid "Sunday" +msgstr "Söndag" + +#: config/prefs.php.dist:29 +msgid "Tasks" +msgstr "Uppgifter" + +#: lib/Kronolith.php:508 lib/Kronolith.php:531 +msgid "Tentative" +msgstr "Preliminär" + +#: year.php:81 lib/Block/month.php:109 templates/javascript/goto.inc:62 +#: templates/edit/edit.inc:206 +msgid "Th" +msgstr "To" + +#: templates/contacts/contacts.inc:70 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Vyn för redigering av deltagare är inte tillgänglig längre. Avslutar." + +#: calendars.php:70 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Kalender '%s' kunde inte raderas." + +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Kalender '%s' skapades." + +#: calendars.php:88 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Kalender '%s' raderades." + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Namnet på kalender '%s' har ändrats till '%s'." + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Kalendern '%s' sparades." + +#: templates/edit/javascript.inc:151 +msgid "The end date must be later than the start date." +msgstr "Slutdatum måste vara senasre än startdatum" + +#: lib/Kronolith.php:1041 +#, php-format +msgid "The event \"%s\" has been added, which is on %s at %s." +msgstr "Händelse '%s' har skapats, den %s kl %s." + +#: lib/Kronolith.php:1049 +#, php-format +msgid "The event \"%s\" has been deleted, which was on %s at %s." +msgstr "Händelse '%s' har raderats, den %s kl %s." + +#: lib/Kronolith.php:1045 +#, php-format +msgid "The event \"%s\" has been edited, which is on %s at %s." +msgstr "Händelse '%s' har ändrats, den %s kl %s." + +#: lib/Kronolith.php:1016 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Händelsenotifiering till %s har skickats." + +#: lib/Kronolith.php:972 +msgid "The following is a more detailed description of the event:" +msgstr "Följande är med detaljerad beskriving av händelsen:" + +#: attend.php:40 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Begäran är inte komplett. Några parametrar som krävs för att acceptera eller " +"avböja saknas." + +#: templates/search/empty.inc:4 +msgid "There are no events matching the current criteria." +msgstr "Inga händelser matchar aktuellt urval." + +#: editeventaction.php:35 addeventaction.php:18 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Fel vid åtkomst av kalendern: %s" + +#: addeventaction.php:33 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Det uppstod fel vid tillägg av händelsen: %s" + +#: editeventaction.php:73 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Det uppstod fel vid redigering av händelsen: %s" + +#: lib/api.php:189 lib/api.php:435 +msgid "There was an error importing the iCalendar data." +msgstr "Fel vid import av iCalendar data." + +#: editeventaction.php:54 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Det uppstod fel vid flytt av händelse: %s." + +#: lib/Kronolith.php:1021 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Det uppstod fel vid sändning av notifiering till %s: %s" + +#: data.php:95 +msgid "There were no events to export." +msgstr "Inga händelser att exportera." + +#: data.php:173 +msgid "This file format is not supported." +msgstr "Filformatet stöds inte." + +#: data.php:213 +#, php-format +msgid "This is what the server said: %s" +msgstr "Servern svarade: %s" + +#: templates/month/head.inc:19 templates/edit/javascript.inc:71 +#: templates/view/view.inc:129 +msgid "Thursday" +msgstr "Torsdag" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "Tidssp_ann" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Tidsspann" + +#: templates/edit/edit.inc:39 templates/search/search_advanced.inc:35 +msgid "Tit_le" +msgstr "Tite_l" + +#: data.php:44 templates/search/event_headers.inc:3 +#: templates/search/search.inc:19 +msgid "Title" +msgstr "Titel" + +#: lib/Block/monthlist.php:127 lib/Block/prevmonthlist.php:131 +#: lib/Block/summary.php:117 +msgid "Today" +msgstr "Idag" + +#: lib/Block/monthlist.php:129 lib/Block/prevmonthlist.php:133 +#: lib/Block/summary.php:119 +msgid "Tomorrow" +msgstr "Imorgon" + +#: year.php:79 lib/Block/month.php:109 templates/javascript/goto.inc:60 +#: templates/edit/edit.inc:204 +msgid "Tu" +msgstr "Ti" + +#: templates/month/head.inc:17 templates/edit/javascript.inc:69 +#: templates/view/view.inc:127 +msgid "Tuesday" +msgstr "Tisdag" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Typ" + +#: lib/Storage/sql.php:54 +msgid "Unable to connect to SQL server." +msgstr "Kan inte kontakta SQL-server." + +#: calendars.php:84 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Kan inte radera '%s': %s" + +#: lib/Driver/mcal.php:145 +#, php-format +msgid "Unable to delete %s." +msgstr "Kan inte radera '%s'." + +#: lib/Driver.php:174 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Kan inte ladda definitionen av %s." + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Kan inte byta namn på '%s': %s" + +#: lib/Storage/kolab.php:35 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Kan inte hämta information om ledig/upptagen för %s" + +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +#: templates/view/view.inc:23 +msgid "Unfiled" +msgstr "Ej kategoriserad" + +#: lib/FBView/day.php:48 lib/FBView/day.php:58 +msgid "Unknown" +msgstr "Okänd" + +#: lib/api.php:215 lib/api.php:289 lib/api.php:355 lib/api.php:460 +msgid "Unsupported Content-Type." +msgstr "Content-Type stöds inte." + +#: lib/Kronolith.php:962 +#, php-format +msgid "Updated: %s." +msgstr "Uppdaterad: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Användargränssnitt" + +#: year.php:160 year.php:166 lib/Block/month.php:163 lib/Block/month.php:166 +msgid "View Day" +msgstr "Visa dag" + +#: year.php:80 lib/Block/month.php:109 templates/javascript/goto.inc:61 +#: templates/edit/edit.inc:205 +msgid "We" +msgstr "On" + +#: templates/month/head.inc:18 templates/edit/javascript.inc:70 +#: templates/view/view.inc:128 +msgid "Wednesday" +msgstr "Onsdag" + +#: attendees.php:108 lib/Kronolith.php:1191 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:83 +msgid "Week" +msgstr "Vecka" + +#: month.php:166 week.php:34 workweek.php:30 +#, php-format +msgid "Week %d" +msgstr "Vecka %d" + +#: templates/edit/edit.inc:128 templates/view/view.inc:67 +msgid "Week(s)" +msgstr "Veck/a/or" + +#: templates/edit/edit.inc:200 templates/view/view.inc:134 +msgid "Weekly: Recurs every" +msgstr "Veckovis: Upprepa var" + +#: config/prefs.php.dist:133 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"På vilken tid skall dag- och veckovyer sluta när det inte finns några senare " +"händelser?" + +#: config/prefs.php.dist:124 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"På vilken tid skall dag- och veckovyer starta när det inte finns några " +"tidigare händelser?" + +#: attendees.php:107 lib/Kronolith.php:1190 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:84 +msgid "Work Week" +msgstr "Arbetsvecka" + +#: lib/Kronolith.php:1193 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "År" + +#: templates/edit/edit.inc:226 templates/view/view.inc:140 +msgid "Yearly: Recurs every" +msgstr "Årlig: Upprepa varje" + +#: attend.php:48 +msgid "You are not an attendee of the specified event." +msgstr "Du är inte en deltagare till händelsen." + +#: templates/contacts/contacts.inc:76 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Du kan endast använda det här formuläret från vyn ändra deltagare." + +#: lib/Kronolith.php:926 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Du har ingen e-postadress konfigurerad i dina inställningar. Du måste ange " +"en %shär%s innan notifieringar kan skickas." + +#: addeventaction.php:20 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Du har inte behörighet att lägga till händelser till %s." + +#: data.php:183 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Du har inte behörighet att lägga till händelser till aktuell kalender." + +#: deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "Du har inte behörighet att radera aktuell händelse." + +#: editeventaction.php:68 +msgid "You do not have permission to edit this event." +msgstr "Du har inte behörighet att redigera aktuell händelse." + +#: data.php:178 +msgid "You have specified an invalid calendar." +msgstr "Du har angivit en felaktig kalender." + +#: attend.php:22 +msgid "You have successfully accepted attendence to this event." +msgstr "Du har accepterat deltagande till händelsen." + +#: attend.php:26 +msgid "You have successfully declined attendence to this event." +msgstr "Du har avböjt deltagande till händelsen." + +#: attend.php:30 +msgid "You have tentatively accepted attendence to this event." +msgstr "Du har preliminärt accepterat deltagande till händelsen." + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "Du måste ange en kalender som skall raderas." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Du måste ange en adress först." + +#: lib/Kronolith.php:1041 +msgid "You requested to be notified when events are added to your calendars." +msgstr "Du begärde notifiering när händelser lades till i din kalender." + +#: lib/Kronolith.php:1049 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "Du begärde notifiering när händelser raderades från din kalender." + +#: lib/Kronolith.php:1045 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "Du begärde notifiering när händelser ändrades i din kalender." + +#: lib/Scheduler/kronolith.php:168 +#, php-format +msgid "You requested to be reminded about %s, which is at %s." +msgstr "Du begärde att bli påmind om %s, som är kl %s." + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Din förvalda kalender" + +#: lib/Driver.php:942 lib/Driver.php:952 +msgid "[Unnamed event]" +msgstr "[Namnlös händelse]" + +#: templates/edit/edit_timespan.inc:38 +msgid "_At" +msgstr "_Kl" + +#: templates/search/search_advanced.inc:10 +msgid "_Basic Search" +msgstr "_Sökning" + +#: viewevent.php:119 +msgid "_Edit" +msgstr "_Ändra" + +#: lib/Kronolith.php:1227 +msgid "_Goto" +msgstr "_Gå till" + +#: lib/Kronolith.php:1237 +msgid "_Import/Export" +msgstr "_Importera/Exportera" + +#: lib/Kronolith.php:1232 +msgid "_My Calendars" +msgstr "_Mina kalendrar" + +#: lib/Kronolith.php:1223 +msgid "_New Event" +msgstr "_Ny händelse" + +#: lib/Kronolith.php:1242 +msgid "_Print" +msgstr "_Skriv ut" + +#: lib/Kronolith.php:1229 +msgid "_Search" +msgstr "_Sök" + +#: templates/menu.inc:79 +msgid "_Show" +msgstr "_Visa" + +#: lib/Kronolith.php:1220 +msgid "_Today" +msgstr "_Idag" + +#: templates/edit/edit.inc:130 +msgid "before the event starts" +msgstr "innan händelsen börjar" + +#: config/prefs.php.dist:181 +msgid "day" +msgstr "dag" + +#: templates/edit/edit.inc:195 templates/view/view.inc:122 +msgid "day(s)" +msgstr "dag(ar)" + +#: config/prefs.php.dist:182 config/prefs.php.dist:183 +#: config/prefs.php.dist:184 config/prefs.php.dist:185 +#: config/prefs.php.dist:186 +msgid "days" +msgstr "dagar" + +#: data.php:137 templates/data/export.inc:1 +msgid "events.csv" +msgstr "händelser.csv" + +#: data.php:158 +msgid "events.ics" +msgstr "händelser.ics" + +#: templates/contacts/contacts.inc:131 +msgid "from" +msgstr "från" + +#: templates/edit/edit.inc:215 templates/edit/edit.inc:221 +#: templates/view/view.inc:136 templates/view/view.inc:138 +msgid "month(s)" +msgstr "månad(er)" + +#: lib/Kronolith.php:968 +#, php-format +msgid "on %s at %s" +msgstr "den %s kl %s" + +#: templates/edit/edit.inc:215 templates/view/view.inc:136 +msgid "on the same date" +msgstr "på samma dag" + +#: templates/edit/edit.inc:221 templates/view/view.inc:138 +msgid "on the same weekday" +msgstr "på samma veckodag" + +#: data.php:30 templates/data/import.inc:23 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: lib/api.php:200 lib/api.php:446 +msgid "vEvent not found." +msgstr "vEvent saknas." + +#: config/prefs.php.dist:187 +msgid "week" +msgstr "vecka" + +#: templates/edit/edit.inc:202 templates/view/view.inc:134 +msgid "week(s) on:" +msgstr "vecka på:" + +#: config/prefs.php.dist:188 config/prefs.php.dist:189 +#: config/prefs.php.dist:190 +msgid "weeks" +msgstr "veckor" + +#: templates/edit/edit.inc:227 templates/view/view.inc:140 +msgid "year(s)" +msgstr "år" diff --git a/kronolith/po/tr_TR.po b/kronolith/po/tr_TR.po new file mode 100644 index 000000000..8d52db806 --- /dev/null +++ b/kronolith/po/tr_TR.po @@ -0,0 +1,2641 @@ +# Turkish translations for Kronolith package +# PACKAGE paketi için Türkçe çeviriler. +# Copyright 2008-2009 The Horde Project +# This file is distributed under the same license as the Kronolith package. +# Automatically generated, 2008. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 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-04-15 12:57+0300\n" +"Last-Translator: Automatically generated\n" +"Language-Team: i18n@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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr "%s tarihine kadar" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr "sonu yok" + +#: templates/calendars/search.inc:16 +#, php-format +msgid "%d calendars found" +msgstr "%d takvim bulundu" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d etkinlik" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d kez" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Gün %s Saat %s Dakika" + +#: lib/Driver.php:2218 +#, php-format +msgid "%s attendees" +msgstr "%s katýlýmcý" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "%s dosyasý baþarýyla içeri aktarýldý" + +#: calendars.php:123 lib/api.php:221 lib/Kronolith.php:367 +#: lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "%s Takvim" + +#: templates/calendars/search.inc:17 +msgid "" +"(Click on calendar name to switch the calendar's visibility in the main " +"window)" +msgstr "" +"(Takvimin görünürlüðünü deðiþtirmek için ana pencerede takvim adýna " +"týklayýnýz)" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Ekleye basarak ekleyin *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Lütfen adres seçin *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d kez" + +#: lib/Driver.php:2217 +msgid "1 attendee" +msgstr "1 katýlýmcý" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 etkinlik" + +#: config/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 saat" + +#: config/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 dakika" + +#: config/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 dakika" + +#: config/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 dakika" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "AM" + +#: lib/Kronolith.php:1172 +msgid "Accepted" +msgstr "Onaylandý" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Geliþm_iþ Arama" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Ekle" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Ekle" + +#: templates/prefs/remote_cal_management.inc:35 +msgid "Add a new Remote Calendar" +msgstr "Uzak Takvim Ekle" + +#: addevent.php:64 new.php:65 +msgid "Add a new event" +msgstr "Yeni etkinlik ekle:" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Katýlýmcý ekle" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Kaynak Ekle" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "Katýlýmcýlara ekle" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Adres Defteri" + +#: config/prefs.php.dist:69 +msgid "Address Books" +msgstr "Adres Defterleri" + +#: templates/search/search.inc:11 templates/search/search_advanced.inc:8 +msgid "Advanced Search" +msgstr "Geliþmiþ Arama" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Alarm" + +#: lib/Driver.php:2184 +#, php-format +msgid "Alarm %d days before" +msgstr "%d gün önce alarm" + +#: lib/Driver.php:2189 +#, php-format +msgid "Alarm %d hours before" +msgstr "%d saat önce alarm" + +#: lib/Driver.php:2194 +#, php-format +msgid "Alarm %d minutes before" +msgstr "%d dakika önce alarm" + +#: lib/Driver.php:2179 +#, php-format +msgid "Alarm %d weeks before" +msgstr "%d hafta önce alarm" + +#: lib/Driver.php:2183 +msgid "Alarm 1 day before" +msgstr "Bir gün önce alarm" + +#: lib/Driver.php:2188 +msgid "Alarm 1 hour before" +msgstr "Bir saat önce alarm" + +#: lib/Driver.php:2193 +msgid "Alarm 1 minute before" +msgstr "Bir dakika önce alarm" + +#: lib/Driver.php:2178 +msgid "Alarm 1 week before" +msgstr "Bir hafta önce alarm" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Alarm Günü" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Alarm Aralýðý (dakika)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "Alarm Zamaný" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "Alarm Birimi" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "Alarm Deðeri" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "Alarm etkin" + +#: templates/edit/edit.inc:39 templates/delete/delete.inc:27 +msgid "All" +msgstr "Tümü" + +#: lib/FBView.php:127 lib/FBView.php:130 lib/FBView.php:133 +msgid "All Attendees" +msgstr "Tüm Katýlýmcýlar" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "Tüm Doðrulanmýþ Kullanýcýlar" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Tüm Takvimler" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Tüm Gelecek" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Tüm Geçmiþ" + +#: lib/Block/month.php:24 lib/Block/summary.php:28 lib/Block/monthlist.php:30 +#: lib/Block/prevmonthlist.php:27 +msgid "All Visible" +msgstr "Tüm Görünenler" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2287 lib/DayView.php:90 +#: lib/DayView.php:93 lib/WeekView.php:127 lib/WeekView.php:134 +#: lib/Views/Week.php:148 lib/Views/Week.php:155 lib/Views/Day.php:97 +#: lib/Views/Day.php:100 +msgid "All day" +msgstr "Tüm gün" + +#: lib/Block/summary.php:177 +msgid "All day event" +msgstr "Tüm etkinlik günü" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Tüm etkinlikler" + +#: lib/api.php:664 lib/api.php:675 +msgid "Already Exists" +msgstr "Zaten Var" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:1265 +msgid "Any" +msgstr "Herhangi" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Nisan" + +#: templates/data/export.inc:85 templates/data/export.inc:176 +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +msgid "At" +msgstr "Tam zaman olarak" + +#: lib/Kronolith.php:1432 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Ekte etkinlik hakkýnda daha fazla bilginin yer aldýðý iCalendar dosyasý " +"bulunmaktadýr.Eðer eposta istemciniz iTip isteklerini destekliyorsa bu dosya " +"ile kolayca etkinliðin yerel kopyanýsýný düzenleyebilirsiniz." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Varolmayan bir paylaþýmý silmeye çalýþýyorsunuz." + +#: templates/attendees/attendees.inc:48 templates/attendees/attendees.inc:60 +#: templates/view/view.inc:172 +msgid "Attendance" +msgstr "Katýlým" + +#: templates/attendees/attendees.inc:47 templates/view/view.inc:171 +msgid "Attendee" +msgstr "Katýlýmcýlar" + +#: templates/edit/edit.inc:193 templates/view/view.inc:168 +msgid "Attendees" +msgstr "Katýlýmcýlar" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Aðustos" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Mevcut Adres Defteri:" + +#: templates/search/search.inc:8 templates/search/search_advanced.inc:11 +msgid "Basic Search" +msgstr "Basit Arama" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Doðum günü" + +#: lib/FBView.php:89 lib/FBView.php:110 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "Meþgul" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "T_akvim" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "Tak_vim" + +#: templates/calendar_list.php:22 templates/calendars/calendars.inc:150 +#: lib/Block/month.php:21 lib/Block/summary.php:22 lib/Block/monthlist.php:21 +#: lib/Block/prevmonthlist.php:21 +msgid "Calendar" +msgstr "Takvim" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "Takvim Bilgisi" + +#: templates/calendar_list.php:19 +msgid "Calendar List" +msgstr "Takvim Listesi" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Takvim Özeti" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "Takvim baþarýyla boþaltýldý." + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:60 +msgid "Calendars" +msgstr "Takvimler" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Yazdýrýlan Takvimler: " + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Takvimlerin baþlýðý olmalý." + +#: data.php:270 +msgid "Can't create a new event." +msgstr "Yeni etkinlik yaratýlamýyor." + +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: templates/delete/one.inc:25 templates/delete/delete.inc:28 +#: lib/Forms/DeleteCalendar.php:45 lib/Forms/DeleteCalendar.php:51 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 +msgid "Cancel" +msgstr "Ýptal" + +#: lib/Kronolith.php:1148 +msgid "Cancelled" +msgstr "Ýptal edildi" + +#: lib/Kronolith.php:1406 +#, php-format +msgid "Cancelled: %s" +msgstr "%s iptal edildi." + +#: lib/Driver/kolab.php:1332 +#, php-format +msgid "Cannot delete event: %s" +msgstr "%s etkinliði silinemedi" + +#: templates/edit/edit.inc:94 templates/search/search_advanced.inc:63 +msgid "Categor_y" +msgstr "Katego_ri" + +#: data.php:64 templates/view/view.inc:6 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "Kategori" + +#: calendars/index.php:65 templates/calendar_list.php:54 +msgid "Change Permissions" +msgstr "Ýzinleri Deðiþtir" + +#: config/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Etkinlik deðiþimleri, etkinlik alarmlarý ve yaklaþan etkinliklere iliþkin ne " +"þekilde bildirim almak istediðinizi seçiniz." + +#: config/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "Alarm kurulmuþ etkinlikler için hatýrlatma yöntemini seçin:" + +#: config/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Eposta aracýlýðý ile yeni, düzenlenmiþ veya silinmiþ takvimlerden haberdar " +"edilmek için seçiniz." + +#: config/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "Günlük olarak eposta ile ajanda hatýrlatmasý için seçiniz:" + +#: config/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "Alarmlý etkinlikler için hatýrlatma iletilmesi için seçiniz:" + +#: templates/prefs/search_abook_select.inc:19 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "Serbest/meþgul URL lerinin aranacaðý adres defterlerini seçin." + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "Yukarýdaki serbest/meþgul URL sine eklenecek takvimleri seçiniz:" + +#: config/prefs.php.dist:440 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "Serbest/meþgul URL yaratýrken eklenecek takvimleri seçiniz:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "Adresleri açarken aranacak adres defterini seçin." + +#: config/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "Etkinlik yerlerini göstermek için görünüm seçin:" + +#: config/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "Etkinlik baþlama ve bitiþ saatlerini göstermek için görünüm seçin:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "Gösterilecek tatilleri seçin" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "Öntanýmlý takviminizi seçiniz." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Bütün katýlýmcýlarý sil" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Seçilmiþ adres defterlerinizden birine týklayýn ve bütün alanlarý aramak " +"için seçin." + +#: templates/calendar_list.php:40 templates/calendar_list.php:41 +#: templates/calendar_list.php:50 templates/calendar_list.php:51 +msgid "Click or copy this URL to display this calendar" +msgstr "Bu takvimi görüntülemek için týklayýnýz ya da bu URL'yi kopyalayýn" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Kapat" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Pencereyi Kapat" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Pencereyi Kapat" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Virgül ile ayrýlmýþ deðerler" + +#: config/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "Silinecek etkinliði doðruluyor musunuz?" + +#: lib/Kronolith.php:1145 +msgid "Confirmed" +msgstr "Onaylandý" + +#: templates/calendars/calendars.inc:220 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "Heryerden ulaþabildiðiniz bu Serbest/Meþgul URLnizi yapýþtýrýnýz:" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "Her yerden ulaþabileceðiniz bu Serbest/Meþgul URL nizi kopyalayýn:" + +#: lib/Kronolith.php:459 +#, php-format +msgid "Could not open %s." +msgstr "%s açýlamadý." + +#: templates/calendars/calendars.inc:129 lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "Yarat" + +#: templates/calendars/calendars.inc:115 lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "Takvim yarat" + +#: templates/week/head.inc:29 lib/DayView.php:90 lib/DayView.php:192 +#: lib/Views/Day.php:97 lib/Views/Day.php:256 lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "Yeni Bir Etkinlik Yarat" + +#: templates/calendar_list.php:10 +msgid "Create a new Local Calendar" +msgstr "Yeni bir Yerel Takvim yarat" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Yaratýldý" + +#: templates/edit/edit.inc:37 templates/delete/delete.inc:25 +msgid "Current" +msgstr "Þu Anki Zaman" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Günlük" + +#: templates/edit/edit.inc:226 templates/view/view.inc:96 +msgid "Daily: Recurs every" +msgstr "Günlük: Tekrarlama sýklýðý" + +#: attendees.php:170 lib/Kronolith.php:1738 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:90 +msgid "Day" +msgstr "Gün" + +#: templates/prefs/default_alarm_management.inc:28 templates/edit/edit.inc:170 +#: templates/view/view.inc:56 +msgid "Day(s)" +msgstr "Gün" + +#: viewevent.php:113 lib/Kronolith.php:1780 +msgid "De_lete" +msgstr "Si_l" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Aralýk" + +#: lib/Kronolith.php:1175 +msgid "Declined" +msgstr "Reddedildi" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "Varsayýlan Alarm Ayarlarý:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "Ön Tanýmlý Takvim" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "Yetkili" + +#: calendars/index.php:66 templates/calendar_list.php:56 +#: templates/prefs/remote_cal_management.inc:23 +#: templates/calendars/calendars.inc:205 templates/delete/one.inc:24 +#: templates/perms/perms.inc:33 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:89 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:130 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:171 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:212 templates/perms/perms.inc:233 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:294 +#: templates/perms/perms.inc:315 templates/perms/perms.inc:349 +#: lib/Driver.php:1303 lib/Driver.php:2246 lib/Forms/DeleteCalendar.php:45 +msgid "Delete" +msgstr "Sil" + +#: delevent.php:40 lib/Driver.php:2245 lib/Views/DeleteEvent.php:29 +#: lib/Forms/DeleteCalendar.php:40 +#, php-format +msgid "Delete %s" +msgstr "%s Sil" + +#: editevent.php:72 +msgid "Delete Event" +msgstr "Etkinliði Sil" + +#: lib/Driver.php:1302 +#, php-format +msgid "Delete exception on %s" +msgstr "%s için istisnalarý sil" + +#: templates/edit/edit.inc:180 templates/search/search_advanced.inc:103 +msgid "Descri_ption" +msgstr "Açýk_lama" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "_Taným:" + +#: data.php:63 templates/calendars/calendars.inc:179 +#: templates/view/view.inc:155 lib/Forms/CreateCalendar.php:37 +#: lib/Forms/EditCalendar.php:44 +msgid "Description" +msgstr "Taným" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Göster" + +#: templates/calendars/calendars.inc:61 +msgid "Display Calendars" +msgstr "Takvimleri Görüntüle" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Görüntüleme Seçenekleri" + +#: templates/calendar_list.php:24 +msgid "Display URL" +msgstr "URL'i Göster" + +#: lib/Kronolith.php:1113 +msgid "Does not recur" +msgstr "Özyinelemiyor" + +#: config/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "" +"Etkinlik eklediðimde, deðiþtirdiðimde ya da sildiðimde bildirim " +"gönderilmesin mi?" + +#: lib/Kronolith.php:677 +#, php-format +msgid "Due: %s" +msgstr "Gereken: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "Süre" + +#: lib/Driver.php:1976 +msgid "Duration Day" +msgstr "Süre (gün)" + +#: lib/Driver.php:1988 +msgid "Duration Hour" +msgstr "Süre (saat)" + +#: lib/Driver.php:1999 +msgid "Duration Minute" +msgstr "Süre" + +#: calendars/index.php:64 templates/calendar_list.php:42 +#: templates/calendar_list.php:52 templates/calendars/calendars.inc:174 +#: templates/perms/perms.inc:32 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:88 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:129 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:170 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:211 templates/perms/perms.inc:229 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:293 +#: templates/perms/perms.inc:311 templates/perms/perms.inc:345 +#: lib/Driver.php:2239 +msgid "Edit" +msgstr "Düzenle" + +#: editevent.php:33 templates/attendees/attendees.inc:57 lib/Driver.php:2238 +#: lib/Views/EditEvent.php:29 lib/Forms/EditCalendar.php:40 +#: lib/Forms/EditRemoteCalendar.php:34 +#, php-format +msgid "Edit %s" +msgstr "Düzenle %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "Katýlýmcýlarý Düzenle" + +#: templates/calendars/calendars.inc:144 +msgid "Edit Calendars" +msgstr "Takvimleri Düzenle" + +#: perms.php:262 +msgid "Edit Permissions" +msgstr "Ýzinleri Düzenle" + +#: perms.php:264 +#, php-format +msgid "Edit Permissions for %s" +msgstr "'%s' için izinleri düzenle" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Katýlýmcýlarý düzenle" + +#: attendees.php:234 +msgid "Edit attendees" +msgstr "Katýlýmcýlarý Düzenle" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Sýnýf ve renkleri düzenle" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "%s için izinleri düzenle" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Eposta Adresi" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "S_on" + +#: data.php:58 +msgid "End Date" +msgstr "Bitiþ Tarihi" + +#: templates/data/export.inc:161 lib/Driver.php:1947 +msgid "End Day" +msgstr "Bitiþ Tarihi" + +#: templates/data/export.inc:178 lib/Driver.php:1960 +msgid "End Hour" +msgstr "Bitiþ Saati" + +#: templates/data/export.inc:190 lib/Driver.php:1971 +msgid "End Minute" +msgstr "Bitiþ Dakikasý" + +#: templates/data/export.inc:148 lib/Driver.php:1938 +msgid "End Month" +msgstr "Bitiþ Ayý" + +#: templates/data/export.inc:125 templates/view/view.inc:41 +#: templates/search/event_headers.inc:8 +msgid "End On" +msgstr "Bitiþ" + +#: data.php:59 +msgid "End Time" +msgstr "Bitiþ Tarihi" + +#: templates/data/export.inc:134 lib/Driver.php:1927 +msgid "End Year" +msgstr "Bitiþ yýlý" + +#: attendees.php:216 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "%s için serbest/meþgul bilgilerinin aktarýmý sýrasýnda hata oluþtu: %s" + +#: attendees.php:196 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Serbest/meþgul bilgirinin aktarýmýnda hata oluþtur: %s" + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "Etkinlik Varsayýlan Ayarlarý" + +#: lib/Kronolith.php:1585 +msgid "Event added:" +msgstr "Eklenen etkinlik:" + +#: lib/Kronolith.php:1595 +msgid "Event deleted:" +msgstr "Silinen etkinlik:" + +#: lib/Kronolith.php:1590 +msgid "Event edited:" +msgstr "Düzenlenen etkinlik:" + +#: lib/Driver.php:1426 +#, php-format +msgid "Event from %s to %s" +msgstr "%sden itibaren %se kadar etkinlik" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "Etkinlik bulunamadý" + +#: lib/Driver/kolab.php:431 lib/Driver/kolab.php:1158 +#: lib/Driver/kolab.php:1185 lib/Driver/kolab.php:1314 +#, php-format +msgid "Event not found: %s" +msgstr "Etkinlik bulunamadý: %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:50 +msgid "Events" +msgstr "Etkinlikler" + +#: lib/Driver.php:1034 +msgid "Events must have a start date." +msgstr "Etkinliðin baþlangýç tarihi olmalý." + +#: lib/Driver.php:996 +msgid "Events must have a title." +msgstr "Etkinliðin baþlýðý olmalý." + +#: templates/edit/edit.inc:323 templates/view/view.inc:130 +msgid "Exceptions" +msgstr "Ýstisnalar" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "Dýþarý Aktar" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Takvimi Dýþarý Aktar" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "Dýþ Etkinlikler:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Þubat" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Aranacak alanlar" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Bul" + +#: templates/edit/edit.inc:239 templates/javascript/goto.js:63 +#: lib/Block/month.php:107 lib/Views/Year.php:81 +msgid "Fr" +msgstr "Cu" + +#: lib/Kronolith.php:1151 +msgid "Free" +msgstr "Serbest" + +#: config/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "Serbest/Meþgul Bilgisi" + +#: templates/month/head.inc:21 templates/edit/javascript.inc:71 +#: templates/view/view.inc:103 +msgid "Friday" +msgstr "Cuma" + +#: templates/edit/edit.inc:38 templates/delete/delete.inc:26 +msgid "Future" +msgstr "Gelecek" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Oyun" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "General" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "%s Git" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "Gruplar" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "Konuk Ýzinleri" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Sakla" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "Tatiller" + +#: templates/prefs/default_alarm_management.inc:27 templates/edit/edit.inc:169 +#: templates/view/view.inc:59 +msgid "Hour(s)" +msgstr "Saat" + +#: config/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "Gün ve Hafta görüntülerinde zaman aralýklarý ne kadar uzun olsun?" + +#: config/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "Kaç günlük Serbest/Meþgul bilgisi yaratýlmalý?" + +#: lib/Kronolith.php:1436 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"Eðer eposta istemciniz iTip isteklerine cevap veremiyorsa baðlantýlardan " +"birini etkinliði kabul veya red için kullanabilirsiniz.\n" +"\n" +"Etkinliði kabul etmek için:\n" +"%s\n" +"\n" +"Etkinliði geçici olarak kabul etmek için:\n" +"%s\n" +"\n" +"Etkinliði reddetmek için:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "Ýçeri Aktar, Adým %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "Ýçeri/Dýþarý Takvim Aktar" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "Bireysel Kullanýcýlar" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Ocak" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Temmuz" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "Haziran" + +#: data.php:66 templates/edit/edit.inc:336 templates/view/view.inc:138 +msgid "Keywords" +msgstr "Anahtar Kelimeler" + +#: templates/calendar_list.php:23 +msgid "Kind" +msgstr "Tür" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Son 24 saat" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Son Deðiþim" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "Son Ay" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Son Yýl" + +#: templates/week/head.inc:6 templates/search/search.inc:54 +msgid "Last week" +msgstr "Son hafta" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Dýþarý aktarýlacak zaman aralýðýný sýnýrlandýrýnýz:" + +#: config/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Iletiþim noktalarý ekranýný yüklerken tüm iletiþim noktalarýda listelensin " +"mi? (Eðer seçilmez kýlýnmýþsa, sadece açýkça aradýðýnýz iletiþim " +"noktalarýný göreceksiniz. " + +#: templates/edit/edit.inc:101 templates/search/search_advanced.inc:85 +msgid "Lo_cation" +msgstr "Ye_r" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "Yükleniyor..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Yükleniyor..." + +#: templates/calendar_list.php:49 +msgid "Local" +msgstr "Yerel" + +#: templates/calendar_info.php:16 +#, php-format +msgid "Local calendar owned by %s." +msgstr "Yerel takvimin sahibi %s." + +#: data.php:65 templates/prefs/remote_cal_management.inc:18 +#: templates/prefs/remote_cal_management.inc:52 templates/view/view.inc:14 +#: templates/search/event_headers.inc:5 lib/Driver.php:2269 +msgid "Location" +msgstr "Yer" + +#: calendars/index.php:70 templates/calendar_list.php:4 +msgid "Manage Calendars" +msgstr "Takvimleri Yönet" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Mart" + +#: lib/api.php:133 +msgid "Maximum Number of Events" +msgstr "Azami Etkinlik Sayýsý" + +#: lib/Block/summary.php:25 lib/Block/monthlist.php:27 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Gösterilecek azami etkinlik sayýsý (0 = sýnýrsýz)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Mayýs" + +#: lib/Driver.php:2265 +msgid "Me" +msgstr "Ben" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Toplantý" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "Menü Alarmlarý" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Menü Listesi" + +#: templates/prefs/default_alarm_management.inc:26 templates/edit/edit.inc:168 +#: templates/view/view.inc:62 +msgid "Minute(s)" +msgstr "Dakika" + +#: templates/edit/edit.inc:235 templates/javascript/goto.js:59 +#: lib/Block/month.php:107 lib/Views/Year.php:77 +msgid "Mo" +msgstr "Pzt" + +#: templates/month/head.inc:17 templates/edit/javascript.inc:67 +#: templates/view/view.inc:99 config/prefs.php.dist:114 +msgid "Monday" +msgstr "Pazartesi" + +#: attendees.php:173 lib/Kronolith.php:1744 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:93 +msgid "Month" +msgstr "Ay" + +#: config/prefs.php.dist:173 +msgid "Month and Week Views" +msgstr "Ay ve Hafta Görünümleri" + +#: config/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "Ay, Hafta ve Gün Görünümleri" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Aylýk" + +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "Monthly: Recurs every" +msgstr "Aylýk: Tekrarlama sýklýðý" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "Gelecek Aylar" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "Önceki Aylar" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Aþagý taþý" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Yukarý taþý" + +#: lib/api.php:935 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Birçok iCalendar bileþeni bulundu; sadece bir vEvent destekleniyor." + +#: calendars.php:146 templates/calendars/calendars.inc:68 +msgid "My Calendars" +msgstr "Takvimlerim:" + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "Takvimlerim:" + +#: templates/prefs/fb_cals_select.inc:2 templates/calendars/calendars.inc:216 +msgid "My Free/Busy URL" +msgstr "Serbest/Meþgul URLlerim" + +#: templates/prefs/remote_cal_management.inc:17 +#: templates/prefs/remote_cal_management.inc:44 +#: templates/contacts/contacts.inc:188 templates/calendars/calendars.inc:120 +#: templates/calendars/calendars.inc:163 lib/Forms/CreateCalendar.php:36 +#: lib/Forms/EditCalendar.php:43 lib/Forms/EditRemoteCalendar.php:36 +#: lib/Forms/SubscribeRemoteCalendar.php:36 +msgid "Name" +msgstr "Ad" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Yeni Etkinlik" + +#: lib/Kronolith.php:401 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Yeni takvim yaratýldý ve otomatik olarak þu gruplarla paylaþtýrýldý: %s" + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Sonraki" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Gelecek 24 saat" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "Sonraki Gün" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "Sonraki Ay" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "Sonraki Hafta" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Sonraki Sene" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Sonraki gün" + +#: templates/week/head.inc:8 templates/search/search.inc:58 +msgid "Next week" +msgstr "Sonraki hafta" + +#: config/prefs.php.dist:336 config/prefs.php.dist:349 +#: config/prefs.php.dist:370 +msgid "No" +msgstr "Hayýr" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "Bilgi Yok" + +#: templates/edit/edit.inc:163 templates/view/view.inc:67 +msgid "No alarm" +msgstr "Alarm yok" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Katýlýmcý yok" + +#: lib/api.php:1084 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"Hiçbir katýlýmcý güncellenemedi çünkü saðlanan eposta adreslerininhiçbiri " +"etkinliðin katýlýmcý listesinde yer almýyordu." + +#: lib/Kronolith.php:1937 +msgid "No calendars are available to guests." +msgstr "Konuklar için takvim bulunamamýþtýr." + +#: templates/edit/edit.inc:284 templates/view/view.inc:124 +msgid "No end date" +msgstr "Son tarih yok" + +#: lib/Block/summary.php:208 lib/Block/monthlist.php:175 +#: lib/Block/prevmonthlist.php:166 +msgid "No events to display" +msgstr "Görüntülenecek etkinlik yok" + +#: lib/FreeBusy.php:223 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "%s'nin serbest/meþgul urlsinde hiç serbest/meþgul bilgisi bulunamadý." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "%s için serbest/meþgul bilgisi bulunamadý." + +#: lib/FreeBusy.php:224 +#, php-format +msgid "No free/busy url found for %s." +msgstr "%s için serbest/meþgul url bulunamadý." + +#: lib/api.php:391 lib/api.php:649 lib/api.php:688 lib/api.php:942 +msgid "No iCalendar data was found." +msgstr "Hiç iCalendar verisi bulunamadý." + +#: templates/edit/edit.inc:221 lib/Driver.php:1287 lib/Recurrence.php:191 +msgid "No recurrence" +msgstr "Tekrar yok" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "Geçerli eposta adresi bulunamadý." + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1182 +#: lib/Kronolith.php:1203 +msgid "None" +msgstr "Hiçbiri" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "Bulunamadý" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Bulunamadý" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "Bildirimler" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Kasým" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Þimdi" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "Nesne Yaratýcýsý" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Ekim" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "Tam" + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "Tüm takvimlerde okuma hakkýna sahibim" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "Gösterilen tüm takvimlerde" + +#: config/prefs.php.dist:337 config/prefs.php.dist:350 +#: config/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "Sadece benim takviminde" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Yalnýzca paylaþýmýn sahibi ya da sistem yöneticisi, paylaþým için sahiplik " +"haklarý ve izinlerini deðiþtirebilir" + +#: lib/Kronolith.php:1200 +msgid "Optional" +msgstr "Seçimli" + +#: lib/FBView.php:118 +msgid "Optional Attendees" +msgstr "Seçimli Katýlýmcýlar" + +#: config/prefs.php.dist:68 +msgid "Other Options" +msgstr "Diðer Seçenekler" + +#: lib/FBView.php:153 +msgid "Overview" +msgstr "Önizleme" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Sahip" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Sahip izinleri" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "Sahip:" + +#: lib/Driver.php:2264 +#, php-format +msgid "Owner: %s" +msgstr "Sahip: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "PM" + +#: lib/Forms/EditRemoteCalendar.php:39 +#: lib/Forms/SubscribeRemoteCalendar.php:39 +msgid "Password" +msgstr "Þifre" + +#: templates/edit/edit.inc:216 templates/view/view.inc:93 +msgid "Pattern" +msgstr "Tekrar Þekli" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Daimi olarak etkinlik silinsin mi?" + +#: lib/api.php:519 lib/api.php:563 lib/api.php:595 lib/api.php:628 +#: lib/api.php:727 lib/api.php:780 lib/api.php:878 lib/api.php:912 +#: lib/api.php:1003 lib/api.php:1059 lib/api.php:1119 lib/api.php:1149 +#: lib/Kronolith.php:1866 lib/Kronolith.php:1881 lib/Kronolith.php:1892 +#: lib/Driver/sql.php:782 +msgid "Permission Denied" +msgstr "Ýzin Yok" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "Ýzin yok" + +#: templates/calendars/calendars.inc:171 +msgid "Permissions" +msgstr "Ýzinler" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Lütfen geçersiz yada belirsiz adresleri çözün." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Genel Seçenekler" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "Olasý Toplantý Saati" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "Önceki Gün" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "Önceki Ay" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "Önceki Hafta" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Önceki gün" + +#: config/prefs.php.dist:174 config/prefs.php.dist:186 +msgid "Print Views" +msgstr "Baský Görünümleri" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Önceki Etkinlikler" + +#: lib/Driver.php:1422 +#, php-format +msgid "Private Event from %s to %s" +msgstr "%s ile %s arasýnda Özel Etkinlik" + +#: lib/Driver.php:2209 lib/Driver.php:2210 +msgid "Private event" +msgstr "Özel Etkinlik" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Kiþisel?" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "Okuma" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"\"%s\" adlý takvim gerçekten silinsin mi? Bu geri çevrilemez. Bu " +"takvimdekiveriler kalýcý olarak silinecek." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "Gerçekten \"%s\" (%s) takvim üyeliðinizi sonlandýrmak istiyor musunuz?" + +#: templates/edit/edit.inc:281 templates/view/view.inc:123 +msgid "Recur Until" +msgstr "Tekrarýn Sonlanacaðý Tarih" + +#: templates/edit/edit.inc:210 templates/view/view.inc:90 +msgid "Recurrence" +msgstr "Tekrar" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "Tekrar Eden Veri" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "Tekrar Son Tarihi" + +#: lib/Driver.php:2042 +msgid "Recurrence End Day" +msgstr "Tekrarýn Son Günü" + +#: lib/Driver.php:2027 +msgid "Recurrence End Month" +msgstr "Tekrarýn Son Ayý" + +#: lib/Driver.php:2010 +msgid "Recurrence End Year" +msgstr "Tekrarýn Son Yýlý" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "Tekrarlama Aralýðý" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "Tekrar Türü" + +#: lib/Kronolith.php:1116 +msgid "Recurs daily" +msgstr "Günlük tekrar" + +#: lib/Kronolith.php:1123 +msgid "Recurs monthly" +msgstr "Aylýk tekrar" + +#: lib/Kronolith.php:1119 +msgid "Recurs weekly" +msgstr "Haftalýk tekrar" + +#: lib/Kronolith.php:1128 +msgid "Recurs yearly" +msgstr "Yýllýk tekrar" + +#: lib/Scheduler/kronolith.php:261 +#, php-format +msgid "Reminder: %s" +msgstr "Hatýrlatma: %s" + +#: templates/calendar_list.php:39 +msgid "Remote" +msgstr "Uzak" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "Uzaktaki Takvimler:" + +#: templates/calendars/calendars.inc:92 +msgid "Remote Calendars" +msgstr "Uzaktaki Takvimler:" + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "Uzaktaki Takvimler:" + +#: templates/calendars/calendars.inc:195 +msgid "Remote Subscription URL" +msgstr "Uzak Üyelik URLsi" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Sil" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "%s Sil" + +#: attendees.php:164 +msgid "Remove Attendee" +msgstr "Katýlýmcýyý Sil" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Kaynaðý çýkar" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Geçerli takvim saklama sürücüsü, kullanýcý verisi silmeyi desteklemiyor." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Dýþarýdan aktarýlan takvimi varolan ile deðiþtirilsin mi? Uyarý: Bu iþlem " +"þu anki takviminizdeki tüm giriþleri siler." + +#: lib/Kronolith.php:1207 +msgid "Required" +msgstr "Gerekli Alan" + +#: lib/FBView.php:97 lib/FBView.php:138 lib/FBView.php:141 lib/FBView.php:144 +msgid "Required Attendees" +msgstr "Gereken Katýlýmcýlar" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "Öntanýmlý deðerlere geri dön" + +#: templates/attendees/attendees.inc:49 templates/view/view.inc:173 +msgid "Response" +msgstr "Yanýt" + +#: config/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" +"Daha önce ya da daha sonra etkinlikler olsa da, gün ve hafta görünümlerini " +"buzaman aralýðýna kýsýtlamak istediðinizden emin misiniz?" + +#: templates/edit/edit.inc:240 templates/javascript/goto.js:64 +#: lib/Block/month.php:107 lib/Views/Year.php:82 +msgid "Sa" +msgstr "Cts" + +#: templates/month/head.inc:22 templates/edit/javascript.inc:72 +#: templates/view/view.inc:104 +msgid "Saturday" +msgstr "Cumartesi" + +#: templates/panel.inc:83 templates/calendars/calendars.inc:204 +#: lib/Forms/EditCalendar.php:46 lib/Forms/EditRemoteCalendar.php:41 +msgid "Save" +msgstr "Kaydet" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "Sakla: %s" + +#: viewevent.php:135 editevent.php:49 editevent.php:57 +#: templates/edit/edit.inc:40 lib/Kronolith.php:1775 +#: lib/Views/EditEvent.php:78 lib/Views/EditEvent.php:88 +msgid "Save As New" +msgstr "Yeni Olarak Kaydet" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Katýlýmcýlarý Kaydet" + +#: addevent.php:55 editevent.php:52 new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "Etkinliði kaydet" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Kaydet ve Sonlandýr" + +#: search.php:91 templates/contacts/contacts.inc:155 +#: templates/calendars/search.inc:8 templates/search/search.inc:67 +#: templates/search/search_advanced.inc:114 lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Arama" + +#: templates/calendars/search.inc:1 +msgid "Search Calendars" +msgstr "Takvimleri Ara" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Arama Sonuçlarý" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "Takvim Ara" + +#: templates/calendars/search.inc:6 +msgid "Search for calendars containing:" +msgstr "Þu sözü içeren takvimleri ara:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Arama Sonuçlarý" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Serbest/meþgul aramasý þu anda kullanýlabilir deðil." + +#: templates/calendars/calendars.inc:154 +msgid "Select a calendar to edit" +msgstr "Düzenlenecek takvimi seçiniz" + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Bir tarih seçin" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Eklenecek grubu seçin:" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Eklenecek grubu seçin:" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Bir sahip seçin:" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "Eklenecek kullanýcýyý seçin" + +#: config/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Adres ekleme ve arama için adres defteri kaynaklarýný seçin." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Adresleri geniþletirken arama için bütün alanlarý seç." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" +"Onay seçeneklerini belirleyiniz (farklý olan gösterme þekllerini ve " +"öntanýmlý olaný seçiniz)." + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Ýçeri aktarýlacak bir takvim seçiniz:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Dýþarý aktarýlacak takvim(ler)i seçiniz:" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Dýþarý aktarma biçimini seçin:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Ýçeri aktarýlacak dosyayý seçin:" + +#: config/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "Haftanýn ilk gününü seçiniz:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Kaynak dosyanýn biçimini seçin:" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Gösterilecek saat aralýðýný seçiniz:" + +#: config/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "Baþlangýçta yer alacak görüntüyü seçiniz:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Portalda gösterilecek etkinlikleri seçiniz." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Seçilmiþ Adres Defterleri:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Seçilmiþ Adresler" + +#: templates/delete/one.inc:19 templates/delete/delete.inc:21 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "" +"Etkinliðin silinmesi ile bütün katýlýmcýlara iptal bilgilendirmesi yollansýn " +"mý?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "%s'e eposta yollansýn" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "Tüm katýlýmcýlara davetiye gönderilsin mi?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "Tüm katýlýmcýlara güncelleme bilgisi gönderilsin mi?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Eylül" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "Yeni görevler için öntanýmlý deðerleri ayarla." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Bitiþ tarihi belirtiniz" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "Özyilemeli son tarihi belirtiniz" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "Baþlama tarihi belirtiniz" + +#: config/prefs.php.dist:62 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "" +"Kendinizin ve diðerlerinin serbest/meþgul seçeneklerini ve kendinizin " +"serbest/meþgul takvimlerini ayarlayýnýz." + +#: calendars.php:91 +#, php-format +msgid "Share not found: %s" +msgstr "Paylaþým bulunamadý: %s" + +#: templates/calendars/calendars.inc:80 +msgid "Shared Calendars" +msgstr "Paylaþýlan Takvimler" + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "Paylaþýlan Takvimler:" + +#: templates/edit/javascript.inc:262 templates/perms/perms.inc:30 +#: templates/perms/perms.inc:57 templates/perms/perms.inc:86 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:127 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:168 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:209 +#: templates/perms/perms.inc:221 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:291 templates/perms/perms.inc:303 +#: templates/perms/perms.inc:337 +msgid "Show" +msgstr "Göster" + +#: calendar_search.php:25 +msgid "Show Calendar" +msgstr "Takvimi Göster" + +#: config/prefs.php.dist:218 +msgid "Show Free/Busy legend?" +msgstr "Serbest/meþgul göstergesi gösterilsin mi?" + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Takvim seçenek paneli gösterilsin mi?" + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Kategori açýklamasý gösterilsin mi?" + +#: config/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "Sil, alarm ve tekrar simgeleri takvimde görünsün mü?" + +#: config/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "Dýþ etkinlikler kategori renkleri kullanýlarak gösterilsin mi?" + +#: config/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "Sadece alarmý kurulmuþ etkinlikler mi gösterilsin?" + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "Paylaþtýrýlan takvimler yan yana gösterilsin mi?" + +#: config/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "Hafta görüntüsü içinde her gün içi zamanlarý göstersin mi?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Baþla_ma" + +#: data.php:56 +msgid "Start Date" +msgstr "Baþlama Tarihi" + +#: templates/data/export.inc:68 lib/Driver.php:1902 +msgid "Start Day" +msgstr "Baþlama Günü" + +#: templates/data/export.inc:87 lib/Driver.php:1913 +msgid "Start Hour" +msgstr "Baþlangýç Saati" + +#: templates/data/export.inc:102 lib/Driver.php:1923 +msgid "Start Minute" +msgstr "Baþlangýç Dakikasý" + +#: templates/data/export.inc:54 lib/Driver.php:1893 +msgid "Start Month" +msgstr "Baþlangýç Ayý" + +#: templates/data/export.inc:37 templates/view/view.inc:35 +#: templates/search/event_headers.inc:7 +msgid "Start On" +msgstr "Baþlama" + +#: data.php:57 +msgid "Start Time" +msgstr "Baþlama Zamaný" + +#: templates/data/export.inc:39 lib/Driver.php:1882 +msgid "Start Year" +msgstr "Baþlangýç yýlý" + +#: templates/edit/edit.inc:110 templates/search/search_advanced.inc:94 +msgid "Stat_us" +msgstr "_Durum" + +#: templates/view/view.inc:21 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "Durum" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "Serbest/meþgul bilgisinin saklanmasý kullanýlabilir deðil." + +#: templates/edit/edit.inc:241 templates/javascript/goto.js:65 +#: lib/Block/month.php:109 lib/Block/month.php:111 lib/Views/Year.php:75 +#: lib/Views/Year.php:84 +msgid "Su" +msgstr "Pzr" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "Üye ol" + +#: templates/calendar_list.php:15 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "Uzaktaki Bir Takvime Abone Ol" + +#: templates/calendar_list.php:25 +msgid "Subscription URL" +msgstr "Abonelik URL'si" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/edit/javascript.inc:66 templates/view/view.inc:105 +#: config/prefs.php.dist:113 +msgid "Sunday" +msgstr "Pazar" + +#: lib/Kronolith.php:1155 lib/Kronolith.php:1178 +msgid "Tentative" +msgstr "Geçici" + +#: templates/edit/edit.inc:238 templates/javascript/goto.js:62 +#: lib/Block/month.php:107 lib/Views/Year.php:80 +msgid "Th" +msgstr "Prþ" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "%s dosyasý herhangi bir etkinlik içermiyor." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "Alarm arka aracý þu anda kullanýlabilir deðil." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "Takvim arka aracý þu anda kullanýlabilir deðil: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "Katýlýmcýlarý Düzenle ekraný bulunmuyor. Çýkýyorum." + +#: calendars.php:84 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Takvim \"%s\" silinemiyor." + +#: calendars.php:45 calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "\"%s\" takvimi yaratýldý." + +#: calendars.php:106 calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "\"%s\" takvimi silindi." + +#: calendars.php:68 calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "\"%s\" takvimi %s ismi adýnda kaydedildi." + +#: calendars.php:70 calendars/edit.php:46 calendars/remote_edit.php:49 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "\"%s\" takvimi kaydedildi." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Takvim boþaltýlamadý: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "Sonlandýrma tarihi baþlama tarihinden sonra olmalý." + +#: lib/Kronolith.php:1586 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "" +"Saat %s'de ve yer olarak %s'de yer alan \"%s\" etkinliði \"%s\" takvimine " +"eklendi. " + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "" +"Saat %s'de ve yer olarak %s'de yer alan \"%s\" etkinliði \"%s\" takviminden " +"silindi. " + +#: lib/Kronolith.php:1591 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "" +"Saat %s'de ve yer olarak %s'de yer alan \"%s\" etkinliði \"%s\" takviminde " +"düzenlendi. " + +#: lib/Kronolith.php:1476 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "%s'e etkinlik bilgisi baþarýlý bir þekide gönderildi." + +#: lib/Kronolith.php:1430 +msgid "The following is a more detailed description of the event:" +msgstr "Etkinliðin daha detaylý açýklamasý:" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "%s için olan serbest/meþgul url bulunamadý." + +#: calendars/remote_edit.php:36 calendars/remote_unsubscribe.php:36 +msgid "The remote calendar was not found." +msgstr "Uzaktaki takvim bulunamadý." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Ýstek eksik. Bir etkinliði kabul veya red için gerekli olan bazý " +"parametreler bulunmuyor." + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "Belirtilen etkinlik bulunamadý." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Geçerli ölçütlere uyan bir etkinlik bulunamadý." + +#: addeventaction.php:18 edit.php:46 edit.php:68 editeventaction.php:35 +#: add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Takvime eriþimde hata oluþtu: %s." + +#: addeventaction.php:34 add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Etkinliðin eklenmesinde hata oluþtu: %s." + +#: edit.php:17 editeventaction.php:82 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Etkinliðin düzenlenmesinde hata oluþtu: %s." + +#: lib/api.php:383 lib/api.php:641 lib/api.php:927 +msgid "There was an error importing the iCalendar data." +msgstr "iCalendar verisini içeri aktarýlýrken hata oluþtu." + +#: edit.php:145 editeventaction.php:62 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Etkinliðin aktarýmý sýrasýnda hata oluþtu: %s" + +#: lib/Kronolith.php:1481 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "%s'e etkinlik bildiriminin gönderiminde sorun çýktý: %s." + +#: data.php:109 +msgid "There were no events to export." +msgstr "Dýþarý aktarýlacak bir etkinlik bulunamadý." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Bu Ay" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "Bu takvim silinemez." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "Bu dosya biçimi desteklenmiyor." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"Bu tekrar eden bir etkinliktir. Sadece bu etkinlik mi silisin,
      yoksa " +"gelecek tüm tekrarlarý ile beraber mi silinsin?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"Bu tekrar eden bir etkinliktir. Sadece seçilen etkinlik ve gelecek tüm " +"tekrarlarý , tüm tekrarlarý düzenlenebilir. Ya da bu, yeni bir etkinlik " +"olarak saklanabilir. Seçiniz." + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "Sunucunun verdiði bilgi: %s" + +#: templates/month/head.inc:20 templates/edit/javascript.inc:70 +#: templates/view/view.inc:102 +msgid "Thursday" +msgstr "Perþembe" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "Zaman Ar_alýðý:" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "Zaman Aralýðý" + +#: templates/edit/edit.inc:58 templates/search/search_advanced.inc:34 +msgid "Tit_le" +msgstr "Baþ_lýk" + +#: data.php:55 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Baþlýk" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "Baþlýk:" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Birden fazla alan seçebilmek için, týklarken Control(PC) yada Command(Mac) " +"tuþlarýný basýlý tutun." + +#: templates/calendar_info.php:17 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "Bu takvime baþka bir uygulamadan üye olmak için; bu URL'i kullanýnýz: " + +#: lib/Block/summary.php:140 lib/Block/monthlist.php:132 +#: lib/Block/prevmonthlist.php:125 +msgid "Today" +msgstr "Bugün" + +#: lib/Block/summary.php:142 lib/Block/monthlist.php:134 +#: lib/Block/prevmonthlist.php:127 +msgid "Tomorrow" +msgstr "Yarýn" + +#: templates/edit/edit.inc:236 templates/javascript/goto.js:60 +#: lib/Block/month.php:107 lib/Views/Year.php:78 +msgid "Tu" +msgstr "Sa" + +#: templates/month/head.inc:18 templates/edit/javascript.inc:68 +#: templates/view/view.inc:100 +msgid "Tuesday" +msgstr "Salý" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Tür" + +#: templates/calendars/calendars.inc:187 lib/Forms/EditRemoteCalendar.php:37 +#: lib/Forms/SubscribeRemoteCalendar.php:37 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "SQL sunucusuna baðlanýlamýyor." + +#: calendars.php:102 lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "\"%s\" silinemiyor: %s" + +#: lib/Storage.php:58 lib/Driver.php:206 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "%s in tanýmý yüklenemedi." + +#: attendees.php:57 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "\"%s\" bir eposta adresi olarak tanýnamadý." + +#: calendars.php:65 lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "\"%s\" yeniden isimlendirilemiyor: %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "%s için serbest/meþgul bilgisi aktarýlamýyor." + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Takvim \"%s\" saklanamadý: %s" + +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Doldurulmamýþ" + +#: lib/api.php:1215 lib/api.php:1244 +msgid "Unknown calendar protocol" +msgstr "Bilinmeyen takvim iletiþim kuralý" + +#: templates/calendar_list.php:46 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "Üyelikten Çýk" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "%s üyeliðinden çýk" + +#: lib/api.php:456 lib/api.php:695 lib/api.php:751 lib/api.php:814 +#: lib/api.php:947 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Desteklenmeyen Ýçerik Türü: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Yaklaþan Etkinlikler" + +#: perms.php:256 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" Güncellendi." + +#: lib/Kronolith.php:1420 +#, php-format +msgid "Updated: %s." +msgstr "\"%s\": Güncellendi." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Kullanýcý Ara Yüzü" + +#: templates/perms/perms.inc:256 +msgid "User to add:" +msgstr "Eklenecek kullanýcý:" + +#: lib/Forms/EditRemoteCalendar.php:38 +#: lib/Forms/SubscribeRemoteCalendar.php:38 +msgid "Username" +msgstr "Kullanýcý Adý" + +#: lib/Block/month.php:164 lib/Block/month.php:167 lib/Views/Year.php:156 +#: lib/Views/Year.php:162 +msgid "View Day" +msgstr "Günü Görüntüle" + +#: templates/edit/edit.inc:237 templates/javascript/goto.js:61 +#: lib/Block/month.php:107 lib/Views/Year.php:79 +msgid "We" +msgstr "Çrþ" + +#: lib/Driver.php:1160 lib/Scheduler/kronolith.php:265 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"Size yaklaþan þu etkinliði hatýrlatmak istiyoruz:\n" +"\n" +"%s\n" +"\n" +"Yer: %s\n" +"\n" +"Tarih: %s\n" +"Zaman: %s\n" +"\n" +"%s" + +#: templates/month/head.inc:19 templates/edit/javascript.inc:69 +#: templates/view/view.inc:101 +msgid "Wednesday" +msgstr "Çarþamba" + +#: attendees.php:172 lib/Kronolith.php:1742 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:91 +msgid "Week" +msgstr "Hafta" + +#: workweek.php:16 week.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "Hafta %d" + +#: templates/prefs/default_alarm_management.inc:29 templates/edit/edit.inc:171 +#: templates/view/view.inc:53 +msgid "Week(s)" +msgstr "Hafta" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Haftalýk" + +#: templates/edit/edit.inc:232 templates/view/view.inc:106 +msgid "Weekly: Recurs every" +msgstr "Haftalýk: Tekrarlama sýklýðý" + +#: config/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" +"Eðer daha sonrasýnda bir etkinlik bulunmuyorsa, gün ve hafta görüntüleri " +"hangi zamanda bitsin." + +#: config/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" +"Eðer daha öncesinde bir etkinlik bulunmuyorsa, gün ve hafta görüntüleri " +"hangi zamanda baþlasýn." + +#: config/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "Ne tür tatillerin görüntülenmesini istiyorsunuz?" + +#: attendees.php:171 lib/Kronolith.php:1740 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:92 +msgid "Work Week" +msgstr "Hafta içi" + +#: lib/Kronolith.php:1746 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Yýl" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Yýllýk" + +#: templates/edit/edit.inc:258 templates/edit/edit.inc:264 +#: templates/edit/edit.inc:270 templates/view/view.inc:112 +#: templates/view/view.inc:114 templates/view/view.inc:116 +msgid "Yearly: Recurs every" +msgstr "Yýllýk: Tekrar sýklýðý" + +#: calendars.php:54 calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "Bu takvimi deðiþtirme hakkýnýz bulunmuyor." + +#: addevent.php:17 edit.php:27 data.php:41 data.php:261 editeventaction.php:45 +#: new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "%dden fazla etkinlik yaratamazsýnýz." + +#: calendars.php:95 calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "Bu takvimi silme hakkýnýz bulunmuyor." + +#: lib/api.php:142 +msgid "You are not allowed to remove user data." +msgstr "Kiþi iletiþim bilgilerini silme izniniz yok." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Belirtilen etkinliðe davetli deðilsiniz." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Bu formu sadece Katýlýmcýlarý Düzenle sayfasýndan kullanabilirsiniz." + +#: lib/Kronolith.php:1369 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Kiþisel Bilgiler Seçeneklerinde bir eposta adresi belirtilmemiþ.Bir %stane%s " +"etkinlik duyurusu gönderilmesi için burada belirtilmesi gerekmektedir." + +#: addeventaction.php:20 add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "%s içine etkinlik eklemeye hakkýnýz yok." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Seçilmiþ takvime etkinlik eklemeye hakkýnýz bulunamamaktadýr." + +#: edit.php:162 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "%s içine etkinlik eklemeye hakkýnýz yok." + +#: delete.php:28 deleventaction.php:26 +msgid "You do not have permission to delete this event." +msgstr "Bu etkinliði silmeye hakkýnýz yok." + +#: edit.php:165 editeventaction.php:77 +msgid "You do not have permission to edit this event." +msgstr "Bu etkiniði düzenlemeye hakkýnýz yok." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "Bu etkiniði taþýmaya hakkýnýz yok." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "\"%s\" (%s) üyeliðiniz baþladý." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "\"%s\" (%s) üyeliðinden çýktýnýz." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "Geçersiz bir takvim belirttiniz." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Baþarýlý bir þekilde etkinliðe katýlýmý kabul ettiniz." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Baþarýlý bir þekilde etkinliðe katýlýmý reddettiniz." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "Geçici olarak etkinliðe katýlýmý kabul ettiniz." + +#: calendars.php:109 +msgid "You must select a calendar to be deleted." +msgstr "Silinecek bir takvim seçmelisiniz." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Önce bir adres seçmelisiniz." + +#: templates/calendars/calendars.inc:174 +msgid "You need to select a calendar first" +msgstr "Önce bir takvim seçmelisiniz." + +#: lib/Kronolith.php:1586 +msgid "You requested to be notified when events are added to your calendars." +msgstr "Takviminize etkinlik eklenince bildirimde bulunulmasýný istediniz." + +#: lib/Kronolith.php:1596 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "Takviminizden etkinlik silinince bildirimde bulunulmasýný istediniz." + +#: lib/Kronolith.php:1591 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "" +"Takviminizde bir etkinlik düzenlenince bildirimde bulunulmasýný istediniz." + +#: lib/Scheduler/kronolith.php:406 lib/Scheduler/kronolith.php:408 +#, php-format +msgid "Your daily agenda for %s" +msgstr "%s için gündeminiz" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Ön tanýmlý takviminiz" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[Takvimleri Yönet]" + +#: lib/Driver.php:1408 lib/Driver.php:1424 +msgid "[Unnamed event]" +msgstr "[Ýsimsiz etkinlik]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "_Alarm" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "_Basit Arama" + +#: viewevent.php:137 lib/Kronolith.php:1775 +msgid "_Edit" +msgstr "_Düzenle" + +#: lib/Kronolith.php:1952 +msgid "_Goto" +msgstr "_Git" + +#: lib/Kronolith.php:1958 +msgid "_Import/Export" +msgstr "Ýçeri/_Dýþarý Aktar" + +#: lib/Kronolith.php:1948 +msgid "_New Event" +msgstr "Ye_ni Etkinlik" + +#: lib/Kronolith.php:1963 +msgid "_Print" +msgstr "_Yazdýr" + +#: lib/Kronolith.php:1954 +msgid "_Search" +msgstr "_Arama" + +#: lib/Kronolith.php:1943 +msgid "_Today" +msgstr "_Bugün" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "%s de" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "etkinlik baþlamadan önce" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" +"etkinlik baþlamadan önce. \"0\" deðeri öntanýmlý alarm olmadýðý anlamýný " +"taþýr." + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "gün" + +#: templates/edit/edit.inc:227 templates/view/view.inc:96 +msgid "day(s)" +msgstr "günde bir" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "gün" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "etkinlik.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "etkinlik.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "içinde" + +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "month(s)" +msgstr "ayda bir" + +#: lib/Kronolith.php:1426 +#, php-format +msgid "on %s at %s" +msgstr "%sde %sde" + +#: templates/edit/edit.inc:247 templates/view/view.inc:108 +msgid "on the same date" +msgstr ", ayýn ayný gününde" + +#: templates/edit/edit.inc:253 templates/view/view.inc:110 +msgid "on the same weekday" +msgstr ", haftanýn ayný günü" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "tekrarlar" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "hafta" + +#: templates/edit/edit.inc:234 templates/view/view.inc:106 +msgid "week(s) on:" +msgstr "haftada bir, haftanýn þu günleri:" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "haftalar" + +#: templates/edit/edit.inc:259 templates/view/view.inc:112 +msgid "year(s) on the same date" +msgstr "ayný tarihte, yýl(lar)" + +#: templates/edit/edit.inc:265 templates/view/view.inc:114 +msgid "year(s) on the same day of the year" +msgstr "yýlýn ayný günü, yýl(lar)" + +#: templates/edit/edit.inc:271 templates/view/view.inc:116 +msgid "year(s) on the same weekday and month of the year" +msgstr "ayný hafta günü ve ay, yýl(lar)" diff --git a/kronolith/po/uk_UA.po b/kronolith/po/uk_UA.po new file mode 100644 index 000000000..d41d6ab78 --- /dev/null +++ b/kronolith/po/uk_UA.po @@ -0,0 +1,2383 @@ +# Kronolith Ukrainian win-1251 translation. +# Copyright +# Andriy Kopystyansky , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith H3 (2.2-cvs)\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2007-06-18 13:25+0300\n" +"PO-Revision-Date: 2007-06-19 12:00+0200\n" +"Last-Translator: Andriy Kopystyansky \n" +"Language-Team: Ukrainian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CP1251\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/edit/edit.inc:220 +#, php-format +msgid " until %s" +msgstr "" + +#: templates/edit/edit.inc:220 +msgid " without end" +msgstr "" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d ïîä³é" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d ðàç³â" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Äåíü(³â) %s Ãîäèí(è) %s Õâèëèí(è)" + +#: lib/Driver.php:2177 +#, php-format +msgid "%s attendees" +msgstr "%s ó÷àñíèêè" + +#: data.php:304 +#, php-format +msgid "%s file successfully imported" +msgstr "Ôàéë %s óñï³øíî ³ìïîðòîâàíî" + +#: calendars.php:108 lib/api.php:212 lib/Kronolith.php:283 +#, php-format +msgid "%s's Calendar" +msgstr "%s: Êàëåíäàð" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* Íàæì³òü Äîäàòè, ùîá äîäàòè ö³ êîíòàêòè *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* Ïðîøó âèáðàòè àäðåñó(è) *" + +#: templates/edit/edit.inc:220 +#, php-format +msgid ", %d times" +msgstr "" + +#: lib/Driver.php:2176 +msgid "1 attendee" +msgstr "1 ó÷àñíèê" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 ïîä³ÿ" + +#: config/prefs.php.dist:179 +msgid "1 hour" +msgstr "1 ãîäèíà" + +#: config/prefs.php.dist:176 +msgid "15 minutes" +msgstr "15 õâèëèí" + +#: config/prefs.php.dist:177 +msgid "20 minutes" +msgstr "20 õâèëèí" + +#: config/prefs.php.dist:178 +msgid "30 minutes" +msgstr "30 õâèëèí" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "ÀÌ" + +#: lib/Kronolith.php:1047 +msgid "Accepted" +msgstr "Ïðèéíÿòî" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "Ðîçøèðåíèé ïîøóê" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "Äîäàòè" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Äîäàòè ïîä³þ" + +#: templates/prefs/remote_cal_management.inc:43 +msgid "Add a new Remote Calendar" +msgstr "Äîäàòè íîâèé â³ääàëåíèé êàëåíäàð" + +#: new.php:65 +msgid "Add a new event" +msgstr "Äîäàòè íîâó ïîä³þ" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "Äîäàòè ó÷àñíèêà" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "Äîäàòè äæåðåëî" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "ÄÎäàòè äî ó÷àñíèê³â" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "Àäðåñíèê" + +#: config/prefs.php.dist:94 +msgid "Address Books" +msgstr "Àäðåñíèêè" + +#: templates/search/search.inc:11 templates/search/search_advanced.inc:8 +msgid "Advanced Search" +msgstr "Ðîçøèðåíèé ïîøóê" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "Íàãàäóâàííÿ" + +#: lib/Driver.php:2143 +#, php-format +msgid "Alarm %d days before" +msgstr "Íàãàäàòè çà %d äí³â" + +#: lib/Driver.php:2148 +#, php-format +msgid "Alarm %d hours before" +msgstr "Íàãàäàòè çà %d ãîäèí" + +#: lib/Driver.php:2153 +#, php-format +msgid "Alarm %d minutes before" +msgstr "Íàãàäàòè çà %d õâèëèí" + +#: lib/Driver.php:2138 +#, php-format +msgid "Alarm %d weeks before" +msgstr "Íàãàäàòè çà %d òèæäí³â" + +#: lib/Driver.php:2142 +msgid "Alarm 1 day before" +msgstr "Íàãàäàòè çà 1 äåíü" + +#: lib/Driver.php:2147 +msgid "Alarm 1 hour before" +msgstr "Íàãàäàòè çà 1 ãîäèíó" + +#: lib/Driver.php:2152 +msgid "Alarm 1 minute before" +msgstr "Íàãàäàòè çà 1 õâèëèíó" + +#: lib/Driver.php:2137 +msgid "Alarm 1 week before" +msgstr "Íàãàäàòè çà 1 òèæäåíü" + +#: data.php:61 +msgid "Alarm Date" +msgstr "Äàòà Íàãàäóâàííÿ" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "Ïðîì³æîê íàãàäóâàííÿ (õâèëèíè)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "×àñ Íàãàäóâàííÿ" + +#: templates/edit/edit.inc:166 templates/prefs/default_alarm_management.inc:24 +msgid "Alarm Unit" +msgstr "" + +#: templates/edit/edit.inc:164 templates/prefs/default_alarm_management.inc:22 +msgid "Alarm Value" +msgstr "" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "" + +#: templates/delete/delete.inc:26 templates/edit/edit.inc:39 +msgid "All" +msgstr "Âñ³" + +#: lib/FBView.php:128 lib/FBView.php:131 lib/FBView.php:134 +msgid "All Attendees" +msgstr "Âñ³ Ó÷àñíèêè" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "Âñ³ àóòåíòèô³êîâàí³ êîðèñòóâà÷³" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "Âñ³ Êàëåíäàð³" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "Âñ³ ìàéáóòí³" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "Âñ³ ìèíóë³" + +#: lib/Block/month.php:24 lib/Block/monthlist.php:30 +#: lib/Block/prevmonthlist.php:27 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "Âñ³ âèäèì³" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2220 +#: lib/Views/Day.php:96 lib/Views/Day.php:99 lib/Views/Week.php:142 +#: lib/Views/Week.php:149 +msgid "All day" +msgstr "Âåñü äåíü" + +#: lib/Block/summary.php:177 +msgid "All day event" +msgstr "Ïîä³ÿ íà âåñü äåíü" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "Âñ³ ïî䳿" + +#: lib/api.php:608 +msgid "Already Exists" +msgstr "Âæå ³ñíóº" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:1140 +msgid "Any" +msgstr "" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "Êâ³òåíü" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "Â" + +#: lib/Kronolith.php:1307 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Ïðèêð³ïëåíå º iCalendar ôàéë ç ³íôîðìàö³ºþ ïðî ïîä³þ. ßêùî Âàø ïî÷òîâèé " +"ê볺íò ï³äòðèìóº iTip çàïèòè Âè ìîæåòå âèêîðèñòàòè ö³ ôàéëè äëÿ ïîëåãøåíîãî " +"îíîâëåííÿ Âàøî¿ ëîêàëüíî¿ êîﳿ ïîä³é." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "Ñïðîáà ðåäàãóâàòè íå³ñíóþ÷ó ï³ñî÷íèöþ." + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "Ó÷àñíèê" + +#: templates/edit/edit.inc:193 templates/view/view.inc:168 +msgid "Attendees" +msgstr "Ó÷àñíèêè" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "Ñåðïåíü" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "Äîñòóïí³ Àäðåñíèêè:" + +#: templates/search/search.inc:8 templates/search/search_advanced.inc:11 +msgid "Basic Search" +msgstr "Ïðîñòèé ïîøóê" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "Äåíü íàðîäæåííÿ" + +#: lib/FBView.php:90 lib/FBView.php:111 +msgid "Busy" +msgstr "Çàéíÿòèé" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "Êàëåíäàð" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "Êàëåíäàð" + +#: templates/calendars/calendars.inc:90 lib/Block/month.php:21 +#: lib/Block/monthlist.php:21 lib/Block/prevmonthlist.php:21 +#: lib/Block/summary.php:22 +msgid "Calendar" +msgstr "Êàëåíäàð" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "Ðåçþìå êàëåíäàðÿ" + +#: data.php:248 +msgid "Calendar successfully purged." +msgstr "Êàëåíäàð óñï³øíî ïî÷èùåíî." + +#: templates/panel.inc:42 templates/panel.inc:43 config/prefs.php.dist:45 +#: config/prefs.php.dist:53 config/prefs.php.dist:61 config/prefs.php.dist:85 +msgid "Calendars" +msgstr "Êàëåíäàð³" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "Êàëåíäàð ìຠìàòè íàçâó." + +#: data.php:264 +msgid "Can't create a new event." +msgstr "Íå ìîæó ñòâîðèòè íîâó ïîä³þ." + +#: templates/delete/delete.inc:27 templates/delete/one.inc:25 +#: templates/edit/edit.inc:51 templates/edit/edit.inc:379 +msgid "Cancel" +msgstr "³äì³íèòè" + +#: lib/Kronolith.php:1023 +msgid "Cancelled" +msgstr "Ñêàñîâàíî" + +#: lib/Kronolith.php:1281 +#, php-format +msgid "Cancelled: %s" +msgstr "Ñêàñîâàíî: %s" + +#: lib/Driver/kolab.php:1253 +#, php-format +msgid "Cannot delete event: %s" +msgstr "Íå ìîæó âèòåðòè ïîä³þ: %s" + +#: templates/edit/edit.inc:94 templates/search/search_advanced.inc:63 +msgid "Categor_y" +msgstr "Êàòåãîð³ÿ" + +#: data.php:64 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Êàòåãîð³ÿ" + +#: config/prefs.php.dist:77 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "" +"Âèáåð³òü, ÿê Âàñ ïîâ³äîìëÿòè ïðî çì³íè ïîä³é, äçâîíèêè ïîä³é ³ íàéáëèæ÷³ " +"ïî䳿." + +#: config/prefs.php.dist:377 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "Âèáåð³òü, ÿê Âè õî÷åòå îòðèìóâàòè íàãàäóâàííÿ ïðî ïî䳿 ç äçâîíèêàìè:" + +#: config/prefs.php.dist:342 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "" +"Âèáåð³òü, ÷è ïîâ³äîìëÿòè Âàñ ïðî íîâ³, ðåäàãîâàí³ ³ âèäàëåí³ ïî䳿 å-ïîøòîþ:" + +#: config/prefs.php.dist:355 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "" + +#: config/prefs.php.dist:368 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "Âèáåð³òü, ÷è õî÷åòå Âè îòðèìóâàòè íàãàäóâàííÿ äëÿ ïîä³é ç äçâîíèêàìè:" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Âàæ³òü êàëåíäàð³ äëÿ âêëþ÷åííÿ Âàøèõ äàíèõ â³ëüíèé/çàíÿòèé:" + +#: config/prefs.php.dist:434 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "Âàæ³òü êàëåíäàð³ äëÿ âêëþ÷åííÿ ïðè ñòâîðåíí³ URL â³ëüíèé/çàíÿòèé:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "Âêàæ³òü ïîñë³äîâí³ñòü àäðåñíèê³â äëÿ ïîøóêó ïðè ðîçêðèòò³ àäðåñ." + +#: config/prefs.php.dist:55 +msgid "Choose which holidays to display" +msgstr "" + +#: config/prefs.php.dist:47 +msgid "Choose your default calendar." +msgstr "Âèáåð³òü Âàø îñíîâíèé êàëåíäàð." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "Î÷èñòèòè âñ³õ ó÷àñíèê³â" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "" +"Êëàöí³òü íà îäíîìó ç âèáðàíèõ àäðåñíèê³â, à ïîò³ì âèáåð³òü âñ³ ïîëÿ äëÿ " +"ïîøóêó." + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Çàêðèòè â³êíî" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Çàêðèòè â³êíî" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "Çíà÷åííÿ, ðîçä³ëåí³ êîìîþ" + +#: config/prefs.php.dist:106 +msgid "Confirm deletion of events?" +msgstr "ϳäòâåðäèòè âèäàëåííÿ ïîä³é?" + +#: lib/Kronolith.php:1020 +msgid "Confirmed" +msgstr "ϳäòâåðäæåíî" + +#: templates/calendars/calendars.inc:158 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "" + +#: lib/Kronolith.php:375 +#, php-format +msgid "Could not open %s." +msgstr "Íå ìîæó â³äêðèòè %s." + +#: templates/calendars/calendars.inc:69 +msgid "Create" +msgstr "Ñòâîðèòè" + +#: templates/calendars/calendars.inc:55 +msgid "Create Calendar" +msgstr "Ñòâîðèòè Êàëåíäàð" + +#: templates/week/head.inc:29 lib/Views/Day.php:96 lib/Views/Day.php:248 +#: lib/Views/Month.php:170 +msgid "Create a New Event" +msgstr "Ñòâîðèòè íîâó ïîä³þ" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "Ñòâîðåíî" + +#: templates/delete/delete.inc:24 templates/edit/edit.inc:37 +msgid "Current" +msgstr "Ïîòî÷íèé" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "Ùîäíÿ" + +#: templates/edit/edit.inc:235 templates/view/view.inc:96 +msgid "Daily: Recurs every" +msgstr "" + +#: attendees.php:151 lib/Kronolith.php:1609 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:115 +msgid "Day" +msgstr "Äåíü" + +#: templates/edit/edit.inc:170 templates/prefs/default_alarm_management.inc:28 +#: templates/view/view.inc:56 +msgid "Day(s)" +msgstr "Äåíü(³â)" + +#: lib/Kronolith.php:1651 +msgid "De_lete" +msgstr "Âèòåðòè" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Ãðóäåíü" + +#: lib/Kronolith.php:1050 +msgid "Declined" +msgstr "³äõèëåíî" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "" + +#: config/prefs.php.dist:46 +msgid "Default Calendar" +msgstr "Îñíîâíèé Êàëåíäàð" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "" + +#: templates/delete/one.inc:24 templates/perms/perms.inc:33 +#: templates/perms/perms.inc:69 templates/perms/perms.inc:89 +#: templates/perms/perms.inc:110 templates/perms/perms.inc:130 +#: templates/perms/perms.inc:151 templates/perms/perms.inc:171 +#: templates/perms/perms.inc:192 templates/perms/perms.inc:212 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:274 +#: templates/perms/perms.inc:294 templates/perms/perms.inc:315 +#: templates/perms/perms.inc:349 templates/calendars/calendars.inc:145 +#: templates/prefs/remote_cal_management.inc:30 lib/Driver.php:1155 +#: lib/Driver.php:2203 +msgid "Delete" +msgstr "Âèòåðòè" + +#: lib/Driver.php:2202 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "Âèòåðòè %s" + +#: lib/Driver.php:1154 +#, php-format +msgid "Delete exception on %s" +msgstr "" + +#: templates/delete/delete.inc:22 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "Âèòåðòè ò³ëüêè öþ ïîä³þ, öåé âèïàäîê ³ âñ³ ìàéáóòí³ ÷è âñ³ âèïàäêè?" + +#: templates/edit/edit.inc:180 templates/search/search_advanced.inc:103 +msgid "Descri_ption" +msgstr "Îïèñ" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "Îïèñ:" + +#: data.php:63 templates/calendars/calendars.inc:119 +#: templates/view/view.inc:155 +msgid "Description" +msgstr "Îïèñ" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Ïîêàçàòè" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:37 +msgid "Display Options" +msgstr "Îïö³¿ â³äîáðàæåííÿ" + +#: config/prefs.php.dist:39 +msgid "" +"Do you want to show external events in your calendar (like tasks which are " +"due etc) ?" +msgstr "" + +#: lib/Kronolith.php:988 +msgid "Does not recur" +msgstr "" + +#: lib/Kronolith.php:582 +#, php-format +msgid "Due: %s" +msgstr "" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "" + +#: lib/Driver.php:1933 +msgid "Duration Day" +msgstr "" + +#: lib/Driver.php:1945 +msgid "Duration Hour" +msgstr "" + +#: lib/Driver.php:1956 +msgid "Duration Minute" +msgstr "" + +#: templates/perms/perms.inc:32 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:88 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:129 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:170 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:211 templates/perms/perms.inc:229 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:293 +#: templates/perms/perms.inc:311 templates/perms/perms.inc:345 +#: templates/calendars/calendars.inc:114 +#: templates/prefs/remote_cal_management.inc:31 lib/Driver.php:2196 +msgid "Edit" +msgstr "Ðåäàãóâàòè" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2195 +#: lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "Ðåäàãóâàòè %s" + +#: templates/edit/edit.inc:211 +msgid "Edit Attendees" +msgstr "Ðåäàãóâàòè ó÷àñíèê³â" + +#: templates/calendars/calendars.inc:84 +msgid "Edit Calendars" +msgstr "Ðåäàãóâàòè Êàëåíäàð³" + +#: perms.php:260 +msgid "Edit Permissions" +msgstr "Ðåäàãóâàòè Ïðàâà" + +#: perms.php:262 +#, php-format +msgid "Edit Permissions for %s" +msgstr "Ðåäàãóâàòè ïðàâà äëÿ %s" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "Ðåäàãóâàòè ó÷àñíèêà" + +#: attendees.php:208 +msgid "Edit attendees" +msgstr "Ðåäàãóâàòè ó÷àñíèê³â" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "Ðåäàãóâàòè Êàòåãî𳿠³ Ïîçíà÷åííÿ" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "Ðåäàãóâàòè ïðàâà äëÿ %s" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "Àäðåñà å-ïîøòè" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "ʳíåöü" + +#: data.php:58 +msgid "End Date" +msgstr "Äàòà ê³íöÿ" + +#: templates/data/export.inc:161 lib/Driver.php:1904 +msgid "End Day" +msgstr "" + +#: templates/data/export.inc:178 lib/Driver.php:1917 +msgid "End Hour" +msgstr "" + +#: templates/data/export.inc:190 lib/Driver.php:1928 +msgid "End Minute" +msgstr "" + +#: templates/data/export.inc:148 lib/Driver.php:1895 +msgid "End Month" +msgstr "" + +#: templates/data/export.inc:125 templates/search/event_headers.inc:8 +#: templates/view/view.inc:41 +msgid "End On" +msgstr "ʳíåöü â" + +#: data.php:59 +msgid "End Time" +msgstr "×àñ ê³íöÿ" + +#: templates/data/export.inc:134 lib/Driver.php:1884 +msgid "End Year" +msgstr "" + +#: attendees.php:197 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "Ïîìèëêà îòðèìàííÿ äàíèõ â³ëüíèé/çàíÿòèé äëÿ %s: %s" + +#: attendees.php:177 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "Ïîìèëêà îòðèìàííÿ äàíèõ â³ëüíèé/çàíÿòèé: %s" + +#: config/prefs.php.dist:69 +msgid "Event Defaults" +msgstr "" + +#: lib/Kronolith.php:1460 +msgid "Event added:" +msgstr "Ïîä³ÿ äîäàíà:" + +#: lib/Kronolith.php:1470 +msgid "Event deleted:" +msgstr "Ïîä³ÿ âèòåðòà:" + +#: lib/Kronolith.php:1465 +msgid "Event edited:" +msgstr "Ïîä³ÿ ðåäàãîâàíà:" + +#: lib/Driver.php:1263 +#, php-format +msgid "Event from %s to %s" +msgstr "Ïîä³ÿ ç %s ïî %s" + +#: lib/Driver/sql.php:387 +msgid "Event not found" +msgstr "Ïîä³þ íå çíàéäåíî" + +#: lib/Driver/kolab.php:433 lib/Driver/kolab.php:1127 +#: lib/Driver/kolab.php:1154 lib/Driver/kolab.php:1235 +#, php-format +msgid "Event not found: %s" +msgstr "Ïîä³þ íå çíàéäåíî: %s" + +#: config/prefs.php.dist:68 config/prefs.php.dist:75 +msgid "Events" +msgstr "Ïî䳿" + +#: lib/Driver.php:940 +msgid "Events must have a start date." +msgstr "Ïîä³ÿ ìຠìàòè äàòö ïî÷àòêó." + +#: lib/Driver.php:902 +msgid "Events must have a title." +msgstr "Ïî䳿 ìàºòü ìàòè çàãîëîâîê." + +#: templates/edit/edit.inc:332 templates/view/view.inc:130 +msgid "Exceptions" +msgstr "" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "Åêñïîðò" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "Åêñïîðòóâàòè Êàëåíäàð" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "Ëþòèé" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "Ïîëÿ äëÿ ïîøóêó" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "Ïîøóê" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:248 +#: lib/Views/Year.php:81 lib/Block/month.php:107 +msgid "Fr" +msgstr "Ïò" + +#: lib/Kronolith.php:1026 +msgid "Free" +msgstr "³ëüíèé" + +#: config/prefs.php.dist:86 +msgid "Free/Busy Information" +msgstr "²íôîðìàö³ÿ â³ëüíèé/çàíÿòèé" + +#: templates/month/head.inc:21 templates/edit/javascript.inc:71 +#: templates/view/view.inc:103 +msgid "Friday" +msgstr "Ï'ÿòíèöÿ" + +#: templates/delete/delete.inc:25 templates/edit/edit.inc:38 +msgid "Future" +msgstr "Ìàéáóòíº" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "Ãðà" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "Ãîëîâíèé" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "Éòè äî %s" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "Ãðóïè" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "Ïðàâà ãîñòÿ" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "Ñõîâàòè" + +#: config/prefs.php.dist:54 +msgid "Holidays" +msgstr "" + +#: templates/edit/edit.inc:169 templates/prefs/default_alarm_management.inc:27 +#: templates/view/view.inc:59 +msgid "Hour(s)" +msgstr "Ãîäèíà(è)" + +#: config/prefs.php.dist:175 +msgid "How long should the time slots on the day and week views be?" +msgstr "ßê äîâãî ìàþòü áóòè ÷àñîâ³ ïðîì³æêè â äåíü ³ òèæäåíü?" + +#: config/prefs.php.dist:386 +msgid "How many days of free/busy information should we generate?" +msgstr "Ñê³ëüêè äí³â ìè ìàºìî ñòâîðþâàòè ³íôîðìàö³¿ â³ëüíèé/çàíÿòèé?" + +#: lib/Kronolith.php:1311 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"ßêùî Âàø ïî÷òîâèé ê볺íò íå ï³äòðèìóº çàïèòè iTip ìîæåòå âèêîðèñòàòè îäèí ç " +"íàñòóïíèõ ë³íê³â, ùîá ïðèéíÿòè àáî â³äõèëèòè ïîä³þ.\n" +"\n" +"Ùîá ïðèéíÿòè ïîä³þ:\n" +"%s\n" +"\n" +"Ùîá ïðèéíÿòè ïîä³þ ïîïåðåäíüî:\n" +"%s\n" +"\n" +"Ùîá â³äõèëèòè ïîä³þ:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "²ìïîðòóâàííÿ Êàëåíäàðÿ, Êðîê %d" + +#: data.php:310 +msgid "Import/Export Calendar" +msgstr "²ìïîðòóâòàè/Åêñïîðòóâàòè Êàëåíäàð" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "²íäèâ³äóàëüí³ êîðèñòóâà÷³" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "ѳ÷åíü" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "Ëèïåíü" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "×åðâåíü" + +#: data.php:66 templates/edit/edit.inc:345 templates/view/view.inc:138 +msgid "Keywords" +msgstr "Êëþ÷îâ³ ñëîâà" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "Îñòàíí³ 24 ãîäèíè" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "Îñòàíí³ çì³íè:" + +#: templates/month/head.inc:5 templates/month/head_side_by_side.inc:5 +msgid "Last Month" +msgstr "Îñòàíí³é ̳ñÿöü" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "Îñòàíí³é ð³ê" + +#: templates/search/search.inc:54 templates/week/head.inc:6 +msgid "Last week" +msgstr "Îñòàíí³é òèæäåíü" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "Îáìåæèòè ïðîì³æîê ÷àñó íà åêñïîðò:" + +#: config/prefs.php.dist:397 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"Ïîêàçàòè âñ³ êîíòàêòè ïðè çàâàíòàæåíí³ åêðàíó êîíòàêò³â? (ÿêùî âèìêíóòî, Âè " +"ò³ëüêè ïîáà÷èòå êîíòàêòè ÿê³ Âè øóêàëè ÿâíî)" + +#: templates/edit/edit.inc:101 templates/search/search_advanced.inc:85 +msgid "Lo_cation" +msgstr "̳ñöå ïåðåáóâàííÿ" + +#: kronolith.js.php:43 +msgid "Loading ..." +msgstr "Çàâàíòàæåííÿ ..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "Çàâàíòàæóþ..." + +#: data.php:65 templates/prefs/remote_cal_management.inc:25 +#: templates/prefs/remote_cal_management.inc:60 +#: templates/search/event_headers.inc:5 templates/view/view.inc:14 +#: lib/Driver.php:2242 +msgid "Location" +msgstr "̳ñöå ïåðåáóâàííÿ" + +#: config/prefs.php.dist:63 +msgid "Manage remote calendars." +msgstr "Êåðóâàòè ³ääàëåíèìè Êàëåíäàðÿìè" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "Áåðåçåíü" + +#: lib/api.php:128 +msgid "Maximum Number of Events" +msgstr "Ìàêñèìàëüíà ê³ëüê³ñòü ïîä³é" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Ìàêñèìàëüíó ê³ëüê³ñòü ïîä³é äëÿ ïîêàçó (0 = áåç îáìååæíü)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "Òðàâåíü" + +#: lib/Driver.php:2238 +msgid "Me" +msgstr "" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "Çóñòð³÷" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "Ñïèñîê ìåíþ" + +#: templates/edit/edit.inc:168 templates/prefs/default_alarm_management.inc:26 +#: templates/view/view.inc:62 +msgid "Minute(s)" +msgstr "Õâèëèí(à)" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:244 +#: lib/Views/Year.php:77 lib/Block/month.php:107 +msgid "Mo" +msgstr "Ïí" + +#: templates/month/head.inc:17 templates/edit/javascript.inc:67 +#: templates/view/view.inc:99 config/prefs.php.dist:139 +msgid "Monday" +msgstr "Ïîíåä³ëîê" + +#: attendees.php:154 lib/Kronolith.php:1615 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:118 +msgid "Month" +msgstr "̳ñÿöü" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "Ùîì³ñÿöÿ" + +#: templates/edit/edit.inc:255 templates/edit/edit.inc:261 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "Monthly: Recurs every" +msgstr "" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "̳ñÿöü íàïåðåä" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "̳ñÿöü íàçàä" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "Äîíèçó" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "Äîãîðè" + +#: lib/api.php:859 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "Çíàéäåíî ê³ëüêà êîìïîíåíò³â iCalendar; ï³äòðèìóºòüñÿ ò³ëüêè vEvent." + +#: calendars.php:128 +msgid "My Calendars" +msgstr "Ìî¿ Êàëåíäàð³" + +#: templates/panel.inc:54 +msgid "My Calendars:" +msgstr "Ìî¿ êàëåíäàð³:" + +#: templates/calendars/calendars.inc:154 +msgid "My Free/Busy URL" +msgstr "̳é URL â³ëüíèé/çàíÿòèé" + +#: templates/contacts/contacts.inc:188 templates/calendars/calendars.inc:60 +#: templates/calendars/calendars.inc:103 +#: templates/prefs/remote_cal_management.inc:24 +#: templates/prefs/remote_cal_management.inc:52 +msgid "Name" +msgstr "²ì'ÿ" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "Íîâà ïîä³ÿ" + +#: lib/Kronolith.php:317 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "" +"Íîâèé êàëåíäàð ñòâîðåíî à àâîòìàòè÷íî ðîçìíîæåíî ñåðåä òàêèõ ãðóï(è): %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "Íàñòóïíèé" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "Íàñòóïí³ 24 ãîäèíè" + +#: lib/FBView/day.php:29 +msgid "Next Day" +msgstr "Íàñòóïíèé äåíü" + +#: templates/month/head.inc:7 templates/month/head_side_by_side.inc:7 +#: lib/FBView/month.php:32 +msgid "Next Month" +msgstr "Íàñòóïíèé ì³ñÿöü" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "Íàñòóïíèé òèæäåíü" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "Íàñòóïíèé ð³ê" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "Íàñòóïíèé äåíü" + +#: templates/search/search.inc:58 templates/week/head.inc:8 +msgid "Next week" +msgstr "Íàñòóïíèé òèæäåíü" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:364 +msgid "No" +msgstr "ͳ" + +#: templates/edit/edit.inc:163 templates/view/view.inc:67 +msgid "No alarm" +msgstr "Áåç äçâîíèêà" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "Áåç ó÷àñíèê³â" + +#: lib/api.php:1009 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" + +#: lib/Kronolith.php:1768 +msgid "No calendars are available to guests." +msgstr "Íåìຠêàëåíäàð³â ùîá øóêàòè" + +#: templates/edit/edit.inc:293 templates/view/view.inc:124 +msgid "No end date" +msgstr "Íåìà äàòè ê³íöÿ" + +#: lib/Block/monthlist.php:175 lib/Block/prevmonthlist.php:166 +#: lib/Block/summary.php:208 +msgid "No events to display" +msgstr "Íåìà ïîä³é äëÿ ïîêàçó" + +#: lib/FreeBusy.php:214 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "" + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "²íôîðìàö³ÿ â³ëüíèé/çàíÿòèé íå äîñòóïíà äëÿ %s" + +#: lib/FreeBusy.php:215 +#, php-format +msgid "No free/busy url found for %s." +msgstr "" + +#: lib/api.php:397 lib/api.php:590 lib/api.php:621 lib/api.php:866 +msgid "No iCalendar data was found." +msgstr "Äàíèõ â iCalendar íå çíàéäåíî." + +#: templates/edit/edit.inc:230 lib/Driver.php:1139 lib/Recurrence.php:191 +msgid "No recurrence" +msgstr "" + +#: lib/FreeBusy.php:166 +msgid "No valid email address found" +msgstr "Íå çíàéäåíî æîäíî¿ ä³éñíî¿ àäðåñè e-ïîøòè" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1057 +#: lib/Kronolith.php:1078 +msgid "None" +msgstr "Æîäåí" + +#: lib/Views/DeleteEvent.php:27 lib/Views/EditEvent.php:27 +#: lib/Views/Event.php:26 +msgid "Not Found" +msgstr "Íå çíàéäåíî" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "Íå çíàéäåíî" + +#: config/prefs.php.dist:76 +msgid "Notifications" +msgstr "Íàãàäóâàíÿí" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "Ëèñòîïàä" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "Çàðàç" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "Ñòâîðþâà÷ îá'ºêòó" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Æîâòåíü" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "" + +#: config/prefs.php.dist:341 config/prefs.php.dist:354 +#: config/prefs.php.dist:367 +msgid "On all calendars I have read access to" +msgstr "" + +#: config/prefs.php.dist:340 config/prefs.php.dist:353 +#: config/prefs.php.dist:366 +msgid "On all shown calendars" +msgstr "" + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:365 +msgid "On my calendars only" +msgstr "" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "" +"Ò³ëüêè âëàñíèê àáî àäì³í³ñòðàòîð ìîæå çì³íèòè ïðàâà âëàñíîñò³ íà ï³ñî÷íèöþ" + +#: lib/Kronolith.php:1075 +msgid "Optional" +msgstr "Îïö³éíèé" + +#: lib/FBView.php:119 +msgid "Optional Attendees" +msgstr "Íåîáîâ'ÿçêîâ³ Ó÷àñíèêè" + +#: config/prefs.php.dist:93 +msgid "Other Options" +msgstr "²íø³ îïö³¿" + +#: lib/FBView.php:154 +msgid "Overview" +msgstr "Çàãàëüíèé îãëÿä" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "Âëàñíèê" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "Ïðàâà Âëàñíèêà" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "Âëàñíèê:" + +#: lib/Driver.php:2237 +#, php-format +msgid "Owner: %s" +msgstr "Âëàñíèê: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "ÐÌ" + +#: templates/prefs/remote_cal_management.inc:76 +msgid "Password" +msgstr "Ïàðîëü" + +#: templates/edit/edit.inc:225 templates/view/view.inc:93 +msgid "Pattern" +msgstr "Òðàôàðåò" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "Âäàëèòè öþ ïîä³þ íàçàâæäè?" + +#: lib/api.php:569 lib/api.php:662 lib/api.php:715 lib/api.php:803 +#: lib/api.php:836 lib/api.php:928 lib/api.php:984 lib/Driver/sql.php:776 +msgid "Permission Denied" +msgstr "Äîñòóï çàáîðîíåíèé" + +#: templates/calendars/calendars.inc:111 +msgid "Permissions" +msgstr "Ïðàâà" + +#: lib/Imple/ContactAutoCompleter.php:224 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "Áóäü-ëàñêà, óòî÷í³òü àáî âèïðàâòå íåêîðåêòí³ àäðåñè." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "Îïö³¿ Ïîðòàëó" + +#: lib/FBView/day.php:25 +msgid "Previous Day" +msgstr "Ïîïåðåäí³é äåíü" + +#: lib/FBView/month.php:26 +msgid "Previous Month" +msgstr "Ïîïåðåäí³é ì³ñÿöü" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "Ïîïåðåäí³é òèæäåíü" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "Ïîïåðåäí³é äåíü" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "" + +#: lib/Driver.php:1259 +#, php-format +msgid "Private Event from %s to %s" +msgstr "Ïðèâàòíà ïîä³ÿ â³ä %s äî %s" + +#: lib/Driver.php:2168 lib/Driver.php:2169 +msgid "Private event" +msgstr "Ïðèâàòíà ïîä³ÿ" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "Ïðèâàòíå?" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "×èòàòè" + +#: templates/edit/edit.inc:290 templates/view/view.inc:123 +msgid "Recur Until" +msgstr "" + +#: templates/edit/edit.inc:219 templates/view/view.inc:90 +msgid "Recurrence" +msgstr "" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "" + +#: lib/Driver.php:1999 +msgid "Recurrence End Day" +msgstr "" + +#: lib/Driver.php:1984 +msgid "Recurrence End Month" +msgstr "" + +#: lib/Driver.php:1967 +msgid "Recurrence End Year" +msgstr "" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "" + +#: lib/Kronolith.php:991 +msgid "Recurs daily" +msgstr "" + +#: lib/Kronolith.php:998 +msgid "Recurs monthly" +msgstr "" + +#: lib/Kronolith.php:994 +msgid "Recurs weekly" +msgstr "" + +#: lib/Kronolith.php:1003 +msgid "Recurs yearly" +msgstr "" + +#: lib/Scheduler/kronolith.php:261 +#, php-format +msgid "Reminder: %s" +msgstr "Íàãàäóâà÷: %s" + +#: config/prefs.php.dist:62 +msgid "Remote Calendars" +msgstr "³ääàëåí³ Êàëåíäàð³" + +#: templates/panel.inc:72 +msgid "Remote Calendars:" +msgstr "³ääàëåí³ êàëåíäàð³:" + +#: templates/calendars/calendars.inc:135 +msgid "Remote Subscription URL" +msgstr "³ääàëåíèé URL ï³äïèñêè" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "Âèäàëèòè" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "Âèäàëèòè %s" + +#: attendees.php:145 +msgid "Remove Attendee" +msgstr "Âèäàëèòè Ó÷àñíèêè" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "Âèäàëèòè äæåðåëî" + +#: lib/Driver.php:255 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "" +"Âèäàëåííÿ äàíèõ êîðèñòóâà÷à íå ï³äòðèìóºòüñÿ ïîòî÷íîþ ï³äñèñòåìîþ çáåð³ãàííÿ " +"êàëåíäàðà." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"Çàì³íèòè ³ñíóþ÷èé êàëåíäàð ³ìïîðòîâàíèì? Óâàãà: Öå âèäàëèòü âñ³ " +"åëåìåíòè Âàøîãî ïîòî÷íîãî êàëåíäàðÿ. " + +#: lib/Kronolith.php:1082 +msgid "Required" +msgstr "Íåîáõ³äíèé" + +#: lib/FBView.php:98 lib/FBView.php:139 lib/FBView.php:142 lib/FBView.php:145 +msgid "Required Attendees" +msgstr "Íåîáõ³äí³ Ó÷àñíèêè" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:380 +msgid "Reset to Defaults" +msgstr "Î÷èñòèòè äî òèïîâèõ" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "³äïîâ³äü" + +#: config/prefs.php.dist:166 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:249 +#: lib/Views/Year.php:82 lib/Block/month.php:107 +msgid "Sa" +msgstr "Ñá" + +#: templates/month/head.inc:22 templates/edit/javascript.inc:72 +#: templates/view/view.inc:104 +msgid "Saturday" +msgstr "Ñóáîòà" + +#: templates/panel.inc:82 templates/calendars/calendars.inc:144 +msgid "Save" +msgstr "Çáåðåãòè" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "Çáåðåãòè %s" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1646 +#: lib/Views/EditEvent.php:78 lib/Views/EditEvent.php:88 +msgid "Save As New" +msgstr "Çáåðåãòè ÿê Íîâèé" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Çáåðåãòè Ó÷àñíèê³â" + +#: new.php:56 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "Çáåðåãòè ïîä³þ" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Çáåðåãòè ³ Çàê³í÷èòè" + +#: search.php:89 templates/contacts/contacts.inc:155 +#: templates/search/search.inc:67 templates/search/search_advanced.inc:114 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "Ïîøóê" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "Ðåçóëüòàòè ïîøóêó" + +#: templates/panel.inc:48 +msgid "Search for Calendars:" +msgstr "" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "Ðåçóëüòàòè ïîøóêó" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "Ïîøóê â³ëüíèé/çàéíÿòèé íå äîñòóïíèé." + +#: templates/calendars/calendars.inc:23 templates/calendars/calendars.inc:138 +msgid "Select a calendar above to display the Remote Subscription URL" +msgstr "" + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:130 +msgid "Select a calendar above to display the URL" +msgstr "" + +#: templates/calendars/calendars.inc:94 +msgid "Select a calendar to edit" +msgstr "Âèáåð³òü êàëåíäàð äëÿ ðåäàãóâàííÿ" + +#: templates/edit/edit.inc:311 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "Âèáåð³òü äàòó" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Âèáåð³òü ãðóïó äëÿ äîäàâàííÿ" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Âèáåð³òü ãðóïó äëÿ äîäàâàííÿ:" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Âèáåð³òü íîâîãî âëàñíèêà:" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "Âèáåð³òü, ÿêîãî êîðèñòóâà÷à äîäàòè:" + +#: config/prefs.php.dist:95 +msgid "Select address book sources for adding and searching for addresses." +msgstr "Âêàæ³òü äæåðåëà àäðåñíèêà äëÿ ïîøóêó ³ äîäàâàííÿ àäðåñ." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "Âèáåð³òü âñ³ ïîëÿ äëÿ ïîøóêó ïðè ðîçêðèòò³ àäðåñ." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "" + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Âêàæ³òü êàëåíäàð, â ÿêèé ³ìïîðòóâàòè:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Âêàæ³òü êàëåíäàð(³), ç ÿêèõ åêñïîðòóâàòè" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Âèáåð³òü ôîðìàòè åêñïîðòó:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Âèáåð³òü ôàéë äëÿ ³ìïîðòó:" + +#: config/prefs.php.dist:137 +msgid "Select the first weekday:" +msgstr "Âèáåð³òü ïåðøèé äåíü òèæíÿ:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Âèáåð³òü ôîðìàò âèõ³äíîãî ôàéëó:" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "Âèáåð³òü ïðîì³æîê ÷àñó äëÿ ïîêàçó:" + +#: config/prefs.php.dist:119 +msgid "Select the view to display on startup:" +msgstr "Âèáåð³òü âèä ñòîð³íêè ïðè âõîä³:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Âèáåð³òü ÿê³ ïî䳿 ïîêàçóâàòè â ïîðòàë³." + +#: config/prefs.php.dist:265 +msgid "Select which external events you would like to display" +msgstr "Âèáåð³òü, ÿê³ çîâí³øí³ ïî䳿 ïîêàçóâàòè" + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "Âèáðàí³ àäðåñíèêè:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "Âèáðàí³ àäðåñè" + +#: templates/delete/delete.inc:19 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "" +"Íàä³ñëàòè ïîâ³äîìëåííÿ ïðî â³äì³íó âñ³ì ó÷àñíèêàì ïðè âèäàëåíí³ ö³º¿ ïî䳿" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "Íàä³ñëàòè ëèñòà äî %s" + +#: templates/edit/edit.inc:205 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "Âåðåñåíü" + +#: config/prefs.php.dist:70 +msgid "Set default values for new events." +msgstr "" + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "Âñòàíîâ³òü äàòó ê³íöÿ" + +#: templates/edit/edit.inc:311 +msgid "Set recurrence end date" +msgstr "" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "" + +#: config/prefs.php.dist:87 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "" + +#: calendars.php:80 +#, php-format +msgid "Share not found: %s" +msgstr "ϳñî÷íèöÿ íå çíàéäåíà: %s" + +#: templates/panel.inc:64 +msgid "Shared Calendars:" +msgstr "Ñï³ëüí³ Êàëåíäàð³:" + +#: templates/edit/javascript.inc:262 templates/perms/perms.inc:30 +#: templates/perms/perms.inc:57 templates/perms/perms.inc:86 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:127 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:168 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:209 +#: templates/perms/perms.inc:221 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:291 templates/perms/perms.inc:303 +#: templates/perms/perms.inc:337 +msgid "Show" +msgstr "Ïîêàçàòè" + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Ïîêàçàòè ïàíåëü îïö³é êàëåíäàðà?" + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Ïîêàçàòè ïîçíà÷åííÿ êàòåãîð³é?" + +#: config/prefs.php.dist:188 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "" + +#: config/prefs.php.dist:274 +msgid "Show external events using category colors?" +msgstr "" + +#: config/prefs.php.dist:218 +msgid "Show free/busy legend?" +msgstr "Ïîêàçàòè ïîçíà÷åííÿ â³ëüíèé/çàíÿòèé?" + +#: config/prefs.php.dist:255 +msgid "Show only events that have an alarm set?" +msgstr "Ïîêàçóâàòè ò³ëüêè ïî䳿 ç âñòàíîâëåíèì íàãàäóâàííÿì?" + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "Ïîêàçàòè ñï³ëüí³ êàëåíäàð³ ïîðÿä?" + +#: config/prefs.php.dist:128 +msgid "Show time of day between each day in week views?" +msgstr "" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "Ñòàðò" + +#: data.php:56 +msgid "Start Date" +msgstr "Ïî÷àòêîâà äàòà" + +#: templates/data/export.inc:68 lib/Driver.php:1859 +msgid "Start Day" +msgstr "" + +#: templates/data/export.inc:87 lib/Driver.php:1870 +msgid "Start Hour" +msgstr "" + +#: templates/data/export.inc:102 lib/Driver.php:1880 +msgid "Start Minute" +msgstr "" + +#: templates/data/export.inc:54 lib/Driver.php:1850 +msgid "Start Month" +msgstr "" + +#: templates/data/export.inc:37 templates/search/event_headers.inc:7 +#: templates/view/view.inc:35 +msgid "Start On" +msgstr "" + +#: data.php:57 +msgid "Start Time" +msgstr "" + +#: templates/data/export.inc:39 lib/Driver.php:1839 +msgid "Start Year" +msgstr "" + +#: templates/edit/edit.inc:110 templates/search/search_advanced.inc:94 +msgid "Stat_us" +msgstr "Ñòàòóñ" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "Ñòàòóñ" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "" + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:250 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:109 +#: lib/Block/month.php:111 +msgid "Su" +msgstr "Íä" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/edit/javascript.inc:66 templates/view/view.inc:105 +#: config/prefs.php.dist:138 +msgid "Sunday" +msgstr "Íåä³ëÿ" + +#: config/prefs.php.dist:38 +msgid "Tasks and other external events" +msgstr "" + +#: lib/Kronolith.php:1030 lib/Kronolith.php:1053 +msgid "Tentative" +msgstr "Ïîïåðåäíüî" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:247 +#: lib/Views/Year.php:80 lib/Block/month.php:107 +msgid "Th" +msgstr "×ò" + +#: data.php:238 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "Ôàéë %s íå ì³ñòèòü æîäíèõ ïîä³é." + +#: lib/Driver.php:45 +msgid "The Calendar backend is not currently available." +msgstr "" + +#: lib/Driver.php:200 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "³êíà ðåäàãóâàííÿ ó÷àñíèê³â á³ëüøå íåìàº. Âèõîäæó." + +#: calendars.php:73 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "Êàëåíäàð \"%s\" íå ìîæå áóòè âèòåðòèé." + +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "Êàëåíäàð \"%s\" áóâ ñòâîðåíèé." + +#: calendars.php:91 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "Ðåºñòð \"%s\" áóâ âèòåðòèé." + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Êàëåíäàð \"%s\" ïåðåéìåíîâàíî íà \"%s\"." + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Êàëåíäàð \"%s\" çáåðåæåíî." + +#: data.php:246 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "Êàëåíäàð íå ìîæå áóòè î÷èùåíèé: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "Äàòà ê³íöÿ ïîâèííà áóòè ï³çí³øå í³æ ïî÷àòêó." + +#: lib/Kronolith.php:1461 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "Ïîä³ÿ \"%s\" âíåñåíà ó \"%s\" êàëåíäàð, ÿêèé º íà %s â %s." + +#: lib/Kronolith.php:1471 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "Ïîä³ÿ \"%s\" âèäàëåíà ç \"%s\" êàëåíäàðÿ, ÿêèé º íà %s â %s." + +#: lib/Kronolith.php:1466 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "Ïîä³ÿ \"%s\" áóëà ðåäàãîâàíà ó \"%s\" êàëåíäàð³, ÿêèé º íà %s â %s." + +#: lib/Kronolith.php:1351 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Ïîâ³äîìëåííÿ ïðî ïîä³þ %s óñï³øíî ïîñëàíî." + +#: lib/Kronolith.php:1305 +msgid "The following is a more detailed description of the event:" +msgstr "Íàñòóïíå º á³ëüø äåòàëüíèì îïèñîì ïî䳿:" + +#: lib/FreeBusy.php:191 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "" + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "" +"Çàïèò íå çàâåðøåíî. Äåÿê³ ïàðàìåòðè, ùî º îáîâ'ÿçêîâèìè äëÿ ïðèéíÿòòÿ àáî " +"â³äõèëåííÿ ïî䳿 âòðà÷åíî." + +#: lib/Views/DeleteEvent.php:40 lib/Views/EditEvent.php:43 +#: lib/Views/Event.php:41 +msgid "The requested event was not found." +msgstr "Âêàçàíó ïîä³þ íå çíàéäåíî." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "Íåìຠïîä³é, ùî â³äïîâ³äàþòü öèì êðèòåð³ÿì." + +#: add.php:24 edit.php:46 edit.php:68 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "Òðàïèëàñü ïîìèëêà ïðè äîñòóï³ äî êàëåíäàðÿ: %s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Òðàïèëàñü ïîìèëêà ïðè äîäàíí³ ïî䳿: %s" + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "Òðàïèëàñü ïîìèëêà ïðè ðåäàãóâàíí³ ïî䳿: %s" + +#: lib/api.php:389 lib/api.php:582 lib/api.php:851 +msgid "There was an error importing the iCalendar data." +msgstr "Òðàïèëàñü ïîìèëêà ³ìïîðòó äàíèõ ç iCalendar" + +#: edit.php:142 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "Òðàïèëàñü ïîìèëêà ïðè ïåðåì³ùåííÿ ïî䳿: %s" + +#: lib/Kronolith.php:1356 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "Òðàïèëàñü ïîìèëêà ïðè íàäñèëàíí³ ïîâ³äîìëåííÿ ïðî ïîä³þ %s: %s" + +#: data.php:109 +msgid "There were no events to export." +msgstr "Íåìຠæîäíèõ ïîä³é äëÿ åêñïîðòó." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "Öåé ̳ñÿöü" + +#: data.php:194 +msgid "This file format is not supported." +msgstr "Öåé ôîðìàò ôàéëó íå ï³äòðèìóºòüñÿ." + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" + +#: data.php:266 +#, php-format +msgid "This is what the server said: %s" +msgstr "Îñü ùî ñêàçàâ ñåðâåð: %s" + +#: templates/month/head.inc:20 templates/edit/javascript.inc:70 +#: templates/view/view.inc:102 +msgid "Thursday" +msgstr "Ñüîãîäí³" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "×àñîâèé ïðîì³æîê" + +#: templates/edit/edit.inc:58 templates/search/search_advanced.inc:34 +msgid "Tit_le" +msgstr "Íàçâà" + +#: data.php:55 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "Íàçâà" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"Äëÿ âèáîðó ê³ëüêîõ ïîë³â óòðèìóéòå íàòèñíåíîþ êëàâ³øó Control (PC) àáî " +"Command (Mac)." + +#: lib/Block/monthlist.php:132 lib/Block/prevmonthlist.php:125 +#: lib/Block/summary.php:140 +msgid "Today" +msgstr "Ñüîãîäí³" + +#: lib/Block/monthlist.php:134 lib/Block/prevmonthlist.php:127 +#: lib/Block/summary.php:142 +msgid "Tomorrow" +msgstr "Çàâòðà" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:245 +#: lib/Views/Year.php:78 lib/Block/month.php:107 +msgid "Tu" +msgstr "Âò" + +#: templates/month/head.inc:18 templates/edit/javascript.inc:68 +#: templates/view/view.inc:100 +msgid "Tuesday" +msgstr "³âòîðîê" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "Òèï" + +#: templates/calendars/calendars.inc:127 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "Íå ìîæó ç'ºäíàòèñÿ ç SQL ñåðâåðîì." + +#: calendars.php:87 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "Íå ìîæó âèòåðòè \"%s\": %s" + +#: lib/Driver.php:203 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "Íå ìîæó çàâàíòàæèòè âèçíà÷åííÿ %s." + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "Íå ìîæó ïåðåéìåíóâàòè \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "Íå ìîæó îòðèìàòè ³íôîðìàö³þ â³ëüíèé/çàíÿòèé äëÿ %s" + +#: calendars.php:61 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "Íå ìîæó çáåðåãòè êàëåíäàð \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "Íåçàïîâíåíèé" + +#: lib/api.php:453 lib/api.php:628 lib/api.php:686 lib/api.php:746 +#: lib/api.php:871 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "Òèï âì³ñòó íå ï³äòðèìóºòüñÿ: %s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "Íàéáëèæ÷³ ïî䳿" + +#: perms.php:254 +#, php-format +msgid "Updated \"%s\"." +msgstr "Îíîâëåíî \"%s\"." + +#: lib/Kronolith.php:1295 +#, php-format +msgid "Updated: %s." +msgstr "Îíîâëåííÿ: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "²íòåðôåéñ êîðèñòóâà÷à" + +#: templates/prefs/remote_cal_management.inc:68 +msgid "User Name" +msgstr "Íàçâà êîðèñòóâà÷à" + +#: templates/perms/perms.inc:256 +msgid "User to add:" +msgstr "Äîäàòè êîðèñòóâà÷à:" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:164 +#: lib/Block/month.php:167 +msgid "View Day" +msgstr "Ïåðåãëÿä Äíÿ" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:246 +#: lib/Views/Year.php:79 lib/Block/month.php:107 +msgid "We" +msgstr "Ñð" + +#: lib/Driver.php:1555 lib/Scheduler/kronolith.php:265 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" + +#: templates/month/head.inc:19 templates/edit/javascript.inc:69 +#: templates/view/view.inc:101 +msgid "Wednesday" +msgstr "Ñåðåäà" + +#: attendees.php:153 lib/Kronolith.php:1613 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:116 +msgid "Week" +msgstr "Òèæäåíü" + +#: week.php:17 workweek.php:15 lib/Views/Month.php:183 +#, php-format +msgid "Week %d" +msgstr "Òèæäåíü %d" + +#: templates/edit/edit.inc:171 templates/prefs/default_alarm_management.inc:29 +#: templates/view/view.inc:53 +msgid "Week(s)" +msgstr "Òèæäåíü(³)" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "Ùîòèæíÿ" + +#: templates/edit/edit.inc:241 templates/view/view.inc:106 +msgid "Weekly: Recurs every" +msgstr "" + +#: config/prefs.php.dist:157 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "" + +#: config/prefs.php.dist:148 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "" + +#: config/prefs.php.dist:295 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "" + +#: attendees.php:152 lib/Kronolith.php:1611 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:117 +msgid "Work Week" +msgstr "Ðîáî÷èé òèæäåíü" + +#: lib/Kronolith.php:1617 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "гê" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "Ùîð³÷íî" + +#: templates/edit/edit.inc:267 templates/edit/edit.inc:273 +#: templates/edit/edit.inc:279 templates/view/view.inc:112 +#: templates/view/view.inc:114 templates/view/view.inc:116 +msgid "Yearly: Recurs every" +msgstr "" + +#: data.php:41 data.php:255 edit.php:27 new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Âàì íå äîçâîëåíî ñòâîðþâàòè á³ëüøå, í³æ %d ïîä³é." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "Âè íå ó÷àñíèê âêàçàíî¿ ïî䳿." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "" +"Âè ìîæåòå âèêîðèñòîâóâàòè öþ ôîðìó ò³ëüêè ç â³êíà Ðåäàãóâàííÿ Ó÷àñíèê³â." + +#: lib/Kronolith.php:1244 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"Ó Âàøèõ Îñîáèñòèõ Äàíèõ íå âêàçàíà Âàøà å-ïîøòà. Âàì ñë³ä âêàçàòè %sòóò%s " +"äëÿ íàäñèëàííÿ ïîâ³äîìëåíü ïðî ïîä³þ." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Ó Âàñ íåìຠïðàâà äîäàâàòè ïîä³þ äî %s" + +#: data.php:203 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Ó Âàñ íåìຠïðàâà äîäàâàòè ïîä³þ äî âèáðàíîãî êàëåíäàðÿ." + +#: add.php:27 edit.php:159 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Ó Âàñ íåìຠïðàâà äåëåãóâàòè ïî䳿 äî %s." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "Ó Âàñ íåìຠïðàâà âèòèðàòè öþ ïîä³þ." + +#: edit.php:162 +msgid "You do not have permission to edit this event." +msgstr "Ó Âàñ íåìຠïðàâà ðåäàãóâàòè öþ ïîä³þ." + +#: edit.php:156 +msgid "You do not have permission to move this event." +msgstr "Ó Âàñ íåìຠïðàâà ïåðåíåñòè öþ ïîä³þ." + +#: data.php:200 +msgid "You have specified an invalid calendar." +msgstr "Âè âêàçàëè íåâ³ðíèé êàëåíäàð." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "Âè óñï³øíî ïîãîäèëèñü áóòè ïðèñóòí³ì íà ö³é ïî䳿." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "Âè óñï³øíî â³äõèëè â³äâ³äóâàííÿ äî ö³º¿ ïî䳿." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "Âè òèì÷àñîâî ïðèéíÿëè â³äâ³äóâàííÿ ö³º¿ ïî䳿" + +#: calendars.php:94 +msgid "You must select a calendar to be deleted." +msgstr "Âàì ñë³ä âèáðàòè êàëåíäàð ùîá ñòåðòè." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "Ñïåðøó ñë³ä âêàçàòè àäðåñó." + +#: templates/calendars/calendars.inc:114 +msgid "You need to select a calendar first" +msgstr "Ñïåðøó ñë³ä âêàçàòè êàëåíäàð." + +#: lib/Kronolith.php:1461 +msgid "You requested to be notified when events are added to your calendars." +msgstr "Âè çàïðîñèëè ïîâ³äîìëåííÿ êîëè ïî䳿 äîäàþòüñÿ äî Âàøèõ êàëåíäàð³â." + +#: lib/Kronolith.php:1471 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "Âè çàïðîñèëè ïîâ³äîìëåííÿ êîëè ïî䳿 âèäàëÿþòüñÿ ç Âàøèõ êàëåíäàð³â." + +#: lib/Kronolith.php:1466 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "Âè çàïðîñèëè ïîâ³äîìëåííÿ êîëè ïî䳿 ðåäàãóþòüñÿ óî Âàøèõ êàëåíäàðÿõ." + +#: lib/Scheduler/kronolith.php:403 lib/Scheduler/kronolith.php:405 +#, php-format +msgid "Your daily agenda for %s" +msgstr "" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "Âàø îñíîâíèé êàëåíäàð" + +#: templates/panel.inc:59 +msgid "[Manage My Calendars]" +msgstr "" + +#: templates/panel.inc:77 +msgid "[Manage Remote Calendars]" +msgstr "" + +#: lib/Driver.php:1245 lib/Driver.php:1261 +msgid "[Unnamed event]" +msgstr "[Íåíàçâàíà ïîä³ÿ]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "Äçâîíèê" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "Ïðîñòèé Ïîøóê" + +#: lib/Kronolith.php:1646 +msgid "_Edit" +msgstr "Ðåäàãóâàòè" + +#: lib/Kronolith.php:1783 +msgid "_Goto" +msgstr "Ïåðåéòè" + +#: lib/Kronolith.php:1789 +msgid "_Import/Export" +msgstr "²ìïîðò/Åêñïîðò" + +#: lib/Kronolith.php:1779 +msgid "_New Event" +msgstr "Íîâà ïîä³ÿ" + +#: lib/Kronolith.php:1794 +msgid "_Print" +msgstr "Äðóê" + +#: lib/Kronolith.php:1785 +msgid "_Search" +msgstr "Ïîøóê" + +#: lib/Kronolith.php:1774 +msgid "_Today" +msgstr "Ñüîãîäí³" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "ÿê %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "ïåðåä ïî÷àòêîì ïî䳿" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "" + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "äåíü" + +#: templates/edit/edit.inc:236 templates/view/view.inc:96 +msgid "day(s)" +msgstr "Äåíü(³)" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "Äí³" + +#: data.php:155 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:179 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "â" + +#: templates/edit/edit.inc:256 templates/edit/edit.inc:262 +#: templates/view/view.inc:108 templates/view/view.inc:110 +msgid "month(s)" +msgstr "ì³ñÿöü(³)" + +#: lib/Kronolith.php:1301 +#, php-format +msgid "on %s at %s" +msgstr "" + +#: templates/edit/edit.inc:256 templates/view/view.inc:108 +msgid "on the same date" +msgstr "â òó ñàìó äàòó" + +#: templates/edit/edit.inc:262 templates/view/view.inc:110 +msgid "on the same weekday" +msgstr "â òîé ñàìèé òèæäåíü" + +#: templates/edit/edit.inc:321 +msgid "recurrences" +msgstr "" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "òèæäåíü" + +#: templates/edit/edit.inc:243 templates/view/view.inc:106 +msgid "week(s) on:" +msgstr "" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "òèæäí³" + +#: templates/edit/edit.inc:268 templates/view/view.inc:112 +msgid "year(s) on the same date" +msgstr "" + +#: templates/edit/edit.inc:274 templates/view/view.inc:114 +msgid "year(s) on the same day of the year" +msgstr "" + +#: templates/edit/edit.inc:280 templates/view/view.inc:116 +msgid "year(s) on the same weekday and month of the year" +msgstr "" diff --git a/kronolith/po/zh_CN.po b/kronolith/po/zh_CN.po new file mode 100644 index 000000000..6daaeb5f4 --- /dev/null +++ b/kronolith/po/zh_CN.po @@ -0,0 +1,2196 @@ +# Kronolith Simplified Chinese translation. +# Copyright 2002-2009 The Horde Project. +# Zhang Bo , 2002. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 2.0-cvs\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2005-10-18 15:12+0200\n" +"PO-Revision-Date: 2007-09-03 17:48+0800\n" +"Last-Translator: Anna Chen \n" +"Language-Team: Zhang Bo \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=GB2312\n" +"Content-Transfer-Encoding: 8bit\n" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d ʼþ" + +#: templates/edit/edit_timespan.inc:121 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s Ìì %s Сʱ %s ·ÖÖÓ" + +#: lib/Driver.php:2022 +#, php-format +msgid "%s attendees" +msgstr "%s λ²ÎÓëÕß" + +#: data.php:301 +#, php-format +msgid "%s file successfully imported" +msgstr "³É¹¦µ¼Èë %s Îļþ" + +#: calendars.php:105 lib/api.php:201 lib/Kronolith.php:220 +#, php-format +msgid "%s's Calendar" +msgstr "%s µÄÈÕÀú" + +#: templates/contacts/contacts.inc:167 +msgid "* Add these by clicking Add *" +msgstr "* ͨ¹ýµ¥»÷¡°Ìí¼Ó¡±À´Ìí¼ÓÕâЩÏî *" + +#: templates/contacts/contacts.inc:152 +msgid "* Please select address(es) *" +msgstr "* ÇëÑ¡ÔñµØÖ· *" + +#: lib/Driver.php:2021 +msgid "1 attendee" +msgstr "1 λ²ÎÓëÕß" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 ¸öʼþ" + +#: config/prefs.php.dist:171 +msgid "1 hour" +msgstr "1 Сʱ" + +#: config/prefs.php.dist:168 +msgid "15 minutes" +msgstr "15 ·Ö" + +#: config/prefs.php.dist:169 +msgid "20 minutes" +msgstr "20 ·Ö" + +#: config/prefs.php.dist:170 +msgid "30 minutes" +msgstr "30 ·Ö" + +#: templates/edit/edit.inc:174 +msgid "Attendees (optional)" +msgstr "²ÎÓëÕß (¿ÉÑ¡)" + +#: templates/edit/edit.inc:162 +msgid "Descri_ption (optional)" +msgstr "ÃèÊö_P (¿ÉÑ¡)" + +#: templates/edit/edit.inc:278 +msgid "Keywords (optional)" +msgstr "¹Ø¼ü´Ê (¿ÉÑ¡)" + +#: templates/edit/edit.inc:197 +msgid "Recurrence (optional)" +msgstr "ÖÜÆÚ (¿ÉÑ¡)" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "ÉÏÎç" + +#: lib/Kronolith.php:901 +msgid "Accepted" +msgstr "ÒѽÓÊÜ" + +#: templates/search/search.inc:11 +msgid "Ad_vanced Search" +msgstr "¸ß¼¶ËÑË÷_V" + +#: templates/contacts/contacts.inc:161 +msgid "Add" +msgstr "Ìí¼Ó" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "Ìí¼Óʼþ" + +#: templates/prefs/remote_cal_management.inc:43 +msgid "Add a new Remote Calendar" +msgstr "Ìí¼ÓÔ¶³ÌÈÕÀú" + +#: new.php:64 +msgid "Add a new event" +msgstr "Ìí¼Óʼþ" + +#: templates/attendees/attendees.inc:72 +msgid "Add attendees" +msgstr "Ìí¼Ó²ÎÓëÕß" + +#: templates/contacts/contacts.inc:187 +msgid "Add to attendees" +msgstr "Ìí¼Óµ½²ÎÓëÕß" + +#: contacts.php:76 templates/contacts/contacts.inc:128 +#: templates/attendees/attendees.inc:75 +msgid "Address Book" +msgstr "µØÖ·²¾" + +#: templates/search/search_advanced.inc:8 templates/search/search.inc:11 +msgid "Advanced Search" +msgstr "¸ß¼¶ËÑË÷" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "ÌáÐÑ" + +#: lib/Driver.php:1995 +#, php-format +msgid "Alarm %d days before" +msgstr "%d ÌìǰÌáÐÑ" + +#: lib/Driver.php:2000 +#, php-format +msgid "Alarm %d hours before" +msgstr "%d СʱǰÌáÐÑ" + +#: lib/Driver.php:2005 +#, php-format +msgid "Alarm %d minutes before" +msgstr "%d ·ÖÖÓ֮ǰÌáÐÑ" + +#: lib/Driver.php:1990 +#, php-format +msgid "Alarm %d weeks before" +msgstr "%d ÖÜǰÌáÐÑ" + +#: lib/Driver.php:1994 +msgid "Alarm 1 day before" +msgstr "1 ÌìǰÌáÐÑ" + +#: lib/Driver.php:1999 +msgid "Alarm 1 hour before" +msgstr "1 СʱǰÌáÐÑ" + +#: lib/Driver.php:2004 +msgid "Alarm 1 minute before" +msgstr "1 ·ÖÖÓ֮ǰÌáÐÑ" + +#: lib/Driver.php:1989 +msgid "Alarm 1 week before" +msgstr "1 ÖÜǰÌáÐÑ" + +#: data.php:59 +msgid "Alarm Date" +msgstr "ÌáÐÑÈÕÆÚ" + +#: data.php:58 +msgid "Alarm Span (minutes)" +msgstr "ÌáÐѼä¸ô(·ÖÖÓ)" + +#: data.php:60 +msgid "Alarm Time" +msgstr "ÌáÐÑʱ¼ä" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:148 +msgid "Alarm Unit" +msgstr "ÌáÐѵ¥Î»" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:146 +msgid "Alarm Value" +msgstr "ÌáÐÑÖµ" + +#: templates/edit/edit.inc:141 +msgid "Alarm enabled" +msgstr "ÌáÐѹ¦ÄÜÒÑÆôÓÃ" + +#: templates/delete/delete.inc:26 +msgid "All" +msgstr "È«²¿" + +#: lib/FBView.php:128 lib/FBView.php:131 lib/FBView.php:134 +msgid "All Attendees" +msgstr "ËùÓвÎÓëÕß" + +#: templates/perms/perms.inc:84 +msgid "All Authenticated Users" +msgstr "ËùÓÐÑéÖ¤Óû§" + +#: templates/search/search.inc:59 +msgid "All Future" +msgstr "ËùÓнñºóʼþ" + +#: templates/search/search.inc:53 +msgid "All Past" +msgstr "ËùÓйýȥʼþ" + +#: lib/Block/prevmonthlist.php:27 lib/Block/month.php:24 +#: lib/Block/monthlist.php:30 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "ËùÓпɼûÏî" + +#: templates/edit/edit_timespan.inc:120 lib/Driver.php:2067 +#: lib/Views/Day.php:96 lib/Views/Day.php:99 lib/Views/Week.php:142 +#: lib/Views/Week.php:149 +msgid "All day" +msgstr "ÕûÈÕ" + +#: lib/Block/summary.php:173 +msgid "All day event" +msgstr "ÕûÈÕʼþ" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "ËùÓÐʼþ" + +#: templates/search/search_advanced.inc:48 +#: templates/search/search_advanced.inc:70 lib/Kronolith.php:994 +msgid "Any" +msgstr "ÈκÎ" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "ËÄÔÂ" + +#: templates/edit/edit_timespan.inc:38 templates/edit/edit_timespan.inc:91 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "ÔÚ" + +#: lib/Kronolith.php:1141 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Ëù¸½µÄÊÇÓйشËʼþÏêÇéµÄ iCalendar Îļþ¡£Èç¹ûÄúµÄÓʼþ¿Í»§¶ËÖ§³Ö iTip ÇëÇó£¬Ôò" +"¿ÉÒÔʹÓøÃÎļþÇáËɸüдËʼþµÄ±¾µØ°æ±¾¡£" + +#: perms.php:43 +msgid "Attempt to edit a non-existent share." +msgstr "³¢ÊԱ༭²»´æÔڵĹ²Ïí¡£" + +#: templates/attendees/attendees.inc:42 templates/attendees/attendees.inc:54 +#: templates/view/view.inc:159 +msgid "Attendance" +msgstr "²ÎÓë" + +#: templates/view/view.inc:155 +msgid "Attendees" +msgstr "²ÎÓëÕß" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "°ËÔÂ" + +#: templates/search/search_advanced.inc:11 templates/search/search.inc:8 +msgid "Basic Search" +msgstr "»ù±¾ËÑË÷" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "ÉúÈÕ" + +#: lib/FBView.php:90 lib/FBView.php:111 +msgid "Busy" +msgstr "æ" + +#: templates/search/search_advanced.inc:42 +msgid "C_alendar" +msgstr "ÈÕÀú_A" + +#: templates/edit/edit.inc:49 +msgid "Cal_endar" +msgstr "ÈÕÀú_E" + +#: templates/calendars/calendars.inc:90 lib/Block/prevmonthlist.php:21 +#: lib/Block/month.php:21 lib/Block/monthlist.php:21 lib/Block/summary.php:22 +msgid "Calendar" +msgstr "ÈÕÀú" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "ÈÕÀúÕªÒª" + +#: data.php:245 +msgid "Calendar successfully purged." +msgstr "³É¹¦Çå³ýÈÕÀú¡£" + +#: config/prefs.php.dist:45 config/prefs.php.dist:53 config/prefs.php.dist:61 +#: config/prefs.php.dist:82 +msgid "Calendars" +msgstr "ÈÕÀú" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "Ëù´òÓ¡µÄÈÕÀú£º" + +#: calendars.php:27 +msgid "Calendars must have a name." +msgstr "ÈÕÀú±ØÐëÓÐÃû³Æ¡£" + +#: data.php:261 +msgid "Can't create a new event." +msgstr "ÎÞ·¨´´½¨ÐÂʼþ¡£" + +#: templates/delete/one.inc:25 templates/delete/delete.inc:27 +#: templates/edit/edit.inc:33 templates/edit/edit.inc:311 +msgid "Cancel" +msgstr "È¡Ïû" + +#: lib/Kronolith.php:877 +msgid "Cancelled" +msgstr "ÒÑÈ¡Ïû" + +#: lib/Kronolith.php:1115 +#, php-format +msgid "Cancelled: %s" +msgstr "ÒÑÈ¡Ïû£º%s" + +#: templates/search/search_advanced.inc:63 templates/edit/edit.inc:76 +msgid "Categor_y" +msgstr "Àà±ð_Y" + +#: data.php:62 templates/search/event_headers.inc:4 templates/view/view.inc:6 +msgid "Category" +msgstr "Àà±ð" + +#: config/prefs.php.dist:334 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "Èç¹ûÄúÏë½ÓÊÕн¨¡¢±à¼­ºÍɾ³ýʼþµÄµç×ÓÓʼþ֪ͨ£¬ÇëÑ¡Ôñ£º" + +#: config/prefs.php.dist:77 +msgid "Choose if you want to be notified of new, edited, and deleted events." +msgstr "Èç¹ûÄúÏë½ÓÊÕн¨¡¢±à¼­ºÍɾ³ýʼþµÄ֪ͨ£¬ÇëÑ¡Ôñ£º" + +#: config/prefs.php.dist:347 +msgid "Choose if you want to receive email reminders for events with alarms:" +msgstr "Èç¹ûÄúÏë½ÓÊÕÌáʾʼþµÄµç×ÓÓʼþ֪ͨ£¬ÇëÑ¡Ôñ£º" + +#: templates/prefs/search_abook_select.inc:19 config/prefs.php.dist:367 +msgid "Choose the address books to search for free/busy URLs:" +msgstr "Ñ¡Ôñ½øÐÐËÑË÷æ/ÏÐ URL ËÑË÷µÄµØÖ·²¾£º" + +#: templates/prefs/fb_cals_select.inc:16 +msgid "Choose the calendars to include in your free/busy information:" +msgstr "Ñ¡ÔñÒª°üº¬ÔÚæ/ÏÐÐÅÏ¢ÖеÄÈÕÀú£º" + +#: config/prefs.php.dist:390 +msgid "Choose the calendars to include when generating free/busy URLs:" +msgstr "Ñ¡ÔñÒªÔÚÉú³Éæ/ÏÐ URL ʱ°üº¬µÄÈÕÀú£º" + +#: config/prefs.php.dist:55 +msgid "Choose which holidays to display" +msgstr "Ñ¡ÔñÒªÏÔʾµÄ¼ÙÆÚ" + +#: config/prefs.php.dist:47 +msgid "Choose your default calendar." +msgstr "Ñ¡ÔñĬÈÏÈÕÀú¡£" + +#: templates/attendees/attendees.inc:86 +msgid "Clear all attendees" +msgstr "Çå³ýËùÓвÎÓëÕß" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "¹Ø±Õ´°¿Ú" + +#: templates/contacts/contacts.inc:188 +msgid "Close window" +msgstr "¹Ø±Õ´°¿Ú" + +#: data.php:28 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "¶ººÅ·Ö¸ô(CSV)" + +#: config/prefs.php.dist:98 +msgid "Confirm deletion of events?" +msgstr "ÊÇ·ñÈ·¶¨É¾³ýʼþ£¿" + +#: lib/Kronolith.php:874 +msgid "Confirmed" +msgstr "ÒÑÈ·ÈÏ" + +#: templates/calendars/calendars.inc:160 +msgid "Copy the URL below for use wherever you need your Free/Busy URL:" +msgstr "ÎÞÂۺδ¦ÐèҪæ/ÏÐ URL ʱÔò¿ÉÒÔ¸´ÖÆÏÂÃæµÄ URL£º" + +#: lib/Kronolith.php:312 +#, php-format +msgid "Could not open %s." +msgstr "ÎÞ·¨´ò¿ª %s¡£" + +#: templates/calendars/calendars.inc:69 +msgid "Create" +msgstr "´´½¨" + +#: templates/calendars/calendars.inc:55 +msgid "Create Calendar" +msgstr "´´½¨ÈÕÀú" + +#: templates/week/head.inc:29 lib/Views/Day.php:96 lib/Views/Day.php:244 +#: lib/Views/Month.php:170 +msgid "Create a New Event" +msgstr "´´½¨ÐÂʼþ" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "ÒÑ´´½¨" + +#: templates/delete/delete.inc:24 +msgid "Current" +msgstr "µ±Ç°" + +#: templates/view/view.inc:96 templates/edit/edit.inc:211 +msgid "Daily: Recurs every" +msgstr "ÿÈÕ£ºÖÜÆÚ" + +#: attendees.php:113 lib/Kronolith.php:1438 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:107 +msgid "Day" +msgstr "ÈÕ" + +#: templates/prefs/default_alarm_management.inc:28 templates/view/view.inc:56 +#: templates/edit/edit.inc:152 +msgid "Day(s)" +msgstr "ÈÕ" + +#: lib/Kronolith.php:1480 +msgid "De_lete" +msgstr "ɾ³ý_L" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "Ê®¶þÔÂ" + +#: lib/Kronolith.php:904 +msgid "Declined" +msgstr "ÒѾܾø" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "ĬÈÏÌáÐÑÉèÖãº" + +#: config/prefs.php.dist:46 +msgid "Default Calendar" +msgstr "ĬÈÏÈÕÀú" + +#: templates/perms/perms.inc:34 templates/perms/perms.inc:73 +#: templates/perms/perms.inc:90 templates/perms/perms.inc:114 +#: templates/perms/perms.inc:131 templates/perms/perms.inc:155 +#: templates/perms/perms.inc:172 templates/perms/perms.inc:196 +#: templates/perms/perms.inc:213 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:278 templates/perms/perms.inc:295 +#: templates/perms/perms.inc:319 templates/perms/perms.inc:353 +msgid "Delegate" +msgstr "ίÅÉ" + +#: templates/calendars/calendars.inc:145 templates/delete/one.inc:24 +#: templates/prefs/remote_cal_management.inc:30 templates/perms/perms.inc:33 +#: templates/perms/perms.inc:69 templates/perms/perms.inc:89 +#: templates/perms/perms.inc:110 templates/perms/perms.inc:130 +#: templates/perms/perms.inc:151 templates/perms/perms.inc:171 +#: templates/perms/perms.inc:192 templates/perms/perms.inc:212 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:274 +#: templates/perms/perms.inc:294 templates/perms/perms.inc:315 +#: templates/perms/perms.inc:349 lib/Driver.php:2049 +msgid "Delete" +msgstr "ɾ³ý" + +#: lib/Driver.php:2048 lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "ɾ³ý %s" + +#: templates/delete/delete.inc:22 +msgid "" +"Delete the current event only, this occurrence and all future occurences, or " +"all occurences?" +msgstr "ÊÇ·ñ½öɾ³ýµ±Ç°Ê¼þ¡¢´Ëż·¢Ê¼þºÍ½ñºóµÄż·¢Ê¼þ£¬»òËùÓеÄż·¢Ê¼þ£¿" + +#: templates/search/search_advanced.inc:103 +msgid "Descri_ption" +msgstr "ÃèÊö_P" + +#: templates/search/search.inc:28 +msgid "Descri_ption:" +msgstr "ÃèÊö_P£º" + +#: data.php:61 templates/calendars/calendars.inc:119 +#: templates/view/view.inc:142 +msgid "Description" +msgstr "ÃèÊö" + +#: templates/contacts/contacts.inc:176 +msgid "Display" +msgstr "ÏÔʾ" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 config/prefs.php.dist:37 +msgid "Display Options" +msgstr "ÏÔʾѡÏî" + +#: config/prefs.php.dist:39 +msgid "" +"Do you want to show external events in your calendar (like tasks which are " +"due etc) ?" +msgstr "ÄúÏëÔÚÈÕÀúÖÐÏÔʾÍⲿʼþ(Èçµ½ÆÚÈÎÎñµÈ)Âð£¿" + +#: lib/Kronolith.php:844 +msgid "Does not recur" +msgstr "²»Ñ­»·" + +#: lib/Kronolith.php:520 +#, php-format +msgid "Due: %s" +msgstr "½ØÖ¹Ê±¼ä£º%s" + +#: templates/edit/edit_timespan.inc:113 +msgid "Duration" +msgstr "³ÖÐøÊ±¼ä" + +#: lib/Driver.php:1797 +msgid "Duration Day" +msgstr "³ÖÐøÌìÊý" + +#: lib/Driver.php:1809 +msgid "Duration Hour" +msgstr "³ÖÐøÐ¡Ê±" + +#: lib/Driver.php:1820 +msgid "Duration Minute" +msgstr "³ÖÐø·ÖÖÓ" + +#: templates/calendars/calendars.inc:114 +#: templates/prefs/remote_cal_management.inc:31 templates/perms/perms.inc:32 +#: templates/perms/perms.inc:65 templates/perms/perms.inc:88 +#: templates/perms/perms.inc:106 templates/perms/perms.inc:129 +#: templates/perms/perms.inc:147 templates/perms/perms.inc:170 +#: templates/perms/perms.inc:188 templates/perms/perms.inc:211 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:270 +#: templates/perms/perms.inc:293 templates/perms/perms.inc:311 +#: templates/perms/perms.inc:345 lib/Driver.php:2041 +msgid "Edit" +msgstr "±à¼­" + +#: lib/Driver.php:2040 lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "±à¼­ %s" + +#: templates/edit/edit.inc:190 +msgid "Edit Attendees" +msgstr "±à¼­²ÎÓëÕß" + +#: templates/calendars/calendars.inc:84 +msgid "Edit Calendars" +msgstr "±à¼­ÈÕÀú" + +#: perms.php:258 +msgid "Edit Permissions" +msgstr "±à¼­È¨ÏÞ" + +#: perms.php:260 +#, php-format +msgid "Edit Permissions for %s" +msgstr "±à¼­ %s ȨÏÞ" + +#: attendees.php:165 +msgid "Edit attendees" +msgstr "±à¼­²ÎÓëÕß" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "±à¼­Àà±ðºÍÉ«²Ê" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "±à¼­ %s ȨÏÞ" + +#: templates/contacts/contacts.inc:179 templates/attendees/attendees.inc:41 +#: templates/view/view.inc:158 +msgid "Email Address" +msgstr "µç×ÓÓʼþµØÖ·" + +#: templates/edit/edit_timespan.inc:59 +msgid "En_d" +msgstr "½áÊø_D" + +#: data.php:56 +msgid "End Date" +msgstr "½áÊøÈÕÆÚ" + +#: templates/data/export.inc:161 lib/Driver.php:1768 +msgid "End Day" +msgstr "½áÊøÈÕ" + +#: templates/data/export.inc:178 lib/Driver.php:1781 +msgid "End Hour" +msgstr "½áÊøÊ±¼ä" + +#: templates/data/export.inc:190 lib/Driver.php:1792 +msgid "End Minute" +msgstr "½áÊø·ÖÖÓ" + +#: templates/data/export.inc:148 lib/Driver.php:1759 +msgid "End Month" +msgstr "½áÊøÔÂ" + +#: templates/search/event_headers.inc:8 templates/view/view.inc:41 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "½áÊø" + +#: data.php:57 +msgid "End Time" +msgstr "½áÊøÊ±¼ä" + +#: templates/data/export.inc:134 lib/Driver.php:1748 +msgid "End Year" +msgstr "½áÊøÄê" + +#: attendees.php:157 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "¼ìË÷ %s æ/ÏÐÐÅϢʱ³ö´í£º%s" + +#: attendees.php:138 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "¼ìË÷æ/ÏÐÐÅϢʱ³ö´í£º%s" + +#: config/prefs.php.dist:69 +msgid "Event Defaults" +msgstr "ʼþĬÈÏÏî" + +#: lib/Kronolith.php:1289 +msgid "Event added:" +msgstr "ËùÌí¼ÓµÄʼþ£º" + +#: lib/Kronolith.php:1299 +msgid "Event deleted:" +msgstr "Ëùɾ³ýµÄʼþ£º" + +#: lib/Kronolith.php:1294 +msgid "Event edited:" +msgstr "Ëù±à¼­µÄʼþ£º" + +#: lib/Driver.php:1220 +#, php-format +msgid "Event from %s to %s" +msgstr "´Ó %s µ½ %s µÄÈÕÀú" + +#: lib/Driver/sql.php:372 +msgid "Event not found" +msgstr "δÕÒµ½Ê¼þ" + +#: config/prefs.php.dist:68 config/prefs.php.dist:75 +msgid "Events" +msgstr "ʼþ" + +#: lib/Driver.php:858 +msgid "Events must have a start date." +msgstr "ʼþ±ØÐëÓпªÊ¼ÈÕÆÚ¡£" + +#: lib/Driver.php:820 +msgid "Events must have a title." +msgstr "ʼþ±ØÐëÓбêÌâ¡£" + +#: templates/attendees/attendees.inc:76 +msgid "Expand Names" +msgstr "À©Õ¹Ãû" + +#: templates/data/export.inc:209 +msgid "Export" +msgstr "µ¼³ö" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "µ¼³öÈÕÀú" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "¶þÔÂ" + +#: templates/contacts/contacts.inc:133 +msgid "Find" +msgstr "ѰÕÒ" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:224 +#: lib/Views/Year.php:81 lib/Block/month.php:98 +msgid "Fr" +msgstr "ÖÜÎå" + +#: lib/Kronolith.php:880 +msgid "Free" +msgstr "䶨" + +#: config/prefs.php.dist:83 +msgid "Free/Busy Information" +msgstr "æ/ÏÐÐÅÏ¢" + +#: templates/month/head.inc:21 templates/view/view.inc:103 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "ÖÜÎå" + +#: templates/delete/delete.inc:25 +msgid "Future" +msgstr "½ñºó" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "ÓÎÏ·" + +#: templates/search/search_advanced.inc:23 +msgid "General" +msgstr "³£¹æ" + +#: lib/Block/summary.php:149 +#, php-format +msgid "Goto %s" +msgstr "תµ½ %s" + +#: templates/perms/perms.inc:289 +msgid "Groups" +msgstr "×é" + +#: templates/perms/perms.inc:125 +msgid "Guest Permissions" +msgstr "À´±öȨÏÞ" + +#: templates/panel.inc:43 +msgid "Hide Options" +msgstr "Òþ²ØÑ¡Ïî" + +#: config/prefs.php.dist:54 +msgid "Holidays" +msgstr "¼ÙÆÚ" + +#: templates/prefs/default_alarm_management.inc:27 templates/view/view.inc:59 +#: templates/edit/edit.inc:151 +msgid "Hour(s)" +msgstr "Сʱ" + +#: config/prefs.php.dist:167 +msgid "How long should the time slots on the day and week views be?" +msgstr "ÈÕÊÓͼºÍÖÜÊÓͼÖеÄ×îСʱ¼äµ¥Î»" + +#: config/prefs.php.dist:356 +msgid "How many days of free/busy information should we generate?" +msgstr "ÐèÒªÉú³É¶àÉÙÈյĿ/ÏÐÐÅÏ¢£¿" + +#: lib/Kronolith.php:1145 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s" +msgstr "" +"Èç¹ûÄúµÄµç×ÓÓʼþ¿Í»§¶Ë²»Ö§³Ö iTip ÇëÇó£¬Ôò¿ÉÒÔʹÓÃÏÂÁÐÁ´½Ó½ÓÊÜ»ò¾Ü¾øÊ¼þ¡£ \n" +"\n" +"ÈôÒª½ÓÊÜʼþ£º\n" +"%s\n" +"\n" +"ÈôÒªÔÝʱ½ÓÊÜʼþ£º\n" +"%s\n" +"\n" +"ÈôÒª¾Ü¾øÊ¼þ£º\n" +"%s" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "µ¼ÈëÈÕÀú£¬²½Öè %d" + +#: data.php:307 +msgid "Import/Export Calendar" +msgstr "µ¼Èë/µ¼³öÈÕÀú" + +#: templates/perms/perms.inc:207 +msgid "Individual Users" +msgstr "µ¥¸öÓû§" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "Ò»ÔÂ" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "ÆßÔÂ" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "ÁùÔÂ" + +#: data.php:64 templates/view/view.inc:126 +msgid "Keywords" +msgstr "¹Ø¼ü´Ê" + +#: templates/search/search.inc:55 +msgid "Last 24 hours" +msgstr "×î½ü 24 Сʱ" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "ÉÏ´ÎÐÞ¸Ä" + +#: templates/month/head_side_by_side.inc:5 templates/month/head.inc:5 +msgid "Last Month" +msgstr "ÉÏÔÂ" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "ÉÏÄê" + +#: templates/search/search.inc:54 templates/week/head.inc:6 +msgid "Last week" +msgstr "ÉÏÖÜ" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "ÏÞÖÆµ¼³öµÄʱ¼ä·¶Î§£º" + +#: config/prefs.php.dist:381 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"ÊÇ·ñÔÚ¼ÓÔØÁªÏµÈËÆÁĻʱÁгöËùÓÐÁªÏµÈË£¿(Èô½ûÓã¬Ôò½ö¿ÉÒÔ¿´µ½·ûºÏËÑË÷Ìõ¼þµÄÁªÏµ" +"ÈË)" + +#: templates/search/search_advanced.inc:85 templates/edit/edit.inc:83 +msgid "Lo_cation" +msgstr "λÖÃ_C" + +#: js/Kronolith.js.php:8 js/src/Kronolith.js.php:72 +msgid "Loading ..." +msgstr "ÕýÔÚ¼ÓÔØ..." + +#: data.php:63 templates/search/event_headers.inc:5 +#: templates/prefs/remote_cal_management.inc:25 +#: templates/prefs/remote_cal_management.inc:60 templates/view/view.inc:14 +#: lib/Driver.php:2089 +msgid "Location" +msgstr "λÖÃ" + +#: config/prefs.php.dist:63 +msgid "Manage remote calendars." +msgstr "¹ÜÀíÔ¶³ÌÈÕÀú¡£" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "ÈýÔÂ" + +#: lib/api.php:113 +msgid "Maximum Number of Events" +msgstr "ʼþ×î´óÊýÁ¿" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "×î¶àÏÔʾµÄʼþÊýÁ¿(0 = ÎÞÏÞÖÆ)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "ÎåÔÂ" + +#: lib/Driver.php:2085 +msgid "Me" +msgstr "ÎÒ" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "»áÒé" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "²Ëµ¥Ìáʾ" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "²Ëµ¥Áбí" + +#: templates/prefs/default_alarm_management.inc:26 templates/view/view.inc:62 +#: templates/edit/edit.inc:150 +msgid "Minute(s)" +msgstr "·ÖÖÓ" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:220 +#: lib/Views/Year.php:77 lib/Block/month.php:98 +msgid "Mo" +msgstr "ÖÜÒ»" + +#: templates/month/head.inc:17 templates/view/view.inc:99 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:131 +msgid "Monday" +msgstr "ÖÜÒ»" + +#: lib/Kronolith.php:1444 lib/Block/tree_menu.php:24 config/prefs.php.dist:110 +msgid "Month" +msgstr "ÔÂ" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:231 templates/edit/edit.inc:237 +msgid "Monthly: Recurs every" +msgstr "ÿÔ£ºÖÜÆÚ" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "֮ǰÔÂÊý" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "֮ǰÔÂÊý" + +#: lib/api.php:756 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "ÕÒµ½¶à¸ö iCalendar ×é¼þ£»½öÖ§³Ö vEvent¡£" + +#: calendars.php:125 +msgid "My Calendars" +msgstr "ÎÒµÄÈÕÀú" + +#: templates/panel.inc:53 +msgid "My Calendars:" +msgstr "ÎÒµÄÈÕÀú£º" + +#: templates/calendars/calendars.inc:156 +msgid "My Free/Busy URL" +msgstr "Î񵀾/ÏÐ URL" + +#: templates/calendars/calendars.inc:60 templates/calendars/calendars.inc:103 +#: templates/contacts/contacts.inc:178 +#: templates/prefs/remote_cal_management.inc:24 +#: templates/prefs/remote_cal_management.inc:52 +msgid "Name" +msgstr "Ãû³Æ" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "н¨Ê¼þ" + +#: lib/Kronolith.php:255 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "ÒÑ´´½¨ÐÂÈÕÀú£¬²¢×Ô¶¯ÓëÏÂÁÐ×é¹²Ïí£º%s¡£" + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "ÏÂÒ»²½" + +#: templates/search/search.inc:57 +msgid "Next 24 hours" +msgstr "½ÓÏÂÀ´µÄ 24 Сʱ" + +#: lib/FBView/day.php:29 +msgid "Next Day" +msgstr "ÏÂÒ»ÈÕ" + +#: templates/month/head_side_by_side.inc:7 templates/month/head.inc:7 +msgid "Next Month" +msgstr "ϸöÔÂ" + +#: lib/FBView/week.php:32 +msgid "Next Week" +msgstr "ÏÂÖÜ" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "ÏÂÒ»Äê" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "ÏÂÒ»Ìì" + +#: templates/search/search.inc:58 templates/week/head.inc:8 +msgid "Next week" +msgstr "ÏÂÖÜ" + +#: config/prefs.php.dist:330 config/prefs.php.dist:343 +msgid "No" +msgstr "ÎÞ" + +#: templates/view/view.inc:67 templates/edit/edit.inc:145 +msgid "No alarm" +msgstr "ÎÞÌáʾ" + +#: templates/attendees/attendees.inc:48 +msgid "No attendees" +msgstr "ÎÞ²ÎÓëÕß" + +#: lib/api.php:144 lib/api.php:895 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "δ¸üÐÂÈκβÎÓëÕßÐÅÏ¢£¬ÒòËùÌṩµÄµç×ÓÓʼþµØÖ·²»ÔÚʼþ²ÎÓëÕßÁбíÖС£" + +#: lib/Kronolith.php:1597 +msgid "No calendars are available to guests." +msgstr "Î޿ɹ©À´±ö·ÃÎʵÄÈÕÀú¡£" + +#: templates/view/view.inc:120 templates/edit/edit.inc:257 +msgid "No end date" +msgstr "ÎÞÖÕÖ¹ÈÕ" + +#: lib/Block/prevmonthlist.php:166 lib/Block/monthlist.php:175 +#: lib/Block/summary.php:204 +msgid "No events to display" +msgstr "Î޿ɹ©ÏÔʾµÄʼþ" + +#: lib/FreeBusy.php:211 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "δÔÚ %s æ/ÏÐ URL ÕÒµ½Ã¦/ÏÐÐÅÏ¢¡£" + +#: lib/Storage/kolab.php:66 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "%s ÎÞ¿ÉÓõÄæ/ÏÐÐÅÏ¢" + +#: lib/FreeBusy.php:212 +#, php-format +msgid "No free/busy url found for %s." +msgstr "δÕÒµ½ %s µÄæ/ÏÐ URL¡£" + +#: lib/api.php:497 lib/api.php:513 lib/api.php:746 +msgid "No iCalendar data was found." +msgstr "δÕÒµ½ iCalendar Êý¾Ý¡£" + +#: templates/edit/edit.inc:206 +msgid "No recurrence" +msgstr "ÎÞÖÜÆÚ" + +#: lib/FreeBusy.php:165 +msgid "No valid email address found" +msgstr "δÕÒµ½ÓÐЧµÄµç×ÓÓʼþµØÖ·" + +#: lib/Kronolith.php:911 lib/Kronolith.php:932 +msgid "None" +msgstr "ÎÞ" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "δÕÒµ½" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "δÕÒµ½" + +#: config/prefs.php.dist:76 +msgid "Notifications" +msgstr "֪ͨ" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "ʮһÔÂ" + +#: templates/search/search.inc:56 +msgid "Now" +msgstr "ÏÖÔÚ" + +#: templates/perms/perms.inc:166 +msgid "Object Creator" +msgstr "¶ÔÏó±àдÕß" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "Ê®ÔÂ" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:64 +msgid "On" +msgstr "ÔÚ" + +#: config/prefs.php.dist:333 config/prefs.php.dist:346 +msgid "On all calendars I have read access to" +msgstr "ÔÚËùÓÐÎÒ¿ÉÒÔ¶ÁÈ¡µÄÈÕÀúÉÏ" + +#: config/prefs.php.dist:332 config/prefs.php.dist:345 +msgid "On all shown calendars" +msgstr "ÔÚËùÓÐÏÔʾµÄÈÕÀúÉÏ" + +#: config/prefs.php.dist:331 config/prefs.php.dist:344 +msgid "On my calendars only" +msgstr "½öÔÚÎÒµÄÈÕÀúÉÏ" + +#: perms.php:55 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "½öÓÐËùÓÐÕß»òϵͳ¹ÜÀíÔ±¿ÉÒÔ¸üй²ÏíÄÚÈݵÄËùÓÐȨ»òËùÓÐÕßȨÏÞ" + +#: lib/Kronolith.php:929 +msgid "Optional" +msgstr "¿ÉÑ¡" + +#: lib/FBView.php:119 +msgid "Optional Attendees" +msgstr "¿ÉÑ¡µÄ²ÎÓëÕß" + +#: lib/FBView.php:154 +msgid "Overview" +msgstr "¸ÅÊö" + +#: templates/view/view.inc:28 +msgid "Owner" +msgstr "ËùÓÐÕß" + +#: templates/perms/perms.inc:28 +msgid "Owner Permissions" +msgstr "ËùÓÐÕßȨÏÞ" + +#: templates/perms/perms.inc:40 templates/perms/perms.inc:51 +msgid "Owner:" +msgstr "ËùÓÐÕߣº" + +#: lib/Driver.php:2084 +#, php-format +msgid "Owner: %s" +msgstr "ËùÓÐÕߣº%s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "ÏÂÎç" + +#: templates/prefs/remote_cal_management.inc:76 +msgid "Password" +msgstr "ÃÜÂë" + +#: templates/view/view.inc:93 templates/edit/edit.inc:201 +msgid "Pattern" +msgstr "Ñùʽ" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "ÊÇ·ñÓÀ¾Ãɾ³ý´Ëʼþ£¿" + +#: lib/api.php:476 lib/api.php:554 lib/api.php:607 lib/api.php:696 +#: lib/api.php:728 lib/api.php:815 lib/api.php:871 lib/Driver/sql.php:761 +msgid "Permission Denied" +msgstr "ȨÏÞ²»×ã" + +#: templates/calendars/calendars.inc:111 +msgid "Permissions" +msgstr "ȨÏÞ" + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "ÃÅ»§Ñ¡Ïî" + +#: lib/FBView/day.php:25 +msgid "Previous Day" +msgstr "ǰһÈÕ" + +#: lib/FBView/week.php:26 +msgid "Previous Week" +msgstr "ÉÏÖÜ" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "ǰһÈÕ" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "ÓÅÏÈʼþ" + +#: templates/edit/edit.inc:102 +msgid "Private?" +msgstr "¸öÈË£¿" + +#: templates/perms/perms.inc:31 templates/perms/perms.inc:61 +#: templates/perms/perms.inc:87 templates/perms/perms.inc:102 +#: templates/perms/perms.inc:128 templates/perms/perms.inc:143 +#: templates/perms/perms.inc:169 templates/perms/perms.inc:184 +#: templates/perms/perms.inc:210 templates/perms/perms.inc:225 +#: templates/perms/perms.inc:266 templates/perms/perms.inc:292 +#: templates/perms/perms.inc:307 templates/perms/perms.inc:341 +msgid "Read" +msgstr "ÔĶÁ" + +#: templates/view/view.inc:119 templates/edit/edit.inc:254 +msgid "Recur Until" +msgstr "ÖÜÆÚ½áÊø" + +#: templates/view/view.inc:90 +msgid "Recurrence" +msgstr "ÖÜÆÚ" + +#: data.php:68 +msgid "Recurrence Data" +msgstr "ÖÜÆÚÊý¾Ý" + +#: data.php:66 +msgid "Recurrence End Date" +msgstr "ÖÜÆÚ½ØÖ¹ÈÕ" + +#: lib/Driver.php:1857 +msgid "Recurrence End Day" +msgstr "ÖÜÆÚ½áÊøÈÕ" + +#: lib/Driver.php:1844 +msgid "Recurrence End Month" +msgstr "ÖÜÆÚ½áÊøÔÂ" + +#: lib/Driver.php:1829 +msgid "Recurrence End Year" +msgstr "ÖÜÆÚ½áÊøÄê" + +#: data.php:67 +msgid "Recurrence Interval" +msgstr "ÖÜÆÚ¼ä¸ô" + +#: data.php:65 +msgid "Recurrence Type" +msgstr "ÖÜÆÚÀàÐÍ" + +#: lib/Kronolith.php:847 +msgid "Recurs daily" +msgstr "ÿÈÕÖÜÆÚ" + +#: lib/Kronolith.php:854 +msgid "Recurs monthly" +msgstr "ÿÔÂÖÜÆÚ" + +#: lib/Kronolith.php:850 +msgid "Recurs weekly" +msgstr "ÿÖÜÖÜÆÚ" + +#: lib/Kronolith.php:857 +msgid "Recurs yearly" +msgstr "ÿÄêÖÜÆÚ" + +#: lib/Scheduler/kronolith.php:262 +#, php-format +msgid "Reminder: %s" +msgstr "ÌáÐÑ£º%s" + +#: config/prefs.php.dist:62 +msgid "Remote Calendars" +msgstr "Ô¶³ÌÈÕÀú" + +#: templates/panel.inc:70 +msgid "Remote Calendars:" +msgstr "Ô¶³ÌÈÕÀú£º" + +#: templates/calendars/calendars.inc:135 +msgid "Remote Subscription URL" +msgstr "Ô¶³Ì×¢²á URL" + +#: templates/contacts/contacts.inc:162 +msgid "Remove" +msgstr "ɾ³ý" + +#: templates/attendees/attendees.inc:51 +#, php-format +msgid "Remove %s" +msgstr "ɾ³ý %s" + +#: attendees.php:107 +msgid "Remove Attendee" +msgstr "ɾ³ý²ÎÓëÕß" + +#: lib/Driver.php:263 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "ɾ³ýµ±Ç°ÈÕÀú´æ´¢ºó¶Ë²»Ö§³ÖµÄÓû§Êý¾Ý¡£" + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"ÊÇ·ñʹÓõ¼ÈëÈÕÀú´úÌæÏÖÓÐÈÕÀú£¿¾¯¸æ£º´Ë²Ù×÷»áɾ³ýµ±Ç°ÈÕÀúÖеÄËùÓÐÌõ" +"Ä¿¡£" + +#: lib/Kronolith.php:936 +msgid "Required" +msgstr "ÐèÒª" + +#: lib/FBView.php:98 lib/FBView.php:139 lib/FBView.php:142 lib/FBView.php:145 +msgid "Required Attendees" +msgstr "ËùÐè²ÎÓëÕß" + +#: templates/edit/edit.inc:34 templates/edit/edit.inc:312 +msgid "Reset to Defaults" +msgstr "ÖØÖÃΪĬÈÏÏî" + +#: templates/attendees/attendees.inc:43 templates/view/view.inc:160 +msgid "Response" +msgstr "»ØÓ¦" + +#: config/prefs.php.dist:158 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "µ±Ã»ÓнÏÔçʼþʱ£¬ÈÕÊÓͼºÍÖÜÊÓͼµÄ¿ªÊ¼Ê±¼ä£¿" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:225 +#: lib/Views/Year.php:82 lib/Block/month.php:98 +msgid "Sa" +msgstr "ÖÜÁù" + +#: templates/month/head.inc:22 templates/view/view.inc:104 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "ÖÜÁù" + +#: templates/panel.inc:80 templates/calendars/calendars.inc:144 +msgid "Save" +msgstr "±£´æ" + +#: templates/perms/perms.inc:364 +#, php-format +msgid "Save %s" +msgstr "±£´æ %s" + +#: lib/Kronolith.php:1475 lib/Views/EditEvent.php:78 +#: lib/Views/EditEvent.php:87 +msgid "Save As New" +msgstr "Áí´æÎªÐµµ" + +#: templates/attendees/attendees.inc:84 +msgid "Save Attendees" +msgstr "±£´æ²ÎÓëÕß" + +#: new.php:55 lib/Views/EditEvent.php:81 +msgid "Save Event" +msgstr "±£´æÊ¼þ" + +#: templates/attendees/attendees.inc:85 +msgid "Save and Finish" +msgstr "±£´æ²¢½áÊø" + +#: search.php:91 templates/search/search_advanced.inc:114 +#: templates/search/search.inc:67 templates/contacts/contacts.inc:145 +#: lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "ËÑË÷" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "ËÑË÷½á¹û" + +#: templates/panel.inc:48 +msgid "Search for Calendars:" +msgstr "ËÑË÷ÈÕÀú£º" + +#: templates/contacts/contacts.inc:150 +msgid "Search results" +msgstr "ËÑË÷½á¹û" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "ËÑË÷æ/ÏÐÐÅÏ¢²»¿ÉÓá£" + +#: templates/calendars/calendars.inc:23 templates/calendars/calendars.inc:138 +msgid "Select a calendar above to display the Remote Subscription URL" +msgstr "Ñ¡ÔñÒªÏÔʾԶ³Ì¶©ÔÄ URL µÄÈÕÀú" + +#: templates/calendars/calendars.inc:22 templates/calendars/calendars.inc:130 +msgid "Select a calendar above to display the URL" +msgstr "Ñ¡ÔñÒªÏÔʾÆä URL µÄÈÕÀú" + +#: templates/calendars/calendars.inc:94 +msgid "Select a calendar to edit" +msgstr "Ñ¡Ôñ´ý±à¼­µÄÈÕÀú£º" + +#: templates/edit/edit.inc:269 templates/edit/edit_timespan.inc:30 +#: templates/edit/edit_timespan.inc:81 +msgid "Select a date" +msgstr "Ñ¡ÔñÈÕÆÚ" + +#: templates/perms/perms.inc:329 +msgid "Select a group to add" +msgstr "Ñ¡Ôñ´ýÌí¼ÓµÄ×é" + +#: templates/perms/perms.inc:327 +msgid "Select a group to add:" +msgstr "Ñ¡Ôñ´ýÌí¼ÓµÄ×飺" + +#: templates/perms/perms.inc:42 +msgid "Select a new owner:" +msgstr "Ñ¡ÔñеijÖÓÐÕߣº" + +#: templates/perms/perms.inc:246 templates/perms/perms.inc:248 +msgid "Select a user to add:" +msgstr "Ñ¡Ôñ´ýÌí¼ÓµÄÓû§£º" + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "Ñ¡ÔñÈ·ÈÏÑ¡Ïî¡¢ÏÔʾ²»Í¬ÊÓͼµÄ·½Ê½£¬²¢Ñ¡ÔñĬÈÏÊÓͼ¡£" + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "Ñ¡Ôñ´ýµ¼ÈëµÄÈÕÀú£º" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "Ñ¡Ôñ´ýµ¼³öµÄÈÕÀú£º" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "Ñ¡Ôñµ¼³ö¸ñʽ£º" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "Ñ¡Ôñ´ýµ¼ÈëµÄÎļþ£º" + +#: config/prefs.php.dist:129 +msgid "Select the first weekday:" +msgstr "Ñ¡ÔñÿÖܵĵÚÒ»¸ö¹¤×÷ÈÕ£º" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "Ñ¡ÔñÔ´Îļþ¸ñʽ£º" + +#: config/prefs.php.dist:228 +msgid "Select the time span to show:" +msgstr "Ñ¡ÔñÒªÏÔʾµÄʱ¼ä·¶Î§£º" + +#: config/prefs.php.dist:111 +msgid "Select the view to display on startup:" +msgstr "Ñ¡ÔñÆô¶¯Ê±ÏÔʾµÄÊÓͼ£º" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "Ñ¡ÔñÒªÔÚÖ÷Ò³ÃæÖÐÏÔʾµÄʼþ¡£" + +#: config/prefs.php.dist:257 +msgid "Select which external events you would like to display" +msgstr "Ñ¡ÔñÄúÏëÒªÏÔʾµÄÍⲿʼþ" + +#: templates/contacts/contacts.inc:165 +msgid "Selected addresses" +msgstr "ËùÑ¡µØÖ·" + +#: templates/delete/one.inc:19 templates/delete/delete.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event" +msgstr "µ±É¾³ý´Ëʼþʱ£¬·¢ËÍÈ¡Ïû֪ͨ¸øËùÓвÎÓëÕß" + +#: templates/view/view.inc:164 +#, php-format +msgid "Send an email to %s" +msgstr "½«µç×ÓÓʼþ·¢Ë͵½ %s" + +#: templates/edit/edit.inc:184 +msgid "Send updates/invitations to all attendees when saving this event" +msgstr "µ±±£´æ´Ëʼþʱ£¬·¢Ë͸üÐÂ/ÑûÇë֪ͨ¸øËùÓвÎÓëÕß" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "¾ÅÔÂ" + +#: config/prefs.php.dist:70 +msgid "Set default values for new events." +msgstr "ÉèÖÃÐÂʼþµÄĬÈÏÖµ¡£" + +#: templates/edit/edit_timespan.inc:81 +msgid "Set end date" +msgstr "ÉèÖÃÖÕÖ¹ÆÚ" + +#: templates/edit/edit.inc:269 +msgid "Set recurrence end date" +msgstr "ÉèÖÃÖÜÆÚÖÕÖ¹ÈÕ" + +#: templates/edit/edit_timespan.inc:30 +msgid "Set start date" +msgstr "ÉèÖÿªÊ¼ÈÕÆÚ" + +#: config/prefs.php.dist:84 +msgid "" +"Set your free/busy calendars and your own and other users' free/busy options." +msgstr "ÉèÖÃæ/ÏÐÈÕÀú£¬ÒÔ¼°Äú¸öÈËÓëÆäËûÓû§µÄæ/ÏÐÑ¡Ïî¡£" + +#: calendars.php:77 +#, php-format +msgid "Share not found: %s" +msgstr "δÕÒµ½¹²ÏíÏîÄ¿£º%s" + +#: templates/panel.inc:62 +msgid "Shared Calendars:" +msgstr "¹²ÏíµÄÈÕÀú£º" + +#: templates/perms/perms.inc:30 templates/perms/perms.inc:57 +#: templates/perms/perms.inc:86 templates/perms/perms.inc:98 +#: templates/perms/perms.inc:127 templates/perms/perms.inc:139 +#: templates/perms/perms.inc:168 templates/perms/perms.inc:180 +#: templates/perms/perms.inc:209 templates/perms/perms.inc:221 +#: templates/perms/perms.inc:262 templates/perms/perms.inc:291 +#: templates/perms/perms.inc:303 templates/perms/perms.inc:337 +msgid "Show" +msgstr "ÏÔʾ" + +#: templates/panel.inc:42 +msgid "Show Options" +msgstr "ÏÔʾѡÏî" + +#: config/prefs.php.dist:200 +msgid "Show calendar options panel?" +msgstr "ÏÔʾÈÕÀúÑ¡ÏîÃæ°å£¿" + +#: config/prefs.php.dist:190 +msgid "Show category legend?" +msgstr "ÊÇ·ñÏÔʾÀà±ðͼÀý£¿" + +#: config/prefs.php.dist:180 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "ÊÇ·ñÔÚÈÕÀúÊÓͼÖÐÏÔʾɾ³ý¡¢ÌáʾºÍÖÜÆÚͼ±ê£¿" + +#: config/prefs.php.dist:266 +msgid "Show external events using category colors?" +msgstr "ʹÓÃÀà±ðÉ«²ÊÍⲿÈÎÎñ£¿" + +#: config/prefs.php.dist:210 +msgid "Show free/busy legend?" +msgstr "ÊÇ·ñÏÔʾæ/ÏÐͼÀý£¿" + +#: config/prefs.php.dist:247 +msgid "Show only events that have an alarm set?" +msgstr "ÊÇ·ñ½öÏÔʾÓÐÌáÐÑÉèÖõÄʼþ?" + +#: config/prefs.php.dist:219 +msgid "Show shared calendars side-by-side?" +msgstr "ÊÇ·ñƽÆÌÏÔʾ¹²ÏíÈÕÀú£¿" + +#: config/prefs.php.dist:120 +msgid "Show time of day between each day in week views?" +msgstr "ÊÇ·ñÔÚÖÜÊÓͼÖÐÏÔʾÿÈÕµÄʱ¼ä£¿" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "¿ªÊ¼_R" + +#: data.php:54 +msgid "Start Date" +msgstr "¿ªÊ¼ÈÕÆÚ" + +#: templates/data/export.inc:68 lib/Driver.php:1723 +msgid "Start Day" +msgstr "¿ªÊ¼ÈÕ" + +#: templates/data/export.inc:87 lib/Driver.php:1734 +msgid "Start Hour" +msgstr "¿ªÊ¼Ð¡Ê±" + +#: templates/data/export.inc:102 lib/Driver.php:1744 +msgid "Start Minute" +msgstr "¿ªÊ¼·ÖÖÓ" + +#: templates/data/export.inc:54 lib/Driver.php:1714 +msgid "Start Month" +msgstr "¿ªÊ¼ÔÂ" + +#: templates/search/event_headers.inc:7 templates/view/view.inc:35 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "¿ªÊ¼" + +#: data.php:55 +msgid "Start Time" +msgstr "¿ªÊ¼Ê±¼ä" + +#: templates/data/export.inc:39 lib/Driver.php:1703 +msgid "Start Year" +msgstr "¿ªÊ¼Äê" + +#: templates/search/search_advanced.inc:94 templates/edit/edit.inc:92 +msgid "Stat_us" +msgstr "״̬_U" + +#: templates/search/event_headers.inc:6 templates/view/view.inc:21 +msgid "Status" +msgstr "״̬" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "´æ´¢Ã¦/Ïв»¿ÉÓá£" + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:226 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:100 +#: lib/Block/month.php:102 +msgid "Su" +msgstr "ÖÜÈÕ" + +#: templates/month/head.inc:15 templates/month/head.inc:24 +#: templates/view/view.inc:105 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:130 +msgid "Sunday" +msgstr "ÖÜÈÕ" + +#: config/prefs.php.dist:38 +msgid "Tasks and other external events" +msgstr "ÈÎÎñÒÔ¼°ÆäËûÍⲿʼþ" + +#: lib/Kronolith.php:884 lib/Kronolith.php:907 +msgid "Tentative" +msgstr "Ôݶ¨" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:223 +#: lib/Views/Year.php:80 lib/Block/month.php:98 +msgid "Th" +msgstr "ÖÜËÄ" + +#: data.php:235 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "%s Îļþ²»°üº¬ÈκÎʼþ¡£" + +#: lib/Driver.php:45 +msgid "The Calendar backend is not currently available." +msgstr "ÈÕÀúºó¶Ëµ±Ç°²»¿ÉÓá£" + +#: lib/Driver.php:200 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "ÈÕÀúºó¶Ëµ±Ç°²»¿ÉÓãº%s" + +#: templates/contacts/contacts.inc:70 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "¡°±à¼­²ÎÓëÕß¡±ÆÁĻδÏÔʾ¡£ÕýÔÚÍ˳ö¡£" + +#: calendars.php:70 +#, php-format +msgid "The calendar \"%s\" cannot be deleted." +msgstr "ÎÞ·¨É¾³ýÈÕÀú¡°%s¡±¡£" + +#: calendars.php:40 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "ÒÑ´´½¨ÈÕÀú¡°%s¡±¡£" + +#: calendars.php:88 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "ÒÑɾ³ýÈÕÀú¡°%s¡±¡£" + +#: calendars.php:54 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "Òѽ«ÈÕÀú¡°%s¡±ÖØÃüÃûΪ¡°%s¡±¡£" + +#: calendars.php:56 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "Òѱ£´æÈÕÀú¡°%s¡±¡£" + +#: data.php:243 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "ÎÞ·¨Çå³ýÈÕÀú£º%s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "½áÊøÈÕ±ØÐëÍíÓÚ¿ªÊ¼ÈÕ¡£" + +#: lib/Kronolith.php:1290 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "ÒÑÔÚ %s/%s ½«Ê¼þ¡°%s¡±Ìí¼Óµ½¡°%s¡±ÈÕÀú¡£" + +#: lib/Kronolith.php:1300 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "ÒÑÔÚ %s/%s ´Ó¡°%s¡±ÈÕÀúÖÐɾ³ýʼþ¡°%s¡±¡£" + +#: lib/Kronolith.php:1295 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "ÒÑÔÚ %s/%s ±à¼­¡°%s¡±ÈÕÀúÖеÄʼþ¡°%s¡±¡£" + +#: lib/Kronolith.php:1183 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "Òѽ«Ê¼þ֪ͨ³É¹¦·¢Ë͸ø %s¡£" + +#: lib/Kronolith.php:1139 +msgid "The following is a more detailed description of the event:" +msgstr "ÏÂÃæÊÇÓйشËʼþµÄÏêϸÃèÊö£º" + +#: attend.php:41 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "δʵÏÖÇëÇó¡£½ÓÊÕ»ò¾Ü¾øÊ¼þËùÐèµÄ²¿·Ö²ÎÊý¶ªÊ§¡£" + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "δÕÒµ½ËùÇëÇóµÄʼþ¡£" + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "ÎÞ·ûºÏµ±Ç°¹æ¸ñµÄʼþ¡£" + +#: edit.php:28 add.php:24 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "·ÃÎÊÈÕÀúʱ³ö´í£º%s" + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "Ìí¼Óʼþʱ³ö´í£º%s" + +#: edit.php:83 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "±à¼­Ê¼þʱ³ö´í£º%s" + +#: lib/api.php:489 lib/api.php:740 +msgid "There was an error importing the iCalendar data." +msgstr "µ¼Èë iCalendar Êý¾Ýʱ³ö´í¡£" + +#: edit.php:59 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "ÒÆ¶¯Ê¼þʱ³ö´í£º%s" + +#: lib/Kronolith.php:1188 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "½«Ê¼þ֪ͨ·¢Ë͸ø %s ʱ³ö´í£º%s" + +#: data.php:108 +msgid "There were no events to export." +msgstr "Î޿ɹ©µ¼³öµÄʼþ¡£" + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "´ËÔÂ" + +#: data.php:191 +msgid "This file format is not supported." +msgstr "²»Ö§³Ö´ËÎļþ¸ñʽ¡£" + +#: data.php:263 +#, php-format +msgid "This is what the server said: %s" +msgstr "´ËΪ·þÎñÆ÷»ØÓ¦£º%s" + +#: templates/month/head.inc:20 templates/view/view.inc:102 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "ÖÜËÄ" + +#: templates/search/search.inc:37 +msgid "Time Sp_an:" +msgstr "ʱ¼ä·¶Î§_A£º" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "ʱ¼ä·¶Î§" + +#: templates/search/search_advanced.inc:34 templates/edit/edit.inc:40 +msgid "Tit_le" +msgstr "±êÌâ_L" + +#: data.php:53 templates/search/event_headers.inc:3 +msgid "Title" +msgstr "±êÌâ" + +#: templates/search/search.inc:20 +msgid "Title:" +msgstr "±êÌ⣺" + +#: lib/Block/prevmonthlist.php:125 lib/Block/monthlist.php:132 +#: lib/Block/summary.php:136 +msgid "Today" +msgstr "½ñÈÕ" + +#: lib/Block/prevmonthlist.php:127 lib/Block/monthlist.php:134 +#: lib/Block/summary.php:138 +msgid "Tomorrow" +msgstr "Ã÷ÈÕ" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:221 +#: lib/Views/Year.php:78 lib/Block/month.php:98 +msgid "Tu" +msgstr "Öܶþ" + +#: templates/month/head.inc:18 templates/view/view.inc:100 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "Öܶþ" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "ÀàÐÍ" + +#: templates/calendars/calendars.inc:127 +msgid "URL" +msgstr "URL" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "ÎÞ·¨Á¬½Ó SQL ·þÎñÆ÷¡£" + +#: calendars.php:84 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "ÎÞ·¨É¾³ý¡°%s¡±£º%s" + +#: lib/Driver.php:203 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "ÎÞ·¨¼ÓÔØ %s ¶¨Òå¡£" + +#: calendars.php:51 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "ÎÞ·¨ÖØÃüÃû¡°%s¡±£º%s" + +#: lib/Storage/kolab.php:56 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "ÎÞ·¨¼ìË÷ %s æ/ÏÐÐÅÏ¢" + +#: templates/view/view.inc:8 +#: scripts/upgrades/2004-05-19_convert_categories_to_strings.php:53 +msgid "Unfiled" +msgstr "δ·ÖÀà" + +#: lib/api.php:520 lib/api.php:578 lib/api.php:639 lib/api.php:765 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "²»ÊÜÖ§³ÖµÄÄÚÈÝÀàÐÍ£º%s" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "½üÆÚʼþ" + +#: perms.php:252 +#, php-format +msgid "Updated \"%s\"." +msgstr "ÒѸüС°%s¡±¡£" + +#: lib/Kronolith.php:1129 +#, php-format +msgid "Updated: %s." +msgstr "ÒѸüУº%s¡£" + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "Óû§½çÃæ" + +#: templates/prefs/remote_cal_management.inc:68 +msgid "User Name" +msgstr "Óû§Ãû" + +#: templates/perms/perms.inc:256 +msgid "User to add:" +msgstr "´ýÌí¼ÓµÄÓû§£º" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:155 +#: lib/Block/month.php:158 +msgid "View Day" +msgstr "ÈÕÊÓͼ" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:222 +#: lib/Views/Year.php:79 lib/Block/month.php:98 +msgid "We" +msgstr "ÖÜÈý" + +#: lib/Scheduler/kronolith.php:266 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"ÎÒÃÇ»á¾Í¼´½«µ½À´µÄʼþÌáÐÑÄú¡£\n" +"\n" +"%s\n" +"\n" +"λÖãº%s\n" + +#: templates/month/head.inc:19 templates/view/view.inc:101 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "ÖÜÈý" + +#: attendees.php:115 lib/Kronolith.php:1442 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:108 +msgid "Week" +msgstr "ÖÜ" + +#: workweek.php:15 week.php:15 lib/Views/Month.php:183 +#, php-format +msgid "Week %d" +msgstr "ÖÜ %d" + +#: templates/prefs/default_alarm_management.inc:29 templates/view/view.inc:53 +#: templates/edit/edit.inc:153 +msgid "Week(s)" +msgstr "ÖÜ" + +#: templates/view/view.inc:106 templates/edit/edit.inc:217 +msgid "Weekly: Recurs every" +msgstr "ÿÖÜ£ºÖÜÆÚÆµÂÊ" + +#: config/prefs.php.dist:149 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "µ±Ã»ÓнÏÍíʼþʱ£¬ÈÕÊÓͼºÍÖÜÊÓͼµÄ½áÊøÊ±¼ä" + +#: config/prefs.php.dist:140 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "µ±Ã»ÓнÏÔçʼþʱ£¬ÈÕÊÓͼºÍÖÜÊÓͼµÄ¿ªÊ¼Ê±¼ä" + +#: config/prefs.php.dist:287 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "ÄúÏëÏÔʾÄÄÖÖ¼ÙÆÚ£¿" + +#: attendees.php:114 lib/Kronolith.php:1440 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:109 +msgid "Work Week" +msgstr "¹¤×÷ÈÕ" + +#: lib/Kronolith.php:1446 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "Äê" + +#: templates/view/view.inc:112 templates/edit/edit.inc:243 +msgid "Yearly: Recurs every" +msgstr "ÿÄ꣺ÖÜÆÚÆµÂÊ" + +#: edit.php:38 data.php:39 data.php:252 new.php:17 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "Äú´´½¨µÄʼþ²»¿ÉÒÔ¶àÓÚ %d ¸ö¡£" + +#: attend.php:49 +msgid "You are not an attendee of the specified event." +msgstr "Äú²»ÊÇÖ¸¶¨Ê¼þµÄ²ÎÓëÕß¡£" + +#: templates/contacts/contacts.inc:76 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "Äú½ö¿ÉÒÔ´Ó¡°±à¼­²ÎÓëÕß¡±ÆÁĻʹÓÃ´Ë±íµ¥¡£" + +#: lib/Kronolith.php:1080 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"ÄúδÔÚ¡°¸öÈËÐÅÏ¢¡±Ñ¡ÏîÖÐÅäÖõç×ÓÓʼþµØÖ·¡£·¢ËÍʼþ֪֮ͨǰ£¬ÇëÔÚ %shere%s Éè" +"ÖÃÓʼþµØÖ·¡£" + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "Äú²»¾ßÓн«Ê¼þÌí¼Óµ½ %s µÄȨÏÞ¡£" + +#: data.php:200 +msgid "You do not have permission to add events to the selected calendar." +msgstr "Äú²»¾ßÓн«Ê¼þÌí¼Óµ½ËùÑ¡ÈÕÀúµÄȨÏÞ¡£" + +#: edit.php:75 add.php:27 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "Äú²»¾ßÓн«Ê¼þίÅɸø %s µÄȨÏÞ¡£" + +#: delete.php:26 +msgid "You do not have permission to delete this event." +msgstr "Äú²»¾ßÓÐɾ³ý´ËʼþµÄȨÏÞ¡£" + +#: edit.php:78 +msgid "You do not have permission to edit this event." +msgstr "Äú²»¾ßÓб༭´ËʼþµÄȨÏÞ¡£" + +#: data.php:197 +msgid "You have specified an invalid calendar." +msgstr "ÄúËùÖ¸¶¨µÄÈÕÀúÎÞЧ¡£" + +#: attend.php:21 +msgid "You have successfully accepted attendence to this event." +msgstr "ÄúÒѳɹ¦½ÓÊÜ´ËÈ˲ÎÓëʼþ¡£" + +#: attend.php:26 +msgid "You have successfully declined attendence to this event." +msgstr "ÄúÒѳɹ¦¾Ü¾ø´ËÈ˲ÎÓëʼþ¡£" + +#: attend.php:31 +msgid "You have tentatively accepted attendence to this event." +msgstr "ÄúÒÑÔÝʱ½ÓÊÜ´ËÈ˲ÎÓëʼþ¡£" + +#: calendars.php:91 +msgid "You must select a calendar to be deleted." +msgstr "ÄúÐèҪѡÔñ´ýɾ³ýµÄÈÕÀú¡£" + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "ÄúÐèÒªÏÈÑ¡ÔñµØÖ·¡£" + +#: templates/calendars/calendars.inc:114 +msgid "You need to select a calendar first" +msgstr "ÄúÐèÒªÏÈÑ¡ÔñÈÕÀú" + +#: lib/Kronolith.php:1290 +msgid "You requested to be notified when events are added to your calendars." +msgstr "ÄúÒÑÇëÇóÔÚʼþÌí¼Óµ½ÈÕÀúʱ½Óµ½Í¨Öª¡£" + +#: lib/Kronolith.php:1300 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "ÄúÒÑÇëÇóÔÚÈÕÀúÖÐɾ³ýʼþʱ½Óµ½Í¨Öª¡£" + +#: lib/Kronolith.php:1295 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "ÄúÒÑÇëÇóÔÚÈÕÀúÖб༭ʼþʱ½Óµ½Í¨Öª¡£" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "ĬÈÏÈÕÀú" + +#: templates/panel.inc:58 +msgid "[Manage My Calendars]" +msgstr "[¹ÜÀíÈÕÀú]" + +#: templates/panel.inc:75 +msgid "[Manage Remote Calendars]" +msgstr "[¹ÜÀíÔ¶³ÌÈÕÀú]" + +#: lib/Driver.php:1215 +msgid "[Private Event]" +msgstr "[¸öÈËʼþ]" + +#: lib/Driver.php:1207 lib/Driver.php:1217 +msgid "[Unnamed event]" +msgstr "[Unnamed event]" + +#: templates/edit/edit.inc:114 +msgid "_Alarm" +msgstr "Ìáʾ_A" + +#: templates/search/search_advanced.inc:11 +msgid "_Basic Search" +msgstr "»ù±¾ËÑË÷_B" + +#: lib/Kronolith.php:1475 +msgid "_Edit" +msgstr "±à¼­_E" + +#: lib/Kronolith.php:1612 +msgid "_Goto" +msgstr "תµ½_G" + +#: lib/Kronolith.php:1618 +msgid "_Import/Export" +msgstr "µ¼Èë/µ¼³ö_I" + +#: lib/Kronolith.php:1608 +msgid "_New Event" +msgstr "н¨Ê¼þ_N" + +#: lib/Kronolith.php:1623 +msgid "_Print" +msgstr "´òÓ¡_P" + +#: lib/Kronolith.php:1614 +msgid "_Search" +msgstr "ËÑË÷_S" + +#: lib/Kronolith.php:1603 +msgid "_Today" +msgstr "½ñÈÕ_T" + +#: templates/edit/edit.inc:59 +#, php-format +msgid "as %s" +msgstr "Ϊ %s" + +#: templates/edit/edit.inc:155 +msgid "before the event starts" +msgstr "ʼþ¿ªÊ¼Ç°" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "ʼþ¿ªÊ¼Ç°¡£Öµ¡°0¡±±íʾÎÞĬÈÏÌáÐÑ¡£" + +#: config/prefs.php.dist:229 +msgid "day" +msgstr "ÈÕ" + +#: templates/view/view.inc:96 templates/edit/edit.inc:212 +msgid "day(s)" +msgstr "ÈÕ" + +#: config/prefs.php.dist:230 config/prefs.php.dist:231 +#: config/prefs.php.dist:232 config/prefs.php.dist:233 +#: config/prefs.php.dist:234 +msgid "days" +msgstr "ÈÕ" + +#: data.php:151 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:176 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:136 +msgid "in" +msgstr "ÔÚ" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:232 templates/edit/edit.inc:238 +msgid "month(s)" +msgstr "ÔÂ" + +#: lib/Kronolith.php:1135 +#, php-format +msgid "on %s at %s" +msgstr "ÔÚ %s/%s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:232 +msgid "on the same date" +msgstr "ͬһÌì" + +#: templates/view/view.inc:110 templates/edit/edit.inc:238 +msgid "on the same weekday" +msgstr "ͬһÖÜÄ©" + +#: data.php:29 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: lib/api.php:751 +msgid "vEvent not found." +msgstr "δÕÒµ½ vEvent¡£" + +#: config/prefs.php.dist:235 +msgid "week" +msgstr "ÖÜ" + +#: templates/view/view.inc:106 templates/edit/edit.inc:219 +msgid "week(s) on:" +msgstr "ÖÜ£º" + +#: config/prefs.php.dist:236 config/prefs.php.dist:237 +#: config/prefs.php.dist:238 +msgid "weeks" +msgstr "ÖÜ" + +#: templates/view/view.inc:112 templates/edit/edit.inc:244 +msgid "year(s)" +msgstr "Äê" diff --git a/kronolith/po/zh_TW.po b/kronolith/po/zh_TW.po new file mode 100644 index 000000000..64925e912 --- /dev/null +++ b/kronolith/po/zh_TW.po @@ -0,0 +1,2513 @@ +# KRONOLITH Traditional Chinese Translation +# Copyright 2001 David Chang,TAIWAN. ±i¨}¤å,¥xÆW +# David Chang , 2001. +# +msgid "" +msgstr "" +"Project-Id-Version: Kronolith 2.2-ALPHA\n" +"Report-Msgid-Bugs-To: dev@lists.horde.org\n" +"POT-Creation-Date: 2008-05-11 18:39+0800\n" +"PO-Revision-Date: 2007-08-31 12:00+0800\n" +"Last-Translator: David Chang \n" +"Language-Team: Traditional Chinese \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/edit/edit.inc:211 +#, php-format +msgid " until %s" +msgstr " ª½¨ì %s" + +#: templates/edit/edit.inc:211 +msgid " without end" +msgstr " ¨S¦³²×¤î" + +#: templates/search/header.inc:4 +#, php-format +msgid "%d events" +msgstr "%d ­Ó¨Æ¥ó" + +#: templates/view/view.inc:124 +#, php-format +msgid "%d times" +msgstr "%d ¦¸" + +#: templates/edit/edit_timespan.inc:120 +#, php-format +msgid "%s Day(s) %s Hour(s) %s Minutes" +msgstr "%s ¤Ñ %s ®É %s ¤À" + +#: lib/Driver.php:2267 +#, php-format +msgid "%s attendees" +msgstr "%s ¥X®u¤H­û" + +#: data.php:310 +#, php-format +msgid "%s file successfully imported" +msgstr "ÀÉ®× %s ¤w¶×¤J§¹¦¨" + +#: lib/Kronolith.php:364 lib/Forms/DeleteCalendar.php:85 +#, php-format +msgid "%s's Calendar" +msgstr "%sªº¦æ¨Æ¾ä" + +#: templates/contacts/contacts.inc:177 +msgid "* Add these by clicking Add *" +msgstr "* ÂI¿ï·s¼W¥H§¹¦¨ *" + +#: templates/contacts/contacts.inc:162 +msgid "* Please select address(es) *" +msgstr "* ½Ð¿ï¾Ü¦a§} *" + +#: templates/edit/edit.inc:211 +#, php-format +msgid ", %d times" +msgstr ", %d ¦¸" + +#: lib/Driver.php:2266 +msgid "1 attendee" +msgstr "1 ¦ì¥X®u¤H­û" + +#: templates/search/header.inc:4 +msgid "1 event" +msgstr "1 ­Ó¨Æ¥ó" + +#: config/prefs.php.dist:154 +msgid "1 hour" +msgstr "1 ¤p®É" + +#: config/prefs.php.dist:151 +msgid "15 minutes" +msgstr "15 ¤ÀÄÁ" + +#: config/prefs.php.dist:152 +msgid "20 minutes" +msgstr "20 ¤ÀÄÁ" + +#: config/prefs.php.dist:153 +msgid "30 minutes" +msgstr "30 ¤ÀÄÁ" + +#: templates/data/export.inc:118 templates/data/export.inc:203 +msgid "AM" +msgstr "¤W¤È" + +#: lib/Kronolith.php:1169 +msgid "Accepted" +msgstr "¤w±µ¨ü" + +#: templates/search/search.inc:10 +msgid "Ad_vanced Search" +msgstr "¶i¶¥·j´M_v" + +#: templates/contacts/contacts.inc:171 +msgid "Add" +msgstr "·s¼W" + +#: templates/edit/edit.inc:23 +msgid "Add Event" +msgstr "·s¼W¨Æ¥ó" + +#: new.php:65 +msgid "Add a new event" +msgstr "·s¼W¤@¨Æ¥ó" + +#: templates/attendees/attendees.inc:78 +msgid "Add attendees" +msgstr "·s¼W¥X®u¤H­û" + +#: templates/prefs/sourceselect.inc:298 +msgid "Add source" +msgstr "·s¼W³q°T¿ý" + +#: templates/contacts/contacts.inc:197 +msgid "Add to attendees" +msgstr "·s¼W¦Ü¥X®u¤H­û" + +#: contacts.php:76 templates/contacts/contacts.inc:138 +#: templates/attendees/attendees.inc:85 +msgid "Address Book" +msgstr "³q°T¿ý" + +#: config/prefs.php.dist:69 +msgid "Address Books" +msgstr "³q°T¿ý" + +#: templates/search/search.inc:10 templates/search/search_advanced.inc:11 +msgid "Advanced Search" +msgstr "¶i¶¥·j´M" + +#: templates/view/view.inc:47 +msgid "Alarm" +msgstr "ĵ¥Ü" + +#: lib/Driver.php:2233 +#, php-format +msgid "Alarm %d days before" +msgstr "%d ¤Ñ«eĵ¥Ü" + +#: lib/Driver.php:2238 +#, php-format +msgid "Alarm %d hours before" +msgstr "%d ¤p®É«eĵ¥Ü" + +#: lib/Driver.php:2243 +#, php-format +msgid "Alarm %d minutes before" +msgstr "%d ¤ÀÄÁ«eĵ¥Ü" + +#: lib/Driver.php:2228 +#, php-format +msgid "Alarm %d weeks before" +msgstr "%d ¶g«eĵ¥Ü" + +#: lib/Driver.php:2232 +msgid "Alarm 1 day before" +msgstr "1 ¤Ñ«eĵ¥Ü" + +#: lib/Driver.php:2237 +msgid "Alarm 1 hour before" +msgstr "1 ¤p®É«eĵ¥Ü" + +#: lib/Driver.php:2242 +msgid "Alarm 1 minute before" +msgstr "1 ¤ÀÄÁ«eĵ¥Ü" + +#: lib/Driver.php:2227 +msgid "Alarm 1 week before" +msgstr "1 ¶g«eĵ¥Ü" + +#: data.php:61 +msgid "Alarm Date" +msgstr "ĵ¥Ü¤é´Á" + +#: data.php:60 +msgid "Alarm Span (minutes)" +msgstr "ĵ¥Ü¶¡¹j (¤ÀÄÁ)" + +#: data.php:62 +msgid "Alarm Time" +msgstr "ĵ¥Ü®É¶¡" + +#: templates/prefs/default_alarm_management.inc:24 templates/edit/edit.inc:166 +msgid "Alarm Unit" +msgstr "ĵ¥Ü³æ¦ì" + +#: templates/prefs/default_alarm_management.inc:22 templates/edit/edit.inc:164 +msgid "Alarm Value" +msgstr "ĵ¥Ü­È" + +#: templates/edit/edit.inc:159 +msgid "Alarm enabled" +msgstr "ĵ¥Ü¤w±Ò¥Î" + +#: templates/edit/edit.inc:39 templates/delete/delete.inc:27 +msgid "All" +msgstr "©Ò¦³" + +#: lib/FBView.php:129 lib/FBView.php:132 lib/FBView.php:135 +msgid "All Attendees" +msgstr "©Ò¦³¥X®u¤H­û" + +#: templates/perms/perms.inc:51 +msgid "All Authenticated Users" +msgstr "©Ò¦³¤wÅçÃÒªº¨Ï¥ÎªÌ" + +#: lib/Block/month.php:42 +msgid "All Calendars" +msgstr "©Ò¦³¦æ¨Æ¾ä" + +#: templates/search/search.inc:58 +msgid "All Future" +msgstr "©Ò¦³¥¼¨Ó" + +#: templates/search/search.inc:52 +msgid "All Past" +msgstr "©Ò¦³¹L¥h" + +#: lib/Block/month.php:24 lib/Block/monthlist.php:30 +#: lib/Block/prevmonthlist.php:27 lib/Block/summary.php:28 +msgid "All Visible" +msgstr "©Ò¦³¥i¨£ªº" + +#: templates/edit/edit_timespan.inc:119 lib/Driver.php:2336 +#: lib/Views/Day.php:99 lib/Views/Day.php:102 lib/Views/Week.php:149 +#: lib/Views/Week.php:156 +msgid "All day" +msgstr "¾ã¤é" + +#: lib/Block/summary.php:166 +msgid "All day event" +msgstr "¾ã¤é©Ê¨Æ¥ó" + +#: templates/data/export.inc:33 +msgid "All events" +msgstr "©Ò¦³¨Æ¥ó" + +#: lib/api.php:792 lib/api.php:803 +msgid "Already Exists" +msgstr "¤w¦s¦b" + +#: templates/search/search_advanced.inc:44 +#: templates/search/search_advanced.inc:65 lib/Kronolith.php:1262 +msgid "Any" +msgstr "¥ô¦X" + +#: templates/javascript/goto.js:71 +msgid "April" +msgstr "¥|¤ë" + +#: templates/edit/edit_timespan.inc:36 templates/edit/edit_timespan.inc:90 +#: templates/data/export.inc:85 templates/data/export.inc:176 +msgid "At" +msgstr "®É¶¡" + +#: lib/Kronolith.php:1442 +msgid "" +"Attached is an iCalendar file with more information about the event. If your " +"mail client supports iTip requests you can use this file to easily update " +"your local copy of the event." +msgstr "" +"Ãö©ó³o­Ó¨Æ¥óªº§ó¦h°T®§¤wªþ¥[¦b iCalendar Àɮפ¤. ¦pªG§Aªº¶l¥ó¾\Ū³nÅé¤ä´© " +"iTip §A¥i¥H»´©öªº¨Ï¥Î³o­Óªþ¥óÀÉ®×,±N¨Æ¥ó½Æ»s¨ì§Aªº¦æ¨Æ¾ä¤¤." + +#: perms.php:45 +msgid "Attempt to edit a non-existent share." +msgstr "À|¸Õ½s¿è¤@­Ó¤£¦s¦bªº¦@¨É." + +#: templates/view/view.inc:172 templates/attendees/attendees.inc:48 +#: templates/attendees/attendees.inc:60 +msgid "Attendance" +msgstr "¥X®u¤H­û" + +#: templates/view/view.inc:171 templates/attendees/attendees.inc:47 +msgid "Attendee" +msgstr "¥X®u¤H­û" + +#: templates/view/view.inc:168 templates/edit/edit.inc:193 +msgid "Attendees" +msgstr "¥X®u¤H­û" + +#: lib/Kronolith.php:1436 +#, php-format +msgid "Attendees: %s" +msgstr "¥X®u¤H­û: %s" + +#: templates/javascript/goto.js:75 +msgid "August" +msgstr "¤K¤ë" + +#: templates/prefs/sourceselect.inc:291 templates/prefs/sourceselect.inc:293 +msgid "Available Address books:" +msgstr "¥i¥Îªº³q°T¿ý:" + +#: templates/search/search.inc:12 templates/search/search_advanced.inc:9 +msgid "Basic Search" +msgstr "°ò¥»·j´M" + +#: config/keywords.php.dist:17 +msgid "Birthday" +msgstr "¥Í¤é" + +#: lib/FBView.php:90 lib/FBView.php:112 templates/fbview/legend.html:9 +msgid "Busy" +msgstr "¦£¸L" + +#: templates/search/search_advanced.inc:37 +msgid "C_alendar" +msgstr "¦æ¨Æ¾ä_a" + +#: templates/edit/edit.inc:67 +msgid "Cal_endar" +msgstr "¦æ¨Æ¾ä_e" + +#: templates/calendar_list.php:22 lib/Block/month.php:21 +#: lib/Block/monthlist.php:21 lib/Block/prevmonthlist.php:21 +#: lib/Block/summary.php:22 +msgid "Calendar" +msgstr "¦æ¨Æ¾ä" + +#: templates/panel.inc:6 +msgid "Calendar Information" +msgstr "¦æ¨Æ¾ä¸ê°T" + +#: templates/calendar_list.php:19 +msgid "Calendar List" +msgstr "ÂsÄý" + +#: lib/Block/summary.php:3 +msgid "Calendar Summary" +msgstr "¦æ¨Æ¾äºK­n" + +#: data.php:254 +msgid "Calendar successfully purged." +msgstr "¦æ¨Æ¾ä¤w§¹¦¨²MªÅ." + +#: templates/panel.inc:23 templates/panel.inc:24 config/prefs.php.dist:27 +#: config/prefs.php.dist:35 config/prefs.php.dist:60 +msgid "Calendars" +msgstr "¦æ¨Æ¾ä" + +#: templates/calendar_titles.inc:8 +msgid "Calendars Printed: " +msgstr "¤w¦C¦Lªº¦æ¨Æ¾ä: " + +#: data.php:270 +msgid "Can't create a new event." +msgstr "µLªk«Ø¥ß·s¨Æ¥ó" + +#: templates/edit/edit.inc:51 templates/edit/edit.inc:382 +#: templates/delete/delete.inc:28 templates/delete/one.inc:25 +#: lib/Forms/DeleteCalendar.php:45 lib/Forms/DeleteCalendar.php:51 +#: lib/Forms/UnsubscribeRemoteCalendar.php:39 +#: lib/Forms/UnsubscribeRemoteCalendar.php:45 +msgid "Cancel" +msgstr "¨ú®ø" + +#: lib/Kronolith.php:1145 +msgid "Cancelled" +msgstr "¤w¨ú®ø" + +#: lib/Kronolith.php:1403 +#, php-format +msgid "Cancelled: %s" +msgstr "¤w¨ú®ø: %s" + +#: lib/Driver/kolab.php:1394 +#, php-format +msgid "Cannot delete event: %s" +msgstr "µLªk§R°£¨Æ¥ó. %s" + +#: templates/search/search_advanced.inc:58 templates/edit/edit.inc:94 +msgid "Categor_y" +msgstr "¤ÀÃþ_y" + +#: data.php:64 templates/view/view.inc:6 templates/search/event_headers.inc:4 +msgid "Category" +msgstr "¤ÀÃþ" + +#: calendars/index.php:69 templates/calendar_list.php:54 +msgid "Change Permissions" +msgstr "Åܧó¦s¨ú¼Ò¦¡" + +#: config/prefs.php.dist:52 +msgid "" +"Choose how you want to be notified about event changes, event alarms and " +"upcoming events." +msgstr "³]©w¨Æ¥óÅܧó, ¨Æ¥óĵ¥Ü»P§Y±N¨ìÁ{¨Æ¥óªº³qª¾¤è¦¡." + +#: config/prefs.php.dist:383 +msgid "Choose how you want to receive reminders for events with alarms:" +msgstr "§A¥´ºâ¥H¦óºØ¤è¦¡±µ¨ü¨Ó¦Û¦æ¨Æ¾äªºÄµ¥Ü:" + +#: config/prefs.php.dist:340 +msgid "" +"Choose if you want to be notified of new, edited, and deleted events by " +"email:" +msgstr "·í¨Æ¥ó³Q·s¼W,½s¿è©Î§R°£®É¬O§_¥H¶l¥ó³qª¾:" + +#: config/prefs.php.dist:353 +msgid "Choose if you want to receive daily agenda email reminders:" +msgstr "¦¬¨ú©Ò¦³·í¤é¨Æ¥óºK­n:" + +#: config/prefs.php.dist:374 +msgid "Choose if you want to receive reminders for events with alarms:" +msgstr "­n¨Ï¥Îĵ¥Ü³qª¾ªº¦æ¨Æ¾ä:" + +#: templates/prefs/fb_cals_select.inc:28 +msgid "Choose the calendars to include in the above Free/Busy URL:" +msgstr "¿ï¾Ü¤W­zªÅ¶¢/¦£¸Lºô§}®É,©Ò­n¥]§tªº¦æ¨Æ¾ä:" + +#: config/prefs.php.dist:440 +msgid "Choose the calendars to include when generating Free/Busy URLs:" +msgstr "²£¥ÍªÅ¶¢/¦£¸Lºô§}®É,©Ò­n¥]§tªº¦æ¨Æ¾ä:" + +#: templates/prefs/sourceselect.inc:287 +msgid "Choose the order of address books to search when expanding addresses." +msgstr "¿ï¾Ü³q°T¿ý·j´M¶¶§Ç,¥H«K©m¦WÁr´ú." + +#: config/prefs.php.dist:188 +msgid "Choose the views to show event locations in:" +msgstr "¦b¤U¦Cµe­±Åã¥Ü¨Æ¥ó¦aÂI:" + +#: config/prefs.php.dist:176 +msgid "Choose the views to show event start and end times in:" +msgstr "¦b¤U¦Cµe­±Åã¥Ü¨Æ¥ó±Ò¨´®É¶¡:" + +#: config/prefs.php.dist:37 +msgid "Choose which holidays to display" +msgstr "¿ï¾Ü­nÅã¥Üªº°²¤é" + +#: config/prefs.php.dist:29 +msgid "Choose your default calendar." +msgstr "¿ï¾Ü§Aªº¹w³]¦æ¨Æ¾ä." + +#: templates/attendees/attendees.inc:95 +msgid "Clear all attendees" +msgstr "²M°£©Ò¦³¥X®u¤H­û" + +#: templates/prefs/sourceselect.inc:317 +msgid "" +"Click on one of your selected address books and then select all fields to " +"search." +msgstr "¬°¨C¤@¥»¿ï¾Üªº³q°T¿ý³]©wÁr´úªºÄæ¦ì." + +#: templates/calendar_list.php:40 templates/calendar_list.php:41 +#: templates/calendar_list.php:50 templates/calendar_list.php:51 +msgid "Click or copy this URL to display this calendar" +msgstr "ÂI¿ï©Î½Æ»s¦¹ºô§}¥H«KÅã¥Ü¦æ¨Æ¾ä" + +#: templates/javascript_defs.php:17 +msgid "Close" +msgstr "Ãö³¬" + +#: templates/perms/perms.inc:9 +msgid "Close Window" +msgstr "Ãö³¬µøµ¡" + +#: templates/contacts/contacts.inc:198 +msgid "Close window" +msgstr "Ãö³¬µøµ¡" + +#: data.php:30 templates/data/import.inc:13 +msgid "Comma separated values" +msgstr "³rÂI¤À¹j­È" + +#: config/prefs.php.dist:81 +msgid "Confirm deletion of events?" +msgstr "§R°£¨Æ¥ó®É¬O§_»Ý­n½T»{ ?" + +#: lib/Kronolith.php:1142 +msgid "Confirmed" +msgstr "¤w½T»{" + +#: templates/prefs/fb_cals_select.inc:6 +msgid "Copy this URL for use wherever you need your Free/Busy URL:" +msgstr "§AªºªÅ¶¢/¦£¸Lºô§}¦p¤U:" + +#: lib/Kronolith.php:456 +#, php-format +msgid "Could not open %s." +msgstr "µLªk¶}±Ò %s." + +#: lib/Forms/CreateCalendar.php:39 +msgid "Create" +msgstr "«Ø¥ß" + +#: lib/Forms/CreateCalendar.php:34 +msgid "Create Calendar" +msgstr "«Ø¥ß¦æ¨Æ¾ä" + +#: templates/week/head.inc:29 lib/Views/Day.php:99 lib/Views/Day.php:261 +#: lib/Views/Month.php:173 +msgid "Create a New Event" +msgstr "«Ø¥ß¤@·s¨Æ¥ó" + +#: templates/calendar_list.php:10 +msgid "Create a new Local Calendar" +msgstr "«Ø¥ß¤@­Ó¥»ºÝ¦æ¨Æ¾ä" + +#: templates/view/view.inc:74 +msgid "Created" +msgstr "«Ø¥ß" + +#: templates/edit/edit.inc:37 templates/delete/delete.inc:25 +msgid "Current" +msgstr "¥Ø«e" + +#: lib/Recurrence.php:192 +msgid "Daily" +msgstr "¨C¤é" + +#: templates/view/view.inc:96 templates/edit/edit.inc:226 +msgid "Daily: Recurs every" +msgstr "¤é: ¨C" + +#: attendees.php:196 lib/Kronolith.php:1748 lib/Block/tree_menu.php:21 +#: config/prefs.php.dist:90 +msgid "Day" +msgstr "¤Ñ" + +#: templates/view/view.inc:56 templates/prefs/default_alarm_management.inc:28 +#: templates/edit/edit.inc:170 +msgid "Day(s)" +msgstr "¤Ñ" + +#: lib/Kronolith.php:1798 +msgid "De_lete" +msgstr "§R°£_l" + +#: templates/javascript/goto.js:79 +msgid "December" +msgstr "¤Q¤G¤ë" + +#: lib/Kronolith.php:1172 +msgid "Declined" +msgstr "Áµ´" + +#: templates/prefs/default_alarm_management.inc:21 +msgid "Default Alarm Setting:" +msgstr "¹w³]ĵ¥Ü³]©w:" + +#: config/prefs.php.dist:28 +msgid "Default Calendar" +msgstr "¹w³]¦æ¨Æ¾ä" + +#: templates/perms/perms.inc:57 templates/perms/perms.inc:81 +#: templates/perms/perms.inc:98 templates/perms/perms.inc:122 +#: templates/perms/perms.inc:139 templates/perms/perms.inc:163 +#: templates/perms/perms.inc:180 templates/perms/perms.inc:204 +#: templates/perms/perms.inc:245 templates/perms/perms.inc:262 +#: templates/perms/perms.inc:286 templates/perms/perms.inc:320 +msgid "Delegate" +msgstr "©e°U" + +#: calendars/index.php:70 templates/calendar_list.php:56 +#: templates/perms/perms.inc:56 templates/perms/perms.inc:77 +#: templates/perms/perms.inc:97 templates/perms/perms.inc:118 +#: templates/perms/perms.inc:138 templates/perms/perms.inc:159 +#: templates/perms/perms.inc:179 templates/perms/perms.inc:200 +#: templates/perms/perms.inc:241 templates/perms/perms.inc:261 +#: templates/perms/perms.inc:282 templates/perms/perms.inc:316 +#: templates/delete/one.inc:24 lib/Driver.php:1329 lib/Driver.php:2295 +#: lib/Forms/DeleteCalendar.php:45 +msgid "Delete" +msgstr "§R°£" + +#: lib/Driver.php:2294 lib/Forms/DeleteCalendar.php:40 +#: lib/Views/DeleteEvent.php:29 +#, php-format +msgid "Delete %s" +msgstr "§R°£ %s" + +#: lib/Driver.php:1328 +#, php-format +msgid "Delete exception on %s" +msgstr "§R°£¦b %s ªº¨Ò¥~" + +#: templates/search/search.inc:27 templates/search/search_advanced.inc:101 +#: templates/edit/edit.inc:180 +msgid "Descri_ption" +msgstr "´y­z_p" + +#: data.php:63 templates/view/view.inc:155 lib/Forms/CreateCalendar.php:37 +#: lib/Forms/EditCalendar.php:44 +msgid "Description" +msgstr "´y­z" + +#: templates/contacts/contacts.inc:186 +msgid "Display" +msgstr "Åã¥Ü" + +#: config/prefs.php.dist:9 config/prefs.php.dist:20 +msgid "Display Options" +msgstr "Åã¥Ü¿ï¶µ" + +#: templates/calendar_list.php:24 +msgid "Display URL" +msgstr "Åã¥Üºô§}" + +#: lib/Kronolith.php:1110 +msgid "Does not recur" +msgstr "¤£­«½Æ" + +#: config/prefs.php.dist:361 +msgid "" +"Don't send me a notification if I've added, changed or deleted the event?" +msgstr "¦pªG¨Æ¥ó¬O¥Ñ§Ú©Ò·s¼W, Åܧó©Î§R°£.½Ð¤£­n¶Ç°e³qª¾µ¹§Ú?" + +#: lib/Kronolith.php:674 +#, php-format +msgid "Due: %s" +msgstr "¨ì´Á: %s" + +#: templates/edit/edit_timespan.inc:112 +msgid "Duration" +msgstr "´Á¶¡" + +#: lib/Driver.php:2006 +msgid "Duration Day" +msgstr "«ùÄò¤é" + +#: lib/Driver.php:2018 +msgid "Duration Hour" +msgstr "«ùÄò¤p®É" + +#: lib/Driver.php:2029 +msgid "Duration Minute" +msgstr "«ùÄò¤ÀÄÁ" + +#: calendars/index.php:68 templates/calendar_list.php:42 +#: templates/calendar_list.php:52 templates/perms/perms.inc:55 +#: templates/perms/perms.inc:73 templates/perms/perms.inc:96 +#: templates/perms/perms.inc:114 templates/perms/perms.inc:137 +#: templates/perms/perms.inc:155 templates/perms/perms.inc:178 +#: templates/perms/perms.inc:196 templates/perms/perms.inc:237 +#: templates/perms/perms.inc:260 templates/perms/perms.inc:278 +#: templates/perms/perms.inc:312 lib/Driver.php:2288 +msgid "Edit" +msgstr "½s¿è" + +#: templates/attendees/attendees.inc:57 lib/Driver.php:2287 +#: lib/Forms/EditCalendar.php:40 lib/Forms/EditRemoteCalendar.php:34 +#: lib/Views/EditEvent.php:29 +#, php-format +msgid "Edit %s" +msgstr "½s¿è %s" + +#: templates/edit/edit.inc:202 +msgid "Edit Attendees" +msgstr "½s¿è¥X®u¤H­û" + +#: perms.php:237 +msgid "Edit Permissions" +msgstr "½s¿èÅv­­" + +#: perms.php:239 +#, php-format +msgid "Edit Permissions for %s" +msgstr "½s¿è %s ªºÅv­­" + +#: templates/attendees/attendees.inc:78 +msgid "Edit attendee" +msgstr "½s¿è¥X®u¤H­û" + +#: attendees.php:267 +msgid "Edit attendees" +msgstr "½s¿è¥X®u¤H­û" + +#: templates/category_legend.inc:20 +msgid "Edit categories and colors" +msgstr "½s¿è¤ÀÃþ»PÃC¦â" + +#: templates/perms/perms.inc:11 +#, php-format +msgid "Edit permissions for %s" +msgstr "½s¿è %s ªºÅv­­" + +#: templates/contacts/contacts.inc:189 +msgid "Email Address" +msgstr "¹q¤l¶l¥ó¦a§}" + +#: templates/edit/edit_timespan.inc:57 +msgid "En_d" +msgstr "µ²§ô_d" + +#: data.php:58 +msgid "End Date" +msgstr "µ²§ô¤é´Á" + +#: templates/data/export.inc:161 lib/Driver.php:1977 +msgid "End Day" +msgstr "µ²§ô¤é" + +#: templates/data/export.inc:178 lib/Driver.php:1990 +msgid "End Hour" +msgstr "µ²§ô®É" + +#: templates/data/export.inc:190 lib/Driver.php:2001 +msgid "End Minute" +msgstr "µ²§ô¤À" + +#: templates/data/export.inc:148 lib/Driver.php:1968 +msgid "End Month" +msgstr "µ²§ô¤ë" + +#: templates/view/view.inc:41 templates/search/event_headers.inc:8 +#: templates/data/export.inc:125 +msgid "End On" +msgstr "µ²§ô©ó" + +#: data.php:59 +msgid "End Time" +msgstr "µ²§ô®É¶¡" + +#: templates/data/export.inc:134 lib/Driver.php:1957 +msgid "End Year" +msgstr "µ²§ô¦~" + +#: attendees.php:246 +#, php-format +msgid "Error retrieving free/busy information for %s: %s" +msgstr "µLªkŪ¨ú%s:%sªºªÅ¶¢/¦£¸L¸ê°T" + +#: attendees.php:223 +#, php-format +msgid "Error retrieving your free/busy information: %s" +msgstr "µLªkŪ¨ú§AªºªÅ¶¢/¦£¸L¸ê°T: %s" + +#: config/prefs.php.dist:44 +msgid "Event Defaults" +msgstr "¨Æ¥ó¹w³]­È" + +#: lib/Kronolith.php:1595 +msgid "Event added:" +msgstr "¨Æ¥ó¤w·s¼W:" + +#: lib/Kronolith.php:1605 +msgid "Event deleted:" +msgstr "¨Æ¥ó¤w§R°£." + +#: lib/Kronolith.php:1600 +msgid "Event edited:" +msgstr "¨Æ¥ó¤w½s¿è:" + +#: lib/Driver.php:1456 +#, php-format +msgid "Event from %s to %s" +msgstr "¨Æ¥ó±q %s ¨ì %s" + +#: lib/Driver/sql.php:390 +msgid "Event not found" +msgstr "§ä¤£¨ì¨Æ¥ó" + +#: lib/Driver/kolab.php:453 lib/Driver/kolab.php:1189 +#: lib/Driver/kolab.php:1228 lib/Driver/kolab.php:1372 +#, php-format +msgid "Event not found: %s" +msgstr "§ä¤£¨ì¨Æ¥ó: %s" + +#: config/prefs.php.dist:43 config/prefs.php.dist:50 +msgid "Events" +msgstr "·s¨Æ¥ó" + +#: lib/api.php:279 +#, php-format +msgid "Events from %s" +msgstr "¨Æ¥ó±q %s" + +#: lib/Driver.php:1060 +msgid "Events must have a start date." +msgstr "¨Æ¥ó¥²¶·­n¦³¤@­Ó±Ò©l¤é´Á." + +#: lib/Driver.php:1022 +msgid "Events must have a title." +msgstr "¨Æ¥ó¥²¶·­n¦³¤@­Ó¦WºÙ." + +#: templates/view/view.inc:130 templates/edit/edit.inc:323 +msgid "Exceptions" +msgstr "¨Ò¥~" + +#: templates/data/export.inc:209 lib/Kronolith.php:1805 +msgid "Export" +msgstr "¶×¥X" + +#: templates/data/export.inc:8 +msgid "Export Calendar" +msgstr "¶×¥X¦æ¨Æ¾ä" + +#: templates/panel.inc:59 +msgid "External Events:" +msgstr "¥~³¡¨Æ¥ó:" + +#: templates/javascript/goto.js:69 +msgid "February" +msgstr "¤G¤ë" + +#: templates/prefs/sourceselect.inc:327 +msgid "Fields to search" +msgstr "·j´MÄæ¦ì" + +#: templates/contacts/contacts.inc:143 +msgid "Find" +msgstr "§ä´M" + +#: templates/javascript/goto.js:63 templates/edit/edit.inc:239 +#: lib/Views/Year.php:81 lib/Block/month.php:107 +msgid "Fr" +msgstr "¬P´Á¤­" + +#: lib/Kronolith.php:1148 +msgid "Free" +msgstr "ªÅ¶¢" + +#: config/prefs.php.dist:61 +msgid "Free/Busy Information" +msgstr "¥i¥Î®É¶¡¸ê°T" + +#: templates/view/view.inc:103 templates/month/head.inc:21 +#: templates/edit/javascript.inc:71 +msgid "Friday" +msgstr "¬P´Á¤­" + +#: templates/edit/edit.inc:38 templates/delete/delete.inc:26 +msgid "Future" +msgstr "¥Ø«e¤Î¥H«á" + +#: config/keywords.php.dist:17 +msgid "Game" +msgstr "¹CÀ¸" + +#: templates/search/search_advanced.inc:18 +msgid "General" +msgstr "¤@¯ë" + +#: lib/Block/summary.php:153 +#, php-format +msgid "Goto %s" +msgstr "²¾¦Ü %s" + +#: templates/perms/perms.inc:256 +msgid "Groups" +msgstr "¸s²Õ" + +#: templates/perms/perms.inc:92 +msgid "Guest Permissions" +msgstr "¨Ó»«Åv­­" + +#: templates/edit/javascript.inc:256 +msgid "Hide" +msgstr "ÁôÂÃ" + +#: config/prefs.php.dist:36 +msgid "Holidays" +msgstr "°²¤é" + +#: templates/view/view.inc:59 templates/prefs/default_alarm_management.inc:27 +#: templates/edit/edit.inc:169 +msgid "Hour(s)" +msgstr "®É" + +#: config/prefs.php.dist:150 +msgid "How long should the time slots on the day and week views be?" +msgstr "¤é»P¶gÀ˵øªºªº³Ì¤pÅã¥Ü³æ¦ì?" + +#: config/prefs.php.dist:392 +msgid "How many days of Free/Busy information should be generated?" +msgstr "À³¸Ó¹ï¥¼¨Ó²£¥Í´X¤ÑªÅ¶¢/¦£¸L¸ê°T©O?" + +#: lib/Kronolith.php:1446 +#, php-format +msgid "" +"If your email client doesn't support iTip requests you can use one of the " +"following links to accept or decline the event.\n" +"\n" +"To accept the event:\n" +"%s\n" +"\n" +"To accept the event tentatively:\n" +"%s\n" +"\n" +"To decline the event:\n" +"%s\n" +msgstr "" +"¦pªG§Aªº¶l¥ó¾\Ū³nÅ餣¤ä´© iTip ½Ð¨D,§A¥i¨Ï¥Î¤U¦C¥ô¤@³sµ²¨Ó±µ¨ü©Î°û©Ú¨Æ¥ó.\n" +"\n" +"±µ¨ü¦¹¨Æ¥ó:\n" +"%s\n" +"\n" +"¼È®É±µ¨ü¦¹¨Æ¥ó:\n" +"%s\n" +"\n" +"°û©Ú¦¹¨Æ¥ó:\n" +"%s\n" + +#: templates/data/import.inc:7 +#, php-format +msgid "Import Calendar, Step %d" +msgstr "¶×¤J¦æ¨Æ¾ä,¨BÆJ %d" + +#: data.php:316 +msgid "Import/Export Calendar" +msgstr "¶×¤J/¶×¥X¦æ¨Æ¾ä" + +#: templates/perms/perms.inc:174 +msgid "Individual Users" +msgstr "­Ó§O¨Ï¥ÎªÌ" + +#: templates/javascript/goto.js:68 +msgid "January" +msgstr "¤@¤ë" + +#: templates/javascript/goto.js:74 +msgid "July" +msgstr "¤C¤ë" + +#: templates/javascript/goto.js:73 +msgid "June" +msgstr "¤»¤ë" + +#: data.php:66 templates/view/view.inc:138 templates/edit/edit.inc:336 +msgid "Keywords" +msgstr "ÃöÁä¦r" + +#: templates/calendar_list.php:23 +msgid "Kind" +msgstr "ºØÃþ" + +#: templates/search/search.inc:54 +msgid "Last 24 hours" +msgstr "³Ìªñ 24 ¤p®É" + +#: templates/view/view.inc:81 +msgid "Last Modified" +msgstr "³Ìªñ¤@¦¸§ó·s" + +#: templates/month/head.inc:5 templates/month/head_side_by_side.inc:5 +msgid "Last Month" +msgstr "¤W­Ó¤ë" + +#: templates/year/head.inc:3 +msgid "Last Year" +msgstr "¤W¤@¦~" + +#: templates/week/head.inc:6 templates/search/search.inc:53 +msgid "Last week" +msgstr "¤W¤@¶g" + +#: templates/data/export.inc:29 +msgid "Limit the time span to export:" +msgstr "­­¨î¶×¥X®É¶¡¶¡¹j:" + +#: config/prefs.php.dist:403 +msgid "" +"List all contacts when loading the contacts screen? (if disabled, you will " +"only see contacts that you search for explicitly)" +msgstr "" +"½s¼g¶l¥ó®É,¦b³q°T¿ýµe­±¤¤Åã¥Ü©Ò¦³Ápµ¸¤H? (¦pªG¤£¤Ä¿ï¦¹¶µ,³q°T¿ýµe­±¶ÈÅã¥Ü»P·j" +"´M¬Û²Åªº¸ê®Æ)" + +#: templates/search/search_advanced.inc:81 templates/edit/edit.inc:101 +msgid "Lo_cation" +msgstr "¦aÂI_c" + +#: templates/javascript_defs.php:16 +msgid "Loading ..." +msgstr "¸ü¤J¤¤..." + +#: templates/attendees/attendees.inc:81 +msgid "Loading..." +msgstr "¸ü¤J¤¤..." + +#: templates/calendar_list.php:49 +msgid "Local" +msgstr "¥»ºÝ" + +#: templates/calendar_info.php:18 +#, php-format +msgid "Local calendar owned by %s." +msgstr "¥»ºÝ¦æ¨Æ¾äªº¾Ö¦³ªÌ %s." + +#: data.php:65 templates/view/view.inc:14 templates/search/event_headers.inc:5 +#: lib/Driver.php:2318 +msgid "Location" +msgstr "¦aÂI" + +#: lib/Kronolith.php:1427 +#, php-format +msgid "Location: %s" +msgstr "¦aÂI: %s" + +#: calendars/index.php:74 templates/calendar_list.php:4 +msgid "Manage Calendars" +msgstr "ºÞ²z¦æ¨Æ¾ä" + +#: templates/javascript/goto.js:70 +msgid "March" +msgstr "¤T¤ë" + +#: lib/api.php:138 +msgid "Maximum Number of Events" +msgstr "¨Æ¥ó¤W­­¼Æ¥Ø" + +#: lib/Block/monthlist.php:27 lib/Block/summary.php:25 +msgid "Maximum number of events to display (0 = no limit)" +msgstr "Åã¥Ü¨Æ¥óªº¤W­­ (0 ªí¥Ü¤£­­¨î)" + +#: templates/javascript/goto.js:72 +msgid "May" +msgstr "¤­¤ë" + +#: lib/Driver.php:2314 +msgid "Me" +msgstr "§Ú" + +#: config/keywords.php.dist:17 +msgid "Meeting" +msgstr "·|ij" + +#: lib/Block/tree_alarms.php:3 +msgid "Menu Alarms" +msgstr "¥Ø¿ýĵ¥Ü" + +#: lib/Block/tree_menu.php:3 +msgid "Menu List" +msgstr "¥\¯àªí" + +#: templates/view/view.inc:62 templates/prefs/default_alarm_management.inc:26 +#: templates/edit/edit.inc:168 +msgid "Minute(s)" +msgstr "¤ÀÄÁ" + +#: templates/javascript/goto.js:59 templates/edit/edit.inc:235 +#: lib/Views/Year.php:77 lib/Block/month.php:107 +msgid "Mo" +msgstr "¬P´Á¤@" + +#: templates/view/view.inc:99 templates/month/head.inc:17 +#: templates/edit/javascript.inc:67 config/prefs.php.dist:114 +msgid "Monday" +msgstr "¬P´Á¤@" + +#: attendees.php:199 lib/Kronolith.php:1754 lib/Block/tree_menu.php:24 +#: config/prefs.php.dist:93 +msgid "Month" +msgstr "¤ë" + +#: config/prefs.php.dist:173 config/prefs.php.dist:185 +msgid "Month, Week, and Day Views" +msgstr "¤ë,¶g,»P¤éÀ˵ø" + +#: lib/Recurrence.php:195 +msgid "Monthly" +msgstr "¨C¤ë" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:246 templates/edit/edit.inc:252 +msgid "Monthly: Recurs every" +msgstr "¤ë: ¨C" + +#: lib/Block/monthlist.php:24 +msgid "Months Ahead" +msgstr "¥¼¨Ó¤ë¼Æ" + +#: lib/Block/prevmonthlist.php:24 +msgid "Months Before" +msgstr "¥H«e¤ë¼Æ" + +#: templates/prefs/sourceselect.inc:312 +msgid "Move down" +msgstr "¤U²¾" + +#: templates/prefs/sourceselect.inc:310 +msgid "Move up" +msgstr "¤W²¾" + +#: lib/api.php:1063 +msgid "Multiple iCalendar components found; only one vEvent is supported." +msgstr "µo²{¦h­Ó iCalendar ¤¸¥ó; ¶È¥u¤ä´© vEvent." + +#: templates/panel.inc:41 +msgid "My Calendars:" +msgstr "§Úªº¦æ¨Æ¾ä:" + +#: templates/prefs/fb_cals_select.inc:2 +msgid "My Free/Busy URL" +msgstr "§ÚªºªÅ¶¢/¦£¸Lºô§}" + +#: templates/contacts/contacts.inc:188 lib/Forms/CreateCalendar.php:36 +#: lib/Forms/EditCalendar.php:43 lib/Forms/EditRemoteCalendar.php:36 +#: lib/Forms/SubscribeRemoteCalendar.php:36 +msgid "Name" +msgstr "¦WºÙ" + +#: lib/Block/tree_menu.php:20 +msgid "New Event" +msgstr "·s¨Æ¥ó" + +#: lib/Kronolith.php:398 +#, php-format +msgid "" +"New calendar created and automatically shared with the following group(s): %" +"s." +msgstr "·sªº¦æ¨Æ¾ä¤w«Ø§´¨Ã¥B±N¦Û°Ê¤À¨Éµ¹¸s²Õ: %s." + +#: templates/data/import.inc:33 +msgid "Next" +msgstr "¤U¤@¨B" + +#: templates/search/search.inc:56 +msgid "Next 24 hours" +msgstr "¥¼¨Ó 24 ¤p®É" + +#: lib/FBView/day.php:28 +msgid "Next Day" +msgstr "¤U¤@¤Ñ" + +#: templates/month/head.inc:7 templates/month/head_side_by_side.inc:7 +#: lib/FBView/month.php:31 +msgid "Next Month" +msgstr "¤U­Ó¤ë" + +#: lib/FBView/week.php:31 +msgid "Next Week" +msgstr "¤U¤@¶g" + +#: templates/year/head.inc:5 +msgid "Next Year" +msgstr "¤U¤@¦~" + +#: templates/day/head.inc:5 +msgid "Next day" +msgstr "¤U¤@¤Ñ" + +#: templates/week/head.inc:8 templates/search/search.inc:57 +msgid "Next week" +msgstr "¤U¤@¶g" + +#: config/prefs.php.dist:336 config/prefs.php.dist:349 +#: config/prefs.php.dist:370 +msgid "No" +msgstr "§_" + +#: templates/fbview/legend.html:13 +msgid "No Information" +msgstr "µL¸ê°T" + +#: templates/view/view.inc:67 templates/edit/edit.inc:163 +msgid "No alarm" +msgstr "µL" + +#: templates/attendees/attendees.inc:54 +msgid "No attendees" +msgstr "¨S¦³¥X®u¤H­û" + +#: lib/api.php:1201 +msgid "" +"No attendees have been updated because none of the provided email addresses " +"have been found in the event's attendees list." +msgstr "" +"¥Ñ©ó¦b¨Æ¥óªº¥X®u¤H­û²M³æ¤¤§ä¤£¨ì©Ò´£¨Ñªº¹q¤l¶l¥ó¦ì§},¦]¦¹¨Ã¥¼§ó·s¥X®u¤H­û." + +#: lib/Kronolith.php:1997 +msgid "No calendars are available to guests." +msgstr "¨S¦³¥ô¦ó¦æ¨Æ¾ä¥i¨Ñ¨Ó»«¨Ï¥Î." + +#: lib/Driver/sql.php:418 +msgid "No calendars to search" +msgstr "¨S¦³¥i·j´Mªº¦æ¨Æ¾ä" + +#: templates/view/view.inc:124 templates/edit/edit.inc:284 +msgid "No end date" +msgstr "¥Ã»·" + +#: lib/Block/monthlist.php:175 lib/Block/prevmonthlist.php:166 +#: lib/Block/summary.php:205 +msgid "No events to display" +msgstr "µL¨Æ¥ó¥i¨ÑÅã¥Ü" + +#: lib/FreeBusy.php:225 +#, php-format +msgid "No free/busy information found at the free/busy url of %s." +msgstr "¦b %s ªººô§}§ä¤£¨ìªÅ¶¢/¦£¸L¸ê°T." + +#: lib/Storage/kolab.php:67 +#, php-format +msgid "No free/busy information is available for %s" +msgstr "¨S¦³Ãö©ó%sªºªºªÅ¶¢/¦£¸L¸ê°T" + +#: lib/FreeBusy.php:226 +#, php-format +msgid "No free/busy url found for %s." +msgstr "§ä¤£¨ì %s ªºªÅ¶¢/¦£¸L¸ê°T." + +#: lib/api.php:491 lib/api.php:778 lib/api.php:816 lib/api.php:1070 +msgid "No iCalendar data was found." +msgstr "§ä¤£¨ì iCalendar ¸ê®Æ." + +#: templates/edit/edit.inc:221 lib/Driver.php:1313 lib/Recurrence.php:191 +msgid "No recurrence" +msgstr "µL" + +#: lib/FreeBusy.php:168 +msgid "No valid email address found" +msgstr "§ä¤£¨ì¦³®Äªº¹q¤l¦í§}" + +#: templates/prefs/sourceselect.inc:35 lib/Kronolith.php:1179 +#: lib/Kronolith.php:1200 +msgid "None" +msgstr "µL" + +#: lib/Views/Event.php:26 lib/Views/DeleteEvent.php:27 +#: lib/Views/EditEvent.php:27 +msgid "Not Found" +msgstr "§ä¤£¨ì" + +#: lib/Storage/sql.php:155 +msgid "Not found" +msgstr "§ä¤£¨ì" + +#: config/prefs.php.dist:51 +msgid "Notifications" +msgstr "³qª¾¿ï¶µ" + +#: templates/javascript/goto.js:78 +msgid "November" +msgstr "¤Q¤@¤ë" + +#: templates/search/search.inc:55 +msgid "Now" +msgstr "²{¦b" + +#: templates/perms/perms.inc:133 +msgid "Object Creator" +msgstr "ª«¥ó«Ø¥ßªÌ" + +#: templates/javascript/goto.js:77 +msgid "October" +msgstr "¤Q¤ë" + +#: templates/edit/edit_timespan.inc:13 templates/edit/edit_timespan.inc:62 +msgid "On" +msgstr "©ó" + +#: config/prefs.php.dist:339 config/prefs.php.dist:352 +#: config/prefs.php.dist:373 +msgid "On all calendars I have read access to" +msgstr "©Ò¦³§Ú¯àŪ¨úªºªº¦æ¨Æ¾ä" + +#: config/prefs.php.dist:338 config/prefs.php.dist:351 +#: config/prefs.php.dist:372 +msgid "On all shown calendars" +msgstr "©Ò¦³Åã¥Ü¤¤ªº¦æ¨Æ¾ä:" + +#: config/prefs.php.dist:337 config/prefs.php.dist:350 +#: config/prefs.php.dist:371 +msgid "On my calendars only" +msgstr "¥u­­©ó§Úªº¦æ¨Æ¾ä" + +#: perms.php:57 +msgid "" +"Only the owner or system administrator may change ownership or owner " +"permissions for a share" +msgstr "¥u¦³¾Ö¦³ªÌ»P¨t²ÎºÞ²z­û¥i¥HÅܧó¦@¨ÉÅv­­" + +#: lib/Kronolith.php:1197 +msgid "Optional" +msgstr "«D¥²¶·" + +#: lib/FBView.php:120 +msgid "Optional Attendees" +msgstr "«D¥²¶·¥X®u¤H­û" + +#: config/prefs.php.dist:68 +msgid "Other Options" +msgstr "¨ä¥L¿ï¶µ" + +#: lib/FBView.php:155 +msgid "Overview" +msgstr "·§Æ[" + +#: templates/view/view.inc:28 templates/perms/perms.inc:22 +msgid "Owner" +msgstr "¾Ö¦³ªÌ" + +#: templates/perms/perms.inc:28 templates/perms/perms.inc:39 +msgid "Owner:" +msgstr "¾Ö¦³ªÌ:" + +#: lib/Driver.php:2313 +#, php-format +msgid "Owner: %s" +msgstr "¾Ö¦³ªÌ: %s" + +#: templates/data/export.inc:119 templates/data/export.inc:204 +msgid "PM" +msgstr "¤U¤È" + +#: lib/Forms/EditRemoteCalendar.php:39 +#: lib/Forms/SubscribeRemoteCalendar.php:39 +msgid "Password" +msgstr "±K½X" + +#: templates/view/view.inc:93 templates/edit/edit.inc:216 +msgid "Pattern" +msgstr "¼Ë¦¡" + +#: templates/delete/one.inc:22 +msgid "Permanently delete this event?" +msgstr "¥Ã¤[§R°£¦¹¨Æ¥ó?" + +#: lib/Kronolith.php:1899 lib/Kronolith.php:1918 lib/Kronolith.php:1931 +#: lib/Kronolith.php:1952 lib/api.php:648 lib/api.php:692 lib/api.php:724 +#: lib/api.php:757 lib/api.php:855 lib/api.php:908 lib/api.php:1006 +#: lib/api.php:1040 lib/api.php:1131 lib/api.php:1191 lib/api.php:1256 +#: lib/api.php:1286 lib/Driver/sql.php:801 +msgid "Permission Denied" +msgstr "¦s¨ú¾D©Ú" + +#: lib/Forms/DeleteCalendar.php:56 +msgid "Permission denied" +msgstr "¦s¨ú¾D©Ú" + +#: lib/Imple/ContactAutoCompleter.php:227 +msgid "Please resolve ambiguous or invalid addresses." +msgstr "½Ð­«·s¿é¤J¥¿½Tªº¹q¶l¦a§}." + +#: config/prefs.php.dist:21 +msgid "Portal Options" +msgstr "­Ó¤H¯¸¥x¿ï¶µ" + +#: templates/fbview/legend.html:11 +msgid "Possible Meeting Time" +msgstr "¥i¯àªº·|ij®É¶¡" + +#: lib/FBView/day.php:24 +msgid "Previous Day" +msgstr "«e¤@¤é" + +#: lib/FBView/month.php:25 +msgid "Previous Month" +msgstr "¤W¤@¤ë" + +#: lib/FBView/week.php:25 +msgid "Previous Week" +msgstr "«e¤@¶g" + +#: templates/day/head.inc:3 +msgid "Previous day" +msgstr "«e¤@¤é" + +#: config/prefs.php.dist:174 config/prefs.php.dist:186 +msgid "Print Views" +msgstr "¦C¦LÀ˵ø" + +#: lib/Block/prevmonthlist.php:3 lib/Block/prevmonthlist.php:42 +msgid "Prior Events" +msgstr "Àu¥ý¨Æ¥ó" + +#: lib/Driver.php:1452 +#, php-format +msgid "Private Event from %s to %s" +msgstr "±q %s ¨ì %s ªº¨p¤H¨Æ¥ó" + +#: lib/Driver.php:2258 lib/Driver.php:2259 +msgid "Private event" +msgstr "¨p¤H¨Æ¥ó" + +#: templates/edit/edit.inc:120 +msgid "Private?" +msgstr "¨p¤H?" + +#: templates/perms/perms.inc:54 templates/perms/perms.inc:69 +#: templates/perms/perms.inc:95 templates/perms/perms.inc:110 +#: templates/perms/perms.inc:136 templates/perms/perms.inc:151 +#: templates/perms/perms.inc:177 templates/perms/perms.inc:192 +#: templates/perms/perms.inc:233 templates/perms/perms.inc:259 +#: templates/perms/perms.inc:274 templates/perms/perms.inc:308 +msgid "Read" +msgstr "Ū¨ú" + +#: lib/Forms/DeleteCalendar.php:43 +#, php-format +msgid "" +"Really delete the calendar \"%s\"? This cannot be undone and all data on " +"this calendar will be permanently removed." +msgstr "" +"¯uªº­n§R°£¦¹¦æ¨Æ¾ä \"%s\"¶Ü? ³o¶µ¾Þ§@±NµLªk«ì´_¦Ó¥B¸Ó¦æ¨Æ¾ä¤¤ªº¨Æ¥ó¥ç±N¥Ã»·®ø" +"¥¢." + +#: lib/Forms/UnsubscribeRemoteCalendar.php:37 +#, php-format +msgid "Really unsubscribe from the calendar \"%s\" (%s)?" +msgstr "½T©w­n±q¦æ¨Æ¾ä \"%s\" (%s) ¨ú®ø­q¾\?" + +#: templates/view/view.inc:123 templates/edit/edit.inc:281 +msgid "Recur Until" +msgstr "­«½Æª½¨ì" + +#: templates/view/view.inc:90 templates/edit/edit.inc:210 +msgid "Recurrence" +msgstr "­«½Æ" + +#: data.php:70 +msgid "Recurrence Data" +msgstr "­«½Æ¸ê®Æ" + +#: data.php:68 +msgid "Recurrence End Date" +msgstr "­«½ÆºI¤î¤é´Á" + +#: lib/Driver.php:2072 +msgid "Recurrence End Day" +msgstr "­«½ÆºI¤î¤é" + +#: lib/Driver.php:2057 +msgid "Recurrence End Month" +msgstr "­«½ÆºI¤î¤ë" + +#: lib/Driver.php:2040 +msgid "Recurrence End Year" +msgstr "­«½ÆºI¤î¦~" + +#: data.php:69 +msgid "Recurrence Interval" +msgstr "­«½Æ¶¡¹j" + +#: data.php:67 +msgid "Recurrence Type" +msgstr "­«½Æ«¬ºA" + +#: lib/Kronolith.php:1113 +msgid "Recurs daily" +msgstr "¨C¤é­«½Æ" + +#: lib/Kronolith.php:1120 +msgid "Recurs monthly" +msgstr "¨C¤ë­«½Æ" + +#: lib/Kronolith.php:1116 +msgid "Recurs weekly" +msgstr "¨C¶g­«½Æ" + +#: lib/Kronolith.php:1125 +msgid "Recurs yearly" +msgstr "¨C¦~­«½Æ" + +#: lib/Scheduler/kronolith.php:267 +#, php-format +msgid "Reminder: %s" +msgstr "´£¿ô: %s" + +#: templates/calendar_list.php:39 +msgid "Remote" +msgstr "»·ºÝ" + +#: templates/calendar_info.php:5 +msgid "Remote Calendar from: " +msgstr "»·ºÝ¦æ¨Æ¾ä±q: " + +#: templates/panel.inc:73 +msgid "Remote Calendars:" +msgstr "»·ºÝ¦æ¨Æ¾ä:" + +#: templates/contacts/contacts.inc:172 +msgid "Remove" +msgstr "²¾°£" + +#: templates/attendees/attendees.inc:57 +#, php-format +msgid "Remove %s" +msgstr "²¾°£ %s" + +#: attendees.php:189 +msgid "Remove Attendee" +msgstr "²¾°£¥X®u¤H­û" + +#: templates/prefs/sourceselect.inc:300 +msgid "Remove source" +msgstr "²¾°£³q°T¿ý" + +#: lib/Driver.php:258 +msgid "" +"Removing user data is not supported with the current calendar storage " +"backend." +msgstr "¥Ø«eªº¦æ¨Æ¾äÀx¦sÅX°Êµ{¦¡,¨Ã¥¼¤ä´©§R°£¨Ï¥ÎªÌ¸ê®Æªº¥\¯à." + +#: templates/data/import.inc:31 +msgid "" +"Replace existing calendar with the imported one? Warning: This " +"deletes all entries in your current calendar." +msgstr "" +"¥H¶×¤Jªº¦æ¨Æ¾ä¸m´«²{¦sªº¦æ¨Æ¾ä? ĵ§i: ³o±N·|§R°£¥Ø«e¦æ¨Æ¾ä¤¤ªº©Ò¦³¬ö" +"¿ý." + +#: lib/Kronolith.php:1204 +msgid "Required" +msgstr "¥²¶·­n" + +#: lib/FBView.php:98 lib/FBView.php:140 lib/FBView.php:143 lib/FBView.php:146 +msgid "Required Attendees" +msgstr "¥²¶·¥X®u¤H­û" + +#: templates/edit/edit.inc:52 templates/edit/edit.inc:383 +msgid "Reset to Defaults" +msgstr "­«³]¦^¤º©w­È" + +#: templates/view/view.inc:173 templates/attendees/attendees.inc:49 +msgid "Response" +msgstr "¦^ÂÐ" + +#: config/prefs.php.dist:141 +msgid "" +"Restrict day and week views to these time slots, even if there are earlier or later events?" +msgstr "±j¨î¤é»P¶gÀ˵ø¦b¤W­zªºÅã¥Ü®É¶¡¤º,§Y¨Ï¨Æ¥ó¸û¦­©Î¸û±ß?" + +#: templates/javascript/goto.js:64 templates/edit/edit.inc:240 +#: lib/Views/Year.php:82 lib/Block/month.php:107 +msgid "Sa" +msgstr "¬P´Á¤»" + +#: templates/view/view.inc:104 templates/month/head.inc:22 +#: templates/edit/javascript.inc:72 +msgid "Saturday" +msgstr "¬P´Á¤»" + +#: templates/panel.inc:83 lib/Forms/EditCalendar.php:46 +#: lib/Forms/EditRemoteCalendar.php:41 +msgid "Save" +msgstr "Àx¦s" + +#: templates/perms/perms.inc:331 +#, php-format +msgid "Save %s" +msgstr "·sÀÉ %s" + +#: templates/edit/edit.inc:40 lib/Kronolith.php:1790 +#: lib/Views/EditEvent.php:79 lib/Views/EditEvent.php:89 +msgid "Save As New" +msgstr "¥t¦s¨Æ¥ó" + +#: templates/attendees/attendees.inc:93 +msgid "Save Attendees" +msgstr "Àx¦s¥X®u¤H­û" + +#: new.php:56 lib/Views/EditEvent.php:82 +msgid "Save Event" +msgstr "Àx¦s¨Æ¥ó" + +#: templates/attendees/attendees.inc:94 +msgid "Save and Finish" +msgstr "Àx¦s¨Ãµ²§ô" + +#: search.php:91 templates/search/search.inc:66 +#: templates/search/search_advanced.inc:113 +#: templates/contacts/contacts.inc:155 lib/Block/tree_menu.php:26 +msgid "Search" +msgstr "·j´M" + +#: templates/search/header.inc:6 +msgid "Search Results" +msgstr "·j´Mµ²ªG" + +#: templates/panel.inc:29 +msgid "Search for Calendars:" +msgstr "·j´M¦æ¨Æ¾ä:" + +#: templates/contacts/contacts.inc:160 +msgid "Search results" +msgstr "·j´Mµ²ªG" + +#: lib/Storage.php:135 +msgid "Searching free/busy is not available." +msgstr "·j´MªÅ¶¢/¦£¸L¸ê°TµL®Ä." + +#: templates/edit/edit.inc:302 templates/edit/edit_timespan.inc:29 +#: templates/edit/edit_timespan.inc:79 +msgid "Select a date" +msgstr "¿ï¾Ü¤@­Ó¤é´Á" + +#: templates/perms/perms.inc:296 +msgid "Select a group to add" +msgstr "¿ï¾Ü¸s²Õ¥H·s¼W" + +#: templates/perms/perms.inc:294 +msgid "Select a group to add:" +msgstr "¿ï¾Ü­n·s¼Wªº¤@­Ó¸s²Õ:" + +#: templates/perms/perms.inc:30 +msgid "Select a new owner:" +msgstr "¿ï¾Ü¤@­Ó·sªº¾Ö¦³ªÌ:" + +#: templates/perms/perms.inc:213 templates/perms/perms.inc:215 +msgid "Select a user to add:" +msgstr "¿ï¾Ü­n·s¼Wªº¤@­Ó¨Ï¥ÎªÌ:" + +#: config/prefs.php.dist:70 +msgid "Select address book sources for adding and searching for addresses." +msgstr "¿ï¾Ü³q°T¿ý¥H·j´M¤Î·s¼W¦a§}." + +#: templates/prefs/sourceselect.inc:319 +msgid "Select all fields to search when expanding addresses." +msgstr "·í°õ¦æ©m¦WÁr´ú®É,¿ï¾Ü©Ò¦³Äæ¦ì¥H§Q·j´M." + +#: config/prefs.php.dist:11 +msgid "" +"Select confirmation options, how to display the different views and choose " +"default view." +msgstr "¿ï¾Ü¦p¦óÅã¥Ü¦UºØ¤£¦PªºÀ˵ø¥H¤Î¤º©wªºÀ˵ø" + +#: templates/data/import.inc:18 +msgid "Select the calendar to import to:" +msgstr "¿ï¾Ü¦æ¨Æ¾ä¥H¶×¤J¸ê®Æ¨ì:" + +#: templates/data/export.inc:19 +msgid "Select the calendar(s) to export from" +msgstr "¿ï¾Ü­n¶×¥Xªº¦æ¨Æ¾ä" + +#: templates/data/export.inc:12 +msgid "Select the export format:" +msgstr "¿ï¾Ü¶×¥X®æ¦¡:" + +#: templates/data/import.inc:27 +msgid "Select the file to import:" +msgstr "¿ï¾ÜÀÉ®×¥H¶×¤J¸ê®Æ:" + +#: config/prefs.php.dist:112 +msgid "Select the first weekday:" +msgstr "¿ï¾Ü¨C¶gªº²Ä¤@¤Ñ:" + +#: templates/data/import.inc:11 +msgid "Select the format of the source file:" +msgstr "¿ï¾Ü¨Ó·½Àɮתºªº®æ¦¡:" + +#: config/prefs.php.dist:236 +msgid "Select the time span to show:" +msgstr "½Ð¿ï¾Ü®É¶¡½d³ò¥HÅã¥Ü" + +#: config/prefs.php.dist:94 +msgid "Select the view to display on startup:" +msgstr "¿ï¾Üµn¤J«áªºªºÀ˵ø¤èªk:" + +#: config/prefs.php.dist:22 +msgid "Select which events to show in the portal." +msgstr "¿ï¾Ü­nÅã¥Ü©ó­Ó¤H¯¸¥x¤¤ªº¨Æ¥ó." + +#: templates/prefs/sourceselect.inc:303 templates/prefs/sourceselect.inc:305 +msgid "Selected Address books:" +msgstr "¤w¿ï¾Üªº³q°T¿ý:" + +#: templates/contacts/contacts.inc:175 +msgid "Selected addresses" +msgstr "¤w¿ï¾Üªº¦í§}" + +#: templates/delete/delete.inc:21 templates/delete/one.inc:19 +msgid "Send a cancel notification to all attendees when deleting this event?" +msgstr "·í¨Æ¥ó³Q§R°£«á,¶Ç°e¤@­Ó¨ú®ø³qª¾µ¹©Ò¦³¥X®u¤H­û?" + +#: templates/view/view.inc:177 +#, php-format +msgid "Send an email to %s" +msgstr "¶Ç°e¤@«Ê¶l¥óµ¹ %s" + +#: templates/edit/edit.inc:375 +msgid "Send invitations to all attendees?" +msgstr "¶Ç°eÁܽе¹©Ò¦³¥X®u¤H­û?" + +#: templates/edit/edit.inc:375 +msgid "Send updates to all attendees?" +msgstr "¶Ç°e§ó·sµ¹©Ò¦³¥X®u¤H­û?" + +#: templates/javascript/goto.js:76 +msgid "September" +msgstr "¤E¤ë" + +#: config/prefs.php.dist:45 +msgid "Set default values for new events." +msgstr "³]©w·s¨Æ¥óªº¹w³]­È." + +#: templates/edit/edit_timespan.inc:79 +msgid "Set end date" +msgstr "³]©wµ²§ô¤é´Á" + +#: templates/edit/edit.inc:302 +msgid "Set recurrence end date" +msgstr "³]©w­«½ÆºI¤î¤é" + +#: templates/edit/edit_timespan.inc:29 +msgid "Set start date" +msgstr "³]©w¶}©l¤é´Á" + +#: config/prefs.php.dist:62 +msgid "" +"Set your Free/Busy calendars and your own and other users' Free/Busy options." +msgstr "³]©w¦Û¤v©Î¥L¤HªºªÅ¶¢/¦£¸L¿ï¶µ." + +#: templates/panel.inc:50 +msgid "Shared Calendars:" +msgstr "©Ò¦³¦@¨Éªº¦æ¨Æ¾ä:" + +#: templates/perms/perms.inc:53 templates/perms/perms.inc:65 +#: templates/perms/perms.inc:94 templates/perms/perms.inc:106 +#: templates/perms/perms.inc:135 templates/perms/perms.inc:147 +#: templates/perms/perms.inc:176 templates/perms/perms.inc:188 +#: templates/perms/perms.inc:229 templates/perms/perms.inc:258 +#: templates/perms/perms.inc:270 templates/perms/perms.inc:304 +#: templates/edit/javascript.inc:262 +msgid "Show" +msgstr "Åã¥Ü" + +#: config/prefs.php.dist:218 +msgid "Show Free/Busy legend?" +msgstr "Åã¥ÜªÅ¶¢/¦£¸Lªºµù°O»¡©ú?" + +#: config/prefs.php.dist:208 +msgid "Show calendar options panel?" +msgstr "Åã¥Ü¶i¶¥¥\¯à­±ªO?" + +#: config/prefs.php.dist:198 +msgid "Show category legend?" +msgstr "Åã¥Ü¤ÀÃþªºµù°O»¡©ú ?" + +#: config/prefs.php.dist:164 +msgid "Show delete, alarm, and recurrence icons in calendar views?" +msgstr "¦b¦æ¨Æ¾äÀ˵øµe­±¤¤Åã¥Ü§R°£,ĵ¥Ü¥H¤Î­«Âжg´Á¹Ï¥Ü¶Ü?" + +#: config/prefs.php.dist:265 +msgid "Show external events using category colors?" +msgstr "¥H¤ÀÃþªºÃC¦âÅã¥Ü¥~³¡¨Æ¥ó?" + +#: config/prefs.php.dist:256 +msgid "Show only events that have an alarm set?" +msgstr "¥uÅã¥Ü¦³³]©wĵ¥Ü§@¥Îªº¨Æ¥ó?" + +#: config/prefs.php.dist:227 +msgid "Show shared calendars side-by-side?" +msgstr "¨Ã¦CÅã¥Ü¦@¨Éªº¦æ¨Æ¾ä ?" + +#: config/prefs.php.dist:103 +msgid "Show time of day between each day in week views?" +msgstr "¦b¶gÀ˵øªºµe­±¤¤Åã¥Ü¨C¤@¤Ñªº®É¶¡ ?" + +#: templates/edit/edit_timespan.inc:11 +msgid "Sta_rt" +msgstr "¶}©l©ó_r" + +#: data.php:56 +msgid "Start Date" +msgstr "±Ò©l¤é´Á" + +#: templates/data/export.inc:68 lib/Driver.php:1932 +msgid "Start Day" +msgstr "±Ò©l¤é" + +#: templates/data/export.inc:87 lib/Driver.php:1943 +msgid "Start Hour" +msgstr "±Ò©l®É" + +#: templates/data/export.inc:102 lib/Driver.php:1953 +msgid "Start Minute" +msgstr "±Ò©l¤À" + +#: templates/data/export.inc:54 lib/Driver.php:1923 +msgid "Start Month" +msgstr "±Ò©l¤ë" + +#: templates/view/view.inc:35 templates/search/event_headers.inc:7 +#: templates/data/export.inc:37 +msgid "Start On" +msgstr "¶}©l©ó" + +#: data.php:57 +msgid "Start Time" +msgstr "±Ò©l®É¶¡" + +#: templates/data/export.inc:39 lib/Driver.php:1912 +msgid "Start Year" +msgstr "±Ò©l¦~" + +#: templates/search/search_advanced.inc:91 templates/edit/edit.inc:110 +msgid "Stat_us" +msgstr "ª¬ºA_u" + +#: templates/view/view.inc:21 templates/search/event_headers.inc:6 +msgid "Status" +msgstr "ª¬ºA" + +#: lib/Storage.php:143 +msgid "Storing free/busy is not available." +msgstr "±Æ§ÇªÅ¶¢/¦£¸L¸ê°TµL®Ä" + +#: templates/javascript/goto.js:65 templates/edit/edit.inc:241 +#: lib/Views/Year.php:75 lib/Views/Year.php:84 lib/Block/month.php:109 +#: lib/Block/month.php:111 +msgid "Su" +msgstr "¬P´Á¤Ñ" + +#: lib/Forms/SubscribeRemoteCalendar.php:41 +msgid "Subscribe" +msgstr "­q¾\" + +#: templates/calendar_list.php:15 lib/Forms/SubscribeRemoteCalendar.php:34 +msgid "Subscribe to a Remote Calendar" +msgstr "­q¾\¤@­Ó»·ºÝ¦æ¨Æ¾ä" + +#: templates/calendar_list.php:25 +msgid "Subscription URL" +msgstr "­q¾\ºô§}" + +#: templates/view/view.inc:105 templates/month/head.inc:15 +#: templates/month/head.inc:24 templates/edit/javascript.inc:66 +#: config/prefs.php.dist:113 +msgid "Sunday" +msgstr "¬P´Á¤Ñ" + +#: lib/Kronolith.php:1152 lib/Kronolith.php:1175 +msgid "Tentative" +msgstr "¼È®É" + +#: templates/javascript/goto.js:62 templates/edit/edit.inc:238 +#: lib/Views/Year.php:80 lib/Block/month.php:107 +msgid "Th" +msgstr "¬P´Á¥|" + +#: data.php:244 +#, php-format +msgid "The %s file didn't contain any events." +msgstr "%s Àɮפ¤¥¼¥]§t¥ô¦ó¨Æ¥ó." + +#: lib/Driver.php:48 +msgid "The Calendar backend is not currently available." +msgstr "¦æ¨Æ¾ä¦øªAºÝ¥Ø«eµLªk¨Ï¥Î." + +#: lib/Driver.php:203 +#, php-format +msgid "The Calendar backend is not currently available: %s" +msgstr "¦æ¨Æ¾ä¦øªAºÝ¥Ø«eµLªk¨Ï¥Î: %s" + +#: templates/contacts/contacts.inc:72 +msgid "The Edit Attendees screen is no longer present. Exiting." +msgstr "½s¿èÁܽЪºµe­±¤w¤£¦s¦b. Â÷¶}¤¤." + +#: lib/api.php:1210 +#, fuzzy +msgid "" +"The attendee hasn't been updated because the update was not sent from the " +"attendee." +msgstr "" +"¥Ñ©ó¦b¨Æ¥óªº¥X®u¤H­û²M³æ¤¤§ä¤£¨ì©Ò´£¨Ñªº¹q¤l¶l¥ó¦ì§},¦]¦¹¨Ã¥¼§ó·s¥X®u¤H­û." + +#: calendars/create.php:33 +#, php-format +msgid "The calendar \"%s\" has been created." +msgstr "¦æ¨Æ¾ä \"%s\" ¤w«Ø¥ß." + +#: calendars/delete.php:50 +#, php-format +msgid "The calendar \"%s\" has been deleted." +msgstr "¦æ¨Æ¾ä \"%s\" ¤w§R°£." + +#: calendars/edit.php:44 +#, php-format +msgid "The calendar \"%s\" has been renamed to \"%s\"." +msgstr "¦æ¨Æ¾ä \"%s\" ¤w§ó¦W¬° \"%s\"." + +#: calendars/edit.php:46 calendars/remote_edit.php:49 +#, php-format +msgid "The calendar \"%s\" has been saved." +msgstr "¦æ¨Æ¾ä \"%s\" ¤wÀx¦s." + +#: data.php:252 +#, php-format +msgid "The calendar could not be purged: %s" +msgstr "¦¹¦æ¨Æ¾äµLªk³Q²MªÅ: %s" + +#: templates/edit/javascript.inc:156 +msgid "The end date must be later than the start date." +msgstr "µ²§ô¤é´Á¥²»Ý¤j©ó¶}©l¤é´Á." + +#: lib/Kronolith.php:1596 +#, php-format +msgid "" +"The event \"%s\" has been added to \"%s\" calendar, which is on %s at %s." +msgstr "©ó¤é´Á %3$s,®É¶¡ %4$s ªº¨Æ¥ó \"%1$s\" ¤w·s¼W¨ì¦æ¨Æ¾ä \"%2$s\" ¤¤." + +#: lib/Kronolith.php:1606 +#, php-format +msgid "" +"The event \"%s\" has been deleted from \"%s\" calendar, which was on %s at %" +"s." +msgstr "©ó¤é´Á %3$s,®É¶¡ %4$s ªº¨Æ¥ó \"%1$s\" ¤w¦Û¦æ¨Æ¾ä \"%2$s\" ¤¤§R°£." + +#: lib/Kronolith.php:1601 +#, php-format +msgid "" +"The event \"%s\" has been edited on \"%s\" calendar, which is on %s at %s." +msgstr "©ó¤é´Á %3$s,®É¶¡ %4$s ¦æ¨Æ¾ä \"%2$s\"¤¤ªº¨Æ¥ó \"%1$s\" ¤w½s¿è§¹¦¨" + +#: lib/Kronolith.php:1486 +#, php-format +msgid "The event notification to %s was successfully sent." +msgstr "µ¹%sªº¨Æ¥ó³qª¾¤w¦¨¥\ªº°e¥X." + +#: lib/Kronolith.php:1440 +msgid "The following is a more detailed description of the event:" +msgstr "Ãö©ó¦¹¨Æ¥ó¥H¤U¦³§ó¸Ô²Óªº±Ô­z:" + +#: lib/FreeBusy.php:193 +#, php-format +msgid "The free/busy url for %s cannot be retrieved." +msgstr "µLªkŪ¨ú %s ªºªÅ¶¢/¦£¸Lºô§}." + +#: calendars/remote_edit.php:36 calendars/remote_unsubscribe.php:36 +msgid "The remote calendar was not found." +msgstr "§ä¤£¨ì»·ºÝ¦æ¨Æ¾ä." + +#: attend.php:43 +msgid "" +"The request was incomplete. Some parameters that are necessary to accept or " +"decline an event are missing." +msgstr "½Ð¨D©|¥¼§¹¦¨. ±ý±µ¨ü©Î°û©Ú¨Æ¥ó»Ý­n¤@¨Ç¥²¶·°Ñ¼Æ." + +#: lib/Views/Event.php:41 lib/Views/DeleteEvent.php:40 +#: lib/Views/EditEvent.php:43 +msgid "The requested event was not found." +msgstr "§ä¤£¨ì©Ò»Ý­nªº¨Æ¥ó." + +#: templates/search/empty.inc:3 +msgid "There are no events matching the current criteria." +msgstr "¨S¦³¨Æ¥ó²Å¦X³o­Ó·j´M·Ç«h." + +#: add.php:24 edit.php:46 edit.php:68 +#, php-format +msgid "There was an error accessing the calendar: %s" +msgstr "¦s¨ú¦æ¨Æ¾ä: %s ®Éµo¥Í¤@­Ó¿ù»~." + +#: add.php:44 +#, php-format +msgid "There was an error adding the event: %s" +msgstr "·s¼W¨Æ¥ó: %s ®Éµo¥Í¤@­Ó¿ù»~." + +#: edit.php:17 +#, php-format +msgid "There was an error editing the event: %s" +msgstr "½s¿è¨Æ¥ó: %s ®Éµo¥Í¤@­Ó¿ù»~." + +#: lib/api.php:483 lib/api.php:770 lib/api.php:1055 +msgid "There was an error importing the iCalendar data." +msgstr "¶×¤J iCalendar ¸ê®Æ®Éµo¥Í¤@­Ó¿ù»~." + +#: edit.php:145 +#, php-format +msgid "There was an error moving the event: %s" +msgstr "·h²¾¨Æ¥ó: %s ®Éµo¥Í¤@­Ó¿ù»~" + +#: lib/Kronolith.php:1491 +#, php-format +msgid "There was an error sending an event notification to %s: %s" +msgstr "¶Ç°e¨Æ¥ó³qª¾µ¹ %s: %s ®Éµo¥Í¤@­Ó¿ù»~" + +#: data.php:109 +msgid "There were no events to export." +msgstr "¨S¦³¨Æ¥ó¥i¶×¥X." + +#: lib/Block/month.php:3 +msgid "This Month" +msgstr "³o­Ó¤ë" + +#: calendars/delete.php:26 +msgid "This calendar cannot be deleted." +msgstr "¦¹¦æ¨Æ¾äµLªk³Q§R°£." + +#: data.php:200 +msgid "This file format is not supported." +msgstr "¦¹Àɮ׮榡¨Ã¥¼³Q¤ä´©." + +#: templates/delete/delete.inc:18 +msgid "" +"This is a recurring event. Delete the current event only, this
      occurrence and all future occurences, or all occurences?" +msgstr "" +"³o¬O¤@­Ó­«½Æ¨Æ¥ó. §R°£¶È¥Ø«e³o­Ó¨Æ¥ó,
      ¥Ø«e¤Î¥H«áªº³o­Ó¨Æ¥ó,©Î©Ò¦³³o­Ó¨Æ" +"¥ó?" + +#: templates/edit/edit.inc:36 +msgid "" +"This is a recurring event. Edit the current event only, this occurrence
      and all future occurences, all occurences, or save this event as new?" +msgstr "" +"³o¬O¤@­Ó­«½Æ¨Æ¥ó. ½s¿è¶È¥Ø«e³o­Ó¨Æ¥ó,
      ¥Ø«e¤Î¥H«áªº³o­Ó¨Æ¥ó, ©Ò¦³³o­Ó¨Æ" +"¥ó, ©Î¥t¦s¨Æ¥ó?" + +#: data.php:272 +#, php-format +msgid "This is what the server said: %s" +msgstr "¦øªA¾¹¦^À³: %s" + +#: templates/view/view.inc:102 templates/month/head.inc:20 +#: templates/edit/javascript.inc:70 +msgid "Thursday" +msgstr "¬P´Á¥|" + +#: templates/search/search.inc:36 +msgid "Time Sp_an" +msgstr "®É¶¡½d³ò_a" + +#: templates/edit/edit_timespan.inc:4 +msgid "Time span" +msgstr "®É¶¡½d³ò" + +#: templates/search/search_advanced.inc:28 templates/edit/edit.inc:58 +msgid "Tit_le" +msgstr "¨Æ¥ó¦WºÙ_l" + +#: data.php:55 templates/search/event_headers.inc:3 +#: templates/search/search.inc:19 +msgid "Title" +msgstr "¨Æ¥ó¦WºÙ" + +#: templates/prefs/sourceselect.inc:322 +msgid "" +"To select multiple fields, hold down the Control (PC) or Command (Mac) while " +"clicking." +msgstr "" +"¦pªG­n½Æ¿ïÄæ¦ì,½Ð¦bÂI¿ï·Æ¹«ªº®É¦P®É«ö ControlÁä(­Ó¤H¹q¸£) ©Î CommandÁä(Ä«ªG¹q" +"¸£)." + +#: templates/calendar_info.php:19 +msgid "" +"To subscribe to this calendar from another calendar program, use this URL: " +msgstr "±ý¸g¥Ñ¨ä¥Lµ{¦¡­q¾\¦¹¦æ¨Æ¾ä, ½Ð¨Ï¥Î³o­Óºô§}: " + +#: lib/Block/monthlist.php:132 lib/Block/prevmonthlist.php:125 +#: lib/Block/summary.php:140 +msgid "Today" +msgstr "¤µ¤Ñ" + +#: lib/Block/monthlist.php:134 lib/Block/prevmonthlist.php:127 +#: lib/Block/summary.php:142 +msgid "Tomorrow" +msgstr "©ú¤Ñ" + +#: templates/javascript/goto.js:60 templates/edit/edit.inc:236 +#: lib/Views/Year.php:78 lib/Block/month.php:107 +msgid "Tu" +msgstr "¬P´Á¤G" + +#: templates/view/view.inc:100 templates/month/head.inc:18 +#: templates/edit/javascript.inc:68 +msgid "Tuesday" +msgstr "¬P´Á¤G" + +#: config/keywords.php.dist:17 +msgid "Type" +msgstr "«¬¦¡" + +#: lib/Forms/EditRemoteCalendar.php:37 +#: lib/Forms/SubscribeRemoteCalendar.php:37 +msgid "URL" +msgstr "ºô§}" + +#: lib/Storage/sql.php:75 +msgid "Unable to connect to SQL server." +msgstr "µLªk³sµ²¦Ü SQL ¦øªA¾¹." + +#: lib/Forms/DeleteCalendar.php:62 +#, php-format +msgid "Unable to delete \"%s\": %s" +msgstr "µLªk§R°£ \"%s\": %s" + +#: lib/api.php:599 +#, php-format +msgid "Unable to delete calendar \"%s\": %s" +msgstr "µLªk§R°£¦æ¨Æ¾ä \"%s\": %s" + +#: lib/Driver.php:206 lib/Storage.php:58 +#, php-format +msgid "Unable to load the definition of %s." +msgstr "µLªk¸ü¤J %s ªº©w¸q¸ê®Æ." + +#: attendees.php:68 +#, php-format +msgid "Unable to recognize \"%s\" as an email address." +msgstr "µLªk¿ëÃÑ \"%s\" ¬O§_¬°¤@­Ó¹q¤l¶l¥ó¦a§}." + +#: lib/Forms/EditCalendar.php:58 +#, php-format +msgid "Unable to rename \"%s\": %s" +msgstr "µLªk§ó¦W \"%s\": %s" + +#: lib/Storage/kolab.php:57 +#, php-format +msgid "Unable to retrieve free/busy information for %s" +msgstr "µLªkŪ¨ú%sªºªÅ¶¢/¦£¸L¸ê°T" + +#: lib/Forms/EditCalendar.php:64 +#, php-format +msgid "Unable to save calendar \"%s\": %s" +msgstr "µLªkÀx¦s¦æ¨Æ¾ä \"%s\": %s" + +#: templates/view/view.inc:8 +msgid "Unfiled" +msgstr "¥¼¤ÀÃþ" + +#: lib/api.php:1352 lib/api.php:1388 +msgid "Unknown calendar protocol" +msgstr "¥¼ª¾ªº¦æ¨Æ¾ä¨ó©w" + +#: templates/calendar_list.php:46 lib/Forms/UnsubscribeRemoteCalendar.php:39 +msgid "Unsubscribe" +msgstr "¨ú®ø­q¾\" + +#: lib/Forms/UnsubscribeRemoteCalendar.php:34 +#, php-format +msgid "Unsubscribe from %s" +msgstr "¦Û %s ¨ú®ø­q¾\" + +#: lib/api.php:550 lib/api.php:823 lib/api.php:879 lib/api.php:942 +#: lib/api.php:1075 +#, php-format +msgid "Unsupported Content-Type: %s" +msgstr "¥¼¤ä´©ªº¤º®e«¬ºA: %s. (Unsupported Content-Type.)" + +#: lib/Block/monthlist.php:3 lib/Block/monthlist.php:46 +msgid "Upcoming Events" +msgstr "§Y±N¨ì¨Óªº¨Æ¥ó" + +#: perms.php:231 +#, php-format +msgid "Updated \"%s\"." +msgstr "\"%s\" ¤w§ó·s." + +#: lib/Kronolith.php:1417 +#, php-format +msgid "Updated: %s." +msgstr "¤w§ó·s: %s." + +#: config/prefs.php.dist:10 +msgid "User Interface" +msgstr "¨Ï¥ÎªÌ¤¶­±" + +#: templates/perms/perms.inc:223 +msgid "User to add:" +msgstr "­n·s¼Wªº¨Ï¥ÎªÌ:" + +#: lib/Forms/EditRemoteCalendar.php:38 +#: lib/Forms/SubscribeRemoteCalendar.php:38 +msgid "Username" +msgstr "¨Ï¥ÎªÌ¦WºÙ" + +#: lib/Views/Year.php:156 lib/Views/Year.php:162 lib/Block/month.php:164 +#: lib/Block/month.php:167 +msgid "View Day" +msgstr "¤éÀ˵ø" + +#: templates/javascript/goto.js:61 templates/edit/edit.inc:237 +#: lib/Views/Year.php:79 lib/Block/month.php:107 +msgid "We" +msgstr "¬P´Á¤T" + +#: lib/Driver.php:1186 lib/Scheduler/kronolith.php:271 +#, php-format +msgid "" +"We would like to remind you of this upcoming event.\n" +"\n" +"%s\n" +"\n" +"Location: %s\n" +"\n" +"Date: %s\n" +"Time: %s\n" +"\n" +"%s" +msgstr "" +"§Ú­Ì·Q­n³qª¾§A,³o­Ó§Y±N¨ì¨Óªº¨Æ¥ó.\n" +"\n" +"%s\n" +"\n" +"¦aÂI: %s\n" +"\n" +"¤é´Á: %s\n" +"®É¶¡: %s\n" +"\n" +"%s" + +#: templates/view/view.inc:101 templates/month/head.inc:19 +#: templates/edit/javascript.inc:69 +msgid "Wednesday" +msgstr "¬P´Á¤T" + +#: attendees.php:198 lib/Kronolith.php:1752 lib/Block/tree_menu.php:23 +#: config/prefs.php.dist:91 +msgid "Week" +msgstr "¶g" + +#: week.php:16 workweek.php:16 lib/Views/Month.php:186 +#, php-format +msgid "Week %d" +msgstr "©P %d" + +#: templates/view/view.inc:53 templates/prefs/default_alarm_management.inc:29 +#: templates/edit/edit.inc:171 +msgid "Week(s)" +msgstr "¶g" + +#: lib/Recurrence.php:193 +msgid "Weekly" +msgstr "¨C¶g" + +#: templates/view/view.inc:106 templates/edit/edit.inc:232 +msgid "Weekly: Recurs every" +msgstr "¶g: ¨C" + +#: config/prefs.php.dist:132 +msgid "" +"What time should day and week views end, when there are no later events?" +msgstr "¤é»P¶gªºµ²¤îÅã¥Ü®É¶¡¡H" + +#: config/prefs.php.dist:123 +msgid "" +"What time should day and week views start, when there are no earlier events?" +msgstr "¤é»P¶gªº±Ò©lÅã¥Ü®É¶¡¡H" + +#: config/prefs.php.dist:286 +msgid "Which kind of holidays do you want to get displayed?" +msgstr "§A·Q­nÅã¥Ü­þ¤@ºØ°²¤é?" + +#: attendees.php:197 lib/Kronolith.php:1750 lib/Block/tree_menu.php:22 +#: config/prefs.php.dist:92 +msgid "Work Week" +msgstr "¤W¯Z¤é" + +#: lib/Kronolith.php:1756 lib/Block/tree_menu.php:25 +msgid "Year" +msgstr "¦~" + +#: lib/Recurrence.php:198 +msgid "Yearly" +msgstr "¨C¦~" + +#: templates/view/view.inc:112 templates/view/view.inc:114 +#: templates/view/view.inc:116 templates/edit/edit.inc:258 +#: templates/edit/edit.inc:264 templates/edit/edit.inc:270 +msgid "Yearly: Recurs every" +msgstr "¦~: ¨C" + +#: calendars/edit.php:30 +msgid "You are not allowed to change this calendar." +msgstr "§A¨S¦³ÅÜ§ó¦¹¦æ¨Æ¾äªºÅv­­." + +#: data.php:41 data.php:261 edit.php:27 new.php:19 +#, php-format +msgid "You are not allowed to create more than %d events." +msgstr "§A¨S¦³«Ø¥ß¶W¹L %d ­Ó¨Æ¥óªºÅv­­." + +#: calendars/delete.php:37 +msgid "You are not allowed to delete this calendar." +msgstr "§A¨S¦³§R°£¦¹¦æ¨Æ¾äªºÅv­­." + +#: lib/api.php:154 +msgid "You are not allowed to remove user data." +msgstr "§A¨S¦³²¾°£¥Î¤á¸ê®ÆªºÅv­­." + +#: attend.php:51 +msgid "You are not an attendee of the specified event." +msgstr "§A¨Ã¤£¬O«ü©w¨Æ¥óªºÁܽФH­û." + +#: templates/contacts/contacts.inc:78 +msgid "You can only use this form from the Edit Attendees screen." +msgstr "±q½s¿èÁܽФH­ûµe­±¤¤§A¥u¯à¨Ï¥Î³o­Óªí³æ." + +#: lib/Kronolith.php:1366 +#, php-format +msgid "" +"You do not have an email address configured in your Personal Information " +"Options. You must set one %shere%s before event notifications can be sent." +msgstr "" +"¦b§Aªº¨­¤ÀÃѧO¿ï¶µ¤¤¨Ã¥¼³]©w¹q¤l¶l¥ó¦í§}.§A¥²¶·¥ý¶i¦æ%s³]©w%s¤~¯à¶Ç°e¨Æ¥ó³q" +"ª¾." + +#: add.php:30 +#, php-format +msgid "You do not have permission to add events to %s." +msgstr "§A¨Ã¨S¦³·s¼W¨Æ¥ó¨ì %s ªºÅv­­." + +#: data.php:209 +msgid "You do not have permission to add events to the selected calendar." +msgstr "§A¨Ã¨S¦³Åv­­,¦b©Ò¿ï¾Üªº¦æ¨Æ¾ä¤W·s¼W¨Æ¥ó." + +#: add.php:27 edit.php:162 +#, php-format +msgid "You do not have permission to delegate events to %s." +msgstr "§A¨Ã¨S¦³©e°U¨Æ¥ó¨ì %s ªºÅv­­." + +#: delete.php:28 +msgid "You do not have permission to delete this event." +msgstr "§A¨Ã¨S¦³Åv­­§R°£¦¹¨Æ¥ó." + +#: edit.php:165 +msgid "You do not have permission to edit this event." +msgstr "§A¨Ã¨S¦³½s¿è¦¹¨Æ¥óªºÅv­­." + +#: edit.php:159 +msgid "You do not have permission to move this event." +msgstr "§A¨Ã¨S¦³·h²¾¦¹¨Æ¥óªºÅv­­." + +#: calendars/remote_subscribe.php:33 +#, php-format +msgid "You have been subscribed to \"%s\" (%s)." +msgstr "§A¤w­q¾\ \"%s\" (%s)." + +#: calendars/remote_unsubscribe.php:49 +#, php-format +msgid "You have been unsubscribed from \"%s\" (%s)." +msgstr "§A¤w¦Û \"%s\" (%s) ¨ú®ø­q¾\." + +#: data.php:206 +msgid "You have specified an invalid calendar." +msgstr "§A¤w¸g«ü©w¤@­Ó¤£¦Xªkªº¦æ¨Æ¾ä." + +#: attend.php:23 +msgid "You have successfully accepted attendence to this event." +msgstr "§A¤w¦¨¥\±µ¨ü¦¨¬°¦¹¨Æ¥óªº¥X®u¤H­û." + +#: attend.php:28 +msgid "You have successfully declined attendence to this event." +msgstr "§A¤w¦¨¥\°û©Ú¦¨¬°¦¹¨Æ¥óªº¥X®u¤H­û." + +#: attend.php:33 +msgid "You have tentatively accepted attendence to this event." +msgstr "§A¤w¼È®É±µ¨ü¦¨¬°¦¹¨Æ¥óªº¥X®u¤H­û." + +#: templates/contacts/contacts.inc:54 +msgid "You must select an address first." +msgstr "­º¥ý§A¥²¶·¥ý¿ï¾Ü¤@­Ó¦a§}." + +#: lib/Kronolith.php:1596 +msgid "You requested to be notified when events are added to your calendars." +msgstr "À³§Aªº­n¨D,¨C·í§Aªº¦æ¨Æ¾ä³Q·s¼W¨Æ¥ó®Éµo°e³qª¾." + +#: lib/Kronolith.php:1606 +msgid "" +"You requested to be notified when events are deleted from your calendars." +msgstr "À³§Aªº­n¨D,¨C·í§Aªº¦æ¨Æ¾ä³Q§R°£¨Æ¥ó®Éµo°e³qª¾." + +#: lib/Kronolith.php:1601 +msgid "You requested to be notified when events are edited in your calendars." +msgstr "À³§Aªº­n¨D,¨C·í§Aªº¦æ¨Æ¾ä³Q½s¿è¨Æ¥ó®Éµo°e³qª¾." + +#: lib/Scheduler/kronolith.php:410 lib/Scheduler/kronolith.php:412 +#, php-format +msgid "Your daily agenda for %s" +msgstr "§A %s ªº¨C¤é¤u§@" + +#: templates/prefs/shareselect.inc:10 +msgid "Your default calendar" +msgstr "§Aªº¹w³]¦æ¨Æ¾ä" + +#: templates/panel.inc:36 +msgid "[Manage Calendars]" +msgstr "[ºÞ²z¦æ¨Æ¾ä]" + +#: lib/Driver.php:1434 lib/Driver.php:1454 +msgid "[Unnamed event]" +msgstr "[¥¼©R¦Wªº¨Æ¥ó]" + +#: templates/edit/edit.inc:132 +msgid "_Alarm" +msgstr "ĵ¥Ü_A" + +#: templates/search/search_advanced.inc:9 +msgid "_Basic Search" +msgstr "°ò¥»·j´M_B" + +#: lib/Kronolith.php:1790 +msgid "_Edit" +msgstr "½s¿è_E" + +#: lib/Kronolith.php:2012 +msgid "_Goto" +msgstr "²¾¦Ü_G" + +#: lib/Kronolith.php:2018 +msgid "_Import/Export" +msgstr "¶×¤J/¶×¥X_I" + +#: lib/Kronolith.php:2008 +msgid "_New Event" +msgstr "·s¨Æ¥ó_N" + +#: lib/Kronolith.php:2023 +msgid "_Print" +msgstr "¦C¦L_P" + +#: lib/Kronolith.php:2014 +msgid "_Search" +msgstr "·j´M_S" + +#: lib/Kronolith.php:2003 +msgid "_Today" +msgstr "¤µ¤Ñ_T" + +#: templates/edit/edit.inc:77 +#, php-format +msgid "as %s" +msgstr "¦P %s" + +#: templates/edit/edit.inc:173 +msgid "before the event starts" +msgstr "©ó¨Æ¥ó¶}©l«e" + +#: templates/prefs/default_alarm_management.inc:31 +msgid "before the event starts. A value of \"0\" means no default alarms." +msgstr "¨Æ¥ó¶}©l«e. \"0\" ªí¥Ü¤£­n¹w³]ĵ¥Ü." + +#: lib/Views/Event.php:62 lib/Views/Event.php:71 +#, php-format +msgid "by %s" +msgstr "¥Ñ %s" + +#: lib/Views/Event.php:64 lib/Views/Event.php:73 +msgid "by me" +msgstr "¥Ñ§Ú" + +#: config/prefs.php.dist:237 +msgid "day" +msgstr "¤é" + +#: templates/view/view.inc:96 templates/edit/edit.inc:227 +msgid "day(s)" +msgstr "¤é" + +#: config/prefs.php.dist:238 config/prefs.php.dist:239 +#: config/prefs.php.dist:240 config/prefs.php.dist:241 +#: config/prefs.php.dist:242 +msgid "days" +msgstr "¤é" + +#: data.php:158 templates/data/export.inc:1 +msgid "events.csv" +msgstr "events.csv" + +#: data.php:185 +msgid "events.ics" +msgstr "events.ics" + +#: templates/contacts/contacts.inc:146 +msgid "in" +msgstr "©ó­ì¤å" + +#: templates/view/view.inc:108 templates/view/view.inc:110 +#: templates/edit/edit.inc:247 templates/edit/edit.inc:253 +msgid "month(s)" +msgstr "¤ë" + +#: lib/Kronolith.php:1423 +#, php-format +msgid "on %s at %s" +msgstr "©ó%s®É¶¡%s" + +#: templates/view/view.inc:108 templates/edit/edit.inc:247 +msgid "on the same date" +msgstr "¦b¦P¤@¤Ñ" + +#: templates/view/view.inc:110 templates/edit/edit.inc:253 +msgid "on the same weekday" +msgstr "¦b¨C¶gªº²Ä¤@¤Ñ" + +#: templates/edit/edit.inc:312 +msgid "recurrences" +msgstr "­«½Æ" + +#: data.php:31 templates/data/import.inc:14 +msgid "vCalendar/iCalendar" +msgstr "vCalendar/iCalendar" + +#: config/prefs.php.dist:243 +msgid "week" +msgstr "¶g" + +#: templates/view/view.inc:106 templates/edit/edit.inc:234 +msgid "week(s) on:" +msgstr "¶g:" + +#: config/prefs.php.dist:244 config/prefs.php.dist:245 +#: config/prefs.php.dist:246 +msgid "weeks" +msgstr "¶g" + +#: templates/view/view.inc:112 templates/edit/edit.inc:259 +msgid "year(s) on the same date" +msgstr "¦~¦b¦P¤@¤é´Á" + +#: templates/view/view.inc:114 templates/edit/edit.inc:265 +msgid "year(s) on the same day of the year" +msgstr "¦~¦b¦P¤@¤Ñ¼Æ(¤¸¤ë¤@¤é°_ºâ)" + +#: templates/view/view.inc:116 templates/edit/edit.inc:271 +msgid "year(s) on the same weekday and month of the year" +msgstr "¦~¦b¦P¤@¤ë¥÷¦P¤@¬P´Á" diff --git a/kronolith/pref_api.php b/kronolith/pref_api.php new file mode 100644 index 000000000..2db1e0c8c --- /dev/null +++ b/kronolith/pref_api.php @@ -0,0 +1,71 @@ + + */ + +@define('HORDE_BASE', dirname(dirname(__FILE__))); +require_once HORDE_BASE . '/lib/core.php'; + +$registry = &Registry::singleton(); + +/* Which application. */ +$app = Util::getFormData('app'); +if (!$app) { + echo '
        '; + foreach ($registry->listApps() as $app) { + echo '
      • ' . htmlspecialchars($app) . '
      • '; + } + echo '
      '; + exit; +} + +/* Load $app's base environment, but don't request that the app perform + * authentication beyond Horde's. */ +$authentication = 'none'; +$appbase = $registry->get('fileroot', $app); +require_once $appbase . '/lib/base.php'; + +/* Which preference. */ +$pref = Util::getFormData('pref'); +if (!$pref) { + $_prefs = array(); + if (is_callable(array('Horde', 'loadConfiguration'))) { + $result = Horde::loadConfiguration('prefs.php', array('_prefs'), $app); + if (is_a($result, 'PEAR_Error')) { + exit; + } + extract($result); + } elseif (file_exists($appbase . '/config/prefs.php')) { + require $appbase . '/config/prefs.php'; + } + + echo '
        '; + foreach ($_prefs as $pref => $params) { + switch ($params['type']) { + case 'special': + case 'link': + break; + + default: + echo '
      • ' . htmlspecialchars($pref) . '
      • '; + } + } + echo '
      '; +} + +/* Which action. */ +if (Util::getPost('pref') == $pref) { + /* POST for saving a pref. */ + $prefs->setValue($pref, Util::getPost('value')); +} + +/* GET returns the current value, POST returns the new value. */ +header('Content-type: text/plain'); +echo $prefs->getValue($pref); diff --git a/kronolith/scripts/.htaccess b/kronolith/scripts/.htaccess new file mode 100644 index 000000000..3a4288278 --- /dev/null +++ b/kronolith/scripts/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/kronolith/scripts/agenda.php b/kronolith/scripts/agenda.php new file mode 100644 index 000000000..90a23c899 --- /dev/null +++ b/kronolith/scripts/agenda.php @@ -0,0 +1,37 @@ +#!/usr/bin/php -q + + */ + +// Find the base file path of Horde. +@define('HORDE_BASE', dirname(__FILE__) . '/../..'); + +// Find the base file path of Kronolith. +@define('KRONOLITH_BASE', dirname(__FILE__) . '/..'); + +// Do CLI checks and environment setup first. +require_once HORDE_BASE . '/lib/core.php'; +require_once 'Horde/CLI.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(); + +require_once KRONOLITH_BASE . '/lib/Scheduler/kronolith.php'; + +// Get an instance of the Kronolith scheduler and run it. +$reminder = &Horde_Scheduler::unserialize('Horde_Scheduler_kronolith'); +$reminder->run(); diff --git a/kronolith/scripts/import_icals.php b/kronolith/scripts/import_icals.php new file mode 100755 index 000000000..d99bb4cc5 --- /dev/null +++ b/kronolith/scripts/import_icals.php @@ -0,0 +1,71 @@ +#!/usr/bin/php + + */ + +@define('AUTH_HANDLER', true); +@define('HORDE_BASE', dirname(__FILE__) . '/../..'); + +// Do CLI checks and environment setup first. +require_once HORDE_BASE . '/lib/core.php'; +require_once 'Horde/CLI.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(); +} +$cal = $argv[1]; +$user = $argv[2]; + +// Read standard input. +$ical = $cli->readStdin(); +if (empty($ical)) { + $cli->message('No import data provided.', 'cli.error'); + usage(); +} + +// Registry. +$registry = &Registry::singleton(); + +// Set user. +$auth = &Auth::singleton($conf['auth']['driver']); +$auth->setAuth($user, array()); + +// Import data. +$result = $registry->call('calendar/import', + array($ical, 'text/calendar', $cal)); +if (is_a($result, 'PEAR_Error')) { + $cli->fatal($result->toString()); +} + +$cli->message('Imported successfully ' . count($result) . ' events', 'cli.success'); + +function usage() +{ + $GLOBALS['cli']->writeln('Usage: import_icals.php calendar user'); + exit; +} + diff --git a/kronolith/scripts/import_squirrelmail_calendar.php b/kronolith/scripts/import_squirrelmail_calendar.php new file mode 100755 index 000000000..374bb0008 --- /dev/null +++ b/kronolith/scripts/import_squirrelmail_calendar.php @@ -0,0 +1,164 @@ +#!/usr/bin/php + + */ + +@define('AUTH_HANDLER', true); +@define('HORDE_BASE', dirname(__FILE__) . '/../..'); +@define('KRONOLITH_BASE', dirname(__FILE__) . '/..'); + +// Do CLI checks and environment setup first. +require_once HORDE_BASE . '/lib/core.php'; +require_once 'Horde/CLI.php'; + +// Makre 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 ($argc != 2) { + $cli->message('Too many or too few parameters.', 'cli.error'); + $cli->writeln('Usage: import_squirrelmail_file_abook.php DSN'); + exit; +} +$dsn = $argv[1]; +$default_tz = date_default_timezone_get(); + +// Make sure we load Horde base to get the auth config +require_once HORDE_BASE . '/lib/base.php'; +if ($conf['auth']['admins']) { + $auth = Auth::singleton($conf['auth']['driver']); + $auth->setAuth($conf['auth']['admins'][0], array()); +} + +// Now that we are authenticated, we can load Kronolith's base. Otherwise, the +// share code breaks, causing a new, completely empty share to be created with +// no owner. +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once 'Horde/iCalendar.php'; + +// Connect to database. +$db = &DB::connect($dsn); +if (is_a($db, 'PEAR_Error')) { + $cli->fatal($db->toString()); +} + +// Loop through SquirrelMail calendars. +$read_stmt = $db->prepare('SELECT reader_name FROM calendar_readers WHERE calendar_id = ?'); +$write_stmt = $db->prepare('SELECT writer_name FROM calendar_writers WHERE calendar_id = ?'); +$handle = $db->query('SELECT id, name, owner_name FROM calendars, calendar_owners WHERE calendars.id = calendar_owners.calendar_id'); +if (is_a($handle, 'PEAR_Error')) { + $cli->fatal($handle->toString()); +} +$auth = &Auth::singleton($conf['auth']['driver']); +while ($row = $handle->fetchRow(DB_FETCHMODE_ASSOC)) { + $user = $row['owner_name']; + $auth->setAuth($user, array()); + $cli->message('Creating calendar ' . $row['name']); + $share = $kronolith_shares->newShare($row['id']); + $share->set('name', $row['name']); + $kronolith_shares->addShare($share); + + // Add permissions. + $permissions = array(); + $result = $db->execute($read_stmt, array($row['id'])); + if (is_a($result, 'PEAR_Error')) { + $cli->fatal($result->toString()); + } + while ($perm_row = $result->fetchRow()) { + $permissions[$perm_row[0]] = PERMS_READ | PERMS_SHOW; + } + $result = $db->execute($write_stmt, array($row['id'])); + if (is_a($result, 'PEAR_Error')) { + $cli->fatal($result->toString()); + } + while ($perm_row = $result->fetchRow()) { + if (isset($permissions[$perm_row[0]])) { + $permissions[$perm_row[0]] |= PERMS_EDIT; + } else { + $permissions[$perm_row[0]] = PERMS_EDIT; + } + } + if (count($permissions)) { + $perm = $share->getPermission(); + $perm->addUserPermission($user, PERMS_ALL, false); + foreach ($permissions as $key => $value) { + $perm->addUserPermission($key, $value, false); + } + $share->setPermission($perm); + $share->save(); + } +} + +$handle = $db->query('SELECT event_id, calendar_id, ical_raw, owner_name, prefval FROM events, event_owners LEFT JOIN userprefs ON event_owners.owner_name = userprefs.user AND userprefs.prefkey = \'timezone\' WHERE events.id = event_owners.event_key ORDER BY calendar_id, userprefs.prefval, event_owners.owner_name'); +if (is_a($handle, 'PEAR_Error')) { + $cli->fatal($handle->toString()); +} +$auth = &Auth::singleton($conf['auth']['driver']); +$ical = new Horde_iCalendar(); +$tz = $calendar = $user = $count = null; +while ($row = $handle->fetchRow(DB_FETCHMODE_ASSOC)) { + // Open calendar. + if ($calendar != $row['calendar_id']) { + if (!is_null($count)) { + $cli->message(' Added ' . $count . ' events', 'cli.success'); + } + $calendar = $row['calendar_id']; + $cli->message('Importing events into ' . $calendar); + $kronolith_driver->open($calendar); + $count = 0; + } + // Set timezone. + if ($tz != $row['prefval']) { + $tz = $row['prefval']; + date_default_timezone_set($tz ? $tz : $default_tz); + } + // Set user. + if ($user != $row['owner_name']) { + $user = $row['owner_name']; + $auth->setAuth($user, array()); + } + // Parse event. + $parsed = $ical->parsevCalendar($row['ical_raw']); + if (is_a($parsed, 'PEAR_Error')) { + $cli->message(' ' . $parsed->getMessage(), 'cli.warning'); + continue; + } + $components = $ical->getComponents(); + if (!count($components)) { + $cli->message(' No iCalendar data was found.', 'cli.warning'); + continue; + } + + // Save event. + $event = &$kronolith_driver->getEvent(); + $event->fromiCalendar($components[0]); + $result = $event->save(); + if (is_a($result, 'PEAR_Error')) { + $cli->message(' ' . $result->getMessage(), 'cli.error'); + continue; + } + $count++; +} +if (!is_null($count)) { + $cli->message(' Added ' . $count . ' events', 'cli.success'); +} diff --git a/kronolith/scripts/sql/kronolith.mssql.sql b/kronolith/scripts/sql/kronolith.mssql.sql new file mode 100644 index 000000000..3da4e8c7e --- /dev/null +++ b/kronolith/scripts/sql/kronolith.mssql.sql @@ -0,0 +1,82 @@ +-- $Horde: kronolith/scripts/sql/kronolith.mssql.sql,v 1.13 2008/10/22 21:14:07 jan Exp $ + +CREATE TABLE kronolith_events ( + event_id VARCHAR(32) NOT NULL, + event_uid VARCHAR(255) NOT NULL, + calendar_id VARCHAR(255) NOT NULL, + event_creator_id VARCHAR(255) NOT NULL, + event_description VARCHAR(MAX), + event_location VARCHAR(MAX), + event_status INT DEFAULT 0, + event_attendees VARCHAR(MAX), + event_keywords VARCHAR(MAX), + event_exceptions VARCHAR(MAX), + event_title VARCHAR(255), + event_category VARCHAR(80), + event_recurtype INT DEFAULT 0, + event_recurinterval INT, + event_recurdays INT, + event_recurenddate DATETIME, + event_recurcount INT, + event_start DATETIME, + event_end DATETIME, + event_allday INT DEFAULT 0, + event_alarm INT DEFAULT 0, + event_modified INT NOT NULL, + event_private INT DEFAULT 0 NOT NULL, + + PRIMARY KEY (event_id) +); + +CREATE INDEX kronolith_calendar_idx ON kronolith_events (calendar_id); +CREATE INDEX kronolith_uid_idx ON kronolith_events (event_uid); + + +CREATE TABLE kronolith_storage ( + vfb_owner VARCHAR(255) DEFAULT NULL, + vfb_email VARCHAR(255) DEFAULT '' NOT NULL, + vfb_serialized VARCHAR(MAX) NOT NULL +); + +CREATE INDEX kronolith_vfb_owner_idx ON kronolith_storage (vfb_owner); +CREATE INDEX kronolith_vfb_email_idx ON kronolith_storage (vfb_email); + + +CREATE TABLE kronolith_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 kronolith_shares_share_name_idx ON kronolith_shares (share_name); +CREATE INDEX kronolith_shares_share_owner_idx ON kronolith_shares (share_owner); +CREATE INDEX kronolith_shares_perm_creator_idx ON kronolith_shares (perm_creator); +CREATE INDEX kronolith_shares_perm_default_idx ON kronolith_shares (perm_default); +CREATE INDEX kronolith_shares_perm_guest_idx ON kronolith_shares (perm_guest); + +CREATE TABLE kronolith_shares_groups ( + share_id INT NOT NULL, + group_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_groups_share_id_idx ON kronolith_shares_groups (share_id); +CREATE INDEX kronolith_shares_groups_group_uid_idx ON kronolith_shares_groups (group_uid); +CREATE INDEX kronolith_shares_groups_perm_idx ON kronolith_shares_groups (perm); + +CREATE TABLE kronolith_shares_users ( + share_id INT NOT NULL, + user_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_users_share_id_idx ON kronolith_shares_users (share_id); +CREATE INDEX kronolith_shares_users_user_uid_idx ON kronolith_shares_users (user_uid); +CREATE INDEX kronolith_shares_users_perm_idx ON kronolith_shares_users (perm); diff --git a/kronolith/scripts/sql/kronolith.mysql.sql b/kronolith/scripts/sql/kronolith.mysql.sql new file mode 100644 index 000000000..74b41fa71 --- /dev/null +++ b/kronolith/scripts/sql/kronolith.mysql.sql @@ -0,0 +1,82 @@ +-- $Horde: kronolith/scripts/sql/kronolith.mysql.sql,v 1.17 2008/10/22 21:14:07 jan Exp $ + +CREATE TABLE kronolith_events ( + event_id VARCHAR(32) NOT NULL, + event_uid VARCHAR(255) NOT NULL, + calendar_id VARCHAR(255) NOT NULL, + event_creator_id VARCHAR(255) NOT NULL, + event_description TEXT, + event_location TEXT, + event_status INT DEFAULT 0, + event_attendees TEXT, + event_keywords TEXT, + event_exceptions TEXT, + event_title VARCHAR(255), + event_category VARCHAR(80), + event_recurtype SMALLINT DEFAULT 0, + event_recurinterval SMALLINT, + event_recurdays SMALLINT, + event_recurenddate DATETIME, + event_recurcount INT, + event_start DATETIME, + event_end DATETIME, + event_allday TINYINT DEFAULT 0, + event_alarm INT DEFAULT 0, + event_modified INT NOT NULL, + event_private TINYINT DEFAULT 0 NOT NULL, + + PRIMARY KEY (event_id) +); + +CREATE INDEX kronolith_calendar_idx ON kronolith_events (calendar_id); +CREATE INDEX kronolith_uid_idx ON kronolith_events (event_uid); + + +CREATE TABLE kronolith_storage ( + vfb_owner VARCHAR(255) DEFAULT NULL, + vfb_email VARCHAR(255) DEFAULT '' NOT NULL, + vfb_serialized TEXT NOT NULL +); + +CREATE INDEX kronolith_vfb_owner_idx ON kronolith_storage (vfb_owner); +CREATE INDEX kronolith_vfb_email_idx ON kronolith_storage (vfb_email); + + +CREATE TABLE kronolith_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 kronolith_shares_share_name_idx ON kronolith_shares (share_name); +CREATE INDEX kronolith_shares_share_owner_idx ON kronolith_shares (share_owner); +CREATE INDEX kronolith_shares_perm_creator_idx ON kronolith_shares (perm_creator); +CREATE INDEX kronolith_shares_perm_default_idx ON kronolith_shares (perm_default); +CREATE INDEX kronolith_shares_perm_guest_idx ON kronolith_shares (perm_guest); + +CREATE TABLE kronolith_shares_groups ( + share_id INT NOT NULL, + group_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_groups_share_id_idx ON kronolith_shares_groups (share_id); +CREATE INDEX kronolith_shares_groups_group_uid_idx ON kronolith_shares_groups (group_uid); +CREATE INDEX kronolith_shares_groups_perm_idx ON kronolith_shares_groups (perm); + +CREATE TABLE kronolith_shares_users ( + share_id INT NOT NULL, + user_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_users_share_id_idx ON kronolith_shares_users (share_id); +CREATE INDEX kronolith_shares_users_user_uid_idx ON kronolith_shares_users (user_uid); +CREATE INDEX kronolith_shares_users_perm_idx ON kronolith_shares_users (perm); diff --git a/kronolith/scripts/sql/kronolith.oci8.sql b/kronolith/scripts/sql/kronolith.oci8.sql new file mode 100644 index 000000000..01d55e25b --- /dev/null +++ b/kronolith/scripts/sql/kronolith.oci8.sql @@ -0,0 +1,82 @@ +-- $Horde: kronolith/scripts/sql/kronolith.oci8.sql,v 1.17 2008/10/22 21:14:07 jan Exp $ + +CREATE TABLE kronolith_events ( + event_id VARCHAR2(32) NOT NULL, + event_uid VARCHAR2(255) NOT NULL, + calendar_id VARCHAR2(255) NOT NULL, + event_creator_id VARCHAR2(255) NOT NULL, + event_description VARCHAR2(4000), + event_location VARCHAR2(4000), + event_status INT DEFAULT 0, + event_attendees VARCHAR2(4000), + event_keywords VARCHAR2(4000), + event_exceptions VARCHAR2(4000), + event_title VARCHAR2(255), + event_category VARCHAR2(80), + event_recurtype INT DEFAULT 0, + event_recurinterval INT, + event_recurdays INT, + event_recurenddate DATE, + event_recurcount INT, + event_start DATE, + event_end DATE, + event_allday INT DEFAULT 0, + event_alarm INT DEFAULT 0, + event_modified INT NOT NULL, + event_private INT DEFAULT 0 NOT NULL, +-- + PRIMARY KEY (event_id) +); + +CREATE INDEX kronolith_calendar_idx ON kronolith_events (calendar_id); +CREATE INDEX kronolith_uid_idx ON kronolith_events (event_uid); + + +CREATE TABLE kronolith_storage ( + vfb_owner VARCHAR2(255) DEFAULT NULL, + vfb_email VARCHAR2(255) DEFAULT '' NOT NULL, + vfb_serialized VARCHAR2(4000) NOT NULL +); + +CREATE INDEX kronolith_vfb_owner_idx ON kronolith_storage (vfb_owner); +CREATE INDEX kronolith_vfb_email_idx ON kronolith_storage (vfb_email); + + +CREATE TABLE kronolith_shares ( + share_id INT NOT NULL, + share_name VARCHAR2(255) NOT NULL, + share_owner VARCHAR2(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 VARCHAR2(255) NOT NULL, + attribute_desc VARCHAR2(255), + PRIMARY KEY (share_id) +); + +CREATE INDEX kronolith_shares_share_name_idx ON kronolith_shares (share_name); +CREATE INDEX kronolith_shares_share_owner_idx ON kronolith_shares (share_owner); +CREATE INDEX kronolith_shares_perm_creator_idx ON kronolith_shares (perm_creator); +CREATE INDEX kronolith_shares_perm_default_idx ON kronolith_shares (perm_default); +CREATE INDEX kronolith_shares_perm_guest_idx ON kronolith_shares (perm_guest); + +CREATE TABLE kronolith_shares_groups ( + share_id INT NOT NULL, + group_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_groups_share_id_idx ON kronolith_shares_groups (share_id); +CREATE INDEX kronolith_shares_groups_group_uid_idx ON kronolith_shares_groups (group_uid); +CREATE INDEX kronolith_shares_groups_perm_idx ON kronolith_shares_groups (perm); + +CREATE TABLE kronolith_shares_users ( + share_id INT NOT NULL, + user_uid VARCHAR2(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_users_share_id_idx ON kronolith_shares_users (share_id); +CREATE INDEX kronolith_shares_users_user_uid_idx ON kronolith_shares_users (user_uid); +CREATE INDEX kronolith_shares_users_perm_idx ON kronolith_shares_users (perm); diff --git a/kronolith/scripts/sql/kronolith.pgsql.sql b/kronolith/scripts/sql/kronolith.pgsql.sql new file mode 100644 index 000000000..86ac0b197 --- /dev/null +++ b/kronolith/scripts/sql/kronolith.pgsql.sql @@ -0,0 +1,82 @@ +-- $Horde: kronolith/scripts/sql/kronolith.pgsql.sql,v 1.15 2008/10/22 21:14:07 jan Exp $ + +CREATE TABLE kronolith_events ( + event_id VARCHAR(32) NOT NULL, + event_uid VARCHAR(255) NOT NULL, + calendar_id VARCHAR(255) NOT NULL, + event_creator_id VARCHAR(255) NOT NULL, + event_description TEXT, + event_location TEXT, + event_status INT DEFAULT 0, + event_attendees TEXT, + event_keywords TEXT, + event_exceptions TEXT, + event_title VARCHAR(255), + event_category VARCHAR(80), + event_recurtype SMALLINT DEFAULT 0, + event_recurinterval SMALLINT, + event_recurdays SMALLINT, + event_recurenddate TIMESTAMP, + event_recurcount INT, + event_start TIMESTAMP, + event_end TIMESTAMP, + event_allday INT DEFAULT 0, + event_alarm INT DEFAULT 0, + event_modified INT NOT NULL, + event_private INT DEFAULT 0 NOT NULL, + + PRIMARY KEY (event_id) +); + +CREATE INDEX kronolith_calendar_idx ON kronolith_events (calendar_id); +CREATE INDEX kronolith_uid_idx ON kronolith_events (event_uid); + + +CREATE TABLE kronolith_storage ( + vfb_owner VARCHAR(255) DEFAULT NULL, + vfb_email VARCHAR(255) DEFAULT '' NOT NULL, + vfb_serialized TEXT NOT NULL +); + +CREATE INDEX kronolith_vfb_owner_idx ON kronolith_storage (vfb_owner); +CREATE INDEX kronolith_vfb_email_idx ON kronolith_storage (vfb_email); + + +CREATE TABLE kronolith_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 kronolith_shares_share_name_idx ON kronolith_shares (share_name); +CREATE INDEX kronolith_shares_share_owner_idx ON kronolith_shares (share_owner); +CREATE INDEX kronolith_shares_perm_creator_idx ON kronolith_shares (perm_creator); +CREATE INDEX kronolith_shares_perm_default_idx ON kronolith_shares (perm_default); +CREATE INDEX kronolith_shares_perm_guest_idx ON kronolith_shares (perm_guest); + +CREATE TABLE kronolith_shares_groups ( + share_id INT NOT NULL, + group_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_groups_share_id_idx ON kronolith_shares_groups (share_id); +CREATE INDEX kronolith_shares_groups_group_uid_idx ON kronolith_shares_groups (group_uid); +CREATE INDEX kronolith_shares_groups_perm_idx ON kronolith_shares_groups (perm); + +CREATE TABLE kronolith_shares_users ( + share_id INT NOT NULL, + user_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_users_share_id_idx ON kronolith_shares_users (share_id); +CREATE INDEX kronolith_shares_users_user_uid_idx ON kronolith_shares_users (user_uid); +CREATE INDEX kronolith_shares_users_perm_idx ON kronolith_shares_users (perm); diff --git a/kronolith/scripts/sql/kronolith.sql b/kronolith/scripts/sql/kronolith.sql new file mode 100644 index 000000000..13f269ea2 --- /dev/null +++ b/kronolith/scripts/sql/kronolith.sql @@ -0,0 +1,82 @@ +-- $Horde: kronolith/scripts/sql/kronolith.sql,v 1.15 2008/10/22 21:14:08 jan Exp $ + +CREATE TABLE kronolith_events ( + event_id VARCHAR(32) NOT NULL, + event_uid VARCHAR(255) NOT NULL, + calendar_id VARCHAR(255) NOT NULL, + event_creator_id VARCHAR(255) NOT NULL, + event_description TEXT, + event_location TEXT, + event_status INT DEFAULT 0, + event_attendees TEXT, + event_keywords TEXT, + event_exceptions TEXT, + event_title VARCHAR(255), + event_category VARCHAR(80), + event_recurtype INT DEFAULT 0, + event_recurinterval INT, + event_recurdays INT, + event_recurenddate DATETIME, + event_recurcount INT, + event_start DATETIME, + event_end DATETIME, + event_allday INT DEFAULT 0, + event_alarm INT DEFAULT 0, + event_modified INT NOT NULL, + event_private INT DEFAULT 0 NOT NULL, + + PRIMARY KEY (event_id) +); + +CREATE INDEX kronolith_calendar_idx ON kronolith_events (calendar_id); +CREATE INDEX kronolith_uid_idx ON kronolith_events (event_uid); + + +CREATE TABLE kronolith_storage ( + vfb_owner VARCHAR(255) DEFAULT NULL, + vfb_email VARCHAR(255) DEFAULT '' NOT NULL, + vfb_serialized TEXT NOT NULL +); + +CREATE INDEX kronolith_vfb_owner_idx ON kronolith_storage (vfb_owner); +CREATE INDEX kronolith_vfb_email_idx ON kronolith_storage (vfb_email); + + +CREATE TABLE kronolith_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 kronolith_shares_share_name_idx ON kronolith_shares (share_name); +CREATE INDEX kronolith_shares_share_owner_idx ON kronolith_shares (share_owner); +CREATE INDEX kronolith_shares_perm_creator_idx ON kronolith_shares (perm_creator); +CREATE INDEX kronolith_shares_perm_default_idx ON kronolith_shares (perm_default); +CREATE INDEX kronolith_shares_perm_guest_idx ON kronolith_shares (perm_guest); + +CREATE TABLE kronolith_shares_groups ( + share_id INT NOT NULL, + group_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_groups_share_id_idx ON kronolith_shares_groups (share_id); +CREATE INDEX kronolith_shares_groups_group_uid_idx ON kronolith_shares_groups (group_uid); +CREATE INDEX kronolith_shares_groups_perm_idx ON kronolith_shares_groups (perm); + +CREATE TABLE kronolith_shares_users ( + share_id INT NOT NULL, + user_uid VARCHAR(255) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_users_share_id_idx ON kronolith_shares_users (share_id); +CREATE INDEX kronolith_shares_users_user_uid_idx ON kronolith_shares_users (user_uid); +CREATE INDEX kronolith_shares_users_perm_idx ON kronolith_shares_users (perm); diff --git a/kronolith/scripts/sql/kronolith.xml b/kronolith/scripts/sql/kronolith.xml new file mode 100644 index 000000000..4720fc149 --- /dev/null +++ b/kronolith/scripts/sql/kronolith.xml @@ -0,0 +1,470 @@ + + + + name + false + false + + + + kronolith_events + + + + + event_id + text + 32 + true + + + + event_uid + text + 255 + true + + + + calendar_id + text + 255 + true + + + + event_creator_id + text + 255 + true + + + + event_description + clob + + + + event_location + clob + + + + event_status + integer + 0 + + + + event_attendees + clob + + + + event_keywords + clob + + + + event_exceptions + clob + + + + event_title + text + 255 + + + + event_category + text + 80 + + + + event_recurtype + integer + 0 + + + + event_recurinterval + integer + + + + event_recurdays + integer + + + + event_recurenddate + timestamp + + + + + event_recurcount + integer + + + + event_start + timestamp + + + + + event_end + timestamp + + + + + event_alarm + integer + 0 + + + + event_allday + integer + 1 + 0 + + + + event_modified + integer + true + + + + event_private + integer + 1 + true + 0 + + + + kronolith_primary + true + + event_id + + + + + kronolith_calendar + + calendar_id + ascending + + + + + kronolith_uid + + event_uid + ascending + + + + + +
      + + + + kronolith_storage + + + + + vfb_owner + text + 255 + + + + vfb_email + text + 255 + true + + + + vfb_serialized + clob + + + + kronolith_vfb_owner + + vfb_owner + ascending + + + + + kronolith_vfb_email + + vfb_email + ascending + + + + + +
      + + + + kronolith_shares + + + + + share_id + integer + + true + 4 + + + + share_name + text + + true + 255 + + + + share_owner + text + + true + 255 + + + + share_flags + integer + 0 + true + 2 + + + + perm_creator + integer + 0 + true + 2 + + + + perm_default + integer + 0 + true + 2 + + + + perm_guest + integer + 0 + true + 2 + + + + attribute_name + text + + true + 255 + + + + attribute_desc + text + + false + 255 + + + + kronolith_shares_share_name + + share_name + ascending + + + + + kronolith_shares_share_owner + + share_owner + ascending + + + + + kronolith_shares_perm_creator + + perm_creator + ascending + + + + + kronolith_shares_perm_default + + perm_default + ascending + + + + + kronolith_shares_perm_guest + + perm_guest + ascending + + + + + kronolith_shares_pKey + true + + share_id + ascending + + + + + +
      + + + + kronolith_shares_groups + + + + + share_id + integer + + true + 4 + + + + group_uid + text + + true + 255 + + + + perm + integer + + true + 2 + + + + kronolith_shares_groups_share_id + + share_id + ascending + + + + + kronolith_shares_groups_group_uid + + group_uid + ascending + + + + + kronolith_shares_groups_perm + + perm + ascending + + + + + +
      + + + + kronolith_shares_users + + + + + share_id + integer + + true + 4 + + + + user_uid + text + + true + 255 + + + + perm + integer + + true + 2 + + + + kronolith_shares_users_share_id + + share_id + ascending + + + + + kronolith_shares_users_user_uid + + user_uid + ascending + + + + + kronolith_shares_users_perm + + perm + ascending + + + + + +
      + +
      diff --git a/kronolith/scripts/upgrades/1.1_to_2.0.mysql.sql b/kronolith/scripts/upgrades/1.1_to_2.0.mysql.sql new file mode 100644 index 000000000..7c0e73e55 --- /dev/null +++ b/kronolith/scripts/upgrades/1.1_to_2.0.mysql.sql @@ -0,0 +1,27 @@ +-- $Horde: kronolith/scripts/upgrades/1.1_to_2.0.mysql.sql,v 1.6 2006/12/13 04:58:22 chuck Exp $ +-- +-- You can simply execute this file in your database. +-- +-- Run as: +-- +-- $ mysql --user=root --password= < 1.1_to_2.0.mysql.sql + +ALTER TABLE kronolith_events CHANGE COLUMN event_id event_id VARCHAR(32) NOT NULL; +ALTER TABLE kronolith_events CHANGE COLUMN event_title event_title VARCHAR(255); + +ALTER TABLE kronolith_events ADD COLUMN event_uid VARCHAR(255) NOT NULL; +ALTER TABLE kronolith_events ADD COLUMN event_creator_id VARCHAR(255) NOT NULL; +ALTER TABLE kronolith_events ADD COLUMN event_status INT DEFAULT 0; +ALTER TABLE kronolith_events ADD COLUMN event_attendees TEXT; + +CREATE INDEX kronolith_uid_idx ON kronolith_events (event_uid); + + +CREATE TABLE kronolith_storage ( + vfb_owner VARCHAR(255) DEFAULT NULL, + vfb_email VARCHAR(255) DEFAULT '' NOT NULL, + vfb_serialized TEXT NOT NULL +); + +CREATE INDEX kronolith_vfb_owner_idx ON kronolith_storage (vfb_owner); +CREATE INDEX kronolith_vfb_email_idx ON kronolith_storage (vfb_email); diff --git a/kronolith/scripts/upgrades/1.1_to_2.0.oci8.sql b/kronolith/scripts/upgrades/1.1_to_2.0.oci8.sql new file mode 100644 index 000000000..15c6bf192 --- /dev/null +++ b/kronolith/scripts/upgrades/1.1_to_2.0.oci8.sql @@ -0,0 +1,25 @@ +-- $Horde: kronolith/scripts/upgrades/1.1_to_2.0.oci8.sql,v 1.1 2006/04/06 22:05:39 jan Exp $ + +ALTER TABLE kronolith_events ADD COLUMN event_id_new VARCHAR(32); +UPDATE kronolith_events SET event_id_new = event_id; +ALTER TABLE kronolith_events DROP COLUMN event_id; +ALTER TABLE kronolith_events RENAME COLUMN event_id_new to event_id; +ALTER TABLE kronolith_events ADD CONSTRAINT event_id PRIMARY KEY (event_id); +ALTER TABLE kronolith_events MODIFY event_title VARCHAR2(255); + +ALTER TABLE kronolith_events ADD event_uid VARCHAR2(255); +ALTER TABLE kronolith_events ADD event_creator_id VARCHAR2(255); +ALTER TABLE kronolith_events ADD event_status INT DEFAULT 0; +ALTER TABLE kronolith_events ADD event_attendees VARCHAR2(4000); + +CREATE INDEX kronolith_uid_idx ON kronolith_events (event_uid); + + +CREATE TABLE kronolith_storage ( + vfb_owner VARCHAR2(255) DEFAULT NULL, + vfb_email VARCHAR2(255) DEFAULT '' NOT NULL, + vfb_serialized VARCHAR2(4000) NOT NULL +); + +CREATE INDEX kronolith_vfb_owner_idx ON kronolith_storage (vfb_owner); +CREATE INDEX kronolith_vfb_email_idx ON kronolith_storage (vfb_email); diff --git a/kronolith/scripts/upgrades/1.1_to_2.0.pgsql.sql b/kronolith/scripts/upgrades/1.1_to_2.0.pgsql.sql new file mode 100644 index 000000000..91927bbc9 --- /dev/null +++ b/kronolith/scripts/upgrades/1.1_to_2.0.pgsql.sql @@ -0,0 +1,56 @@ +-- $Horde: kronolith/scripts/upgrades/1.1_to_2.0.pgsql.sql,v 1.4 2006/12/13 04:58:22 chuck Exp $ +-- +-- Update script to update Kronolith 1.1 data to 2.x data for pgsql +-- Converted from mysql version by Daniel E. Markle +-- +-- You can simply execute this file in your database. +-- +-- Run as: +-- +-- $ psql -f < 1.1_to_2.0.pgsql.sql + +BEGIN; +ALTER TABLE kronolith_events ADD COLUMN event_id_new VARCHAR(32); +UPDATE kronolith_events SET event_id_new = event_id; +ALTER TABLE kronolith_events DROP event_id; +ALTER TABLE kronolith_events RENAME event_id_new TO event_id; +ALTER TABLE kronolith_events ALTER COLUMN event_id SET NOT NULL; +COMMIT; + +BEGIN; +ALTER TABLE kronolith_events ADD COLUMN event_title_new VARCHAR(255); +UPDATE kronolith_events SET event_title_new = event_title; +ALTER TABLE kronolith_events DROP event_title; +ALTER TABLE kronolith_events RENAME event_title_new TO event_title; +COMMIT; + +BEGIN; +ALTER TABLE kronolith_events ADD COLUMN event_uid VARCHAR(255); +UPDATE kronolith_events SET event_uid = ''; +ALTER TABLE kronolith_events ALTER COLUMN event_uid SET NOT NULL; +COMMIT; + +BEGIN; +ALTER TABLE kronolith_events ADD COLUMN event_creator_id VARCHAR(255); +UPDATE kronolith_events SET event_creator_id = ''; +ALTER TABLE kronolith_events ALTER COLUMN event_creator_id SET NOT NULL; +COMMIT; + +BEGIN; +ALTER TABLE kronolith_events ADD COLUMN event_status INT; +UPDATE kronolith_events SET event_status = 0; +ALTER TABLE kronolith_events ALTER COLUMN event_status SET DEFAULT 0; +COMMIT; + +ALTER TABLE kronolith_events ADD COLUMN event_attendees TEXT; + +CREATE INDEX kronolith_uid_idx ON kronolith_events (event_uid); + +CREATE TABLE kronolith_storage ( + vfb_owner VARCHAR(255) DEFAULT NULL, + vfb_email VARCHAR(255) DEFAULT '' NOT NULL, + vfb_serialized TEXT NOT NULL +); + +CREATE INDEX kronolith_vfb_owner_idx ON kronolith_storage (vfb_owner); +CREATE INDEX kronolith_vfb_email_idx ON kronolith_storage (vfb_email); diff --git a/kronolith/scripts/upgrades/2.1_to_2.2.pgsql.sql b/kronolith/scripts/upgrades/2.1_to_2.2.pgsql.sql new file mode 100644 index 000000000..81e4fc294 --- /dev/null +++ b/kronolith/scripts/upgrades/2.1_to_2.2.pgsql.sql @@ -0,0 +1,48 @@ +-- $Horde: kronolith/scripts/upgrades/2.1_to_2.2.pgsql.sql,v 1.8 2008/12/03 16:10:50 chuck Exp $ + +BEGIN; +ALTER TABLE kronolith_events ADD event_private INT; +UPDATE kronolith_events SET event_private = 0; +ALTER TABLE kronolith_events ALTER event_private SET DEFAULT 0; +ALTER TABLE kronolith_events ALTER event_private SET NOT NULL; +COMMIT; +ALTER TABLE kronolith_events ADD event_recurcount INT; + +CREATE TABLE kronolith_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 kronolith_shares_share_name_idx ON kronolith_shares (share_name); +CREATE INDEX kronolith_shares_share_owner_idx ON kronolith_shares (share_owner); +CREATE INDEX kronolith_shares_perm_creator_idx ON kronolith_shares (perm_creator); +CREATE INDEX kronolith_shares_perm_default_idx ON kronolith_shares (perm_default); +CREATE INDEX kronolith_shares_perm_guest_idx ON kronolith_shares (perm_guest); + +CREATE TABLE kronolith_shares_groups ( + share_id INT NOT NULL, + group_uid INT NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_groups_share_id_idx ON kronolith_shares_groups (share_id); +CREATE INDEX kronolith_shares_groups_group_uid_idx ON kronolith_shares_groups (group_uid); +CREATE INDEX kronolith_shares_groups_perm_idx ON kronolith_shares_groups (perm); + +CREATE TABLE kronolith_shares_users ( + share_id INT NOT NULL, + user_uid VARCHAR(32) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_users_share_id_idx ON kronolith_shares_users (share_id); +CREATE INDEX kronolith_shares_users_user_uid_idx ON kronolith_shares_users (user_uid); +CREATE INDEX kronolith_shares_users_perm_idx ON kronolith_shares_users (perm); diff --git a/kronolith/scripts/upgrades/2.1_to_2.2.sql b/kronolith/scripts/upgrades/2.1_to_2.2.sql new file mode 100644 index 000000000..84970cb29 --- /dev/null +++ b/kronolith/scripts/upgrades/2.1_to_2.2.sql @@ -0,0 +1,43 @@ +-- $Horde: kronolith/scripts/upgrades/2.1_to_2.2.sql,v 1.7 2008/06/17 14:53:26 mrubinsk Exp $ + +ALTER TABLE kronolith_events ADD COLUMN event_private INT DEFAULT 0 NOT NULL; +ALTER TABLE kronolith_events ADD COLUMN event_recurcount INT; + +CREATE TABLE kronolith_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 kronolith_shares_share_name_idx ON kronolith_shares (share_name); +CREATE INDEX kronolith_shares_share_owner_idx ON kronolith_shares (share_owner); +CREATE INDEX kronolith_shares_perm_creator_idx ON kronolith_shares (perm_creator); +CREATE INDEX kronolith_shares_perm_default_idx ON kronolith_shares (perm_default); +CREATE INDEX kronolith_shares_perm_guest_idx ON kronolith_shares (perm_guest); + +CREATE TABLE kronolith_shares_groups ( + share_id INT NOT NULL, + group_uid INT NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_groups_share_id_idx ON kronolith_shares_groups (share_id); +CREATE INDEX kronolith_shares_groups_group_uid_idx ON kronolith_shares_groups (group_uid); +CREATE INDEX kronolith_shares_groups_perm_idx ON kronolith_shares_groups (perm); + +CREATE TABLE kronolith_shares_users ( + share_id INT NOT NULL, + user_uid VARCHAR(32) NOT NULL, + perm SMALLINT NOT NULL +); + +CREATE INDEX kronolith_shares_users_share_id_idx ON kronolith_shares_users (share_id); +CREATE INDEX kronolith_shares_users_user_uid_idx ON kronolith_shares_users (user_uid); +CREATE INDEX kronolith_shares_users_perm_idx ON kronolith_shares_users (perm); diff --git a/kronolith/scripts/upgrades/2.2_to_2.3.oci8.sql b/kronolith/scripts/upgrades/2.2_to_2.3.oci8.sql new file mode 100644 index 000000000..2e0c251e9 --- /dev/null +++ b/kronolith/scripts/upgrades/2.2_to_2.3.oci8.sql @@ -0,0 +1,3 @@ +ALTER TABLE kronolith_shares CHANGE share_owner share_owner VARCHAR2(255); +ALTER TABLE kronolith_shares_users CHANGE user_uid user_uid VARCHAR2(255); +ALTER TABLE kronolith_shares_groups CHANGE group_uid group_uid VARCHAR2(255); diff --git a/kronolith/scripts/upgrades/2.2_to_2.3.pgsql.sql b/kronolith/scripts/upgrades/2.2_to_2.3.pgsql.sql new file mode 100644 index 000000000..6fb7df373 --- /dev/null +++ b/kronolith/scripts/upgrades/2.2_to_2.3.pgsql.sql @@ -0,0 +1,3 @@ +ALTER TABLE kronolith_shares ALTER share_owner TYPE VARCHAR(255); +ALTER TABLE kronolith_shares_users ALTER user_uid TYPE VARCHAR(255); +ALTER TABLE kronolith_shares_groups ALTER group_uid TYPE VARCHAR(255); diff --git a/kronolith/scripts/upgrades/2.2_to_2.3.sql b/kronolith/scripts/upgrades/2.2_to_2.3.sql new file mode 100644 index 000000000..876b15cf5 --- /dev/null +++ b/kronolith/scripts/upgrades/2.2_to_2.3.sql @@ -0,0 +1,3 @@ +ALTER TABLE kronolith_shares CHANGE share_owner share_owner VARCHAR(255); +ALTER TABLE kronolith_shares_users CHANGE user_uid user_uid VARCHAR(255); +ALTER TABLE kronolith_shares_groups CHANGE group_uid group_uid VARCHAR(255); diff --git a/kronolith/scripts/upgrades/2006-03-16_add_private_flag.sql b/kronolith/scripts/upgrades/2006-03-16_add_private_flag.sql new file mode 100644 index 000000000..d70ca0687 --- /dev/null +++ b/kronolith/scripts/upgrades/2006-03-16_add_private_flag.sql @@ -0,0 +1,3 @@ +-- $Horde: kronolith/scripts/upgrades/2006-03-16_add_private_flag.sql,v 1.2 2006/03/18 06:02:46 selsky Exp $ + +ALTER TABLE kronolith_events ADD event_private INT DEFAULT 0 NOT NULL; diff --git a/kronolith/scripts/upgrades/2006-08-20_fix_recur_int_fields.mysql.sql b/kronolith/scripts/upgrades/2006-08-20_fix_recur_int_fields.mysql.sql new file mode 100644 index 000000000..0ace506f2 --- /dev/null +++ b/kronolith/scripts/upgrades/2006-08-20_fix_recur_int_fields.mysql.sql @@ -0,0 +1,3 @@ +ALTER TABLE kronolith_events CHANGE event_recurtype event_recurtype SMALLINT DEFAULT 0; +ALTER TABLE kronolith_events CHANGE event_recurinterval event_recurinterval SMALLINT; +ALTER TABLE kronolith_events CHANGE event_recurdays event_recurdays SMALLINT; diff --git a/kronolith/scripts/upgrades/2007-03-23_add_recur_count.sql b/kronolith/scripts/upgrades/2007-03-23_add_recur_count.sql new file mode 100644 index 000000000..581a9ed1c --- /dev/null +++ b/kronolith/scripts/upgrades/2007-03-23_add_recur_count.sql @@ -0,0 +1 @@ +ALTER TABLE kronolith_events ADD event_recurcount INT; diff --git a/kronolith/scripts/upgrades/2008-06-17_fix_varchar_lengths.sql b/kronolith/scripts/upgrades/2008-06-17_fix_varchar_lengths.sql new file mode 100644 index 000000000..1338dc892 --- /dev/null +++ b/kronolith/scripts/upgrades/2008-06-17_fix_varchar_lengths.sql @@ -0,0 +1,2 @@ +ALTER TABLE kronolith_shares CHANGE share_owner share_owner VARCHAR(255); +ALTER TABLE kronolith_shares_users CHANGE user_uid user_uid VARCHAR(255); diff --git a/kronolith/scripts/upgrades/2008-09-23_fix_group_uid.sql b/kronolith/scripts/upgrades/2008-09-23_fix_group_uid.sql new file mode 100644 index 000000000..d367c689f --- /dev/null +++ b/kronolith/scripts/upgrades/2008-09-23_fix_group_uid.sql @@ -0,0 +1 @@ +ALTER TABLE kronolith_shares_groups CHANGE group_uid group_uid VARCHAR(255); diff --git a/kronolith/scripts/upgrades/2008-10-21_add_allday_flag.pgsql.sql b/kronolith/scripts/upgrades/2008-10-21_add_allday_flag.pgsql.sql new file mode 100644 index 000000000..49bb20302 --- /dev/null +++ b/kronolith/scripts/upgrades/2008-10-21_add_allday_flag.pgsql.sql @@ -0,0 +1,5 @@ +-- $Horde: kronolith/scripts/upgrades/2008-10-21_add_allday_flag.pgsql.sql,v 1.1 2008/10/22 21:14:08 jan Exp $ + +ALTER TABLE kronolith_events ADD event_allday INT DEFAULT 0; + +UPDATE kronolith_events SET event_allday = 1 WHERE event_start + INTERVAL '1 DAY' = event_end; diff --git a/kronolith/scripts/upgrades/2008-10-21_add_allday_flag.sql b/kronolith/scripts/upgrades/2008-10-21_add_allday_flag.sql new file mode 100644 index 000000000..dc9799868 --- /dev/null +++ b/kronolith/scripts/upgrades/2008-10-21_add_allday_flag.sql @@ -0,0 +1,5 @@ +-- $Horde: kronolith/scripts/upgrades/2008-10-21_add_allday_flag.sql,v 1.1 2008/10/22 21:14:08 jan Exp $ + +ALTER TABLE kronolith_events ADD event_allday INT DEFAULT 0; + +UPDATE kronolith_events SET event_allday = 1 WHERE event_start + INTERVAL 1 DAY = event_end; diff --git a/kronolith/scripts/upgrades/convert_datatree_shares_to_sql.php b/kronolith/scripts/upgrades/convert_datatree_shares_to_sql.php new file mode 100755 index 000000000..ee552d06e --- /dev/null +++ b/kronolith/scripts/upgrades/convert_datatree_shares_to_sql.php @@ -0,0 +1,204 @@ +#!/usr/bin/env php +init(); + +/* Grab what we need to steal the DB config */ +require_once HORDE_BASE . '/config/conf.php'; +require_once 'MDB2.php'; + +$config = $GLOBALS['conf']['sql']; +unset($config['charset']); +$db = MDB2::factory($config); + +$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 */ +$sql = 'SELECT datatree_id, datatree_name FROM horde_datatree WHERE ' + . 'group_uid = \'horde.shares.kronolith\''; +$shares_result = $db->query($sql); +if (is_a($shares_result, 'PEAR_Error')) { + die($shares_result->toString()); +} + +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 */ + $data = array('share_id' => $db->nextId('kronolith_shares'), + 'share_name' => $share_name); + + $sql = 'SELECT attribute_name, attribute_key, attribute_value FROM horde_datatree_attributes WHERE datatree_id = ?'; + $query = $db->prepare($sql); + $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('kronolith_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('kronolith_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('kronolith_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; +} diff --git a/kronolith/scripts/upgrades/convert_to_utc.php b/kronolith/scripts/upgrades/convert_to_utc.php new file mode 100755 index 000000000..9fa8de2f2 --- /dev/null +++ b/kronolith/scripts/upgrades/convert_to_utc.php @@ -0,0 +1,72 @@ +#!/usr/bin/php +init(); + +/* Load required libraries. */ +require_once dirname(__FILE__) . '/../../lib/base.php'; +require_once 'DB.php'; +require_once 'Horde/Prefs.php'; + +/* Prepare DB stuff. */ +PEAR::staticPushErrorHandling(PEAR_ERROR_DIE); +$db = DB::connect($conf['sql']); +$result = $db->query('SELECT event_title, event_id, event_creator_id, event_start, event_end, event_allday, event_recurenddate FROM ' . $conf['calendar']['params']['table'] . ' ORDER BY event_creator_id'); +$stmt = $db->prepare('UPDATE kronolith_events SET event_start = ?, event_end = ?, event_recurenddate = ? WHERE event_id = ?'); + +/* Confirm changes. */ +if (!isset($argv[1]) || $argv[1] != '--yes') { + $answer = $cli->prompt('Running this script will convert all existing events to UTC. This conversion is not reversible. Is this what you want?', array('y' => 'Yes', 'n' => 'No')); + if ($answer != 'y') { + exit; + } +} + +/* Loop through all events. */ +$creator = null; +$utc = new DateTimeZone('UTC'); +echo "Converting events for:\n"; +while ($row = $result->fetchRow(DB_FETCHMODE_ASSOC)) { + if ($row['event_allday']) { + continue; + } + if ($row['event_creator_id'] != $creator) { + if (!is_null($creator)) { + echo "$count\n"; + } + $prefs = Prefs::factory($conf['prefs']['driver'], 'horde', + $row['event_creator_id']); + $timezone = $prefs->getValue('timezone'); + if (empty($timezone)) { + $timezone = date_default_timezone_get(); + } + $timezone = new DateTimeZone($timezone); + $creator = $row['event_creator_id']; + $count = 0; + echo $creator . ': '; + } + $start = new DateTime($row['event_start'], $timezone); + $start->setTimezone($utc); + $end = new DateTime($row['event_end'], $timezone); + $end->setTimezone($utc); + $recur_end = new DateTime($row['event_recurenddate'], $timezone); + $recur_end->setTimezone($utc); + $db->execute($stmt, array($start->format('Y-m-d H:i:s'), $end->format('Y-m-d H:i:s'), $recur_end->format('Y-m-d H:i:s'), $row['event_id'])); + $count++; +} +echo "$count\n"; diff --git a/kronolith/search.php b/kronolith/search.php new file mode 100644 index 000000000..dc974b7f0 --- /dev/null +++ b/kronolith/search.php @@ -0,0 +1,130 @@ + + */ + +/** + * Used with usort() to sort events based on their start times. + */ +function _sortEvents($a, $b) +{ + $start_a = $a->recurs() ? $a->recurrence->nextRecurrence($GLOBALS['event']->start) : $a->start; + $start_b = $b->recurs() ? $b->recurrence->nextRecurrence($GLOBALS['event']->start) : $b->start; + $diff = $start_a->compareDateTime($start_b); + if ($diff == 0) { + return strcoll($a->title, $b->title); + } else { + return $diff; + } +} + +@define('KRONOLITH_BASE', dirname(__FILE__)); +require_once KRONOLITH_BASE . '/lib/base.php'; + +/* Get search parameters. */ +$search_mode = Util::getFormData('search_mode', 'basic'); + +if ($search_mode != 'basic') { + /* Make a new empty event object with default values. */ + $event = &$kronolith_driver->getEvent(); + $event->title = $event->calendars = $event->category = $event->location = + $event->status = $event->description = null; + + /* Set start on today, stop on tomorrow. */ + $event->start = new Horde_Date(mktime(0, 0, 0)); + $event->end = new Horde_Date($event->start); + $event->end->mday++; + $event->end->correct(); + + /* We need to set the event to initialized, otherwise we will end up with + * a default end date. */ + $event->initialized = true; + + $q_title = Util::getFormData('title'); + + if (isset($q_title)) { + /* We're returning from a previous search. */ + $event->readForm(); + if ($event->category == '__any') { + $event->category = null; + } + if (Util::getFormData('status') == KRONOLITH_STATUS_NONE) { + $event->status = null; + } + } +} + +$desc = Util::getFormData('pattern_desc'); +$title = Util::getFormData('pattern_title'); +if ($desc || $title) { + /* We're doing a simple search. */ + $event = &$kronolith_driver->getEvent(); + $event->setDescription($desc); + $event->setTitle($title); + $event->category = null; + $event->status = null; + + $time1 = $_SERVER['REQUEST_TIME']; + $range = Util::getFormData('range'); + if ($range == '+') { + $event->start = new Horde_Date($time1); + $event->end = null; + } elseif ($range == '-') { + $event->start = null; + $event->end = new Horde_Date($time1); + } else { + $time2 = $time1 + $range; + $event->start = new Horde_Date(min($time1, $time2)); + $event->end = new Horde_Date(max($time1, $time2)); + } + $events = Kronolith::search($event); +} elseif (isset($q_title)) { + /* Advanced search. */ + $events = Kronolith::search($event); +} + +$title = _("Search"); +Horde::addScriptFile('tooltip.js', 'horde', true); +require KRONOLITH_TEMPLATES . '/common-header.inc'; +require KRONOLITH_TEMPLATES . '/menu.inc'; + +echo '
      '; +if ($search_mode == 'basic') { + require KRONOLITH_TEMPLATES . '/search/search.inc'; + $notification->push('document.eventform.pattern_title.focus()', 'javascript'); +} else { + require KRONOLITH_TEMPLATES . '/search/search_advanced.inc'; + $notification->push('document.eventform.title.focus()', 'javascript'); +} + +/* Display search results. */ +if (isset($events)) { + if (count($events)) { + usort($events, '_sortEvents'); + + require KRONOLITH_TEMPLATES . '/search/header.inc'; + require KRONOLITH_TEMPLATES . '/search/event_headers.inc'; + + foreach ($events as $found) { + $start = $found->recurs() ? $found->recurrence->nextRecurrence($event->start) : $found->start; + $end = new Horde_Date($start); + $end->min += $found->durMin; + $end->correct(); + require KRONOLITH_TEMPLATES . '/search/event_summaries.inc'; + } + require KRONOLITH_TEMPLATES . '/search/event_footers.inc'; + } else { + require KRONOLITH_TEMPLATES . '/search/empty.inc'; + } +} + +echo '
      '; +require KRONOLITH_TEMPLATES . '/panel.inc'; +require $registry->get('templates', 'horde') . '/common-footer.inc'; diff --git a/kronolith/templates/attendees/attendees.inc b/kronolith/templates/attendees/attendees.inc new file mode 100644 index 000000000..ea286a2b9 --- /dev/null +++ b/kronolith/templates/attendees/attendees.inc @@ -0,0 +1,107 @@ + + +
      + + + + + + +

      + + + + + + + + + + + + + + + $status): ?> + + + + + + + + + +
       
      getImageDir('horde')) . ' ' . Horde::link('#', sprintf(_("Edit %s"), $name), '', '', "performAction('edit', decodeURIComponent('" . rawurlencode($email) . "')); return false;") . Horde::img('edit.png', '', null, $registry->getImageDir('horde')) . '' ?>'))) ?> + + + + +
      + +
      + + + + + +hasMethod('contacts/search')): ?> + + + + +
        + /> + +
      +
      ' . _("Address Book") . '' ?> 
      + +
      +
      + " /> + " /> + " /> +
      + +
      +render($view) . $vfb_html ?> +
      diff --git a/kronolith/templates/calendar_info.php b/kronolith/templates/calendar_info.php new file mode 100644 index 000000000..2ab5ddbff --- /dev/null +++ b/kronolith/templates/calendar_info.php @@ -0,0 +1,40 @@ + + +

      +

      + +

      +

      + +

      + + + +

      get('name')) ?>

      +get('desc')): ?> +

      + +

      + get('owner'))) ?> + +

      +

      + +

      +

      + +

      +

      + getName())) ?> +

      + +

      + +

      +

      +getName())); ?> +

      +' . Help::link('kronolith', 'embed') . ' ' . _("Learn how to embed other calendar views.") . '

      '; +} ?> + diff --git a/kronolith/templates/calendar_list.php b/kronolith/templates/calendar_list.php new file mode 100644 index 000000000..06e90ffe0 --- /dev/null +++ b/kronolith/templates/calendar_list.php @@ -0,0 +1,61 @@ +
      + +

      + +

      + +
      + isLocked('default_share')): ?> +
      + + " /> +
      + + +
      + + " /> +
      +
      + +" cellspacing="0" id="calendar-list" class="striped sortable"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
       
      " target="_blank">" target="_blank">"> ">get('name')) ?>getName(), false) ?>" target="_blank">get('owner') . '/' . $calendar->getName() . '.ics' : Util::addParameter($subscribe_url_base, 'c', $calendar->getName(), false) ?>" target="_blank">">">">
      + +
      diff --git a/kronolith/templates/calendar_titles.inc b/kronolith/templates/calendar_titles.inc new file mode 100644 index 000000000..2ebd8ba95 --- /dev/null +++ b/kronolith/templates/calendar_titles.inc @@ -0,0 +1,9 @@ +get('name')); +} +?> +
      +

      +

      diff --git a/kronolith/templates/category_legend.inc b/kronolith/templates/category_legend.inc new file mode 100644 index 000000000..2a1265f8b --- /dev/null +++ b/kronolith/templates/category_legend.inc @@ -0,0 +1,26 @@ +
      diff --git a/kronolith/templates/common-header.inc b/kronolith/templates/common-header.inc new file mode 100644 index 000000000..3eee3ee8d --- /dev/null +++ b/kronolith/templates/common-header.inc @@ -0,0 +1,56 @@ + + + + + +' : '' ?> + +get('name'); +if (!empty($title)) $page_title .= ' :: ' . $title; +if (!empty($refresh_time) && ($refresh_time > 0) && !empty($refresh_url)) { + echo "\n"; +} + +Horde::includeScriptFiles(); +require KRONOLITH_TEMPLATES . '/javascript_defs.php'; + +$bc = Util::nonInputVar('bodyClass'); +if (isset($view) && is_object($view) && $prefs->getValue('show_panel')) { + if ($bc) { + $bc .= ' '; + } + $bc .= 'rightPanel'; +} + +$currentDate = Kronolith::currentDate(); + +?> + +<?php echo htmlspecialchars($page_title) ?> + + + + + + + + + +> diff --git a/kronolith/templates/contacts/contacts.inc b/kronolith/templates/contacts/contacts.inc new file mode 100644 index 000000000..0a5102f79 --- /dev/null +++ b/kronolith/templates/contacts/contacts.inc @@ -0,0 +1,201 @@ + +
      + + + +
      + + + + + + + + + + + + + + +
      + + + 1): ?> + + + + + + " /> +
      + + + + >>" />

      + " /> +
      + + +
      + + +  
      + +
      + " /> + " /> + +
      +
      diff --git a/kronolith/templates/data/export.inc b/kronolith/templates/data/export.inc new file mode 100644 index 000000000..7972f6ab6 --- /dev/null +++ b/kronolith/templates/data/export.inc @@ -0,0 +1,211 @@ +
      "> + + + +
      + +

      + +

      + +
      +
      +

      + + 1): ?> +
      +

      + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + - + + + - + + +
      + + +  :  + + +getValue('twentyFour')) { +?> + + + +
      + + + + - + + + - + + +
      + + +  :  + + +getValue('twentyFour')): ?> + + + +

      + " class="button" /> +
      +
      diff --git a/kronolith/templates/data/import.inc b/kronolith/templates/data/import.inc new file mode 100644 index 000000000..dbaf56759 --- /dev/null +++ b/kronolith/templates/data/import.inc @@ -0,0 +1,35 @@ +
      + + + + +

      + +

      + +
      +
      +
      + + isLocked('default_share') && count($calendars = Kronolith::listCalendars(false, PERMS_EDIT)) > 1): ?> +
      +

      + + + +
      + +

      + + Warning: This deletes all entries in your current calendar.")) ?> +

      + " class="button" /> +
      +
      diff --git a/kronolith/templates/day/all_day.inc b/kronolith/templates/day/all_day.inc new file mode 100644 index 000000000..3d809411b --- /dev/null +++ b/kronolith/templates/day/all_day.inc @@ -0,0 +1,8 @@ + + + > + style="height:_slotsPerHour) ?>px">  + >  + + + diff --git a/kronolith/templates/day/head.inc b/kronolith/templates/day/head.inc new file mode 100644 index 000000000..97ef786c2 --- /dev/null +++ b/kronolith/templates/day/head.inc @@ -0,0 +1,10 @@ +

      +getTomorrow(); +$yesterday = $this->getYesterday(); +echo Horde::link($this->link(-1), _("Previous day"), 'iconNav', '', 'return ShowView(\'Day\', \'' . $yesterday->dateString() . '\');') . Horde::img('nav/left.png', '<', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +echo '' . htmlspecialchars($this->getTime($prefs->getValue('date_format'))) . ''; +echo Horde::link($this->link(1), _("Next day"), 'iconNav', '', 'return ShowView(\'Day\', \'' . $tomorrow->dateString() . '\');') . Horde::img('nav/right.png', '>', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +?> +

      + diff --git a/kronolith/templates/day/head_side_by_side.inc b/kronolith/templates/day/head_side_by_side.inc new file mode 100644 index 000000000..c33c40726 --- /dev/null +++ b/kronolith/templates/day/head_side_by_side.inc @@ -0,0 +1,13 @@ + + + +_currentCalendars)): ?> + + +_currentCalendars as $cid => $cal): ?> + + + + diff --git a/kronolith/templates/day/rows.html b/kronolith/templates/day/rows.html new file mode 100644 index 000000000..df393ce1f --- /dev/null +++ b/kronolith/templates/day/rows.html @@ -0,0 +1,12 @@ + + + + + + + + diff --git a/kronolith/templates/delete/delete.inc b/kronolith/templates/delete/delete.inc new file mode 100644 index 000000000..8f8ddff7a --- /dev/null +++ b/kronolith/templates/delete/delete.inc @@ -0,0 +1,32 @@ + $month, + 'year' => $year)); + $url = Horde::applicationUrl($url, true); +} +?> + + + + + + + + + +
         + get('name')) ?> +
      + + + +   
      + + +event->attendees)): ?> + + + + +
      occurrence and all future occurences, or all occurences?") ?>
      + " /> + " /> + " /> + +
      + + diff --git a/kronolith/templates/delete/one.inc b/kronolith/templates/delete/one.inc new file mode 100644 index 000000000..3826ba989 --- /dev/null +++ b/kronolith/templates/delete/one.inc @@ -0,0 +1,28 @@ + $month, + 'year' => $year)); + $url = Horde::applicationUrl($url, true); +} +?> +
      + + + + + + + + +
      +event->attendees)): ?> +

      + + +

      + + " /> + +
      + +
      diff --git a/kronolith/templates/edit/edit.inc b/kronolith/templates/edit/edit.inc new file mode 100644 index 000000000..c5f37c4e6 --- /dev/null +++ b/kronolith/templates/edit/edit.inc @@ -0,0 +1,390 @@ +isLocked('default_share') && count($calendars) > 1); ?> +
      + + + + + + + + + +isInitialized() && !$event->isRemote()): ?> + + + + + + + +isInitialized()): ?> + +

      + +

      + + + +recurs() && + (!empty($conf['hooks']['permsdenied']) || + Kronolith::hasPermission('max_events') === true || + Kronolith::hasPermission('max_events') > Kronolith::countEvents())): ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +hasFeature('dom')): ?> + + + + + + + + + + + +hasFeature('dom')): ?> + + + + +recurs() && $event->recurrence->getExceptions()): ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + and all future occurences, all occurences, or save this event as new?") ?>

      + + + + + +
      + + ' ?> + " onclick="document.eventform.reset(); updateWday('start_wday'); updateWday('end_wday');" /> +
      + +
      + + +
      + + getSelect('category', $event->getCategory()) ?>
      + +
      + + + getStatus()) ?> +
      + + + isPrivate()) echo ' checked="checked"' ?> /> +
      + + + alarm) { + $alarm_set = true; + if ($event->alarm % 10080 == 0) { + $alarm_value = $event->alarm / 10080; + $alarm_unit = 'week'; + } elseif ($event->alarm % 1440 == 0) { + $alarm_value = $event->alarm / 1440; + $alarm_unit = 'day'; + } elseif ($event->alarm % 60 == 0) { + $alarm_value = $event->alarm / 60; + $alarm_unit = 'hour'; + } else { + $alarm_value = $event->alarm; + $alarm_unit = 'min'; + } + } else { + $alarm_value = 15; + $alarm_unit = 'min'; + $alarm_set = false; + } + ?> + />
      + /> + +
        +
      + +   + + + +
      + 'toggle_description'), $GLOBALS['registry']->getImageDir('horde')) . ' ' . Horde::label('description', _("Descri_ption")) ?> + getDescription()), 0, 80)) ?> +
      + +
      + 'toggle_attendees'), $GLOBALS['registry']->getImageDir('horde')) . ' ' . _("Attendees") ?> + +
      + ' ?> +
      + 'toggle_recurrence'), $GLOBALS['registry']->getImageDir('horde')) . ' ' . _("Recurrence") ?> + getRecurName(); if ($event->recurs()) echo $event->recurrence->hasRecurEnd() ? sprintf(_(" until %s"), $event->recurrence->recurEnd->strftime($GLOBALS['prefs']->getValue('date_format')) . ($this->event->recurrence->recurEnd->hour == 23 && $this->event->recurrence->recurEnd->min == 59 ? '' : ' ' . $this->event->recurrence->recurEnd->format($GLOBALS['prefs']->getValue('twentyFour') ? 'G:i' : 'g:ia'))) : ($event->recurrence->getRecurCount() ? sprintf(_(", %d times"), $event->recurrence->getRecurCount()) : _(" without end")) ?> +
      + + + + + + + + + + + + + + + + + + + + + + + + + +
      + recurs()) echo ' checked="checked"' ?> /> +
      + recurs() && $event->recurrence->hasRecurType(HORDE_DATE_RECUR_DAILY)) echo ' checked="checked"' ?> /> +   +
      + recurs() && $event->recurrence->hasRecurType(HORDE_DATE_RECUR_WEEKLY)) echo ' checked="checked"' ?> /> +   +
      + recurs() && $event->recurrence->recurOnDay(HORDE_DATE_MASK_MONDAY)) echo ' checked="checked"' ?> />  + recurs() && $event->recurrence->recurOnDay(HORDE_DATE_MASK_TUESDAY)) echo ' checked="checked"' ?> />  + recurs() && $event->recurrence->recurOnDay(HORDE_DATE_MASK_WEDNESDAY)) echo ' checked="checked"' ?> />  + recurs() && $event->recurrence->recurOnDay(HORDE_DATE_MASK_THURSDAY)) echo ' checked="checked"' ?> />  + recurs() && $event->recurrence->recurOnDay(HORDE_DATE_MASK_FRIDAY)) echo ' checked="checked"' ?> />  + recurs() && $event->recurrence->recurOnDay(HORDE_DATE_MASK_SATURDAY)) echo ' checked="checked"' ?> />  + recurs() && $event->recurrence->recurOnDay(HORDE_DATE_MASK_SUNDAY)) echo ' checked="checked"' ?> />  +
      + recurs() && $event->recurrence->hasRecurType(HORDE_DATE_RECUR_MONTHLY_DATE)) echo ' checked="checked"' ?> /> +   +
      + recurs() && $event->recurrence->hasRecurType(HORDE_DATE_RECUR_MONTHLY_WEEKDAY)) echo ' checked="checked"' ?> /> +   +
      + recurs() && $event->recurrence->hasRecurType(HORDE_DATE_RECUR_YEARLY_DATE)) echo ' checked="checked"' ?> /> +   +
      + recurs() && $event->recurrence->hasRecurType(HORDE_DATE_RECUR_YEARLY_DAY)) echo ' checked="checked"' ?> /> +   +
      + recurs() && $event->recurrence->hasRecurType(HORDE_DATE_RECUR_YEARLY_WEEKDAY)) echo ' checked="checked"' ?> /> +   +
      +
      + + + recurs() && ($event->recurrence->hasRecurEnd() || $event->recurrence->hasRecurCount()) ? '' : ' checked="checked"') ?> /> +  
        + recurs() && $event->recurrence->hasRecurEnd() ? ' checked="checked"' : '') ?> /> + html('recur_enddate[year]') ?> - html('recur_enddate[month]') ?> - html('recur_enddate[day]') ?> +hasFeature('dom')): ?> + + + +js('recur_enddate')) . '\'); return false;') . Horde::img('calendar.png', _("Set recurrence end date"), 'id="recur_enddateimg"', $GLOBALS['registry']->getImageDir('horde')) . ''; +endif; +?> +
        + recurs() && $event->recurrence->getRecurCount() ? ' checked="checked"' : '') ?> /> + + +  
      + + + exceptionsList(); ?> +
      + 'toggle_keywords'), $GLOBALS['registry']->getImageDir('horde')) . ' ' . _("Keywords") ?> + getKeywords()) ?> +
      + + + $list): + if ($count % 3 == 0): ?> + + + + + + + +
      +
      + + hasKeyword($list[$k])) echo ' checked="checked"' ?> /> +
      + +
      +
       
      + + +
      + + ' ?> + " onclick="document.eventform.reset(); updateWday('start_wday'); updateWday('end_wday');" /> +
      +
      + diff --git a/kronolith/templates/edit/edit_timespan.inc b/kronolith/templates/edit/edit_timespan.inc new file mode 100644 index 000000000..9926617cb --- /dev/null +++ b/kronolith/templates/edit/edit_timespan.inc @@ -0,0 +1,126 @@ + + + + + + + + + + + + +   + + html('start[year]') ?> + - + html('start[month]') ?> + - + html('start[day]') ?> +hasFeature('dom')): ?> + + + + + + +js('start')) . '\'); return false;') . Horde::img('calendar.png', _("Set start date"), 'id="startimg"', $GLOBALS['registry']->getImageDir('horde')) . ''; endif; ?> + + + + + +   +   + + html('start_hour') ?> : html('start_min') ?> + getValue('twentyFour')) { + if ($event->start->hour < 12) { + $am = ' checked="checked"'; + $pm = ''; + } else { + $am = ''; + $pm = ' checked="checked"'; + } + ?> + onclick="$('allday').checked=false;updateEndDate();" /> + onclick="$('allday').checked=false;updateEndDate();" /> + + + + + + + + + + + +   + + + html('end[year]') ?> + - + html('end[month]') ?> + - + html('end[day]') ?> +hasFeature('dom')): ?> + + + + +js('end')) . '\'); return false;') . Horde::img('calendar.png', _("Set end date"), 'id="endimg"', $GLOBALS['registry']->getImageDir('horde')) . ''; +endif; +?> + + + + + +   +   + +   + + + html('end_hour') ?> : html('end_min') ?> + getValue('twentyFour')) { + if ($event->end->hour < 12) { + $am = ' checked="checked"'; + $pm = ''; + } else { + $am = ''; + $pm = ' checked="checked"'; + } + ?> + onclick="$('end').checked=true;updateDuration()" /> + onclick="$('end').checked=true;updateDuration()" /> + + + + + + + + + + +   + + getDuration(); if ($dur->wholeDay) echo ' checked="checked"' ?> /> +
      + html('dur_day'), $event->html('dur_hour'), $event->html('dur_min')) ?> +hasFeature('dom')): ?> + +   + + + diff --git a/kronolith/templates/edit/javascript.inc b/kronolith/templates/edit/javascript.inc new file mode 100644 index 000000000..010c23247 --- /dev/null +++ b/kronolith/templates/edit/javascript.inc @@ -0,0 +1,276 @@ +getJavaScript('eventform', 'category') ?> + + diff --git a/kronolith/templates/fbview/busyblock.html b/kronolith/templates/fbview/busyblock.html new file mode 100644 index 000000000..223ee217b --- /dev/null +++ b/kronolith/templates/fbview/busyblock.html @@ -0,0 +1 @@ +
       
      diff --git a/kronolith/templates/fbview/emptyblock.html b/kronolith/templates/fbview/emptyblock.html new file mode 100644 index 000000000..9d58dda61 --- /dev/null +++ b/kronolith/templates/fbview/emptyblock.html @@ -0,0 +1 @@ +  diff --git a/kronolith/templates/fbview/header.html b/kronolith/templates/fbview/header.html new file mode 100644 index 000000000..a0fccfdaa --- /dev/null +++ b/kronolith/templates/fbview/header.html @@ -0,0 +1,3 @@ +
      + +
      diff --git a/kronolith/templates/fbview/legend.html b/kronolith/templates/fbview/legend.html new file mode 100644 index 000000000..7508fce71 --- /dev/null +++ b/kronolith/templates/fbview/legend.html @@ -0,0 +1,15 @@ + +   +   + + +   + +   + Busy +   + Possible Meeting Time +   + No Information + + diff --git a/kronolith/templates/fbview/meetingblock.html b/kronolith/templates/fbview/meetingblock.html new file mode 100644 index 000000000..28a3deb4b --- /dev/null +++ b/kronolith/templates/fbview/meetingblock.html @@ -0,0 +1 @@ +
       
      diff --git a/kronolith/templates/fbview/row.html b/kronolith/templates/fbview/row.html new file mode 100644 index 000000000..536d986fb --- /dev/null +++ b/kronolith/templates/fbview/row.html @@ -0,0 +1,4 @@ + + + + diff --git a/kronolith/templates/fbview/section.html b/kronolith/templates/fbview/section.html new file mode 100644 index 000000000..eedf3ebb1 --- /dev/null +++ b/kronolith/templates/fbview/section.html @@ -0,0 +1,13 @@ +
      + + + + + + + + + + + +
       
       
      diff --git a/kronolith/templates/fbview/unknownblock.html b/kronolith/templates/fbview/unknownblock.html new file mode 100644 index 000000000..4545f7ce6 --- /dev/null +++ b/kronolith/templates/fbview/unknownblock.html @@ -0,0 +1 @@ +  diff --git a/kronolith/templates/feeds/atom.xml b/kronolith/templates/feeds/atom.xml new file mode 100644 index 000000000..7a19bbea2 --- /dev/null +++ b/kronolith/templates/feeds/atom.xml @@ -0,0 +1,34 @@ +"?> +" type="text/xsl"?> + + + <tag:calendar_name /> + + + + + + + + + + + + + + + + + + <tag:entries.title /> + + + + + + + + + + + diff --git a/kronolith/templates/javascript/goto.js b/kronolith/templates/javascript/goto.js new file mode 100644 index 000000000..1229bb171 --- /dev/null +++ b/kronolith/templates/javascript/goto.js @@ -0,0 +1,318 @@ +var currentDate, currentYear; + +function weekOfYear(d) +{ + // Adapted from http://www.merlyn.demon.co.uk/js-date7.htm#WkConv. + var ms1d = 86400000, ms3d = 3 * ms1d, ms7d = 7 * ms1d; + + var year = d.getYear(); + if (year < 1900) { + year += 1900; + } + var D3 = Date.UTC(year, d.getMonth(), d.getDate()) + ms3d; + var wk = Math.floor(D3 / ms7d); + with (new Date(wk * ms7d)) { + var yy = getUTCFullYear(); + } + return 1 + wk - Math.floor((Date.UTC(yy, 0, 4) + ms3d) / ms7d) +} + +function formatDate(year, month, day) +{ + return year.toPaddedString(4) + (month + 1).toPaddedString(2) + day.toPaddedString(2); +} + +function openKGoto(d, event) +{ + var row, cell, img, link, days; + + currentDate = d; + var month = d.getMonth(); + var year = d.getYear(); + if (year < 1900) { + year += 1900; + } + currentYear = year; + var firstOfMonth = new Date(year, month, 1); + var diff = firstOfMonth.getDay() - 1; + if (diff == -1) { + diff = 6; + } + switch (month) { + case 3: + case 5: + case 8: + case 10: + days = 30; + break; + + case 1: + if (year % 4 == 0 && (year % 100 != 0 || year % 400 == 0)) { + days = 29; + } else { + days = 28; + } + break; + + default: + days = 31; + break; + } + + var wdays = [ + '', + '', + '', + '', + '', + '', + '' + ]; + var months = [ + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '', + '' + ]; + + var table = document.createElement('TABLE'); + var thead = document.createElement('THEAD'); + var tbody = document.createElement('TBODY'); + table.appendChild(thead); + table.appendChild(tbody); + table.className = 'calendarPopup'; + table.cellSpacing = 0; + + // Title. + row = document.createElement('TR'); + cell = document.createElement('TD'); + cell.colSpan = 8; + cell.className = 'rightAlign'; + link = document.createElement('A'); + link.href = '#'; + link.onclick = function() { + Element.hide('kgoto'); + if ($('kgoto_iefix')) { + Element.hide('kgoto_iefix'); + } + return false; + } + link.appendChild(document.createTextNode('x')); + cell.appendChild(link); + row.appendChild(cell); + thead.appendChild(row); + + // Year. + row = document.createElement('TR'); + cell = document.createElement('TD'); + link = document.createElement('A'); + link.href = '#'; + link.innerHTML = '«'; + link.onclick = function() { + newDate = new Date(currentYear - 1, currentDate.getMonth(), 1); + openKGoto(newDate); + return false; + } + cell.appendChild(link); + row.appendChild(cell); + + cell = document.createElement('TD'); + cell.colSpan = 6; + cell.align = 'center'; + link = document.createElement('A'); + link.href = ''; + if (link.href.indexOf('?') != -1) { + link.href += '&'; + } else { + link.href += '?'; + } + link.href += 'date=' + formatDate(year, 1, 1); + cell.appendChild(link); + var m = document.createTextNode(year); + link.appendChild(m); + row.appendChild(cell); + + cell = document.createElement('TD'); + cell.className = 'rightAlign'; + link = document.createElement('A'); + link.href = '#'; + link.innerHTML = '»'; + link.onclick = function() { + newDate = new Date(currentYear + 1, currentDate.getMonth(), 1); + openKGoto(newDate); + return false; + } + cell.appendChild(link); + row.appendChild(cell); + thead.appendChild(row); + + // Month name. + row = document.createElement('TR'); + cell = document.createElement('TD'); + link = document.createElement('A'); + link.href = '#'; + link.innerHTML = '«'; + link.onclick = function() { + var newMonth = currentDate.getMonth() - 1; + var newYear = currentYear; + if (newMonth == -1) { + newMonth = 11; + newYear -= 1; + } + newDate = new Date(newYear, newMonth, currentDate.getDate()); + openKGoto(newDate); + return false; + } + cell.appendChild(link); + row.appendChild(cell); + + cell = document.createElement('TD'); + cell.colSpan = 6; + cell.align = 'center'; + link = document.createElement('A'); + link.href = ''; + if (link.href.indexOf('?') != -1) { + link.href += '&'; + } else { + link.href += '?'; + } + link.href += 'date=' + formatDate(year, month, 1); + cell.appendChild(link); + var m = document.createTextNode(months[month]); + link.appendChild(m); + row.appendChild(cell); + + cell = document.createElement('TD'); + cell.className = 'rightAlign'; + link = document.createElement('A'); + link.href = '#'; + link.innerHTML = '»'; + link.onclick = function() { + newDate = new Date(currentYear, currentDate.getMonth() + 1, 1); + openKGoto(newDate); + return false; + } + cell.appendChild(link); + row.appendChild(cell); + thead.appendChild(row); + + // Weekdays. + row = document.createElement('TR'); + cell = document.createElement('TH'); + cell.innerHTML = ' '; + row.appendChild(cell); + for (var i = 0; i < 7; i++) { + cell = document.createElement('TH'); + weekday = document.createTextNode(wdays[i]); + cell.appendChild(weekday); + row.appendChild(cell); + } + tbody.appendChild(row); + + // Rows. + var weekInfo, dateUrl; + var count = 1; + var today = new Date(); + var thisYear = today.getYear(); + if (thisYear < 1900) { + thisYear += 1900; + } + for (var i = 1; i <= days; i++) { + dateUrl = formatDate(year, month, i); + if (count == 1) { + row = document.createElement('TR'); + cell = document.createElement('TD'); + cell.className = 'week'; + link = document.createElement('A'); + link.href = ''; + if (link.href.indexOf('?') != -1) { + link.href += '&'; + } else { + link.href += '?'; + } + link.href += 'date=' + dateUrl; + cell.appendChild(link); + link.appendChild(document.createTextNode(weekOfYear(new Date(year, month, i)))); + row.appendChild(cell); + } + if (i == 1) { + for (var j = 0; j < diff; j++) { + cell = document.createElement('TD'); + row.appendChild(cell); + count++; + } + } + cell = document.createElement('TD'); + if (thisYear == year && + today.getMonth() == month && + today.getDate() == i) { + cell.className = 'today'; + } + link = document.createElement('A'); + link.href = ''; + if (link.href.indexOf('?') != -1) { + link.href += '&'; + } else { + link.href += '?'; + } + link.href += 'date=' + dateUrl; + cell.appendChild(link); + day = document.createTextNode(i); + link.appendChild(day); + row.appendChild(cell); + if (count == 7) { + tbody.appendChild(row); + count = 0; + } + count++; + } + if (count > 1) { + for (i = count; i <= 7; i++) { + cell = document.createElement('TD'); + row.appendChild(cell); + } + tbody.appendChild(row); + } + + // Show popup div. + var div = $('kgoto'); + if (!div) { + div = document.createElement('DIV'); + div.id = 'kgoto'; + div.style.position = 'absolute'; + document.body.appendChild(div); + } else if (div.firstChild) { + div.removeChild(div.firstChild); + } + Element.show(div); + div.appendChild(table); + + // Position the div if this is the initial click. + if (event) { + Position.clone(Event.element(event), div, { setWidth: false, setHeight: false, offsetLeft: 10, offsetTop: 10 }); + } + +isBrowser('msie') && version_compare($GLOBALS['browser']->getVersion(), '5.5', 'ge')): ?> + var iefix = $('kgoto_iefix'); + if (!iefix) { + new Insertion.After(div, + ''); + iefix = $('kgoto_iefix'); + } + + Position.clone(div, iefix); + iefix.style.zIndex = 1; + div.style.zIndex = 2; + Element.show(iefix); + +} diff --git a/kronolith/templates/javascript_defs.php b/kronolith/templates/javascript_defs.php new file mode 100644 index 000000000..075b7e982 --- /dev/null +++ b/kronolith/templates/javascript_defs.php @@ -0,0 +1,24 @@ + Horde::applicationUrl('view.php'), + 'pref_api_url' => Horde::applicationUrl('pref_api.php', true), + 'calendar_info_url' => Horde::applicationUrl('calendars/info.php', true), + 'page_title' => $GLOBALS['registry']->get('name') . ' :: ', +); + +/* Gettext strings used in core javascript files. */ +$gettext = array_map('addslashes', array( + 'loading' => _("Loading ..."), + 'close' => _("Close"), +)); + +?> + diff --git a/kronolith/templates/menu.inc b/kronolith/templates/menu.inc new file mode 100644 index 000000000..522c7189d --- /dev/null +++ b/kronolith/templates/menu.inc @@ -0,0 +1,4 @@ + +notify(array('listeners' => 'status')) ?> diff --git a/kronolith/templates/month/head.inc b/kronolith/templates/month/head.inc new file mode 100644 index 000000000..45faabb4c --- /dev/null +++ b/kronolith/templates/month/head.inc @@ -0,0 +1,28 @@ +

      +getMonth(-1); +$next = $this->getMonth(1); +echo Horde::link($this->link(-1), _("Last Month"), 'iconNav', '', 'return ShowView(\'Month\', \'' . $prev->dateString() . '\');') . Horde::img('nav/left.png', '<', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +echo '' . htmlspecialchars($this->date->strftime('%B %Y')) . ''; +echo Horde::link($this->link(1), _("Next Month"), 'iconNav', '', 'return ShowView(\'Month\', \'' . $next->dateString() . '\');') . Horde::img('nav/right.png', '>', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +?> +

      + + + + +getValue('week_start_monday')): ?> + + + + + + + + +getValue('week_start_monday')): ?> + + + + + diff --git a/kronolith/templates/month/head_side_by_side.inc b/kronolith/templates/month/head_side_by_side.inc new file mode 100644 index 000000000..21c0bf463 --- /dev/null +++ b/kronolith/templates/month/head_side_by_side.inc @@ -0,0 +1,25 @@ +

      +getMonth(-1); +$next = $this->getMonth(1); +echo Horde::link($this->link(-1), _("Last Month"), 'iconNav', '', 'return ShowView(\'Month\', \'' . $prev->dateString() . '\');') . Horde::img('nav/left.png', '<', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +echo htmlspecialchars($this->date->strftime('%B %Y')); +echo Horde::link($this->link(1), _("Next Month"), 'iconNav', '', 'return ShowView(\'Month\', \'' . $next->dateString() . '\');') . Horde::img('nav/right.png', '>', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +?> +

      + +
      + + +getValue('week_start_monday') ? 1 : 0; +for ($day = (1 - $this->_startday); $day < (1 - $this->_startday) + $this->_daysInView; $day++): +?> + + + + + + + diff --git a/kronolith/templates/panel.inc b/kronolith/templates/panel.inc new file mode 100644 index 000000000..a9d353da4 --- /dev/null +++ b/kronolith/templates/panel.inc @@ -0,0 +1,89 @@ + 'calendar-info'), $registry->getImageDir('horde')); + +$remote_calendars = @unserialize($prefs->getValue('remote_cals')); +$current_user = Auth::getAuth(); +$my_calendars = array(); +$shared_calendars = array(); +foreach (Kronolith::listCalendars() as $id => $cal) { + if ($cal->get('owner') == $current_user) { + $my_calendars[$id] = $cal; + } else { + $shared_calendars[$id] = $cal; + } +} +?> + +
      + + + + +
      +
      + +

      +

      + +

      + + +

      + +

      + + + +

      +
        + $cal): ?> +
      • + +
      + + + +

      +
        + $cal): ?> +
      • + +
      + + + +

      +
        + $categories): ?> + +
      • get('name', $GLOBALS['registry']->hasInterface($api))) ?>
      • + $name): ?> +
      • + + + +
      + + + +

      +
        + $cal): ?> +
      • + +
      + + + + + +
      +
      diff --git a/kronolith/templates/perms/perms.inc b/kronolith/templates/perms/perms.inc new file mode 100644 index 000000000..4ca65a623 --- /dev/null +++ b/kronolith/templates/perms/perms.inc @@ -0,0 +1,346 @@ + + + + +
      $this->month, 'mday' => $day + $offset, 'year' => $this->year)); echo $date_ob->strftime('%A') ?> 
      + + + + + +get('owner'); ?> +getUserPermissions(); ?> + + + + + + +hasCapability('list')): ?> + + + + + + + + + + + + + + + + + + + +getDefaultPermissions(); ?> + + + + + + + + + + + + + + + + + + + + + + + +getGuestPermissions(); ?> + + + + + + + + + + + + + + + + + + + + + + + +getCreatorPermissions(); ?> + + + + + + + + + + + + + + + + + + + + + + + + $uperm) { + if ($user != $owner) { + $user = Auth::removeHook($user); +?> + + + + + + + + + + + + +hasCapability('list')): ?> + + + + + + + + + + + + + + + + + + + + + + + + + +getGroupPermissions(); foreach ($groupperms as $group => $gperm): if (!$groups->exists($groups->getGroupName($group))) continue; ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + getImageDir('horde')) ?> + + getImageDir('horde')) . ' ' . sprintf(_("Edit permissions for %s"), htmlspecialchars($share->get('name'))) . ' ' . Help::link('kronolith', 'shares') ?> +
       
      + getImageDir('horde')) . ' ' . _("Owner") ?> +
      + + + + + +
       
      + getImageDir('horde')) . ' ' . _("All Authenticated Users") ?> +  
        + /> + + + /> + + + /> + + + /> + + + /> + +  
       
      + +  
        + /> + + + /> + + + /> + + + /> + + + /> + +  
       
      + getImageDir('horde')) . ' ' . _("Object Creator") ?> +
        + /> + + + /> + + + /> + + + /> + + + /> + +  
       
      + getImageDir('horde')) . ' ' . _("Individual Users") ?> +
      + /> + + + /> + + + /> + + + /> + + + /> + +  
      + + + + + + + + + + + + + + + + + + + + +  
       
      + getImageDir('horde')) . ' ' . _("Groups") ?> +  
      getGroupName($group)) ?> + /> + + + /> + + + /> + + + /> + + + /> + +  
      + + + + + + + + + + + + + + + + + +  
       
      + get('name'))) ?>" /> + " /> +
      + +
      diff --git a/kronolith/templates/prefs/default_alarm_management.inc b/kronolith/templates/prefs/default_alarm_management.inc new file mode 100644 index 000000000..c52798fbd --- /dev/null +++ b/kronolith/templates/prefs/default_alarm_management.inc @@ -0,0 +1,32 @@ +isLocked('default_alarm')): + +$alarm_value = $prefs->getValue('default_alarm'); +if (!$alarm_value) { + $alarm_unit = 'min'; +} else { + if ($alarm_value % 10080 == 0) { + $alarm_value /= 10080; + $alarm_unit = 'week'; + } elseif ($alarm_value % 1440 == 0) { + $alarm_value /= 1440; + $alarm_unit = 'day'; + } elseif ($alarm_value % 60 == 0) { + $alarm_value /= 60; + $alarm_unit = 'hour'; + } else { + $alarm_unit = 'min'; + } +} +?> +  + +  + + + + diff --git a/kronolith/templates/prefs/fb_cals_select.inc b/kronolith/templates/prefs/fb_cals_select.inc new file mode 100644 index 000000000..f0a913044 --- /dev/null +++ b/kronolith/templates/prefs/fb_cals_select.inc @@ -0,0 +1,31 @@ +

      + +

      +
      +
      + +
      +

      + +

      +
      + +
      +isLocked('fb_cals')) { + $fb_cals = Kronolith::ListCalendars(); + $fb_calsSaved = unserialize($prefs->getValue('fb_cals')); + $fb_calSelect = ''; + foreach ($fb_cals as $fb_cal => $cal) { + if (!is_bool(array_search($fb_cal, $fb_calsSaved))) { + $fb_calSelect .= ''; + } else { + $fb_calSelect .= ''; + } + } + + if ($fb_calSelect) { + echo Horde::label('fb_cals', _("Choose the calendars to include in the above Free/Busy URL:")) . '
      ' . + '

      '; + } +} diff --git a/kronolith/templates/prefs/shareselect.inc b/kronolith/templates/prefs/shareselect.inc new file mode 100644 index 000000000..dd9c1f974 --- /dev/null +++ b/kronolith/templates/prefs/shareselect.inc @@ -0,0 +1,16 @@ +isLocked('default_share')): + $sharelist = Kronolith::listCalendars(); + if (($default_share = $prefs->getValue('default_share')) == null || + !isset($sharelist[$default_share])) { + $default_share = Auth::getAuth(); + } +?> + +   + + diff --git a/kronolith/templates/prefs/sourceselect.inc b/kronolith/templates/prefs/sourceselect.inc new file mode 100644 index 000000000..5e661f3cf --- /dev/null +++ b/kronolith/templates/prefs/sourceselect.inc @@ -0,0 +1,338 @@ +hasMethod('contacts/sources')) { + $selected = explode("\t", $prefs->getValue('search_sources')); + $readable = $registry->call('contacts/sources'); + $writeable = $registry->call('contacts/sources', true); + + $nbReadSources = count(array_keys($readable)); + $nbWriteSources = count(array_keys($writeable)); + + if (count($selected) == 1 && empty($selected[0])) { + $selected = array(); + } + + if ($nbReadSources == 1) { + // Only one source, no need to display the selection widget + $selected = array_keys($readable); + $readSelect = ''; + } + + $prefSelect = ''; + foreach ($selected as $source) { + if (!empty($readable[$source])) { + $prefSelect .= '\n"; + } + } + + $readSelect = ''; + if (!is_a($readable, 'PEAR_Error') && is_array($readable)) { + foreach (array_diff(array_keys($readable), $selected) as $source) { + $readSelect .= '\n"; + } + } + + if (!is_a($writeable, 'PEAR_Error') && is_array($writeable)) { + $writeSelect = '' . "\n"; + $writeSource = ''; + foreach ($writeable as $source => $name) { + $sel = $prefs->getValue('add_source') == $source ? ' selected="selected"' : ''; + $writeSelect .= '\n"; + $writeSource = $source; + } + } + + $selected_fields = array(); + $search_field_pref = $prefs->getValue('search_fields'); + if (!empty($search_field_pref)) { + $selected_fields = explode("\n", $prefs->getValue('search_fields')); + foreach ($selected_fields as $field) { + $field = trim($field); + if (!empty($field)) { + $tmp = explode("\t", $field); + if (count($tmp) > 1) { + $source = array_splice($tmp, 0, 1); + $selected_fields[$source[0]] = $tmp; + } + } + } + } + + $search_fields = array(); + if (!is_a($readable, 'PEAR_Error') && is_array($readable)) { + foreach (array_keys($readable) as $source) { + $search_fields[$source] = $registry->call('contacts/fields', $source); + } + } + + $js = "var searchFields = [];\n"; + $source_count = 0; + foreach ($search_fields as $source => $fields) { + $js .= "searchFields[$source_count] = [];\n"; + $js .= "searchFields[$source_count][0] = '$source';\n"; + + $field_count = 1; + foreach ($fields as $field) { + if ($field['search']) { + $marked = isset($selected_fields[$source]) && in_array($field['name'], $selected_fields[$source]) ? 'true' : 'false'; + $js .= "searchFields[$source_count][$field_count] = ['" . $field['name'] . "', '" . $field['label'] . "', $marked];\n"; + $field_count++; + } + } + + $source_count++; + } +} +?> + +isLocked('search_sources') && (!empty($readSelect) || !empty($prefSelect))): ?> + + +
      +" /> + 1): ?> +
      + + + + + + + +
      + + + + getImageDir('horde')) ?> +
      + getImageDir('horde')) ?> +
      + + + + getImageDir('horde')) ?> +
      + getImageDir('horde')) ?> +
      + +
      + +
      + + +
      + + + + + +
      + + +
      + + + diff --git a/kronolith/templates/search/empty.inc b/kronolith/templates/search/empty.inc new file mode 100644 index 000000000..688de0d4a --- /dev/null +++ b/kronolith/templates/search/empty.inc @@ -0,0 +1,4 @@ +
      +
      + +
      diff --git a/kronolith/templates/search/event_footers.inc b/kronolith/templates/search/event_footers.inc new file mode 100644 index 000000000..000ca4b01 --- /dev/null +++ b/kronolith/templates/search/event_footers.inc @@ -0,0 +1 @@ + diff --git a/kronolith/templates/search/event_headers.inc b/kronolith/templates/search/event_headers.inc new file mode 100644 index 000000000..2d67c4d2a --- /dev/null +++ b/kronolith/templates/search/event_headers.inc @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/kronolith/templates/search/event_summaries.inc b/kronolith/templates/search/event_summaries.inc new file mode 100644 index 000000000..bd7df64c1 --- /dev/null +++ b/kronolith/templates/search/event_summaries.inc @@ -0,0 +1,10 @@ + + + + + + + + diff --git a/kronolith/templates/search/header.inc b/kronolith/templates/search/header.inc new file mode 100644 index 000000000..f945699ca --- /dev/null +++ b/kronolith/templates/search/header.inc @@ -0,0 +1,7 @@ +
      +
      + + + + +
      diff --git a/kronolith/templates/search/search.inc b/kronolith/templates/search/search.inc new file mode 100644 index 000000000..ba63b289b --- /dev/null +++ b/kronolith/templates/search/search.inc @@ -0,0 +1,67 @@ + + + + +
      + getLink() ?> + getCategory()) ?>getLocation()) ?>getStatus()) ?>strftime($prefs->getValue('date_format')) . $start->strftime($prefs->getValue('twentyFour') ? ' %H:%M' : ' %I:%M %p') ?>strftime($prefs->getValue('date_format')) . $end->strftime($prefs->getValue('twentyFour') ? ' %H:%M' : ' %I:%M %p') ?>
      + +

      +

      + + + + +

      + +
      + + + + + + + + + + + + + + +
      + + + +
      + + + +
      + + + +
      + +
      +" /> + diff --git a/kronolith/templates/search/search_advanced.inc b/kronolith/templates/search/search_advanced.inc new file mode 100644 index 000000000..b77ee4677 --- /dev/null +++ b/kronolith/templates/search/search_advanced.inc @@ -0,0 +1,114 @@ +
      + + + + +

      +

      + + + + +

      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + +
      + + + +
      + + + +
      + + + +
      + + + status, true) ?> +
      + + + +
      + +
      +" /> +
      diff --git a/kronolith/templates/view/view.inc b/kronolith/templates/view/view.inc new file mode 100644 index 000000000..f1508f1b5 --- /dev/null +++ b/kronolith/templates/view/view.inc @@ -0,0 +1,185 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +event->isAllDay()): ?> + + + + + + + + + + + + + + + + + + + + + + + + + + + + +event->recurs()): ?> + + + + + + + + + + + + + + + +event->recurrence->getExceptions()): ?> + + + + + + + + + + + + + $list): ?> + + + + + + + + + + + + + + + + + +
         + +
         TEXT_HTML_MICRO, 'class' => 'text')) ?>
        
        
        event->start->strftime($dateFormat) . ' '; echo $this->event->isAllDay() ? _("All day event") : $this->event->start->format($timeFormat) ?>
        event->end->strftime($dateFormat) . ' ' . $this->event->end->format($timeFormat) ?>
         +event->isInitialized() && $this->event->alarm > 0): + if ($this->event->alarm % 10080 == 0) { + $alarm_value = $this->event->alarm / 10080; + $alarm_unit = _("Week(s)"); + } elseif ($this->event->alarm % 1440 == 0) { + $alarm_value = $this->event->alarm / 1440; + $alarm_unit = _("Day(s)"); + } elseif ($this->event->alarm % 60 == 0) { + $alarm_value = $this->event->alarm / 60; + $alarm_unit = _("Hour(s)"); + } else { + $alarm_value = $this->event->alarm; + $alarm_unit = _("Minute(s)"); + } +?> + + + + +
        strftime($dateFormat) . ' ' . $created->format($timeFormat) . ' ' . @htmlspecialchars($createdby, ENT_COMPAT, NLS::getCharset()) ?>
        strftime($dateFormat) . ' ' . $modified->format($timeFormat) . ' ' . @htmlspecialchars($modifiedby, ENT_COMPAT, NLS::getCharset()) ?>
         +event->recurrence->hasRecurType(HORDE_DATE_RECUR_DAILY)): ?> + event->recurrence->getRecurInterval() . ' ' . _("day(s)") ?> +event->recurrence->hasRecurType(HORDE_DATE_RECUR_WEEKLY)): + $weekdays = array(); + if ($this->event->recurrence->recurOnDay(HORDE_DATE_MASK_MONDAY)) $weekdays[] = _("Monday"); + if ($this->event->recurrence->recurOnDay(HORDE_DATE_MASK_TUESDAY)) $weekdays[] = _("Tuesday"); + if ($this->event->recurrence->recurOnDay(HORDE_DATE_MASK_WEDNESDAY)) $weekdays[] = _("Wednesday"); + if ($this->event->recurrence->recurOnDay(HORDE_DATE_MASK_THURSDAY)) $weekdays[] = _("Thursday"); + if ($this->event->recurrence->recurOnDay(HORDE_DATE_MASK_FRIDAY)) $weekdays[] = _("Friday"); + if ($this->event->recurrence->recurOnDay(HORDE_DATE_MASK_SATURDAY)) $weekdays[] = _("Saturday"); + if ($this->event->recurrence->recurOnDay(HORDE_DATE_MASK_SUNDAY)) $weekdays[] = _("Sunday"); + echo _("Weekly: Recurs every") . ' ' . $this->event->recurrence->getRecurInterval() . ' ' . _("week(s) on:") . ' ' . implode(', ', $weekdays) ?> +event->recurrence->hasRecurType(HORDE_DATE_RECUR_MONTHLY_DATE)): ?> + event->recurrence->getRecurInterval() . ' ' . _("month(s)") . ' ' . _("on the same date") ?> +event->recurrence->hasRecurType(HORDE_DATE_RECUR_MONTHLY_WEEKDAY)): ?> + event->recurrence->getRecurInterval() . ' ' . _("month(s)") . ' ' . _("on the same weekday") ?> +event->recurrence->hasRecurType(HORDE_DATE_RECUR_YEARLY_DATE)): ?> + event->recurrence->getRecurInterval() . ' ' . _("year(s) on the same date") ?> +event->recurrence->hasRecurType(HORDE_DATE_RECUR_YEARLY_DAY)): ?> + event->recurrence->getRecurInterval() . ' ' . _("year(s) on the same day of the year") ?> +event->recurrence->hasRecurType(HORDE_DATE_RECUR_YEARLY_WEEKDAY)): ?> + event->recurrence->getRecurInterval() . ' ' . _("year(s) on the same weekday and month of the year") ?> + +
        event->recurrence->hasRecurEnd() ? $this->event->recurrence->recurEnd->strftime($dateFormat) . ($this->event->recurrence->recurEnd->hour == 23 && $this->event->recurrence->recurEnd->min == 59 ? '' : ' ' . $this->event->recurrence->recurEnd->format($timeFormat)) : ($this->event->recurrence->getRecurCount() ? sprintf(_("%d times"), $this->event->recurrence->getRecurCount()) : _("No end date")) ?>
        event->exceptionsList(); ?>
      + +
      + +
      TEXT_HTML_MICRO, 'class' => 'text')) ?>
      + + + + + + + + + + + + + hasMethod('mail/compose'); foreach ($attendees as $email => $status): $full = empty($status['name']) ? $email : MIME::trimEmailAddress($status['name'] . (strpos($email, '@') === false ? '' : ' <' . $email . '>')) ?> + + + + + + +
      call('mail/compose', array(array('to' => $full))), sprintf(_("Send an email to %s"), empty($status['name']) ? $email : $status['name'])) . htmlspecialchars($full) . '') : htmlspecialchars($full) ?>
      + diff --git a/kronolith/templates/week/head.inc b/kronolith/templates/week/head.inc new file mode 100644 index 000000000..e49b048af --- /dev/null +++ b/kronolith/templates/week/head.inc @@ -0,0 +1,36 @@ +

      +getWeek(-1); +$next = $this->getWeek(1); +echo Horde::link($this->link(-1), _("Last week"), 'iconNav', '', 'return ShowView(\'' . $currentView . '\', \'' . $prev->dateString() . '\');') . Horde::img('nav/left.png', '<', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +echo '' . htmlspecialchars($this->days[$this->startDay]->getTime($prefs->getValue('date_format')) . ' - ' . $this->days[$this->endDay]->getTime($prefs->getValue('date_format'))) . ''; +echo Horde::link($this->link(1), _("Next week"), 'iconNav', '', 'return ShowView(\'' . $currentView . '\', \'' . $next->dateString() . '\');') . Horde::img('nav/right.png', '>', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +?> +

      + + + + + + +days) - 1) / count($this->days)); foreach ($this->days as $day): ?> + + + + diff --git a/kronolith/templates/week/head_side_by_side.inc b/kronolith/templates/week/head_side_by_side.inc new file mode 100644 index 000000000..2edc6d1dd --- /dev/null +++ b/kronolith/templates/week/head_side_by_side.inc @@ -0,0 +1,13 @@ + + +days) * 2) - 1) / count($this->days)); foreach ($this->days as $day): ?> + +_currentCalendars)): ?> + + +_currentCalendars as $cid => $cal): ?> + + + diff --git a/kronolith/templates/year/head.inc b/kronolith/templates/year/head.inc new file mode 100644 index 000000000..5ce84533e --- /dev/null +++ b/kronolith/templates/year/head.inc @@ -0,0 +1,7 @@ +

      +link(-1), _("Last Year"), 'iconNav', '', 'return ShowView(\'Year\', \'' . sprintf('%04d', $this->year - 1) . '0101\');') . Horde::img('nav/left.png', '<', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +echo '' . htmlspecialchars($this->year) . ''; +echo Horde::link($this->link(1), _("Next Year"), 'iconNav', '', 'return ShowView(\'Year\', \'' . sprintf('%04d', $this->year + 1) . '0101\');') . Horde::img('nav/right.png', '>', '', $GLOBALS['registry']->getImageDir('horde')) . ''; +?> +

      diff --git a/kronolith/test.php b/kronolith/test.php new file mode 100644 index 000000000..91eabda3e --- /dev/null +++ b/kronolith/test.php @@ -0,0 +1,59 @@ +

      The Horde_Util package was not found. If PHP\'s error_reporting setting is high enough and display_errors is on, there should be error messages printed above that may help you in debugging the problem. If you are simply missing these files, then you need to get the framework module from Horde CVS, and install the packages in it with the install-packages.php script.

      '; + exit; +} + +/* Initialize the Horde_Test:: class. */ +if (!is_readable('../lib/Test.php')) { + echo 'ERROR: You must install Horde before running this script.'; + exit; +} +require_once '../lib/Test.php'; +$horde_test = new Horde_Test; + + +$module = 'Kronolith'; +require_once './lib/version.php'; +$module_version = KRONOLITH_VERSION; + +require TEST_TEMPLATES . 'header.inc'; +require TEST_TEMPLATES . 'version.inc'; + +/* Display PHP Version information. */ +$php_info = $horde_test->getPhpVersionInformation(); +require TEST_TEMPLATES . 'php_version.inc'; + +/* PEAR */ +$pear_list = array( + 'Date' => array( + 'path' => 'Date/Calc.php', + 'error' => 'Kronolith requires the Date_Calc class to calculate dates.', + 'required' => true, + ), + 'Date_Holidays' => array( + 'path' => 'Date/Holidays.php', + 'error' => 'Date_Holidays can be used to calculate and display national and/or religious holidays.', + 'required' => false, + ), + 'XML_Serializer' => array( + 'path' => 'XML/Unserializer.php', + 'error' => 'The XML_Serializer might be needed by the Date_Holidays package for the translation of holidays', + 'required' => false, + ), +); + +?> +

      PEAR Modules

      +
        + PEARModuleCheck($pear_list) ?> +
      + + + * Please contact the theme's author for any missing style. + * + * $Horde: kronolith/themes/burntorange/screen.css,v 1.1 2005/04/13 08:17:18 jan Exp $ + */ + +.today { + border-color: #c60; +} diff --git a/kronolith/themes/categoryCSS.php b/kronolith/themes/categoryCSS.php new file mode 100644 index 000000000..a25468edb --- /dev/null +++ b/kronolith/themes/categoryCSS.php @@ -0,0 +1,36 @@ + + */ + +@define('AUTH_HANDLER', true); +@define('KRONOLITH_BASE', dirname(__FILE__) . '/..'); +require_once KRONOLITH_BASE . '/lib/base.php'; +require_once 'Horde/Image.php'; + +header('Content-Type: text/css'); + +$colors = $cManager->colors(); +$fgColors = $cManager->fgColors(); +foreach ($colors as $category => $color) { + if ($category == '_unfiled_') { + continue; + } elseif ($category == '_default_') { + echo '.month-eventBox, .week-eventBox, .day-eventBox, .block-eventBox, .legend-eventBox, ', + '.month-eventBox a, .week-eventBox a, .day-eventBox a, .block-eventBox a, .legend-eventBox a, ', + '.month-eventBox a:hover, .week-eventBox a:hover, .day-eventBox a:hover, .block-eventBox a:hover, .legend-eventBox a:hover { '; + } else { + $class = '.category' . md5($category); + echo "$class, .linedRow td$class, $class a, $class a:hover { "; + } + + echo 'color: ' . (isset($fgColors[$category]) ? $fgColors[$category] : $fgColors['_default_']) . '; ', + 'background: ' . $color . "; }\n"; +} diff --git a/kronolith/themes/embed.css b/kronolith/themes/embed.css new file mode 100644 index 000000000..6ce883594 --- /dev/null +++ b/kronolith/themes/embed.css @@ -0,0 +1,106 @@ +.kronolith_embedded { + margin: 0; + padding: 0; + font-size: 90%; +} + +.kronolith_embedded a { + color: blue; + text-decoration: none; +} +.kronolith_embedded a:hover { + text-decoration: underline; +} + +.kronolith_embedded .title { + font-weight: bold; + font-size: 100%; +} + +.kronolith_embedded .control { + background: #CCCCCC none repeat scroll 0 0; + border-bottom: 1px solid #999999; + color: #000000; + padding: 1px; +} + +.kronolith_embedded .linedRow, .kronolith_embedded tr.linedRow td, +.kronolith_embedded table.linedRow td, .kronolith_embedded ul.linedRow li { + background: #FFFFFF none repeat scroll 0 0; + border-bottom: 1px solid #DDDDDD; + color: #000000; +} + +.kronolith_embedded .nowrap { + white-space: nowrap; +} + +.kronolith_embedded .text { + background: #FFFFFF none repeat scroll 0 0; + color: #000000; +} + +.kronolith_embedded .block-eventbox, +.kronolith_embedded table.nopadding td.block-eventbox { + padding: 0 4px; +} + +.kronolith_embedded .event { +} + +.kronolith_embedded img, .kronolith_embedded .img, +.kronolith_embedded .img:active, .kronolith_embedded .img:hover, +.kronolith_embedded .img:visited, .kronolith_embedded .image { + background: transparent none repeat scroll 0 0; + border: medium none; + vertical-align: middle; +} + +.kronolith_embedded .block-monthgrid { + background: #FFFFFF none repeat scroll 0 0; +} + +.kronolith_embedded .item { + background: #EEEEEE none repeat scroll 0 0; + color: #000000; +} +.kronolith_embedded .othermonth { + background: #E7EEEC none repeat scroll 0 0; +} +.kronolith_embedded .block-monthgrid .today { + border: 1px solid #444466; +} +.kronolith_embedded .weekend { + background: #FFFFCC none repeat scroll 0 0; +} + +.kronolith_embedded .clear { + clear: both; + height: 0; + line-height: 0; +} + +.kronolith_embedded table { + border: medium none; +} + +.kronolith_embedded td, .kronolith_embedded th { + padding: 1px; +} +div.horde_nicetitle { + color: #000; + background: #ffc; + border: 1px solid #000; + padding: 5px; + z-index: 1001; + position: absolute; + overflow: hidden; + opacity: .90; + -moz-border-radius: 3px; + -webkit-border-radius: 3px; +} +div.horde_nicetitle pre { + text-align: left; + font-size: 75%; + font-family: "Lucida Console",Courier,"Courier New"; +} \ No newline at end of file diff --git a/kronolith/themes/fadetogreen/graphics/headerbox.png b/kronolith/themes/fadetogreen/graphics/headerbox.png new file mode 100644 index 0000000000000000000000000000000000000000..158e0aa3874e50d1c1d6e34f1d21f6339a09d3c6 GIT binary patch literal 125 zcmeAS@N?(olHy`uVBq!ia0vp^oIuRQ!3HGLSWET+DHl%{$B>F!XHPkDH7JNUIKHo6 z>7evFeWof$(<1ds-A^2>XRAV1^csuDc-@egSdjSV;EwzkrHM1t{A=E5-l- literal 0 HcmV?d00001 diff --git a/kronolith/themes/fadetogreen/screen.css b/kronolith/themes/fadetogreen/screen.css new file mode 100644 index 000000000..8cb68b853 --- /dev/null +++ b/kronolith/themes/fadetogreen/screen.css @@ -0,0 +1,41 @@ +/** + * $Horde: kronolith/themes/fadetogreen/screen.css,v 1.2 2005/12/05 00:53:02 chuck Exp $ + */ + +/* Alternating styles. item0, item1 are deprecated. */ +.rowEven { + background: #d6e2e3; +} +.rowOdd { + background: #bcc4c2; + background-image: url(graphics/headerbox.png); + background-repeat: repeat-y; + background-position: left; +} + +.today { + border: 2px solid #004149; +} + +.monthgrid .text { + background-color: #bcc4c2; +} + + +/* Block-specific styles. */ +.block-monthgrid { + background: #bcc4c2; +} +.block-monthgrid .today { + border: 1px solid #004149; +} + +.selected-control { + background: #bcc4c2; + border: none; +} +div.fbgrid { + background-color: #d6e2e3; + overflow: auto; +} + diff --git a/kronolith/themes/feed-rss.xsl b/kronolith/themes/feed-rss.xsl new file mode 100644 index 000000000..f625d5cf0 --- /dev/null +++ b/kronolith/themes/feed-rss.xsl @@ -0,0 +1,83 @@ + + + + + + + + + + + <xsl:value-of select="/rss/channel/title"/> + + + + +

      + You're viewing an XML content feed which is + intended to be viewed within a feed aggregator. +

      + + +

      Subscribe to

      + +
      +

      + Subscribe now in your favorite RSS aggregator: +

      + + + + + +

      +

      Preview

      +

      + + + + + +
      + + + +

      + + + +
      + +

      +
      + +
      diff --git a/kronolith/themes/graphics/addressbook_browse.png b/kronolith/themes/graphics/addressbook_browse.png new file mode 100644 index 0000000000000000000000000000000000000000..f52d05a9b8c1b65a6b7ebaa4d9f5cbd8f7cd45d8 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}NPtg>E07iy7B)0AoS`G^1q9yS zE%D)*Sy}g;+0(I`}^n3o40o9vbAg1u3NWm|Ni}#FJFH8^y%~G&tJTF@$%)% zH*em2{rdIWw{Jgw{P_R>KhVInd&K2|6k|z{UoeBivm0qZPNJuaV@SoV-1FW-O%6P+ z7sDJJ9Ckf@{QO=0{3(@tW~NVzKB@3hUf_I9T;kD(dt25tJatXCNm01G?N1n+xRiYC zQzx#kn_Fgjrv5qQBj4y-ytDaG+>*B0U6v}Vg4^dCvu1Tqo~EDkJqz~IEm$@7)pAt;B3!8e#yN>l0HWS|xX MPgg&ebxsLQ0Qmzc%>V!Z literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/alarm-fff.png b/kronolith/themes/graphics/alarm-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..864d5088e708607ca803d4dd94f1c23a57df491b GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T!Hle|NocXoPQU{Vk`;r z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p<)L71^VC4M4MkiEpy*OmP`D<`*!;e=&T z4}n7Jo-U3d9M_W*fFL>HL3+Z3oCJZ41Otl$3mz~yadPr}<#!0m;bHI%W|h)Zx;Gi9 Og~8L+&t;ucLK6TWn=YgP literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/alarm.png b/kronolith/themes/graphics/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1e1d2c66f6f0fe768c7cb78ea23ce8d8cea64 GIT binary patch literal 422 zcmV;X0a^ZuP);g9;~eEsWs`st1L=BE4Woc8Lp|L=_c z@0b7ZlKSwh{qd;$@v{8!wEXhE`trp8^sfK(v;XzB`t#5K^}GM|y#M&j{`k}X`r7{b z=l}oz0001s^X+5+0004WQchCgVg2sLbmZtku|66|mVA~r6r&K62MFePmAmX7wers}*bPz8Jjc1~s{`f6hA z5G711I_7#>8j7-l9AE(tQE52^8A$7Zel~ z7Z4U56&4s478ns2AS4zEBNz@F8yqVb1Q{z3A1VzWB`YW=BqJy-B`7LBJT^)}HfcHv zHA+nzP_mT4M9jYM2@jB{{jU3r$eW)q-u9&&kqYe&DQ z0F7Sk(f|Me0d!JMQvg8b*k%9#0Ix|zK~xx(V_<-RswxH)kY8SzhY;cyWhTiI*7EQrQT5y`*GkQ(ZooM|gO6d3kxbxfrkm0JV@OuT^UFFaQ7m M07*qoM6N<$fYMMAH}^vVU9r2dIj{)78&q Iol`;+0JRbu(EtDd literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/calendars.png b/kronolith/themes/graphics/calendars.png new file mode 100644 index 0000000000000000000000000000000000000000..920b579ebf834d9a3c15a1567d954aa6792bf78b GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAc6hothDd}bCps|e@D%?y{FD6S z|9^Xq|LG@^69snsl|PpLL!U83@$_+ykdqv05%ZW>zr-6EH2qLe?ECM)$fm)6B0cR9 z1E;~ch#v=YxfXxi{M)8p@&J=&q;}RnLw~-s#N-4v?il}?nWxVjICkK~5e*hI=cj)* zeJV0jW1IFrM<=22(_{O~mJ!OiWxqB#pP6y;$caz=A2pecxi1(kX!u~?w%?)L=->a} p;%}zw@;mr7FzMy^nLB^AW7xFZy#L-y^?ZGpTm)}Klg z?{K&hTls(LgoDdOg)}90PE?Qlu6{1-oD!Mv9P%@aQ$P9XBP~(4phP5>FVdQ&MBb@06rxo9smFU literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/delete-fff.png b/kronolith/themes/graphics/delete-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..b98133f5a358bea0d2ca177602524e41a03b4a97 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^93afd3?%;@)Hwm9*aCb)T!8}r|NqxiHCq7`VJr#q z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QK$!8;-MT+OLG}_)Usv|)EOKHj^5tpb y89*U1PZ!4!j+w~`2_7j1NfQ{Il-pR?+!(n2F~+kC23!ZKVDNPHb6Mw<&;$TD2qk|2 literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/edit-000.png b/kronolith/themes/graphics/edit-000.png new file mode 100644 index 0000000000000000000000000000000000000000..6e58a41c16022f0a48056acf6b43cfbb2979fbbe GIT binary patch literal 183 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T>t<74`hZOx?BgO7)yfu zf*Bm1-ADs*lDyqr7&=&GJ%Aj}0*}aI1_o|n5N2eUHAey{$X?><>&kweheyzYYgxL7 z4p2zT)5S4_<2vujje-mU0t_1pwC3{md3p^r=85p>QL70(Y)*K0-AbW|YuPgg?9v(ppsofVM zK`*=pBoa5<@X$9`M0JA89DJr4kGV1NQdz5C{a& z>2zSX+o99xkjZ4gX0x%oy9=MshgPcvo6UxklM{G69vmJX!fLf5pU;EO=OdL$!E838 zP$+=M<6(b)AF)^r!{HG1dL2fi5re@1PNx&qY867E5E_jJM@L5}m&?%W^@zvg2nK`b zcDu-Cv+(=qWEK#Mai@1a0<-)#MAI*b zSf6eHOLF<#FRg-nP%c*{`zRJH3j_k1FvZz?B$g6-`}oV470Roh?{12pf4#8IR*m@; zCA?2_ZsGFs8Gm?>6^3~LS|C%Cds?lKU!$2NsKnxDgjF{$y}nK{JgA?p&k~lXXj(y0 z48w556PBn{v_dg%NbdoE&3k8KW8wSa;>DLUGw;Z}SLWwMqSf1LYY)FYnVS0NFZC0g CVy{8~ literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/goto.png b/kronolith/themes/graphics/goto.png new file mode 100644 index 0000000000000000000000000000000000000000..5237dab4f6b3e2996238f500ce59950454fbde26 GIT binary patch literal 430 zcmV;f0a5;mP); z=jZeD^RUmFxYVTa@$s0Ln5oH=;^N};^z@sXo5RDygt4qgolTRmX?;1l9Io_zo@9F$=$nDcRj}3x092T z)6T$!g@xwk=J4?Ff`WqI-`|~`ozmmR?Ck7=gM-b@&B@-oh=_>m>+AOR_LP*A?d|RQ z`udfXm6w;7hK7d1!ovIe`+$IezP`S^yu4t6NREz<`T6s2b!+kolp-)!Rl^W3VR$|aq6op+ z2EldY`>Uy@Jwyc3d}4Ko&3D`nH8Z2dQ!`PWkcHd!Pr|K1ruPnKiyLXiR&uL1gK6aW#CxWJFhT3&Zn39 Y07^tI{L1O>r~m)}07*qoM6N<$f+yzda{vGU literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/kronolith.png b/kronolith/themes/graphics/kronolith.png new file mode 100644 index 0000000000000000000000000000000000000000..920b579ebf834d9a3c15a1567d954aa6792bf78b GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAc6hothDd}bCps|e@D%?y{FD6S z|9^Xq|LG@^69snsl|PpLL!U83@$_+ykdqv05%ZW>zr-6EH2qLe?ECM)$fm)6B0cR9 z1E;~ch#v=YxfXxi{M)8p@&J=&q;}RnLw~-s#N-4v?il}?nWxVjICkK~5e*hI=cj)* zeJV0jW1IFrM<=22(_{O~mJ!OiWxqB#pP6y;$caz=A2pecxi1(kX!u~?w%?)L=->a} p;%}zw@;mr7FzMy^nLB^AW7xFZy#L-y^?ZDG(0N}=r8~gU{i^XCdkH_!#XEK??hY#PmbLYsB zBQ-TOdcEFcGGQ3zcDqxl)R{A9Dk>_n+3b@iPo6$~y0EaYd-v|n&dz8wdiLzuYuB#f zIId7A#>dBxA3q+6M7D3=e*gY`mSv?<>Cn*7!Gi~r$>gb1r$~|%i^V5SoY=pAe_2@> zpU;2v=+TQ8FUH2ka=F~gmoFiN$BrF){rdHrH*e0LKY#i1-Mo2odV2cVvuD?@ zUw`o6!QH!euU@^nxVSh!KY#Duy<4|#J%9fE_U+r-wrx9k^5pF7Y2!hz{_K}ehqtPf73O8@wtkGyFib|)`J9qAU_vSxN)!U+Q3$?~abhem{rh;Yf zPOJW1?#m|PBZ)!HR~tu$H1Sk?EIk|_G;Yi!he6f93Ps{~w+!$1-$w+3U+n~t&M}Ot zdSwI42rFvpj1a?ZjJW9IPwE??&E&#p9=}A*VhFMy6cm+?16Q*P7E0tZ7Ed$$XgM+i z94(M9MQ3b;8w!dQGl;PjLVE4Y?<_P{QXeB^>`CbQFBvD_OT*#R6y9XGLopA~j#=m{7->pd6t>(Yi=3 zP}uo3V`jwsY7W}yU|ZK5z%f|Z?m9z~uy*yuIRu5uFfoVs{~5H(gmaYV0%%rtm$QvL z{~uwK+1e_?@y3>z>U)~d^%(jpL%ul0QBAF>DcN4YPSb$5Y$@O`J^)4H(vAG6fyV-$ zpp9QFT`ozb8GCfYP#22&x;IILw01D;WQQ6$Rd7I-5KT1ikgn+a(|F~;N5`@Dq1(|Cs^MXKy8P08>2 ze(zaIH}OH&tXIpzRp|f=nv{at6&u#2!XbvJ4yIM4%e%g~!%0&*vz<+T(e8jvJ$eoV zB?T~K5as2YK8NWfo<~YPgTv`>IqKsqR5<(dp)cEDK=00n>#89cvunA{%L%$M)}%E- z+Y7LTL0WhsE#TMm`-=Xj>PZ!`)~ z(K&8wwg6)N&3|FkYgh7U3x!zd`r4lqi5ZME;n0{F5#}>?i)rEJH#GeJiA|m+eZ8DO zSU?f>fl#Gzi`dPes#t)+aBX={4?$xdcO&byCid?1(awZqf1}Z}+v{|OO zt|T#wanNsY&NCKu;zG`1RYSh)xbINpDJ|DFE; D?d&fs literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/minus.png b/kronolith/themes/graphics/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..32170460cc24a1a1687786fb1e135b84ed80bd21 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJt4ZpT+GW?9SKZil=2`uU z>uqaqPS|{F(w19Ow%wk;@4?nH&$gX?cHr`hsoQUFIrDV;xo5jCKHqck`Tzg_WoKCg z01Xi?3GxdDa?t?8rrJ9kKxsWs7sn8ZsmTIP%seJS2@XsGjB<>QbqWujCAD#V_*k@I m^G2hM21P~**PYm>Gcg#2@~8j${jM6Qlfl!~&t;ucLK6T0fn84k literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/monthview.png b/kronolith/themes/graphics/monthview.png new file mode 100644 index 0000000000000000000000000000000000000000..920b579ebf834d9a3c15a1567d954aa6792bf78b GIT binary patch literal 241 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAc6hothDd}bCps|e@D%?y{FD6S z|9^Xq|LG@^69snsl|PpLL!U83@$_+ykdqv05%ZW>zr-6EH2qLe?ECM)$fm)6B0cR9 z1E;~ch#v=YxfXxi{M)8p@&J=&q;}RnLw~-s#N-4v?il}?nWxVjICkK~5e*hI=cj)* zeJV0jW1IFrM<=22(_{O~mJ!OiWxqB#pP6y;$caz=A2pecxi1(kX!u~?w%?)L=->a} p;%}zw@;mr7FzMy^nLB^AW7xFZy#L-y^?ZSisHm;2t@5Z9ySux*yu7`=y}rJ_zrVl2 z!otJD!^+Ca&CSiv&(HtVa@pD0+uPgS-QC{a-rwKe-{0Ti;o;)q;^X7vgww2>+9_7?CtIC?(XjI@9**P@&EAF^78WY^Yird^!E1l_xJbt`T6?#`uqF) zH}@7N0001}NklE0AVoW#!`H;spYJ5n*9r zd3kvS1$lLKbv->j0|NsiBO_B&Lo+io3rk~bYs?m_V%Vv zD@6ZaDf<868qhRmX68FC%_o5@#*!evU*?tk7#J8C8JU_InwgndSQ=YfTP7yNC8y`5r>7@p6l7;-H@DWd zw>N!SA^QJH(f<$EfCeU}@}&YP#*!evUuqaqPS|{F(w19Ow%wk;@4?nH&$gX?cHr`hsoQUFIrDV;xo5jCKHqck`Tzg_WoKCg z01Xi?3GxdDa?t?8rrJ9kKxq$87sn8Z%gF*x%sdt>5)BNY4fE%VFixnOz;HxH;E|xf z6LzLNy|fh!^7`!7(%Qn@%IeHc+}hes+(!b!N}?k;cQW67Sy98yP|(Hueogq5a-f+E Mp00i_>zopr0454z8UO$Q literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/private-000.png b/kronolith/themes/graphics/private-000.png new file mode 100644 index 0000000000000000000000000000000000000000..976f30add02055f828f7a9cabc58925834346ffa GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=%3?!FCJ6-`&jKx9jP7LeL$-D$|bOU@sTp1V? zflOv*W)>C}Ha0d+PEIZ^E?!<^eP>{XE)7O>#2CE#uf|ZcBqA*a% z)YHW=gyVX0LIb0tqrgcG4Go4x5)uwm6eJ4QSrw;+Gcy}|+-q#)bYWc(_~!e)z17nh bOgR}ivpK{5_%f9P4Pfwe^>bP0l+XkKqqZ~` literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/private-fff.png b/kronolith/themes/graphics/private-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..c58a3b2898d4ad0e0649e5ff49121d56a284a579 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?7>k44ofy`glX(f`um$*pxNhe- z@&EsS#rcL7AnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=7-;Zy5N34Jm|X!BWH0gb zb!ET7D#x#A#`G+v5-6nP>Eal|aXmR9A>l!K!i4+;fs6zLivt1w8xA@$Ha5htu`y)Y WvE{zFdVL>IHG`+CpUXO@geCw71vAwE literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/recur-000.png b/kronolith/themes/graphics/recur-000.png new file mode 100644 index 0000000000000000000000000000000000000000..289cfc4a3748a20cd65dc868e90d2e11865c5b5e GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T)_einzIFV0Yw-~g8YIR z9G=}s196hP-CYndOA=G NgQu&X%Q~loCIEd*Clvqy literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/recur-fff.png b/kronolith/themes/graphics/recur-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..edcf68c9ea0f54cc0ca5755872162313d0df34c6 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T!8}r|NqxiHCq7`VJr#q z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QK$!8;-MT+OLG}_)Usv|)EOMd}LT{gS zTm%ZKd%8G=aLi0jNJyB#{)ml@mA#FLy=}g{gos?j4K5xYCLW$Y4w`HX>5Ew{q?D(p Q1GO-Cy85}Sb4q9e06_UGG5`Po literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/redbox_spinner.gif b/kronolith/themes/graphics/redbox_spinner.gif new file mode 100644 index 0000000000000000000000000000000000000000..35218b31b5e09d98e59af8f8c17ab0c548b302b6 GIT binary patch literal 6820 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 literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/search.png b/kronolith/themes/graphics/search.png new file mode 100644 index 0000000000000000000000000000000000000000..94c47d455e3eb1c758c79da1fd74f37831616196 GIT binary patch literal 794 zcmV+#1LgdQP)1V6Mdku2@=!r7%xX>^OL z4bEEPwX>aj!!QhRo@4V1vcX^w6#Wji;{!E1;n*IxQSpzntI-#4J_iS-2IpOw-i0Gb zv-ss=j{67X$rJ#OG)=a-xw#|F5SbG^wOYAK$RsEF-S?~YE<&bv-jErbm8EUdGg`Af zzqq(?sBUSVEdW}z>au3Fig8n$z^zU4%JE#PchwLER~eySR-vsF<2u_z?rwz&!2?0% zH=n5!}4wi%I##Uk79|0l8&reNFf~HjsG6j+6@hhUZ zNO<`K1a%T=Y^wKnbapTni)D}dTy2}yTfr;aEGa1|7l|>LoE!&j`(v=#Yn+a literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/today.png b/kronolith/themes/graphics/today.png new file mode 100644 index 0000000000000000000000000000000000000000..a43f94737b8370bc66b02909f9b139587f43bd6f GIT binary patch literal 372 zcmV-)0gL{LP)`KoE!XczKLIiqUAiq=%~25WIWw39J?LCV0=GL8!riivO{wmrf_fs0k%)KK8II zzi)SDnc3_g$g;deHi#riqA0#1f*|lb&vD!f(g~`nvMjqo7>1!~dWldJMUvzKAqWC4 z>IB=iHBEaPpzHek0K+gW%Tg4j6Y9GDL=Izo-#?y7lEgI4kuZ#&&iix_1X-3rAs1ni zep<|7!RB-lhG87Xw}n1EbTY(ooRRRc-%ZlJQxrv6magkgUw|%ezL4iRWIWHiw_E)N0VEiXnMEE4Qk(@Ik;OpT1B~5HX4?T7YMw5R zArhD8o;GA;FyLu0_#?fl*D8rUbc1$y#MQgTe~ HDWM4foa!I7 literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/weekview.png b/kronolith/themes/graphics/weekview.png new file mode 100644 index 0000000000000000000000000000000000000000..9e23c7d0aeed46e793309fb4d0e1993a3074d6a8 GIT binary patch literal 213 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA=6Jd|hDb=V9^B~ZoG8L};q%}3 zLQN9{wro7fGwqR;0Yl~cDn5pWiddap(dFBZZ?fL< z?%Lg7K{xZ8SynDC`l>9%`8rHQeZjG)#ydZ5*Pb}Tu(P`UU#h7u+lj*!yV8B0b49F+ z&wCjv*>L%Kn=qGY(EQ0~LpmQN8NT*AZ+z!Z?_d3UvV%Tus`UeZ#MO$bsfmP Mp00i_>zopr0OICX8UO$Q literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/workweekview.png b/kronolith/themes/graphics/workweekview.png new file mode 100644 index 0000000000000000000000000000000000000000..b317569f7fdce7ecfc5aef1d5484a72d2295071d GIT binary patch literal 223 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UAmU+53hDb=V9yHWrVU%FI@crzc z8yaR#%1PE2U)?#%DI&C1ScBtjS)Ss$1tkoLhGFn}fdJZ3QIF=X@AAfIRr&2}D-kCSer8w;7ouB7(xFUx^ zZ(rQC;IDC-4;~hmTYtOHxbgQ|Mbm!6ux-zep3J#4cb?jm@A8ZVE7nYNY`Vh6&`|F$ WV{&NE5xrj^mwUSUxvXK)+7my1qu^`3>aMR&5?I;^!xVm-=BZ>5BQssU0P;VN|$w= zG=1qW9-wpVk-2cDZ}QC|{~$$ksmxcbEjrH&|!3QuY7< literal 0 HcmV?d00001 diff --git a/kronolith/themes/graphics/za.png b/kronolith/themes/graphics/za.png new file mode 100644 index 0000000000000000000000000000000000000000..a154237b5566afebb81997b3357056b6e722bfca GIT binary patch literal 119 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4^3?%3Nf7cA+1o(uw?qU#2OG^XtdbXZ%0#b}6 zL4Lsu4$p3Y#AG~O978ywlM@)2)`s%<$p3TxFyCI_&wpkKp#ED^czP}U!-RqA7(8A5 KT-G@yGywoiogUr* literal 0 HcmV?d00001 diff --git a/kronolith/themes/mozilla/screen.css b/kronolith/themes/mozilla/screen.css new file mode 100644 index 000000000..a16f02a6e --- /dev/null +++ b/kronolith/themes/mozilla/screen.css @@ -0,0 +1,7 @@ +/** + * $Horde: kronolith/themes/mozilla/screen.css,v 1.1 2004/11/03 16:14:49 chuck Exp $ + */ + +.legend { + color: #000; +} diff --git a/kronolith/themes/print/screen.css b/kronolith/themes/print/screen.css new file mode 100644 index 000000000..97f6f57e2 --- /dev/null +++ b/kronolith/themes/print/screen.css @@ -0,0 +1,57 @@ +/** + * $Horde: kronolith/themes/print/screen.css,v 1.8 2008/02/25 19:18:19 chuck Exp $ + */ + +.rowEven td, .rowOdd td { + background: #fff; + color: #000; + border-bottom: thin solid #000; +} +.rowEven td td, .rowOdd td td { + border: none; +} +.selected-control { + background: #fff; + border-bottom: thin solid #000; +} + +.iconAlarm, .iconDelete, .iconEdit, .iconRecur, .iconAdd, a.newEvent, .iconNav { + display: none; +} + +.day, .othermonth, .weekend { + background-color: #fff; + color: #000; +} +.day { + border-right: thin solid #000; + border-bottom: thin solid #000; +} +.year-event { + background: #fff; +} +table.monthgrid { + border-top: thin solid #000; + border-left: thin solid #000; +} +table.monthgrid th, table.monthgrid td { + border-right: thin solid #000; + border-bottom: thin solid #000; + padding: 2px; +} +table.monthgrid td.today { + border-top: none; + border-left: none; + border-right: thin solid #000; + border-bottom: thin solid #000; +} +.month-eventbox { + border: none; + -moz-border-radius: 0; + -webkit-border-radius: 0; + border-bottom: thin solid #000; +} + +body.rightPanel #page { + margin: 0; +} diff --git a/kronolith/themes/screen.css b/kronolith/themes/screen.css new file mode 100644 index 000000000..0cf3d357c --- /dev/null +++ b/kronolith/themes/screen.css @@ -0,0 +1,465 @@ +/** + * $Horde: kronolith/themes/screen.css,v 1.67 2008/09/09 22:43:48 jan Exp $ + */ + +#menu { + /* Menu bottom margin, added for BC. */ + margin-bottom: 8px; +} + +/* Image alignment, added for BC. */ +img { + vertical-align: middle; +} + +/* Added for BC. */ +.hidden { + display: none; +} + +/* Alternating styles. item0, item1 are deprecated. */ +.rowEven { + background: #eee; +} +.rowOdd { + background: #ddd; +} + +/* Sort arrow styles, added for BC. */ +.sortup { + background: #bbcbff url("graphics/za.png") center left no-repeat; + padding-left: 10px; +} +.sortdown { + background: #bbcbff url("graphics/az.png") center left no-repeat; + padding-left: 10px; +} + +/* Calendar Popup, added for BC. */ +table.calendarPopup { + border: 1px solid #ccc; + background: #fff; + width: auto; +} +.calendarPopup thead { + font-weight: bold; +} +.calendarPopup th { + border-bottom: 1px solid #ccc; +} +.calendarPopup tbody { + text-align: right; +} +.calendarPopup a { + color: #000; + display: block; + padding: 2px; +} +.calendarPopup tbody a:hover { + background: #ffc; +} +.calendarPopup .week { + font-style: italic; +} +.calendarPopup .current { + font-weight: bold; + background: #eef; +} +.calendarPopup .today { + font-weight: bold; +} + +/* Autocomplete styles. */ +.autocomplete { + background: #f4f4f4; + border: 1px solid #d4d4d4; + position: absolute; + padding: 2px 2px 2px 2px; +} +.autocomplete ul { + margin: 1px; + padding: 1px; + list-style-type: none; +} +.autocomplete ul li { + padding-top: 3px; + padding-bottom: 3px; + cursor: pointer; + text-decoration: underline; + font-size: 90%; + color: #000; +} +.autocomplete ul .selected { + background: gray; + color: #fff; +} + +/* Calendar styles. */ +.hour { + font-size: 90%; + font-weight: bold; +} +.halfhour { + font-size: 60%; + font-weight: bold; + vertical-align: super; +} +.event { +} +.event-tentative { + font-style: italic; +} +.event-cancelled { + text-decoration: line-through; +} +.event-time, .event-location { + font-size: 85%; +} +table.monthgrid { + width: 100%; + border-top: 1px solid #999; + border-left: 1px solid #999; +} +table.monthgrid th, table.monthgrid td { + border-right: 1px solid #999; + border-bottom: 1px solid #999; +} +.monthgrid .today { + border: 2px solid #446; + background: #fff; +} +.othermonth { + background: #e7eeec; +} +.weekend { + background: #ffc; +} +.description { + padding: .5em; +} + +#footer { + margin-top: 8px; +} + +/* Event form. */ +#eventform textarea { + padding: 2px; + width: 98%; +} +#eventform .toggle { + cursor: pointer; +} +#eventform .extra { + color: #666; +} +#eventform .warning, #deleteform .warning { + background: #ffc; + border: 1px solid #fff760; + padding: 8px; +} + +/* Block-specific styles. */ +.block-monthgrid { + background: #fff; +} +.block-monthgrid .today { + border: 1px solid #446; +} + +/* background-color will always be overridden for the + * *-eventbox classes */ +.block-eventbox, table.nopadding td.block-eventbox { + padding: 0 4px; +} +.month-eventbox { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + padding: 2px; + margin: 1px; +} +.week-eventbox { + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + padding: 3px; + font-size: 90%; +} +.day-eventbox { + -moz-border-radius: 10px; + -webkit-border-radius: 10px; + padding: 3px; +} +.legend-eventbox { + -moz-border-radius: 5px; + -webkit-border-radius: 5px; + padding: 1px 5px 1px 5px; +} + +.selected-control { + background: #bbcbff; + border-bottom: 1px solid #999; +} + +.day { + display: block; + float: left; + width: 14px; + height: 14px; + padding: 1px; + background: #ddd; + border-right: 1px solid #999; + border-bottom: 1px solid #999; + font-size: 80%; + font-weight: bold; + text-align: center; + text-decoration: none; +} +.day:hover { + text-decoration: none; + background: #e9e9e9; +} +.week { + float: left; + font-size: 90%; + padding-left: 2px; +} +a.newEvent { + display: block; + float: left; + height: 12px; + width: 12px; + padding: 4px 0 0; + font-size: 50%; + text-align: center; + background: #ddd; + border-right: 1px solid #999; + border-bottom: 1px solid #999; +} +a.newEvent:hover { + background: #e9e9e9; +} +a.newEvent img { + vertical-align: top; +} + +.year-event { + background: #fff760; +} + +/* Free/busy */ +.legend { + font-size: 90%; + padding-right: 10px; +} +.busy { + position: relative; + background: #f00; +} +.unknown { + background: #d4d0c8 url("graphics/unknown-background.png") repeat top left; +} +.free { + position: relative; + background: #28b22b; + color: #fff; +} +div.fbgrid { + background-color: #fff; + overflow: auto; + padding: 0 1ex 0 1ex; +} +.fbgrid table { + width: 100%; + border-collapse: collapse; +} +.fbgrid table td, .fbgrid table th { + border: 1px solid #000; +} +.fbgrid table .label { + border: none; + padding-right: 1ex; +} + +#pageLoading { + position: absolute; + text-align: center; + vertical-align: middle; + font-size: 10em; + background: #fff; + color: #666; + filter: alpha(opacity=0); + -moz-opacity: 0.0; + opacity: 0.0; +} + +body.rightPanel #page { + margin-right: 13.5em; +} +body #pageControlsInner { + display: none; +} +body #sbarShow, body #sbarHide { + padding-left: 18px; + white-space: nowrap; + font-weight: bold; +} +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 #calendarSearch { + 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; +} + +.QuickFinderNoMatch { + display: none; +} + +#externalcalendars .category { + margin-top: 2px; + margin-left: 1em; + font-size: 95%; + font-weight: normal; + font-style: italic; +} + +/* Tables. */ +table#calendar-list { + width: 99%; + margin: 0 0 8px 5px; + border-top: 1px solid #ddd; + border-left: 1px solid #ddd; +} +table#calendar-list th { + padding: 3px; + background: #e9e9e9; + border-right: 1px solid #ccc; + text-align: left; +} +table#calendar-list td { + padding: 3px; + border-right: 1px solid #ddd; + border-bottom: 1px solid #ddd; +} +table#calendar-list th.sortup { + background: #bbcbff url("graphics/za.png") center left no-repeat; + padding-left: 10px; +} +table#calendar-list th.sortdown { + background: #bbcbff url("graphics/az.png") center left no-repeat; + padding-left: 10px; +} + +#calendar-list-buttons { + padding: 1em; +} +#calendar-list-buttons form { + display: inline; +} +.calendar-info { + cursor: pointer; +} +.calendar-info-url { + background-color: #fff; + color: #000; + overflow: auto; + padding: 2px; + font-size: 90%; +} +.calendar-list-icon { + width: 1%; +} + +/* 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; +} diff --git a/kronolith/themes/silver/graphics/addressbook_browse.png b/kronolith/themes/silver/graphics/addressbook_browse.png new file mode 100644 index 0000000000000000000000000000000000000000..b73419ba82098bbdca1989d31fa798756c987524 GIT binary patch literal 770 zcmV+d1O5DoP)LHt}U(fC{;>Yum{xmD^Y@B5nN0h99fKm3?`0_{sl~q#>Lf`Xq^mk zkPrtoHo*|Z3nt2x}Jy`Dy+VWv$$5Q(e+JC7mM8^t0(iL(m}3r?Oq>CBlk z+U+S25g-Hs)ayudKxvr*V(ri6%46oq;@1yc0P zA3d#Jwv=Vd%^Q~uhdUw?5#qmljMYF15n(hM*?Rc9vGHS$KYP}#o8KGsA85A5J$?L5 z*MC`7uV)9h3*UUa-*A}z_>9dmBBYe0l)#gR7WI4g9iBg>J=3wbH*kCHJ4ZXOSYQ27 zDru6(55yX)S@&n6~krBum)TC;$e8swaf zMkA1;lB^Q1DT^mw z_wd1AvaF1rQ^f`GXt>pMc(a6@v#P4V>fhgb;ib1-`{@%;>^~y%NUa>Var+02W?K%X zYERjjxIaDC&rwE%l#-mYDhz}(!NW^0=wBZMH5C_+RAIVF!K23~z}<>ANUn_?}3M|H~;_u07*qoM6N<$f@;M1& literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/alarm-000.png b/kronolith/themes/silver/graphics/alarm-000.png new file mode 100644 index 0000000000000000000000000000000000000000..c323e2b2561ef3a76209fc032b1b8bf8a1a5dd2a GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)Tp2(D43CZ1Tqo~EDkJqz~IEm$@7)pAt;B3!8e#yN>l0HWS|xX MPgg&ebxsLQ0Qmzc%>V!Z literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/alarm-fff.png b/kronolith/themes/silver/graphics/alarm-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..864d5088e708607ca803d4dd94f1c23a57df491b GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T!Hle|NocXoPQU{Vk`;r z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p<)L71^VC4M4MkiEpy*OmP`D<`*!;e=&T z4}n7Jo-U3d9M_W*fFL>HL3+Z3oCJZ41Otl$3mz~yadPr}<#!0m;bHI%W|h)Zx;Gi9 Og~8L+&t;ucLK6TWn=YgP literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/alarm.png b/kronolith/themes/silver/graphics/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..6e0015df4f737ded7e7e14b546616e704f023226 GIT binary patch literal 789 zcmV+w1M2*VP)w3Y+732PG_{dW-vWnGW?ek+eegcN?|t9z2?7xGKN@MGRD*J^ z&rlky@ZUE!D5>oxB^64H+e}Jso>dhAcXJ|I^4Pu&0hSi(IWgLX71SJg^}9{IANt4a z6@3vO@*Gyvx&UJ2j;g6eXHOcITv{wUTQS>}4p&n=2Fk;r%w^@S*8a(S*4l9Z?xB2q zbEz@ceIA}S32-WSa5Toip*ae*h-LZ>K#V(y+NX@kSg_V%$^H^^#w5(VjmNa^Al#Zr zxKskTv?tM3%<%;PqbiC^j8kOR6?gv~_-2jxYPk=$UI?e|FeaO0Fjl)4b{QYeM$$#= z33NONUJd|;c@3 zEdc1N;!Mt4u3_FH!uuLNdh0_mSQm{kBBv%A#u5&?pX`FYmIHU&F-*wfPx9%`;Lgug8DbunAt zBaI+kWJ7UF0I#(WUwSj4$>*c9h=G}AiU3$-A0$Ax*`Bq(7C5v$WSb3D;V`_ofN@<0 zyyGH_s4k);Wh-=dcVI!ug{|Qbq&Jv@e+2kN0@9!>-iNlrSST`i(3d5k^wJhQO4^KW zF%1@J6soS$C)Ne{CC_FFV2Y&a z4Co4YFjq&xTp5X`tPqr@&_w?P@T)qFu}N};o>QJmcZySJ(R-Md ToJi+(00000NkvXXu0mjf*@atu literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/attendees.png b/kronolith/themes/silver/graphics/attendees.png new file mode 100644 index 0000000000000000000000000000000000000000..e54ebebafb5072fabac9a0f3d8a79fcee3265f9f GIT binary patch literal 743 zcmV?P)vCi#|P&Xm-dkucwL z3)87{8iWe96huvPHfK`KOdC2Z({T6vJ9pwDx$D4>d(Pqff6w7Lmj{5i6;ZyPPpPN; zroaW=6d#@oL2Fa53F~$Su10(RG%K0p3VTuP3?Z=nBA8z$uq+XLUL^QrC74`bU|!e| zr>hK{)%Q!vdmIO5Z3JIvaOyjOX`X@c8-ua03`Q&)f&%p*{(A$q`ZTTjk%q_T7>v^J zu!R-a9fFLScYlKkNBP_Cob=9m9JLVoC-?c{)eOtMnh7qNN{ejy2sM{pS^mgFHJm@(buuM4>=<5Vr$&Kzw{B?uPr; z(1Yf=#g)zADkWnx=MR%ykl| z3Ui42k+O2{bCn)01-s5Sxp|z{G2di&KT(_M6;$EI zDL57JFf}cw4bP1P$pgTRKH$0@h|~aA>j`qZ2*kU5t2EVD5#~@VNhqx{vz8ethDD-=+1vnemftUBA zF;N!Q%PBB5B=KLB#QO(CHe?;R+-C8M?ppDW>R$5`cCPq@YpusFRTaH1i9Kv;l<>I( Ze*oTy+;kdDB`N>_002ovPDHLkV1l3CM+g7_ literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/calendars.png b/kronolith/themes/silver/graphics/calendars.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fk}@P)Ff}Nlc zJ+V-1gdjvrBToYb_&=5JJoz%#Q=n#p0PUsg;0_wW6hzWF z6d(Z#0TH%uy+T9>YJjQ_4o41w#S|V(NC8qn46yPY0ExQO163;l8LV%BTT)_{lxVdB zLqhH!O}vfXt+G~AtirG?JdRPE!p4;(u<%+06sOr5$!l?%`w$ZJisblGeq3lk?M znK(IF&Lv~|%q&@!^#Q8MB|waLDd+L)A8Bgth=QmR)CiKix0+Qk`lsOTj2++4X|3MA z_x{3e%gn9zko@i4h1Ih`tu0ZJsAx1qji_-~z~v9P%@aQ$P9XBP~(4phP5>FVdQ&MBb@06rxo9smFU literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/delete-fff.png b/kronolith/themes/silver/graphics/delete-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..b98133f5a358bea0d2ca177602524e41a03b4a97 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^93afd3?%;@)Hwm9*aCb)T!8}r|NqxiHCq7`VJr#q z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QK$!8;-MT+OLG}_)Usv|)EOKHj^5tpb y89*U1PZ!4!j+w~`2_7j1NfQ{Il-pR?+!(n2F~+kC23!ZKVDNPHb6Mw<&;$TD2qk|2 literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/edit-000.png b/kronolith/themes/silver/graphics/edit-000.png new file mode 100644 index 0000000000000000000000000000000000000000..92d3036d7b1c8c72383ed1a5cfbf17674f2838e2 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwem6JzA{mag~(}6;ko-U3d8t0P}78w2b|NnozM03W` z|DHyY?DD%$W}N%!-*wVOGi|}Fq!~x*lSGxX6(pwgct~yN4CZ6F_|R>S{{H{AKtmWj MUHx3vIVCg!07rW^N&o-= literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/edit-fff.png b/kronolith/themes/silver/graphics/edit-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ec8f5b0612c2d6d0e161a892cbc058c1dfb4c0 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kwj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%6^@dlSfokwRCS7P$2;S=L67m22WQ%mvv4FO#s*&KWP8} literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/favicon.ico b/kronolith/themes/silver/graphics/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..461907c719c7473af282b1041d13e22ca3488674 GIT binary patch literal 1150 zcmb_cTSyd982-J~wmX+|=CZS`y10UEnRy|_TNYV{-84&~vIijw*Rry(=$J2 zG9~LR2_qs3G>ORW8A9*wLk0N|L=Oc?$vORJWnc(Fg3io8|C#^)zW+9d0f@tkQov^r z!ifMD04zg66Iy2Ns9-Jn{&g9qS*@z-(M7oC<08)MwX8M;m%zH+?gVw)nvY8BUgq(5 zmdwXDd{(!1=Nu=6Srevd26bIONN=9zYUg2&{5+eF;pgmxQkti>H*oV=FOv?{GIFJv znQyOiZRjkc!IWDVuTswn-IZ45Od-~9$FnuYjZ-$2eD;nHa3T7`i(J3g!9@&Xw40M_ z$76eWf7K7HFW2TtlC%@+JAnOPr2{8p`PGfZQI)7+j9E{Mvd4|#%Yw_4GxfhM%i3&n zWm)!n!qwb()Wyx0eX+dqzN+tDuQ$noajRQOqoO8dYiZQB3+-~bBz>{3RjDbP(r&jg zfze8GN1Yh4my>)wB0ss*#EkUR8=9u&I5F76Lb|@-z2K9|)sy(`;+=lFGGkcygorw& zrW%I*mfINY-$e>mOvLgJMwpi3??FGdCoiy){4J#G2s2;zGpV-h3#llcP;-_(L4QE- zv4?mqlr|*hEoLo5zki;~jXQqfET*-=$n0E>?V2$RBg4*VYeGn>w0px(`NWSHk^%5ZmHwutA4Izhu$IQlu}pm z)qLK|wX{H=lQ-8MXOSp1Zf9yom|?5}fx+{#Tq(+$^aYZe=i>ZrquHSsG&B9N(~h%@ wbH4wNJx>Mrgz_O71)~dzB;Y@z10Z1xVC*RX-Vkxk${Wt6aWAK literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/goto.png b/kronolith/themes/silver/graphics/goto.png new file mode 100644 index 0000000000000000000000000000000000000000..52dd9f3ae378fcc1ca8efb604cd522566c79e190 GIT binary patch literal 753 zcmV1S!*hF#;olA&QQ&S^RsZ z!Dvj@5{+4Gn!L@-#FEX1Kp=p3B)&;c$9h^CqeV6wOLjX`qiYrufW+>$0PnN2F|E&SS6qp0`e6X;{(~1kH^D0 zhx0eU<#Hh&kEc{D7DF@|Wkd&^qn?z2NF)M}$AgWH4Y=KII2;aKosi(Nx*9)Y(fM_Fc7960CGx%0 zJTTLN+opEhG`65ee-V9#R*cN|$(D;)3QFs{8j~^5q1mCkc>Br8aVn@h??$XP~qz j9lZnHOfHwp{nYy#Q$vKsy(sM?00000NkvXXu0mjft$0VR literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/kronolith.png b/kronolith/themes/silver/graphics/kronolith.png new file mode 100644 index 0000000000000000000000000000000000000000..783c83357fdf90a1c7c024358e1d768b5c09c135 GIT binary patch literal 626 zcmV-&0*(ENP)5OC%H;f`~O(q$Q#t2<^v$A>fbmv%e#dKTwK=Ku{5lS|}<-`a#7b zzTCOnnT>at)D}AMFuOZ5&%EqFN(lyumd$2ASF6=;nM~%2?gqc@U=#|4PqkX@EBo-9 z7pD#bO_RUa>*faM`8;MYfVi$JnB-zcBFc6gjl$d!bF98Q!!!(Z1_R~P?e!pt#6CHJ9S&n_n&@=9 z%GP;!@Co4c*at+6vNz7o(6en^Q1%qHrc;1)9IRaz-$@S$Z-qdC^ds3X0NvQH;KS)D z-dh&rW&@X;1cS(45z)J&BVt+tv&GMVJ%!EiW) zLBGZW)#Z+gl-Lih&?>X3SS-S#ujQ;9JRXmIB7X)8`d6ETj)D#Q2+$s|<_b7-B9Xvq zwNfqlEp%y3$uY`h{Y$(Gn5@}sqEsq95lpAkFO5dyBmP6^H-51G4J|rN2Ujt<`2YX_ M07*qoM6N<$fDG(0N}=r8~gU{i^XCdkH_!#XEK??hY#PmbLYsB zBQ-TOdcEFcGGQ3zcDqxl)R{A9Dk>_n+3b@iPo6$~y0EaYd-v|n&dz8wdiLzuYuB#f zIId7A#>dBxA3q+6M7D3=e*gY`mSv?<>Cn*7!Gi~r$>gb1r$~|%i^V5SoY=pAe_2@> zpU;2v=+TQ8FUH2ka=F~gmoFiN$BrF){rdHrH*e0LKY#i1-Mo2odV2cVvuD?@ zUw`o6!QH!euU@^nxVSh!KY#Duy<4|#J%9fE_U+r-wrx9k^5pF7Y2!hz{_K}ehqtPf73O8@wtkGyFib|)`J9qAU_vSxN)!U+Q3$?~abhem{rh;Yf zPOJW1?#m|PBZ)!HR~tu$H1Sk?EIk|_G;Yi!he6f93Ps{~w+!$1-$w+3U+n~t&M}Ot zdSwI42rFvpj1a?ZjJW9IPwE??&E&#p9=}A*VhFMy6cm+?16Q*P7E0tZ7Ed$$XgM+i z94(M9MQ3b;8w!dQGl;PjLVE4Y?<_P{QXeB^>`CbQFBvD_OT*#R6y9XGLopA~j#=m{7->pd6t>(Yi=3 zP}uo3V`jwsY7W}yU|ZK5z%f|Z?m9z~uy*yuIRu5uFfoVs{~5H(gmaYV0%%rtm$QvL z{~uwK+1e_?@y3>z>U)~d^%(jpL%ul0QBAF>DcN4YPSb$5Y$@O`J^)4H(vAG6fyV-$ zpp9QFT`ozb8GCfYP#22&x;IILw01D;WQQ6$Rd7I-5KT1ikgn+a(|F~;N5`@Dq1(|Cs^MXKy8P08>2 ze(zaIH}OH&tXIpzRp|f=nv{at6&u#2!XbvJ4yIM4%e%g~!%0&*vz<+T(e8jvJ$eoV zB?T~K5as2YK8NWfo<~YPgTv`>IqKsqR5<(dp)cEDK=00n>#89cvunA{%L%$M)}%E- z+Y7LTL0WhsE#TMm`-=Xj>PZ!`)~ z(K&8wwg6)N&3|FkYgh7U3x!zd`r4lqi5ZME;n0{F5#}>?i)rEJH#GeJiA|m+eZ8DO zSU?f>fl#Gzi`dPes#t)+aBX={4?$xdcO&byCid?1(awZqf1}Z}+v{|OO zt|T#wanNsY&NCKu;zG`1RYSh)xbINpDJ|DFE; D?d&fs literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/minus.png b/kronolith/themes/silver/graphics/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..763c90d3eed2b958dd47fb79e8b5ddba53c39a6d GIT binary patch literal 746 zcmVNQj0-7ZVwbghyi733QISXRNtl2HMF`LU_7OmOd)wP``+wj6I~bcP>Y!)*@|}~DoO3KnDf|x({d(w` zxL3}Sn~1rUm%-Ly}J`2qK>}SCnE<0zLUAXrlLNl(s3GV`U-+^AA}UhOV5KN%Z2wVWB9nbWDrx^ zQ2XdeQsCiumzyQOJ?FmUtjs@y*MV1v88HY&$jr=uf`TbcRN1TXVR-_}-Zj4&b=1kDH`su_rC283zAhcHmSEq5&*?@Fu0ZD>MCKLmT71FIX)Vr_Y<@_^*BT+vw5B*f6 zJCAQR5>vmcAU~(h(}1n87e37kB_)cExKU&;#fybe%q}e&B)M&_`_ssQD&OwA-YA%Q z*+zx+RhN-(F9Z~@723qu+!XX^EI^Vwevl6c0KkpjtL1{JNhHTa5X?bh9$-nsbKOgS c9@D?z8)E^D4CtuDjQ{`u07*qoM6N<$f{=tmjsO4v literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/monthview.png b/kronolith/themes/silver/graphics/monthview.png new file mode 100644 index 0000000000000000000000000000000000000000..6cff76c1dbb71dfe2fcf35dec28cdf935ebc945d GIT binary patch literal 595 zcmV-Z0<8UsP)gH-D8wdL6`?9WFzi$qo8J^aVr5)w?g*$f-IAT>umA~g7`KN%tnR;#U}<7 z5hMW@Lgq>E$!K>yytk^`8I7CZh3ZpP+&cH%(^WC8HJ%e5f2P*XvcxkWwQ`kGkO~lt zlII$NusS59(6q0vCnq`@4S~{naJ;w4`Jc)kW_~B`6%d;_oLG1Va7$7Us|13;&iz}O z`@n5r_O9P&2_$L=A|D7_Q*>C^p+!i-1T+MZ9OX=AAZiJ?X%jKvPl*mHtAuC}!6424^=42In{JdU?xY>Aa%fe%j@!RS-}GG7@u}MX(vJ z>tJ!K2+sw+>=e;Z=V0Y$3Gq1LUIFdtdibFSPSgUs;JGo3ze>ZS-Ld{OC?6xeX_GkI zowC?tTM$B330MKQ%?H2kQ68M0%NJfGeerSnSF=wtJ002ovPDHLkV1gqb2Y3Jg literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/new.png b/kronolith/themes/silver/graphics/new.png new file mode 100644 index 0000000000000000000000000000000000000000..6a7ae025f37be3f08e265e4dfa7b475189c6ebe5 GIT binary patch literal 703 zcmV;w0zmzVP)P*3@9Tx|(Z6B0*qjiRWm~N(E4vt_=9z*a*>J zKqwS~I6I5wjt+#|+7NDT#^;6xh%+M$A zwp4l$;PrY@EEbPdp-@03li?zxHL5ulkV>WC_xll#$Kmt&;C8!VVQ+z~R4V-+K*dI* zk$2AJa)`xZa5x-1&gb*UX0z~kJcj|aVHYBb;@)PP&4zb&10K9m;`Z~)P(2yNlwsm% zz^--y)Lr-HF&@2DVPRdsYSaqt$Gf*g8U85~fEE4S4EhF7_MaB&jB@ lVB}sOADjI3hZlFK_8$$UrE@!Yp+o=x002ovPDHLkV1gwgOilm* literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/new_big.png b/kronolith/themes/silver/graphics/new_big.png new file mode 100644 index 0000000000000000000000000000000000000000..070ef465482f73f8afacc40eb4ab8c09c62f64e5 GIT binary patch literal 254 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 Cxc?Ra literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/plus.png b/kronolith/themes/silver/graphics/plus.png new file mode 100644 index 0000000000000000000000000000000000000000..6332fefea4be19eeadf211b0b202b272e8564898 GIT binary patch literal 733 zcmV<30wVp1P)9VHk(~TedF+gQSL8D5xnVSSWAVY>J9b+m>@{iq7_KE}go~11+5s4;8hc+i0Xa zI1j@EX5!S+Me6HNqKzU5YQwL;-W5$p%ZMKMeR<%zp69-~?<4?8|C8S?bklXr4v&Ov zb&06v2|-x?qB`90yn>Qi%Sh2^G4n)$ZdyvTPf9}1)_buUT7>`e2G&2VU@~Bb(o+Mz zi4)>IxlSY${Dj4k={-9RzU^W5g9|2V5RZ2ZulL9s2xQbZ@r6eP9Ra5u(s|C0Nj#&4>wTSkb?%#=9?@ z^oxDy-O@tyN{L@by(WWvQ3%CyEu8x{+#Jb4-h&K9Owi)2pgg+heWDyked|3R$$kL@A z#sp1v-r+=G4B8D6DqsDH0@7OztA7aT9qc1Py{()w`m``?Y0&gi2=ROcc-9+nU^I6< zT=e_Y=vSnG@?3Ue{BW5ONFttcE!R-R_W4O01|0-|K-YNXLo2`4Qv z`r1LxR6#yf3FB%T95gJnaKKivA~Z}S9A(ZxEDK}O3T04USJ P00000NkvXXu0mjf^IS-S literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/private-000.png b/kronolith/themes/silver/graphics/private-000.png new file mode 100644 index 0000000000000000000000000000000000000000..976f30add02055f828f7a9cabc58925834346ffa GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=%3?!FCJ6-`&jKx9jP7LeL$-D$|bOU@sTp1V? zflOv*W)>C}Ha0d+PEIZ^E?!<^eP>{XE)7O>#2CE#uf|ZcBqA*a% z)YHW=gyVX0LIb0tqrgcG4Go4x5)uwm6eJ4QSrw;+Gcy}|+-q#)bYWc(_~!e)z17nh bOgR}ivpK{5_%f9P4Pfwe^>bP0l+XkKqqZ~` literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/private-fff.png b/kronolith/themes/silver/graphics/private-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..c58a3b2898d4ad0e0649e5ff49121d56a284a579 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?7>k44ofy`glX(f`um$*pxNhe- z@&EsS#rcL7AnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=7-;Zy5N34Jm|X!BWH0gb zb!ET7D#x#A#`G+v5-6nP>Eal|aXmR9A>l!K!i4+;fs6zLivt1w8xA@$Ha5htu`y)Y WvE{zFdVL>IHG`+CpUXO@geCw71vAwE literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/recur-000.png b/kronolith/themes/silver/graphics/recur-000.png new file mode 100644 index 0000000000000000000000000000000000000000..289cfc4a3748a20cd65dc868e90d2e11865c5b5e GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T)_einzIFV0Yw-~g8YIR z9G=}s196hP-CYndOA=G NgQu&X%Q~loCIEd*Clvqy literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/recur-fff.png b/kronolith/themes/silver/graphics/recur-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..edcf68c9ea0f54cc0ca5755872162313d0df34c6 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T!8}r|NqxiHCq7`VJr#q z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QK$!8;-MT+OLG}_)Usv|)EOMd}LT{gS zTm%ZKd%8G=aLi0jNJyB#{)ml@mA#FLy=}g{gos?j4K5xYCLW$Y4w`HX>5Ew{q?D(p Q1GO-Cy85}Sb4q9e06_UGG5`Po literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/search.png b/kronolith/themes/silver/graphics/search.png new file mode 100644 index 0000000000000000000000000000000000000000..908612e394525fc2e52a7e9b94689c25ce167381 GIT binary patch literal 692 zcmV;l0!#ggP)m+BBgry{~j2fHLegbHP( zrgXNbr0}2;^nywdjLjZe?uxtrd3D(pZH@fFFc0{BW_~jxoO1w7-VX;6vK@ROA$$R6 zEmo;Ht-Mj|>5jUy{bQ^V5@53LRI8AgLpUm|m+15sqcz@QtVSo|oz7ArM8?pIn+>gN z0b=4_b5O|4A*;Q+vc9Vqr~%3V155*NV~@gTz}KSUiKB-uJzjMZ>5%Q#n24H!V{ zTY(LLAE*NAHZ}C#wnj%Bw5OFIkRhkkAW#kDC3j9Wm0YXRaXlyyp>#mVfYG)eC;@ab zDb=T-BCAY4LI(Z@GOTr2V_A{pRwSmz+8Be>CjAw(=gnbVWAeguvZa93JmL(EDxv1m z0OP4q=fpAK1Mq!C2`OkEn37o;m#wF#(t(8Pu#S?2f#x<~4EO{@fmm`p9veD6RZ_jp z@Au4};q&`XuKEYgIiB4((kgxOs#YdqJw0fY>9^K_agEu5+$#k;w#%I2N>n_?)YIqu z`tq&#_^p?-%K*U0^}|7+9U(&k0?s;=r=uCZ%)H9_edH8wK}gB(nUB1FFk+2Ol%BXV zHoFY`D~2x|21KIqEP)v;U&v3%|^C`Ga3?LtY&4dQB4Oz;1v;J%z!D&%WRH@BZ?x; z3)8@IUIv@hG|@IwyHLC`l{1<4BK>wam95g|i|?Cfzt876&-Zx_0f5*l-9`IJI&mHu zE6$@xB)6N}7VeR;!X8D!TAw;;&0Bsj?A071cO>X3K0wl7WZ1;Tg!4LHyNcnzoeQ7t zNW`aSlm8WXYkek&ir$13=ngczvf zV0vnjNpCF&K8px}dunv+`LIb-sOC$_jD(;IBI$xC|7`(+9cA>Vir_V#z{?k7SX^Ah z^71m~W@q439Ycqfhi7+gp#A14n1n1!e>$EdeATG|f798Y=ggzwEKH2Q!qU2QA(Se?dwqG69%>n$6rtE z%F(845Az8c{w(XgimJg96!jLMz?zS6I1HUm2baqQx7&@nx;lhHA!r6vs2|fqJETOu zLxeu2OQ(3(au%dg>AcZsWI(zXn9XJg1cLe8k~0h0wOL=&HK}7X k{AKr*U4z7Szv)i%9gTgghwgU$Q~&?~07*qoM6N<$g31kYk^lez literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/unknown-background.png b/kronolith/themes/silver/graphics/unknown-background.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbb71b9806fab41d77115e018665286ac33d8cf GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)N0VEiXnMEE4Qk(@Ik;OpT1B~5HX4?T7YMw5R zArhD8o;GA;FyLu0_#?fl*D8rUbc1$y#MQgTe~ HDWM4foa!I7 literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/graphics/weekview.png b/kronolith/themes/silver/graphics/weekview.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe695f51fce503e1a4838ac4a93f5b9ab95553c GIT binary patch literal 480 zcmV<60U!Q}P)@KEQ1dB*OY;8rG{0D1W!OBLkw-N=dwXm~N1QE3ov=J3VoAfqnBj^Uw zM54xfXXYG>dvA7&AS)Rd=55|*zRs-J<}fw^c=>n$4xMPD-K#DN!X#CQA!mRGN}D zZ(TUGF#(W$<^0Ccwg1U{{qg71`xTV51~7eg8EmKo6-0FJwt;A&35ej=)z?JS>H=Vx zgW<$+P+1ltJpkL>eL3^by|8WH ze>3}MeDdL&w}0&U;_Xe_W&{u=wB$OQFuT8lHo6K%Lkr8Qp~<2Rk*PT#N?1z*LjAZG z0V$SMWb~P*tCKk(rKJTl0EW#?05TH;58iGu9(7SR_g>A2D(<}aN*l$^r(ZZS?mmu3 z3%3x}wQ%n2F|r2jd;b;=GO3$dFC@Re@#xc;wls|_B8y59C9?8Bz|QWU=Kw2*J?FpO W9yz<&(0nxj0000@KEQ1dB*OY;8rG{0D1W!OBLkw-N=dwXm~N1QE3ov=J3VoAfqnBj^Uw zM54xfXXYG>dvA7&AS)Rd=55|*zRs-J<}fw^c=>n$4xMPD-K#DN!X#CQA!mRGN}D zZ(TUGF#(W$<^0Ccwg1U{{qg71`xTV51~7eg8EmKo6-0FJwt;A&35ej=)z?JS>H=Vx zgW<$+P+1ltJpkL>eL3^by|8WH ze>3}MeDdL&w}0&U;_Xe_W&{u=wB$OQFuT8lHo6K%Lkr8Qp~<2Rk*PT#N?1z*LjAZG z0V$SMWb~P*tCKk(rKJTl0EW#?05TH;58iGu9(7SR_g>A2D(<}aN*l$^r(ZZS?mmu3 z3%3x}wQ%n2F|r2jd;b;=GO3$dFC@Re@#xc;wls|_B8y59C9?8Bz|QWU=Kw2*J?FpO W9yz<&(0nxj0000w!? zFisFv!T|cmRtW;1f$>$s0G>^*GP-h`H-mzTP&3`b(d;hDCL-{+T2LSiJi1S%34OTG znWn~v^Brk?FQB#MFuosf?qnt!t(A%g#tAAA`tV{p&t%~)6GMus628BV?|aP6=Lr0O zrxPn=6Fy3{fE84gngF`mQ;ZG4p#ul`mYb)mJw@Q%q_eddamvg>kv)yI#B0M!3sxev z!1s9dp#Z>KE{BK5@W%p1Kt!2cEYj2vBiUHDJ-HCTS{r%b!`Wj=!r&Tb+LFBfRN!=5 zl7aC&Ul)Foh{s4J>JU)^p9+C-Q44MR8(8|WK})8dx#e}T%`v`wFOp3_q9I1QsXihN zJVaEgK9Y|1KAJgEb`m$%VXVVh!8pM>`_Eli`}OBJfVb0i{tF{QT8%v&>u>-7002ov JPDHLkV1feuD8K*! literal 0 HcmV?d00001 diff --git a/kronolith/themes/silver/screen.css b/kronolith/themes/silver/screen.css new file mode 100644 index 000000000..6aef3f048 --- /dev/null +++ b/kronolith/themes/silver/screen.css @@ -0,0 +1,22 @@ +/** + * $Horde: kronolith/themes/silver/screen.css,v 1.3 2008/03/27 16:44:06 jan Exp $ + */ + +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 #calendarSearch { + background-image: url("graphics/search.png"); +} +table.monthgrid { + border-top: 0; +} diff --git a/kronolith/themes/silver/themed_graphics b/kronolith/themes/silver/themed_graphics new file mode 100644 index 000000000..e69de29bb diff --git a/kronolith/themes/simplex/screen.css b/kronolith/themes/simplex/screen.css new file mode 100644 index 000000000..664de2ff8 --- /dev/null +++ b/kronolith/themes/simplex/screen.css @@ -0,0 +1,24 @@ +/** + * $Horde: kronolith/themes/simplex/screen.css,v 1.1 2004/10/17 20:37:49 mdjukic Exp $ + */ + +.day { + color: #FFFFFF; + background-color: #7390B9; +} +.day:hover { + color: #333333; + background-color: #7390B9; +} +.selected { + background-color: #86B4DF; +} +.day-eventbox a { + color: #000000; +} +.week-eventbox a { + color: #000000; +} +.month-eventbox a { + color: #000000; +} diff --git a/kronolith/themes/sounds/theetone.wav b/kronolith/themes/sounds/theetone.wav new file mode 100644 index 0000000000000000000000000000000000000000..3f6663be293a511e0921e3f30535843d92ff847d GIT binary patch literal 24776 zcmYMcUvnF2mgd)c=S%w=_}=#$v$2kLjH70Hwq|RM9(A)@HRz%W5~@-Hm1L4Hk-!Ti za1x13WFiwtA_*u{f(VfXs#sJ@P0ngc)9osIwtIFx9bw0Y!#Dmq{=KYrjJk`Z0`t%N z=bYy}=Q-!a-~7A3{LBCJ;733D#h>r|#TQT2fB)b9=tn>LSN!k4`yYOE_s_rj(SP%! zN1v{5A*zE*fzqSKs{z?p|{DZa(7u{z&-fho^Cgx#fqu z{`41f5m(&(VG`b-{+Pd*sd-gKU{ftwfSKtXy*6-&&|y5?&BXG$4@i0ySWYj zWrBCV^cgpkFtai93!|}_mYJKG+7EN%67z6={4l>C7Vw9){b2!l+udNym48}@yA}DD zALcbbjD`^m{$+k1)AGC@<~JO$@c%MDR*5_A){cjpZM*xy-1yu~@NSYnJoIk2%-;X$ z4+E8 z5f7cnac57-Xe^3wLC+e!84` ze!3`MR>>?%mRX>kmfcml)3TM8ao{*lTgrLT-2Jq^_tZIVwH(JCX#0t^YqgqI^KW-8 z`>?NVW$*X8w)J3V$9mXub{mc>%R-OzaT>ToZM&0Ry7bdcb^h)mKda_nZKliIUu>(h ztE#--Y~EJEL|jRftDopJh;wl~*X~&Ne*Vc%b{>6N|MD|S^dL~JhIZdETMS4z9WGW=ga*kPxstC%WXOONI6F>+qIniFRhky zq_y%y8*}dKj+Vn-`^f9|Ff1*w1yuiyUmAAkFY|MdPJ zzkmPT@7}$A|L*4d+ne9rzWwd{H#cwA7neo3j_0S@d{u-+(oaQc)v{EB|J!Zb(fVM} zw>|fO(YoSxLXkxl7g;briP8*1945;=FRR7H=Jfn|@vP#PQFt1JSu{>hMrq;>q^-TS zqm?7V&!@_@?Sn?W`RV=7nZdo<{oQ-@IzR8<|Lo@<@6F$Fc>ZGk@`|lk&$pMW>&xfccUNz}f4zNwxxKkuzpA40Wl~m?#q(mh&BIkBi>TwZ zt&SXMv20KE17#`u3r~Nk_Mhm9$cacbJ6+?6k(=hOU^b^kRwjd07B8c&*&8lNy!1s? z6cNAggt+umTlq>2?9Rj&Pkmt@@zBq|cw#H*D{Z&j{g$=6bAPvPwHlV==#gL*Pmkhk>J>fM{KFROCBKHF5MiLTz z&BlJ3Oy}8TUb4WG(C>NT?l~>X)mr+;dNd3oc1M|)@%)qO*^5<{FBe4-c;ZPK1(PUT z@X*s_nz3s#7|CcpPZ>lq4Wht3I(_`E2dcBc2$I3o(9zSe;_P}o0POEirbZ~ss zv>Ln3FTZ&Fv~>V(OwB{bS#k$WQ8=B)NwIoyzA2Wo=Wts;$S)>gozi3a-GKvyC<6e7$u_ntd!H*0}enUpf?J_Jf9@Na2$o{NtQo*#=4xn zs*2Tonq^5cjppU)dh>GqVpBdp1$KxmA$LWKgtvJ;agUuxmi73^Rr{*l7SX!Je_PE* z_4}Xi+U|j}0imJl+D+#`_r0D9gaLnNfS_=XX9j1 zJlhmuVw@?-l5nwkaejHaVvDML6b6!?%%2tW)hi~JCm85hAGX{3TDrzaN7~i4Wm`?h zdbID@9q(9+>UeC`!v|LL^H%GT>Kx0M_<^lyJ=R{Fg!5%uUOYd4S)62XavF_JrI*f< z^s9^KUu{+aHsYnv1^j4vd7hjU;y8}At8}BKtzTN&(fN$+vg=LdG?lK`i7{SzGCJW? z9l81>lW-Bqa&q%r%>!G7iQjke!97UCJaC$y?bNKH9(S$X`_^HX z4ZqxofCW*iZ5o=j$AAmF@QY<|6X6>ZE7q6*F(U(==UY+O>9envM!59!_f8 z-f4g(?9?AUvLqcxL;I=agkic6d(Sc-&5L=$70cP|q6&DNEot%m#kz{p)inS5qADwK zgET#R`_1KxRWZ)bPEX20T(@O;VK7NVS*^pT?pQlcdzKAk1cBY$vzmIb zTD^LejWMmo_9CA~&J!=h@HUGi(%xj2FBXy7J5XNv_2u??HjsI~+^(~Urw+VqarVtu zm2{n^ErA{!?EGx!Gt0}^^e2yYEoaXiY0G+4t3!!SH<8k9E#>PXuQ1uvPj7C|R)w^5 zS`@37($wz0Y%k063+4-uoLv@vD!c6J_P4j0Kj{zBvP$B}`h|65$=6lntDXPQuw8GU z>wkU!Z)(oWmzlb^^SAY;l&eHMtC_w!|MtJ!X7gZQc3xQdU(agi^_t+f8)X+Px1WoJOww^PlcE)S{a7?47^bY3>p5RdcuT zK&>_x+f8tAbnGp**H_Q8zT>9PuYdc#8uwcd^~vJ-Iu~$7rRVrm()yJJIofVAy>C6# z%gxtsE(05eb2?`67u(yv z|M0#rM1+qvRdHmwgW1`eH-)H&yVf8|PiC&Q$Hpu#sv@#>zf=;Rt)sqbey&FIa(yaR zW2bIO68P@@pVpg)Qe<7MJEm_Tk9<=LCd#67}t zvQuCKF39$NeVJtfR02yE>qu+YmGf_2R)zYK;48}ri3ruZMPs{uul7nBd1{xb+6a9cK)^r%8PBOr%y;wl9O2=aVX)EM{hE3x|l&w zipk8^JUL8PL7&L2<19>a{Y3TJvM78nXgiW6@v0h!IWI_)u*k)B+Xp(!I=XK?FudOD zTCk#BtE)R9yYDgkWj@JIqVasSDz_KKvYbi0%Jb)|sUMF0X<5yti5zP2Ad)10o;!%5 zIM030)5ntYOTT@jVMAl-xXOOKXFpZiH91D(>0#St1KHQk&}4)o$OneEK3f-4;&{1P zFY^HMHOo$y**woiLlWCK30&7zgLpo@V=F+1Z|)^)lW}sgnEBndOZE_Sj-37dL-QXU zILqFbUp`iyHY8W+U^G23)R%cJPv+&zVsV;9`OD`k3`NpaGOs3@^hzg5cR;cxQxdSn zl=$0LUNTBf;f2#^z=p%*Tu1G(Oc zswkgll0VBxLPbx5!SW@)%{nebV=xbhyzW6fgO+DK9l{G2kq!iBU0GuGh5rXL>|=7as=1* ztUA2L9!w-!F|fIKi$ZIX9{gjuep8WH24?8-DaIKJncZYkL}q<3J!ZkmC&jcVPywK` zdE~H6j^KBbyKQxpryhHHw|Qtkaw7d$_wAM!IS$b4gtEsC!PzE)Adl0ttQ$^ThgpD1 zlVug*U1lVfB5{_NS^Sdu<;*^j$BG3s#`1!XBC;4mnN)pOdj~Aj!BAQ(Uc>UVrN%t* zEKfHDBsGKcX9UXt3X_#@*3r_K;Au3BBcC4Q|c`D!}ljztrlUvRrxDx^jXzAL{ zk$vR(-iTbD>_(Bl!l52pw$|Qs0>eUl=xXS$=jv&kzI<6NPm3@jwUTt=30X;bnJtny zi!a1(tCBZ;A?fyVv1Vpzp|~?=3!2yt3-g#2&8(JXnQ&V_w9`uZPkB_<+PBn-Wco`- zZ!11cPtP_`w%GjLju+d_MWstfd)K!~=pvJ4Z7-KHSdFn5)s#$=?lzo2Ro)g-Yb?(%Rqf*%?rMG9u*(mV_Kua8zn0p+Z(LO8!VGV2^Q^A7H{XlX zu-^XN_fj9oci+Fs?#VNrXMJS7y|}b@>W!Pr#HwlU`quvJFRWs5C7;&Sx5bInSo_Ns z*CpHAo%^4v?P_Cv?4{pUL+jtD+^ks5dbioYK)mlRed{AhwwGNal=@gMmpry1-*a89ZCzK5 zC-)ZFVpD5Ak@x;dy(aP<=(Ag1-rRl$F#U0JX<4iEpQ}W6wwv>+;aTPP*{a@9`bM03 z{XE)cJNwr5GOcRRws)fH^?dQI)LnafyUl)L?a8I+TK(DTwGbt@S4;V8UcXWLo_b}r z{)ztX_Ur7S!nmjS%=yh9vLjo*y10`2Emc;b+}G3X#%kTORxdVIvthlArmCK#H=DMq z>2-N&6XIV73#%r*>uTTrNQwnRZdex*S+$P3sg(T*3wLX2OWp};9`^&ePJyqM=IOpQU8_QwG{iW2LFG_J(@@!FAIK+qQrFFlpZUBIK8ZD~Non5(| zRaWg$<3c*>z6sU$>|MFcs-3#6-hn~)7xU|?sh^Y|wwt=`mH%aPE^2%JZFZoXoA=+a zDTIUxUo?w%k@R{Q>!U&X7URalpo}9$GWJ#k)PLh&>O)7dvUpI)fzAO6|!cT zEuxP|=x%NGZ>`JnpTMHp%^Htc%FQ1ozbCh6{|{Mn{ky8n{z^Y8Z$H&Pw$_X9$+2tK z?9@jh*B=h$$JU$ee+BmHH(4nkOKW?p)Sp=y*EMRjtzXI~ZR@7u9je%VZ#8T6uM6A< zPrgm%6M6mJA2ZL=@4mhjXwPr2GV2pX7OAX%r&7S6eqVhBjMdcQe+Oe~YI(g;_CvW` zWjp^%Q@*_b{aBccOh_2zz58FV=TV(FaGlxKeKe%1?%3r&ZPu2RF7Ye@46bkM$|?U) zt?RX}dW#J4Ntu<||787K-eE}e#y7HKe^OqSmks3*8@8fuieEz_yx-q$H#LdM?~ABrMe0Tx_NQbhQuo;AhcJir z*&AsZ1m0HUIEyOGz-@1h+9A*4XCQE&U~c`j!hgi7*Rc@f&c-rRT@{ztAm*-oc>N~B z^?tLy%64&LQa5~47xiXO%>!Mlb?q|SZQiruvr6Z-x-L+Xv-C=I^mws}g0>O%4EdWkRkTwpXWI`rT25u6A=PLb-Mg=*<$L+KS(9%e z6pc^imhpWevvFV5t(#0k0Ls7ra3vpEoAUqu-d1t3{pZRmgYx^xvfTLQ)@sy0DgSZ9 zJL)&LbNnn_Z7Zp(%iyf~8{#XbuQTgsR$1ig-`1SPI%xbwL(bl34;yOv z_ErpE_+6!b)zAd&qei3ryGnibabvp~YeMFFp39$G&oSNF$5L>`e}GW`Gd7vcfB%2V zzEHC@gZ@}@Z=2QXfHyP*+jzrP28vfHkl;h4Ux@u3yJyvng{z-f7q-U3*5WPYez{>V zb+T&n+z%1hWiL+4n_FxHrnM*J122Kux&;(^ZCf_5SS$qT4ZyxlA!f^DS>;MrmWDVT z>)}{FCCa4AqIj2N)_pi9^)nfS%OZfAqhVyaPpVY}2a-+BvO_OU=ZKoFO4mY#q?2c^ zWXN9ui9vc*#JSZVoe2=EPKg>=h@EEl8lu#RUBerJ6v-kmYuxeDUkdu^QW3 z#%X!WHx-X~5npG&ynkPoXVG6;mj14C`I-JUv-QLB?=G^IV{iYMLoCRQq{ZwjQ2wL3 zN!p2~0%YE^(gkp4sr1`75hh;#ej~oSxcP_5b*=J4p4fGLekERGr+o8OW!D<%a$W2+ zCOHqhuZr@!OC&@2`cgi#zL4KU`;EFfyOIOg)bm+D3|{6vg=dxLnO(D%{YEXonK{5Tc2INlzR@ryl_9W z!^JDYn!ViQ_HOGCpK9LQMK-X1$uOT6@;P;ciNXl$FQQ`)?M!^T)0SLyENe0{5+T!FA(BY?DnTlr<*%|y)>~He z1W1DTH#M#*6V-CYD0MJE@?b`p_0BRo4&w5;Xfg~aq_oJ_9Z%{admj0JA`bUbvyXki z2^HUwDp*`bs?5A?)lQ4iaxH^IdDL+NWrG(YPb5MG*^>;N$+j1XJc|%XnD!GnbyJwk z*ilP4qGGYYyM@#j<;1cU;wE?8+I&iwWc`*A>jO#lE;0w24ZP_Bo)it{;XBcz@KPNLsAhNyOCuvvA8r9~mluSMRDHGT3o{n^fxImeot^-QZD1K;xM)X;n zEXu4Go)#}w6B-++BWeCO)@|pwBV%vS)kp@Kl3^U7XL;dhhFECI(1C++NSTD%Jo;5f z_NnQrJ#Q2TdI-a(SUxo)p@Jo+3o81@=62lw2ZDI*4_XK&$7GJFBFUE!~|ViFHU*=7xIeIyf0_`LrmE` zL&QMEi3_t*eZZ)xgIGSdT{sxhlE5hUyz$~S+6^KQp`>!;5-C?f{l`;#N4f1dfW9%A zMqTpdI%+rv>MT1>6Ei+LloVg;+fJIGF4>Dh*{xq%CH3+8J^KIwrbXtF5VGPFSw-ny zdJ%O}(GXc%c}qM?ENsQdd1c{{w8)E#N>NbPi?yxuF%$mG8iv~nIakjaWhskaQ|#%7 zK&FNjPNa}WYA!IldU{H1LU=h!vqzG7C1Q-^gNw>>kMt~!QglWVb_|!Hxb6cT4N}#j zJnwQZwf!xR5M+pTiR-nu6Ud5OHMH_3d-t$!bB2GGkt(RS#Cqo<3LG9N9C`xc$H1(Sj{S1 z!S^gToM+UyG(fzk9QRC`%^ll|*9nHqL`2QE*G7|<{Az=}1vweCHI_39N;Uh4VX6Df z%YAg{rtfk8NSdh=N~bV(lm%CNAJL@()yR`I=~? zPL^*kQ2`fOiV^7)L~l?^*+!i}dDFzcPc+&fht;XpQR#8Y^^}UITfU+IWKWXq+6dDA zBC0#VVv}nMUf8`CJYoH;Cit_#T<@bQv*_xq05fHNee&Zw&H-mv=n*aF7-@ND=a&yW={51xqR8+xa<{DcG<&ZrHd0~dpOv(#`PV~PVqF-hitx)^vGYUkkfkvt(XCr4EdZ?)$vaac>Skhw?KaVIWQE~$uyPae)lg^+=C!4@5X_au%%Vp4Uj}DVe_lC;W za)dAxMJd-8FLK~Dq`W49H<+S(JD%zqAZ58cmx88N$A`3_pu$fw^zuzc0lS(J7iGQ* z66B(kd~(zuAcr^V_Gb@NyJ>m$;h5XU^!cUp0M=GOUDC7an%^(1a&1z9ZPaUQDv`MuTwInZLN9DLpHxDm%Sv?)nQMO(! zUNVv(9|cq9OTCyBVUkP~myHIAwh4kR)u?eyd6}R=)oGk!hOX1~7PPPgS|ux}6Ub)d zc}Zpz;tw_PO!nx)>$h9YJ?^8yunE;jvYcdqLfLZr&DAFA>S(?!XvU#Zpd39;B30kn zrC6kC(4utUORzlO>ABN`8DM*5_WaBws(se|O z8G&!F`73fi0(a|>kLL3i&x?i7P>_~yP=t;TX%&pv=jfn=ZEn}e3AK{GOlS+sT-*9o zs^wRedSD;fuq&`)td86;y}rdes2vtTk}sY~&;FGYKcj43w;a3Q9{7EF5!koUVx6!( z{q)&%m6UJtz@@l!vzh1pE+S4aO%PW}94*Q}LF;GMQxvK=iW5{{HNl8T7%{$rQs(v& zgMo=&M&kVHLDO~ij$wOR|B{sKIdgMlluzQ-Z1n;O7kTK0o&~rdC48z%nR@#0Awpx8 z>Bqzzuj2t;2<1i|UKjK;3ig*zGK{V1b<(Sfrdd}gu#2oB;Aq$A>d;@(^k6W`i&3Qh z#v01vd0Ezh=?#n5du5T0EuSWzvvRux6TE_Jvf4>9#}tvrJ?8+xFQfiF|#iyF;?9gCi* zL_h9yT{P=5QX$S#PB7FMqWwGz&$3P#p%pyVrbbWNi6W!Dg*-;DkYWOpIwtHqXSy<2 zQre2zX{AjaF=!j)DdhkUNsDM6G##pvR265Gu3aaIXs|pqO*YIW*W5nL{E!Y97^Vb+ zB!d65yq20yXkW7&AU!(r^nPz-pf`P8g|R=#*AS*&dIDHWxUNET?-t(A5JEV4{tKMrB31BUAJKG|$pBp^1Z zy&eKoWV+(HE?~Km8O<+IL^F$bEE6yZ7D_L#+mUb9F3aN}7{O!9*9m@Vlu;kM1M7CGtNIM2p`fA?%p zX*x5ct$IV+kAY~a&89KlW5;Pdj)`N%$(qaq(4q$kw@p}CIwa+Q_C+ndwteu__4*!7 zMad!wUGmXfDFkspk zL4VNer;rlvB|~B|LXW$mca5Om}cx=6)RX`-~5>9CZ&k5->GvqakvQ;)eThC}diRtOc zrKj(DRHs5eFl{Esc-L|3i5ft={qSWr;51E1<29@xikGVyB(OJzrH7L-RK+A5d%6!T zbg$w1snyML<0|Uk=+xJ&dBO9uhe*Wm*ajoTpGX;4e&ll9ll6f*WKM zrBJ^42@MvG10+mzi*9>NitypVH)J$j(6sC5#Ao+|IW4rL<0~MLhQ}^MIt6P*A9_CK-;~=O~IA4q+gs#nfr{2HsF(9Q5+8k|>S{Y>UN<>ePVT z{1m1MMeKCDYM>oDX|0yV9(?^&>vk{+No8@)@hn@f=}empQ@}hK`2=i~oQdo9=ucx~ zjhPS0NJ#>WW)cf9o1^LJfK!Ur^_&J;K*c?ew*@vJQ338#|)Hce0i zgIWquZYu@dG6z1q@q~uPAkOkx98+bU&|8MSj~Oy_&Y^VO!;afJH0O?J=ITK$%xSMQ z;cp`-HI6!8K07TY2}cfSQO0=vzB)dl(fjC-8xSTFYorcJXn} ze9_WFLv7FPV(Kh}fan>GY(RIuB56TU3z=0oX60Sw4*I6?XWw=0HjRqjXxKMLq+$*i z(DO^P=&CX|rRhmN2UffxjoT2wcKhJSKJ0XKw+9>Sb6kPgI03A}dBVgXo|DBaUFN8A z9a?~C`ElC&_$kL?m=<)y@z`;wBr6q1Q8Ama(y4i=fpFTqXqEIQa^OK#AiCbc;ZP|+ z9|?reftQ*lLUyR23lAU*Ml`i^Kn3GLf9x20{8AbjcM(Kux7+4 zb7C-?VRaE@Bb*{K)@Q)7F9CCE*`|FKsB}f})=odalI3yN?G&081gg$i|N{Ldi<-rL#FA$lI zef@=@*m88#>r-La_k8xV+w(L8S>h4vXTa9PcHN0-zT-X8!54czF9*L|FQsc9V}kgF z#3oPz?Icg(zeETK2MGtWH+&=Lw+U7Hh*-=V58S>^W^pu*W6WU^Nslt;jL`Fv0MH72mI*hf3Th6tjoUy)kC7?P zxxtZTOvmk*!%2%%7}Ws3jmHuuY(4VA2>H9+J|xP}TnmHJaD;e%l7u5*g2xl6iX`ZT z&{-_K7lac6J7NhZhe&+Kt|7}L0#KbP-q;C^k^#MbcCtzk2$$1<2H%0H3aBprp}OSX zG@!Q(xAwfFfe|?-V+@Zq8-q$y5*|E}-`!Ogj@n%x`=fOclr%)%A9i&=!NY?=h^>Z<#nhC?+5gG`Z34zW8P!5m)Du8{O;|xqn zx@N<;mkNft%Y+DS;#?y!TB0fAoS=gme#RDH6o)*L)@`d#9>J~)PzF#*PgWdvba%;$a(<@r44uv~XwPP>@g_-Pkb zFdP!B4@rErv7|PkIL&4pd7D6;Leun{MQnULA>0{?tve8e5r-BD+~DPioYjTDVKye8 zV*Lp6fk`08NYyj4q(SVPMA$c^fI!S%)8T7q0f{CF=@9vBIU5nUI5oOBNk$=@o>VEC za;V679PAzMI@nh}+^;<#FDFVsC0VI3G6xZ$EHN$6#W767{j$=8y$}sH1f+G&=a0;B`!XeaEpq22K=!Z-A_>NmWSi zSpA8@wEDw7b7LNy-zHUK$&)GPxMV_B>kpL^`u%Y1>O>UI!j>W|d%#N&LCh%u6Rb(XINZoF47@!c3gCK%GI1^ysyJrG zsNcsjo1Lx*9yEf_rZbY!tSA1EK-X^{xacP%O`ixye-U@?I=jJ46pthrr3C3IoSuXF zJpdvKP(0W|N}e2J#fFBs7?GQIF^2h!d0;OP*b&htAxwy=KHz|N8Hx)o=^-`eF~-yx zz+t5aS~Af=oS3$H4-vrtGZsqsJdiV{Y=)W?jtn8|!0O1c$PwJ(Fgfv|DQPz01WHoQ zf}rcgbB?EV7~hEK7N_Ge(p?u@(tYv6#88kNaiGuACm@idQ($7q0SyMDM}QN@Q4H=K z_XCdVy2rXVPB3b$6+kmafvfU#5D_)UH@Oze;k*0HinB|QK+3jzWdWyFroU`p^JfXdKtU-JUp2Y?bd?l8*1S0H%GYKVw=`hT_n<&N zai>2piGH8%6-GQ7B@r2!OefGWZ(yvMiLjt-6%pQqJJMdR9HO?4urWL$==R140VtdN zzK>B5HOco$g$)0_yE%*rd~py=VlM<&n!s9|3@rmm=Gv*FVOv<$AS<#+P$702X1fZC@_K7 z-o3}5RUF_DW*CE*$m0zOHq)q!_Js@#(jowLhl3zxl7xHh_ZpHqSir42*#mL^ce+sM8Y=)kPpN8upJi8tmxgc z^}sA544Z-p-KiX`-)M>u&7nM2ZO|uU@Vs{08zJEt_Buo=M&U)>>IIz4F7sD|~OG8a$Yz%YaQy_-agVTUUslq}r43d|O zeHtY*vPJg6REJ?)bY<~bGJ!?*heqSUFn!`MOvI!fL^eJmv;^I5Zv?FlK*R`|36kKo z@E_Pwi1Qj<9u7P7dPi6|=j91hq{RTb9zmJ`2FxW@=td@_v5QHB6~l8pO&K@ICns3D?o@0exjk#-We00902t202%wvdoO?WPIN zNa`IU(y;{Zg_Bf9FQ#?kBp)VYWP^o2_>ol-=x4}J;QM|ro;G{K4!xz4gF7RA(H(ZpUHI4x&tUmT3@+1|QPy~E42;_i({D%F&MPnj% zkM)~`qS}<~P0<`!^LxFaAr9~wstU%2C`j-PI%&b7Wt@&b-T-+%U?_ac!x&S;Li;9b z2V8ieImC_^ur4e&92eR{QG|TcKnda3WQ50U%G3!M+#j*rcsdJ)e!`eYn$0`_FY}^f z=rnISJR;{}?OF81?;d;PVRWOBQ{dBZ|IDWtV}cD;63hn?WfYG!n;0i(+D^xeq{~<2 zm}o;FqcP8Al@gyX{vm{U!|`3Ao9%_ffrr4InY*d;G88T&E+i~4>zq!_SyNMK_X83W zzHr4P$7~q82olr$M#N@;jmBxdg#$bkSR$`yEKD972XkTnBaBjYFetCxX>&lo&(dQk z7$Zx8g#tV{D$#V}v-gMv5vs$`3n|u{uaDBlK%+@|HFUH`^kC;P4w72D-|z;MHW*Dn zz7tKr2pnq!98tX)vu_^G%0T-pf**~^3pgl<2E(CRo(d7cBPq%uzxIt@YXrnGK?Y{Po@Aw$UlM0!uokozG}UM<6q)t+^MY$q%zPhwc~yG}JXx<+C)4MVqxfG_gE&?F~B99kb=M>z$ODGPyy0mEX$*O$99os z1V&6Ds<9$y#AdJA9SlWy0axIc42YHlA0#%BgOMO1pskN6Rpw}p06mm}Z(JdOlIipP zRxB0&@AroWv`m!fjmkAhy^mz)asE2S1-ZLaZcqaX3*%&e5f%U~g@n`}T6=%NEYl@l! zlV*pBo$NI_2fj}X?e{5ku~H;a0hUq_5-$>O~uQIR3lPOzLKbqZbBRnC-8lSkV2MG65^RLbf}#%K9ec{283M_ zEbxQ{N{nI!jKTp}2tH)Jv1Zd9Lu59D*^md!$He}=o=gq(K)Av<;Sx-ZTn3{$cDp>e zN6A{oL^YI724P|_mmsTTgF$b|znCxeT$Y^62-W0E{F^{!KIpT*q%AC8G&SGFHvx5F zyJqEKt;Pbm*fje1tedfSs97{3C;>B6oD4=&x8Z*nk#9^T95Vs4|91{@_qAc%9b;1_ zlNy@{J|2Ncm=1xNfl%vVrdT9a$$)ehp`EQ7Qu?BuZP+uA%`Y$)AeL7$4D8`9BLU-J zEaqN*z^CtS#$tT*Z@zU9(VWp3v4`#eFl=N93iO2M01_0Ij2mLtcnVC<@GCld2%DIi zVWNroa)mBLKBw@3cfjF?upCdfjnG1+j7(%S1awUun|L}i8f-u<#rO+3jY(hTiQ!*E z;s9wrC_!a}dnxO2jj^tH0)-}&{J<%&A%j`S;8c3h+MyAHF>%7}#n53iQzUW&F!%;m zNErl@K-f3xBDRFth@Vm|>yX4VMMD8dwnHRQA)A;}+6JkjI7MV&ZpZ>-!z~FmgjTu_ z$Y?Mk;vb82XMZM*%vqwaF`I!N88%1G zh!u9skTW)U1ZoceCA60|D2Rcmp32`RiN)L__7&Q%&gLFyQ z1be#pwE;;C1`wFwnC9}ktPQg=>^&S4JUjg^rfzIJ)NPCm+XQ3{wo<0TKd}dZ8B5p$oyfLWv?-oWMTmwT;sB__+X*Np@}P0uQ6JMMWJEu+s3W6- z3-Tl1I3qq3#Gr%;Ha;Sbhcd_Q1{fHc$=9gfAg7TlW0T}ogg{U;B22(7SZ*V2nJ}CB zgAsdgRvB1=shPw@Lfz%NGXVx*4Jcy>059y;w7e40O_pF1Y{o;T9`Z_RuAuIn6=Lw* zip>#f5ZUOa#oh3wATdI{2|NbQK@V&gNs)}5A|UUapb@h3Y%vP}@{)y{1b_jVQ0U^u z1JpN@JaUO1l1hUIVKn6ZlY}^G#%k=@)JV`i3@zb%m&mDL?&eX%eG)Je^=J|^v2My5 zjf~ZUP;m$(VxHIscozVta86bfD}r@_Bc!-kFcHXS4>1K{(0r*4W^Z0=UPjJqrWTl0 zF<}m^Yru6N#F)ikr=T|G`$4(m&RyZo3<(QGU!^Ua8knhI@Dd;Mq@8CD8W3tSvubpo z83PZgc9@&+G{x6enN$n^rCFKhuoAq)C=Bcun-ztomkSs&d(VXwF(?Bt@5zK~*&G%U zxq+?(ddtx1$Aobf&S)se4MWJ>h&3>SHPM?phM|vs;D-ho?zn=%O=fQb8+x(XRl;45 zvK9VeoRZT^!z_sLNuGPR_uR`n4JR?7n>d1C13T{z*jygX(wg6m z%pJy+NP>-V(Gf?Tj)}0VYy#c}KyZZ-PmSNSBonlz2MB!bEAA zV0~a9z%!K;?nQAV(3?&>@%ueeipZy0X=HpHj8k+*qeHfVM-Rrv$;GP>J16RJHb#k&(LW$0Dgnr8eTZ0ILYvgzHVU3EGvI}tVNse zWMZ&@EI!HbjBgD|%T0jO7!`p94aG+{q8P*Uh*)GjFb^|oR?g^3M#@HbWF;x6lI-(r zLvZgblrP6J9a?;26V6Mn2hlV%g;+pBOziQ0K)nZz(>B} zw2TvXVJ6flP`*5JAqb_hQa}-MZ+wpMcxSGrH3-!Q`vMtYeT>tXLx<}ar>Wf<4>u5w zU7_C@Z4HxyXhj(zp3h7_DhHYnusD>)#RSs3djV9Ig`5_wFi~$o4Gf3jNvsfrfvq)F zB{K@%N`}tVkTs2k8Xv%&fM|Xipq#Sg=*G-|M=%%EJRsP-o-D}_Ic9@ll05J@03T~0 zR^w*|+0FMzv*LHjB3Tkp$aAn3v+2ZbOu%3@beEuN)(+}PRtD??EGC!g^R-uu&Cv8a zlel}OAuD9{%+%Zpsmy=@G8vj}u{55-|M6A>!C2ZDe>RldcqUo~k%L_|={WAnI}LJ} zs{W8zVerlLUokemE|Ww!8knUpMLmKq1skXpbA^W*of&{~X@vDi4nPKj4jx4-;=Um` zq#I1t1OtWztz-^3XCE>^KE~{UdaRfKpisz9Q|1Sqpw>8T40e+@m?4wln)zVT{AAGF z%YL#WL&7LYH#DDx0uI>{BWsv0H5dj<&9bq-Ch_DpBed`nqa`UYZi+du+nAa0593g5 z6#uYihEXGvlajOeCfR03?;MARGXhAySx#VqO)`Plcrbr31!6IGn78qcJ8L$-F|D;f zIJ5bf+b4G!2}{Ee%r=;Ey-8pg36k^Ou*{EiipF6wV89lA$asPwpwx&B@%!P49fNT! z6WJYvjKxBa=YeFlAe21X;mRPM@d0U80)IQ+qcNs}4kph!%tG07z#jY!7WI0L?XVJ!y*X^Z1KlTig$SCxy|W81zG6kav2`6iZwuc9CC6}T0QQqMFM(G4$+74w$b{>Gi9r!ikE7PE< z5|bh+CQYS9$LxVIP-7yj1z8Ub1qkkxcyKJN1IhvdnL-JZOdvvd0&Zxmi*6ruSF_M& zI;M_7uqOWpI?d%QDM--A0eXn$q~L}yVj!Mt0-r}h$A!EcHfxp!Rzf=w$cBxZq7D9d PrxTEa;^k)c{*V4Y(6!sP literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/addressbook_browse.png b/kronolith/themes/tango-blue/graphics/addressbook_browse.png new file mode 100644 index 0000000000000000000000000000000000000000..f52d05a9b8c1b65a6b7ebaa4d9f5cbd8f7cd45d8 GIT binary patch literal 263 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}NPtg>E07iy7B)0AoS`G^1q9yS zE%D)*Sy}g;+0(I`}^n3o40o9vbAg1u3NWm|Ni}#FJFH8^y%~G&tJTF@$%)% zH*em2{rdIWw{Jgw{P_R>KhVInd&K2|6k|z{UoeBivm0qZPNJuaV@SoV-1FW-O%6P+ z7sDJJ9Ckf@{QO=0{3(@tW~NVzKB@3hUf_I9T;kD(dt25tJatXCNm01G?N1n+xRiYC zQzx#kn_Fgjrv5qQBj4y-ytDaG+>*B0U6v}Vg4^dCvu1Tqo~EDkJqz~IEm$@7)pAt;B3!8e#yN>l0HWS|xX MPgg&ebxsLQ0Qmzc%>V!Z literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/alarm-fff.png b/kronolith/themes/tango-blue/graphics/alarm-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..864d5088e708607ca803d4dd94f1c23a57df491b GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T!Hle|NocXoPQU{Vk`;r z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p<)L71^VC4M4MkiEpy*OmP`D<`*!;e=&T z4}n7Jo-U3d9M_W*fFL>HL3+Z3oCJZ41Otl$3mz~yadPr}<#!0m;bHI%W|h)Zx;Gi9 Og~8L+&t;ucLK6TWn=YgP literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/alarm.png b/kronolith/themes/tango-blue/graphics/alarm.png new file mode 100644 index 0000000000000000000000000000000000000000..70c1e1d2c66f6f0fe768c7cb78ea23ce8d8cea64 GIT binary patch literal 422 zcmV;X0a^ZuP);g9;~eEsWs`st1L=BE4Woc8Lp|L=_c z@0b7ZlKSwh{qd;$@v{8!wEXhE`trp8^sfK(v;XzB`t#5K^}GM|y#M&j{`k}X`r7{b z=l}oz0001s^X+5+0004WQchCgVg2sLbmZtku|66|mVA~r6r&K62MFePmAmX7wers}*bPz8Jjc1~s{`f6hA z5G711I_7#>8j7-l9AE(tQE52^8A$Mh53JODVWnpw>WFU8GbZ8({Xk{Qr zNlj3Y*^6%g00P@dL_t(I%YBneXk2v^#(($TnR}B-G7U*PrUTYAO-$_~)`SY0g;DBQ zQSd=%U5p#0rCSRvf-7|?=t|wWF(@ulNPHHB5F!+#1Fo1C&nVpwJw|91JDi>Ji-p;#bS}#``x~kI z0s;lstrNJr$VQoFb(`U*UZQL8VVrsiYbTG9I;!@JK0XF~w9jh^tV?~3ribfmSd|S@ zO_SvPLkQO<-ZKQ6fxU4Py?-DMJbITvW^y8%sEzc`E!r50LR{};2bE@{iYVQ}EG*$w zmXWBqZes(pJ{Y;Tw|dLX z?scdEpq)6?|Lf^thfpc=!0`u(^(oXto%ZEX3jb6XN~;9PV|d0fYE`NHIA7G)c8{jh zhcnTwt=xRe1Cf?h+U7~?Gb*x+d~*;%Qp-Pm4X#hWojr5O zP%@Jf(dl6a(_IC?UU->DuDr$<3!A7~oHw6MGxPD6oI5{G*xtbhKWq{Pf{_z_1lOnU zxKMYy5W)f7;sqQGbN<|;A_P_@?OsKBdB%N^wYXy?z{hX9B|AAm%qhztbZF0Qk@v5O2m zI%*||rg7igS9h|o2VVr@J>%<{ ls{n0#&7ONiSw`}me*w>=TB^eO7GMAX002ovPDHLkV1j#Olc4|r literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/calendars.png b/kronolith/themes/tango-blue/graphics/calendars.png new file mode 100644 index 0000000000000000000000000000000000000000..d854143115f9a74ecb91e857f8c929f1304fd7d4 GIT binary patch literal 416 zcmV;R0bl-!P)|WNK7fwjK$H{|ASD*E1W4|1;p7T) zmk6%8o5I@l?s`VE2L1>FuwJjzGzH+!>>I_{rL))9Liq@fn9<2!H`}I-MX0 zh$!bJdP|vEO8FY-_xnmIS15KD$9&&+RQ&mBF>oazgy(s_?*s6Dx>u{!a5(JsdQlX) zo55hvYPFuvClOg|bEk|kNs^q;XDQ`kv8YrkNs?Tz*X?!-AdX|LwbpvS-{+Eu=y*I% zCKIJp6h%S^0OfMol|0WQqDG^UO9IgCb`OWcd_G?;m)2UR8vrwBSyn2Qm^qgur5umP zVHnoy_33nayWO+Z&-em}dc$UJH!~do0000< KMNUMnLSTYiQoTa} literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/dayview.png b/kronolith/themes/tango-blue/graphics/dayview.png new file mode 100644 index 0000000000000000000000000000000000000000..eaa14b41e1bc97b3c9a8b397e98776a5eb9ae006 GIT binary patch literal 320 zcmV-G0l)r^h_u$$S^)Z;O+$(mA z^QLc%AtEB$S&Ctdi7m-vvMf6)h%s>-D|qjdB$0GiAcH%dPPf~wX`1`}F8j-}1P+J0 znK|@vnkFKWn24A;OlB*{^IWc%ZpeU@Qr>%M)J|a-hH)I@SAN9#eE!eZ_!>XX!hcaW Se&qWA0000v9P%@aQ$P9XBP~(4phP5>FVdQ&MBb@06rxo9smFU literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/delete-fff.png b/kronolith/themes/tango-blue/graphics/delete-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..b98133f5a358bea0d2ca177602524e41a03b4a97 GIT binary patch literal 163 zcmeAS@N?(olHy`uVBq!ia0vp^93afd3?%;@)Hwm9*aCb)T!8}r|NqxiHCq7`VJr#q z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QK$!8;-MT+OLG}_)Usv|)EOKHj^5tpb y89*U1PZ!4!j+w~`2_7j1NfQ{Il-pR?+!(n2F~+kC23!ZKVDNPHb6Mw<&;$TD2qk|2 literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/edit-000.png b/kronolith/themes/tango-blue/graphics/edit-000.png new file mode 100644 index 0000000000000000000000000000000000000000..92d3036d7b1c8c72383ed1a5cfbf17674f2838e2 GIT binary patch literal 172 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kwj^(N7l!{JxM1({$v_d#0*}aI z1_o|n5N2eUHAey{$X?><>&kwem6JzA{mag~(}6;ko-U3d8t0P}78w2b|NnozM03W` z|DHyY?DD%$W}N%!-*wVOGi|}Fq!~x*lSGxX6(pwgct~yN4CZ6F_|R>S{{H{AKtmWj MUHx3vIVCg!07rW^N&o-= literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/edit-fff.png b/kronolith/themes/tango-blue/graphics/edit-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..c2ec8f5b0612c2d6d0e161a892cbc058c1dfb4c0 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=$1|-8uW1a&kwj^(N7a$D;Kb?2i11Zh|kH}&M z25w;xW@MN(M*=9wUgGKN%6^@dlSfokwRCS7P$2;S=L67m22WQ%mvv4FO#s*&KWP8} literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/favicon.ico b/kronolith/themes/tango-blue/graphics/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..2e2136b39b89d47c24637e475a15e8c10c909ea5 GIT binary patch literal 1406 zcmeH`NpF%-7=;f~v{;J$)WRpA;#{@P^%Ia%t8HA89DJr4kGV1NQdz5C{a& z>2zSX+o99xkjZ4gX0x%oy9=MshgPcvo6UxklM{G69vmJX!fLf5pU;EO=OdL$!E838 zP$+=M<6(b)AF)^r!{HG1dL2fi5re@1PNx&qY867E5E_jJM@L5}m&?%W^@zvg2nK`b zcDu-Cv+(=qWEK#Mai@1a0<-)#MAI*b zSf6eHOLF<#FRg-nP%c*{`zRJH3j_k1FvZz?B$g6-`}oV470Roh?{12pf4#8IR*m@; zCA?2_ZsGFs8Gm?>6^3~LS|C%Cds?lKU!$2NsKnxDgjF{$y}nK{JgA?p&k~lXXj(y0 z48w556PBn{v_dg%NbdoE&3k8KW8wSa;>DLUGw;Z}SLWwMqSf1LYY)FYnVS0NFZC0g CVy{8~ literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/goto.png b/kronolith/themes/tango-blue/graphics/goto.png new file mode 100644 index 0000000000000000000000000000000000000000..176010aca44c10b747bdfca52c660e8d127e0f90 GIT binary patch literal 456 zcmV;(0XP1MP)Xu^5O&WAHK9iJ`m1 zA}vdYCWhWtd(&!rd%p}#Z!|tfan|#`=RD7O4*W^<&Mw)%eJj2bDBT>1*y?zj*ydiU z?T`GGMParsf&p(L}5?Z~45E7T?7fy)s ycO^+bRR{!y9*V0000|WNK7fwjK$H{|ASD*E1W4|1;p7T) zmk6%8o5I@l?s`VE2L1>FuwJjzGzH+!>>I_{rL))9Liq@fn9<2!H`}I-MX0 zh$!bJdP|vEO8FY-_xnmIS15KD$9&&+RQ&mBF>oazgy(s_?*s6Dx>u{!a5(JsdQlX) zo55hvYPFuvClOg|bEk|kNs^q;XDQ`kv8YrkNs?Tz*X?!-AdX|LwbpvS-{+Eu=y*I% zCKIJp6h%S^0OfMol|0WQqDG^UO9IgCb`OWcd_G?;m)2UR8vrwBSyn2Qm^qgur5umP zVHnoy_33nayWO+Z&-em}dc$UJH!~do0000< KMNUMnLSTYiQoTa} literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/loading.gif b/kronolith/themes/tango-blue/graphics/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..1560b646cff2cc4fd292d7fdb6f7adc7eb484b4a GIT binary patch literal 1737 zcmaLXeN0p99l-I&!tEQiv~W&~lv_&SmI|fRw)eE0zR=T_(^9a!crF*Q_O?JP*50BW za+x#6J*VfyIVLB@`G?mSW{fe8%LJS?j`_k2*Er)fUT2(h#u;OrF~)0*amLK)uKSPd z_ve%6mwfVklPAzh+MD7sAOkM}c>DG(0N}=r8~gU{i^XCdkH_!#XEK??hY#PmbLYsB zBQ-TOdcEFcGGQ3zcDqxl)R{A9Dk>_n+3b@iPo6$~y0EaYd-v|n&dz8wdiLzuYuB#f zIId7A#>dBxA3q+6M7D3=e*gY`mSv?<>Cn*7!Gi~r$>gb1r$~|%i^V5SoY=pAe_2@> zpU;2v=+TQ8FUH2ka=F~gmoFiN$BrF){rdHrH*e0LKY#i1-Mo2odV2cVvuD?@ zUw`o6!QH!euU@^nxVSh!KY#Duy<4|#J%9fE_U+r-wrx9k^5pF7Y2!hz{_K}ehqtPf73O8@wtkGyFib|)`J9qAU_vSxN)!U+Q3$?~abhem{rh;Yf zPOJW1?#m|PBZ)!HR~tu$H1Sk?EIk|_G;Yi!he6f93Ps{~w+!$1-$w+3U+n~t&M}Ot zdSwI42rFvpj1a?ZjJW9IPwE??&E&#p9=}A*VhFMy6cm+?16Q*P7E0tZ7Ed$$XgM+i z94(M9MQ3b;8w!dQGl;PjLVE4Y?<_P{QXeB^>`CbQFBvD_OT*#R6y9XGLopA~j#=m{7->pd6t>(Yi=3 zP}uo3V`jwsY7W}yU|ZK5z%f|Z?m9z~uy*yuIRu5uFfoVs{~5H(gmaYV0%%rtm$QvL z{~uwK+1e_?@y3>z>U)~d^%(jpL%ul0QBAF>DcN4YPSb$5Y$@O`J^)4H(vAG6fyV-$ zpp9QFT`ozb8GCfYP#22&x;IILw01D;WQQ6$Rd7I-5KT1ikgn+a(|F~;N5`@Dq1(|Cs^MXKy8P08>2 ze(zaIH}OH&tXIpzRp|f=nv{at6&u#2!XbvJ4yIM4%e%g~!%0&*vz<+T(e8jvJ$eoV zB?T~K5as2YK8NWfo<~YPgTv`>IqKsqR5<(dp)cEDK=00n>#89cvunA{%L%$M)}%E- z+Y7LTL0WhsE#TMm`-=Xj>PZ!`)~ z(K&8wwg6)N&3|FkYgh7U3x!zd`r4lqi5ZME;n0{F5#}>?i)rEJH#GeJiA|m+eZ8DO zSU?f>fl#Gzi`dPes#t)+aBX={4?$xdcO&byCid?1(awZqf1}Z}+v{|OO zt|T#wanNsY&NCKu;zG`1RYSh)xbINpDJ|DFE; D?d&fs literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/minus.png b/kronolith/themes/tango-blue/graphics/minus.png new file mode 100644 index 0000000000000000000000000000000000000000..32170460cc24a1a1687786fb1e135b84ed80bd21 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbL!Wq?nJt4ZpT+GW?9SKZil=2`uU z>uqaqPS|{F(w19Ow%wk;@4?nH&$gX?cHr`hsoQUFIrDV;xo5jCKHqck`Tzg_WoKCg z01Xi?3GxdDa?t?8rrJ9kKxsWs7sn8ZsmTIP%seJS2@XsGjB<>QbqWujCAD#V_*k@I m^G2hM21P~**PYm>Gcg#2@~8j${jM6Qlfl!~&t;ucLK6T0fn84k literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/monthview.png b/kronolith/themes/tango-blue/graphics/monthview.png new file mode 100644 index 0000000000000000000000000000000000000000..d854143115f9a74ecb91e857f8c929f1304fd7d4 GIT binary patch literal 416 zcmV;R0bl-!P)|WNK7fwjK$H{|ASD*E1W4|1;p7T) zmk6%8o5I@l?s`VE2L1>FuwJjzGzH+!>>I_{rL))9Liq@fn9<2!H`}I-MX0 zh$!bJdP|vEO8FY-_xnmIS15KD$9&&+RQ&mBF>oazgy(s_?*s6Dx>u{!a5(JsdQlX) zo55hvYPFuvClOg|bEk|kNs^q;XDQ`kv8YrkNs?Tz*X?!-AdX|LwbpvS-{+Eu=y*I% zCKIJp6h%S^0OfMol|0WQqDG^UO9IgCb`OWcd_G?;m)2UR8vrwBSyn2Qm^qgur5umP zVHnoy_33nayWO+Z&-em}dc$UJH!~do0000< KMNUMnLSTYiQoTa} literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/new.png b/kronolith/themes/tango-blue/graphics/new.png new file mode 100644 index 0000000000000000000000000000000000000000..18b7c6781edadc1d075728dd41546f7010ee7037 GIT binary patch literal 897 zcmV-{1AhF8P)#>It74)E>!>k0}e?< zK~y-)Ws*xwTxA@^f8TfSyqLLnU?K?8$|G1EY%rF-;-axT+?a~Nx*!@hCPY`YH6|=g zV;Ucc#zal5HL;66@DWW+qb{%oO;sobI#?^(5$Q~)%nZZKy~7N5zR!(qD4yi(&N=@_ zj$jjx92gnWk{1QyVU!LCLwZ_@8&$P_=AF-8e`T{?Y%um{_;mNaM|-yS#tBEl2mx9{ zaka$ERDw&F=F@}2=Z^I}k_sYql2G!rxxsv4aCpEj8;Vt*gDAdsXNui%jCkNd8aq?X zjm?!eJ-u_)(7&t*w_Qm9jXpj&JYe5gE71N>h-mfgyVkVpEw*lJp?7bNXu~dpz`G5| zr=!3QdE~&z(C&RZc9yh9TUR43TjHC~L`sPe0y7XpvP7kH0;e<+1pR{q2DbOcSuSU3 zZEdEI|A+YFr$}dgcRx!ADqbI+=qHt|a`M9ms(A98snL7Fkua7QLMesMXHj;Ggz79t zUfPD=-pg}sIc(cP$QaUp5W~C4!qmsnp%?mt5~vpfnwlEO7xE~js40!(6gm3d??htV zOiWCmltOETVH%i*1f>PgWdbW&6Dzw_Iy%~^RMt>RQ7jhe?(XL0!>@Af+Er?`8d6HM zQfLiGG_W8A;-XV>So}MUQVP%W@H~%0hYpiSB*QJv%5E8_kF0oOuSo0O-88Yi?mS`RxAv zkNN-nW071T&;4y%2nK=#gCYFB05|{2kiWjd$q&xz*`?X{r{;f}1F{CdOmaH!H~m+Z zu4eW$HN>KAEv->#4UcH#K>>F>S)(m+mZ=t@1%`Q)zt z=kL2`>r-|9x)v#bCe_ X$s}Y37Q!~)00000NkvXXu0mjf?g64A literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/new_big.png b/kronolith/themes/tango-blue/graphics/new_big.png new file mode 100644 index 0000000000000000000000000000000000000000..070ef465482f73f8afacc40eb4ab8c09c62f64e5 GIT binary patch literal 254 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbK}NPtg>E0AVoW#!`H;spYJ5n*9r zd3kvS1$lLKbv->j0|NsiBO_B&Lo+io3rk~bYs?m_V%Vv zD@6ZaDf<868qhRmX68FC%_o5@#*!evU0n_1%CMU zS-(ww|9_*J-=`0Kc>KM-?fUzDh8s3HuqaqPS|{F(w19Ow%wk;@4?nH&$gX?cHr`hsoQUFIrDV;xo5jCKHqck`Tzg_WoKCg z01Xi?3GxdDa?t?8rrJ9kKxq$87sn8Z%gF*x%sdt>5)BNY4fE%VFixnOz;HxH;E|xf z6LzLNy|fh!^7`!7(%Qn@%IeHc+}hes+(!b!N}?k;cQW67Sy98yP|(Hueogq5a-f+E Mp00i_>zopr0454z8UO$Q literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/private-000.png b/kronolith/themes/tango-blue/graphics/private-000.png new file mode 100644 index 0000000000000000000000000000000000000000..976f30add02055f828f7a9cabc58925834346ffa GIT binary patch literal 246 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=%3?!FCJ6-`&jKx9jP7LeL$-D$|bOU@sTp1V? zflOv*W)>C}Ha0d+PEIZ^E?!<^eP>{XE)7O>#2CE#uf|ZcBqA*a% z)YHW=gyVX0LIb0tqrgcG4Go4x5)uwm6eJ4QSrw;+Gcy}|+-q#)bYWc(_~!e)z17nh bOgR}ivpK{5_%f9P4Pfwe^>bP0l+XkKqqZ~` literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/private-fff.png b/kronolith/themes/tango-blue/graphics/private-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..c58a3b2898d4ad0e0649e5ff49121d56a284a579 GIT binary patch literal 188 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?7>k44ofy`glX(f`um$*pxNhe- z@&EsS#rcL7AnB4IzhDN3XE)M7oFs2|7lsa2Sq~tGv%n*=7-;Zy5N34Jm|X!BWH0gb zb!ET7D#x#A#`G+v5-6nP>Eal|aXmR9A>l!K!i4+;fs6zLivt1w8xA@$Ha5htu`y)Y WvE{zFdVL>IHG`+CpUXO@geCw71vAwE literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/recur-000.png b/kronolith/themes/tango-blue/graphics/recur-000.png new file mode 100644 index 0000000000000000000000000000000000000000..289cfc4a3748a20cd65dc868e90d2e11865c5b5e GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T)_einzIFV0Yw-~g8YIR z9G=}s196hP-CYndOA=G NgQu&X%Q~loCIEd*Clvqy literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/recur-fff.png b/kronolith/themes/tango-blue/graphics/recur-fff.png new file mode 100644 index 0000000000000000000000000000000000000000..edcf68c9ea0f54cc0ca5755872162313d0df34c6 GIT binary patch literal 180 zcmeAS@N?(olHy`uVBq!ia0vp^JRr=-3?y@QpIZW?*aCb)T!8}r|NqxiHCq7`VJr#q z3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QK$!8;-MT+OLG}_)Usv|)EOMd}LT{gS zTm%ZKd%8G=aLi0jNJyB#{)ml@mA#FLy=}g{gos?j4K5xYCLW$Y4w`HX>5Ew{q?D(p Q1GO-Cy85}Sb4q9e06_UGG5`Po literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/search.png b/kronolith/themes/tango-blue/graphics/search.png new file mode 100644 index 0000000000000000000000000000000000000000..94c47d455e3eb1c758c79da1fd74f37831616196 GIT binary patch literal 794 zcmV+#1LgdQP)1V6Mdku2@=!r7%xX>^OL z4bEEPwX>aj!!QhRo@4V1vcX^w6#Wji;{!E1;n*IxQSpzntI-#4J_iS-2IpOw-i0Gb zv-ss=j{67X$rJ#OG)=a-xw#|F5SbG^wOYAK$RsEF-S?~YE<&bv-jErbm8EUdGg`Af zzqq(?sBUSVEdW}z>au3Fig8n$z^zU4%JE#PchwLER~eySR-vsF<2u_z?rwz&!2?0% zH=n5!}4wi%I##Uk79|0l8&reNFf~HjsG6j+6@hhUZ zNO<`K1a%T=Y^wKnbapTni)D}dTy2}yTfr;aEGa1|7l|>LoE!&j`(v=#Yn+a literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/today.png b/kronolith/themes/tango-blue/graphics/today.png new file mode 100644 index 0000000000000000000000000000000000000000..a46fb2220648f4640d48fc34273682db5fc53415 GIT binary patch literal 606 zcmV-k0-^nhP)zpi=LK3kbe)ph6$1us|E@0bs(3;j70N?ldxwS=dZZ43B3h07Tynj^2Yc@GQ zog*HPBZLSEeBTewh7gSA^VD1y1GodMPMto({n9-)s&51E$;vZU9zR8k5p<`8FhN|A1evk_=AdpfbrNok-0q9`y@lykUZ{9CDA`)68V_>uX4$tQ( z0GBRKb2S=6>TxbhlkH7H6&U>${F{F7rSIMjqS-ib^#eg962Z1@5{U!?i4YKr#c&*F s0J1DA{1>jzIOV literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/unknown-background.png b/kronolith/themes/tango-blue/graphics/unknown-background.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbb71b9806fab41d77115e018665286ac33d8cf GIT binary patch literal 116 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)N0VEiXnMEE4Qk(@Ik;OpT1B~5HX4?T7YMw5R zArhD8o;GA;FyLu0_#?fl*D8rUbc1$y#MQgTe~ HDWM4foa!I7 literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/weekview.png b/kronolith/themes/tango-blue/graphics/weekview.png new file mode 100644 index 0000000000000000000000000000000000000000..3ef3ca56263157842c8294d3ffea8391ce03cd9f GIT binary patch literal 337 zcmV-X0j~auP)MdJi|S8xlL-~tMXXcP*G17Ke0OE3T^%W~g$0H9O;;%bwdrYQn|X_{Tv-7=oG<2V3-0N}c=VHk|DPhG}tE+UTO zco00#o2H2_uGv?bs;X29$wxelbzPr>A|mHpRn-sST0IB?09cmAG|i@ID7bAKCGaO9 zilVx%^E{vDnSzR<2qA-tj(yh%Zlw{1%u>$)z4K*UqxgJ9b>{R>iq7R(rvQf}LJN^}sasv3sj jT-;yKH0?iM<7@l?sbh^o^`GGi00000NkvXXu0mjf+{=;p literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/workweekview.png b/kronolith/themes/tango-blue/graphics/workweekview.png new file mode 100644 index 0000000000000000000000000000000000000000..3055434d724cb77b6b427b1030a4f6e6d05e35ed GIT binary patch literal 369 zcmV-%0gnEOP)u$IEdg-dF%CZy@BGQ#NO~cIECo_wP zF{UVr$z<|W7!HRzqHaSU*cjuSv)1|*JzF{+kGI?HWAtzIdcFUAji2!V9_XFytzIqM P00000NkvXXu0mjfz6zqr literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/graphics/yearview.png b/kronolith/themes/tango-blue/graphics/yearview.png new file mode 100644 index 0000000000000000000000000000000000000000..15531d3b8de27cb9bd4408108e9739d9fc17c6e2 GIT binary patch literal 219 zcmeAS@N?(olHy`uVBq!ia0vp^0wBx*Bp9q_EZ7UA7J0fjhDd~``fcPrK)+7my1qu^`3>aMR&5?I;^!xVm-=BZ>5BQssU0P;VN|$w= zG=1qW9-wpVk-2cDZ}QC|{~$$ksmxcbEjrH&|!3QuY7< literal 0 HcmV?d00001 diff --git a/kronolith/themes/tango-blue/screen.css b/kronolith/themes/tango-blue/screen.css new file mode 100644 index 000000000..678489aa6 --- /dev/null +++ b/kronolith/themes/tango-blue/screen.css @@ -0,0 +1,25 @@ +/** + * $Horde: kronolith/themes/tango-blue/screen.css,v 1.4 2007/12/03 06:01:40 chuck Exp $ + */ + +.weekend { + background: #b2cae4 none repeat scroll 0% 50%; +} + +#view_title { + margin: 0 .3em; +} + +.monthgrid .today { + background-color: #dde8c1; + border: 2px solid #446; +} + +.block-eventbox { + -moz-border-radius: 0 !important; + -webkit-border-radius: 0 !important; + border: 0; +} +.day-eventbox { + padding: 6px; +} diff --git a/kronolith/themes/tango-blue/themed_graphics b/kronolith/themes/tango-blue/themed_graphics new file mode 100644 index 000000000..e69de29bb diff --git a/kronolith/view.php b/kronolith/view.php new file mode 100644 index 000000000..df97f7f39 --- /dev/null +++ b/kronolith/view.php @@ -0,0 +1,21 @@ + + */ + +require_once dirname(__FILE__) . '/lib/base.php'; + +$view = Kronolith::getView(Util::getFormData('view')); +if ($view) { + $print_view = false; + Kronolith::tabs(strtolower(str_replace('kronolith_view_', '', String::lower(get_class($view))))); + $view->html(); + echo '
         + Kronolith::countEvents())) { + $addurl = Util::addParameter('new.php', + array('date' => $day->dateString(), + 'url' => $this->link(0, true))); + echo Horde::link(Horde::applicationUrl($addurl), _("Create a New Event"), 'iconAdd') + . Horde::img('new_small.png', '+') + . ''; +} +?> + link(), '', 'widget') . $day->getTime('%A, %d.') ?> +
          + get('name')) ?> +

      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%0Ae}bI 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%0DeA33UjHsp+tis#gsEtARB=Nk vj{i#V_2BEu7w~GXa`Wyr^vV~iOf1zyFgW%WHBX>vWKaAnem93m`uhI^1>}bO literal 0 HcmV?d00001 diff --git a/kronolith/month.php b/kronolith/month.php new file mode 100644 index 000000000..aecbfec3b --- /dev/null +++ b/kronolith/month.php @@ -0,0 +1,43 @@ + + */ + +require_once dirname(__FILE__) . '/lib/base.php'; + +$view = Kronolith::getView('Month'); +$title = $view->date->strftime('%B %Y'); +$print_view = (bool)Util::getFormData('print'); + +Horde::addScriptFile('tooltip.js', 'horde', true); +if (!$print_view) { + Horde::addScriptFile('popup.js', 'horde', true); +} +require KRONOLITH_TEMPLATES . '/common-header.inc'; + +if ($print_view) { + require $registry->get('templates', 'horde') . '/javascript/print.js'; +} else { + require KRONOLITH_TEMPLATES . '/menu.inc'; +} + +echo '

      J6nESRd5ahEZ;{$Ig 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 Xa-4`vl literal 0 HcmV?d00001 diff --git a/kronolith/locale/pt_BR/help.xml b/kronolith/locale/pt_BR/help.xml new file mode 100644 index 000000000..be34dd056 --- /dev/null +++ b/kronolith/locale/pt_BR/help.xml @@ -0,0 +1,147 @@ + + + + + Kronolith: Visão Geral + O que é kronolith? + +Kronolith é um calendário de interface Web. Em adição as funções necessárias de criação, modificação e remoção de eventos, ele atualmente suporta repetição de eventos (com excessões e várias opções de remoção), alarmes, funções de importação e exportação, visualização da Lista de Tarefas (Nag, se estiver instalado), e a possibilidade de mostrar os eventos na tela de sumário do Horde. + + + + Menu: Hoje + Hoje + + O item de menu Hoje mostrará sua exibição padrão (mês, semana, dia, etc. Como configurado em Opções) para a data atual. + + + + Menu: Ir Para + Ir Para + + O item de menu Ir Para mostrará uma pequena janela pop-up na qual você pode rapidamente selecionar o ano, mês, semana do ano, ou dia do mês para ir para. Esta é geralmente a forma mais rápida de mover-se no calendário. + + + + Menu: Dia + Exibição Dia + + O item de menu Dia mostrará a exibição 'Dia' do dia atualmente selecionado. + + + + Menu: Comercial + Exibição Comercial + + O item de menu Comercial mostrará a exibição 'Comercial' (Segunda à Sexta) mais próxima ao dia atualmente selecionado. + + + + Menu: Semana + Exibição Semana + + O item de menu Semana mostrará a exibição 'Semana' (exibição dos 7 dias) da semana contendo o dia atualmente selecionado. + + + + Menu: Mês + Exibição Mês + + O item de menu Mês mostrará a exibição 'Mês' do mês contendo o dia atualmente selecionado. + + + + Menu: Novo Evento + Adicionando um Novo Evento + + O item de menu Novo Evento permite você criar um novo evento para ser adicionado ao calendário. + + + + Menu: Opções + Opções + + O item de menu Opções permite você configurar Opções (ou preferências) que controlam a aparência e comportamento do kronolith, a interação do kronolith com o Horde e outras aplicações Horde, gerencia calendários múltiplos e compartilhados, e gerencia códigos de categorias para eventos. + + + + Menu: Importar/Exportar + Importar/Exportar + + O item de menu Importar/Exportar permite você importar ou exportar eventos do calendário. Atualmente você pode importar arquivos no formato CSV e Microsoft Outlook. Você somente pode exportar no formato CSV. + + + + Avisos + Avisos + + Kronolith pode gerar avisos para eventos no calendário. Por padrão, o primeiro aviso é gerado cinqüenta minutos antes do apontamento ser iniciado, mas o aviso pode ser configurado (por evento) para ser dado a quase qualquer intervalo antes do início do evento. + + + + Repetição de Eventos + Repetição de Eventos + + Eventos podem ser criados para repetirem de várias maneiras. Muitos eventos repetem-se frequentemente de formas costumeiras. Por exemplo, a repetição Mensal faz o evento selecionado repetir-se uma vez por mês e a repetição Semanalmente faz o evento selecionado repetir-se um vez por semana. Estes tipos de eventos podem ser configurados para repetirem-se de maneiras mais complexas: por exemplo, um evento que ocorra na última Sexta-Feira de cada mês, ou um evento que ocorra na Segunda, Quarta, e Sexta-Feira de cada semana. + + + Você também pode restringir quanto tempo um evento se repetirá ao selecionar Repetir até para a repetição do evento. + + + Normalmente, uma modificação em um evento repetido se aplicará a todas as ocorrências deste evento. Um única ocorrência de um evento repetido pode ser modificada editando a ocorrência, removendo sua informação de repetição, e então escolhendo a opção Salvar Como Novo. A ocorrência selecionada pode agora ser modificada independentemente das outras ocorrências. + + + + Imprimindo + Imprimindo Calendários e Eventos + + Certas exibições são projetadas para serem imprimíveis. Quando em uma destas exibições, o ícone Imprimir aparecerá no topo da barra de menu. Use este ícone para imprimir a exibição atual. + + + + Calendar Permissions + + Here should go a few explanations on the different users and groups that + permissions can be assigned to. + + + This should be a place to explain the different permission types and + what they mean regarding to events and calendars. + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/pt_PT/LC_MESSAGES/kronolith.mo b/kronolith/locale/pt_PT/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..f2706fcbf2424da8db1ad6e7ecec18315e297150 GIT binary patch literal 169167 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 KL|zbU(EkQqx?P6= literal 0 HcmV?d00001 diff --git a/kronolith/locale/ru_RU/LC_MESSAGES/kronolith.mo b/kronolith/locale/ru_RU/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..e0120a96b49d36b619d7e8db53ddc2e3b0f1df3b GIT binary patch literal 30413 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 T=w!C^3SfaY2?=Mi;38`i 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/sl_SI/LC_MESSAGES/kronolith.mo b/kronolith/locale/sl_SI/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..943da856181554e168eaef21086d3f38c7cf67fd GIT binary patch literal 154454 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 H;9LIx2jqY( literal 0 HcmV?d00001 diff --git a/kronolith/locale/sv_SE/LC_MESSAGES/kronolith.mo b/kronolith/locale/sv_SE/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..ebfca1fde220b75110188d783448a7c203276b4b GIT binary patch literal 108897 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≪un~JhbVB9Wkxspu;A`Zit%!=`A4P@KHK&P(JbAl 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 literal 0 HcmV?d00001 diff --git a/kronolith/locale/tr_TR/LC_MESSAGES/kronolith.mo b/kronolith/locale/tr_TR/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..254ae7132438e702539f94c705cb40d4681eff15 GIT binary patch literal 176838 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�%7!yCYf-Sl{g$~mWSv< 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 + + + +Kronolith: Genel Bakýþ +Kronolith nedir? + +Kronolith að tabanlý takvim uygulamasýdýr.Ýçerisinde, ihtiyaç duydugunuz yaratma,deðiþtirme ve silme iþlemlerini barýndýrýr.Ayrýca tekrar eden olaylarý (istisna ve çeþitli silme seçenekleri), hatýrlatmalarý,alma ve verme seçeneklerini (elektronik takvim ve csv formunda), elektronik takvim davetiyeleri, çok seçenekli takvim olaylarý , paylaþtýrýlmýþ takvimler , görev listesinin görüntülenmesi (görev listesi yüklenmiþse), ve de anasayfa ekranýnda olaylarý görüntüleme yeteneðine sahiptir. + + + +Menü: Bugün + +Bugün menü seçeneði,þu anki geçerli tarihte sizin varsayýlan olarak atamýþ olduðunuz ayarlarý (Ay,Hafta,Gün vs.. seçenek düzenini) görüntüler. + + + +Menü: Git + +Git menü seçeneði,küçük bir pencerecik açar.Ve çok hýzlý bir þekilde seçtiðiniz yýlýn herhangi bir ay veya haftasýna, yada ayýn herhangi bir gününe gitmenizi saglar.Bu seçenek takvim içerisinde hareket etmenin en hýzlý ve en sýk tercih edilen yoludur. + + + +Menü: Gün + +Gün sekmesi,þu anki geçerli seçilmiþ günden baþlayarak o günü görüntüler. + + + +Menü: Çalýþma Haftasý + +Çalýþma Haftasý sekmesi,þu anki geçerli seçilmiþ güne en yakýn çalýþma haftasýný (pazartesi-Cuma) görüntüler. + + + +Menü: Hafta + +Hafta sekmesi,þu anki geçerli seçilmiþ günden baþlayarak tüm haftayý (7 gün) görüntüler. + + + +Menü: Ay + +Ay sekmesi,þu anki geçerli seçilmiþ günden baþlayarak tüm ay'ý görüntüler. + + + +Menu:Yeni olay + +Yeni olay menüsü seçenekleri takvimde yeni olaylar oluþturmamýza izin verir. + + + +Menu:seçenekler + +Seçenekler menüsü seçenekleri çoklu ve paylaþýlan takvimleri yönetir ve Horde ve diðer Horde uygulamalarýyla etkileþim içindedir ve bize Kronolithin bakýþýný ve yorumlayýþýný kontrol etmemize izin verir. + + + +Menu:Alým ve Gönderim + +Alým/Gönderim menü seçeneði takvim olaylarýný almana veya göndermene izin verir. Þu an CSV, Microsoft Outlook ve vCalendar/iCalendar formatýndaki dosyalarý alabilirsin. Sadece CSV ve iCalender formatýndaki dosyalarý gönderebilirsin. + + + +Alarmlar + +Kronolith olaylar için bir takvimde alarmlar oluþturabilir. Otomatik olarak, ilk alarm toplantýnýn baþlamasýndan 15 dakika önceye oluþturulur ama bu alarm olayýn baþlamasýndan önce olan herhangi bir aralýk olarakta ayarlanabilir. + + + +Tekrarlayan Olaylar + +Olayýn son tekrarlanma tarihini belirleyerek tekrarlanmasýný sonlandýrabilirsiniz. + + +Olaylar deðiþik þekillerde tekrarlanacak þekilde yapýlmýþ olabilir. Bir çok olay belli aralýklarla tekrarlar. Örneðin, aylýk olarak tekrarlayan tip seçilirse her ay tekrarlarlar ve haftalýk tekrarlayan tip seçilirse seçilen öðe her hafta kendini tekrarlayacaktýr. Bunlar karmaþýk yönlerle gösterilen olaylar yapýlabilir: Örneðin, bir öðe her ayýn üçüncü cumasý oluyor, veya bir öðe haftanýn Pazartesi, Çarþamba, ve Cuma günleri oluþuyor. +Ayný zamanda bir olayýn ne kar sürede ne kadar tekrarlayacaðýný olayýn sonlandýrma tarihini seçerek ayarlayabiliriz. +Normalde, tekrarlayan bir olayýn deðiþimi bu olayýn bütün oluþumlarýna uygulanýr.Tekrarla menüsünden yapýlan pek çok ayarýna ardýndan Yeni þekliyle kaydet’i seçerek deðiþiklikler yapýlabilir. Seçilen olay diðer olaylardan baðýmsýz olarak deðiþtirilecektir. + + + +Çýktý Alma +Olaylarý ve Takvimlerin Çýktýsý + +Sayfanýn düzgün olarak çýktýsýnýn alýnabilinmesini saðlayan görüntüleme mekanizmasý bulunmaktadýr. Bu mekanizmanýn çalýþmasý sonucunda sayfada gözükecek olan yazýcý ikonuna týklayarak çýktý alabilirsiniz. + + + + Calendar Permissions + + Here should go a few explanations on the different users and groups that + permissions can be assigned to. + + + This should be a place to explain the different permission types and + what they mean regarding to events and calendars. + + + + Embedding + + It is possible to embed small views of your calendars in external websites. + You can embed the same views that you can place on Horde's portal page. The + following are examples of code to use to embed each view on an external + blog or website. You should obviously edit the code with the correct server + address and calendar name. The 'container' parameter is arbitrary, but must + both match the DOM id of the the div element and be unique across the whole + page you are embedding in. + + + To embed a small Month View of the current month: + + <div id="kronocalendar"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronocalendar/view=month/calendar=calendar_name" + type="text/javascript"></script> + + To embed an Upcoming Events View (note the 'months' and 'maxevents' + parameters): + + <div id="kronolist"></div><script + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /view=monthlist/calendar=calendar_name/container=kronolist/months=2/ + maxevents=10" type="text/javascript"></script> + + To embed a Summary View: + + <div id="kronosummary"> + </div><script type="text/javascript" + src="http://hostname.example.com/horde/kronolith/imple.php?imple=Embed + /container=kronosummary/view=summary/calendar=calendar_name + "></script> + + diff --git a/kronolith/locale/uk_UA/LC_MESSAGES/kronolith.mo b/kronolith/locale/uk_UA/LC_MESSAGES/kronolith.mo new file mode 100644 index 0000000000000000000000000000000000000000..46391a51ed8e91903f8fe61846ceac99764313b7 GIT binary patch literal 143911 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