[Rt-commit] r13843 - in rt/3.8/branches/3.8.0-releng: . bin etc etc/upgrade/3.7.3 etc/upgrade/3.7.87 lib lib/RT lib/RT/Action lib/RT/Crypt lib/RT/Graph lib/RT/I18N lib/RT/Interface sbin share/html share/html/Admin/CustomFields share/html/Admin/Global share/html/Admin/Tools/Shredder/Elements/Object share/html/Admin/Users share/html/Dashboards share/html/Dashboards/Elements share/html/Elements share/html/Elements/RT__Ticket share/html/Install share/html/Install/Elements share/html/NoAuth/css/web2 share/html/NoAuth/iCal share/html/Search share/html/Search/Elements share/html/Ticket share/html/Ticket/Elements share/html/Ticket/Graphs share/html/Ticket/Graphs/Elements share/html/Tools share/html/Tools/Elements share/html/Tools/Reports share/html/User/Elements share/html/Widgets/Form t t/mail t/shredder t/ticket t/web

jesse at bestpractical.com jesse at bestpractical.com
Mon Jul 7 16:22:04 EDT 2008


Author: jesse
Date: Mon Jul  7 16:21:51 2008
New Revision: 13843

Added:
   rt/3.8/branches/3.8.0-releng/etc/upgrade/3.7.87/
   rt/3.8/branches/3.8.0-releng/etc/upgrade/3.7.87/content
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pt_pt.po
   rt/3.8/branches/3.8.0-releng/sbin/tweak-template-locstring
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/DashboardsForObjects
   rt/3.8/branches/3.8.0-releng/share/html/Elements/Dashboards
   rt/3.8/branches/3.8.0-releng/share/html/Install/Elements/Errors
   rt/3.8/branches/3.8.0-releng/share/html/Install/Global.html
      - copied, changed from r13474, /rt/3.8/branches/3.8.0-releng/share/html/Install/Emails.html
   rt/3.8/branches/3.8.0-releng/t/ticket/badlinks.t
   rt/3.8/branches/3.8.0-releng/t/web/dashboards-groups.t
   rt/3.8/branches/3.8.0-releng/t/web/unlimited_search.t
Removed:
   rt/3.8/branches/3.8.0-releng/share/html/Install/Elements/Header
   rt/3.8/branches/3.8.0-releng/share/html/Install/Emails.html
Modified:
   rt/3.8/branches/3.8.0-releng/   (props changed)
   rt/3.8/branches/3.8.0-releng/Makefile.in
   rt/3.8/branches/3.8.0-releng/bin/standalone_httpd.in
   rt/3.8/branches/3.8.0-releng/configure.ac
   rt/3.8/branches/3.8.0-releng/etc/RT_Config.pm.in
   rt/3.8/branches/3.8.0-releng/etc/initialdata
   rt/3.8/branches/3.8.0-releng/etc/upgrade/3.7.3/schema.Pg
   rt/3.8/branches/3.8.0-releng/lib/RT.pm.in
   rt/3.8/branches/3.8.0-releng/lib/RT/Action/Notify.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Action/SendEmail.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Attachment_Overlay.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Config.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Crypt/GnuPG.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/CustomField.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/CustomField_Overlay.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Dashboard.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/EmailParser.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Graph/Tickets.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Group_Overlay.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/cs.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/da.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/de.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/es.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/fi.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/fr.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/he.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/hu.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/id.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/it.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/ja.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/nl.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/no.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pl.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pt_br.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/ru.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/sv.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/tr.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/zh_cn.po
   rt/3.8/branches/3.8.0-releng/lib/RT/I18N/zh_tw.po
   rt/3.8/branches/3.8.0-releng/lib/RT/Installer.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Interface/Email.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Interface/Web.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Principal_Overlay.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Record.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/SavedSearch.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/SharedSetting.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Template_Overlay.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Test.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Ticket_Overlay.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Tickets_Overlay.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/Tickets_Overlay_SQL.pm
   rt/3.8/branches/3.8.0-releng/lib/RT/User_Overlay.pm
   rt/3.8/branches/3.8.0-releng/sbin/   (props changed)
   rt/3.8/branches/3.8.0-releng/sbin/extract-message-catalog
   rt/3.8/branches/3.8.0-releng/sbin/rt-email-dashboards.in
   rt/3.8/branches/3.8.0-releng/sbin/rt-email-digest.in
   rt/3.8/branches/3.8.0-releng/sbin/rt-test-dependencies.in
   rt/3.8/branches/3.8.0-releng/share/html/Admin/CustomFields/Modify.html
   rt/3.8/branches/3.8.0-releng/share/html/Admin/Global/Scrip.html
   rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--Attachment
   rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--Ticket
   rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--User
   rt/3.8/branches/3.8.0-releng/share/html/Admin/Users/MyRT.html
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/DashboardsForObject
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/ShowDashboards
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/Tabs
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Modify.html
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Queries.html
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Render.html
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Subscription.html
   rt/3.8/branches/3.8.0-releng/share/html/Dashboards/index.html
   rt/3.8/branches/3.8.0-releng/share/html/Elements/EditCustomField
   rt/3.8/branches/3.8.0-releng/share/html/Elements/EditCustomFieldSelect
   rt/3.8/branches/3.8.0-releng/share/html/Elements/Header
   rt/3.8/branches/3.8.0-releng/share/html/Elements/RT__Ticket/ColumnMap
   rt/3.8/branches/3.8.0-releng/share/html/Elements/SelectOwner
   rt/3.8/branches/3.8.0-releng/share/html/Elements/SelectTimezone
   rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowSearch
   rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowUser
   rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowUserVerbose
   rt/3.8/branches/3.8.0-releng/share/html/Install/Basics.html
   rt/3.8/branches/3.8.0-releng/share/html/Install/DatabaseDetails.html
   rt/3.8/branches/3.8.0-releng/share/html/Install/DatabaseType.html
   rt/3.8/branches/3.8.0-releng/share/html/Install/Finish.html
   rt/3.8/branches/3.8.0-releng/share/html/Install/Initialize.html
   rt/3.8/branches/3.8.0-releng/share/html/Install/Sendmail.html
   rt/3.8/branches/3.8.0-releng/share/html/Install/index.html
   rt/3.8/branches/3.8.0-releng/share/html/NoAuth/css/web2/forms.css
   rt/3.8/branches/3.8.0-releng/share/html/NoAuth/iCal/dhandler
   rt/3.8/branches/3.8.0-releng/share/html/NoAuth/js/util.js
   rt/3.8/branches/3.8.0-releng/share/html/Search/Bulk.html
   rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/BuildFormatString
   rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/EditQuery
   rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/EditSearches
   rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/ResultViews
   rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/SelectPersonType
   rt/3.8/branches/3.8.0-releng/share/html/Search/Results.html
   rt/3.8/branches/3.8.0-releng/share/html/Search/Results.tsv
   rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/Reminders
   rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/ShowMembers
   rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/ShowMessageStanza
   rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/Tabs
   rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/Elements/ShowGraph
   rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/Elements/ShowLegends
   rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/index.html
   rt/3.8/branches/3.8.0-releng/share/html/Ticket/ModifyAll.html
   rt/3.8/branches/3.8.0-releng/share/html/Tools/Elements/Tabs
   rt/3.8/branches/3.8.0-releng/share/html/Tools/Reports/index.html
   rt/3.8/branches/3.8.0-releng/share/html/Tools/index.html
   rt/3.8/branches/3.8.0-releng/share/html/User/Elements/Tabs
   rt/3.8/branches/3.8.0-releng/share/html/Widgets/Form/Boolean
   rt/3.8/branches/3.8.0-releng/share/html/autohandler
   rt/3.8/branches/3.8.0-releng/t/00-mason-syntax.t
   rt/3.8/branches/3.8.0-releng/t/mail/charsets-outgoing.t
   rt/3.8/branches/3.8.0-releng/t/mail/crypt-gnupg.t
   rt/3.8/branches/3.8.0-releng/t/mail/gnupg-bad.t
   rt/3.8/branches/3.8.0-releng/t/mail/gnupg-incoming.t
   rt/3.8/branches/3.8.0-releng/t/mail/gnupg-realmail.t
   rt/3.8/branches/3.8.0-releng/t/mail/gnupg-reverification.t
   rt/3.8/branches/3.8.0-releng/t/mail/sendmail.t
   rt/3.8/branches/3.8.0-releng/t/shredder/00load.t
   rt/3.8/branches/3.8.0-releng/t/shredder/00skeleton.t
   rt/3.8/branches/3.8.0-releng/t/shredder/01basics.t
   rt/3.8/branches/3.8.0-releng/t/shredder/01ticket.t
   rt/3.8/branches/3.8.0-releng/t/shredder/02group_member.t
   rt/3.8/branches/3.8.0-releng/t/shredder/02queue.t
   rt/3.8/branches/3.8.0-releng/t/shredder/02template.t
   rt/3.8/branches/3.8.0-releng/t/shredder/02user.t
   rt/3.8/branches/3.8.0-releng/t/shredder/03plugin.t
   rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_summary.t
   rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_tickets.t
   rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_users.t
   rt/3.8/branches/3.8.0-releng/t/shredder/utils.pl
   rt/3.8/branches/3.8.0-releng/t/ticket/search_by_watcher.t
   rt/3.8/branches/3.8.0-releng/t/web/command_line.t
   rt/3.8/branches/3.8.0-releng/t/web/crypt-gnupg.t
   rt/3.8/branches/3.8.0-releng/t/web/dashboards.t
   rt/3.8/branches/3.8.0-releng/t/web/gnupg-outgoing.t
   rt/3.8/branches/3.8.0-releng/t/web/gnupg-select-keys-on-create.t
   rt/3.8/branches/3.8.0-releng/t/web/gnupg-select-keys-on-update.t

Log:
* Merge RT 3.8 trunk to the 3.8.0releng branch. 
 
 r33249 at 31b (orig r13503):  ruz | 2008-06-20 19:23:49 -0400
 * pod changes
 * add empty {Save|Update}Attribute methods
 r33250 at 31b (orig r13504):  ruz | 2008-06-20 19:25:07 -0400
 * pod changes
 r33251 at 31b (orig r13505):  ruz | 2008-06-20 19:26:24 -0400
 * take argument from correct hash
 r33252 at 31b (orig r13506):  ruz | 2008-06-20 19:27:26 -0400
 * define type of saved searches we use for graphs
 r33259 at 31b (orig r13513):  ruz | 2008-06-20 23:55:18 -0400
 merge non-ascii subject branch
 
  r13513 at cubic-pc (orig r13469):  ruz | 2008-06-20 23:45:42 +0400
  * branch to fix problems with non-ascii subjects, subject tags, templates
  r13552 at cubic-pc (orig r13508):  ruz | 2008-06-21 07:13:04 +0400
  * minor
  r13553 at cubic-pc (orig r13509):  ruz | 2008-06-21 07:16:23 +0400
  * ok, MIME::Parser is not aware about perl strings, so we use octets.
    What means that we must treat MIME's content as octets everywhere
    and use Encode::decode_utf8
  r13554 at cubic-pc (orig r13510):  ruz | 2008-06-21 07:18:31 +0400
  * data in template's MIME entity is not always perl string, so
    we must decode it first before using
  r13555 at cubic-pc (orig r13511):  ruz | 2008-06-21 07:23:01 +0400
  * add docs
  r13556 at cubic-pc (orig r13512):  ruz | 2008-06-21 07:23:34 +0400
  * minor
 
 r33278 at 31b (orig r13532):  sunnavy | 2008-06-21 03:19:33 -0400
  r13602 at sunnavys-mb:  sunnavy | 2008-06-20 22:29:14 +0800
  split strings to be localized
 
 r33678 at 31b (orig r13535):  sunnavy | 2008-06-23 10:29:30 -0400
  r13719 at sunnavys-mb:  sunnavy | 2008-06-23 20:48:30 +0800
  show either "check" or "next", not both
  r13720 at sunnavys-mb:  sunnavy | 2008-06-23 20:56:04 +0800
  Default OwnerEmail is undef
  r13721 at sunnavys-mb:  sunnavy | 2008-06-23 20:59:49 +0800
  more hints for OwnerEmail
  r13722 at sunnavys-mb:  sunnavy | 2008-06-23 21:06:18 +0800
  kick SendmailArguments SendmailBounceArguments out
  r13723 at sunnavys-mb:  sunnavy | 2008-06-23 21:11:19 +0800
  move OwnerEmail to Sendmail page
  r13724 at sunnavys-mb:  sunnavy | 2008-06-23 21:12:39 +0800
  updated OwnerEmail hints
  r13725 at sunnavys-mb:  sunnavy | 2008-06-23 21:26:26 +0800
  use Cwd::realpath to canon paths
  r13726 at sunnavys-mb:  sunnavy | 2008-06-23 21:35:02 +0800
  force user to input password, it can't be null
  r13727 at sunnavys-mb:  sunnavy | 2008-06-23 21:44:35 +0800
  hints for WebDomain and WebPort
  r13728 at sunnavys-mb:  sunnavy | 2008-06-23 21:49:10 +0800
  complete #loc
  r13729 at sunnavys-mb:  sunnavy | 2008-06-23 22:13:56 +0800
  refactor a bit
 
 r33679 at 31b (orig r13536):  sunnavy | 2008-06-23 11:23:49 -0400
  r13734 at sunnavys-mb:  sunnavy | 2008-06-23 23:20:21 +0800
  reorder install pages: deleted Emails.html, added Global.html after Sendmail.html
 
 r33680 at 31b (orig r13537):  alexmv | 2008-06-23 11:47:39 -0400
  r33398 at kohr-ah:  chmrr | 2008-06-23 11:47:31 -0400
   * Un-todo the now-passing tests
 
 r33681 at 31b (orig r13538):  sunnavy | 2008-06-23 12:05:06 -0400
  r13736 at sunnavys-mb:  sunnavy | 2008-06-23 23:54:36 +0800
  revert stupid commit
 
 r33682 at 31b (orig r13539):  sunnavy | 2008-06-23 12:34:01 -0400
  r13740 at sunnavys-mb:  sunnavy | 2008-06-24 00:32:52 +0800
  better handled loc strings
 
 r33683 at 31b (orig r13540):  sunnavy | 2008-06-23 14:10:05 -0400
  r13742 at sunnavys-mb:  sunnavy | 2008-06-24 02:09:40 +0800
  tiny fix
 
 r33684 at 31b (orig r13541):  sartak | 2008-06-23 15:20:03 -0400
 
 r33685 at 31b (orig r13542):  sartak | 2008-06-23 15:22:16 -0400
  r63074 at onn:  sartak | 2008-06-23 15:19:46 -0400
  Ignore some autogenerated files
 
 r33688 at 31b (orig r13545):  sartak | 2008-06-23 17:30:50 -0400
  r63077 at onn:  sartak | 2008-06-23 16:40:41 -0400
  ShowGraph needs RT::Util for safe_run_child
 
 r33689 at 31b (orig r13546):  sartak | 2008-06-23 17:31:01 -0400
  r63078 at onn:  sartak | 2008-06-23 17:30:36 -0400
  Need to handle multi-valued keys in rt-email-dashboards to handle multiple "ShowLink"s for graphs. This tactic is becoming increasingly fussy.
 
 r33691 at 31b (orig r13548):  sartak | 2008-06-23 17:44:22 -0400
  r63083 at onn:  sartak | 2008-06-23 17:44:12 -0400
  Add Bookmark to the list of things you can display in a search table
 
 r33692 at 31b (orig r13549):  sartak | 2008-06-23 17:57:58 -0400
  r63086 at onn:  sartak | 2008-06-23 17:57:48 -0400
  Include verbose output about fetching resources in email-dashboards
 
 r33695 at 31b (orig r13552):  sartak | 2008-06-23 19:29:52 -0400
  r63092 at onn:  sartak | 2008-06-23 19:28:33 -0400
  Add a way to turn off JavaScript in the Header
  Have email dashboards turn off javascript, tabs, etc
 
 r33696 at 31b (orig r13553):  sunnavy | 2008-06-23 19:44:21 -0400
  r13744 at sunnavys-mb:  sunnavy | 2008-06-24 07:32:42 +0800
  handle multi line loc strings
 
 r33697 at 31b (orig r13554):  sartak | 2008-06-23 19:54:57 -0400
  r63094 at onn:  sartak | 2008-06-23 19:54:35 -0400
  Don't display hide/show links in dashboard email (and a bit more infrastructure to handle it). Resolves rt3.fsck.com #9797.
 
 r33698 at 31b (orig r13555):  sartak | 2008-06-23 21:16:22 -0400
  r63098 at onn:  sartak | 2008-06-23 21:16:00 -0400
  Add a button to delete dashboards, some minor improvements to unsubscribe
 
 r33699 at 31b (orig r13556):  sartak | 2008-06-23 21:18:20 -0400
  r63100 at onn:  sartak | 2008-06-23 21:18:08 -0400
  Typo fix
 
 r33700 at 31b (orig r13557):  sartak | 2008-06-23 21:32:40 -0400
  r63102 at onn:  sartak | 2008-06-23 21:32:30 -0400
  Add DeleteDashboard right, check it in SharedSetting->Delete
 
 r33704 at 31b (orig r13561):  ruz | 2008-06-24 11:48:04 -0400
  r13587 at cubic-pc (orig r13543):  ruz | 2008-06-24 00:47:48 +0400
  * add {Generate,Validate}AuthString to RT::User class
  * use them for iCal links
  * fix issues with non-ascii chars in a query when generating
    iCal URLs
  * fix issues with non-ascii chars in user name and iCal URLs
 
 r33705 at 31b (orig r13562):  falcone | 2008-06-24 13:01:50 -0400
  r34785 at ketch:  falcone | 2008-06-24 13:01:35 -0400
  * hint/label/error message updates
  * added intro paragraphs
 
 r33706 at 31b (orig r13563):  sunnavy | 2008-06-24 14:31:21 -0400
 
 r33707 at 31b (orig r13564):  sunnavy | 2008-06-24 14:35:07 -0400
  r13771 at sunnavys-mb:  sunnavy | 2008-06-25 02:29:33 +0800
  loc results too
 
 r33708 at 31b (orig r13565):  kyoki | 2008-06-24 14:48:59 -0400
  r23327 at nyx:  kyoki | 2008-06-24 14:44:16 -0400
  link added/deleted message a little more human friendly - type is no longer capitalized runon
 
 r33709 at 31b (orig r13566):  ruz | 2008-06-24 15:31:40 -0400
 * fix Pg schema upgrade for versin 3.7.3, thanks to Tom Lanyon
 r33710 at 31b (orig r13567):  sartak | 2008-06-24 15:45:21 -0400
  r63168 at onn:  sartak | 2008-06-24 15:44:03 -0400
  Basic tests for deleting dashboards
 
 r33711 at 31b (orig r13568):  kyoki | 2008-06-24 16:00:20 -0400
  r23332 at nyx:  kyoki | 2008-06-24 15:56:53 -0400
  RT-Ticket: 6626
  RT-Status: Resolved
  RT-Update: Correspond
  Ticket/Display.html no longer has problems if a child isn't a ticket
 
 r33712 at 31b (orig r13569):  sunnavy | 2008-06-24 16:15:08 -0400
  r13774 at sunnavys-mb:  sunnavy | 2008-06-25 03:16:46 +0800
  colon should be permitted between string and "#loc" or "#loc_pair"
 
 r33713 at 31b (orig r13570):  sunnavy | 2008-06-24 16:17:38 -0400
 
 r33714 at 31b (orig r13571):  sunnavy | 2008-06-24 16:18:05 -0400
  r13777 at sunnavys-mb:  sunnavy | 2008-06-25 03:49:47 +0800
  show timezone offset if people have DateTime
 
 r33715 at 31b (orig r13572):  sunnavy | 2008-06-24 16:18:27 -0400
  r13778 at sunnavys-mb:  sunnavy | 2008-06-25 03:54:22 +0800
  check CommentAddress and CorrespondAddress if they are specified
 
 r33716 at 31b (orig r13573):  sunnavy | 2008-06-24 16:18:54 -0400
  r13779 at sunnavys-mb:  sunnavy | 2008-06-25 04:07:51 +0800
  show timezone offset if people have DateTime for installer
 
 r33717 at 31b (orig r13574):  sunnavy | 2008-06-24 16:19:25 -0400
 
 r33718 at 31b (orig r13575):  sartak | 2008-06-24 16:51:59 -0400
 
 r33719 at 31b (orig r13576):  sartak | 2008-06-24 16:52:48 -0400
  r63180 at onn:  sartak | 2008-06-24 16:51:13 -0400
  Make DashboardSubject configurable
 
 r33720 at 31b (orig r13577):  sartak | 2008-06-24 17:02:46 -0400
  r63191 at onn:  sartak | 2008-06-24 16:59:22 -0400
  Add an "Error: Missing dashboard" template to send to users when their subscription is invalidated by a dashboard being deleted
 
 r33721 at 31b (orig r13578):  sartak | 2008-06-24 17:17:29 -0400
  r63193 at onn:  sartak | 2008-06-24 17:07:35 -0400
  Add $DashboardAddress to the config
 
 r33722 at 31b (orig r13579):  sartak | 2008-06-24 17:17:39 -0400
  r63194 at onn:  sartak | 2008-06-24 17:17:18 -0400
  If a dashboard fails to load, delete the subscription and notify the user
 
 r33723 at 31b (orig r13580):  sartak | 2008-06-24 20:11:23 -0400
  r63210 at onn:  sartak | 2008-06-24 20:10:34 -0400
  Refactor some of the dashboard display code for reuse
 
 r33724 at 31b (orig r13581):  sartak | 2008-06-24 20:56:59 -0400
  r63212 at onn:  sartak | 2008-06-24 20:46:30 -0400
  Refactor ShowDashboards so only that its table display (sans titlebox) can be used
 
 r33725 at 31b (orig r13582):  sartak | 2008-06-24 20:57:21 -0400
  r63213 at onn:  sartak | 2008-06-24 20:50:54 -0400
  Add a Dashboards component
 
 r33726 at 31b (orig r13583):  sartak | 2008-06-24 20:57:29 -0400
  r63214 at onn:  sartak | 2008-06-24 20:56:36 -0400
  Better sorting of dashboards (first by type, then by ID ascending)
 
 r33727 at 31b (orig r13584):  sartak | 2008-06-24 20:59:36 -0400
  r63218 at onn:  sartak | 2008-06-24 20:59:24 -0400
  Fix the link to Dashboards in the portlet
 
 r33729 at 31b (orig r13586):  elacour | 2008-06-25 08:55:42 -0400
  r9749 at datura:  manu | 2008-06-25 14:53:53 +0200
  Fix mistranlated strings in french PO file.
 
 r33730 at 31b (orig r13587):  elacour | 2008-06-25 11:04:34 -0400
  r9752 at datura:  manu | 2008-06-25 17:04:33 +0200
  French translation update.
 
 r33733 at 31b (orig r13590):  sartak | 2008-06-25 15:00:24 -0400
  r63236 at onn:  sartak | 2008-06-25 15:00:04 -0400
  Add some methods to SharedSetting and Dashboards to detect when a search would be hidden form another user. Needs more tests.
 
 r33734 at 31b (orig r13591):  kyoki | 2008-06-25 16:31:29 -0400
  r23357 at nyx:  kyoki | 2008-06-25 16:31:27 -0400
  RT-Ticket: 9197
  RT-Status: Resolved
  RT-Update: Correspond
  include-cf and link-cf links are now saved when creating customfields.
 
 r33736 at 31b (orig r13593):  sartak | 2008-06-25 18:28:58 -0400
  r63238 at onn:  sartak | 2008-06-25 15:30:02 -0400
  Some dashboard usability fixes.
  Have the link to each dashboard go to its show page instead of edit.
 
 r33737 at 31b (orig r13594):  sartak | 2008-06-25 18:29:09 -0400
  r63239 at onn:  sartak | 2008-06-25 18:20:16 -0400
  Add a (currently unused) SeeDashboard right
 
 r33738 at 31b (orig r13595):  sartak | 2008-06-25 18:29:18 -0400
  r63240 at onn:  sartak | 2008-06-25 18:28:30 -0400
  Refactor _PrivacyObjects so it can be used to figure out which dashboards the user can read or write
 
 r33739 at 31b (orig r13596):  ruz | 2008-06-25 18:47:01 -0400
 * add/replace only one once for a group of siblings
 r33740 at 31b (orig r13597):  sartak | 2008-06-25 19:04:57 -0400
 
 r33741 at 31b (orig r13598):  sartak | 2008-06-25 19:05:07 -0400
  r63247 at onn:  sartak | 2008-06-25 19:04:31 -0400
  Add a SharedSetting->CurrentUserCanSee
 
 r33742 at 31b (orig r13599):  kyoki | 2008-06-25 19:49:27 -0400
  r23367 at nyx:  kyoki | 2008-06-25 19:49:20 -0400
  added Kevin's badlinks test after making sure it passes
 
 r33756 at 31b (orig r13613):  kyoki | 2008-06-26 14:59:25 -0400
  r23380 at nyx:  kyoki | 2008-06-26 14:59:34 -0400
  RT-Ticket: 8374
  RT-Status: Resolved
  RT-Update: Correspond
  users now have the option of displaying messages with fixed-width font, although it's not a global option. thanks Roderick for the patch.
 
 r33761 at 31b (orig r13618):  sartak | 2008-06-26 17:01:36 -0400
 
 r33762 at 31b (orig r13619):  kyoki | 2008-06-26 17:59:47 -0400
  r23389 at nyx:  kyoki | 2008-06-26 17:59:36 -0400
  fixing previous commit - plaintextpre is now a global variable
 
 r33763 at 31b (orig r13620):  kyoki | 2008-06-26 17:59:58 -0400
  r23390 at nyx:  kyoki | 2008-06-26 17:59:53 -0400
  "Unlimited" option for number of rows now works
 
 r33774 at 31b (orig r13631):  sartak | 2008-06-26 20:07:08 -0400
  r63276 at onn:  sartak | 2008-06-26 17:16:03 -0400
  Log an error when CurrentUserCanSee is called on an incomplete dashboard
 
 r33775 at 31b (orig r13632):  sartak | 2008-06-26 20:07:23 -0400
  r63277 at onn:  sartak | 2008-06-26 17:30:23 -0400
  Remove the ACL checks from the view, they need to be in the API (and improved to handle groups)
 
 r33776 at 31b (orig r13633):  sartak | 2008-06-26 20:07:32 -0400
  r63278 at onn:  sartak | 2008-06-26 17:30:56 -0400
  Remove the Delete right checks
 
 r33777 at 31b (orig r13634):  sartak | 2008-06-26 20:07:53 -0400
  r63279 at onn:  sartak | 2008-06-26 17:44:08 -0400
  Better localizability of abort messages in the Dashboard UI
 
 r33778 at 31b (orig r13635):  sartak | 2008-06-26 20:08:07 -0400
  r63280 at onn:  sartak | 2008-06-26 17:46:31 -0400
  Define the API for checking shared-setting ACLs, just need to fill in the details
 
 r33779 at 31b (orig r13636):  sartak | 2008-06-26 20:08:33 -0400
  r63281 at onn:  sartak | 2008-06-26 17:50:02 -0400
  Whoops, forgot to check CurrentUserCanSee in SharedSetting->Load
 
 r33780 at 31b (orig r13637):  sartak | 2008-06-26 20:08:50 -0400
  r63282 at onn:  sartak | 2008-06-26 20:01:20 -0400
  Implementations of CurrentUserCan{See,Modify,Delete}
 
 r33781 at 31b (orig r13638):  sartak | 2008-06-26 20:09:07 -0400
  r63283 at onn:  sartak | 2008-06-26 20:06:09 -0400
  Add CurrentUserCanSubscribe and check it in Subscription
 
 r33782 at 31b (orig r13639):  sartak | 2008-06-26 20:21:55 -0400
  r63305 at onn:  sartak | 2008-06-26 20:14:37 -0400
  Extra checks and fixes
 
 r33783 at 31b (orig r13640):  sartak | 2008-06-26 20:23:59 -0400
  r63306 at onn:  sartak | 2008-06-26 20:20:32 -0400
  test fixes
 
 r33784 at 31b (orig r13641):  sartak | 2008-06-26 20:42:19 -0400
  r63309 at onn:  sartak | 2008-06-26 20:38:19 -0400
  Another 'Couldn't'. doh.
 
 r33785 at 31b (orig r13642):  sartak | 2008-06-26 20:42:39 -0400
  r63310 at onn:  sartak | 2008-06-26 20:42:02 -0400
  More test fixes, down to only a few failures..
 
 r33808 at 31b (orig r13665):  kyoki | 2008-06-27 14:34:51 -0400
  r23438 at nyx:  kyoki | 2008-06-27 14:34:41 -0400
  added test for unlimited search function
 
 r33809 at 31b (orig r13666):  kyoki | 2008-06-27 14:41:36 -0400
  r23440 at nyx:  kyoki | 2008-06-27 14:41:32 -0400
  added tests to check if row preferences work in "Bulk Update". test currently fails
 
 r33810 at 31b (orig r13667):  kyoki | 2008-06-27 15:07:35 -0400
  r23442 at nyx:  kyoki | 2008-06-27 15:07:30 -0400
  fixed Bulk.html so that row preferences work
 
 r33811 at 31b (orig r13668):  kyoki | 2008-06-27 22:15:42 -0400
  r23444 at nyx:  kyoki | 2008-06-27 22:15:37 -0400
  RT-Ticket: 9841
  RT-Status: Resolved
  RT-Update: Correspond
  drop down lists now sort names
 
 r33823 at 31b (orig r13678):  jesse | 2008-06-28 06:28:20 -0400
  r33648 at 31b:  jesse | 2008-06-28 19:22:43 +0900
  Removed incorrect quasi-support for DESTDIR in configure.ac
  Cleand up destdir support to not break in-place usage
 
 r33824 at 31b (orig r13679):  elacour | 2008-06-28 09:31:41 -0400
  r9790 at datura:  manu | 2008-06-28 15:31:24 +0200
  Removed some old debugging added in the beginning of 3.0 ;)
 
 r33825 at 31b (orig r13680):  sunnavy | 2008-06-28 17:14:18 -0400
  r13945 at sunnavys-mb:  sunnavy | 2008-06-29 05:13:43 +0800
  deleted /Install/Elements/Header, which is useless
 
 r34170 at 31b (orig r13681):  sunnavy | 2008-06-28 20:04:46 -0400
  r13947 at sunnavys-mb:  sunnavy | 2008-06-29 08:02:18 +0800
  added our Own errors shown page
 
 r34171 at 31b (orig r13682):  sunnavy | 2008-06-28 20:05:05 -0400
  r13948 at sunnavys-mb:  sunnavy | 2008-06-29 08:03:50 +0800
  rewrote the way errors shown
 
 r37697 at 31b (orig r13684):  sartak | 2008-06-29 15:50:05 -0400
  r63313 at onn:  sartak | 2008-06-26 20:48:51 -0400
  Demote the invalid privacy string error to a debug, it's not actually end-of-world bad
 
 r37698 at 31b (orig r13685):  sartak | 2008-06-29 15:50:19 -0400
  r63456 at onn:  sartak | 2008-06-29 15:49:14 -0400
  Ignore any undefined searches (which can happen with ACL issues)
 
 r37699 at 31b (orig r13686):  elacour | 2008-06-30 07:36:51 -0400
  r9798 at datura:  manu | 2008-06-30 13:36:39 +0200
  Small typo.
 
 r37704 at 31b (orig r13691):  clkao | 2008-06-30 10:26:51 -0400
 Eliminate the leading and trailing newlines/spaces is loc strings.
 
 r37705 at 31b (orig r13692):  clkao | 2008-06-30 10:31:54 -0400
 script to tweak loc strings leading and trailing spaces for
 mason templates.
 
 r37706 at 31b (orig r13693):  clkao | 2008-06-30 10:42:39 -0400
 More tweaks for locstrings with args.
 r37707 at 31b (orig r13694):  spang | 2008-06-30 12:33:04 -0400
  r43344 at loki:  spang | 2008-06-30 17:32:26 +0100
  correct mispelling in standalone_httpd.in
 
 r39076 at 31b (orig r13695):  sartak | 2008-06-30 16:13:04 -0400
 
 r39077 at 31b (orig r13696):  sartak | 2008-06-30 16:13:27 -0400
  r63486 at onn:  sartak | 2008-06-30 16:12:43 -0400
  Check delete right *after* loading the Dashboard. Some other minor adjustments
 
 r39080 at 31b (orig r13699):  sartak | 2008-06-30 17:38:40 -0400
  r63491 at onn:  sartak | 2008-06-30 17:38:32 -0400
  Revert mismerge
 
 r39081 at 31b (orig r13700):  sartak | 2008-06-30 18:49:11 -0400
  r63493 at onn:  sartak | 2008-06-30 18:48:48 -0400
  Better "unable to load dashboard" errors
 
 r39082 at 31b (orig r13701):  sartak | 2008-06-30 21:46:39 -0400
  r63536 at onn:  sartak | 2008-06-30 21:46:25 -0400
  Better ACL check in rt-email-dashboards
 
 r39083 at 31b (orig r13702):  sartak | 2008-06-30 22:40:03 -0400
  r63538 at onn:  sartak | 2008-06-30 22:32:24 -0400
  Safeguard the lists of dashboards
 
 r39084 at 31b (orig r13703):  sartak | 2008-06-30 22:40:14 -0400
  r63539 at onn:  sartak | 2008-06-30 22:39:14 -0400
  Add dashboard rights on groups
 
 r39085 at 31b (orig r13704):  sartak | 2008-06-30 22:40:23 -0400
  r63540 at onn:  sartak | 2008-06-30 22:39:21 -0400
  Begin adding tests for group dashboards
 
 r39086 at 31b (orig r13705):  kyoki | 2008-07-01 01:04:31 -0400
  r23476 at nyx:  kyoki | 2008-06-30 16:48:34 -0400
  RT-Ticket: 9772
  RT-Status: Resolved
  RT-Update: Correspond
  SavedSearchId is now passed on. Broke tab bolding though
 
 r39087 at 31b (orig r13706):  kyoki | 2008-07-01 01:06:28 -0400
  r23486 at nyx:  kyoki | 2008-07-01 01:04:02 -0400
  fixed tab bolding
 
 r39088 at 31b (orig r13707):  sartak | 2008-07-01 05:28:32 -0400
  r63554 at onn:  sartak | 2008-07-01 05:27:40 -0400
  Add $user to the NewUser callback. Patch by Olly Stephens. rt3.fsck.com #9908.
 
 r39089 at 31b (orig r13708):  elacour | 2008-07-01 10:12:05 -0400
  r9822 at datura:  manu | 2008-07-01 16:10:59 +0200
  RT-Ticket: 9660
  RT-Update: correspond
  RT-Status: resolved
  
  * Switch from Mail::Address to Email::Address so AddressesFromHeader don't return
    a broken PseudoTo value, but just skip it.
  * Don't treat the To if it contains the PseudoTo in DeferDigestRecipients so we
    don't remove it.
  
 
 r39090 at 31b (orig r13709):  clkao | 2008-07-01 10:21:20 -0400
 fix locstring argument error spotted by audreyt.
 
 r39098 at 31b (orig r13717):  clkao | 2008-07-01 13:22:09 -0400
 don't require RT_DBA_USER/RT_DBA_PASSWORD for SQLite to run tests.
 
 r39099 at 31b (orig r13718):  clkao | 2008-07-01 13:29:59 -0400
 sqlite wants mason session data to be there.
 
 r39108 at 31b (orig r13719):  kyoki | 2008-07-01 13:57:49 -0400
  r23502 at nyx:  kyoki | 2008-07-01 13:57:39 -0400
  Hopefully fixed Ticket 9860. Er ... I'm not really sure how to check it.
 
 r39111 at 31b (orig r13722):  kyoki | 2008-07-01 17:03:24 -0400
  r23506 at nyx:  kyoki | 2008-07-01 17:03:19 -0400
  RT-Ticket: 8374
  RT-Status: Resolved
  RT-Update: Correspond
  Fixed description and added Hints field to the boolean widget. Jesse, can you look at this and let me know if the description is better?
 
 r39112 at 31b (orig r13723):  sartak | 2008-07-01 17:56:01 -0400
 
 r39113 at 31b (orig r13724):  sartak | 2008-07-01 17:56:13 -0400
  r63607 at onn:  sartak | 2008-07-01 17:55:49 -0400
  Bump the CGI dependency to 3.38 to fix a really loud set of warnings
 
 r39114 at 31b (orig r13725):  sartak | 2008-07-01 18:11:37 -0400
  r63610 at onn:  sartak | 2008-07-01 18:11:26 -0400
  Use OwnerEmail instead of CorrespondAddress as a fallback for dashboards
 
 r39115 at 31b (orig r13726):  sartak | 2008-07-01 19:22:25 -0400
  r63612 at onn:  sartak | 2008-07-01 19:22:12 -0400
  Better SubscribeDashboard right check, expand group dashboard tests
 
 r39116 at 31b (orig r13727):  sartak | 2008-07-02 03:11:21 -0400
  r63614 at onn:  sartak | 2008-07-02 03:11:05 -0400
  Fix the titles of dashboard pages
 
 r39121 at 31b (orig r13732):  alexmv | 2008-07-02 15:23:43 -0400
  r33667 at kohr-ah:  chmrr | 2008-07-02 15:23:15 -0400
  RT-Ticket: 8752
  RT-Status: resolved
  
   * Display times in the user's timezone.  This is a horrible, horrible
     hack, but it's no worse than the other horrors in the file already.
     ====> This breaks backwards compatibility! <====
  
 
 r39122 at 31b (orig r13733):  clkao | 2008-07-02 17:06:35 -0400
  r31979 at mtl:  clkao | 2008-07-02 19:05:29 +0100
  Make the gpg tests parallelizable by fixing the hardcoded t/mailbox
  used in the tests.
  
 
 r39123 at 31b (orig r13734):  kyoki | 2008-07-02 17:12:14 -0400
  r23520 at nyx:  kyoki | 2008-07-02 17:12:02 -0400
  RT-Ticket: 9899
  RT-Status: Resolved
  RT-Update: Correspond
  increased padding to prevent overlap
 
 r39124 at 31b (orig r13735):  ruz | 2008-07-02 17:41:09 -0400
 * merge 3.7-RTIR-RELENG -> 3.8-trunk
 
  r13629 at cubic-pc (orig r13585):  ruz | 2008-06-25 05:41:58 +0400
  * fetch everything except LargeContent
  r13636 at cubic-pc (orig r13592):  ruz | 2008-06-26 01:56:01 +0400
  * DBIx::SB use Time::HiRes so it's really better to log precise timings
  r13672 at cubic-pc (orig r13628):  ruz | 2008-06-27 02:39:25 +0400
  * HasEntry call is too slow, refactor it away.
    Improves page rendering from hundreds of seconds to several.
 
 r39125 at 31b (orig r13736):  ruz | 2008-07-02 19:27:38 -0400
 * merge 3.6 -> 3.8-trunk
 
  r12694 at cubic-pc (orig r12650):  falcone | 2008-05-24 02:14:51 +0400
   r33443 at ketch:  falcone | 2008-05-23 18:14:14 -0400
   * document that LoadByName can get you a disabled Custom Field
  
  r12738 at cubic-pc (orig r12694):  elacour | 2008-05-26 18:22:00 +0400
   r8872 at datura:  manu | 2008-05-20 13:21:12 +0200
   RT-Ticket: 9353
   RT-Status: resolved
   RT-Update: correspond
   
   Added missing '%1' for global template name in es translation.
   
  
  r12739 at cubic-pc (orig r12695):  elacour | 2008-05-26 18:22:07 +0400
   r8873 at datura:  manu | 2008-05-20 13:21:30 +0200
   Removed trailing space un frnech translation.
  
  r12740 at cubic-pc (orig r12696):  elacour | 2008-05-26 18:22:18 +0400
   r8938 at datura:  manu | 2008-05-26 16:13:42 +0200
   RT-Ticket: 9179
   RT-Status: resolved
   RT-Update: correspond
   
   Added European spanish (pt_pt) translation. Thanks to
   josenunesmartins at gmail.com and rmo at eurotux.com.
   
  
  r12741 at cubic-pc (orig r12697):  elacour | 2008-05-26 18:34:39 +0400
   r8949 at datura:  manu | 2008-05-26 16:34:22 +0200
   RT-Ticket: 6528
   RT-Status: resolved
   RT-Update: correspond
   
   Spelling: s/that applies to/which applies to/g
   
  
  r12759 at cubic-pc (orig r12715):  alexmv | 2008-05-28 23:14:18 +0400
   r32242 at kohr-ah:  chmrr | 2008-05-28 15:13:45 -0400
    * exit(1) if we fail; suggestion from jfillmore at westhost.com
  
  r12811 at cubic-pc (orig r12767):  falcone | 2008-05-30 23:22:10 +0400
   r33600 at ketch:  falcone | 2008-05-30 14:11:37 -0400
   * add a SelfServiceRegex config option so you can
     let Unprivileged users access things under
     RT's control but outside of /SelfService/
  
  r12923 at cubic-pc (orig r12879):  falcone | 2008-06-04 22:16:43 +0400
   r33764 at ketch:  falcone | 2008-06-04 14:15:47 -0400
   * handle searching for Groups in the People portion of the Jumbo page
  
  r12983 at cubic-pc (orig r12939):  ruz | 2008-06-06 01:09:11 +0400
  * move replacement of __CurrentUser__ deeper in the code
  ** now it's possible it use it query builder
  ** you can give people links to searches by their id
  r12985 at cubic-pc (orig r12941):  ruz | 2008-06-06 01:14:38 +0400
  * add new searches to TicketSQL: QueueCc, QueueAdminCc and QueueWatcher
  ** works on the same code as Cc, AdminCc and other for ticket watchers
  ** so the same operators and subkeys applies, as well as restrictions
  
  For example you can build search "QueueAdminCc.id = '__CurrentUser__'"
  to find all tickets in queues where you're set as admin cc on queue
  level
  
  r12987 at cubic-pc (orig r12943):  ruz | 2008-06-06 01:20:53 +0400
  * add id to possible subkey for people
  * describe new types of searches
  r13082 at cubic-pc (orig r13038):  ruz | 2008-06-09 14:44:10 +0400
  * delete duplicated code, I don't know how that end up here,
    but we were double checking rights and deleted status
  r13083 at cubic-pc (orig r13039):  ruz | 2008-06-09 14:45:39 +0400
  * add Queue column map, sometimes we need queue id
  r13084 at cubic-pc (orig r13040):  ruz | 2008-06-09 15:29:56 +0400
  * additional check is not required with current ACL checks
  r13233 at cubic-pc (orig r13189):  ruz | 2008-06-12 02:25:46 +0400
  * typo, luckily it doesn't affect code
  r13234 at cubic-pc (orig r13190):  ruz | 2008-06-12 02:45:44 +0400
  * new failing tests in searches by watchers :(
  r13337 at cubic-pc (orig r13293):  alexmv | 2008-06-13 23:51:32 +0400
   r33035 at kohr-ah:  chmrr | 2008-06-13 15:51:10 -0400
    * We want the strict definition of utf8, otherwise later regexes and the like can die
  
  r13343 at cubic-pc (orig r13299):  alexmv | 2008-06-14 00:27:30 +0400
   r33043 at kohr-ah:  chmrr | 2008-06-13 16:27:07 -0400
    * Add dependency on Devel::StackTrace 1.19
  
  r13372 at cubic-pc (orig r13328):  alexmv | 2008-06-16 21:36:14 +0400
   r33075 at kohr-ah:  chmrr | 2008-06-16 13:36:07 -0400
    * Updated releng.conf for 3.6.7; fix spacing
  
  r13403 at cubic-pc (orig r13359):  jesse | 2008-06-17 22:49:45 +0400
   r33044 at 31b:  jesse | 2008-06-17 14:49:14 -0400
   
   14:25 <javoskam> obra: You may want to recheck a few things: " RT 3.6.7 Copyright 1996-2006"
   
  
  r13476 at cubic-pc (orig r13432):  alexmv | 2008-06-20 00:04:27 +0400
   r33262 at kohr-ah:  chmrr | 2008-06-19 16:04:01 -0400
    Updated italian translation from Nicola Murino <nicola.murino at gmail.com>
  
 
 r39128 at 31b (orig r13739):  sartak | 2008-07-02 21:15:14 -0400
  r63616 at onn:  sartak | 2008-07-02 06:34:36 -0400
  Expand the tests for dashboards+groups
 
 r39129 at 31b (orig r13740):  sartak | 2008-07-02 21:15:33 -0400
  r63631 at onn:  sartak | 2008-07-02 21:14:23 -0400
  Typo fixes in Tickets_Overlay_SQL
 
 r39132 at 31b (orig r13743):  sartak | 2008-07-02 21:22:56 -0400
  r63635 at onn:  sartak | 2008-07-02 21:22:46 -0400
  Move dashboards from prefs to tools
 
 r39138 at 31b (orig r13749):  sartak | 2008-07-03 00:06:58 -0400
  r63649 at onn:  sartak | 2008-07-03 00:01:42 -0400
  Improve the Tools index page
 
 r39139 at 31b (orig r13750):  sartak | 2008-07-03 00:07:22 -0400
  r63650 at onn:  sartak | 2008-07-03 00:06:40 -0400
  Improve the Reports index page.. slightly
 
 r39153 at 31b (orig r13753):  sartak | 2008-07-03 03:39:32 -0400
  r63653 at onn:  sartak | 2008-07-03 03:39:19 -0400
  Rework the dashboard rights so personal and group dashboards make sense.
 
 r39155 at 31b (orig r13754):  sartak | 2008-07-03 05:31:16 -0400
  r63657 at onn:  sartak | 2008-07-03 05:31:01 -0400
  Default the dashboard timezone to the system's tz instead of UTC. see also rt3.fsck.com #9952
 
 r39156 at 31b (orig r13755):  sartak | 2008-07-03 05:37:03 -0400
  r63659 at onn:  sartak | 2008-07-03 05:36:48 -0400
  Add label/value classes to the subscription tables
 
 r39157 at 31b (orig r13756):  sartak | 2008-07-03 05:41:28 -0400
  r63661 at onn:  sartak | 2008-07-03 05:41:19 -0400
  Exclude id from the Dashboards portlet
 
 r39158 at 31b (orig r13757):  elacour | 2008-07-03 06:04:50 -0400
  r9849 at datura:  manu | 2008-07-03 12:04:31 +0200
  Revert commit 13734 which results in worse alignement.
 
 r39159 at 31b (orig r13758):  elacour | 2008-07-03 06:24:17 -0400
  r9855 at datura:  manu | 2008-07-03 12:24:02 +0200
  Removed "display: inline-block;" from input-row css which seems useless, and is
  compatible with very little navigators versions
  (http://www.quirksmode.org/css/display.html#inlineblock). This fixed the
  problem of Reminders label/inputs alignement in basic ticket display
  (rt3.fsck.com:9899).
  
 
 r39160 at 31b (orig r13759):  ruz | 2008-07-03 06:45:42 -0400
 * mark tests as todo
 r39161 at 31b (orig r13760):  ruz | 2008-07-03 06:51:55 -0400
 * don't escape already escaped user representation
 r39162 at 31b (orig r13761):  spang | 2008-07-03 07:15:01 -0400
  r43556 at loki:  spang | 2008-07-03 10:37:48 +0100
  make command_line.t use relative paths to find test data
 
 r39163 at 31b (orig r13762):  spang | 2008-07-03 07:15:10 -0400
  r43557 at loki:  spang | 2008-07-03 10:44:16 +0100
  make sendmail.t use relative paths to find the test data
 
 r39164 at 31b (orig r13763):  spang | 2008-07-03 07:15:21 -0400
  r43558 at loki:  spang | 2008-07-03 12:09:49 +0100
  make shredder/* use relative paths
 
 r39165 at 31b (orig r13764):  spang | 2008-07-03 07:15:41 -0400
  r43559 at loki:  spang | 2008-07-03 12:10:14 +0100
  make t/shredder/utils.pl use relocateable paths
 
 r39166 at 31b (orig r13765):  spang | 2008-07-03 07:29:35 -0400
  r43572 at loki:  spang | 2008-07-03 12:29:19 +0100
  don't break t/mail/sendmail.t
 
 r39167 at 31b (orig r13766):  spang | 2008-07-03 08:24:52 -0400
  r43574 at loki:  spang | 2008-07-03 13:16:31 +0100
  make import_gnupg_key in Test.pm load keys relocateably
 
 r39168 at 31b (orig r13767):  spang | 2008-07-03 08:25:05 -0400
  r43575 at loki:  spang | 2008-07-03 13:24:34 +0100
  make t/mail/*gnupg*.t relocateable
 
 r39169 at 31b (orig r13768):  elacour | 2008-07-03 08:27:01 -0400
  r9857 at datura:  manu | 2008-07-03 14:26:52 +0200
  RT-Ticket: 9929
  RT-Update: correspond
  RT-Status: resolved
  
  Lower font size (12 -> 10) in graphviz boxes.
  
 
 r39170 at 31b (orig r13769):  elacour | 2008-07-03 08:49:51 -0400
  r9868 at datura:  manu | 2008-07-03 14:49:41 +0200
  RT-Ticket: 9954
  RT-Update: correspond
  RT-Status: open
  
  Added () arrount ShowUserVerbose nickname as it is not automagically added by
  Email::Address (was in Mail::Address).
  
 
 r39172 at 31b (orig r13771):  spang | 2008-07-03 15:32:57 -0400
  r43557 at loki:  spang | 2008-07-03 10:44:16 +0100
  make sendmail.t use relative paths to find the test data
 
 r39173 at 31b (orig r13772):  spang | 2008-07-03 15:33:23 -0400
  r43558 at loki:  spang | 2008-07-03 12:09:49 +0100
  make shredder/* use relative paths
 
 r39174 at 31b (orig r13773):  spang | 2008-07-03 15:33:36 -0400
  r43559 at loki:  spang | 2008-07-03 12:10:14 +0100
  make t/shredder/utils.pl use relocateable paths
 
 r39175 at 31b (orig r13774):  spang | 2008-07-03 15:34:04 -0400
 
 r39176 at 31b (orig r13775):  spang | 2008-07-03 15:34:17 -0400
  r43572 at loki:  spang | 2008-07-03 12:29:19 +0100
  don't break t/mail/sendmail.t
 
 r39177 at 31b (orig r13776):  spang | 2008-07-03 15:34:29 -0400
  r43574 at loki:  spang | 2008-07-03 13:16:31 +0100
  make import_gnupg_key in Test.pm load keys relocateably
 
 r39178 at 31b (orig r13777):  spang | 2008-07-03 15:35:03 -0400
  r43575 at loki:  spang | 2008-07-03 13:24:34 +0100
  make t/mail/*gnupg*.t relocateable
 
 r39179 at 31b (orig r13778):  spang | 2008-07-03 15:35:14 -0400
  r43578 at loki:  spang | 2008-07-03 15:50:26 +0100
  add subroutines for converting test data paths into relocateable paths
 
 r39180 at 31b (orig r13779):  spang | 2008-07-03 15:35:33 -0400
  r43579 at loki:  spang | 2008-07-03 15:51:36 +0100
  make command_line.t use RT::Test::get_relocateable_file()
 
 r39181 at 31b (orig r13780):  spang | 2008-07-03 15:35:45 -0400
  r43580 at loki:  spang | 2008-07-03 15:59:33 +0100
  command_line.t doesn't need File::Spec anymore
 
 r39182 at 31b (orig r13781):  spang | 2008-07-03 15:35:55 -0400
  r43581 at loki:  spang | 2008-07-03 16:40:12 +0100
  make sendmail.t use new RT::Test functions
 
 r39183 at 31b (orig r13782):  spang | 2008-07-03 15:36:16 -0400
  r43582 at loki:  spang | 2008-07-03 17:00:09 +0100
  generalize get_relocateable_dir()
 
 r39184 at 31b (orig r13783):  spang | 2008-07-03 15:36:30 -0400
  r43583 at loki:  spang | 2008-07-03 17:00:29 +0100
  make command_line.t use generalized get_relocateable_dir()
 
 r39185 at 31b (orig r13784):  spang | 2008-07-03 15:36:43 -0400
  r43584 at loki:  spang | 2008-07-03 17:13:51 +0100
  make sendmail.t use updated get_reloacateable_file
 
 r39186 at 31b (orig r13785):  spang | 2008-07-03 15:37:00 -0400
  r43585 at loki:  spang | 2008-07-03 17:19:48 +0100
  move comments to pod
 
 r39187 at 31b (orig r13786):  spang | 2008-07-03 15:37:15 -0400
 
 r39188 at 31b (orig r13787):  spang | 2008-07-03 15:37:49 -0400
  r43590 at loki:  spang | 2008-07-03 17:59:40 +0100
  add function for absolute dirs, and fix import_gnupg_key
 
 r39189 at 31b (orig r13788):  spang | 2008-07-03 15:38:02 -0400
  r43591 at loki:  spang | 2008-07-03 18:56:53 +0100
  make shredder tests use get_relocateable_file from RT::Test
 
 r39190 at 31b (orig r13789):  spang | 2008-07-03 15:38:18 -0400
  r43592 at loki:  spang | 2008-07-03 19:12:31 +0100
  make mail gnupg tests use get_relocateable_dir
 
 r39191 at 31b (orig r13790):  spang | 2008-07-03 15:38:30 -0400
  r43593 at loki:  spang | 2008-07-03 19:34:48 +0100
  fix mistake in 01basics.t
 
 r39192 at 31b (orig r13791):  spang | 2008-07-03 15:38:41 -0400
  r43594 at loki:  spang | 2008-07-03 19:55:26 +0100
  make 00-mason-syntax.t use relocateable paths to find test data
 
 r39193 at 31b (orig r13792):  trs | 2008-07-03 17:14:54 -0400
  r36835 at zot:  tom | 2008-07-03 17:13:32 -0400
  IE6 seems to fail with our old onclick handler.  Use prototype's event observation instead and make it work.
 
 r39398 at 31b (orig r13816):  spang | 2008-07-07 04:47:51 -0400
  r43691 at loki:  spang | 2008-07-07 09:12:22 +0100
  fix bug in get_relocateable_dir when dir is absolute
 
 r39399 at 31b (orig r13817):  spang | 2008-07-07 04:48:10 -0400
  r43692 at loki:  spang | 2008-07-07 09:34:28 +0100
  fix a bug in my change to get_relocateable_dir. also, I can't spell, relocateable->relocatable
 
 r39400 at 31b (orig r13818):  spang | 2008-07-07 04:48:27 -0400
  r43693 at loki:  spang | 2008-07-07 09:44:58 +0100
  update to non-mispelled method name
 
 r39402 at 31b (orig r13820):  sartak | 2008-07-07 10:36:17 -0400
  r63657 at onn:  sartak | 2008-07-03 05:31:01 -0400
  Default the dashboard timezone to the system's tz instead of UTC. see also rt3.fsck.com #9952
 
 r39403 at 31b (orig r13821):  sartak | 2008-07-07 10:36:32 -0400
  r63659 at onn:  sartak | 2008-07-03 05:36:48 -0400
  Add label/value classes to the subscription tables
 
 r39404 at 31b (orig r13822):  sartak | 2008-07-07 10:36:42 -0400
  r63661 at onn:  sartak | 2008-07-03 05:41:19 -0400
  Exclude id from the Dashboards portlet
 
 r39405 at 31b (orig r13823):  sartak | 2008-07-07 10:37:06 -0400
  r63761 at onn:  sartak | 2008-07-07 10:29:25 -0400
  Remove dashboard unsubscribe, it's going to instead be a frequency setting
 
 r39406 at 31b (orig r13824):  sartak | 2008-07-07 10:37:20 -0400
  r63762 at onn:  sartak | 2008-07-07 10:34:14 -0400
  Remove some now-unneeded tests for unsubscribing to dashboards
 
 r39407 at 31b (orig r13825):  sartak | 2008-07-07 10:37:31 -0400
  r63763 at onn:  sartak | 2008-07-07 10:36:03 -0400
  Add a "never" frequency for subscriptions, and move the hour field down below frequency
 
 r39408 at 31b (orig r13826):  sartak | 2008-07-07 10:50:00 -0400
  r63770 at onn:  sartak | 2008-07-07 10:49:44 -0400
  disabled users failing access checks is totally not an error
 
 r39409 at 31b (orig r13827):  sunnavy | 2008-07-07 11:54:33 -0400
  r14111 at sunnavys-mb:  sunnavy | 2008-07-07 23:53:40 +0800
  fixed show check|next bug
 
 r39412 at 31b (orig r13828):  jesse | 2008-07-07 12:15:05 -0400
 * Make search links from dashboards and the homepage go to a fully qualified url
 r39413 at 31b (orig r13829):  sartak | 2008-07-07 12:21:37 -0400
  r63772 at onn:  sartak | 2008-07-07 12:19:28 -0400
  Absolute paths in search titleboxes so pages outside of / can use them
 
 r39414 at 31b (orig r13830):  sartak | 2008-07-07 12:21:47 -0400
 
 r39415 at 31b (orig r13831):  jesse | 2008-07-07 12:35:44 -0400
 * WebBaseURL doesn't include the local path if you're running RT not at the 'root' of your webserver. WebURL does. Fixed saved searches and shredder to use the right one
 r39416 at 31b (orig r13832):  kyoki | 2008-07-07 14:05:43 -0400
  r23520 at nyx:  kyoki | 2008-07-02 17:12:02 -0400
  RT-Ticket: 9899
  RT-Status: Resolved
  RT-Update: Correspond
  increased padding to prevent overlap
 
 r39417 at 31b (orig r13833):  kyoki | 2008-07-07 14:06:08 -0400
  r23622 at nyx:  kyoki | 2008-07-07 14:05:28 -0400
  RT-Ticket: 9860
  RT-Status: Resolved
  RT-Update: Correspond
  fixed path
 
 r39418 at 31b (orig r13834):  sartak | 2008-07-07 14:27:09 -0400
  r63780 at onn:  sartak | 2008-07-07 14:25:37 -0400
  email-dashboards: Use RT->Config->Get('WebURL') instead of $RT::WebURL. vverbose-log the actual component we end up running.
 
 r39419 at 31b (orig r13835):  kyoki | 2008-07-07 14:46:21 -0400
  r23627 at nyx:  kyoki | 2008-07-07 14:46:14 -0400
  no longer shows empty () if comment isn't defined
 
 r39424 at 31b (orig r13836):  sartak | 2008-07-07 14:54:31 -0400
 
 r39425 at 31b (orig r13837):  sartak | 2008-07-07 14:54:42 -0400
  r63785 at onn:  sartak | 2008-07-07 14:52:51 -0400
  email-dashboards: Rename vverbose to debug
 
 r39426 at 31b (orig r13838):  kyoki | 2008-07-07 15:10:04 -0400
  r23629 at nyx:  kyoki | 2008-07-07 15:09:27 -0400
  revert changes to padding-right
 
 r39427 at 31b (orig r13839):  sartak | 2008-07-07 15:22:16 -0400
 
 r39428 at 31b (orig r13840):  sartak | 2008-07-07 15:22:30 -0400
  r63790 at onn:  sartak | 2008-07-07 15:21:31 -0400
  email-dashboards: Instead of relying on WebURL, pick apart the URI the right way
 
 r39429 at 31b (orig r13841):  sartak | 2008-07-07 15:24:14 -0400
  r63795 at onn:  sartak | 2008-07-07 15:23:54 -0400
  Don't email dashboards to unprivileged users ever
 
 r39438 at 31b (orig r13842):  sartak | 2008-07-07 15:46:57 -0400
  r63797 at onn:  sartak | 2008-07-07 15:46:47 -0400
  Light up that Show tab when we have the special dhandler form of render
 


Modified: rt/3.8/branches/3.8.0-releng/Makefile.in
==============================================================================
--- rt/3.8/branches/3.8.0-releng/Makefile.in	(original)
+++ rt/3.8/branches/3.8.0-releng/Makefile.in	Mon Jul  7 16:21:51 2008
@@ -89,11 +89,13 @@
 # {{{ Files and directories 
 
 # DESTDIR allows you to specify that RT be installed somewhere other than
-# where it will eventually reside
+# where it will eventually reside. DESTDIR _must_ have a trailing slash
+# if it's defined.
 
 DESTDIR			=	
 
 
+
 RT_PATH			=	@RT_PATH_R@
 RT_ETC_PATH		=	@RT_ETC_PATH_R@
 RT_BIN_PATH		=	@RT_BIN_PATH_R@
@@ -103,7 +105,7 @@
 RT_VAR_PATH		=	@RT_VAR_PATH_R@
 RT_DOC_PATH		=	@RT_DOC_PATH_R@
 RT_LOCAL_PATH		=	@RT_LOCAL_PATH_R@
-RT_LOCAL_PLUGIN_PATH		=	@RT_LOCAL_PATH_R@/plugins
+LOCAL_PLUGIN_PATH		=	@RT_LOCAL_PATH_R@/plugins
 LOCAL_ETC_PATH		=	@LOCAL_ETC_PATH_R@
 LOCAL_LIB_PATH		=	@LOCAL_LIB_PATH_R@
 LOCAL_LEXICON_PATH	=	@LOCAL_LEXICON_PATH_R@
@@ -246,8 +248,7 @@
 all: default
 
 default:
-	@echo "Please read RT's readme before installing. Not doing so could"
-	@echo "be dangerous."
+	@echo "Please read RT's README before beginning your installation."
 
 
 
@@ -295,64 +296,64 @@
 # {{{ fixperms
 fixperms:
 	# Make the libraries readable
-	chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)/$(RT_PATH)
-	chown -R $(LIBS_OWNER) $(DESTDIR)/$(RT_LIB_PATH)
-	chgrp -R $(LIBS_GROUP) $(DESTDIR)/$(RT_LIB_PATH)
-	chmod -R  u+rwX,go-w,go+rX 	$(DESTDIR)/$(RT_LIB_PATH)
+	chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)$(RT_PATH)
+	chown -R $(LIBS_OWNER) $(DESTDIR)$(RT_LIB_PATH)
+	chgrp -R $(LIBS_GROUP) $(DESTDIR)$(RT_LIB_PATH)
+	chmod -R  u+rwX,go-w,go+rX 	$(DESTDIR)$(RT_LIB_PATH)
 
 
-	chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)/$(RT_BIN_PATH)
-	chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)/$(RT_BIN_PATH)	
+	chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)$(RT_BIN_PATH)
+	chmod $(RT_READABLE_DIR_MODE) $(DESTDIR)$(RT_BIN_PATH)	
 
-	chmod 0755 $(DESTDIR)/$(RT_ETC_PATH)
-	cd $(DESTDIR)/$(RT_ETC_PATH) && chmod 0400 $(ETC_FILES)
+	chmod 0755 $(DESTDIR)$(RT_ETC_PATH)
+	cd $(DESTDIR)$(RT_ETC_PATH) && chmod 0400 $(ETC_FILES)
 
 	#TODO: the config file should probably be able to have its
 	# owner set separately from the binaries.
-	chown -R $(BIN_OWNER) $(DESTDIR)/$(RT_ETC_PATH)
-	chgrp -R $(RTGROUP) $(DESTDIR)/$(RT_ETC_PATH)
+	chown -R $(BIN_OWNER) $(DESTDIR)$(RT_ETC_PATH)
+	chgrp -R $(RTGROUP) $(DESTDIR)$(RT_ETC_PATH)
 
-	chmod 0440 $(DESTDIR)/$(CONFIG_FILE)
-	chmod 0640 $(DESTDIR)/$(SITE_CONFIG_FILE)
+	chmod 0440 $(DESTDIR)$(CONFIG_FILE)
+	chmod 0640 $(DESTDIR)$(SITE_CONFIG_FILE)
 
 	# Make the system binaries
-	cd $(DESTDIR)/$(RT_BIN_PATH) && ( chmod 0755 $(BINARIES) ; chown $(BIN_OWNER) $(BINARIES);  chgrp $(RTGROUP) $(BINARIES))
+	cd $(DESTDIR)$(RT_BIN_PATH) && ( chmod 0755 $(BINARIES) ; chown $(BIN_OWNER) $(BINARIES);  chgrp $(RTGROUP) $(BINARIES))
 
 	# Make the system binaries executable also
-	cd $(DESTDIR)/$(RT_SBIN_PATH) && ( chmod 0755 $(SYSTEM_BINARIES) ; chown $(BIN_OWNER) $(SYSTEM_BINARIES);  chgrp $(RTGROUP) $(SYSTEM_BINARIES))
+	cd $(DESTDIR)$(RT_SBIN_PATH) && ( chmod 0755 $(SYSTEM_BINARIES) ; chown $(BIN_OWNER) $(SYSTEM_BINARIES);  chgrp $(RTGROUP) $(SYSTEM_BINARIES))
 
 	# Make the web ui readable by all. 
-	chmod -R  u+rwX,go-w,go+rX 	$(DESTDIR)/$(MASON_HTML_PATH) \
-					$(DESTDIR)/$(MASON_LOCAL_HTML_PATH) \
-					$(DESTDIR)/$(LOCAL_LEXICON_PATH)
-	chown -R $(LIBS_OWNER) 	$(DESTDIR)/$(MASON_HTML_PATH) \
-				$(DESTDIR)/$(MASON_LOCAL_HTML_PATH)
-	chgrp -R $(LIBS_GROUP) 	$(DESTDIR)/$(MASON_HTML_PATH) \
-				$(DESTDIR)/$(MASON_LOCAL_HTML_PATH)
+	chmod -R  u+rwX,go-w,go+rX 	$(DESTDIR)$(MASON_HTML_PATH) \
+					$(DESTDIR)$(MASON_LOCAL_HTML_PATH) \
+					$(DESTDIR)$(LOCAL_LEXICON_PATH)
+	chown -R $(LIBS_OWNER) 	$(DESTDIR)$(MASON_HTML_PATH) \
+				$(DESTDIR)$(MASON_LOCAL_HTML_PATH)
+	chgrp -R $(LIBS_GROUP) 	$(DESTDIR)$(MASON_HTML_PATH) \
+				$(DESTDIR)$(MASON_LOCAL_HTML_PATH)
 
 	# Make the web ui's data dir writable
-	chmod 0770  	$(DESTDIR)/$(MASON_DATA_PATH) \
-			$(DESTDIR)/$(MASON_SESSION_PATH)
-	chown -R $(WEB_USER) 	$(DESTDIR)/$(MASON_DATA_PATH) \
-				$(DESTDIR)/$(MASON_SESSION_PATH)
-	chgrp -R $(WEB_GROUP) 	$(DESTDIR)/$(MASON_DATA_PATH) \
-				$(DESTDIR)/$(MASON_SESSION_PATH)
+	chmod 0770  	$(DESTDIR)$(MASON_DATA_PATH) \
+			$(DESTDIR)$(MASON_SESSION_PATH)
+	chown -R $(WEB_USER) 	$(DESTDIR)$(MASON_DATA_PATH) \
+				$(DESTDIR)$(MASON_SESSION_PATH)
+	chgrp -R $(WEB_GROUP) 	$(DESTDIR)$(MASON_DATA_PATH) \
+				$(DESTDIR)$(MASON_SESSION_PATH)
 # }}}
 
 # {{{ dirs
 dirs:
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(RT_LOG_PATH)
-	$(INSTALL) -m 0770 -d $(DESTDIR)/$(MASON_DATA_PATH)
-	$(INSTALL) -m 0770 -d $(DESTDIR)/$(MASON_DATA_PATH)/cache
-	$(INSTALL) -m 0770 -d $(DESTDIR)/$(MASON_DATA_PATH)/etc
-	$(INSTALL) -m 0770 -d $(DESTDIR)/$(MASON_DATA_PATH)/obj
-	$(INSTALL) -m 0770 -d $(DESTDIR)/$(MASON_SESSION_PATH)
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(MASON_HTML_PATH)
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(MASON_LOCAL_HTML_PATH)
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(LOCAL_ETC_PATH)
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(LOCAL_LIB_PATH)
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(LOCAL_PLUGIN_PATH)
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(LOCAL_LEXICON_PATH)
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LOG_PATH)
+	$(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)
+	$(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)/cache
+	$(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)/etc
+	$(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_DATA_PATH)/obj
+	$(INSTALL) -m 0770 -d $(DESTDIR)$(MASON_SESSION_PATH)
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_HTML_PATH)
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_LOCAL_HTML_PATH)
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_ETC_PATH)
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_LIB_PATH)
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_PLUGIN_PATH)
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_LEXICON_PATH)
 # }}}
 
 install: testdeps config-install dirs files-install fixperms instruct
@@ -360,9 +361,9 @@
 files-install: libs-install etc-install config-install bin-install sbin-install html-install local-install doc-install
 
 config-install:
-	$(INSTALL) -m 0755 -o $(BIN_OWNER) -g $(RTGROUP) -d $(DESTDIR)/$(CONFIG_FILE_PATH)	
-	-$(INSTALL) -m 0440 -o $(BIN_OWNER) -g $(RTGROUP)  etc/RT_Config.pm $(DESTDIR)/$(CONFIG_FILE)
-	[ -f $(DESTDIR)/$(SITE_CONFIG_FILE) ] || $(INSTALL) -m 0640 -o $(BIN_OWNER) -g $(RTGROUP) etc/RT_SiteConfig.pm $(DESTDIR)/$(SITE_CONFIG_FILE) 
+	$(INSTALL) -m 0755 -o $(BIN_OWNER) -g $(RTGROUP) -d $(DESTDIR)$(CONFIG_FILE_PATH)	
+	-$(INSTALL) -m 0440 -o $(BIN_OWNER) -g $(RTGROUP)  etc/RT_Config.pm $(DESTDIR)$(CONFIG_FILE)
+	[ -f $(DESTDIR)$(SITE_CONFIG_FILE) ] || $(INSTALL) -m 0640 -o $(BIN_OWNER) -g $(RTGROUP) etc/RT_SiteConfig.pm $(DESTDIR)$(SITE_CONFIG_FILE) 
 	@echo "Installed configuration. About to install RT in  $(RT_PATH)"
 
 TEST_FILES = t/*.t t/*/*.t
@@ -372,7 +373,7 @@
 	$(PERL) "-MExtUtils::Command::MM" -e "test_harness($(TEST_VERBOSE), 'lib')" $(TEST_FILES)
 
 regression-install: config-install
-	$(PERL) -pi -e 's/Set\(\$$DatabaseName.*\);/Set\(\$$DatabaseName, "rt3regression"\);/' $(DESTDIR)/$(CONFIG_FILE)
+	$(PERL) -pi -e 's/Set\(\$$DatabaseName.*\);/Set\(\$$DatabaseName, "rt3regression"\);/' $(DESTDIR)$(CONFIG_FILE)
 
 # {{{ database-installation
 
@@ -394,55 +395,55 @@
 
 # {{{ libs-install
 libs-install: 
-	[ -d $(DESTDIR)/$(RT_LIB_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)/$(RT_LIB_PATH)
-	-cd lib && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)/$(RT_LIB_PATH)/{} \;
-	-cd lib && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(RT_LIB_PATH)/{} \;
+	[ -d $(DESTDIR)$(RT_LIB_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LIB_PATH)
+	-cd lib && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_LIB_PATH)/{} \;
+	-cd lib && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)$(RT_LIB_PATH)/{} \;
 # }}}
 
 # {{{ html-install
 html-install:
-	[ -d $(DESTDIR)/$(MASON_HTML_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)/$(MASON_HTML_PATH)
-	-cd share/html && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)/$(MASON_HTML_PATH)/{} \;
-	-cd share/html && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(MASON_HTML_PATH)/{} \;
+	[ -d $(DESTDIR)$(MASON_HTML_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_HTML_PATH)
+	-cd share/html && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_HTML_PATH)/{} \;
+	-cd share/html && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)$(MASON_HTML_PATH)/{} \;
 # }}}
 
 # {{{ doc-install
 doc-install:
 	# RT 3.0.0 - RT 3.0.2 would accidentally create a file instead of a dir
-	-[ -f $(DESTDIR)/$(RT_DOC_PATH) ] && rm $(DESTDIR)/$(RT_DOC_PATH) 
-	[ -d $(DESTDIR)/$(RT_DOC_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)/$(RT_DOC_PATH)
-	-$(INSTALL) -m 0644 ./README $(DESTDIR)/$(RT_DOC_PATH)/
+	-[ -f $(DESTDIR)$(RT_DOC_PATH) ] && rm $(DESTDIR)$(RT_DOC_PATH) 
+	[ -d $(DESTDIR)$(RT_DOC_PATH) ] || $(INSTALL) -m 0755 -d $(DESTDIR)$(RT_DOC_PATH)
+	-$(INSTALL) -m 0644 ./README $(DESTDIR)$(RT_DOC_PATH)/
 # }}}
 
 # {{{ etc-install
 
 etc-install:
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(RT_ETC_PATH)
-	cd etc && $(INSTALL) -m 0644 $(ETC_FILES) $(DESTDIR)/$(RT_ETC_PATH)/
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(RT_ETC_PATH)
+	cd etc && $(INSTALL) -m 0644 $(ETC_FILES) $(DESTDIR)$(RT_ETC_PATH)/
 # }}}
 
 # {{{ sbin-install
 
 sbin-install:
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(RT_SBIN_PATH)
-	cd sbin && $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 $(SYSTEM_BINARIES)  $(DESTDIR)/$(RT_SBIN_PATH)/
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(RT_SBIN_PATH)
+	cd sbin && $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 $(SYSTEM_BINARIES)  $(DESTDIR)$(RT_SBIN_PATH)/
 
 # }}}
 
 # {{{ bin-install
 
 bin-install:
-	$(INSTALL) -m 0755 -d $(DESTDIR)/$(RT_BIN_PATH)
-	cd bin && $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 $(BINARIES) $(DESTDIR)/$(RT_BIN_PATH)/
+	$(INSTALL) -m 0755 -d $(DESTDIR)$(RT_BIN_PATH)
+	cd bin && $(INSTALL) -o $(BIN_OWNER) -g $(RTGROUP) -m 0755 $(BINARIES) $(DESTDIR)$(RT_BIN_PATH)/
 
 # {{{ local-install
 local-install:
-	-cd local/html && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)/$(MASON_LOCAL_HTML_PATH)/{} \;
-	-cd local/html && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(MASON_LOCAL_HTML_PATH)/{} \;
-	-cd local/po && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)/$(LOCAL_LEXICON_PATH)/{} \;
-	-cd local/po && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(LOCAL_LEXICON_PATH)/{} \;
-	-cd local/etc && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)/$(LOCAL_ETC_PATH)/{} \;
-	-cd local/etc && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)/$(LOCAL_ETC_PATH)/{} \;
+	-cd local/html && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)$(MASON_LOCAL_HTML_PATH)/{} \;
+	-cd local/html && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)$(MASON_LOCAL_HTML_PATH)/{} \;
+	-cd local/po && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_LEXICON_PATH)/{} \;
+	-cd local/po && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)$(LOCAL_LEXICON_PATH)/{} \;
+	-cd local/etc && find . -type d -name .svn -prune -o -type d -exec $(INSTALL) -m 0755 -d $(DESTDIR)$(LOCAL_ETC_PATH)/{} \;
+	-cd local/etc && find . -type d -name .svn -prune -o -type f -exec $(INSTALL) -m 0644 {} $(DESTDIR)$(LOCAL_ETC_PATH)/{} \;
 # }}}
 
 # {{{ Best Practical Build targets -- no user servicable parts inside

Modified: rt/3.8/branches/3.8.0-releng/bin/standalone_httpd.in
==============================================================================
--- rt/3.8/branches/3.8.0-releng/bin/standalone_httpd.in	(original)
+++ rt/3.8/branches/3.8.0-releng/bin/standalone_httpd.in	Mon Jul  7 16:21:51 2008
@@ -150,7 +150,7 @@
 sub handle_bind_error {
 
     print STDERR <<EOF;
-WARNINING: RT couldn't start up a web server on port @{[$port]}.
+WARNING: RT couldn't start up a web server on port @{[$port]}.
 This is often the case if you're running @{[$0]} as 
 someone other than your system's "root" user.  
 EOF

Modified: rt/3.8/branches/3.8.0-releng/configure.ac
==============================================================================
--- rt/3.8/branches/3.8.0-releng/configure.ac	(original)
+++ rt/3.8/branches/3.8.0-releng/configure.ac	Mon Jul  7 16:21:51 2008
@@ -307,6 +307,7 @@
 fi
 AC_SUBST(RT_GPG)
 
+
 dnl This section maps the variable names this script 'natively' generates
 dnl to their existing names. They should be removed from here as the .in
 dnl files are changed to use the new names.
@@ -334,7 +335,6 @@
 AC_SUBST([MASON_LOCAL_HTML_PATH],	${exp_customhtmldir})
 AC_SUBST([LOCAL_LEXICON_PATH],		${exp_customlexdir})
 AC_SUBST([LOCAL_LIB_PATH],		${exp_customlibdir})
-AC_SUBST([DESTDIR],			${exp_prefix})
 AC_SUBST([RT_LOG_PATH],			${exp_logfiledir})
 
 if test ${exp_sysconfdir} = "etc"; then
@@ -355,7 +355,6 @@
 AC_SUBST([MASON_LOCAL_HTML_PATH_R],	${exp_prefix}/${exp_customhtmldir})
 AC_SUBST([LOCAL_LEXICON_PATH_R],		${exp_prefix}/${exp_customlexdir})
 AC_SUBST([LOCAL_LIB_PATH_R],		${exp_prefix}/${exp_customlibdir})
-AC_SUBST([DESTDIR_R],			${exp_prefix})
 AC_SUBST([RT_LOG_PATH_R],			${exp_prefix}/${exp_logfiledir})
 else
 AC_SUBST([RT_PATH_R],			${exp_prefix})
@@ -375,7 +374,6 @@
 AC_SUBST([MASON_LOCAL_HTML_PATH_R],	${exp_customhtmldir})
 AC_SUBST([LOCAL_LEXICON_PATH_R],		${exp_customlexdir})
 AC_SUBST([LOCAL_LIB_PATH_R],		${exp_customlibdir})
-AC_SUBST([DESTDIR_R],			${exp_prefix})
 AC_SUBST([RT_LOG_PATH_R],			${exp_logfiledir})
 
 fi

Modified: rt/3.8/branches/3.8.0-releng/etc/RT_Config.pm.in
==============================================================================
--- rt/3.8/branches/3.8.0-releng/etc/RT_Config.pm.in	(original)
+++ rt/3.8/branches/3.8.0-releng/etc/RT_Config.pm.in	Mon Jul  7 16:21:51 2008
@@ -450,6 +450,15 @@
 
 Set($CommentAddress , '');
 
+=item C<$DashboardAddress>
+
+The email address from which RT will send dashboards. If none is set, then
+C<$OwnerEmail> will be used.
+
+=cut
+
+Set($DashboardAddress, '');
+
 =item C<UseFriendlyFromLine>
 
 By default, RT sets the outgoing mail's "From:" header to
@@ -548,6 +557,16 @@
 
 Set($ShowBccHeader, 0);
 
+=item C<$DashboardSubject>
+
+Lets you set the subject of dashboards. Arguments are the frequency (Daily,
+Weekly, Monthly) of the dashboard and the dashboard's name. [_1] for the name
+of the dashboard.
+
+=cut
+
+Set($DashboardSubject, '%s Dashboard: %s');
+
 =back
 
 =head1 GnuPG Configuration
@@ -780,6 +799,17 @@
 
 Set($WebNoAuthRegex, qr{^ (?:/+NoAuth/ | /+REST/\d+\.\d+/NoAuth/) }x );
 
+=item C<$SelfServiceRegex>
+
+What portion of RT's URLspace should be accessible to Unprivileged users
+This does not override the redirect from F</Ticket/Display.html> to
+F</SelfService/Display.html> when Unprivileged users attempt to access
+ticked displays
+
+=cut
+
+Set($SelfServiceRegex, qr!^(?:/+SelfService/)!x );
+
 =item C<$MessageBoxWidth>, C<$MessageBoxHeight>
 
 For message boxes, set the entry box width, height and what type of
@@ -989,6 +1019,18 @@
 
 Set($ShowTransactionImages, 1);
 
+=item C<$PlainTextPre>
+
+Normally plaintext attachments are displayed as HTML with line
+breaks preserved.  This causes space- and tab-based formatting not
+to be displayed correctly.  By setting $PlainTextPre they'll be
+displayed using <pre> instead so such formatting works, but they'll
+use a monospaced font.
+
+=cut
+
+Set($PlainTextPre, 0);
+
 
 =item C<$ShowUnreadMessageNotifications>
 
@@ -1009,7 +1051,7 @@
 
 =cut
 
-Set($HomepageComponents, [qw(QuickCreate Quicksearch MyAdminQueues MySupportQueues MyReminders RefreshHomepage)]);
+Set($HomepageComponents, [qw(QuickCreate Quicksearch MyAdminQueues MySupportQueues MyReminders RefreshHomepage Dashboards)]);
 
 =item C<@MasonParameters>
 

Modified: rt/3.8/branches/3.8.0-releng/etc/initialdata
==============================================================================
--- rt/3.8/branches/3.8.0-releng/etc/initialdata	(original)
+++ rt/3.8/branches/3.8.0-releng/etc/initialdata	Mon Jul  7 16:21:51 2008
@@ -428,6 +428,31 @@
 ],
                },
 
+{
+    Queue       => 0,
+    Name        => "Error: Missing dashboard",    # loc
+    Description =>
+      "Inform user that a dashboard he subscribed to is missing", # loc
+    Content => q{Subject: [{RT->Config->Get('rtname')}] Missing dashboard!
+
+Greetings,
+
+You are subscribed to a dashboard that is currently missing. Most likely, the dashboard was deleted.
+
+RT will remove this subscription as it is no longer useful. Here's the information RT had about your subscription:
+
+DashboardID:  { $SubscriptionObj->SubValue('DashboardId') }
+Frequency:    { $SubscriptionObj->SubValue('Frequency') }
+Hour:         { $SubscriptionObj->SubValue('Hour') }
+{
+    $SubscriptionObj->SubValue('Frequency') eq 'weekly'
+    ? "Day of week:  " . $SubscriptionObj->SubValue('Dow')
+    : $SubscriptionObj->SubValue('Frequency') eq 'monthly'
+      ? "Day of month: " . $SubscriptionObj->SubValue('Dom')
+      : ''
+}
+}
+},
 );
 # }}}
 
@@ -695,6 +720,7 @@
 	[ 
 	  { type => 'component', name => 'MyReminders' },
           { type => 'component', name => 'Quicksearch' },
+	  { type => 'component', name => 'Dashboards' },
 	  { type => 'component', name => 'RefreshHomepage' },
 	]
     },

Modified: rt/3.8/branches/3.8.0-releng/etc/upgrade/3.7.3/schema.Pg
==============================================================================
--- rt/3.8/branches/3.8.0-releng/etc/upgrade/3.7.3/schema.Pg	(original)
+++ rt/3.8/branches/3.8.0-releng/etc/upgrade/3.7.3/schema.Pg	Mon Jul  7 16:21:51 2008
@@ -1 +1 @@
-ALTER TABLE customfields ALTER COLUMN pattern VARCHAR(65536);
+ALTER TABLE customfields ALTER COLUMN pattern TYPE VARCHAR(65536);

Added: rt/3.8/branches/3.8.0-releng/etc/upgrade/3.7.87/content
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/etc/upgrade/3.7.87/content	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,28 @@
+ at Templates = (
+{
+    Queue       => 0,
+    Name        => "Error: Missing dashboard",    # loc
+    Description =>
+      "Inform user that a dashboard he subscribed to is missing", # loc
+    Content => q{Subject: [{RT->Config->Get('rtname')}] Missing dashboard!
+
+Greetings,
+
+You are subscribed to a dashboard that is currently missing. Most likely, the dashboard was deleted.
+
+RT will remove this subscription as it is no longer useful. Here's the information RT had about your subscription:
+
+DashboardID:  { $SubscriptionObj->SubValue('DashboardId') }
+Frequency:    { $SubscriptionObj->SubValue('Frequency') }
+Hour:         { $SubscriptionObj->SubValue('Hour') }
+{
+    $SubscriptionObj->SubValue('Frequency') eq 'weekly'
+    ? "Day of week:  " . $SubscriptionObj->SubValue('Dow')
+    : $SubscriptionObj->SubValue('Frequency') eq 'monthly'
+      ? "Day of month: " . $SubscriptionObj->SubValue('Dom')
+      : ''
+}
+}
+},
+);
+

Modified: rt/3.8/branches/3.8.0-releng/lib/RT.pm.in
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT.pm.in	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT.pm.in	Mon Jul  7 16:21:51 2008
@@ -53,6 +53,7 @@
 
 
 use File::Spec ();
+use Cwd ();
 
 use vars qw($Config $System $SystemUser $Nobody $Handle $Logger $_INSTALL_MODE);
 
@@ -104,6 +105,8 @@
             File::Spec->catdir( $pm_path, File::Spec->updir ) );
     }
 
+    $BasePath = Cwd::realpath( $BasePath );
+
     for my $path ( qw/EtcPath BinPath SbinPath VarPath LocalPath LocalEtcPath
             LocalLibPath LocalLexiconPath LocalPluginPath MasonComponentRoot
             MasonLocalComponentRoot MasonDataDir MasonSessionDir/ ) {

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Action/Notify.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Action/Notify.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Action/Notify.pm	Mon Jul  7 16:21:51 2008
@@ -54,7 +54,7 @@
 
 use base qw(RT::Action::SendEmail);
 
-use Mail::Address;
+use Email::Address;
 
 =head2 Prepare
 
@@ -89,10 +89,10 @@
 
     if ( $arg =~ /\bOtherRecipients\b/ ) {
         if ( my $attachment = $self->TransactionObj->Attachments->First ) {
-            push @Cc, map { $_->address } Mail::Address->parse(
+            push @Cc, map { $_->address } Email::Address->parse(
                 $attachment->GetHeader('RT-Send-Cc')
             );
-            push @Bcc, map { $_->address } Mail::Address->parse(
+            push @Bcc, map { $_->address } Email::Address->parse(
                 $attachment->GetHeader('RT-Send-Bcc')
             );
         }

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Action/SendEmail.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Action/SendEmail.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Action/SendEmail.pm	Mon Jul  7 16:21:51 2008
@@ -59,7 +59,7 @@
 
 use RT::EmailParser;
 use RT::Interface::Email;
-use Mail::Address;
+use Email::Address;
 our @EMAIL_RECIPIENT_HEADERS = qw(To Cc Bcc);
 
 
@@ -240,7 +240,7 @@
 
 =head2 To
 
-Returns an array of L<Mail::Address> objects containing all the To: recipients for this notification
+Returns an array of L<Email::Address> objects containing all the To: recipients for this notification
 
 =cut
 
@@ -251,7 +251,7 @@
 
 =head2 Cc
 
-Returns an array of L<Mail::Address> objects containing all the Cc: recipients for this notification
+Returns an array of L<Email::Address> objects containing all the Cc: recipients for this notification
 
 =cut
 
@@ -262,7 +262,7 @@
 
 =head2 Bcc
 
-Returns an array of L<Mail::Address> objects containing all the Bcc: recipients for this notification
+Returns an array of L<Email::Address> objects containing all the Bcc: recipients for this notification
 
 =cut
 
@@ -276,7 +276,7 @@
     my $self      = shift;
     my $field     = shift;
     my $header    = $self->TemplateObj->MIMEObj->head->get($field);
-    my @addresses = Mail::Address->parse($header);
+    my @addresses = Email::Address->parse($header);
 
     return (@addresses);
 }
@@ -635,6 +635,8 @@
     my $digest_hash = {};
 
     foreach my $mailfield (@EMAIL_RECIPIENT_HEADERS) {
+        # If we have a "PseudoTo", the "To" contains it, so we don't need to access it
+        next if ( ( $self->{'PseudoTo'} && @{ $self->{'PseudoTo'} } ) && ( $mailfield eq 'To' ) );
         $RT::Logger->debug( "Working on mailfield $mailfield; recipients are " . join( ',', @{ $self->{$mailfield} } ) );
 
         # Store the 'daily digest' folk in an array.
@@ -889,15 +891,16 @@
 
     chomp $val;
     chomp $field;
-    $self->TemplateObj->MIMEObj->head->fold_length( $field, 10000 );
-    $self->TemplateObj->MIMEObj->head->replace( $field, $val );
-    return $self->TemplateObj->MIMEObj->head->get($field);
+    my $head = $self->TemplateObj->MIMEObj->head;
+    $head->fold_length( $field, 10000 );
+    $head->replace( $field, $val );
+    return $head->get($field);
 }
 
 =head2 SetSubject
 
-This routine sets the subject. it does not add the rt tag. that gets done elsewhere
-If $self->{'Subject'} is already defined, it uses that. otherwise, it tries to get
+This routine sets the subject. it does not add the rt tag. That gets done elsewhere
+If subject is already defined via template, it uses that. otherwise, it tries to get
 the transaction's subject.
 
 =cut 
@@ -937,9 +940,10 @@
 sub SetSubjectToken {
     my $self = shift;
 
-    $self->TemplateObj->MIMEObj->head->replace(
+    my $head = $self->TemplateObj->MIMEObj->head;
+    $head->replace(
         Subject => RT::Interface::Email::AddSubjectTag(
-            $self->TemplateObj->MIMEObj->head->get('Subject'),
+            Encode::decode_utf8( $head->get('Subject') ),
             $self->TicketObj,
         ),
     );
@@ -1041,17 +1045,16 @@
     my $self = shift;
     my ( $field, $enc ) = ( shift, shift );
 
-    if ( $field eq 'From' and RT->Config->Get('SMTPFrom') ) {
-        $self->TemplateObj->MIMEObj->head->replace( $field,
-            RT->Config->Get('SMTPFrom') );
+    my $head = $self->TemplateObj->MIMEObj->head;
+
+    if ( lc($field) eq 'from' and RT->Config->Get('SMTPFrom') ) {
+        $head->replace( $field, RT->Config->Get('SMTPFrom') );
         return;
     }
 
-    my $value = $self->TemplateObj->MIMEObj->head->get($field);
-
+    my $value = $head->get( $field );
     $value = $self->MIMEEncodeString( $value, $enc );
-
-    $self->TemplateObj->MIMEObj->head->replace( $field, $value );
+    $head->replace( $field, $value );
 
 }
 

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Attachment_Overlay.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Attachment_Overlay.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Attachment_Overlay.pm	Mon Jul  7 16:21:51 2008
@@ -430,7 +430,7 @@
 Returns a hashref of all addresses related to this attachment.
 The keys of the hash are C<From>, C<To>, C<Cc>, C<Bcc>, C<RT-Send-Cc>
 and C<RT-Send-Bcc>. The values are references to lists of
-L<Mail::Address> objects.
+L<Email::Address> objects.
 
 =cut
 
@@ -445,7 +445,7 @@
         my @Addresses;
         my $line      = $self->GetHeader($hdr);
         
-        foreach my $AddrObj ( Mail::Address->parse( $line )) {
+        foreach my $AddrObj ( Email::Address->parse( $line )) {
             my $address = $AddrObj->address;
             $address = lc RT::User->CanonicalizeEmailAddress($address);
             next if ( $current_user_address eq $address );

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Config.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Config.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Config.pm	Mon Jul  7 16:21:51 2008
@@ -164,9 +164,18 @@
         Widget          => '/Widgets/Form/Boolean',
         WidgetArguments => {
             Description => 'Notify me of unread messages',    #loc
-            } 
+            },
 
     },
+    PlainTextPre => {
+	Section         => 'Ticket display',
+	Overridable     => 1,
+        Widget          => '/Widgets/Form/Boolean',
+        WidgetArguments => {
+            Description => 'Use monospace font',
+            Hints       => "Use fixed-width font to display plaintext messages"
+	},
+    },
     DateTimeFormat => {
         Section         => 'Locale',                       #loc
         Overridable     => 1,

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Crypt/GnuPG.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Crypt/GnuPG.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Crypt/GnuPG.pm	Mon Jul  7 16:21:51 2008
@@ -274,7 +274,7 @@
 
 =item $Recipient - recipient's identification
 
-=item $AddressObj - L<Mail::Address> object containing recipient's email address
+=item $AddressObj - L<Email::Address> object containing recipient's email address
 
 =back
 
@@ -400,13 +400,13 @@
     my $entity = $args{'Entity'};
     if ( $args{'Sign'} && !defined $args{'Signer'} ) {
         $args{'Signer'} = UseKeyForSigning()
-            || (Mail::Address->parse( $entity->head->get( 'From' ) ))[0]->address;
+            || (Email::Address->parse( $entity->head->get( 'From' ) ))[0]->address;
     }
     if ( $args{'Encrypt'} && !$args{'Recipients'} ) {
         my %seen;
         $args{'Recipients'} = [
             grep $_ && !$seen{ $_ }++, map $_->address,
-            map Mail::Address->parse( $entity->head->get( $_ ) ),
+            map Email::Address->parse( $entity->head->get( $_ ) ),
             qw(To Cc Bcc)
         ];
     }
@@ -514,7 +514,7 @@
         $gnupg->options->push_recipients( $_ ) foreach 
             map UseKeyForEncryption($_) || $_,
             grep !$seen{ $_ }++, map $_->address,
-            map Mail::Address->parse( $entity->head->get( $_ ) ),
+            map Email::Address->parse( $entity->head->get( $_ ) ),
             qw(To Cc Bcc);
 
         my ($tmp_fh, $tmp_fn) = File::Temp::tempfile();
@@ -1796,7 +1796,7 @@
     return (
         MainKey      => $main_key_id,
         String       => $user_str,
-        EmailAddress => (map $_->address, Mail::Address->parse( $user_str ))[0],
+        EmailAddress => (map $_->address, Email::Address->parse( $user_str ))[0],
     );
 }
 

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/CustomField.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/CustomField.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/CustomField.pm	Mon Jul  7 16:21:51 2008
@@ -120,8 +120,10 @@
                 SortOrder => '0',
                 LookupType => '',
                 Disabled => '0',
+                LinkToValue => '',
+                IncludeContentForValue => '',
 
-		  @_);
+                  @_);
     $self->SUPER::Create(
                          Name => $args{'Name'},
                          Type => $args{'Type'},
@@ -132,6 +134,8 @@
                          SortOrder => $args{'SortOrder'},
                          LookupType => $args{'LookupType'},
                          Disabled => $args{'Disabled'},
+                         LinkToValue => $args{'LinkToValue'},
+                         IncludeContentForValue => $args{'IncludeContentForValue'}
 );
 
 }

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/CustomField_Overlay.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/CustomField_Overlay.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/CustomField_Overlay.pm	Mon Jul  7 16:21:51 2008
@@ -164,6 +164,8 @@
         Disabled    => 0,
         LookupType  => '',
         Repeated    => 0,
+        LinkValueTo => '',
+        IncludeContentForValue => '',
         @_,
     );
 
@@ -221,6 +223,14 @@
         Repeated    => $args{'Repeated'},
     );
 
+    if ( exists $args{'LinkValueTo'}) {
+	$self->SetLinkValueTo($args{'LinkValueTo'});
+    }
+
+    if ( exists $args{'IncludeContentForValue'}) {
+	$self->SetIncludeContentForValue($args{'IncludeContentForValue'});
+    }
+
     if ( exists $args{'ValuesClass'} ) {
         $self->SetValuesClass( $args{'ValuesClass'} );
     }
@@ -261,6 +271,9 @@
 
 Loads the Custom field named NAME.
 
+Will load a Disabled Custom Field even if there is a non-disabled Custom Field
+with the same Name.
+
 If a Queue parameter is specified, only look for ticket custom fields tied to that Queue.
 
 If the Queue parameter is '0', look for global ticket custom fields.

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Dashboard.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Dashboard.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Dashboard.pm	Mon Jul  7 16:21:51 2008
@@ -74,8 +74,17 @@
 use base qw/RT::SharedSetting/;
 
 my %new_rights = (
-    ModifyDashboard    => 'Create and modify dashboards', #loc_pair
     SubscribeDashboard => 'Subscribe to email dashboards', #loc_pair
+
+    SeeDashboard       => 'View system dashboards', #loc_pair
+    CreateDashboard    => 'Create system dashboards', #loc_pair
+    ModifyDashboard    => 'Modify system dashboards', #loc_pair
+    DeleteDashboard    => 'Delete system dashboards', #loc_pair
+
+    SeeOwnDashboard    => 'View personal dashboards', #loc_pair
+    CreateOwnDashboard => 'Create personal dashboards', #loc_pair
+    ModifyOwnDashboard => 'Modify personal dashboards', #loc_pair
+    DeleteOwnDashboard => 'Delete personal dashboards', #loc_pair
 );
 
 use RT::System;
@@ -193,37 +202,142 @@
     return SavedSearch => join('-', $type, 'SavedSearch', $id);
 }
 
+=head2 PossibleHiddenSearches
+
+This will return a list of saved searches that are potentially not visible by
+all users for whom the dashboard is visible. You may pass in a privacy to
+use instead of the dashboard's privacy.
+
+=cut
+
+sub PossibleHiddenSearches {
+    my $self = shift;
+    my $privacy = shift || $self->Privacy;
+
+    return grep { !$_->IsVisibleTo($privacy) } $self->Searches;
+}
+
 # _PrivacyObjects: returns a list of objects that can be used to load
-# dashboards from. Unlike SavedSearch, this will return the System object if
-# applicable. You may pass in a paramhash of ShowSystem to force
-# showing/hiding of the System object
+# dashboards from. If the Modify parameter is true, then check modify rights.
+# If the Create parameter is true, then check create rights. Otherwise, check
+# read rights.
 
 sub _PrivacyObjects {
     my $self = shift;
     my %args = @_;
 
     my $CurrentUser = $self->CurrentUser;
-    my @objects = $CurrentUser->UserObj;
+    my @objects;
+
+    my $prefix = $args{Modify} ? "Modify"
+               : $args{Create} ? "Create"
+                               : "See";
+
+    push @objects, $CurrentUser->UserObj
+        if $self->CurrentUser->HasRight(
+            Right  => "${prefix}OwnDashboard",
+            Object => $RT::System,
+        );
 
     my $groups = RT::Groups->new($CurrentUser);
     $groups->LimitToUserDefinedGroups;
     $groups->WithMember( PrincipalId => $CurrentUser->Id,
                          Recursively => 1 );
 
-    push @objects, @{ $groups->ItemsArrayRef };
+    push @objects, grep {
+        $self->CurrentUser->HasRight(
+            Right  => "${prefix}GroupDashboard",
+            Object => $_,
+        )
+    } @{ $groups->ItemsArrayRef };
 
-    # if ShowSystem, always show it
-    # if not ShowSystem, then show only if the user didn't specify AND the
-    #    current user is superuser
     push @objects, RT::System->new($CurrentUser)
-        if $args{ShowSystem}
-        || (!defined($args{ShowSystem})
-            && $CurrentUser->HasRight(Object => $RT::System,
-                                      Right => 'SuperUser'));
+        if $CurrentUser->HasRight(
+            Right  => "${prefix}Dashboard",
+            Object => $RT::System,
+        );
 
     return @objects;
 }
 
+# ACLs
+
+sub _CurrentUserCan {
+    my $self    = shift;
+    my $privacy = shift || $self->Privacy;
+    my %args    = @_;
+
+    if (!defined($privacy)) {
+        $RT::Logger->debug("No privacy provided to $self->_CurrentUserCan");
+        return 0;
+    }
+
+    my $object = $self->_GetObject($privacy);
+    return 0 unless $object;
+
+    my $level;
+
+       if ($object->isa('RT::User'))   { $level = 'Own' }
+    elsif ($object->isa('RT::Group'))  { $level = 'Group' }
+    elsif ($object->isa('RT::System')) { $level = '' }
+    else {
+        $RT::Logger->error("Unknown object $object from privacy $privacy");
+        return 0;
+    }
+
+    # users are mildly special-cased, since we actually have to check that
+    # the user is operating on himself
+    if ($object->isa('RT::User')) {
+        return 0 unless $object->Id == $self->CurrentUser->Id;
+    }
+
+    my $right = $args{FullRight}
+             || join('', $args{Right}, $level, 'Dashboard');
+
+    # all rights, except group rights, are global
+    $object = $RT::System unless $object->isa('RT::Group');
+
+    return $self->CurrentUser->HasRight(
+        Right  => $right,
+        Object => $object,
+    );
+}
+
+sub CurrentUserCanSee {
+    my $self    = shift;
+    my $privacy = shift;
+
+    $self->_CurrentUserCan($privacy, Right => 'See');
+}
+
+sub CurrentUserCanCreate {
+    my $self    = shift;
+    my $privacy = shift;
+
+    $self->_CurrentUserCan($privacy, Right => 'Create');
+}
+
+sub CurrentUserCanModify {
+    my $self    = shift;
+    my $privacy = shift;
+
+    $self->_CurrentUserCan($privacy, Right => 'Modify');
+}
+
+sub CurrentUserCanDelete {
+    my $self    = shift;
+    my $privacy = shift;
+
+    $self->_CurrentUserCan($privacy, Right => 'Delete');
+}
+
+sub CurrentUserCanSubscribe {
+    my $self    = shift;
+    my $privacy = shift;
+
+    $self->_CurrentUserCan($privacy, FullRight => 'SubscribeDashboard');
+}
+
 eval "require RT::Dashboard_Vendor";
 die $@ if ($@ && $@ !~ qr{^Can't locate RT/Dashboard_Vendor.pm});
 eval "require RT::Dashboard_Local";

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/EmailParser.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/EmailParser.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/EmailParser.pm	Mon Jul  7 16:21:51 2008
@@ -54,7 +54,7 @@
 use strict;
 use warnings;
 
-use Mail::Address;
+use Email::Address;
 use MIME::Entity;
 use MIME::Head;
 use MIME::Parser;
@@ -300,8 +300,8 @@
 
     my (@Addresses);
 
-    my @ToObjs = Mail::Address->parse( $self->Head->get('To') );
-    my @CcObjs = Mail::Address->parse( $self->Head->get('Cc') );
+    my @ToObjs = Email::Address->parse( $self->Head->get('To') );
+    my @CcObjs = Email::Address->parse( $self->Head->get('Cc') );
 
     foreach my $AddrObj ( @ToObjs, @CcObjs ) {
         my $Address = $AddrObj->address;

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Graph/Tickets.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Graph/Tickets.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Graph/Tickets.pm	Mon Jul  7 16:21:51 2008
@@ -67,12 +67,12 @@
 }
 
 our %ticket_status_style = (
-    new      => { fontcolor => '#FF0000' },
-    open     => { fontcolor => '#000000' },
-    stalled  => { fontcolor => '#DAA520' },
-    resolved => { fontcolor => '#00FF00' },
-    rejected => { fontcolor => '#808080' },
-    deleted  => { fontcolor => '#A9A9A9' },
+    new      => { fontcolor => '#FF0000', fontsize => 10 },
+    open     => { fontcolor => '#000000', fontsize => 10 },
+    stalled  => { fontcolor => '#DAA520', fontsize => 10 },
+    resolved => { fontcolor => '#00FF00', fontsize => 10 },
+    rejected => { fontcolor => '#808080', fontsize => 10 },
+    deleted  => { fontcolor => '#A9A9A9', fontsize => 10 },
 );
 
 our %link_style = (

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Group_Overlay.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Group_Overlay.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Group_Overlay.pm	Mon Jul  7 16:21:51 2008
@@ -93,6 +93,11 @@
     EditSavedSearches => 'Edit saved searches for this group',        # loc_pair
     ShowSavedSearches => 'Display saved searches for this group',        # loc_pair
     SeeGroup => 'Make this group visible to user',                    # loc_pair
+
+    SeeGroupDashboard       => 'View dashboards for this group', #loc_pair
+    CreateGroupDashboard    => 'Create dashboards for this group', #loc_pair
+    ModifyGroupDashboard    => 'Modify dashboards for this group', #loc_pair
+    DeleteGroupDashboard    => 'Delete dashboards for this group', #loc_pair
 };
 
 # Tell RT::ACE that this sort of object can get acls granted

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/cs.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/cs.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/cs.po	Mon Jul  7 16:21:51 2008
@@ -3355,7 +3355,7 @@
 msgstr "Upravovat scrip pro frontu %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Upravovat scrip platný pro všechny fronty"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/da.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/da.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/da.po	Mon Jul  7 16:21:51 2008
@@ -1871,7 +1871,7 @@
 msgstr "Opret et ekstrafelt til kø %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "Opret et ekstrafelt, der gælder for alle køer"
 
 #: NOT FOUND IN SOURCE
@@ -3950,7 +3950,7 @@
 msgstr "Rediger et ekstrafelt for kø %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Modify a CustomField which applies to all queues"
+msgid "Modify a CustomField that applies to all queues"
 msgstr "Rediger et ekstrafelt, der gælder for alle køer"
 
 #: share/html/Admin/Queues/Scrip.html:84
@@ -3959,7 +3959,7 @@
 msgstr "Rediger et scrip for kø %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Rediger et scrip, der gælder for alle køer"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/de.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/de.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/de.po	Mon Jul  7 16:21:51 2008
@@ -3385,7 +3385,7 @@
 msgstr "Ändere ein Scrip für den Bereich %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Ändere ein globales benutzerdefiniertes Feld"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/es.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/es.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/es.po	Mon Jul  7 16:21:51 2008
@@ -1870,7 +1870,7 @@
 msgstr "Crear un campo personalizables para la cola %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "Crear un campo personalizable que se aplique a todas las colas"
 
 #: NOT FOUND IN SOURCE
@@ -3060,7 +3060,7 @@
 #: share/html/Admin/Elements/SelectTemplate:61
 #. (loc($Template->Name))
 msgid "Global template: %1"
-msgstr "Plantilla global"
+msgstr "Plantilla global: %1"
 
 #: share/html/Admin/Elements/UserTabs:76
 msgid "GnuPG"
@@ -4002,7 +4002,7 @@
 msgstr "Modificar un campo personalizable para la cola %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Modify a CustomField which applies to all queues"
+msgid "Modify a CustomField that applies to all queues"
 msgstr "Modificar un campo personalizable que se aplique a todas las colas"
 
 #: share/html/Admin/Queues/Scrip.html:84
@@ -4011,7 +4011,7 @@
 msgstr "Modificar un scrip para la cola %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Modificar un scrip que se aplique a todas las colas"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/fi.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/fi.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/fi.po	Mon Jul  7 16:21:51 2008
@@ -1739,7 +1739,7 @@
 msgstr "Luo kenttä työjonolle %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "Luo kenttä, jota sovelletaan kaikkiin työjonoihin"
 
 #: NOT FOUND IN SOURCE
@@ -3771,7 +3771,7 @@
 msgstr "Muokkaa työjonon %1 toimintoa"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Muokkaa toimintoa, jota sovelletaan kaikkiin työjonoihin"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/fr.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/fr.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/fr.po	Mon Jul  7 16:21:51 2008
@@ -7,13 +7,202 @@
 msgstr ""
 "Project-Id-Version: RT 3.8.x\n"
 "POT-Creation-Date: 2002-05-02 11:36+0800\n"
-"PO-Revision-Date: 2008-06-13 18:15+0200\n"
+"PO-Revision-Date: 2008-06-25 16:37+0200\n"
 "Last-Translator: Emmanuel Lacour <elacour at easter-eggs.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Language-Team: rt-devel <rt-devel at lists.bestpractical.com>\n"
 
+#: share/html/Install/DatabaseType.html:56
+msgid ""
+"\n"
+"    RT works with a number of different databases. <b>MySQL</b>, <b>PostgreSQL</b>, <b>Oracle</b> and <b>SQLite</b> are all supported.\n"
+msgstr ""
+"\n"
+"    RT fonctionne avec différentes bases de données. <b>MySQL</b>, <b>PostgreSQL</b>, <b>Oracle</b> and <b>SQLite</b> sont supportées.\n"
+
+#: share/html/Install/DatabaseType.html:61
+msgid ""
+"\n"
+"    You should choose the database you or your local database administrator is most comfortable with.\n"
+msgstr ""
+"\n"
+"    Vous devez choisir la base de données que vous ou votre administrateur de base de données maîtrisez le mieux.\n"
+
+#: share/html/Install/Global.html:63
+msgid ""
+"\n"
+"By default, RT will use the timezone of your system.  This lets you set a global default for the display of dates\n"
+"and times in RT.  Your users can choose a different Timezone in their preferences.\n"
+msgstr ""
+"\n"
+"Par défaut, RT utilisera le fuseau horaire configuré au sur votre système. Vous pouvez configurer une valeur par défaut pour l'affichage des dates et heures dans RT. Vos utilisateurs pourront choisir un fuseau différent dans leurs préférences.\n"
+
+#: share/html/Install/Finish.html:54
+msgid ""
+"\n"
+"Click \"Finish Installation\" below to complete this wizard.\n"
+msgstr ""
+"\n"
+"Cliquer \"Terminer l'installation\" pour terminer.\n"
+
+#: share/html/Install/index.html:78
+msgid ""
+"\n"
+"If you already have a working RT server and database, you should take this opportunity to make sure that your database server is running and that the RT server can connect to it. Once you've done that, stop and start the RT server.</p>\n"
+msgstr ""
+"\n"
+"Si vous avez déjà un serveur et une base de données RT fonctionnelle, vous devriez saisir cette opportunité pour être certain que votre serveur de base de données est en fonctionnement et que le serveur RT peut s'y connecter. Une fois ceci fait, arrêtez et redémarrez le serveur RT.</p>\n"
+
+#: share/html/Install/Finish.html:67
+msgid ""
+"\n"
+"If you've change the Port that RT runs on, you'll need to restart the server in order to log in.\n"
+msgstr ""
+"\n"
+"Si vous avez changez le port sur lequel RT est lancé, vous devez redémarrer le serveur pour pouvoir vous connecter.\n"
+
+#: share/html/Install/DatabaseType.html:73
+#. ('<a href="http://search.cpan.org" target="_new">CPAN</a>')
+msgid ""
+"\n"
+"If your preferred database isn't listed in the dropdown below, that means RT\n"
+"couldn't find a <i>database driver</i> for it installed locally. You may be\n"
+"able to remedy this by using %1 to download and install DBD::MySQL, DBD::Oracle or DBD::Pg.\n"
+msgstr ""
+"\n"
+"Si votre base de données préférées n'est pas listée ci-dessous, celà signifie que RT\n"
+"ne peut pas trouver un <i>pilote de base de données</i> installé pour celle-ci. Vous \n"
+"pouvez remédier à ceci en utilisant %1 pour télécharger et installer DBD::MySQL, DBD::Oracle ou DBD::Pg.\n"
+
+#: share/html/Install/Sendmail.html:58
+msgid ""
+"\n"
+"RT can communicate with your users about new tickets or new correspondence on tickets.\n"
+"Tell us where to find sendmail (or a sendmail compatible binary such as the one provided by\n"
+"postifx).  RT also needs to know who to notify when someone sends invalid email.  This must not be an address that\n"
+"feeds back into RT.\n"
+msgstr ""
+"\n"
+"RT peut communiquer avec vos utilisateurs au sujet des nouveaux ticket ou des nouveaux échanges.\n"
+"Indiquez ou il est possible de trouver sendmail (ou un exécutable compatible sendmail comme celui fourni\n"
+"par postfix). RT nécessite également une adresse ou envoyer les messages invalides. Cette adresse ne doit pas\n"
+"être une adresse redirigée vers RT.\n"
+
+#: share/html/Install/index.html:60
+msgid ""
+"\n"
+"RT is an enterprise-grade issue tracking system designed to let you intelligently and efficiently manage tasks, issues, requests, defects or anything else that looks like an \"action item.\"\n"
+msgstr ""
+"\n"
+"RT est un outil de gestion d'incidents de niveau professionnel, destiné à vous permettre de gérer de manière intelligente et efficace les tâches, les problèmes, les demandes, les incidents ou n'importe quoi d'autre qui nécessite une action.\n"
+
+#: share/html/Install/index.html:65
+msgid ""
+"\n"
+"RT is used by Fortune 100 companies, one-person businesses, government agencies, educational institutions, hospitals, nonprofits, NGOs, libraries, open source projects and all sorts of other organizations on all seven continents. (Yes, even Antarctica.)\n"
+msgstr ""
+"\n"
+"RT est utilisé par plus de 100 sociétées, entreprises unipersonnelles, organismes publics, facultés, hopitaux, associations, ONGs, bibliothèques, projets de logiciels libres, et toute sorte d'autre organisation sur les septs continents. (Oui, même en Antarctique.)\n"
+
+#: share/html/Install/DatabaseType.html:66
+msgid ""
+"\n"
+"SQLite is a database that doesn't need a server or any configuration whatsoever. RT's authors recommend it for testing, demoing and development, but it's not quite right for a high-volume production RT server.\n"
+msgstr ""
+"\n"
+"SQLite est une base de données qui ne nécessite pas de serveur ou de configuration spécifique. Les auteurs de RT la recommande pour les tests, démonstrations ou développements, mais ce n'est pas adaptés à une utilisation intensive d'un serveur RT en production.\n"
+
+#: share/html/Install/Finish.html:74
+#. (RT::Installer->ConfigFile)
+msgid ""
+"\n"
+"The settings you've chosen are stored in %1.  You can edit this file to refine your configuration further. You can\n"
+"prevent this installation wizard from being shown again by running `<tt>chmod -w '%1'</tt>`.\n"
+msgstr ""
+"\n"
+"Les paramêtres que vous avez choisis sont stockés dans %1. Vous pouvez éditer ce fichier pour affiner votre configuration.\n"
+"Vous pouvez stopper le démarrage de cet outil d'installation en lancant la commande `<tt>chmod -< '%1'</tt>`.\n"
+
+#: share/html/Install/Basics.html:57
+msgid ""
+"\n"
+"These configuration options cover some of the basics needed to get RT up and running.  We need to know the name of\n"
+"your RT installation and the domain name where RT will live.  You will also need to set a password for your defauly\n"
+"administrative user.\n"
+msgstr ""
+"\n"
+"Ces options de configurations concernent les éléments de base pour obtenir un RT fonctionnel. Nous avons besoin de\n"
+"connaître le nom de votre installation RT et le nom de domaines lui correspondant. Vous devrez également définir un\n"
+"mot de passe pour l'administrateur par défaut.\n"
+
+#: share/html/Install/DatabaseDetails.html:70
+msgid ""
+"\n"
+"We need to know the name of the database RT will use and where to find it.  We also need to know the username and\n"
+"password of the user RT should use. RT can create the database and user for you, which is why we ask for the\n"
+"username and password of a user with DBA privileges.  During step 6 of the installation process we will use this\n"
+"information to create and initialize RT's database.\n"
+msgstr ""
+"\n"
+"Nous avons besoin de connaître le nom de la base de données qui sera utilisée par RT ainsi que sa localisation.\n"
+"Nous avons également besoin de connaître le nom d'utilisateur et le mot de passe que RT doit utiliser. RT peut \n"
+"créer la base de donnée et l'utilisateur pour vous, c'est pourquoi, l'identifiant et le mot de passe d'un utilisateur\n"
+"avec des privilèges DBA sont demandés. Pendant l'étape 6 du processus d'installation nous utiliseront cette information\n"
+"pour créer et initialiser la base de données RT.\n"
+
+#: share/html/Install/DatabaseDetails.html:58
+msgid ""
+"\n"
+"We were able to find your database and connect as the DBA.  You can click on 'Customize Basics' to continue\n"
+"customizing RT.\n"
+msgstr ""
+"\n"
+"Nous n'avons pas été capable de trouver votre base de données et de nous connecter en DBA. Vous pouvez cliquer sur\n"
+"'Configuration de base' pour continuer à configurer RT.\n"
+
+#: share/html/Install/Global.html:58
+msgid ""
+"\n"
+"When RT sends an email it sets the From: and Reply-To: headers so users can add to the conversation by just hitting\n"
+"Reply in their mail client.  It uses different addresses for Replies and Comments.  These can be changed for each of\n"
+"your queues.  These addresses will need to be configured to use the <tt>rt-mailgate</tt> program.\n"
+msgstr ""
+"\n"
+"Quand RT envoi un email, il positionne le champs expéditeur et le champs Reply-To afin que les utilisateurs\n"
+"puissent participer à la conversation en cliquant simplement sur Répondre dans leur client de courriel.\n"
+"Une adresse différente est utilisée pour les réponses et les commentaires. Celles-ci peuvent-être définies\n"
+"pour chaque file. Ces adresses devront être configurées pour utiliser le programme <tt>rt-mailgate</tt>.\n"
+
+#: share/html/Install/DatabaseDetails.html:76
+msgid ""
+"\n"
+"When you click on 'Check Database Connectivity' there may be a small delay while RT tries to connect to your\n"
+"database\n"
+msgstr ""
+"\n"
+"Lorsque vous cliquez sur 'Tester la connexion à la base de données' il peut y avoir un peu d'attente le temps\n"
+"que RT se connecte à votre base de données.\n"
+
+#: share/html/Install/Finish.html:61
+msgid ""
+"\n"
+"You should be taken directly to a login page. You'll be able to log in with username of <tt>root</tt> and the\n"
+"password you set earlier. \n"
+msgstr ""
+"\n"
+"Vous devriez être redirigé vers la page de connection. Vous pourrez vous identifier avec l'identifiant\n"
+"<tt>root</tt> et le mot de passe configuré précédemment.\n"
+
+#: share/html/Install/index.html:72
+msgid ""
+"\n"
+"You're seeing this screen because you started up an RT server without a working database. Most likely, this is the first time you're running RT.  If you click <i>Let's go!</i> below, RT will guide you through setting up your RT server and database.\n"
+msgstr ""
+"\n"
+"Vous voyez cet écran car vous avez démarré RT sans base de données fonctionnelle. C'est probablement la première fois que vous lancez RT. Si vous cliques <i>C'est parti!</i> ci-dessous, RT vous guidera pour configurer votre serveur RT et votre base de données.\n"
+
 #: share/html/Widgets/SavedSearch:117
 #. ($self->{CurrentSearch}{Object}->Description)
 msgid " %1 deleted."
@@ -37,19 +226,19 @@
 msgid " (untrusted!)"
 msgstr " (non vérifié!)"
 
-#: share/html/Dashboards/Elements/ShowDashboards:55
+#: share/html/Dashboards/Elements/ShowDashboards:76
 msgid "#"
 msgstr "n°"
 
 #: share/html/Approvals/Elements/Approve:50 share/html/Approvals/Elements/ShowDependency:73 share/html/SelfService/Display.html:48 share/html/Ticket/Display.html:49 share/html/Ticket/Display.html:54
-#. ($TicketObj->Id, $TicketObj->Subject)
 #. ($Ticket->id, $Ticket->Subject)
-#. ($ticket->Id, $ticket->Subject)
 #. ($link->BaseObj->Id, $link->BaseObj->Subject)
+#. ($ticket->Id, $ticket->Subject)
+#. ($TicketObj->Id, $TicketObj->Subject)
 msgid "#%1: %2"
 msgstr "n°%1 : %2"
 
-#: share/html/Elements/ShowSearch:116
+#: share/html/Elements/ShowSearch:121
 msgid "$1"
 msgstr "$1"
 
@@ -91,7 +280,7 @@
 msgid "%1 %2 %3 %4:%5:%6 %7"
 msgstr "%1 %2 %3 %4:%5:%6 %7"
 
-#: lib/RT/Record.pm:1628 lib/RT/Transaction_Overlay.pm:636 lib/RT/Transaction_Overlay.pm:679
+#: lib/RT/Record.pm:1678 lib/RT/Transaction_Overlay.pm:636 lib/RT/Transaction_Overlay.pm:679
 #. ($cf->Name, $new_content)
 #. ($field, $self->NewValue)
 #. ($self->Field, $principal->Object->Name)
@@ -103,13 +292,13 @@
 msgid "%1 %2 ago"
 msgstr "il y a %1 %2"
 
-#: lib/RT/Record.pm:1635 lib/RT/Transaction_Overlay.pm:643
+#: lib/RT/Record.pm:1685 lib/RT/Transaction_Overlay.pm:643
 #. ($cf->Name, $old_content, $new_content)
 #. ($field, $self->OldValue, $self->NewValue)
 msgid "%1 %2 changed to %3"
 msgstr "%1 %2 changé en %3"
 
-#: lib/RT/Record.pm:1632 lib/RT/Transaction_Overlay.pm:639 lib/RT/Transaction_Overlay.pm:685
+#: lib/RT/Record.pm:1682 lib/RT/Transaction_Overlay.pm:639 lib/RT/Transaction_Overlay.pm:685
 #. ($cf->Name, $old_content)
 #. ($field, $self->OldValue)
 #. ($self->Field, $principal->Object->Name)
@@ -117,8 +306,8 @@
 msgstr "%1 %2 supprimé"
 
 #: share/html/Elements/RT__Scrip/ColumnMap:85 share/html/Ticket/Elements/PreviewScrips:66
-#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
 #. ($_[0]->loc($_[0]->ConditionObj->Name),            $_[0]->loc($_[0]->ActionObj->Name),            $_[0]->loc($_[0]->TemplateObj->Name),)
+#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
 msgid "%1 %2 with template %3"
 msgstr "%1 %2 avec le modèle %3"
 
@@ -128,10 +317,10 @@
 msgstr "%1 (%2) par %3"
 
 #: share/html/SelfService/Update.html:62 share/html/Ticket/Elements/EditBasics:115 share/html/Ticket/Update.html:69 share/html/Ticket/Update.html:75 share/html/Tools/MyDay.html:68
+#. (loc($Ticket->Status))
 #. (loc($Ticket->Status()))
 #. (loc($TicketObj->Status))
 #. ($TicketObj->OwnerObj->Name)
-#. (loc($Ticket->Status))
 msgid "%1 (Unchanged)"
 msgstr "%1 (inchangé)"
 
@@ -202,30 +391,45 @@
 msgid "%1 ScripAction loaded"
 msgstr "ScripAction %1 chargée"
 
-#: lib/RT/Record.pm:1663
+#: lib/RT/Record.pm:1713
 #. ($args{'Value'}, $cf->Name)
 msgid "%1 added as a value for %2"
 msgstr "%1 ajouté(e) comme valeur de %2"
 
+#: share/html/Install/DatabaseDetails.html:176
+#. ($RT::DatabaseName)
+msgid "%1 already exists and has RT's tables in place, but does not contain RT's metadata. The 'Initialize Database' step later on can insert metadata into this existing database. If this is acceptable, click 'Customize Basics' below to continue customizing RT."
+msgstr ""
+
+#: share/html/Install/DatabaseDetails.html:181
+#. ($RT::DatabaseName)
+msgid "%1 already exists, but does not contain RT's tables or metadata. The 'Initialize Database' step later on can insert tables and metadata into this existing database. if this is acceptable, click 'Customize Basic' below to continue customizing RT."
+msgstr ""
+
 #: lib/RT/Link_Overlay.pm:134 lib/RT/Link_Overlay.pm:142
 #. ($args{'Base'})
 #. ($args{'Target'})
 msgid "%1 appears to be a local object, but can't be found in the database"
 msgstr "%1 semble être un objet local, mais est introuvable dans la base de données"
 
+#: share/html/Install/DatabaseDetails.html:172
+#. ($RT::DatabaseName)
+msgid "%1 appears to be fully initialized.  We won't need to create any tables or insert metadata, but you can continue to customez RT by clicking 'Customize Basics' below"
+msgstr ""
+
 #: share/html/Dashboards/Elements/ShowSubscription:72
 #. ($freq, $hour)
 msgid "%1 at %2"
 msgstr "%1 à %2"
 
-#: lib/RT/SharedSetting.pm:107
+#: lib/RT/SharedSetting.pm:113
 #. (ucfirst($self->ObjectName))
 msgid "%1 attribute load failure"
 msgstr "%1 erreur lors du chargement de l'attribut"
 
 #: lib/RT/Transaction_Overlay.pm:531 share/html/Ticket/Elements/ShowDates:80
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
 #. ($self->BriefDescription , $self->CreatorObj->Name)
+#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
 msgid "%1 by %2"
 msgstr "%1 par %2"
 
@@ -267,7 +471,12 @@
 msgid "%1 deleted"
 msgstr "%1 supprimé(e)"
 
-#: etc/initialdata:652
+#: share/html/Install/Sendmail.html:89
+#. ($ARGS{SendmailPath})
+msgid "%1 doesn't exist."
+msgstr "%1 n'existe pas."
+
+#: etc/initialdata:677
 msgid "%1 highest priority tickets I own"
 msgstr "Mes %1 tickets de plus haute priorité"
 
@@ -291,7 +500,7 @@
 msgid "%1 is no longer a %2 for this ticket."
 msgstr "%1 n'est plus un %2 pour ce ticket."
 
-#: lib/RT/Record.pm:1720
+#: lib/RT/Record.pm:1770
 #. ($TransactionObj->OldValue, $cf->Name)
 msgid "%1 is no longer a value for custom field %2"
 msgstr "%1 n'est plus une valeur pour le champs personnalisé %2"
@@ -301,7 +510,7 @@
 msgid "%1 min"
 msgstr "%1 min"
 
-#: etc/initialdata:663
+#: etc/initialdata:688
 msgid "%1 newest unowned tickets"
 msgstr "Les %1 derniers tickets sans propriétaire"
 
@@ -314,17 +523,17 @@
 msgid "%1 rights"
 msgstr "droits de %1"
 
-#: lib/RT/SharedSetting.pm:214
+#: lib/RT/SharedSetting.pm:235
 #. (ucfirst($self->ObjectName), $msg)
 msgid "%1 update: %2"
 msgstr "%1 mise à jour: %2"
 
-#: lib/RT/SharedSetting.pm:207
+#: lib/RT/SharedSetting.pm:228
 #. (ucfirst($self->ObjectName))
 msgid "%1 update: Nothing changed"
 msgstr "%1 mise à jour: Aucun changement"
 
-#: lib/RT/SharedSetting.pm:211
+#: lib/RT/SharedSetting.pm:232
 msgid "%1 updated"
 msgstr "%1 mis à jour"
 
@@ -341,14 +550,14 @@
 msgid "%1's %2's %3 objects"
 msgstr "%1 de %2 de %3 objets"
 
-#: share/html/Dashboards/Elements/SelectPrivacy:57
+#: share/html/Dashboards/Elements/SelectPrivacy:61
 #. ($object->Name)
 msgid "%1's dashboards"
 msgstr "Tableaux de bord de %1"
 
 #: share/html/Search/Elements/SearchPrivacy:54 share/html/Search/Elements/SelectSearchObject:65 share/html/Search/Elements/SelectSearchesForObjects:59
-#. ($Object->Name)
 #. ($object->Name)
+#. ($Object->Name)
 msgid "%1's saved searches"
 msgstr "Recherches sauvées de %1"
 
@@ -449,7 +658,7 @@
 msgid "(empty)"
 msgstr "(vide)"
 
-#: lib/RT/Transaction_Overlay.pm:580 share/html/Admin/Elements/SelectRights:74 share/html/Elements/EditCustomFieldSelect:71 share/html/Elements/SelectCustomFieldValue:53 share/html/Elements/ShowCustomFields:56 share/html/Search/Chart:134 share/html/Search/Elements/Chart:78
+#: lib/RT/Transaction_Overlay.pm:580 share/html/Admin/Elements/SelectRights:74 share/html/Elements/EditCustomFieldSelect:71 share/html/Elements/SelectCustomFieldValue:53 share/html/Elements/ShowCustomFields:56 share/html/Search/Chart:136 share/html/Search/Elements/Chart:80
 msgid "(no value)"
 msgstr "(sans information)"
 
@@ -712,7 +921,11 @@
 msgid "Administrative Cc"
 msgstr "Cc Administratif"
 
-#: share/html/Ticket/Elements/Tabs:268
+#: lib/RT/Installer.pm:152
+msgid "Administrative password"
+msgstr "Mot de passe administrateur"
+
+#: share/html/Ticket/Elements/Tabs:269
 msgid "Advanced"
 msgstr "Avancé"
 
@@ -748,7 +961,7 @@
 msgid "Apply your changes"
 msgstr "Appliquer vos changements"
 
-#: share/html/Elements/Tabs.orig:80 share/html/Elements/Tabs:80
+#: share/html/Elements/Tabs:80
 msgid "Approval"
 msgstr "Approbations"
 
@@ -781,7 +994,7 @@
 msgid "Approve"
 msgstr "Approuver"
 
-#: etc/initialdata:565 etc/initialdata:567
+#: etc/initialdata:590 etc/initialdata:592
 #. (# loc	    $note)
 msgid "Approver's notes: %1"
 msgstr "Notes de l'approbateur : %1"
@@ -875,36 +1088,40 @@
 msgid "Back"
 msgstr "Retour"
 
-#: share/html/Install/Password.html:58
+#: share/html/Install/Basics.html:65 share/html/Install/DatabaseDetails.html:94 share/html/Install/DatabaseDetails.html:98 share/html/Install/Global.html:72 share/html/Install/Initialize.html:61 share/html/Install/Sendmail.html:68
+msgid "Back: "
+msgstr "Retour: "
+
+#: NOT FOUND IN SOURCE
 msgid "Back: Customize Basics"
 msgstr "Retour: Configuration initiale"
 
-#: share/html/Install/Basics.html:58
+#: NOT FOUND IN SOURCE
 msgid "Back: Customize Database Details"
 msgstr "Retour: Configuration de la base de données"
 
-#: share/html/Install/Sendmail.html:59
+#: NOT FOUND IN SOURCE
 msgid "Back: Customize Email Addresses"
 msgstr "Retour: Configuration des adresses de courriel"
 
-#: share/html/Install/Emails.html:58
+#: NOT FOUND IN SOURCE
 msgid "Back: Customize Password for Users in RT"
 msgstr "Retour: Configuration des mots de passe des utilisateurs dans RT"
 
-#: share/html/Install/Initialize.html:61
+#: NOT FOUND IN SOURCE
 msgid "Back: Customize Sendmail"
 msgstr "Retour: Configurer Sendmail"
 
-#: share/html/Install/DatabaseDetails.html:65
+#: NOT FOUND IN SOURCE
 msgid "Back: Select Database Type"
 msgstr "Retour: Choix de la base de données"
 
-#: lib/RT/SharedSetting.pm:135
+#: lib/RT/SharedSetting.pm:139
 #. ($id)
 msgid "Bad privacy for attribute %1"
 msgstr "Mauvaise sécurité pour l'attribut %1"
 
-#: share/html/Admin/Elements/CustomFieldTabs:67 share/html/Admin/Elements/GroupTabs:62 share/html/Admin/Elements/QueueTabs:62 share/html/Admin/Elements/UserTabs:60 share/html/Dashboards/Elements/Tabs:70 share/html/Ticket/Elements/Tabs:126 share/html/User/Elements/GroupTabs:61
+#: share/html/Admin/Elements/CustomFieldTabs:67 share/html/Admin/Elements/GroupTabs:62 share/html/Admin/Elements/QueueTabs:62 share/html/Admin/Elements/UserTabs:60 share/html/Dashboards/Elements/Tabs:70 share/html/Ticket/Elements/Tabs:125 share/html/User/Elements/GroupTabs:61
 msgid "Basics"
 msgstr "Essentiel"
 
@@ -924,7 +1141,7 @@
 msgid "Bold"
 msgstr "Gras"
 
-#: etc/initialdata:676
+#: etc/initialdata:701
 msgid "Bookmarked Tickets"
 msgstr "Tickets favoris"
 
@@ -932,7 +1149,7 @@
 msgid "Brief headers"
 msgstr "En-têtes courts"
 
-#: share/html/Ticket/Elements/Tabs:305
+#: share/html/Ticket/Elements/Tabs:306
 msgid "Bulk Update"
 msgstr "Màj en masse"
 
@@ -944,7 +1161,7 @@
 msgid "Calendar"
 msgstr "Calendrier"
 
-#: lib/RT/User_Overlay.pm:1441
+#: lib/RT/User_Overlay.pm:1479
 msgid "Can not modify system users"
 msgstr "Les utilisateurs système ne peuvent être modifiés"
 
@@ -978,7 +1195,7 @@
 msgid "Can't save this search"
 msgstr "Impossible de sauver cette recherche"
 
-#: lib/RT/Record.pm:1209 lib/RT/Record.pm:1285
+#: lib/RT/Record.pm:1251 lib/RT/Record.pm:1331
 msgid "Can't specifiy both base and target"
 msgstr "Impossible de spécifier à la fois la base et la cible"
 
@@ -1015,7 +1232,7 @@
 msgid "Check All"
 msgstr "Tout cocher"
 
-#: share/html/Install/DatabaseDetails.html:64
+#: share/html/Install/DatabaseDetails.html:97
 msgid "Check Database Connectivity"
 msgstr "Contrôler la connection à la base de données"
 
@@ -1027,10 +1244,18 @@
 msgid "Check box to revoke right"
 msgstr "Cocher la case pour retirer le droit"
 
+#: share/html/Install/DatabaseDetails.html:48 share/html/Install/DatabaseType.html:82
+msgid "Check your database credentials"
+msgstr "Contrôler vos identifiants de base de données"
+
 #: share/html/Elements/EditLinks:149 share/html/Elements/EditLinks:82 share/html/Elements/ShowLinks:100 share/html/Ticket/Create.html:233 share/html/Ticket/Elements/BulkLinks:66
 msgid "Children"
 msgstr "Fils"
 
+#: share/html/Install/DatabaseType.html:48
+msgid "Choose a database engine"
+msgstr "Choisir un moteur de base de données"
+
 #: share/html/Admin/Users/Modify.html:159 share/html/User/Prefs.html:147
 msgid "City"
 msgstr "Ville"
@@ -1043,10 +1268,14 @@
 msgid "Clear All"
 msgstr "Tout effacer"
 
-#: share/html/Install/Initialize.html:54
+#: NOT FOUND IN SOURCE
 msgid "Click \"Initialize Database\" to begin creating the database. This may take a few moments"
 msgstr "Cliquer \"Initialiser la base de données\" pour commencer la création de la base. Cela peu durer quelques instants"
 
+#: share/html/Install/Initialize.html:54
+msgid "Click \"Initialize Database\" to create RT's database and insert initial metadata. This may take a few moments"
+msgstr "Cliquer \"Initialiser la base de données\" pour créer la base de données RT et insérer les éléments de base. Cela peu durer quelques instants"
+
 #: share/html/Helpers/CalPopup.html:53
 msgid "Close window"
 msgstr "Fermer la fenêtre"
@@ -1071,7 +1300,7 @@
 msgid "Combobox: Select or enter up to %1 values"
 msgstr "Boîte combo : Sélectionner ou saisir au plus %1 valeurs"
 
-#: share/html/Ticket/Elements/ShowTransaction:201 share/html/Ticket/Elements/Tabs:216
+#: share/html/Ticket/Elements/ShowTransaction:201 share/html/Ticket/Elements/Tabs:215
 msgid "Comment"
 msgstr "Commenter"
 
@@ -1079,7 +1308,7 @@
 msgid "Comment Address"
 msgstr "Adresse de commentaire"
 
-#: lib/RT/Installer.pm:174
+#: lib/RT/Installer.pm:167
 msgid "Comment address"
 msgstr "Adresse de commentaire"
 
@@ -1132,7 +1361,12 @@
 msgid "Condition matches..."
 msgstr "La condition satisfait..."
 
-#: share/html/Elements/Tabs.orig:87 share/html/Elements/Tabs:87
+#: share/html/Install/index.html:94
+#. ($file)
+msgid "Config file %1 is locked"
+msgstr "Le fichier de configuration %1 est blocké"
+
+#: share/html/Elements/Tabs:87
 msgid "Configuration"
 msgstr "Configuration"
 
@@ -1140,6 +1374,10 @@
 msgid "Confirm"
 msgstr "Confirmer"
 
+#: share/html/Install/DatabaseDetails.html:147 share/html/Install/DatabaseDetails.html:201
+msgid "Connection succeeded"
+msgstr "Connexion réussie"
+
 #: share/html/Admin/Elements/ModifyTemplate:67 share/html/Elements/QuickCreate:65 share/html/Elements/SelectAttachmentField:50 share/html/Ticket/ModifyAll.html:122
 msgid "Content"
 msgstr "Contenu"
@@ -1148,7 +1386,7 @@
 msgid "Content-Type"
 msgstr "Type de contenu"
 
-#: lib/RT/Installer.pm:181
+#: lib/RT/Installer.pm:175
 msgid "Correspond address"
 msgstr "Adresse de réponse"
 
@@ -1160,7 +1398,7 @@
 msgid "Correspondence added"
 msgstr "Courrier ajouté"
 
-#: lib/RT/Record.pm:1604 lib/RT/Record.pm:1650
+#: lib/RT/Record.pm:1654 lib/RT/Record.pm:1700
 #. ($value_msg)
 #. ($msg)
 msgid "Could not add new custom field value: %1"
@@ -1210,7 +1448,7 @@
 msgid "Could not find that principal"
 msgstr "Impossible de trouver ce groupe ou utilisateur"
 
-#: lib/RT/SharedSetting.pm:202
+#: lib/RT/SharedSetting.pm:223
 #. ($self->ObjectName)
 msgid "Could not load %1 attribute"
 msgstr "Impossible de charger l'attribut %1"
@@ -1223,7 +1461,7 @@
 msgid "Could not load group"
 msgstr "Impossible de charger ce groupe"
 
-#: lib/RT/SharedSetting.pm:111
+#: lib/RT/SharedSetting.pm:117
 #. ($privacy)
 msgid "Could not load object for %1"
 msgstr "Impossible de charger l'objet pour %1"
@@ -1260,7 +1498,7 @@
 msgid "Couldn't add member to group"
 msgstr "Impossible d'ajouter un membre à ce groupe"
 
-#: lib/RT/Record.pm:1660 lib/RT/Record.pm:1712
+#: lib/RT/Record.pm:1710 lib/RT/Record.pm:1762
 #. ($msg)
 #. ($Msg)
 msgid "Couldn't create a transaction: %1"
@@ -1371,8 +1609,8 @@
 msgstr "Impossible de charger le ticket '%1'"
 
 #: share/html/Ticket/Forward.html:90 share/html/Ticket/GnuPG.html:75
-#. ($QuoteTransaction)
 #. ($id)
+#. ($QuoteTransaction)
 msgid "Couldn't load transaction #%1"
 msgstr "Impossible de charger la transaction #%1"
 
@@ -1420,11 +1658,11 @@
 msgid "Couldn't set %1 watcher: %2"
 msgstr "Impossible de mettre %1 observateur: %2"
 
-#: lib/RT/User_Overlay.pm:1592
+#: lib/RT/User_Overlay.pm:1630
 msgid "Couldn't set private key"
 msgstr "Impossible de sélectionner la clefs privée"
 
-#: lib/RT/User_Overlay.pm:1576
+#: lib/RT/User_Overlay.pm:1614
 msgid "Couldn't unset private key"
 msgstr "Impossible de désélectionner la clefs privée"
 
@@ -1449,7 +1687,7 @@
 msgid "Create a CustomField for queue %1"
 msgstr "Ajouter un champ personnalisé pour la file %1"
 
-#: share/html/Dashboards/Modify.html:129 share/html/Dashboards/Modify.html:93
+#: share/html/Dashboards/Modify.html:134 share/html/Dashboards/Modify.html:98
 msgid "Create a new dashboard"
 msgstr "Créer un nouveau tableau de bord"
 
@@ -1548,7 +1786,7 @@
 msgid "Creator"
 msgstr "Créateur"
 
-#: share/html/Prefs/Other.html:72
+#: share/html/Prefs/Other.html:73
 msgid "Cryptography"
 msgstr "Chiffrement"
 
@@ -1602,7 +1840,7 @@
 msgid "Custom field %1 %2 %3"
 msgstr "Champs personnalisé %1 %2 %3"
 
-#: lib/RT/Record.pm:1522
+#: lib/RT/Record.pm:1572
 #. ($args{'Field'})
 msgid "Custom field %1 does not apply to this object"
 msgstr "Le champs personnalisé %1 ne s'applique pas à cet objet"
@@ -1617,12 +1855,12 @@
 msgid "Custom field %1 has no value."
 msgstr "Le champ personnalisé %1 n'a pas de valeur."
 
-#: lib/RT/Record.pm:1511 lib/RT/Record.pm:1693
+#: lib/RT/Record.pm:1561 lib/RT/Record.pm:1743
 #. ($args{'Field'})
 msgid "Custom field %1 not found"
 msgstr "Le champ personnalisé %1 est introuvable"
 
-#: lib/RT/Report/Tickets.pm:120 lib/RT/Report/Tickets.pm:123
+#: lib/RT/Report/Tickets.pm:126 lib/RT/Report/Tickets.pm:129
 #. ($cf)
 #. ($obj->Name)
 msgid "Custom field '%1'"
@@ -1653,14 +1891,42 @@
 msgid "Customize"
 msgstr "Personnaliser"
 
-#: lib/RT/Installer.pm:98
+#: share/html/Install/Basics.html:48 share/html/Install/DatabaseDetails.html:93 share/html/Install/Sendmail.html:68
+msgid "Customize Basics"
+msgstr "Configuration de base"
+
+#: share/html/Install/Basics.html:65
+msgid "Customize Database Details"
+msgstr "Configurer la base de données"
+
+#: share/html/Install/Global.html:48
+msgid "Customize Email Addresses"
+msgstr "Configurer les adresses de courriel"
+
+#: share/html/Install/Basics.html:65 share/html/Install/Global.html:72
+msgid "Customize Email Configuration"
+msgstr "Configurer l'envoi des courriels"
+
+#: share/html/Install/Initialize.html:61
+msgid "Customize Global"
+msgstr "COnfiguration globale"
+
+#: share/html/Install/Sendmail.html:67
+msgid "Customize Global Defaults"
+msgstr "Configurer les paramêtres par défaut"
+
+#: NOT FOUND IN SOURCE
 msgid "DBA of the database"
 msgstr "Administrateur de la base de données"
 
-#: lib/RT/Installer.pm:106
+#: lib/RT/Installer.pm:109
 msgid "DBA password"
 msgstr "Mot de passe de l'administrateur"
 
+#: lib/RT/Installer.pm:102
+msgid "DBA username"
+msgstr "Identifiant DBA"
+
 #: lib/RT/Config.pm:226
 msgid "Daily digest"
 msgstr "Compilation quotidienne"
@@ -1669,42 +1935,53 @@
 msgid "Dashboard"
 msgstr "Tableau de bord"
 
-#: share/html/Dashboards/Modify.html:112
+#: share/html/Dashboards/Modify.html:117
 #. ($msg)
 msgid "Dashboard could not be created: %1"
 msgstr "Le tableau de bord n'a pas pu être créé: %1"
 
-#: share/html/Dashboards/Modify.html:147 share/html/Dashboards/Queries.html:149
+#: share/html/Dashboards/Modify.html:152 share/html/Dashboards/Queries.html:149
 #. ($msg)
 msgid "Dashboard could not be updated: %1"
 msgstr "Le tableau de bord n'a pas pu être mis à jour: %1"
 
-#: share/html/Dashboards/Modify.html:144 share/html/Dashboards/Queries.html:146
+#: share/html/Dashboards/Modify.html:149 share/html/Dashboards/Queries.html:146
 msgid "Dashboard updated"
 msgstr "Tableau de bord mis à jour"
 
-#: sbin/rt-email-dashboards:247
-#. () || "RT [_2] Dashboard: [_1]"),        $dashboard->Name,        ucfirst($subscription->SubValue('Frequency')),)
+#: NOT FOUND IN SOURCE
 msgid "DashboardSubject"
 msgstr "RT [_2] Tableau de bord: [_1]"
 
-#: share/html/Dashboards/index.html:73 share/html/User/Elements/Tabs:76
+#: share/html/Dashboards/index.html:73 share/html/Elements/Dashboards:49 share/html/User/Elements/Tabs:76
 msgid "Dashboards"
 msgstr "Tableaux de bord"
 
-#: lib/RT/Installer.pm:92
+#: lib/RT/Installer.pm:76
+msgid "Database host"
+msgstr "Nom d'hôte de la base de données"
+
+#: lib/RT/Installer.pm:94
 msgid "Database name"
 msgstr "Nom de la base de données"
 
-#: lib/RT/Installer.pm:122
+#: lib/RT/Installer.pm:125
 msgid "Database password for RT"
 msgstr "Mot de passe de la base de données pour RT"
 
-#: lib/RT/Installer.pm:83
+#: lib/RT/Installer.pm:85
+msgid "Database port"
+msgstr "Port de connexion à la base"
+
+#: NOT FOUND IN SOURCE
 msgid "Database port number"
 msgstr "Port de connexion à la base"
 
-#: lib/RT/Installer.pm:115
+#: lib/RT/Installer.pm:58
+msgid "Database type"
+msgstr "Type de base de données"
+
+#: lib/RT/Installer.pm:118
 msgid "Database username for RT"
 msgstr "Nom d'utilisateur de la base de données pour RT"
 
@@ -1712,7 +1989,7 @@
 msgid "Date format"
 msgstr "Format de date"
 
-#: share/html/SelfService/Display.html:63 share/html/Ticket/Create.html:210 share/html/Ticket/Elements/ShowSummary:93 share/html/Ticket/Elements/Tabs:131 share/html/Ticket/ModifyAll.html:68
+#: share/html/SelfService/Display.html:63 share/html/Ticket/Create.html:210 share/html/Ticket/Elements/ShowSummary:93 share/html/Ticket/Elements/Tabs:130 share/html/Ticket/ModifyAll.html:68
 msgid "Dates"
 msgstr "Dates"
 
@@ -1786,7 +2063,7 @@
 msgid "Delegation"
 msgstr "Délégation"
 
-#: share/html/Admin/Elements/EditScrips:73 share/html/Search/Elements/EditFormat:99 share/html/Search/Elements/EditQuery:61 share/html/Search/Elements/EditSearches:63 share/html/Widgets/SelectionBox:212
+#: share/html/Admin/Elements/EditScrips:73 share/html/Dashboards/Modify.html:77 share/html/Search/Elements/EditFormat:99 share/html/Search/Elements/EditQuery:61 share/html/Search/Elements/EditSearches:63 share/html/Widgets/SelectionBox:212
 msgid "Delete"
 msgstr "Supprimer"
 
@@ -1794,7 +2071,11 @@
 msgid "Delete Template"
 msgstr "Détruire le modèle"
 
-#: lib/RT/SharedSetting.pm:231
+#: lib/RT/Dashboard.pm:79
+msgid "Delete dashboards"
+msgstr "Supprimer les tableaux de bords"
+
+#: lib/RT/SharedSetting.pm:273
 #. ($msg)
 msgid "Delete failed: %1"
 msgstr "Échec de la destruction : %1"
@@ -1811,15 +2092,24 @@
 msgid "Delete values"
 msgstr "Supprimer les valeurs"
 
+#: lib/RT/Dashboard.pm:79
+msgid "DeleteDashboard"
+msgstr "SupprimerTableauxDeBords"
+
 #: lib/RT/Queue_Overlay.pm:114
 msgid "DeleteTicket"
 msgstr "SupprimerTicket"
 
-#: lib/RT/SharedSetting.pm:229
+#: lib/RT/SharedSetting.pm:271
 #. ($self->ObjectName)
 msgid "Deleted %1"
 msgstr "%1 effacé"
 
+#: share/html/Dashboards/index.html:92
+#. ($Deleted)
+msgid "Deleted dashboard %1"
+msgstr "Tableau de bord %1 supprimé"
+
 #: share/html/Search/Elements/EditSearches:181
 msgid "Deleted saved search"
 msgstr "Recherche sauvée effacée"
@@ -1880,11 +2170,15 @@
 msgid "Description"
 msgstr "Description"
 
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:50
+msgid "Direction"
+msgstr "Orientation"
+
 #: share/html/Elements/RT__Queue/ColumnMap:63
 msgid "Disabled"
 msgstr "Désactivé"
 
-#: share/html/Search/Elements/EditFormat:68 share/html/Ticket/Elements/Tabs:117
+#: share/html/Search/Elements/EditFormat:68 share/html/Ticket/Elements/Tabs:116
 msgid "Display"
 msgstr "Afficher"
 
@@ -1916,6 +2210,14 @@
 msgid "Do anything and everything"
 msgstr "Faire tout et n'importe quoi"
 
+#: lib/RT/Installer.pm:190
+msgid "Domain name"
+msgstr "Nom de domaine"
+
+#: lib/RT/Installer.pm:191
+msgid "Don't include http://, just something like 'localhost', 'rt.example.com'"
+msgstr "Ne pas inclure http://, juste quelquechose comme 'localhost', 'rt.example.com'"
+
 #: share/html/Elements/Refresh:53
 msgid "Don't refresh this page."
 msgstr "Ne pas rafraîchir cette page."
@@ -1936,11 +2238,16 @@
 msgid "Due"
 msgstr "Échéance"
 
+#: share/html/Install/Initialize.html:124 share/html/Install/Initialize.html:87
+#. ($msg)
+msgid "ERROR: %1"
+msgstr "ERREUR: %1"
+
 #: share/html/Ticket/Elements/ShowTransaction:218
 msgid "Ecnrypt/Decrypt"
 msgstr "Chiffrer/Déchiffrer"
 
-#: share/html/Elements/Quicksearch:50 share/html/Elements/ShowSearch:51 share/html/index.html:132
+#: share/html/Elements/Dashboards:50 share/html/Elements/Quicksearch:50 share/html/Elements/ShowSearch:51 share/html/index.html:132
 msgid "Edit"
 msgstr "Modifier"
 
@@ -1977,7 +2284,7 @@
 msgid "Edit Query"
 msgstr "Modifier la requête"
 
-#: share/html/Ticket/Elements/Tabs:264
+#: share/html/Ticket/Elements/Tabs:265
 msgid "Edit Search"
 msgstr "Mod. recherche"
 
@@ -2023,14 +2330,23 @@
 msgid "Editing membership for personal group %1"
 msgstr "Modifier les membres du groupe personnel %1"
 
-#: lib/RT/Record.pm:1222 lib/RT/Record.pm:1299 lib/RT/Ticket_Overlay.pm:2230 lib/RT/Ticket_Overlay.pm:2325
+#: lib/RT/Record.pm:1264 lib/RT/Record.pm:1345 lib/RT/Ticket_Overlay.pm:2230 lib/RT/Ticket_Overlay.pm:2325
 msgid "Either base or target must be specified"
 msgstr "La base ou la cible doivent être spécifiées"
 
+#: share/html/Elements/ShowSearch:67
+#. ($SavedSearch)
+msgid "Either you have no rights to view saved search %1 or identifier is incorrect"
+msgstr "Soit vous n'avez pas les droits pour voire la recherche sauvée %1, soit votre identifiant est incorrect"
+
 #: share/html/Admin/Users/Modify.html:76 share/html/Ticket/Elements/AddWatchers:79 share/html/User/Prefs.html:67
 msgid "Email"
 msgstr "Courriel"
 
+#: share/html/Install/Sendmail.html:48
+msgid "Email Configuration"
+msgstr "Configuration de l'envoi de courriels"
+
 #: etc/initialdata:423 etc/upgrade/3.7.85/content:4
 msgid "Email Digest"
 msgstr "Compilation de courriels"
@@ -2153,6 +2469,10 @@
 msgid "Error to RT owner: public key"
 msgstr "Erreur au propriétaire RT: clefs publique"
 
+#: etc/initialdata:433 etc/upgrade/3.7.87/content:4
+msgid "Error: Missing dashboard"
+msgstr "Erreur: tableau de bord manquant"
+
 #: etc/initialdata:396 etc/upgrade/3.7.10/content:38
 msgid "Error: bad GnuPG data"
 msgstr "Erreur: mauvaises données GnuPG"
@@ -2193,7 +2513,12 @@
 msgid "Extract tags from a Transaction's subject and add them to the Ticket's subject."
 msgstr "Extraire la marque du sujet d'une transaction et l'ajouter au sujet tu ticket."
 
-#: lib/RT/SharedSetting.pm:185
+#: share/html/Install/DatabaseDetails.html:193
+#. ($DBI::errstr)
+msgid "Failed to connect to database: %1"
+msgstr "Échec lors de la connexion à la base de données: %1"
+
+#: lib/RT/SharedSetting.pm:198
 #. ($self->ObjectName)
 msgid "Failed to create %1 attribute"
 msgstr "Impossible de créer l'attribut %1"
@@ -2206,7 +2531,7 @@
 msgid "Failed to find 'Unprivileged' users pseudogroup"
 msgstr "Recherche du pseudo groupe d'utilisateurs 'non-privilégiés' infructueuse"
 
-#: lib/RT/SharedSetting.pm:131
+#: lib/RT/SharedSetting.pm:135
 #. ($id)
 msgid "Failed to load attribute %1"
 msgstr "Impossible de charger l'attribut %1"
@@ -2216,7 +2541,7 @@
 msgid "Failed to load module %1. (%2)"
 msgstr "Impossible de charger le module %1. (%2)"
 
-#: lib/RT/SharedSetting.pm:164
+#: lib/RT/SharedSetting.pm:177
 #. ($privacy)
 msgid "Failed to load object for %1"
 msgstr "Impossible de charger l'objet pour %1"
@@ -2297,7 +2622,11 @@
 msgid "Find tickets"
 msgstr "Rechercher des tickets"
 
-#: share/html/Ticket/Elements/Tabs:82
+#: share/html/Install/Finish.html:48 share/html/Install/Global.html:71
+msgid "Finish"
+msgstr "Terminer"
+
+#: share/html/Ticket/Elements/Tabs:81
 msgid "First"
 msgstr "Premier"
 
@@ -2370,6 +2699,10 @@
 msgid "Get template from file"
 msgstr "Obtenir le modèle à partir d'un fichier"
 
+#: share/html/Install/index.html:67
+msgid "Getting started"
+msgstr ""
+
 #: lib/RT/Transaction_Overlay.pm:673
 #. ($New->Name)
 msgid "Given to %1"
@@ -2395,7 +2728,7 @@
 #: share/html/Admin/Elements/SelectTemplate:61
 #. (loc($Template->Name))
 msgid "Global template: %1"
-msgstr "Modèle global :  %1"
+msgstr "Modèle global : %1"
 
 #: share/html/Admin/Elements/UserTabs:76
 msgid "GnuPG"
@@ -2443,7 +2776,7 @@
 msgid "Graph Properties"
 msgstr "Propriétés du graphique"
 
-#: share/html/Search/Elements/Chart:106
+#: share/html/Search/Elements/Chart:108
 msgid "Graphical charts are not available."
 msgstr "Les graphiques ne sont pas disponibles."
 
@@ -2522,7 +2855,11 @@
 msgid "Hello, %1"
 msgstr "Bonjour, %1"
 
-#: share/html/Admin/Elements/GroupTabs:72 share/html/Admin/Elements/UserTabs:66 share/html/Ticket/Elements/ShowHistory:55 share/html/Ticket/Elements/Tabs:122
+#: share/html/Install/Global.html:52
+msgid "Help us set up some useful defaults for RT."
+msgstr ""
+
+#: share/html/Admin/Elements/GroupTabs:72 share/html/Admin/Elements/UserTabs:66 share/html/Ticket/Elements/ShowHistory:55 share/html/Ticket/Elements/Tabs:121
 msgid "History"
 msgstr "Historique"
 
@@ -2536,7 +2873,7 @@
 msgid "History of the user %1"
 msgstr "Historique de l'utilisateur %1"
 
-#: share/html/Elements/Tabs.orig:68 share/html/Elements/Tabs:68
+#: share/html/Elements/Tabs:68
 msgid "Homepage"
 msgstr "Accueil"
 
@@ -2561,7 +2898,7 @@
 msgid "Identity"
 msgstr "Identité"
 
-#: etc/initialdata:490
+#: etc/initialdata:515
 msgid "If an approval is rejected, reject the original and delete pending approvals"
 msgstr "Si une approbation est refusée, rejette l'original et supprime les approbations en attente"
 
@@ -2617,6 +2954,10 @@
 msgid "Inform RT owner that user(s) have problems with public keys"
 msgstr "Informer le propriétaire RT que les utilisateurs ont un problème avec les clefs publiques"
 
+#: etc/initialdata:435 etc/upgrade/3.7.87/content:6
+msgid "Inform user that a dashboard he subscribed to is missing"
+msgstr "Informer l'utilisateur que le tableau de bord souscrit est manquant"
+
 #: etc/initialdata:398 etc/upgrade/3.7.10/content:40
 msgid "Inform user that a message he sent has invalid GnuPG data"
 msgstr "Informer l'utilisateur qu'un message qu'il a envoyé contient des données GnuPG invalides"
@@ -2641,7 +2982,7 @@
 msgid "InitialPriority"
 msgstr "PrioritéInitiale"
 
-#: share/html/Install/Initialize.html:60
+#: share/html/Install/Global.html:71 share/html/Install/Initialize.html:48 share/html/Install/Initialize.html:60
 msgid "Initialize Database"
 msgstr "Initialisation de la base"
 
@@ -2650,8 +2991,8 @@
 msgstr "Erreur à l'entrée"
 
 #: lib/RT/CustomField_Overlay.pm:1055 lib/RT/CustomField_Overlay.pm:919 share/html/Elements/ValidateCustomFields:87
-#. ($CF->FriendlyPattern)
 #. ($self->FriendlyPattern)
+#. ($CF->FriendlyPattern)
 msgid "Input must match %1"
 msgstr "La valeur saisie doit correspondre à %1"
 
@@ -2668,6 +3009,21 @@
 msgid "Internal Error: %1"
 msgstr "Erreur interne : %1"
 
+#: share/html/Install/Global.html:95
+#. ($_, $ARGS{$_})
+msgid "Invalid %1: '%2' doesn't look like an email address"
+msgstr "%1 invalide: '%2' ne semble pas être une adresse de courriel"
+
+#: share/html/Install/Basics.html:82
+#. ('WebPort')
+msgid "Invalid %1: it should be a number"
+msgstr "%1 invalide: ceci devrait être un nombre"
+
+#: share/html/Install/Sendmail.html:95
+#. ('Administrator Email')
+msgid "Invalid %1: that doesn't look like an email address"
+msgstr "%1 invalide: ceci ne semble pas être une adresse de courriel"
+
 #: lib/RT/Group_Overlay.pm:607
 msgid "Invalid Group Type"
 msgstr "Type de groupe invalide"
@@ -2711,7 +3067,7 @@
 msgid "Invalid value for %1"
 msgstr "File invalide pour %1"
 
-#: lib/RT/Record.pm:1532
+#: lib/RT/Record.pm:1582
 msgid "Invalid value for custom field"
 msgstr "Valeur incorrecte pour le champ personnalisé"
 
@@ -2759,7 +3115,7 @@
 msgid "July"
 msgstr "Juillet"
 
-#: share/html/Ticket/Elements/Tabs:143
+#: share/html/Ticket/Elements/Tabs:142
 msgid "Jumbo"
 msgstr "Tout"
 
@@ -2771,6 +3127,10 @@
 msgid "June"
 msgstr "Juin"
 
+#: lib/RT/Installer.pm:78
+msgid "Keep 'localhost' if you're not sure"
+msgstr "Conservez 'localhost' si vous n'êtes pas sûr"
+
 #: share/html/Admin/Users/Modify.html:96 share/html/User/Prefs.html:78
 msgid "Language"
 msgstr "Langue"
@@ -2779,7 +3139,7 @@
 msgid "Large"
 msgstr "Grande"
 
-#: share/html/Ticket/Elements/Tabs:103
+#: share/html/Ticket/Elements/Tabs:102
 msgid "Last"
 msgstr "Dernier"
 
@@ -2799,10 +3159,18 @@
 msgid "Last updated by"
 msgstr "Dernière MAJ par"
 
-#: lib/RT/Installer.pm:86
+#: NOT FOUND IN SOURCE
 msgid "Leave empty to use default value of the RDBMS"
 msgstr "Laisser vide pour utiliser la valeur par défaut du serveur"
 
+#: lib/RT/Installer.pm:88
+msgid "Leave empty to use the default value for your database"
+msgstr "Laisser vide pour utiliser la valeur par défaut pour votre base de données"
+
+#: lib/RT/Installer.pm:101
+msgid "Leave this alone to use the default dba username for your database type"
+msgstr "Laisser ceci pour utiliser l'identifiant dba par defaut pour votre type de base de données"
+
 #: share/html/Ticket/Elements/ShowBasics:71
 msgid "Left"
 msgstr "Restant"
@@ -2823,7 +3191,7 @@
 msgid "Let this user be granted rights"
 msgstr "Autoriser cet utilisateur à recevoir des droits"
 
-#: share/html/Install/index.html:71
+#: share/html/Install/index.html:83
 msgid "Let's go!"
 msgstr "C'est parti!"
 
@@ -2831,25 +3199,23 @@
 msgid "Link"
 msgstr "Relation"
 
-#: lib/RT/Record.pm:1233
+#: lib/RT/Record.pm:1275
 msgid "Link already exists"
 msgstr "Le lien existe déjà"
 
-#: lib/RT/Record.pm:1247
+#: lib/RT/Record.pm:1289
 msgid "Link could not be created"
 msgstr "Le lien ne peut être ajouté"
 
-#: lib/RT/Record.pm:1253
-#. ($TransString)
+#: NOT FOUND IN SOURCE
 msgid "Link created (%1)"
 msgstr "Le lien est ajouté (%1)"
 
-#: lib/RT/Record.pm:1314
-#. ($TransString)
+#: NOT FOUND IN SOURCE
 msgid "Link deleted (%1)"
 msgstr "Le lien est effacé (%1)"
 
-#: lib/RT/Record.pm:1320
+#: lib/RT/Record.pm:1370
 msgid "Link not found"
 msgstr "Lien introuvable"
 
@@ -2866,7 +3232,7 @@
 msgid "Linking. Permission denied"
 msgstr "Relation. autorisation refusée"
 
-#: share/html/Ticket/Create.html:226 share/html/Ticket/Elements/ShowSummary:100 share/html/Ticket/Elements/Tabs:139 share/html/Ticket/ModifyAll.html:81
+#: share/html/Ticket/Create.html:226 share/html/Ticket/Elements/ShowSummary:100 share/html/Ticket/Elements/Tabs:138 share/html/Ticket/ModifyAll.html:81
 msgid "Links"
 msgstr "Relations"
 
@@ -2882,7 +3248,7 @@
 msgid "LoadSavedSearch"
 msgstr "ChargerRechercheSauvée"
 
-#: lib/RT/SharedSetting.pm:103
+#: lib/RT/SharedSetting.pm:109
 #. ($self->ObjectName, $self->Name)
 msgid "Loaded %1 %2"
 msgstr "%1 %2 chargé"
@@ -2909,7 +3275,7 @@
 msgid "Location"
 msgstr "Localisation"
 
-#: share/html/Elements/Header:89
+#: share/html/Elements/Header:92
 #. ("<span>".$session{'CurrentUser'}->Name."</span>")
 msgid "Logged in as %1"
 msgstr "Connecté en tant que %1"
@@ -2922,7 +3288,7 @@
 msgid "Login"
 msgstr "Connexion"
 
-#: share/html/Elements/Header:99 share/html/NoAuth/Logout.html:48
+#: share/html/Elements/Header:102 share/html/NoAuth/Logout.html:48
 msgid "Logout"
 msgstr "Déconnexion"
 
@@ -2934,7 +3300,7 @@
 msgid "Mail"
 msgstr "Courriel"
 
-#: share/html/Ticket/Graphs/Elements/EditGraphProperties:50
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:58
 msgid "Main type of links"
 msgstr "Type de liens principal"
 
@@ -3014,11 +3380,11 @@
 msgid "March"
 msgstr "Mars"
 
-#: share/html/Ticket/Display.html:177
+#: share/html/Ticket/Display.html:168
 msgid "Marked all messages as seen"
 msgstr "Marquer tous les messages comme lus"
 
-#: lib/RT/Installer.pm:161
+#: NOT FOUND IN SOURCE
 msgid "Max attachment size( in bytes )"
 msgstr "Taille maximum pour les pièces jointes (en bytes)"
 
@@ -3133,7 +3499,7 @@
 msgid "Messages about this ticket will not be sent to..."
 msgstr "Les messages relatifs à ce ticket ne seront pas envoyés à..."
 
-#: lib/RT/Installer.pm:148
+#: lib/RT/Installer.pm:146
 msgid "Minimum password length"
 msgstr "Longueur minimum des mots de passe"
 
@@ -3198,7 +3564,7 @@
 msgstr "Modifier le scrip pour la file %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Modifier le scrip qui s'applique à toutes les files"
 
 #: share/html/Admin/CustomFields/Objects.html:92
@@ -3292,7 +3658,7 @@
 msgid "Modify templates which apply to all queues"
 msgstr "Modifier les modèles globaux"
 
-#: share/html/Dashboards/Modify.html:122
+#: share/html/Dashboards/Modify.html:127
 #. ($Dashboard->Name)
 msgid "Modify the dashboard %1"
 msgstr "Modifier le tableau de bord %1"
@@ -3432,7 +3798,7 @@
 msgid "My approvals"
 msgstr "Mes approbations"
 
-#: share/html/Dashboards/Elements/SelectPrivacy:55
+#: share/html/Dashboards/Elements/SelectPrivacy:59
 msgid "My dashboards"
 msgstr "Mes tableaux de bord"
 
@@ -3444,7 +3810,7 @@
 msgid "MySQL"
 msgstr "MySQL"
 
-#: share/html/Admin/CustomFields/Modify.html:61 share/html/Admin/Elements/AddCustomFieldValue:54 share/html/Admin/Elements/EditCustomField:57 share/html/Admin/Elements/EditCustomFieldValues:58 share/html/Admin/Elements/ModifyTemplate:51 share/html/Admin/Groups/Modify.html:67 share/html/Dashboards/Elements/ShowDashboards:56 share/html/Dashboards/Modify.html:65 share/html/Search/Bulk.html:165 share/html/User/Groups/Modify.html:67
+#: share/html/Admin/CustomFields/Modify.html:61 share/html/Admin/Elements/AddCustomFieldValue:54 share/html/Admin/Elements/EditCustomField:57 share/html/Admin/Elements/EditCustomFieldValues:58 share/html/Admin/Elements/ModifyTemplate:51 share/html/Admin/Groups/Modify.html:67 share/html/Dashboards/Elements/ShowDashboards:77 share/html/Dashboards/Modify.html:65 share/html/Search/Bulk.html:165 share/html/User/Groups/Modify.html:67
 msgid "Name"
 msgstr "Nom"
 
@@ -3472,7 +3838,7 @@
 msgid "New Pending Approval"
 msgstr "Nouvelles approbations en attente"
 
-#: share/html/Ticket/Elements/Tabs:260
+#: share/html/Ticket/Elements/Tabs:261
 msgid "New Search"
 msgstr "Nouv. recherche"
 
@@ -3537,35 +3903,39 @@
 msgid "New watchers"
 msgstr "Nouveaux observateurs"
 
-#: share/html/Elements/CollectionListPaging:104 share/html/Helpers/CalPopup.html:60 share/html/Ticket/Elements/Tabs:98
+#: share/html/Elements/CollectionListPaging:104 share/html/Helpers/CalPopup.html:60 share/html/Ticket/Elements/Tabs:97
 msgid "Next"
 msgstr "Suivant"
 
-#: share/html/Install/DatabaseType.html:62
+#: share/html/Install/Basics.html:65 share/html/Install/DatabaseDetails.html:93 share/html/Install/DatabaseType.html:82 share/html/Install/Global.html:71 share/html/Install/Global.html:71 share/html/Install/Sendmail.html:67
+msgid "Next: "
+msgstr "Suivant: "
+
+#: NOT FOUND IN SOURCE
 msgid "Next: Check your database credentials"
 msgstr "Suivant: contrôle des identifiant de la base"
 
-#: share/html/Install/DatabaseDetails.html:69
+#: NOT FOUND IN SOURCE
 msgid "Next: Customize Basics"
 msgstr "Suivant: réglages de base"
 
-#: share/html/Install/Password.html:57
+#: NOT FOUND IN SOURCE
 msgid "Next: Customize Email Addresses"
 msgstr "Suivant: Configurer les adresses de courriel"
 
-#: share/html/Install/Basics.html:57
+#: NOT FOUND IN SOURCE
 msgid "Next: Customize Password for Users in RT"
 msgstr "Suivant: Configurer les mots de passe des utilisateurs RT"
 
-#: share/html/Install/Emails.html:57
+#: NOT FOUND IN SOURCE
 msgid "Next: Email Configuration"
 msgstr "Suivant: Configuration de la messagerie"
 
-#: share/html/Install/Sendmail.html:58
+#: NOT FOUND IN SOURCE
 msgid "Next: Finish"
 msgstr "Suifant: fin"
 
-#: share/html/Install/Sendmail.html:58
+#: NOT FOUND IN SOURCE
 msgid "Next: Initialize Database"
 msgstr "Suivant: initialisation de la base"
 
@@ -3577,7 +3947,7 @@
 msgid "No"
 msgstr "Non"
 
-#: lib/RT/SharedSetting.pm:201
+#: lib/RT/SharedSetting.pm:222
 #. ($self->ObjectName)
 msgid "No %1 loaded"
 msgstr "Pas de %1 chargé"
@@ -3626,7 +3996,7 @@
 msgid "No comment entered about this user"
 msgstr "Pas de commentaires concernant cet utilisateur"
 
-#: share/html/Dashboards/Elements/ShowDashboards:51
+#: share/html/Dashboards/Elements/ShowDashboards:71
 msgid "No dashboards."
 msgstr "Pas de tableaux de bord."
 
@@ -3676,7 +4046,7 @@
 msgid "No permission to display that ticket"
 msgstr "Pas de permission pour afficher ce ticket"
 
-#: lib/RT/SharedSetting.pm:168
+#: lib/RT/SharedSetting.pm:181
 #. ($self->ObjectName)
 msgid "No permission to save system-wide %1"
 msgstr "Pas de permission pour effectuer une sauvegarde système de %1"
@@ -3685,7 +4055,7 @@
 msgid "No permission to save system-wide searches"
 msgstr "Pas de permission pour sauvegarder des recherches systèmes"
 
-#: lib/RT/User_Overlay.pm:1277
+#: lib/RT/User_Overlay.pm:1315
 msgid "No permission to set preferences"
 msgstr "Pas de permission pour modifier les préférences"
 
@@ -3729,7 +4099,7 @@
 msgid "No subject"
 msgstr "Pas de sujet"
 
-#: lib/RT/User_Overlay.pm:1584
+#: lib/RT/User_Overlay.pm:1622
 msgid "No such key or it's not suitable for signing"
 msgstr "Clefs non trouvée ou non adapté pour les signatures"
 
@@ -3765,7 +4135,7 @@
 msgid "Nonexistant field?"
 msgstr "Champ inexistant ? "
 
-#: share/html/Search/Chart:149 share/html/Search/Elements/Chart:90
+#: share/html/Search/Chart:151 share/html/Search/Elements/Chart:92
 msgid "Not Set"
 msgstr "Non renseigné"
 
@@ -3773,7 +4143,7 @@
 msgid "Not found"
 msgstr "Non trouvé"
 
-#: share/html/Elements/Header:94
+#: share/html/Elements/Header:97
 msgid "Not logged in."
 msgstr "Non connecté."
 
@@ -3803,11 +4173,11 @@
 
 #: etc/initialdata:48 etc/upgrade/3.1.17/content:6
 msgid "Notify Ccs"
-msgstr "Aviser par cc"
+msgstr "Avertir les Ccs"
 
 #: etc/initialdata:44 etc/upgrade/3.1.17/content:2
 msgid "Notify Ccs as Comment"
-msgstr "Aviser par cc pour commentaires"
+msgstr "Avertir les Ccs par un commentaire"
 
 #: etc/initialdata:83
 msgid "Notify Other Recipients"
@@ -4006,7 +4376,7 @@
 msgid "Open URL"
 msgstr "Ouvrir l'URL"
 
-#: share/html/Ticket/Elements/Tabs:189
+#: share/html/Ticket/Elements/Tabs:188
 msgid "Open it"
 msgstr "Ouvrir"
 
@@ -4030,7 +4400,7 @@
 msgid "Order by"
 msgstr "Trier par"
 
-#: lib/RT/Installer.pm:142 share/html/Admin/Users/Modify.html:144 share/html/User/Prefs.html:135
+#: share/html/Admin/Users/Modify.html:144 share/html/User/Prefs.html:135
 msgid "Organization"
 msgstr "Organisation"
 
@@ -4077,7 +4447,7 @@
 msgid "Owner could not be set."
 msgstr "Le propriétaire ne peut être sauvé."
 
-#: lib/RT/Installer.pm:167
+#: NOT FOUND IN SOURCE
 msgid "Owner email"
 msgstr "Courriel du propriétaire"
 
@@ -4148,7 +4518,11 @@
 msgid "Passwords do not match. Your password has not been changed"
 msgstr "Les mots de passe sont différents. Votre mot de passe n'a pas été modifié"
 
-#: share/html/Ticket/Elements/ShowSummary:64 share/html/Ticket/Elements/Tabs:135 share/html/Ticket/ModifyAll.html:75
+#: lib/RT/Installer.pm:184
+msgid "Path to sendmail"
+msgstr "Chemin pour sendmail"
+
+#: share/html/Ticket/Elements/ShowSummary:64 share/html/Ticket/Elements/Tabs:134 share/html/Ticket/ModifyAll.html:75
 msgid "People"
 msgstr "Personnes"
 
@@ -4160,10 +4534,14 @@
 msgid "Perl configuration"
 msgstr "Configuration de Perl"
 
-#: lib/RT/ACE_Overlay.pm:247 lib/RT/ACE_Overlay.pm:253 lib/RT/ACE_Overlay.pm:351 lib/RT/ACE_Overlay.pm:361 lib/RT/ACE_Overlay.pm:371 lib/RT/ACE_Overlay.pm:436 lib/RT/Attachment_Overlay.pm:615 lib/RT/Attachment_Overlay.pm:616 lib/RT/Attachment_Overlay.pm:677 lib/RT/Attachment_Overlay.pm:678 lib/RT/Attribute_Overlay.pm:161 lib/RT/Attribute_Overlay.pm:167 lib/RT/Attribute_Overlay.pm:376 lib/RT/Attribute_Overlay.pm:385 lib/RT/Attribute_Overlay.pm:398 lib/RT/CurrentUser.pm:137 lib/RT/CurrentUser.pm:143 lib/RT/CurrentUser.pm:149 lib/RT/CustomFieldValue_Overlay.pm:83 lib/RT/CustomField_Overlay.pm:1031 lib/RT/CustomField_Overlay.pm:1174 lib/RT/CustomField_Overlay.pm:171 lib/RT/CustomField_Overlay.pm:188 lib/RT/CustomField_Overlay.pm:199 lib/RT/CustomField_Overlay.pm:359 lib/RT/CustomField_Overlay.pm:388 lib/RT/CustomField_Overlay.pm:665 lib/RT/CustomField_Overlay.pm:836 lib/RT/CustomField_Overlay.pm:870 lib/RT/CustomField_Overlay.pm:915 lib/RT/Group_Overlay.pm:1116 lib/RT/Group_Overlay.pm:1120 lib/RT/Group_Overlay.pm:1129 lib/RT/Group_Overlay.pm:1239 lib/RT/Group_Overlay.pm:1243 lib/RT/Group_Overlay.pm:1249 lib/RT/Group_Overlay.pm:383 lib/RT/Group_Overlay.pm:481 lib/RT/Group_Overlay.pm:559 lib/RT/Group_Overlay.pm:567 lib/RT/Group_Overlay.pm:665 lib/RT/Group_Overlay.pm:669 lib/RT/Group_Overlay.pm:675 lib/RT/Group_Overlay.pm:918 lib/RT/Group_Overlay.pm:922 lib/RT/Group_Overlay.pm:935 lib/RT/Queue_Overlay.pm:1112 lib/RT/Queue_Overlay.pm:142 lib/RT/Queue_Overlay.pm:160 lib/RT/Queue_Overlay.pm:471 lib/RT/Queue_Overlay.pm:497 lib/RT/Queue_Overlay.pm:519 lib/RT/Queue_Overlay.pm:731 lib/RT/Queue_Overlay.pm:877 lib/RT/Queue_Overlay.pm:886 lib/RT/Queue_Overlay.pm:899 lib/RT/Scrip_Overlay.pm:113 lib/RT/Scrip_Overlay.pm:124 lib/RT/Scrip_Overlay.pm:188 lib/RT/Scrip_Overlay.pm:497 lib/RT/Template_Overlay.pm:215 lib/RT/Template_Overlay.pm:224 lib/RT/Template_Overlay.pm:250 lib/RT/Template_Overlay.pm:389 lib/RT/Template_Overlay.pm:99 lib/RT/Ticket_Overlay.pm:1055 lib/RT/Ticket_Overlay.pm:1061 lib/RT/Ticket_Overlay.pm:1068 lib/RT/Ticket_Overlay.pm:1205 lib/RT/Ticket_Overlay.pm:1215 lib/RT/Ticket_Overlay.pm:1229 lib/RT/Ticket_Overlay.pm:1317 lib/RT/Ticket_Overlay.pm:1674 lib/RT/Ticket_Overlay.pm:1828 lib/RT/Ticket_Overlay.pm:1998 lib/RT/Ticket_Overlay.pm:2048 lib/RT/Ticket_Overlay.pm:2237 lib/RT/Ticket_Overlay.pm:2250 lib/RT/Ticket_Overlay.pm:2331 lib/RT/Ticket_Overlay.pm:2344 lib/RT/Ticket_Overlay.pm:2447 lib/RT/Ticket_Overlay.pm:2461 lib/RT/Ticket_Overlay.pm:2690 lib/RT/Ticket_Overlay.pm:2701 lib/RT/Ticket_Overlay.pm:2707 lib/RT/Ticket_Overlay.pm:2905 lib/RT/Ticket_Overlay.pm:2909 lib/RT/Ticket_Overlay.pm:3046 lib/RT/Ticket_Overlay.pm:3198 lib/RT/Transaction_Overlay.pm:524 lib/RT/Transaction_Overlay.pm:548 lib/RT/User_Overlay.pm:1047 lib/RT/User_Overlay.pm:124 lib/RT/User_Overlay.pm:1444 lib/RT/User_Overlay.pm:283 lib/RT/User_Overlay.pm:623 lib/RT/User_Overlay.pm:658 share/html/Ticket/Forward.html:85
+#: lib/RT/ACE_Overlay.pm:247 lib/RT/ACE_Overlay.pm:253 lib/RT/ACE_Overlay.pm:351 lib/RT/ACE_Overlay.pm:361 lib/RT/ACE_Overlay.pm:371 lib/RT/ACE_Overlay.pm:436 lib/RT/Attachment_Overlay.pm:615 lib/RT/Attachment_Overlay.pm:616 lib/RT/Attachment_Overlay.pm:677 lib/RT/Attachment_Overlay.pm:678 lib/RT/Attribute_Overlay.pm:161 lib/RT/Attribute_Overlay.pm:167 lib/RT/Attribute_Overlay.pm:376 lib/RT/Attribute_Overlay.pm:385 lib/RT/Attribute_Overlay.pm:398 lib/RT/CurrentUser.pm:137 lib/RT/CurrentUser.pm:143 lib/RT/CurrentUser.pm:149 lib/RT/CustomFieldValue_Overlay.pm:83 lib/RT/CustomField_Overlay.pm:1031 lib/RT/CustomField_Overlay.pm:1174 lib/RT/CustomField_Overlay.pm:171 lib/RT/CustomField_Overlay.pm:188 lib/RT/CustomField_Overlay.pm:199 lib/RT/CustomField_Overlay.pm:359 lib/RT/CustomField_Overlay.pm:388 lib/RT/CustomField_Overlay.pm:665 lib/RT/CustomField_Overlay.pm:836 lib/RT/CustomField_Overlay.pm:870 lib/RT/CustomField_Overlay.pm:915 lib/RT/Group_Overlay.pm:1116 lib/RT/Group_Overlay.pm:1120 lib/RT/Group_Overlay.pm:1129 lib/RT/Group_Overlay.pm:1239 lib/RT/Group_Overlay.pm:1243 lib/RT/Group_Overlay.pm:1249 lib/RT/Group_Overlay.pm:383 lib/RT/Group_Overlay.pm:481 lib/RT/Group_Overlay.pm:559 lib/RT/Group_Overlay.pm:567 lib/RT/Group_Overlay.pm:665 lib/RT/Group_Overlay.pm:669 lib/RT/Group_Overlay.pm:675 lib/RT/Group_Overlay.pm:918 lib/RT/Group_Overlay.pm:922 lib/RT/Group_Overlay.pm:935 lib/RT/Queue_Overlay.pm:1112 lib/RT/Queue_Overlay.pm:142 lib/RT/Queue_Overlay.pm:160 lib/RT/Queue_Overlay.pm:471 lib/RT/Queue_Overlay.pm:497 lib/RT/Queue_Overlay.pm:519 lib/RT/Queue_Overlay.pm:731 lib/RT/Queue_Overlay.pm:877 lib/RT/Queue_Overlay.pm:886 lib/RT/Queue_Overlay.pm:899 lib/RT/Scrip_Overlay.pm:113 lib/RT/Scrip_Overlay.pm:124 lib/RT/Scrip_Overlay.pm:188 lib/RT/Scrip_Overlay.pm:497 lib/RT/Template_Overlay.pm:215 lib/RT/Template_Overlay.pm:224 lib/RT/Template_Overlay.pm:250 lib/RT/Template_Overlay.pm:386 lib/RT/Template_Overlay.pm:99 lib/RT/Ticket_Overlay.pm:1055 lib/RT/Ticket_Overlay.pm:1061 lib/RT/Ticket_Overlay.pm:1068 lib/RT/Ticket_Overlay.pm:1205 lib/RT/Ticket_Overlay.pm:1215 lib/RT/Ticket_Overlay.pm:1229 lib/RT/Ticket_Overlay.pm:1317 lib/RT/Ticket_Overlay.pm:1674 lib/RT/Ticket_Overlay.pm:1828 lib/RT/Ticket_Overlay.pm:1998 lib/RT/Ticket_Overlay.pm:2048 lib/RT/Ticket_Overlay.pm:2237 lib/RT/Ticket_Overlay.pm:2250 lib/RT/Ticket_Overlay.pm:2331 lib/RT/Ticket_Overlay.pm:2344 lib/RT/Ticket_Overlay.pm:2447 lib/RT/Ticket_Overlay.pm:2461 lib/RT/Ticket_Overlay.pm:2690 lib/RT/Ticket_Overlay.pm:2701 lib/RT/Ticket_Overlay.pm:2707 lib/RT/Ticket_Overlay.pm:2905 lib/RT/Ticket_Overlay.pm:2909 lib/RT/Ticket_Overlay.pm:3046 lib/RT/Ticket_Overlay.pm:3198 lib/RT/Transaction_Overlay.pm:524 lib/RT/Transaction_Overlay.pm:548 lib/RT/User_Overlay.pm:1085 lib/RT/User_Overlay.pm:124 lib/RT/User_Overlay.pm:1482 lib/RT/User_Overlay.pm:283 lib/RT/User_Overlay.pm:623 lib/RT/User_Overlay.pm:658 share/html/Ticket/Forward.html:85
 msgid "Permission Denied"
 msgstr "Accès refusé"
 
+#: lib/RT/SharedSetting.pm:262
+msgid "Permission denied"
+msgstr "Accès refusé"
+
 #: share/html/User/Elements/Tabs:64
 msgid "Personal Groups"
 msgstr "Groupes personnels"
@@ -4188,7 +4566,7 @@
 msgid "PostgreSQL"
 msgstr "PostgreSQL"
 
-#: share/html/Elements/Header:91 share/html/Elements/Tabs:94 share/html/SelfService/Elements/Tabs:98 share/html/SelfService/Prefs.html:48 share/html/User/Prefs.html:48 share/html/User/Prefs.html:51
+#: share/html/Elements/Header:94 share/html/Elements/Tabs:94 share/html/SelfService/Elements/Tabs:98 share/html/SelfService/Prefs.html:48 share/html/User/Prefs.html:48 share/html/User/Prefs.html:51
 msgid "Preferences"
 msgstr "Préférences"
 
@@ -4208,16 +4586,16 @@
 msgid "Preferences saved for user %2."
 msgstr "Préférences sauvées pour l'utilisateur %2."
 
-#: share/html/Prefs/MyRT.html:101 share/html/Prefs/Other.html:103 share/html/Prefs/Quicksearch.html:91 share/html/Prefs/Search.html:108 share/html/Prefs/SearchOptions.html:84
+#: share/html/Prefs/MyRT.html:101 share/html/Prefs/Other.html:104 share/html/Prefs/Quicksearch.html:91 share/html/Prefs/Search.html:108 share/html/Prefs/SearchOptions.html:84
 msgid "Preferences saved."
 msgstr "Préférences sauvées."
 
-#: share/html/Prefs/Other.html:88
+#: share/html/Prefs/Other.html:89
 #. (loc_fuzzy($msg))
 msgid "Preferred Key: %1"
 msgstr "Clefs préférée: %1"
 
-#: share/html/Prefs/Other.html:73
+#: share/html/Prefs/Other.html:74
 msgid "Preferred key"
 msgstr "Clefs préférée"
 
@@ -4225,11 +4603,11 @@
 msgid "Prepare Stubbed"
 msgstr "Préparation interrompue"
 
-#: share/html/Helpers/CalPopup.html:58 share/html/Ticket/Elements/Tabs:88
+#: share/html/Helpers/CalPopup.html:58 share/html/Ticket/Elements/Tabs:87
 msgid "Prev"
 msgstr "Précédent"
 
-#: share/html/Dashboards/Elements/Tabs:83
+#: NOT FOUND IN SOURCE
 msgid "Preview"
 msgstr "Prévisualisation"
 
@@ -4304,7 +4682,7 @@
 msgid "Query Builder"
 msgstr "Constructeur de requête"
 
-#: share/html/Search/Elements/Chart:103
+#: share/html/Search/Elements/Chart:105
 msgid "Query:"
 msgstr "Requête:"
 
@@ -4379,6 +4757,10 @@
 msgid "RT Administration"
 msgstr "Administration RT"
 
+#: lib/RT/Installer.pm:160
+msgid "RT Administrator Email"
+msgstr "Courriel de l'administrateur RT"
+
 #: share/html/Admin/Tools/Configuration.html:72
 msgid "RT Config"
 msgstr "Config. RT"
@@ -4387,7 +4769,7 @@
 msgid "RT Error"
 msgstr "Erreur RT"
 
-#: lib/RT/Installer.pm:136
+#: NOT FOUND IN SOURCE
 msgid "RT Name"
 msgstr "Nom RT"
 
@@ -4425,6 +4807,14 @@
 msgid "RT for %1"
 msgstr "RT pour %1"
 
+#: lib/RT/Installer.pm:119
+msgid "RT will connect to the database using this user.  It will be created for you."
+msgstr "RT se connectera à la base de données avec cet identifiant. Il sera automatiquement créé."
+
+#: lib/RT/Installer.pm:153
+msgid "RT will create a user called \"root\" and set this as their password"
+msgstr "RT va créer un utilisateur nommé \"root\" et lui assigner ce mot de passe"
+
 #: share/html/Search/Simple.html:62
 msgid "RT will look for anything else you enter in ticket subjects."
 msgstr "RT va rechercher dans tout ce que vous pouvez saisir d'autre dans les sujets des tickets."
@@ -4433,6 +4823,10 @@
 msgid "RT will replace <tt>__id__</tt> and <tt>__CustomField__</tt> with the record id and custom field value, respectively"
 msgstr "RT remplacera respectivement <tt>__id__</tt> et <tt>__CustomField__</tt> avec l'identifiant et la valeur du champs personnalisé"
 
+#: lib/RT/Installer.pm:140
+msgid "RT will use this string to uniquely identify your installation and looks for it in the subject of emails to decide what ticket a message applies to.  We recommend that you set this to your internet domain. (ex: example.com)"
+msgstr "RT utilisera cette chaine de caractère pour identifier de manière unique votre installation et la chercher dans le sujet de courriels pour décider sur quel ticket il va l'appliquer. Nous recommandons que vous utilisiez votre nom de domaine internet. (ex: example.com)"
+
 #: share/html/Admin/Users/Modify.html:81 share/html/User/Prefs.html:71
 msgid "Real Name"
 msgstr "Nom"
@@ -4498,7 +4892,7 @@
 msgid "Reminder ticket #%1"
 msgstr "Ticket de rappel n°%1"
 
-#: share/html/Elements/MyReminders:50 share/html/Ticket/Elements/ShowSummary:78 share/html/Ticket/Elements/Tabs:151 share/html/Ticket/Reminders.html:57
+#: share/html/Elements/MyReminders:50 share/html/Ticket/Elements/ShowSummary:78 share/html/Ticket/Elements/Tabs:150 share/html/Ticket/Reminders.html:57
 msgid "Reminders"
 msgstr "Rappels"
 
@@ -4523,7 +4917,7 @@
 msgid "Remove Requestor"
 msgstr "Enlever Demandeur"
 
-#: share/html/Ticket/Elements/ShowTransaction:191 share/html/Ticket/Elements/Tabs:172
+#: share/html/Ticket/Elements/ShowTransaction:191 share/html/Ticket/Elements/Tabs:171
 msgid "Reply"
 msgstr "Répondre"
 
@@ -4580,7 +4974,7 @@
 msgid "Residence"
 msgstr "Domicile"
 
-#: share/html/Ticket/Elements/Tabs:183
+#: share/html/Ticket/Elements/Tabs:182
 msgid "Resolve"
 msgstr "Résoudre"
 
@@ -4653,7 +5047,7 @@
 msgid "Right revoked"
 msgstr "Droit révoqué"
 
-#: lib/RT/Interface/Web.pm:831
+#: lib/RT/Interface/Web.pm:864
 #. ($object_type)
 msgid "Rights could not be granted for %1"
 msgstr "Les droits n'ont pas pu être attribués à %1"
@@ -4686,7 +5080,7 @@
 msgid "Save"
 msgstr "Sauver"
 
-#: share/html/Admin/CustomFields/Modify.html:126 share/html/Admin/Groups/Modify.html:94 share/html/Admin/Queues/Modify.html:127 share/html/Admin/Queues/People.html:130 share/html/Admin/Users/GnuPG.html:75 share/html/Admin/Users/Modify.html:243 share/html/Dashboards/Modify.html:75 share/html/Dashboards/Subscription.html:156 share/html/Prefs/Other.html:77 share/html/Prefs/Quicksearch.html:66 share/html/Prefs/Search.html:71 share/html/Prefs/SearchOptions.html:65 share/html/SelfService/Prefs.html:60 share/html/Ticket/Elements/PreviewScrips:94 share/html/Ticket/Modify.html:65 share/html/Ticket/ModifyAll.html:130 share/html/Ticket/ModifyDates.html:63 share/html/Ticket/ModifyLinks.html:65 share/html/Ticket/ModifyPeople.html:63 share/html/User/Groups/Modify.html:79
+#: share/html/Admin/CustomFields/Modify.html:126 share/html/Admin/Groups/Modify.html:94 share/html/Admin/Queues/Modify.html:127 share/html/Admin/Queues/People.html:130 share/html/Admin/Users/GnuPG.html:75 share/html/Admin/Users/Modify.html:243 share/html/Dashboards/Modify.html:75 share/html/Dashboards/Subscription.html:156 share/html/Prefs/Other.html:78 share/html/Prefs/Quicksearch.html:66 share/html/Prefs/Search.html:71 share/html/Prefs/SearchOptions.html:65 share/html/SelfService/Prefs.html:60 share/html/Ticket/Elements/PreviewScrips:94 share/html/Ticket/Modify.html:65 share/html/Ticket/ModifyAll.html:130 share/html/Ticket/ModifyDates.html:63 share/html/Ticket/ModifyLinks.html:65 share/html/Ticket/ModifyPeople.html:63 share/html/User/Groups/Modify.html:79
 msgid "Save Changes"
 msgstr "Enregistrer les modifications"
 
@@ -4698,18 +5092,23 @@
 msgid "Save as New"
 msgstr "Enregistrer sous"
 
-#: lib/RT/SharedSetting.pm:181
+#: lib/RT/SharedSetting.pm:194
 #. ($self->ObjectName, $name)
 msgid "Saved %1 %2"
 msgstr "%1 %2 sauvé"
 
+#: share/html/Elements/ShowSearch:72
+#. ($SavedSearch)
+msgid "Saved Search %1 not found"
+msgstr "Recherche sauvée %1 non trouvée"
+
 #: share/html/Search/Elements/EditSearches:135 share/html/Widgets/SavedSearch:159
 msgid "Saved searches"
 msgstr "Recherches sauvées"
 
 #: share/html/Admin/Global/Scrip.html:79 share/html/Admin/Queues/Scrip.html:86 share/html/Ticket/Elements/PreviewScrips:65
-#. ($scrip->id)
 #. ($id)
+#. ($scrip->id)
 msgid "Scrip #%1"
 msgstr "Scrip n°%1"
 
@@ -4814,6 +5213,10 @@
 msgid "Select"
 msgstr "Choisir"
 
+#: share/html/Install/DatabaseDetails.html:94 share/html/Install/DatabaseDetails.html:98
+msgid "Select Database Type"
+msgstr "Choisissez un type de base de données"
+
 #: share/html/Admin/CustomFields/index.html:48 share/html/Admin/CustomFields/index.html:51
 msgid "Select a Custom Field"
 msgstr "Choisissez un champ personnalisé"
@@ -4890,6 +5293,10 @@
 msgid "Selected Custom Fields"
 msgstr "Champs personnalisés sélectionnés"
 
+#: lib/RT/Crypt/GnuPG.pm:1915
+msgid "Selected key either is not trusted or doesn't exist anymore."
+msgstr "La clefs sélectionnée n'est pas de confiance ou n'existe plus."
+
 #: share/html/Admin/CustomFields/Objects.html:61
 msgid "Selected objects"
 msgstr "Objets sélectionnés"
@@ -4918,11 +5325,11 @@
 msgid "Send mail to requestors and Ccs as a comment"
 msgstr "Envoyer un courrier aux demandeurs et aux CCs en tant que commentaire"
 
-#: lib/RT/Installer.pm:188
+#: NOT FOUND IN SOURCE
 msgid "Sendmail arguments"
 msgstr "Arguments sendmail"
 
-#: lib/RT/Installer.pm:194
+#: NOT FOUND IN SOURCE
 msgid "Sendmail bounce arguments"
 msgstr "Arguments de rejet (bounce) pour Sendmail"
 
@@ -4962,11 +5369,11 @@
 msgid "September"
 msgstr "Septembre"
 
-#: share/html/Prefs/Other.html:81 share/html/User/Elements/Tabs:57
+#: share/html/Prefs/Other.html:82 share/html/User/Elements/Tabs:57
 msgid "Settings"
 msgstr "Réglages"
 
-#: share/html/Ticket/Elements/ShowTransaction:174
+#: share/html/Dashboards/Elements/Tabs:83 share/html/Ticket/Elements/ShowTransaction:174
 msgid "Show"
 msgstr "Afficher"
 
@@ -4974,7 +5381,7 @@
 msgid "Show Columns"
 msgstr "Afficher les colonnes"
 
-#: share/html/Ticket/Elements/Tabs:300
+#: share/html/Ticket/Elements/Tabs:301
 msgid "Show Results"
 msgstr "Aff. résultats"
 
@@ -4982,7 +5389,7 @@
 msgid "Show approved requests"
 msgstr "Afficher les requêtes approuvées"
 
-#: share/html/Ticket/Graphs/Elements/EditGraphProperties:63
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:71
 msgid "Show as well"
 msgstr "Voir également"
 
@@ -5042,7 +5449,7 @@
 msgid "ShowTicketComments"
 msgstr "AfficherCommentairesTickets"
 
-#: share/html/Admin/Elements/ToolTabs:60 share/html/Admin/Tools/Shredder/index.html:78 share/html/Ticket/Elements/Tabs:289
+#: share/html/Admin/Elements/ToolTabs:60 share/html/Admin/Tools/Shredder/index.html:78 share/html/Ticket/Elements/Tabs:290
 msgid "Shredder"
 msgstr "Shredder"
 
@@ -5074,7 +5481,7 @@
 msgid "Signing enabled"
 msgstr "Signature activée"
 
-#: share/html/Elements/Tabs.orig:71 share/html/Elements/Tabs:71
+#: share/html/Elements/Tabs:71
 msgid "Simple Search"
 msgstr "Recherche rapide"
 
@@ -5082,11 +5489,15 @@
 msgid "Single"
 msgstr "Unique"
 
+#: lib/RT/Installer.pm:139
+msgid "Site name"
+msgstr "Nom du site"
+
 #: share/html/Search/Elements/EditFormat:72
 msgid "Size"
 msgstr "Taille"
 
-#: share/html/Elements/Header:87
+#: share/html/Elements/Header:90
 msgid "Skip Menu"
 msgstr "Passer le menu"
 
@@ -5147,7 +5558,7 @@
 msgid "Status changed from %1 to %2"
 msgstr "Statut changé de %1 à %2"
 
-#: share/html/Ticket/Elements/Tabs:205
+#: share/html/Ticket/Elements/Tabs:204
 msgid "Steal"
 msgstr "Voler"
 
@@ -5159,6 +5570,17 @@
 msgid "StealTicket"
 msgstr "VolerTicket"
 
+#: share/html/Install/Basics.html:48 share/html/Install/DatabaseDetails.html:48 share/html/Install/DatabaseType.html:48 share/html/Install/Finish.html:48 share/html/Install/Global.html:48 share/html/Install/Initialize.html:48 share/html/Install/Sendmail.html:48
+#. (4, 7)
+#. (7, 7)
+#. (5, 7)
+#. (6, 7)
+#. (3, 7)
+#. (1, 7)
+#. (2, 7)
+msgid "Step %1 of %2: "
+msgstr "Étape %1 sur %2: "
+
 #: lib/RT/Transaction_Overlay.pm:667
 #. ($Old->Name)
 msgid "Stolen from %1"
@@ -5212,7 +5634,7 @@
 msgid "Subscribed to dashboard %1"
 msgstr "S'abonner au tableau de bord %1"
 
-#: share/html/Dashboards/Elements/ShowDashboards:57 share/html/Dashboards/Elements/Tabs:78 share/html/Dashboards/Subscription.html:97
+#: share/html/Dashboards/Elements/ShowDashboards:78 share/html/Dashboards/Elements/Tabs:78 share/html/Dashboards/Subscription.html:97
 msgid "Subscription"
 msgstr "Abonnement"
 
@@ -5249,11 +5671,11 @@
 msgid "System Configuration"
 msgstr "Configuration système"
 
-#: lib/RT/Installer.pm:227 share/html/Elements/SelectTimezone:58
+#: lib/RT/Installer.pm:225 share/html/Elements/SelectTimezone:71
 msgid "System Default"
 msgstr "Valeur par défaut du système"
 
-#: lib/RT/ACE_Overlay.pm:355 lib/RT/Interface/Web.pm:830 share/html/Admin/Elements/SelectRights:108
+#: lib/RT/ACE_Overlay.pm:355 lib/RT/Interface/Web.pm:863 share/html/Admin/Elements/SelectRights:108
 msgid "System Error"
 msgstr "Erreur système"
 
@@ -5286,7 +5708,7 @@
 msgid "TEST_STRING"
 msgstr "Chaîne_de_test"
 
-#: etc/initialdata:665 share/html/Search/Elements/EditFormat:69 share/html/Ticket/Elements/Tabs:198
+#: etc/initialdata:690 share/html/Search/Elements/EditFormat:69 share/html/Ticket/Elements/Tabs:197
 msgid "Take"
 msgstr "Prendre"
 
@@ -5302,6 +5724,10 @@
 msgid "Taken"
 msgstr "Pris"
 
+#: share/html/Install/DatabaseDetails.html:63
+msgid "Tell us a little about how to find the database RT will be using"
+msgstr "Donnez nous quelques information pour trouver la base de données que RT utilisera"
+
 #: share/html/Admin/Elements/EditScrip:74 share/html/Tools/Offline.html:79
 msgid "Template"
 msgstr "Modèle"
@@ -5321,7 +5747,7 @@
 msgid "Template '%1' not found"
 msgstr "Modèle '#%1' non trouvé"
 
-#: lib/RT/Template_Overlay.pm:393
+#: lib/RT/Template_Overlay.pm:390
 msgid "Template is empty"
 msgstr "Le modèle est vide"
 
@@ -5329,11 +5755,11 @@
 msgid "Template is mandatory argument"
 msgstr "Modèle est un argument obligatoire"
 
-#: lib/RT/Template_Overlay.pm:373
+#: lib/RT/Template_Overlay.pm:370
 msgid "Template parsed"
 msgstr "Modèle analysé"
 
-#: lib/RT/Template_Overlay.pm:436
+#: lib/RT/Template_Overlay.pm:433
 msgid "Template parsing error"
 msgstr "Erreur d'analyse du modèle"
 
@@ -5425,11 +5851,19 @@
 msgid "The CC of a ticket"
 msgstr "Le CC d'un ticket"
 
+#: lib/RT/Installer.pm:110
+msgid "The DBA's database password"
+msgstr "Le mot de passe du DBA de la base de données"
+
 #: lib/RT/ACE_Overlay.pm:102
 msgid "The administrative CC of a ticket"
 msgstr "L'AdminCC d'un ticket"
 
-#: lib/RT/Installer.pm:77
+#: lib/RT/Installer.pm:79
+msgid "The domain name of your database server (like 'db.example.com')."
+msgstr "Le nom de domaine de votre serveur de base de données (ex: 'db.example.com')."
+
+#: NOT FOUND IN SOURCE
 msgid "The domain name of your database server (like 'db.int.example.com')"
 msgstr "Nom d'hôte du serveur de base de données (exemple 'bd.int.exemple.fr')"
 
@@ -5481,6 +5915,10 @@
 msgid "Theme"
 msgstr "Thème"
 
+#: lib/RT/Crypt/GnuPG.pm:1942
+msgid "There are several keys suitable for encryption."
+msgstr "Il y a plusieurs clefs disponibles pour le chiffrement."
+
 #: share/html/Ticket/Elements/ShowUpdateStatus:50
 #. ()
 msgid "There are unread messages on this ticket."
@@ -5490,6 +5928,14 @@
 msgid "There is marginal trust in this key"
 msgstr "Confiance marginale pour cette clefs"
 
+#: lib/RT/Crypt/GnuPG.pm:1934
+msgid "There is no key suitable for encryption."
+msgstr "Il n'y a pas de clefs disponible pour le chiffrement."
+
+#: lib/RT/Crypt/GnuPG.pm:1938
+msgid "There is one suitable key, but trust level is not set."
+msgstr "Il y a une clefs disponible, mais le niveau de confiance n'est pas configuré."
+
 #: share/html/Admin/Elements/EditUserComments:49
 msgid "These comments aren't generally visible to the user"
 msgstr "Ces commentaires ne sont généralement pas accessibles par l'utilisateur"
@@ -5556,8 +6002,8 @@
 msgstr "Ticket %1 créé dans la file '%2'"
 
 #: share/html/Search/Bulk.html:369 share/html/Tools/MyDay.html:100 share/html/Tools/MyDay.html:91 share/html/Tools/MyDay.html:94
-#. ($id, $msg)
 #. ($Ticket->Id, $_)
+#. ($id, $msg)
 msgid "Ticket %1: %2"
 msgstr "Ticket %1 :  %2"
 
@@ -5615,7 +6061,7 @@
 msgid "TicketSQL search module"
 msgstr "Module de recherche TicketSQL"
 
-#: lib/RT/CustomField_Overlay.pm:1099 share/html/Admin/Elements/GlobalCustomFieldTabs:75 share/html/Admin/Global/CustomFields/index.html:83 share/html/Elements/Tabs.orig:74 share/html/Elements/Tabs:74 share/html/Search/Chart:113 share/html/Search/Elements/Chart:115
+#: lib/RT/CustomField_Overlay.pm:1099 share/html/Admin/Elements/GlobalCustomFieldTabs:75 share/html/Admin/Global/CustomFields/index.html:83 share/html/Elements/Tabs:74 share/html/Search/Chart:113 share/html/Search/Elements/Chart:117
 msgid "Tickets"
 msgstr "Tickets"
 
@@ -5669,7 +6115,7 @@
 msgid "TimeWorked"
 msgstr "TempsPassé"
 
-#: share/html/User/Prefs.html:82
+#: lib/RT/Installer.pm:210 lib/RT/Installer.pm:235 share/html/User/Prefs.html:82
 msgid "Timezone"
 msgstr "Fuseau horaire"
 
@@ -5690,11 +6136,11 @@
 msgid "Told"
 msgstr "Annoncé"
 
-#: share/html/Admin/Elements/Tabs:70 share/html/Admin/index.html:84 share/html/Elements/Tabs.orig:77 share/html/Elements/Tabs:77 share/html/Tools/index.html:48 share/html/Tools/index.html:51
+#: share/html/Admin/Elements/Tabs:70 share/html/Admin/index.html:84 share/html/Elements/Tabs:77 share/html/Tools/index.html:48 share/html/Tools/index.html:51
 msgid "Tools"
 msgstr "Outils"
 
-#: share/html/Search/Elements/Chart:136
+#: share/html/Search/Elements/Chart:138
 msgid "Total"
 msgstr "Total"
 
@@ -5752,13 +6198,12 @@
 msgid "Unable to determine object type or id"
 msgstr "Impossible de déterminer le type ou l'identifiant de l'objet"
 
-#: sbin/rt-email-dashboards:201
-#. ($subscription->SubValue('DashboardId'),            $subscription->Id,            $currentuser->Name)
+#: NOT FOUND IN SOURCE
 msgid "Unable to load dashboard %1 of subscription %2 for user %3"
 msgstr "Impossible de charger le tableau de bord %1 de l'abonnement %2 pour l'utilisateur %3"
 
-#: share/html/Dashboards/index.html:104
-#. ($Unsubscribe)
+#: share/html/Dashboards/index.html:87
+#. ($Unsubscribed)
 msgid "Unable to unsubscribe to dashboard %1"
 msgstr "Impossible de s'abonner au tableau de bord %1"
 
@@ -5789,7 +6234,7 @@
 msgid "Unknown field: %1"
 msgstr "Champ inconnu: %1"
 
-#: share/html/Ticket/Graphs/Elements/EditGraphProperties:57
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:65
 msgid "Unlimit"
 msgstr "Pas de limite"
 
@@ -5809,7 +6254,7 @@
 msgid "Unselected objects"
 msgstr "Objets non sélectionnés"
 
-#: lib/RT/User_Overlay.pm:1578 lib/RT/User_Overlay.pm:1594
+#: lib/RT/User_Overlay.pm:1616 lib/RT/User_Overlay.pm:1632
 msgid "Unset private key"
 msgstr "Désélectionner la clefs privée"
 
@@ -5817,7 +6262,7 @@
 msgid "Unsubscribe"
 msgstr "Se désabonner"
 
-#: share/html/Dashboards/index.html:101
+#: share/html/Dashboards/index.html:84
 #. ($Dashboard->Name)
 msgid "Unsubscribed to dashboard %1"
 msgstr "Se désabonner du tableau de bord %1"
@@ -5830,7 +6275,7 @@
 msgid "Update"
 msgstr "Mettre à jour"
 
-#: share/html/Ticket/Graphs/Elements/EditGraphProperties:113
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:121
 msgid "Update Graph"
 msgstr "Mettre à jour le graphique"
 
@@ -5850,7 +6295,7 @@
 msgid "Update multiple tickets"
 msgstr "Mettre à jour plusieurs tickets"
 
-#: lib/RT/Action/CreateTickets.pm:521 lib/RT/Interface/Web.pm:678
+#: lib/RT/Action/CreateTickets.pm:521 lib/RT/Interface/Web.pm:712
 msgid "Update not recorded."
 msgstr "Mise à jour non enregistrée."
 
@@ -5868,7 +6313,7 @@
 msgid "Update ticket #%1 (%2)"
 msgstr "Mettre à jour le ticket n°%1 (%2)"
 
-#: lib/RT/Action/CreateTickets.pm:519 lib/RT/Interface/Web.pm:677
+#: lib/RT/Action/CreateTickets.pm:519 lib/RT/Interface/Web.pm:711
 msgid "Update type was neither correspondence nor comment."
 msgstr "Le type de mise à jour n'était ni un commentaire ni un courrier."
 
@@ -5917,7 +6362,7 @@
 msgid "Usage: "
 msgstr "Utilisation: "
 
-#: lib/RT/Installer.pm:130
+#: lib/RT/Installer.pm:133
 msgid "Use SSL?"
 msgstr "Utiliser SSL?"
 
@@ -5956,7 +6401,7 @@
 msgid "User Rights"
 msgstr "Droits utilisateurs"
 
-#: lib/RT/Interface/Web.pm:1205
+#: lib/RT/Interface/Web.pm:1238
 #. ($cf->Name, ref $args{'Object'}, $args{'Object'}->id)
 msgid "User asked for an unknown update type for custom field %1 for %2 object #%3"
 msgstr "L'utilisateur a demandé un type de mise à jour non connu pour le champ personnalisé %1 de l'objet %2 n°%3"
@@ -6043,6 +6488,10 @@
 msgid "Watchers"
 msgstr "Observateurs"
 
+#: lib/RT/Installer.pm:197
+msgid "Web port"
+msgstr "Port web"
+
 #: lib/RT/Date.pm:106 share/html/CalPopup.html:90
 msgid "Wed"
 msgstr "Mer"
@@ -6059,11 +6508,19 @@
 msgid "What I did today"
 msgstr "Ce que j'ai fait aujourd'hui"
 
-#: etc/initialdata:582
+#: share/html/Install/index.html:54
+msgid "What is RT?"
+msgstr "Qu'est-ce que RT?"
+
+#: lib/RT/Installer.pm:161
+msgid "When RT can't handle an email message, where should it be forwarded?"
+msgstr "Lorsque RT ne peut gérer un courriel, où doit-il être envoyé?"
+
+#: etc/initialdata:607
 msgid "When a ticket has been approved by all approvers, add correspondence to the original ticket"
 msgstr "Quand un ticket a été approuvé par tous les approbateurs, ajoute le courrier au ticket source"
 
-#: etc/initialdata:546
+#: etc/initialdata:571
 msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
 msgstr "Quand un ticket a été approuvé par au moins un approbateur, ajoute le courrier au ticket source "
 
@@ -6071,7 +6528,7 @@
 msgid "When a ticket is created"
 msgstr "Quand un ticket est créé"
 
-#: etc/initialdata:479
+#: etc/initialdata:504
 msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
 msgstr "Quand un ticket d'approbation est créé, informer l'intervenant et l'AdminCC de l'élément attendant leur approbation"
 
@@ -6119,6 +6576,10 @@
 msgid "Whenever correspondence comes in"
 msgstr "Lorsque un courrier arrive"
 
+#: lib/RT/Installer.pm:183
+msgid "Where to find your sendmail binary."
+msgstr "Où trouver l'exécutable sendmail."
+
 #: share/html/Admin/Tools/Shredder/Elements/SelectObjects:63
 msgid "Wipeout"
 msgstr "Supprimer définitivement"
@@ -6185,20 +6646,24 @@
 msgid "You may not create requests in that queue."
 msgstr "Vous ne pouvez pas créer de demandes dans cette file."
 
+#: share/html/Install/Basics.html:86
+msgid "You must enter an Administrative password"
+msgstr "Vous devez saisir un mot de passe Administrateur"
+
 #: share/html/NoAuth/Logout.html:59
 msgid "You're welcome to login again"
 msgstr "Vous êtes invité à vous identifier à nouveau"
 
-#: etc/initialdata:563 etc/initialdata:565
+#: etc/initialdata:588 etc/initialdata:590
 #. (# loc	    $self->TransactionObj->CreatorObj->Name,)
 msgid "Your request has been approved by %1. Other approvals may still be pending."
 msgstr "Votre demande a été approuvée par %1. D'autres approbations sont peut être toujours en attente."
 
-#: etc/initialdata:601
+#: etc/initialdata:626
 msgid "Your request has been approved."
 msgstr "Votre demande a été approuvée."
 
-#: etc/initialdata:506
+#: etc/initialdata:531
 msgid "Your request was rejected."
 msgstr "Votre demande a été rejetée."
 
@@ -6235,6 +6700,10 @@
 msgid "before"
 msgstr "avant"
 
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:54
+msgid "bottom to top"
+msgstr "de bas en haut"
+
 #: share/html/SelfService/Closed.html:53
 msgid "closed"
 msgstr "fermé"
@@ -6251,7 +6720,7 @@
 msgid "doesn't match"
 msgstr "ne contient pas"
 
-#: lib/RT/Installer.pm:206
+#: NOT FOUND IN SOURCE
 msgid "domain name"
 msgstr "nom de domaine"
 
@@ -6332,6 +6801,10 @@
 msgid "key revoked"
 msgstr "clefs révoquée"
 
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:52
+msgid "left to right"
+msgstr "de gauche à droite"
+
 #: share/html/Elements/SelectCustomFieldOperator:61 share/html/Elements/SelectEqualityOperator:61
 msgid "less than"
 msgstr "inférieur à"
@@ -6344,7 +6817,7 @@
 msgid "matches"
 msgstr "contient"
 
-#: share/html/Ticket/Graphs/Elements/EditGraphProperties:56
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:64
 msgid "maximum depth"
 msgstr "Profondeur maximale"
 
@@ -6396,7 +6869,7 @@
 msgid "other..."
 msgstr "autre..."
 
-#: lib/RT/Installer.pm:154
+#: NOT FOUND IN SOURCE
 msgid "password of the user root in RT"
 msgstr "mot de passe du compte root RT"
 
@@ -6418,6 +6891,10 @@
 msgid "resolved"
 msgstr "résolu"
 
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:55
+msgid "right to left"
+msgstr "de droite à gauche"
+
 #: lib/RT/Date.pm:321
 msgid "sec"
 msgstr "sec"
@@ -6448,11 +6925,23 @@
 msgid "the calling component did not specify why"
 msgstr "le composant appelant n'a pas spécifié pourquoi"
 
+#: lib/RT/Installer.pm:169
+msgid "the default addresses that will be listed in From: and Reply-To: headers of comment mail."
+msgstr "les adresses par défaut qui seront listée dans les en-têtes de l'émetteur et Reply-To: d'un courriel de commentaire."
+
+#: lib/RT/Installer.pm:177
+msgid "the default addresses that will be listed in From: and Reply-To: headers of correspondence mail."
+msgstr "les adresses par défaut qui seront listée dans les en-têtes de l'émetteur et Reply-To: d'un courriel de réponse."
+
 #: lib/RT/Group_Overlay.pm:156
 #. ($self->Instance, $self->Type)
 msgid "ticket #%1 %2"
 msgstr "ticket n°%1 %2"
 
+#: share/html/Ticket/Graphs/Elements/EditGraphProperties:51
+msgid "top to bottom"
+msgstr "de haut en bas"
+
 #: lib/RT/Crypt/GnuPG.pm:2139
 msgid "ultimate"
 msgstr "ultime"
@@ -6467,7 +6956,7 @@
 msgid "user %1"
 msgstr "utilisateur %1"
 
-#: lib/RT/Installer.pm:212
+#: NOT FOUND IN SOURCE
 msgid "web port"
 msgstr "port du serveur web"
 
@@ -6475,10 +6964,14 @@
 msgid "weeks"
 msgstr "semaines"
 
-#: lib/RT/Installer.pm:200
+#: NOT FOUND IN SOURCE
 msgid "where is sendmail command"
 msgstr "où se trouve la commande sendmail"
 
+#: lib/RT/Installer.pm:198
+msgid "which port your web server will listen to, e.g. 8080"
+msgstr "sur quel port votre serveurweb est-il en écoute, ex: 8080"
+
 #: share/html/Ticket/Elements/ShowTransactionAttachments:63
 msgid "with headers"
 msgstr "avec en-têtes"

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/he.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/he.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/he.po	Mon Jul  7 16:21:51 2008
@@ -3325,7 +3325,7 @@
 msgstr ""
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr ""
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/hu.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/hu.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/hu.po	Mon Jul  7 16:21:51 2008
@@ -3313,7 +3313,7 @@
 msgstr ""
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr ""
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/id.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/id.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/id.po	Mon Jul  7 16:21:51 2008
@@ -3511,7 +3511,7 @@
 msgstr "Mengubah scrip untuk antrian %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Mengubah scrip  yang dapat digunakan di seluruh antrian"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/it.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/it.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/it.po	Mon Jul  7 16:21:51 2008
@@ -3,33 +3,35 @@
 msgstr ""
 "Project-Id-Version: RT 3.8.x\n"
 "POT-Creation-Date: 2002-05-02 11:36+0800\n"
-"PO-Revision-Date: 2005-10-03 13:48-0400\n"
-"Last-Translator: Angelo Turetta <aturetta at bestunion.it>\n"
+"PO-Revision-Date: 2008-01-17 13:48-0400\n"
+"Last-Translator: Nicola Murino <nicola.murino at gmail.com>\n"
 "Language-Team: rt-devel <rt-devel at lists.bestpractical.com>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 
-#: share/html/Widgets/SavedSearch:117
 #. ($self->{CurrentSearch}{Object}->Description)
+#: share/html/Widgets/SavedSearch:117
 msgid " %1 deleted."
-msgstr ""
+msgstr " %1 cancellato."
 
-#: share/html/Widgets/SavedSearch:94
 #. ($self->{CurrentSearch}{Description}, $args->{SavedSearchDescription})
+#: share/html/Widgets/SavedSearch:94
 msgid " %1 renamed to %2."
-msgstr ""
+msgstr " %1 rinominato a %2"
 
-#: share/html/Widgets/SavedSearch:107
 #. ($args->{SavedSearchDescription})
+#: share/html/Widgets/SavedSearch:107
 msgid " %1 saved."
-msgstr ""
+msgstr " %1 salvato"
 
-#: share/html/Elements/RT__Ticket/ColumnMap:239 share/html/Elements/RT__Ticket/ColumnMap:256
+#: share/html/Elements/RT__Ticket/ColumnMap:239
+#: share/html/Elements/RT__Ticket/ColumnMap:256
 msgid " (no pubkey!)"
 msgstr ""
 
-#: share/html/Elements/RT__Ticket/ColumnMap:242 share/html/Elements/RT__Ticket/ColumnMap:259
+#: share/html/Elements/RT__Ticket/ColumnMap:242
+#: share/html/Elements/RT__Ticket/ColumnMap:259
 msgid " (untrusted!)"
 msgstr ""
 
@@ -41,11 +43,14 @@
 msgid "#%1"
 msgstr "n°%1"
 
-#: share/html/Approvals/Elements/Approve:50 share/html/Approvals/Elements/ShowDependency:73 share/html/SelfService/Display.html:48 share/html/Ticket/Display.html:49 share/html/Ticket/Display.html:54
 #. ($TicketObj->Id, $TicketObj->Subject)
 #. ($Ticket->id, $Ticket->Subject)
 #. ($ticket->Id, $ticket->Subject)
 #. ($link->BaseObj->Id, $link->BaseObj->Subject)
+#: share/html/Approvals/Elements/Approve:50
+#: share/html/Approvals/Elements/ShowDependency:73
+#: share/html/SelfService/Display.html:48 share/html/Ticket/Display.html:49
+#: share/html/Ticket/Display.html:54
 msgid "#%1: %2"
 msgstr "n°%1: %2"
 
@@ -61,58 +66,60 @@
 msgid "$MONTHS[$mon]."
 msgstr ""
 
-#: lib/RT/Record.pm:906
 #. ($label)
+#: lib/RT/Record.pm:906
 msgid "$prefix %1"
 msgstr ""
 
-#: lib/RT/URI/fsck_com_rt.pm:231
 #. ($self->ObjectType, $self->Object->Id)
+#: lib/RT/URI/fsck_com_rt.pm:231
 msgid "%1 #%2"
 msgstr "%1 n°%2"
 
-#: lib/RT/Date.pm:352
 #. ($s, $time_unit)
+#: lib/RT/Date.pm:352
 msgid "%1 %2"
 msgstr "%1 %2"
 
-#: lib/RT/Tickets_Overlay.pm:1544
 #. ($args{'FIELD'},        $args{'OPERATOR'}, $args{'VALUE'})
+#: lib/RT/Tickets_Overlay.pm:1544
 msgid "%1 %2 %3"
 msgstr "%1 %2 %3"
 
-#: lib/RT/Date.pm:573
 #. ($wday,$mon,$mday,$year)
+#: lib/RT/Date.pm:573
 msgid "%1 %2 %3 %4"
 msgstr ""
 
-#: lib/RT/Date.pm:579
 #. ($wday,$mon,$mday,$hour,$min,$sec,$year)
+#: lib/RT/Date.pm:579
 msgid "%1 %2 %3 %4:%5:%6 %7"
 msgstr "%1 %3 %2 %7 %4:%5:%6"
 
-#: lib/RT/Record.pm:1628 lib/RT/Transaction_Overlay.pm:636 lib/RT/Transaction_Overlay.pm:679
 #. ($cf->Name, $new_content)
 #. ($field, $self->NewValue)
 #. ($self->Field, $principal->Object->Name)
+#: lib/RT/Record.pm:1628 lib/RT/Transaction_Overlay.pm:636
+#: lib/RT/Transaction_Overlay.pm:679
 msgid "%1 %2 added"
 msgstr "Aggiunto %1 %2"
 
-#: lib/RT/Date.pm:349
 #. ($s, $time_unit)
+#: lib/RT/Date.pm:349
 msgid "%1 %2 ago"
 msgstr "%1 %2 fa"
 
-#: lib/RT/Record.pm:1635 lib/RT/Transaction_Overlay.pm:643
 #. ($cf->Name, $old_content, $new_content)
 #. ($field, $self->OldValue, $self->NewValue)
+#: lib/RT/Record.pm:1635 lib/RT/Transaction_Overlay.pm:643
 msgid "%1 %2 changed to %3"
 msgstr "%1 %2 cambiato in %3"
 
-#: lib/RT/Record.pm:1632 lib/RT/Transaction_Overlay.pm:639 lib/RT/Transaction_Overlay.pm:685
 #. ($cf->Name, $old_content)
 #. ($field, $self->OldValue)
 #. ($self->Field, $principal->Object->Name)
+#: lib/RT/Record.pm:1632 lib/RT/Transaction_Overlay.pm:639
+#: lib/RT/Transaction_Overlay.pm:685
 msgid "%1 %2 deleted"
 msgstr "%1 %2 eliminato"
 
@@ -120,9 +127,10 @@
 msgid "%1 %2 of group %3"
 msgstr "%1 %2 del gruppo %3"
 
-#: share/html/Elements/RT__Scrip/ColumnMap:85 share/html/Ticket/Elements/PreviewScrips:66
 #. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
 #. ($_[0]->loc($_[0]->ConditionObj->Name),            $_[0]->loc($_[0]->ActionObj->Name),            $_[0]->loc($_[0]->TemplateObj->Name),)
+#: share/html/Elements/RT__Scrip/ColumnMap:85
+#: share/html/Ticket/Elements/PreviewScrips:66
 msgid "%1 %2 with template %3"
 msgstr "%1 %2 con il modello %3"
 
@@ -130,26 +138,28 @@
 msgid "%1 (%2) %3 this ticket\\n"
 msgstr "%1 (%2) %3 questo ticket\\n"
 
-#: share/html/Ticket/Elements/ShowAttachments:75
 #. ($rev->CreatedAsString, $size, $rev->CreatorObj->Name)
+#: share/html/Ticket/Elements/ShowAttachments:75
 msgid "%1 (%2) by %3"
 msgstr "%1 (%2) da %3"
 
-#: share/html/SelfService/Update.html:62 share/html/Ticket/Elements/EditBasics:115 share/html/Ticket/Update.html:69 share/html/Ticket/Update.html:75 share/html/Tools/MyDay.html:68
 #. (loc($Ticket->Status()))
 #. (loc($TicketObj->Status))
 #. ($TicketObj->OwnerObj->Name)
 #. (loc($Ticket->Status))
+#: share/html/SelfService/Update.html:62
+#: share/html/Ticket/Elements/EditBasics:115 share/html/Ticket/Update.html:69
+#: share/html/Ticket/Update.html:75 share/html/Tools/MyDay.html:68
 msgid "%1 (Unchanged)"
 msgstr "%1 (invariato)"
 
-#: share/html/Dashboards/Elements/ShowSubscription:69
 #. ($freq, $Subscription->SubValue('Dom'), $hour)
+#: share/html/Dashboards/Elements/ShowSubscription:69
 msgid "%1 (day %2) at %3"
 msgstr ""
 
-#: share/html/Dashboards/Elements/ShowSubscription:66
 #. ($freq, $day, $hour)
+#: share/html/Dashboards/Elements/ShowSubscription:66
 msgid "%1 (on %2) at %3"
 msgstr ""
 
@@ -157,65 +167,67 @@
 msgid "%1 - %2 shown"
 msgstr "Mostrati da %1 a %2"
 
-#: bin/rt-crontool:287 bin/rt-crontool:294 bin/rt-crontool:300
 #. ("--search-arg", "--search")
 #. ("--condition-arg", "--condition")
 #. ("--action-arg", "--action")
+#: bin/rt-crontool:287 bin/rt-crontool:294 bin/rt-crontool:300
 msgid "%1 - An argument to pass to %2"
 msgstr "%1 - Un parametro da passare a %2"
 
-#: bin/rt-crontool:312
 #. ("--verbose")
+#: bin/rt-crontool:312
 msgid "%1 - Output status updates to STDOUT"
 msgstr "%1 - Visualizza aggiornamenti dello stato su STDOUT"
 
-#: bin/rt-crontool:303
 #. ("--template-id")
+#: bin/rt-crontool:303
 msgid "%1 - Specify id of the template you want to use"
-msgstr ""
+msgstr "%1 - Specificare l'id del template che vuoi usare"
 
-#: bin/rt-crontool:306
 #. ("--transaction")
-msgid "%1 - Specify if you want to use either 'first', 'last' or 'all' transactions"
-msgstr ""
+#: bin/rt-crontool:306
+msgid ""
+"%1 - Specify if you want to use either 'first', 'last' or 'all' transactions"
+msgstr "%1 - Specificare se si vuole usare la prima o l'ultima transazione"
 
-#: bin/rt-crontool:297
 #. ("--action")
+#: bin/rt-crontool:297
 msgid "%1 - Specify the action module you want to use"
 msgstr "%1 - Specificare l'azione che si vuole eseguire"
 
-#: bin/rt-crontool:309
 #. ("--transaction-type")
-msgid "%1 - Specify the comma separated list of transactions' types you want to use"
+#: bin/rt-crontool:309
+msgid ""
+"%1 - Specify the comma separated list of transactions' types you want to use"
 msgstr ""
 
-#: bin/rt-crontool:291
 #. ("--condition")
+#: bin/rt-crontool:291
 msgid "%1 - Specify the condition module you want to use"
 msgstr "%1 - Specificare la condizione che si vuole utilizzare"
 
-#: bin/rt-crontool:284
 #. ("--search")
+#: bin/rt-crontool:284
 msgid "%1 - Specify the search module you want to use"
 msgstr "%1 - Specificare la ricerca che si vuole utilizzare"
 
-#: share/html/Dashboards/Elements/ShowDashboards:48
 #. ($Type)
+#: share/html/Dashboards/Elements/ShowDashboards:48
 msgid "%1 Dashboards"
-msgstr ""
+msgstr "%1 - Specificare il tipo di transazione che si vuole utilizzare"
 
-#: share/html/Elements/Footer:59
 #. ('&#187;&#124;&#171;', $RT::VERSION, '2008', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>',)
+#: share/html/Elements/Footer:59
 msgid "%1 RT %2 Copyright 1996-%3 %4."
 msgstr ""
 
-#: lib/RT/ScripAction_Overlay.pm:148
 #. ($self->Id)
+#: lib/RT/ScripAction_Overlay.pm:148
 msgid "%1 ScripAction loaded"
 msgstr "ScripAction %1 caricato"
 
-#: lib/RT/Record.pm:1663
 #. ($args{'Value'}, $cf->Name)
+#: lib/RT/Record.pm:1663
 msgid "%1 added as a value for %2"
 msgstr "%1 aggiunto come valore di %2"
 
@@ -231,44 +243,46 @@
 msgid "%1 aliases require a TicketId to work on (from %2) %3"
 msgstr "gli alias %1 necessitano di un TicketId per lavorare con (da %2) %3"
 
-#: lib/RT/Link_Overlay.pm:134 lib/RT/Link_Overlay.pm:142
 #. ($args{'Base'})
 #. ($args{'Target'})
+#: lib/RT/Link_Overlay.pm:134 lib/RT/Link_Overlay.pm:142
 msgid "%1 appears to be a local object, but can't be found in the database"
 msgstr "%1 sembra essere un oggetto locale, ma non è presente nel database"
 
-#: share/html/Dashboards/Elements/ShowSubscription:72
 #. ($freq, $hour)
+#: share/html/Dashboards/Elements/ShowSubscription:72
 msgid "%1 at %2"
 msgstr ""
 
-#: lib/RT/SharedSetting.pm:107
 #. (ucfirst($self->ObjectName))
+#: lib/RT/SharedSetting.pm:107
 msgid "%1 attribute load failure"
 msgstr ""
 
-#: lib/RT/Transaction_Overlay.pm:531 share/html/Ticket/Elements/ShowDates:80
 #. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
 #. ($self->BriefDescription , $self->CreatorObj->Name)
+#: lib/RT/Transaction_Overlay.pm:531 share/html/Ticket/Elements/ShowDates:80
 msgid "%1 by %2"
 msgstr "%1 da %2"
 
-#: lib/RT/Record.pm:502 lib/RT/Transaction_Overlay.pm:587 lib/RT/Transaction_Overlay.pm:777 lib/RT/Transaction_Overlay.pm:786 lib/RT/Transaction_Overlay.pm:789
 #. ($args{'Field'},            ( $old_val ? "'$old_val'" : $self->loc("(no value)") ),            '"' . $self->__Value( $args{'Field'}) . '"')
 #. ($self->Field,                ( $self->OldValue ? "'" . $self->OldValue . "'" : $no_value ),                "'" . $self->NewValue . "'")
 #. ($self->Field , $q1->Name , $q2->Name)
 #. ($self->Field, $t2->AsString, $t1->AsString)
 #. ($self->Field, ($self->OldValue? "'".$self->OldValue ."'" : $self->loc("(no value)")) , "'". $self->NewValue."'")
+#: lib/RT/Record.pm:502 lib/RT/Transaction_Overlay.pm:587
+#: lib/RT/Transaction_Overlay.pm:777 lib/RT/Transaction_Overlay.pm:786
+#: lib/RT/Transaction_Overlay.pm:789
 msgid "%1 changed from %2 to %3"
 msgstr "%1 cambiato da %2 a %3"
 
-#: share/html/Search/Elements/ResultViews:64
 #. ($m->scomp('SelectChartType', Name => 'ChartStyle'), $m->scomp('SelectGroupBy', Name => 'PrimaryGroupBy', Query => $Query))
+#: share/html/Search/Elements/ResultViews:64
 msgid "%1 chart by %2"
 msgstr ""
 
-#: share/html/Search/Elements/EditSearches:189
 #. ($SavedSearch->{'Object'}->Description)
+#: share/html/Search/Elements/EditSearches:189
 msgid "%1 copy"
 msgstr "copia di %1"
 
@@ -280,18 +294,20 @@
 msgid "%1 couldn't init a transaction (%2)\\n"
 msgstr "%1 non ha potuto iniziare una transazione (%2)\\n"
 
-#: lib/RT/Ticket_Overlay.pm:2494
 #. ($self)
+#: lib/RT/Ticket_Overlay.pm:2494
 msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr "%1 non ho potuto mettere lo stato a risolto. Il database RT potrebbe essere corrotto."
+msgstr ""
+"%1 non ho potuto mettere lo stato a risolto. Il database RT potrebbe essere "
+"corrotto."
 
-#: lib/RT/Transaction_Overlay.pm:560
 #. ($obj_type)
+#: lib/RT/Transaction_Overlay.pm:560
 msgid "%1 created"
 msgstr "creato %1"
 
-#: lib/RT/Transaction_Overlay.pm:565
 #. ($obj_type)
+#: lib/RT/Transaction_Overlay.pm:565
 msgid "%1 deleted"
 msgstr "eliminato %1"
 
@@ -307,28 +323,34 @@
 msgid "%1 highest priority tickets I requested..."
 msgstr "I %1 ticket a maggior priorità che ho richiesto..."
 
-#: bin/rt-crontool:279
 #. ($0)
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1 è uno strumento per agire sui ticket da uno schedulatore esterno, per esempio cron."
+#: bin/rt-crontool:279
+msgid ""
+"%1 is a tool to act on tickets from an external scheduling tool, such as "
+"cron."
+msgstr ""
+"%1 è uno strumento per agire sui ticket da uno schedulatore esterno, per "
+"esempio cron."
 
-#: sbin/rt-email-digest:69
 #. ($0)
-msgid "%1 is a utility, meant to be run from cron, that dispatches all deferred RT notifications as a per-user digest."
+#: sbin/rt-email-digest:69
+msgid ""
+"%1 is a utility, meant to be run from cron, that dispatches all deferred RT "
+"notifications as a per-user digest."
 msgstr ""
 
-#: lib/RT/Queue_Overlay.pm:921
 #. ($principal->Object->Name, $args{'Type'})
+#: lib/RT/Queue_Overlay.pm:921
 msgid "%1 is no longer a %2 for this queue."
 msgstr "%1 non è più un %2 per questa coda."
 
-#: lib/RT/Ticket_Overlay.pm:1266
 #. ($principal->Object->Name,                         $args{'Type'})
+#: lib/RT/Ticket_Overlay.pm:1266
 msgid "%1 is no longer a %2 for this ticket."
 msgstr "%1 non è più un %2 per questo ticket."
 
-#: lib/RT/Record.pm:1720
 #. ($TransactionObj->OldValue, $cf->Name)
+#: lib/RT/Record.pm:1720
 msgid "%1 is no longer a value for custom field %2"
 msgstr "%1 non è più un valore per il campo personalizzato %2"
 
@@ -336,8 +358,9 @@
 msgid "%1 isn't a valid Queue id."
 msgstr "%1 non è un identificativo di coda valido"
 
-#: share/html/Ticket/Elements/ShowTime:49 share/html/Ticket/Elements/ShowTime:51
 #. ($minutes)
+#: share/html/Ticket/Elements/ShowTime:49
+#: share/html/Ticket/Elements/ShowTime:51
 msgid "%1 min"
 msgstr "%1 min"
 
@@ -353,8 +376,8 @@
 msgid "%1 objects"
 msgstr "%1 oggetti"
 
-#: share/html/User/Elements/DelegateRights:99
 #. (loc($ObjectType =~ /^RT::(.*)$/))
+#: share/html/User/Elements/DelegateRights:99
 msgid "%1 rights"
 msgstr "Diritti su %1"
 
@@ -362,13 +385,13 @@
 msgid "%1 succeeded\\n"
 msgstr "%1 riuscito\\n"
 
-#: lib/RT/SharedSetting.pm:214
 #. (ucfirst($self->ObjectName), $msg)
+#: lib/RT/SharedSetting.pm:214
 msgid "%1 update: %2"
 msgstr ""
 
-#: lib/RT/SharedSetting.pm:207
 #. (ucfirst($self->ObjectName))
+#: lib/RT/SharedSetting.pm:207
 msgid "%1 update: Nothing changed"
 msgstr ""
 
@@ -380,14 +403,18 @@
 msgid "%1 was created without a CurrentUser\\n"
 msgstr "%1 è stato creato senza un CurrentUser\\n"
 
-#: lib/RT/Action/ResolveMembers.pm:64
 #. (ref $self)
+#: lib/RT/Action/ResolveMembers.pm:64
 msgid "%1 will resolve all members of a resolved group ticket."
 msgstr "%1 risolverà tutti i membri di un gruppo di ticket risolto."
 
 #: NOT FOUND IN SOURCE
-msgid "%1 will stall a [local] BASE if it's dependent [or member] of a linked up request."
-msgstr "%1 bloccherà una BASE [locale] se dipende da [o è membro di] una richiesta collegata."
+msgid ""
+"%1 will stall a [local] BASE if it's dependent [or member] of a linked up "
+"request."
+msgstr ""
+"%1 bloccherà una BASE [locale] se dipende da [o è membro di] una richiesta "
+"collegata."
 
 #: lib/RT/CustomField_Overlay.pm:794
 msgid "%1's %2 objects"
@@ -397,45 +424,49 @@
 msgid "%1's %2's %3 objects"
 msgstr "%3 oggetti di %2 di %1"
 
-#: share/html/Dashboards/Elements/SelectPrivacy:57
 #. ($object->Name)
+#: share/html/Dashboards/Elements/SelectPrivacy:57
 msgid "%1's dashboards"
 msgstr ""
 
-#: share/html/Search/Elements/SearchPrivacy:54 share/html/Search/Elements/SelectSearchObject:65 share/html/Search/Elements/SelectSearchesForObjects:59
 #. ($Object->Name)
 #. ($object->Name)
+#: share/html/Search/Elements/SearchPrivacy:54
+#: share/html/Search/Elements/SelectSearchObject:65
+#: share/html/Search/Elements/SelectSearchesForObjects:59
 msgid "%1's saved searches"
 msgstr "ricerche salvate di %1"
 
-#: lib/RT/Transaction_Overlay.pm:495
 #. ($self)
+#: lib/RT/Transaction_Overlay.pm:495
 msgid "%1: no attachment specified"
 msgstr "%1: nessun allegato specificato"
 
-#: lib/RT/Date.pm:576
 #. ($hour,$min,$sec)
+#: lib/RT/Date.pm:576
+#, fuzzy
 msgid "%1:%2:%3"
-msgstr ""
+msgstr "%1 %2 %3"
 
-#: share/html/Ticket/Elements/ShowTransactionAttachments:193 share/html/Ticket/Elements/ShowTransactionAttachments:199
 #. (int( $size / 1024 / 102.4 ) / 10)
 #. ($size)
+#: share/html/Ticket/Elements/ShowTransactionAttachments:193
+#: share/html/Ticket/Elements/ShowTransactionAttachments:199
 msgid "%1b"
 msgstr "%1b"
 
-#: share/html/Ticket/Elements/ShowTransactionAttachments:196
 #. (int( $size / 102.4 ) / 10)
+#: share/html/Ticket/Elements/ShowTransactionAttachments:196
 msgid "%1k"
 msgstr "%1k"
 
-#: share/html/Ticket/Elements/ShowTime:51
 #. (sprintf("%.1f",$minutes / 60))
+#: share/html/Ticket/Elements/ShowTime:51
 msgid "%quant(%1,hour)"
 msgstr ""
 
-#: lib/RT/Ticket_Overlay.pm:878
 #. ($args{'Status'})
+#: lib/RT/Ticket_Overlay.pm:878
 msgid "'%1' is an invalid value for status"
 msgstr "'%1' è uno stato non valido"
 
@@ -451,7 +482,13 @@
 msgid "(Check box to delete scrip)"
 msgstr "(spunta la casella per cancellare uno scrip)"
 
-#: share/html/Admin/Elements/EditCustomFieldValues:80 share/html/Admin/Elements/EditQueueWatchers:66 share/html/Admin/Elements/EditScrips:67 share/html/Admin/Elements/EditTemplates:69 share/html/Admin/Groups/Members.html:106 share/html/Elements/EditLinks:112 share/html/Ticket/Elements/EditPeople:69 share/html/User/Groups/Members.html:78
+#: share/html/Admin/Elements/EditCustomFieldValues:80
+#: share/html/Admin/Elements/EditQueueWatchers:66
+#: share/html/Admin/Elements/EditScrips:67
+#: share/html/Admin/Elements/EditTemplates:69
+#: share/html/Admin/Groups/Members.html:106 share/html/Elements/EditLinks:112
+#: share/html/Ticket/Elements/EditPeople:69
+#: share/html/User/Groups/Members.html:78
 msgid "(Check box to delete)"
 msgstr "(spunta la casella per cancellare)"
 
@@ -471,9 +508,10 @@
 msgid "(Enter ticket ids or URLs, separated with spaces)"
 msgstr "(inserire i numeri o gli URL dei ticket, separati da spazi)"
 
-#: share/html/Admin/Queues/Modify.html:76 share/html/Admin/Queues/Modify.html:79
 #. (RT->Config->Get('CorrespondAddress'))
 #. (RT->Config->Get('CommentAddress'))
+#: share/html/Admin/Queues/Modify.html:76
+#: share/html/Admin/Queues/Modify.html:79
 msgid "(If left blank, will default to %1)"
 msgstr "(Se non specificato usa: %1)"
 
@@ -481,15 +519,18 @@
 msgid "(No Value)"
 msgstr "(nessun valore)"
 
-#: share/html/Admin/Elements/EditCustomFields:76 share/html/Admin/Elements/ListGlobalCustomFields:55
+#: share/html/Admin/Elements/EditCustomFields:76
+#: share/html/Admin/Elements/ListGlobalCustomFields:55
 msgid "(No custom fields)"
 msgstr "(nessun campo personalizzato)"
 
-#: share/html/Admin/Groups/Members.html:73 share/html/User/Groups/Members.html:76
+#: share/html/Admin/Groups/Members.html:73
+#: share/html/User/Groups/Members.html:76
 msgid "(No members)"
 msgstr "(nessun appartenente)"
 
-#: share/html/Admin/Elements/EditScrips:69 share/html/Admin/Elements/ListGlobalScrips:49
+#: share/html/Admin/Elements/EditScrips:69
+#: share/html/Admin/Elements/ListGlobalScrips:49
 msgid "(No scrips)"
 msgstr "(nessuno Scrip)"
 
@@ -497,49 +538,96 @@
 msgid "(No templates)"
 msgstr "(nessun modello)"
 
-#: share/html/Admin/Elements/PickCustomFields:49 share/html/Admin/Elements/PickObjects:49
+#: share/html/Admin/Elements/PickCustomFields:49
+#: share/html/Admin/Elements/PickObjects:49
 msgid "(None)"
 msgstr "(nessuno)"
 
 #: NOT FOUND IN SOURCE
-msgid "(Sends a blind carbon-copy of this update to a comma-delimited list of email addresses. Does <b>not</b> change who will receive future updates.)"
-msgstr "(invia copia silente di questo aggiornamento ad una lista di indirizzi email separati da virgole. Ciò <b>non cambierà</b> i destinatari dei successivi aggiornamenti.)"
+msgid ""
+"(Sends a blind carbon-copy of this update to a comma-delimited list of email "
+"addresses. Does <b>not</b> change who will receive future updates.)"
+msgstr ""
+"(invia copia silente di questo aggiornamento ad una lista di indirizzi email "
+"separati da virgole. Ciò <b>non cambierà</b> i destinatari dei successivi "
+"aggiornamenti.)"
 
 #: NOT FOUND IN SOURCE
-msgid "(Sends a blind carbon-copy of this update to a comma-delimited list of email addresses. Does <b>not</b> change who will recieve future updates.)"
-msgstr "(invia copia silente di questo aggiornamento ad una lista di indirizzi email separati da virgole. Ciò <b>non cambierò</b> i destinatari dei successivi aggiornamenti.)"
+msgid ""
+"(Sends a blind carbon-copy of this update to a comma-delimited list of email "
+"addresses. Does <b>not</b> change who will recieve future updates.)"
+msgstr ""
+"(invia copia silente di questo aggiornamento ad una lista di indirizzi email "
+"separati da virgole. Ciò <b>non cambierò</b> i destinatari dei successivi "
+"aggiornamenti.)"
 
 #: NOT FOUND IN SOURCE
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of administrative email addresses. These people <b>will</b> receive future updates.)"
-msgstr "(invia copia per conoscenza di questo aggiornamento ad una lista di indirizzi email amministrativi separati da virgole. Queste persone <b>riceveranno</b> i successivi aggiornamenti.)"
+msgid ""
+"(Sends a carbon-copy of this update to a comma-delimited list of "
+"administrative email addresses. These people <b>will</b> receive future "
+"updates.)"
+msgstr ""
+"(invia copia per conoscenza di questo aggiornamento ad una lista di "
+"indirizzi email amministrativi separati da virgole. Queste persone "
+"<b>riceveranno</b> i successivi aggiornamenti.)"
 
 #: share/html/Ticket/Create.html:105
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of administrative email addresses. These people <strong>will</strong> receive future updates.)"
+msgid ""
+"(Sends a carbon-copy of this update to a comma-delimited list of "
+"administrative email addresses. These people <strong>will</strong> receive "
+"future updates.)"
 msgstr ""
+"invia copia di questo aggiornamento ad una lista di indirizzi email "
+"amministrativi separati da virgole. Questi destinatari <b>riceveranno</b> i "
+"successivi aggiornamenti."
 
 #: NOT FOUND IN SOURCE
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. Does <b>not</b> change who will receive future updates.)"
-msgstr "(invia copia per conoscenza di questo aggiornamento ad una lista di indirizzi email separati da virgole. Ciò <b>non cambierà</b> i destinatari dei successivi aggiornamenti.)"
+msgid ""
+"(Sends a carbon-copy of this update to a comma-delimited list of email "
+"addresses. Does <b>not</b> change who will receive future updates.)"
+msgstr ""
+"(invia copia per conoscenza di questo aggiornamento ad una lista di "
+"indirizzi email separati da virgole. Ciò <b>non cambierà</b> i destinatari "
+"dei successivi aggiornamenti.)"
 
 #: NOT FOUND IN SOURCE
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. Does <b>not</b> change who will recieve future updates.)"
-msgstr "(invia copia per conoscenza di questo aggiornamento ad una lista di indirizzi email separati da virgole. Ciò <b>non cambierà</b> i destinatari dei successivi aggiornamenti.)"
+msgid ""
+"(Sends a carbon-copy of this update to a comma-delimited list of email "
+"addresses. Does <b>not</b> change who will recieve future updates.)"
+msgstr ""
+"(invia copia per conoscenza di questo aggiornamento ad una lista di "
+"indirizzi email separati da virgole. Ciò <b>non cambierà</b> i destinatari "
+"dei successivi aggiornamenti.)"
 
 #: NOT FOUND IN SOURCE
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. These people <b>will</b> receive future updates.)"
-msgstr "(invia copia per conoscenza di questo aggiornamento ad una lista di indirizzi email separati da virgole. Queste persone <b>riceveranno</b> i successivi aggiornamenti.)"
+msgid ""
+"(Sends a carbon-copy of this update to a comma-delimited list of email "
+"addresses. These people <b>will</b> receive future updates.)"
+msgstr ""
+"(invia copia per conoscenza di questo aggiornamento ad una lista di "
+"indirizzi email separati da virgole. Queste persone <b>riceveranno</b> i "
+"successivi aggiornamenti.)"
 
 #: share/html/Ticket/Create.html:96
-msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. These people <strong>will</strong> receive future updates.)"
-msgstr ""
+msgid ""
+"(Sends a carbon-copy of this update to a comma-delimited list of email "
+"addresses. These people <strong>will</strong> receive future updates.)"
+msgstr ""
+"(invia copia per conoscenza di questo aggiornamento ad una lista di "
+"indirizzi email separati da virgole. Queste persone <b>riceveranno</b> i "
+"successivi aggiornamenti.)"
 
 #: share/html/Admin/Elements/EditScrip:99
-msgid "(Use these fields when you choose 'User Defined' for a condition or action)"
-msgstr "(usa questi campi se si sceglie 'Definito dall'utente' come condizione o azione)"
+msgid ""
+"(Use these fields when you choose 'User Defined' for a condition or action)"
+msgstr ""
+"(usa questi campi se si sceglie 'Definito dall'utente' come condizione o "
+"azione)"
 
-#: share/html/Ticket/Elements/EditWatchers:63 share/html/Ticket/Elements/ShowUserEntry:50
+#: share/html/Ticket/Elements/EditWatchers:63
+#: share/html/Ticket/Elements/ShowUserEntry:50
 msgid "(Will not be sent email)"
-msgstr ""
+msgstr "(Non sarà inviata la mail)"
 
 #: share/html/Admin/CustomFields/index.html:79
 msgid "(any)"
@@ -557,7 +645,11 @@
 msgid "(no subject)"
 msgstr "(nessun oggetto)"
 
-#: lib/RT/Transaction_Overlay.pm:580 share/html/Admin/Elements/SelectRights:74 share/html/Elements/EditCustomFieldSelect:71 share/html/Elements/SelectCustomFieldValue:53 share/html/Elements/ShowCustomFields:56 share/html/Search/Chart:134 share/html/Search/Elements/Chart:78
+#: lib/RT/Transaction_Overlay.pm:580 share/html/Admin/Elements/SelectRights:74
+#: share/html/Elements/EditCustomFieldSelect:71
+#: share/html/Elements/SelectCustomFieldValue:53
+#: share/html/Elements/ShowCustomFields:56 share/html/Search/Chart:134
+#: share/html/Search/Elements/Chart:78
 msgid "(no value)"
 msgstr "(nessun valore)"
 
@@ -569,8 +661,8 @@
 msgid "(only one ticket)"
 msgstr "(un solo ticket)"
 
-#: share/html/Elements/RT__Ticket/ColumnMap:109
 #. ($count)
+#: share/html/Elements/RT__Ticket/ColumnMap:109
 msgid "(pending %quant(%1,other ticket))"
 msgstr ""
 
@@ -594,26 +686,26 @@
 msgid "(required)"
 msgstr "(richiesto)"
 
-#: share/html/Elements/GnuPG/SelectKeyForEncryption:53
 #. ($key->{'TrustTerse'})
+#: share/html/Elements/GnuPG/SelectKeyForEncryption:53
 msgid "(trust: %1)"
 msgstr ""
 
 #: share/html/Ticket/Elements/ShowTransactionAttachments:61
 msgid "(untitled)"
-msgstr "(senza titolo)"
+msgstr "messaggio"
 
 #: share/html/Elements/EditCustomFieldSelect:59
 msgid "-"
-msgstr ""
+msgstr "(aaaa/mm/gg)"
 
 #: bin/rt-crontool:120
 msgid "--transaction argument could be only 'first', 'last' or 'all'"
-msgstr ""
+msgstr "-"
 
 #: lib/RT/Config.pm:180
 msgid "1995-11-25 21:59:12"
-msgstr ""
+msgstr "-- l'argomento della transazione può essere solo 'primo' o 'ultimo'"
 
 #: lib/RT/Config.pm:181
 msgid "1995-11-25T21:59:12Z"
@@ -643,18 +735,23 @@
 msgid "<%$field%>"
 msgstr ""
 
-#: share/html/Elements/CreateTicket:49
 #. ($m->scomp('/Elements/SelectNewTicketQueue', OnChange => 'document.CreateTicketInQueue.submit()'))
-msgid "<input type=\"submit\" class=\"button\" value=\"New ticket in\" />&nbsp;%1"
+#: share/html/Elements/CreateTicket:49
+msgid ""
+"<input type=\"submit\" class=\"button\" value=\"New ticket in\" />&nbsp;%1"
 msgstr ""
+"<input type=\"submit\" class=\"button\" value=\"Nuovo ticket in\" />&nbsp;%1"
 
-#: docs/design_docs/string-extraction-guide.txt:54 lib/RT/StyleGuide.pod:779
 #. ($m->scomp('/Elements/SelectNewTicketQueue'))
+#: docs/design_docs/string-extraction-guide.txt:54 lib/RT/StyleGuide.pod:779
 msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
 msgstr "<input type=\"submit\" value=\"Crea un ticket in\">&nbsp;%1"
 
 #: share/html/User/Prefs.html:182
-msgid "<p>All iCal feeds embed a secret token which authorizes you.  If the URL one of your iCal feeds got exposed to the outside world, you can get a new secret, <b>breaking all existing iCal feeds</b> below.</p>"
+msgid ""
+"<p>All iCal feeds embed a secret token which authorizes you.  If the URL one "
+"of your iCal feeds got exposed to the outside world, you can get a new "
+"secret, <b>breaking all existing iCal feeds</b> below.</p>"
 msgstr ""
 
 #: etc/initialdata:187
@@ -663,7 +760,7 @@
 
 #: share/html/Admin/Users/Modify.html:377
 msgid "A password was not set, so user won't be able to login."
-msgstr ""
+msgstr "La password non è stata impostata, l'utente non potrà accedere."
 
 #: NOT FOUND IN SOURCE
 msgid "ACE Deleted"
@@ -713,8 +810,8 @@
 msgid "Action %1 not found"
 msgstr "Azione %1 non trovata"
 
-#: lib/RT/Scrip_Overlay.pm:136
 #. ($args{'ScripAction'})
+#: lib/RT/Scrip_Overlay.pm:136
 msgid "Action '%1' not found"
 msgstr ""
 
@@ -728,7 +825,7 @@
 
 #: lib/RT/Scrip_Overlay.pm:132
 msgid "Action is mandatory argument"
-msgstr ""
+msgstr "L'azione è un argomento obbligatorio"
 
 #: bin/rt-crontool:210
 msgid "Action prepared..."
@@ -798,17 +895,19 @@
 msgid "Add comments or replies to selected tickets"
 msgstr "Aggiungere commenti o repliche ai ticket selezionati"
 
-#: share/html/Admin/Groups/Members.html:65 share/html/User/Groups/Members.html:62
+#: share/html/Admin/Groups/Members.html:65
+#: share/html/User/Groups/Members.html:62
 msgid "Add members"
 msgstr "Aggiungi appartenenti"
 
-#: share/html/Admin/Queues/People.html:89 share/html/Ticket/Elements/AddWatchers:51
+#: share/html/Admin/Queues/People.html:89
+#: share/html/Ticket/Elements/AddWatchers:51
 msgid "Add new watchers"
 msgstr "Aggiungi nuovi osservatori"
 
 #: share/html/Search/Build.html:87
 msgid "Add these terms"
-msgstr ""
+msgstr "Aggiungi questi termini alla ricerca"
 
 #: share/html/Search/Build.html:88
 msgid "Add these terms and Search"
@@ -816,23 +915,25 @@
 
 #: share/html/Search/Bulk.html:166
 msgid "Add values"
-msgstr ""
+msgstr "Aggiungi valori"
 
 #: lib/RT/CustomField_Overlay.pm:114
 msgid "Add, delete and modify custom field values for objects"
-msgstr "Aggiungi, cancella o modifica il valore dei campi personalizzati per gli oggetti"
+msgstr ""
+"Aggiungi, cancella o modifica il valore dei campi personalizzati per gli "
+"oggetti"
 
 #: NOT FOUND IN SOURCE
 msgid "AddNextState"
-msgstr "AggiunguProssimoStato"
+msgstr "Aggiungi Prossimo Stato"
 
-#: lib/RT/Queue_Overlay.pm:804
 #. ($args{'Type'})
+#: lib/RT/Queue_Overlay.pm:804
 msgid "Added principal as a %1 for this queue"
 msgstr "Aggiunto gruppo/utente come %1 per questa coda"
 
-#: lib/RT/Ticket_Overlay.pm:1138
 #. ($self->loc($args{'Type'}))
+#: lib/RT/Ticket_Overlay.pm:1138
 msgid "Added principal as a %1 for this ticket"
 msgstr "Aggiunto gruppo/utente come %1 per questo ticket"
 
@@ -920,7 +1021,8 @@
 msgid "AdminUsers"
 msgstr "GestisciUtenti"
 
-#: share/html/Admin/Queues/People.html:71 share/html/Ticket/Elements/EditPeople:77
+#: share/html/Admin/Queues/People.html:71
+#: share/html/Ticket/Elements/EditPeople:77
 msgid "Administrative Cc"
 msgstr "AdminCc"
 
@@ -966,13 +1068,15 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Always sends a message to the requestors independent of message sender"
-msgstr "Invia comunque un messaggio al richiedente, anche se è lui stesso il mittente"
+msgstr ""
+"Invia comunque un messaggio al richiedente, anche se è lui stesso il mittente"
 
 #: share/html/Search/Elements/EditQuery:60
 msgid "And/Or"
 msgstr ""
 
-#: share/html/Admin/CustomFields/Modify.html:79 share/html/Admin/Elements/CustomFieldTabs:85
+#: share/html/Admin/CustomFields/Modify.html:79
+#: share/html/Admin/Elements/CustomFieldTabs:85
 msgid "Applies to"
 msgstr "Si applica a"
 
@@ -988,20 +1092,22 @@
 msgid "Approval"
 msgstr "Approvazione"
 
-#: share/html/Approvals/Display.html:67 share/html/Approvals/Elements/ShowDependency:65 share/html/Approvals/index.html:88
 #. ($Ticket->Id, $Ticket->Subject)
 #. ($ticket->id, $msg)
 #. ($link->BaseObj->Id, $link->BaseObj->Subject)
+#: share/html/Approvals/Display.html:67
+#: share/html/Approvals/Elements/ShowDependency:65
+#: share/html/Approvals/index.html:88
 msgid "Approval #%1: %2"
 msgstr "Approvazione n°%1: %2"
 
-#: share/html/Approvals/index.html:77
 #. ($ticket->Id)
+#: share/html/Approvals/index.html:77
 msgid "Approval #%1: Notes not recorded due to a system error"
 msgstr "Approvazione n°%1: Note non registrate a causa di un errore di sistema"
 
-#: share/html/Approvals/index.html:75
 #. ($ticket->Id)
+#: share/html/Approvals/index.html:75
 msgid "Approval #%1: Notes recorded"
 msgstr "Approvazione n°%1: Note registrate"
 
@@ -1025,8 +1131,8 @@
 msgid "Approve"
 msgstr "Approva"
 
-#: etc/initialdata:565 etc/initialdata:567
 #. (# loc	    $note)
+#: etc/initialdata:565 etc/initialdata:567
 msgid "Approver's notes: %1"
 msgstr "Note dell'approvatore: %1"
 
@@ -1058,7 +1164,8 @@
 msgid "AssignCustomFields"
 msgstr "AssegnaCampiPers."
 
-#: share/html/Search/Bulk.html:147 share/html/SelfService/Update.html:89 share/html/Ticket/ModifyAll.html:118 share/html/Ticket/Update.html:122
+#: share/html/Search/Bulk.html:147 share/html/SelfService/Update.html:89
+#: share/html/Ticket/ModifyAll.html:118 share/html/Ticket/Update.html:122
 msgid "Attach"
 msgstr "Allega"
 
@@ -1066,12 +1173,15 @@
 msgid "Attach file"
 msgstr "Allega un file"
 
-#: share/html/SelfService/Update.html:77 share/html/Ticket/Create.html:133 share/html/Ticket/Update.html:112
+#: share/html/SelfService/Update.html:77 share/html/Ticket/Create.html:133
+#: share/html/Ticket/Update.html:112
 msgid "Attached file"
 msgstr "File allegato"
 
-#: share/html/Ticket/ShowEmailRecord.html:83 share/html/Ticket/ShowEmailRecord.html:85 share/html/Ticket/ShowEmailRecord.html:88
 #. ($Attachment)
+#: share/html/Ticket/ShowEmailRecord.html:83
+#: share/html/Ticket/ShowEmailRecord.html:85
+#: share/html/Ticket/ShowEmailRecord.html:88
 msgid "Attachment '%1' could not be loaded"
 msgstr "Impossibile caricare l'allegato '%1'"
 
@@ -1125,7 +1235,7 @@
 
 #: share/html/Widgets/SelectionBox:191
 msgid "Available"
-msgstr ""
+msgstr "Disponibile"
 
 #: share/html/Ticket/Forward.html:73
 msgid "BCc"
@@ -1171,16 +1281,22 @@
 msgid "Bad data in %1"
 msgstr "Dati incorretti in %1"
 
-#: lib/RT/SharedSetting.pm:135
 #. ($id)
+#: lib/RT/SharedSetting.pm:135
 msgid "Bad privacy for attribute %1"
 msgstr ""
 
 #: NOT FOUND IN SOURCE
 msgid "Bad transaction number for attachment. %1 should be %2\\n"
-msgstr "Numero di transazione incorretto per l'allegato. %1 dovrebbe essere %2\\n"
+msgstr ""
+"Numero di transazione incorretto per l'allegato. %1 dovrebbe essere %2\\n"
 
-#: share/html/Admin/Elements/CustomFieldTabs:67 share/html/Admin/Elements/GroupTabs:62 share/html/Admin/Elements/QueueTabs:62 share/html/Admin/Elements/UserTabs:60 share/html/Dashboards/Elements/Tabs:70 share/html/Ticket/Elements/Tabs:126 share/html/User/Elements/GroupTabs:61
+#: share/html/Admin/Elements/CustomFieldTabs:67
+#: share/html/Admin/Elements/GroupTabs:62
+#: share/html/Admin/Elements/QueueTabs:62
+#: share/html/Admin/Elements/UserTabs:60
+#: share/html/Dashboards/Elements/Tabs:70 share/html/Ticket/Elements/Tabs:126
+#: share/html/User/Elements/GroupTabs:61
 msgid "Basics"
 msgstr "Dati base"
 
@@ -1188,7 +1304,10 @@
 msgid "Bcc"
 msgstr "Bcc"
 
-#: share/html/Admin/CustomFields/GroupRights.html:93 share/html/Admin/CustomFields/UserRights.html:74 share/html/Admin/Elements/EditScrip:127 share/html/Admin/Elements/EditScrip:92
+#: share/html/Admin/CustomFields/GroupRights.html:93
+#: share/html/Admin/CustomFields/UserRights.html:74
+#: share/html/Admin/Elements/EditScrip:127
+#: share/html/Admin/Elements/EditScrip:92
 msgid "Be sure to save your changes"
 msgstr "Se hai aggiornato qualche impostazione, assicurati di premere"
 
@@ -1224,13 +1343,14 @@
 msgid "Bookmarked Tickets"
 msgstr ""
 
-#: share/html/Ticket/Elements/ShowHistory:66 share/html/Ticket/Elements/ShowHistory:71
+#: share/html/Ticket/Elements/ShowHistory:66
+#: share/html/Ticket/Elements/ShowHistory:71
 msgid "Brief headers"
 msgstr "Intestazione breve"
 
 #: share/html/Ticket/Elements/Tabs:305
 msgid "Bulk Update"
-msgstr ""
+msgstr "Aggiornamenti multipli"
 
 #: NOT FOUND IN SOURCE
 msgid "Bulk ticket update"
@@ -1256,8 +1376,8 @@
 msgid "Can't add a custom field value without a name"
 msgstr "Impossibile aggiungere un valore di campo personalizzato senza un nome"
 
-#: share/html/Admin/CustomFields/Objects.html:88
 #. ($Class)
+#: share/html/Admin/CustomFields/Objects.html:88
 msgid "Can't find a collection class for '%1'"
 msgstr "Impossibile trovare una classe collection per '%1'"
 
@@ -1271,12 +1391,14 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Can't merge into a merged ticket. You should never get this error"
-msgstr "Impossibile unire un ticket ad un ticket già unito. Questo errore non dovrebbe mai verificarsi"
+msgstr ""
+"Impossibile unire un ticket ad un ticket già unito. Questo errore non "
+"dovrebbe mai verificarsi"
 
-#: share/html/Widgets/SavedSearch:110
 #. (loc($self->{SearchType}))
+#: share/html/Widgets/SavedSearch:110
 msgid "Can't save %1"
-msgstr ""
+msgstr "Impossibile salvare %1"
 
 #: share/html/Search/Elements/EditSearches:283
 msgid "Can't save this search"
@@ -1287,23 +1409,28 @@
 msgstr "Impossibile specificare sia la base che il target"
 
 #: share/html/Ticket/Create.html:330
+#, fuzzy
 msgid "Cannot create tickets in a disabled queue."
-msgstr ""
+msgstr "Crea nuovi ticket in questa coda"
 
-#: share/html/autohandler:218
 #. ($msg)
+#: share/html/autohandler:218
 msgid "Cannot create user: %1"
 msgstr "Impossibile creare l'utente: %1"
 
-#: share/html/Admin/Elements/AddCustomFieldValue:57 share/html/Admin/Elements/EditCustomFieldValues:61
+#: share/html/Admin/Elements/AddCustomFieldValue:57
+#: share/html/Admin/Elements/EditCustomFieldValues:61
 msgid "Category"
-msgstr ""
+msgstr "Categoria"
 
 #: lib/RT/CustomFieldValue_Overlay.pm:124
 msgid "Category unset"
 msgstr ""
 
-#: lib/RT/ACE_Overlay.pm:101 share/html/Admin/Queues/People.html:67 share/html/SelfService/Create.html:73 share/html/Ticket/Create.html:92 share/html/Ticket/Elements/EditPeople:74 share/html/Ticket/Elements/ShowPeople:58 share/html/Ticket/Forward.html:70
+#: lib/RT/ACE_Overlay.pm:101 share/html/Admin/Queues/People.html:67
+#: share/html/SelfService/Create.html:73 share/html/Ticket/Create.html:92
+#: share/html/Ticket/Elements/EditPeople:74
+#: share/html/Ticket/Elements/ShowPeople:58 share/html/Ticket/Forward.html:70
 msgid "Cc"
 msgstr "Cc"
 
@@ -1323,7 +1450,8 @@
 msgid "Check Database Connectivity"
 msgstr ""
 
-#: share/html/SelfService/Update.html:80 share/html/Ticket/Create.html:136 share/html/Ticket/Update.html:114
+#: share/html/SelfService/Update.html:80 share/html/Ticket/Create.html:136
+#: share/html/Ticket/Update.html:114
 msgid "Check box to delete"
 msgstr "Spunta la casella per cancellare"
 
@@ -1331,7 +1459,9 @@
 msgid "Check box to revoke right"
 msgstr "Spunta la casella per revocare i diritti"
 
-#: share/html/Elements/EditLinks:149 share/html/Elements/EditLinks:82 share/html/Elements/ShowLinks:100 share/html/Ticket/Create.html:233 share/html/Ticket/Elements/BulkLinks:66
+#: share/html/Elements/EditLinks:149 share/html/Elements/EditLinks:82
+#: share/html/Elements/ShowLinks:100 share/html/Ticket/Create.html:233
+#: share/html/Ticket/Elements/BulkLinks:66
 msgid "Children"
 msgstr "Derivati"
 
@@ -1348,12 +1478,14 @@
 msgstr "Azzera"
 
 #: share/html/Install/Initialize.html:54
-msgid "Click \"Initialize Database\" to begin creating the database. This may take a few moments"
+msgid ""
+"Click \"Initialize Database\" to begin creating the database. This may take "
+"a few moments"
 msgstr ""
 
 #: share/html/Helpers/CalPopup.html:53
 msgid "Close window"
-msgstr ""
+msgstr "Chiudi finestra"
 
 #: share/html/Ticket/Elements/ShowDates:75
 msgid "Closed"
@@ -1367,33 +1499,35 @@
 msgid "Closed requests"
 msgstr "Richieste chiuse"
 
-#: share/html/SelfService/Closed.html:48 share/html/SelfService/Elements/Tabs:81
+#: share/html/SelfService/Closed.html:48
+#: share/html/SelfService/Elements/Tabs:81
 msgid "Closed tickets"
 msgstr "Ticket chiusi"
 
 #: lib/RT/CustomField_Overlay.pm:90
 msgid "Combobox: Select or enter multiple values"
-msgstr ""
+msgstr "Combobox: seleziona o inserisci valori multipli"
 
 #: lib/RT/CustomField_Overlay.pm:91
 msgid "Combobox: Select or enter one value"
-msgstr ""
+msgstr "Combobox: seleziona o inserisci un valore"
 
 #: lib/RT/CustomField_Overlay.pm:92
 msgid "Combobox: Select or enter up to %1 values"
-msgstr ""
+msgstr "Combobox: seleziona o inserisci fino a %1 valori"
 
 #: NOT FOUND IN SOURCE
 msgid "Command not understood!\\n"
 msgstr "Comando non riconosciuto!\\n"
 
-#: share/html/Ticket/Elements/ShowTransaction:201 share/html/Ticket/Elements/Tabs:216
+#: share/html/Ticket/Elements/ShowTransaction:201
+#: share/html/Ticket/Elements/Tabs:216
 msgid "Comment"
 msgstr "Commento"
 
 #: share/html/Admin/Queues/Modify.html:77
 msgid "Comment Address"
-msgstr "Inidirizzo per i commenti"
+msgstr "Indirizzo per i commenti"
 
 #: lib/RT/Installer.pm:174
 msgid "Comment address"
@@ -1427,7 +1561,8 @@
 msgid "Comments about %1"
 msgstr "Commenti su %1"
 
-#: share/html/Admin/Users/Modify.html:229 share/html/Ticket/Elements/ShowRequestor:71
+#: share/html/Admin/Users/Modify.html:229
+#: share/html/Ticket/Elements/ShowRequestor:71
 msgid "Comments about this user"
 msgstr "Commenti su questo utente"
 
@@ -1447,14 +1582,14 @@
 msgid "Condition"
 msgstr "Condizione"
 
-#: lib/RT/Scrip_Overlay.pm:152
 #. ($args{'ScripCondition'})
+#: lib/RT/Scrip_Overlay.pm:152
 msgid "Condition '%1' not found"
 msgstr ""
 
 #: lib/RT/Scrip_Overlay.pm:148
 msgid "Condition is mandatory argument"
-msgstr ""
+msgstr "La condizione è un campo obbligatorio"
 
 #: bin/rt-crontool:194
 msgid "Condition matches..."
@@ -1480,7 +1615,10 @@
 msgid "Contacted date '%1' could not be parsed"
 msgstr "Impossibile interpretare la data di contatto '%1'"
 
-#: share/html/Admin/Elements/ModifyTemplate:67 share/html/Elements/QuickCreate:65 share/html/Elements/SelectAttachmentField:50 share/html/Ticket/ModifyAll.html:122
+#: share/html/Admin/Elements/ModifyTemplate:67
+#: share/html/Elements/QuickCreate:65
+#: share/html/Elements/SelectAttachmentField:50
+#: share/html/Ticket/ModifyAll.html:122
 msgid "Content"
 msgstr "Contenuto"
 
@@ -1518,11 +1656,13 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Could not add new custom field value for ticket. "
-msgstr "Impossibile aggiungere un nuovo valore di campo personalizzato al ticket. "
+msgstr ""
+"Impossibile aggiungere un nuovo valore di campo personalizzato al ticket. "
 
 #: NOT FOUND IN SOURCE
 msgid "Could not add new custom field value for ticket. %1 "
-msgstr "Impossibile aggiungere un nuovo valore di campo personalizzato al ticket. %1 "
+msgstr ""
+"Impossibile aggiungere un nuovo valore di campo personalizzato al ticket. %1 "
 
 #: NOT FOUND IN SOURCE
 msgid "Could not add new custom field value. "
@@ -1532,37 +1672,40 @@
 msgid "Could not add new custom field value. %1 "
 msgstr "Impossibile aggiungere un nuovo valore di campo personalizzato. %1 "
 
-#: lib/RT/Record.pm:1604 lib/RT/Record.pm:1650
 #. ($value_msg)
 #. ($msg)
+#: lib/RT/Record.pm:1604 lib/RT/Record.pm:1650
 msgid "Could not add new custom field value: %1"
 msgstr ""
 
-#: lib/RT/Ticket_Overlay.pm:2745 lib/RT/Ticket_Overlay.pm:2753 lib/RT/Ticket_Overlay.pm:2770
+#: lib/RT/Ticket_Overlay.pm:2745 lib/RT/Ticket_Overlay.pm:2753
+#: lib/RT/Ticket_Overlay.pm:2770
 msgid "Could not change owner. "
 msgstr "Impossibile cambiare l'incaricato. "
 
-#: share/html/Admin/CustomFields/Modify.html:149
 #. ($msg)
+#: share/html/Admin/CustomFields/Modify.html:149
 msgid "Could not create CustomField"
 msgstr "Impossibile creare il campo personalizzato"
 
-#: share/html/Admin/Elements/EditCustomField:115
 #. ($msg)
+#: share/html/Admin/Elements/EditCustomField:115
 msgid "Could not create CustomField: %1"
 msgstr "Impossibile creare il campo personalizzato: %1"
 
-#: lib/RT/Group_Overlay.pm:433 lib/RT/Group_Overlay.pm:440 share/html/User/Groups/Modify.html:100
+#: lib/RT/Group_Overlay.pm:433 lib/RT/Group_Overlay.pm:440
+#: share/html/User/Groups/Modify.html:100
 msgid "Could not create group"
 msgstr "Impossibile creare il gruppo"
 
-#: share/html/Admin/Global/Template.html:94 share/html/Admin/Queues/Template.html:95
 #. ($msg)
+#: share/html/Admin/Global/Template.html:94
+#: share/html/Admin/Queues/Template.html:95
 msgid "Could not create template: %1"
 msgstr "Impossibile creare il modello: %1"
 
-#: lib/RT/Ticket_Overlay.pm:290
 #. ($QueueObj->Name)
+#: lib/RT/Ticket_Overlay.pm:290
 msgid "Could not create ticket in disabled queue \"%1\""
 msgstr ""
 
@@ -1570,7 +1713,10 @@
 msgid "Could not create ticket. Queue not set"
 msgstr "Impossibile creare il ticket. Queue non impostata"
 
-#: lib/RT/User_Overlay.pm:189 lib/RT/User_Overlay.pm:203 lib/RT/User_Overlay.pm:212 lib/RT/User_Overlay.pm:221 lib/RT/User_Overlay.pm:230 lib/RT/User_Overlay.pm:244 lib/RT/User_Overlay.pm:254 lib/RT/User_Overlay.pm:402
+#: lib/RT/User_Overlay.pm:189 lib/RT/User_Overlay.pm:203
+#: lib/RT/User_Overlay.pm:212 lib/RT/User_Overlay.pm:221
+#: lib/RT/User_Overlay.pm:230 lib/RT/User_Overlay.pm:244
+#: lib/RT/User_Overlay.pm:254 lib/RT/User_Overlay.pm:402
 msgid "Could not create user"
 msgstr "Impossibile creare l'utente"
 
@@ -1598,8 +1744,8 @@
 msgid "Could not find user %1."
 msgstr "Impossibile trovare l'utente %1."
 
-#: lib/RT/SharedSetting.pm:202
 #. ($self->ObjectName)
+#: lib/RT/SharedSetting.pm:202
 msgid "Could not load %1 attribute"
 msgstr ""
 
@@ -1607,12 +1753,14 @@
 msgid "Could not load CustomField %1"
 msgstr "Impossibile caricare il campo personalizzato %1"
 
-#: share/html/Admin/Groups/Members.html:114 share/html/User/Groups/Members.html:113 share/html/User/Groups/Modify.html:105
+#: share/html/Admin/Groups/Members.html:114
+#: share/html/User/Groups/Members.html:113
+#: share/html/User/Groups/Modify.html:105
 msgid "Could not load group"
 msgstr "Impossibile caricare questo gruppo"
 
-#: lib/RT/SharedSetting.pm:111
 #. ($privacy)
+#: lib/RT/SharedSetting.pm:111
 msgid "Could not load object for %1"
 msgstr "Impossibile caricare l'oggetto per %1"
 
@@ -1620,25 +1768,26 @@
 msgid "Could not load search attribute"
 msgstr "Impossibile caricare un attributo della ricerca"
 
-#: lib/RT/Queue_Overlay.pm:802
 #. ($args{'Type'})
+#: lib/RT/Queue_Overlay.pm:802
 msgid "Could not make that principal a %1 for this queue"
 msgstr "Impossibile rendere questo gruppo/utente un %1 per questa coda"
 
-#: lib/RT/Ticket_Overlay.pm:1127
 #. ($self->loc($args{'Type'}))
+#: lib/RT/Ticket_Overlay.pm:1127
 msgid "Could not make that principal a %1 for this ticket"
 msgstr "Impossibile rendere questo gruppo/utente un %1 per questo ticket"
 
-#: lib/RT/Queue_Overlay.pm:918
 #. ($args{'Type'})
+#: lib/RT/Queue_Overlay.pm:918
 msgid "Could not remove that principal as a %1 for this queue"
 msgstr "Impossibile rimuovere questo gruppo/utente come un %1 per questa coda"
 
-#: lib/RT/Ticket_Overlay.pm:1254
 #. ($args{'Type'})
+#: lib/RT/Ticket_Overlay.pm:1254
 msgid "Could not remove that principal as a %1 for this ticket"
-msgstr "Impossibile rimuovere questo gruppo/utente come un %1 per questo ticket"
+msgstr ""
+"Impossibile rimuovere questo gruppo/utente come un %1 per questo ticket"
 
 #: lib/RT/User_Overlay.pm:129
 msgid "Could not set user info"
@@ -1646,15 +1795,15 @@
 
 #: lib/RT/Transaction_Overlay.pm:157
 msgid "Couldn't add attachment"
-msgstr ""
+msgstr "Impossibile aggiugere l'allegato"
 
 #: lib/RT/Group_Overlay.pm:999
 msgid "Couldn't add member to group"
 msgstr "Impossibile aggiungere un appartenente al gruppo"
 
-#: lib/RT/Record.pm:1660 lib/RT/Record.pm:1712
 #. ($msg)
 #. ($Msg)
+#: lib/RT/Record.pm:1660 lib/RT/Record.pm:1712
 msgid "Couldn't create a transaction: %1"
 msgstr "Impossibile creare una transazione: %1"
 
@@ -1694,23 +1843,23 @@
 msgid "Couldn't find user\\n"
 msgstr "Impossibile trovare l'utente\\n"
 
-#: lib/RT/CurrentUser.pm:164
 #. ($self->Id)
+#: lib/RT/CurrentUser.pm:164
 msgid "Couldn't load %1 from the users database.\\n"
 msgstr "Impossibile caricare %1 dal database degli utenti.\\n"
 
-#: share/html/Admin/CustomFields/UserRights.html:92
 #. ($id)
+#: share/html/Admin/CustomFields/UserRights.html:92
 msgid "Couldn't load Class %1"
 msgstr "Impossibile caricare la classe %1"
 
-#: lib/RT/CustomFieldValue_Overlay.pm:80
 #. ($cf_id)
+#: lib/RT/CustomFieldValue_Overlay.pm:80
 msgid "Couldn't load Custom Field #%1"
 msgstr ""
 
-#: share/html/Admin/CustomFields/GroupRights.html:104
 #. ($id)
+#: share/html/Admin/CustomFields/GroupRights.html:104
 msgid "Couldn't load CustomField %1"
 msgstr "Impossibile caricare ilcampo personalizzato %1"
 
@@ -1726,52 +1875,58 @@
 msgid "Couldn't load Scrips."
 msgstr "Impossibile caricare gli Scrips"
 
-#: lib/RT/Ticket_Overlay.pm:1707
 #. ($self->Id)
+#: lib/RT/Ticket_Overlay.pm:1707
 msgid "Couldn't load copy of ticket #%1."
-msgstr ""
+msgstr "Impossibile caricare la copia del ticket #%1."
 
-#: share/html/Admin/Users/Memberships.html:105 share/html/Admin/Users/Memberships.html:115
 #. ($gid)
+#: share/html/Admin/Users/Memberships.html:105
+#: share/html/Admin/Users/Memberships.html:115
 msgid "Couldn't load group #%1"
 msgstr ""
 
-#: share/html/Admin/Groups/GroupRights.html:111 share/html/Admin/Groups/UserRights.html:94
 #. ($id)
+#: share/html/Admin/Groups/GroupRights.html:111
+#: share/html/Admin/Groups/UserRights.html:94
 msgid "Couldn't load group %1"
 msgstr "Impossibile caricare il gruppo %1"
 
-#: lib/RT/Link_Overlay.pm:193 lib/RT/Link_Overlay.pm:202 lib/RT/Link_Overlay.pm:229
+#: lib/RT/Link_Overlay.pm:193 lib/RT/Link_Overlay.pm:202
+#: lib/RT/Link_Overlay.pm:229
 msgid "Couldn't load link"
 msgstr "Impossibile caricare il collegamento"
 
-#: share/html/Admin/Elements/ObjectCustomFields:85 share/html/Admin/Queues/CustomFields.html:61 share/html/Admin/Users/CustomFields.html:61
 #. ($id)
+#: share/html/Admin/Elements/ObjectCustomFields:85
+#: share/html/Admin/Queues/CustomFields.html:61
+#: share/html/Admin/Users/CustomFields.html:61
 msgid "Couldn't load object %1"
 msgstr "Impossibile caricare l'oggetto %1"
 
-#: lib/RT/Ticket_Overlay.pm:439
 #. ($msg)
+#: lib/RT/Ticket_Overlay.pm:439
 msgid "Couldn't load or create user: %1"
 msgstr ""
 
-#: share/html/Admin/Queues/People.html:146
 #. ($id)
+#: share/html/Admin/Queues/People.html:146
 msgid "Couldn't load queue"
 msgstr "Impossibile caricare la coda"
 
-#: share/html/Admin/Elements/EditScrips:86
 #. ($id)
+#: share/html/Admin/Elements/EditScrips:86
 msgid "Couldn't load queue #%1"
 msgstr ""
 
-#: share/html/Admin/Queues/GroupRights.html:124 share/html/Admin/Queues/UserRights.html:93
 #. ($id)
+#: share/html/Admin/Queues/GroupRights.html:124
+#: share/html/Admin/Queues/UserRights.html:93
 msgid "Couldn't load queue %1"
 msgstr "Impossibile caricare la coda %1"
 
-#: share/html/Admin/Queues/Modify.html:150
 #. ($Name)
+#: share/html/Admin/Queues/Modify.html:150
 msgid "Couldn't load queue '%1'"
 msgstr ""
 
@@ -1779,17 +1934,18 @@
 msgid "Couldn't load scrip"
 msgstr "Impossibile caricare lo Scrip"
 
-#: share/html/Admin/Elements/EditScrip:141 share/html/Admin/Elements/EditScrip:185
 #. ($id)
+#: share/html/Admin/Elements/EditScrip:141
+#: share/html/Admin/Elements/EditScrip:185
 msgid "Couldn't load scrip #%1"
-msgstr ""
+msgstr "Impossibile caricare lo Scrip #%1"
 
 #: NOT FOUND IN SOURCE
 msgid "Couldn't load template"
 msgstr "Impossibile caricare il modello"
 
-#: share/html/Admin/Elements/EditTemplates:108
 #. ($id)
+#: share/html/Admin/Elements/EditTemplates:108
 msgid "Couldn't load template #%1"
 msgstr ""
 
@@ -1797,49 +1953,49 @@
 msgid "Couldn't load that user (%1)"
 msgstr "Impossibile caricare questo utente (%1)"
 
-#: lib/RT/Action/CreateTickets.pm:451 share/html/SelfService/Display.html:161
 #. ($id)
+#: lib/RT/Action/CreateTickets.pm:451 share/html/SelfService/Display.html:161
 msgid "Couldn't load ticket '%1'"
 msgstr "Impossibile caricare il ticket '%1'"
 
-#: share/html/Ticket/Forward.html:90 share/html/Ticket/GnuPG.html:75
 #. ($QuoteTransaction)
 #. ($id)
+#: share/html/Ticket/Forward.html:90 share/html/Ticket/GnuPG.html:75
 msgid "Couldn't load transaction #%1"
 msgstr ""
 
-#: share/html/Admin/Users/GnuPG.html:92
 #. ($id)
+#: share/html/Admin/Users/GnuPG.html:92
 msgid "Couldn't load user #%1"
 msgstr ""
 
-#: lib/RT/Ticket_Overlay.pm:1041
 #. ($args{'Email'})
+#: lib/RT/Ticket_Overlay.pm:1041
 msgid "Couldn't parse address from '%1' string"
 msgstr ""
 
-#: lib/RT/Attachment_Overlay.pm:703
 #. ($msg)
+#: lib/RT/Attachment_Overlay.pm:703
 msgid "Couldn't replace content with decrypted data: %1"
 msgstr ""
 
-#: lib/RT/Attachment_Overlay.pm:668
 #. ($msg)
+#: lib/RT/Attachment_Overlay.pm:668
 msgid "Couldn't replace content with encrypted data: %1"
 msgstr ""
 
-#: lib/RT/Ticket_Overlay.pm:2360
 #. ($args{'URI'})
+#: lib/RT/Ticket_Overlay.pm:2360
 msgid "Couldn't resolve '%1' into a URI."
-msgstr ""
+msgstr "Impossibile convertire %1 in un URI."
 
-#: lib/RT/Link_Overlay.pm:100
 #. ($args{'Base'})
+#: lib/RT/Link_Overlay.pm:100
 msgid "Couldn't resolve base '%1' into a URI."
 msgstr ""
 
-#: lib/RT/Link_Overlay.pm:115
 #. ($args{'Target'})
+#: lib/RT/Link_Overlay.pm:115
 msgid "Couldn't resolve target '%1' into a URI."
 msgstr ""
 
@@ -1847,8 +2003,8 @@
 msgid "Couldn't send email"
 msgstr ""
 
-#: lib/RT/Ticket_Overlay.pm:544
 #. ($type, $msg)
+#: lib/RT/Ticket_Overlay.pm:544
 msgid "Couldn't set %1 watcher: %2"
 msgstr ""
 
@@ -1864,7 +2020,20 @@
 msgid "Country"
 msgstr "Nazione"
 
-#: share/html/Admin/CustomFields/Modify.html:126 share/html/Admin/Elements/CreateUserCalled:49 share/html/Admin/Elements/CustomFieldTabs:95 share/html/Admin/Elements/EditCustomField:86 share/html/Admin/Elements/EditScrip:148 share/html/Admin/Elements/GroupTabs:79 share/html/Admin/Elements/QueueTabs:97 share/html/Admin/Elements/UserTabs:86 share/html/Admin/Global/Template.html:67 share/html/Admin/Queues/Template.html:68 share/html/Elements/QuickCreate:68 share/html/Elements/ShowLinks:100 share/html/Elements/ShowLinks:104 share/html/Elements/ShowLinks:114 share/html/Elements/ShowLinks:50 share/html/Elements/ShowLinks:80 share/html/Elements/ShowLinks:90 share/html/Ticket/Create.html:174 share/html/Ticket/Create.html:246
+#: share/html/Admin/CustomFields/Modify.html:126
+#: share/html/Admin/Elements/CreateUserCalled:49
+#: share/html/Admin/Elements/CustomFieldTabs:95
+#: share/html/Admin/Elements/EditCustomField:86
+#: share/html/Admin/Elements/EditScrip:148
+#: share/html/Admin/Elements/GroupTabs:79
+#: share/html/Admin/Elements/QueueTabs:97
+#: share/html/Admin/Elements/UserTabs:86
+#: share/html/Admin/Global/Template.html:67
+#: share/html/Admin/Queues/Template.html:68 share/html/Elements/QuickCreate:68
+#: share/html/Elements/ShowLinks:100 share/html/Elements/ShowLinks:104
+#: share/html/Elements/ShowLinks:114 share/html/Elements/ShowLinks:50
+#: share/html/Elements/ShowLinks:80 share/html/Elements/ShowLinks:90
+#: share/html/Ticket/Create.html:174 share/html/Ticket/Create.html:246
 msgid "Create"
 msgstr "Crea"
 
@@ -1872,12 +2041,13 @@
 msgid "Create Tickets"
 msgstr "Crea ticket"
 
-#: share/html/Admin/CustomFields/Modify.html:136 share/html/Admin/Elements/EditCustomField:98
+#: share/html/Admin/CustomFields/Modify.html:136
+#: share/html/Admin/Elements/EditCustomField:98
 msgid "Create a CustomField"
 msgstr "Crea un campo Personalizzato"
 
-#: share/html/Admin/Queues/CustomField.html:71
 #. ($QueueObj->Name())
+#: share/html/Admin/Queues/CustomField.html:71
 msgid "Create a CustomField for queue %1"
 msgstr "Crea un campo personalizzato per la coda %1"
 
@@ -1897,11 +2067,13 @@
 msgid "Create a new global scrip"
 msgstr "Crea un nuovo scrip globale"
 
-#: share/html/Admin/Groups/Modify.html:105 share/html/Admin/Groups/Modify.html:131
+#: share/html/Admin/Groups/Modify.html:105
+#: share/html/Admin/Groups/Modify.html:131
 msgid "Create a new group"
 msgstr "Crea un nuovo gruppo"
 
-#: share/html/User/Groups/Modify.html:115 share/html/User/Groups/Modify.html:90
+#: share/html/User/Groups/Modify.html:115
+#: share/html/User/Groups/Modify.html:90
 msgid "Create a new personal group"
 msgstr "Crea un nuovo gruppo personale"
 
@@ -1917,11 +2089,13 @@
 msgid "Create a new template"
 msgstr "Crea un nuovo modello"
 
-#: share/html/Ticket/Create.html:49 share/html/Ticket/Create.html:53 share/html/Ticket/Create.html:64
+#: share/html/Ticket/Create.html:49 share/html/Ticket/Create.html:53
+#: share/html/Ticket/Create.html:64
 msgid "Create a new ticket"
 msgstr "Crea un nuovo ticket"
 
-#: share/html/Admin/Users/Modify.html:256 share/html/Admin/Users/Modify.html:320
+#: share/html/Admin/Users/Modify.html:256
+#: share/html/Admin/Users/Modify.html:320
 msgid "Create a new user"
 msgstr "Crea un nuovo utente"
 
@@ -1937,16 +2111,18 @@
 msgid "Create a request"
 msgstr "Crea una richiesta"
 
-#: share/html/Admin/Queues/Scrip.html:91
 #. ($QueueObj->Name)
+#: share/html/Admin/Queues/Scrip.html:91
 msgid "Create a scrip for queue %1"
 msgstr "Crea uno scrip per la coda %1"
 
-#: share/html/Admin/Global/Template.html:87 share/html/Admin/Queues/Template.html:88
+#: share/html/Admin/Global/Template.html:87
+#: share/html/Admin/Queues/Template.html:88
 msgid "Create a template"
 msgstr "Crea un modello"
 
-#: share/html/SelfService/Create.html:48 share/html/SelfService/CreateTicketInQueue.html:48
+#: share/html/SelfService/Create.html:48
+#: share/html/SelfService/CreateTicketInQueue.html:48
 msgid "Create a ticket"
 msgstr "Nuovo ticket"
 
@@ -1984,7 +2160,9 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Create, delete and modify the members of any user's personal groups"
-msgstr "Crea, elimina e modifica gli appartenenti ai gruppi personali di un qualunque utente"
+msgstr ""
+"Crea, elimina e modifica gli appartenenti ai gruppi personali di un "
+"qualunque utente"
 
 #: lib/RT/System.pm:84
 msgid "Create, delete and modify the members of personal groups"
@@ -2002,7 +2180,9 @@
 msgid "CreateTicket"
 msgstr "CreaTicket"
 
-#: lib/RT/Ticket_Overlay.pm:905 share/html/Admin/Elements/ShowKeyInfo:58 share/html/Elements/SelectDateType:49 share/html/Ticket/Elements/ShowDates:50
+#: lib/RT/Ticket_Overlay.pm:905 share/html/Admin/Elements/ShowKeyInfo:58
+#: share/html/Elements/SelectDateType:49
+#: share/html/Ticket/Elements/ShowDates:50
 msgid "Created"
 msgstr "Creato"
 
@@ -2010,15 +2190,16 @@
 msgid "Created By"
 msgstr "Creato da"
 
-#: share/html/Admin/CustomFields/Modify.html:151 share/html/Admin/Elements/EditCustomField:119
 #. ($CustomFieldObj->Name())
 #. ($CustomFieldObj->Name)
+#: share/html/Admin/CustomFields/Modify.html:151
+#: share/html/Admin/Elements/EditCustomField:119
 msgid "Created CustomField %1"
 msgstr "Campo personalizzato %1 creato"
 
 #: share/html/Tools/Reports/Elements/Tabs:65
 msgid "Created in a date range"
-msgstr ""
+msgstr "Creato in un range di date"
 
 #: NOT FOUND IN SOURCE
 msgid "Created template %1"
@@ -2026,7 +2207,7 @@
 
 #: share/html/Tools/Reports/CreatedByDates.html:54
 msgid "Created tickets in period, grouped by status"
-msgstr ""
+msgstr "Ticket creati in un periodo, raggruppati per stato"
 
 #: NOT FOUND IN SOURCE
 msgid "CreatedBy"
@@ -2052,7 +2233,8 @@
 msgid "Current Scrips"
 msgstr "Scrips attuali"
 
-#: share/html/Admin/Groups/Members.html:62 share/html/User/Groups/Members.html:65
+#: share/html/Admin/Groups/Members.html:62
+#: share/html/User/Groups/Members.html:65
 msgid "Current members"
 msgstr "Appartenenti attuali"
 
@@ -2062,13 +2244,14 @@
 
 #: share/html/Search/Elements/EditQuery:49
 msgid "Current search"
-msgstr ""
+msgstr "Ricerca attuale"
 
 #: NOT FOUND IN SOURCE
 msgid "Current search criteria"
 msgstr "Criterio di ricerca attuale"
 
-#: share/html/Admin/Queues/People.html:64 share/html/Ticket/Elements/EditPeople:68
+#: share/html/Admin/Queues/People.html:64
+#: share/html/Ticket/Elements/EditPeople:68
 msgid "Current watchers"
 msgstr "Osservatori attuali"
 
@@ -2076,12 +2259,15 @@
 msgid "Custom Field #%1"
 msgstr "Campo personalizzato n°%1"
 
-#: share/html/Admin/Elements/SystemTabs:63 share/html/Admin/Elements/Tabs:64 share/html/Admin/Global/index.html:65 share/html/Admin/Users/Modify.html:209 share/html/Admin/index.html:73 share/html/Ticket/Elements/ShowSummary:58
+#: share/html/Admin/Elements/SystemTabs:63 share/html/Admin/Elements/Tabs:64
+#: share/html/Admin/Global/index.html:65
+#: share/html/Admin/Users/Modify.html:209 share/html/Admin/index.html:73
+#: share/html/Ticket/Elements/ShowSummary:58
 msgid "Custom Fields"
 msgstr "Campi personalizzati"
 
-#: share/html/Admin/CustomFields/index.html:62
 #. ($lookup)
+#: share/html/Admin/CustomFields/index.html:62
 msgid "Custom Fields for %1"
 msgstr "Campi personalizzati per %1"
 
@@ -2097,36 +2283,37 @@
 msgid "Custom condition"
 msgstr "Condizione personalizzata"
 
-#: lib/RT/Tickets_Overlay.pm:2458
 #. ($CF->Name, $args{OPERATOR}, $args{VALUE})
+#: lib/RT/Tickets_Overlay.pm:2458
 msgid "Custom field %1 %2 %3"
 msgstr "Campi personalizzati %1 %2 %3"
 
-#: lib/RT/Record.pm:1522
 #. ($args{'Field'})
+#: lib/RT/Record.pm:1522
+#, fuzzy
 msgid "Custom field %1 does not apply to this object"
-msgstr ""
+msgstr "L'oggetto non ammette questo campo personalizzato"
 
-#: lib/RT/Tickets_Overlay.pm:2452
 #. ($CF->Name)
+#: lib/RT/Tickets_Overlay.pm:2452
 msgid "Custom field %1 has a value."
 msgstr "Il campo personalizzato %1 ha un valore."
 
-#: lib/RT/Tickets_Overlay.pm:2448
 #. ($CF->Name)
+#: lib/RT/Tickets_Overlay.pm:2448
 msgid "Custom field %1 has no value."
 msgstr "Il campo personalizzato %1 non ha valore."
 
-#: lib/RT/Record.pm:1511 lib/RT/Record.pm:1693
 #. ($args{'Field'})
+#: lib/RT/Record.pm:1511 lib/RT/Record.pm:1693
 msgid "Custom field %1 not found"
 msgstr "Campo personalizzato %1 non trovato"
 
-#: lib/RT/Report/Tickets.pm:120 lib/RT/Report/Tickets.pm:123
 #. ($cf)
 #. ($obj->Name)
+#: lib/RT/Report/Tickets.pm:120 lib/RT/Report/Tickets.pm:123
 msgid "Custom field '%1'"
-msgstr ""
+msgstr "Campo personalizzato '%1'"
 
 #: NOT FOUND IN SOURCE
 msgid "Custom field deleted"
@@ -2136,8 +2323,8 @@
 msgid "Custom field not found"
 msgstr "Campo personalizzato %1 non trovato"
 
-#: lib/RT/CustomField_Overlay.pm:1050
 #. ($args{'Content'}, $self->Name)
+#: lib/RT/CustomField_Overlay.pm:1050
 msgid "Custom field value %1 could not be found for custom field %2"
 msgstr "Impossibile trovare il valore %1 per il campo personalizzato %2"
 
@@ -2157,13 +2344,15 @@
 msgid "Custom field value deleted"
 msgstr "Il valore del vampo personalizzato è stato eliminato"
 
-#: lib/RT/Transaction_Overlay.pm:627 share/html/Elements/SelectGroups:54 share/html/Elements/SelectUsers:54
+#: lib/RT/Transaction_Overlay.pm:627 share/html/Elements/SelectGroups:54
+#: share/html/Elements/SelectUsers:54
 msgid "CustomField"
 msgstr "CampoPersonalizzato"
 
-#: share/html/Prefs/MyRT.html:84 share/html/Prefs/Quicksearch.html:72 share/html/Prefs/Search.html:77
+#: share/html/Prefs/MyRT.html:84 share/html/Prefs/Quicksearch.html:72
+#: share/html/Prefs/Search.html:77
 msgid "Customize"
-msgstr ""
+msgstr "Personalizza"
 
 #: lib/RT/Installer.pm:98
 msgid "DBA of the database"
@@ -2177,26 +2366,29 @@
 msgid "Daily digest"
 msgstr ""
 
-#: share/html/Dashboards/Subscription.html:62 share/html/Dashboards/Subscription.html:66
+#: share/html/Dashboards/Subscription.html:62
+#: share/html/Dashboards/Subscription.html:66
 msgid "Dashboard"
 msgstr ""
 
-#: share/html/Dashboards/Modify.html:112
 #. ($msg)
+#: share/html/Dashboards/Modify.html:112
 msgid "Dashboard could not be created: %1"
 msgstr ""
 
-#: share/html/Dashboards/Modify.html:147 share/html/Dashboards/Queries.html:149
 #. ($msg)
+#: share/html/Dashboards/Modify.html:147
+#: share/html/Dashboards/Queries.html:149
 msgid "Dashboard could not be updated: %1"
 msgstr ""
 
-#: share/html/Dashboards/Modify.html:144 share/html/Dashboards/Queries.html:146
+#: share/html/Dashboards/Modify.html:144
+#: share/html/Dashboards/Queries.html:146
 msgid "Dashboard updated"
 msgstr ""
 
-#: sbin/rt-email-dashboards:247
 #. () || "RT [_2] Dashboard: [_1]"),        $dashboard->Name,        ucfirst($subscription->SubValue('Frequency')),)
+#: sbin/rt-email-dashboards:247
 msgid "DashboardSubject"
 msgstr ""
 
@@ -2228,7 +2420,9 @@
 msgid "Date format"
 msgstr ""
 
-#: share/html/SelfService/Display.html:63 share/html/Ticket/Create.html:210 share/html/Ticket/Elements/ShowSummary:93 share/html/Ticket/Elements/Tabs:131 share/html/Ticket/ModifyAll.html:68
+#: share/html/SelfService/Display.html:63 share/html/Ticket/Create.html:210
+#: share/html/Ticket/Elements/ShowSummary:93
+#: share/html/Ticket/Elements/Tabs:131 share/html/Ticket/ModifyAll.html:68
 msgid "Dates"
 msgstr "Date"
 
@@ -2284,13 +2478,13 @@
 msgid "Default transaction template"
 msgstr "Modello di default per la transazione"
 
-#: share/html/Widgets/Form/Integer:71 share/html/Widgets/Form/String:69
 #. ($DefaultValue)
+#: share/html/Widgets/Form/Integer:71 share/html/Widgets/Form/String:69
 msgid "Default: %1"
 msgstr ""
 
-#: lib/RT/Transaction_Overlay.pm:605
 #. ($type,        $self->Field,        (            $self->OldValue            ? "'" . $self->OldValue . "'"            : $self->loc("(no value)")        ),        "'" . $self->NewValue . "'")
+#: lib/RT/Transaction_Overlay.pm:605
 msgid "Default: %1/%2 changed from %3 to %4"
 msgstr "Default: %1/%2 modificato da %3 a %4"
 
@@ -2310,7 +2504,11 @@
 msgid "Delegation"
 msgstr "Delega"
 
-#: share/html/Admin/Elements/EditScrips:73 share/html/Search/Elements/EditFormat:99 share/html/Search/Elements/EditQuery:61 share/html/Search/Elements/EditSearches:63 share/html/Widgets/SelectionBox:212
+#: share/html/Admin/Elements/EditScrips:73
+#: share/html/Search/Elements/EditFormat:99
+#: share/html/Search/Elements/EditQuery:61
+#: share/html/Search/Elements/EditSearches:63
+#: share/html/Widgets/SelectionBox:212
 msgid "Delete"
 msgstr "Cancella"
 
@@ -2318,8 +2516,8 @@
 msgid "Delete Template"
 msgstr "Cancella modello"
 
-#: lib/RT/SharedSetting.pm:231
 #. ($msg)
+#: lib/RT/SharedSetting.pm:231
 msgid "Delete failed: %1"
 msgstr "Cancellazione fallita: %1"
 
@@ -2333,14 +2531,14 @@
 
 #: share/html/Search/Bulk.html:167
 msgid "Delete values"
-msgstr ""
+msgstr "Cancella valori"
 
 #: lib/RT/Queue_Overlay.pm:114
 msgid "DeleteTicket"
 msgstr "CancellaTicket"
 
-#: lib/RT/SharedSetting.pm:229
 #. ($self->ObjectName)
+#: lib/RT/SharedSetting.pm:229
 msgid "Deleted %1"
 msgstr ""
 
@@ -2354,11 +2552,13 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Deleting this object could break referential integrity"
-msgstr "La cancellazione di quest'oggetto può danneggiare l'integrità referenziale"
+msgstr ""
+"La cancellazione di quest'oggetto può danneggiare l'integrità referenziale"
 
 #: lib/RT/Queue_Overlay.pm:378
 msgid "Deleting this object would break referential integrity"
-msgstr "La cancellazione di quest'oggetto danneggerebbe l'integrità referenziale"
+msgstr ""
+"La cancellazione di quest'oggetto danneggerebbe l'integrità referenziale"
 
 #: lib/RT/User_Overlay.pm:414
 msgid "Deleting this object would violate referential integrity"
@@ -2370,13 +2570,18 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Deleting this object would violate referential integrity. That's bad."
-msgstr "La cancellazione di quest'oggetto violerebbe l'integrità referenziale. Ciò è male!"
+msgstr ""
+"La cancellazione di quest'oggetto violerebbe l'integrità referenziale. Ciò è "
+"male!"
 
 #: share/html/Approvals/Elements/Approve:75
 msgid "Deny"
 msgstr "Nega"
 
-#: share/html/Elements/EditLinks:141 share/html/Elements/EditLinks:64 share/html/Elements/ShowLinks:80 share/html/Ticket/Create.html:231 share/html/Ticket/Elements/BulkLinks:58 share/html/Ticket/Elements/ShowDependencies:55
+#: share/html/Elements/EditLinks:141 share/html/Elements/EditLinks:64
+#: share/html/Elements/ShowLinks:80 share/html/Ticket/Create.html:231
+#: share/html/Ticket/Elements/BulkLinks:58
+#: share/html/Ticket/Elements/ShowDependencies:55
 msgid "Depended on by"
 msgstr "È una dipendenza per"
 
@@ -2388,27 +2593,30 @@
 msgid "Dependencies: \\n"
 msgstr "Dipendenze: \\n"
 
-#: lib/RT/Transaction_Overlay.pm:707
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:707
 msgid "Dependency by %1 added"
 msgstr "Aggiunta dipendenza da parte di %1"
 
-#: lib/RT/Transaction_Overlay.pm:747
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:747
 msgid "Dependency by %1 deleted"
 msgstr "Cancellata dipendenza da parte di %1"
 
-#: lib/RT/Transaction_Overlay.pm:704
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:704
 msgid "Dependency on %1 added"
 msgstr "Aggiunta dipendenza da %1"
 
-#: lib/RT/Transaction_Overlay.pm:744
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:744
 msgid "Dependency on %1 deleted"
 msgstr "Cancellata dipendenza da %1"
 
-#: share/html/Elements/EditLinks:137 share/html/Elements/EditLinks:55 share/html/Elements/SelectLinkType:50 share/html/Elements/ShowLinks:50 share/html/Ticket/Create.html:230 share/html/Ticket/Elements/BulkLinks:54 share/html/Ticket/Elements/ShowDependencies:48
+#: share/html/Elements/EditLinks:137 share/html/Elements/EditLinks:55
+#: share/html/Elements/SelectLinkType:50 share/html/Elements/ShowLinks:50
+#: share/html/Ticket/Create.html:230 share/html/Ticket/Elements/BulkLinks:54
+#: share/html/Ticket/Elements/ShowDependencies:48
 msgid "Depends on"
 msgstr "Dipende da"
 
@@ -2428,7 +2636,16 @@
 msgid "Describe the issue below"
 msgstr "Descrivi il problema qui sotto"
 
-#: share/html/Admin/CustomFields/Modify.html:64 share/html/Admin/Elements/AddCustomFieldValue:55 share/html/Admin/Elements/EditCustomField:62 share/html/Admin/Elements/EditCustomFieldValues:59 share/html/Admin/Elements/EditScrip:57 share/html/Admin/Elements/ModifyTemplate:59 share/html/Admin/Groups/Modify.html:73 share/html/Admin/Queues/Modify.html:66 share/html/Search/Elements/EditSearches:55 share/html/User/Groups/Modify.html:72
+#: share/html/Admin/CustomFields/Modify.html:64
+#: share/html/Admin/Elements/AddCustomFieldValue:55
+#: share/html/Admin/Elements/EditCustomField:62
+#: share/html/Admin/Elements/EditCustomFieldValues:59
+#: share/html/Admin/Elements/EditScrip:57
+#: share/html/Admin/Elements/ModifyTemplate:59
+#: share/html/Admin/Groups/Modify.html:73
+#: share/html/Admin/Queues/Modify.html:66
+#: share/html/Search/Elements/EditSearches:55
+#: share/html/User/Groups/Modify.html:72
 msgid "Description"
 msgstr "Descrizione"
 
@@ -2440,7 +2657,8 @@
 msgid "Disabled"
 msgstr ""
 
-#: share/html/Search/Elements/EditFormat:68 share/html/Ticket/Elements/Tabs:117
+#: share/html/Search/Elements/EditFormat:68
+#: share/html/Ticket/Elements/Tabs:117
 msgid "Display"
 msgstr "Visualizza"
 
@@ -2473,8 +2691,12 @@
 msgstr "Visualizza il ticket n°%1"
 
 #: share/html/Elements/Footer:64
-msgid "Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
-msgstr "Distribuito in accordo con la versione 2 della <a href=\"http://www.gnu.org/copyleft/gpl.html\">GNU GPL</a>."
+msgid ""
+"Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html"
+"\"> of the GNU GPL.</a>"
+msgstr ""
+"Distribuito in accordo con la versione 2 della <a href=\"http://www.gnu.org/"
+"copyleft/gpl.html\">GNU GPL</a>."
 
 #: lib/RT/System.pm:79
 msgid "Do anything and everything"
@@ -2498,13 +2720,16 @@
 
 #: share/html/Ticket/Elements/ShowTransactionAttachments:61
 msgid "Download"
-msgstr "Download"
+msgstr "Visualizza"
 
 #: share/html/Admin/Groups/index.html:73 share/html/Admin/Users/index.html:74
 msgid "Download as a tab-delimited file"
 msgstr "Scarica come file separato da TAB"
 
-#: lib/RT/Ticket_Overlay.pm:909 share/html/Elements/SelectDateType:55 share/html/Ticket/Create.html:216 share/html/Ticket/Elements/EditDates:68 share/html/Ticket/Elements/Reminders:140 share/html/Ticket/Elements/ShowDates:66
+#: lib/RT/Ticket_Overlay.pm:909 share/html/Elements/SelectDateType:55
+#: share/html/Ticket/Create.html:216 share/html/Ticket/Elements/EditDates:68
+#: share/html/Ticket/Elements/Reminders:140
+#: share/html/Ticket/Elements/ShowDates:66
 msgid "Due"
 msgstr "Scadenza"
 
@@ -2524,7 +2749,8 @@
 msgid "Ecnrypt/Decrypt"
 msgstr ""
 
-#: share/html/Elements/Quicksearch:50 share/html/Elements/ShowSearch:51 share/html/index.html:132
+#: share/html/Elements/Quicksearch:50 share/html/Elements/ShowSearch:51
+#: share/html/index.html:132
 msgid "Edit"
 msgstr "Modifica"
 
@@ -2534,10 +2760,12 @@
 
 #: share/html/Search/Bulk.html:162
 msgid "Edit Custom Fields"
-msgstr ""
+msgstr "Modifica campi personalizzati"
 
-#: share/html/Admin/Elements/ObjectCustomFields:94 share/html/Admin/Queues/CustomFields.html:66 share/html/Admin/Users/CustomFields.html:66
 #. ($Object->Name)
+#: share/html/Admin/Elements/ObjectCustomFields:94
+#: share/html/Admin/Queues/CustomFields.html:66
+#: share/html/Admin/Users/CustomFields.html:66
 msgid "Edit Custom Fields for %1"
 msgstr "Modifica i campi personalizzati per %1"
 
@@ -2553,13 +2781,16 @@
 msgid "Edit Custom Fields for all users"
 msgstr "Modifica i campi personalizzati per tutti gli utenti"
 
-#: share/html/Admin/Global/CustomFields/Queue-Tickets.html:56 share/html/Admin/Global/CustomFields/Queue-Transactions.html:56
+#: share/html/Admin/Global/CustomFields/Queue-Tickets.html:56
+#: share/html/Admin/Global/CustomFields/Queue-Transactions.html:56
 msgid "Edit Custom Fields for tickets in all queues"
 msgstr "Modifica i campi personalizzati per tutte le code"
 
 #: NOT FOUND IN SOURCE
 msgid "Edit Custom Fields for transactions on tickets in all queues"
-msgstr "Modifica i campi personalizzati per le transazioni sui ticket in tutte le code"
+msgstr ""
+"Modifica i campi personalizzati per le transazioni sui ticket in tutte le "
+"code"
 
 #: share/html/Search/Bulk.html:197 share/html/Ticket/ModifyLinks.html:62
 msgid "Edit Links"
@@ -2571,10 +2802,10 @@
 
 #: share/html/Ticket/Elements/Tabs:264
 msgid "Edit Search"
-msgstr ""
+msgstr "Modifica ricerca"
 
-#: share/html/Admin/Queues/Templates.html:65
 #. ($QueueObj->Name)
+#: share/html/Admin/Queues/Templates.html:65
 msgid "Edit Templates for queue %1"
 msgstr "Modifica i modelli per la coda %1"
 
@@ -2606,8 +2837,8 @@
 msgid "Editable text"
 msgstr ""
 
-#: share/html/Admin/Queues/Modify.html:152
 #. ($QueueObj->Name)
+#: share/html/Admin/Queues/Modify.html:152
 msgid "Editing Configuration for queue %1"
 msgstr "Modifica della configurazione per la coda %1"
 
@@ -2615,19 +2846,20 @@
 msgid "Editing Configuration for user %1"
 msgstr "Modifica della configurazione per l'utente %1"
 
-#: share/html/Admin/CustomFields/Modify.html:154 share/html/Admin/Elements/EditCustomField:122
 #. ($CustomFieldObj->Name())
 #. ($CustomFieldObj->Name)
+#: share/html/Admin/CustomFields/Modify.html:154
+#: share/html/Admin/Elements/EditCustomField:122
 msgid "Editing CustomField %1"
 msgstr "Modifica del campo personalizzato %1"
 
-#: share/html/Admin/Groups/Members.html:57
 #. ($Group->Name)
+#: share/html/Admin/Groups/Members.html:57
 msgid "Editing membership for group %1"
 msgstr "Modifica degli appartenenti al gruppo %1"
 
-#: share/html/User/Groups/Members.html:152
 #. ($Group->Name)
+#: share/html/User/Groups/Members.html:152
 msgid "Editing membership for personal group %1"
 msgstr "Modifica degli appartenenti al gruppo personale %1"
 
@@ -2635,11 +2867,13 @@
 msgid "Editing template %1"
 msgstr "Modifica del modello %1"
 
-#: lib/RT/Record.pm:1222 lib/RT/Record.pm:1299 lib/RT/Ticket_Overlay.pm:2230 lib/RT/Ticket_Overlay.pm:2325
+#: lib/RT/Record.pm:1222 lib/RT/Record.pm:1299 lib/RT/Ticket_Overlay.pm:2230
+#: lib/RT/Ticket_Overlay.pm:2325
 msgid "Either base or target must be specified"
 msgstr "È necessario specificare base o target"
 
-#: share/html/Admin/Users/Modify.html:76 share/html/Ticket/Elements/AddWatchers:79 share/html/User/Prefs.html:67
+#: share/html/Admin/Users/Modify.html:76
+#: share/html/Ticket/Elements/AddWatchers:79 share/html/User/Prefs.html:67
 msgid "Email"
 msgstr "Email"
 
@@ -2671,11 +2905,15 @@
 msgid "Enabled"
 msgstr ""
 
-#: share/html/Admin/CustomFields/Modify.html:113 share/html/Admin/Elements/EditCustomField:74
+#: share/html/Admin/CustomFields/Modify.html:113
+#: share/html/Admin/Elements/EditCustomField:74
 msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "Abilitato (togliere il segno di spunta per disabilitare questo campo personalizzato)"
+msgstr ""
+"Abilitato (togliere il segno di spunta per disabilitare questo campo "
+"personalizzato)"
 
-#: share/html/Admin/Groups/Modify.html:89 share/html/User/Groups/Modify.html:76
+#: share/html/Admin/Groups/Modify.html:89
+#: share/html/User/Groups/Modify.html:76
 msgid "Enabled (Unchecking this box disables this group)"
 msgstr "Abilitato (togliere il segno di spunta per disabilitare questo gruppo)"
 
@@ -2691,8 +2929,10 @@
 msgid "Enabled Queues"
 msgstr "Code abilitate"
 
-#: share/html/Admin/Elements/EditCustomField:138 share/html/Admin/Users/Modify.html:356 share/html/User/Groups/Modify.html:140
 #. (loc_fuzzy($msg))
+#: share/html/Admin/Elements/EditCustomField:138
+#: share/html/Admin/Users/Modify.html:356
+#: share/html/User/Groups/Modify.html:140
 msgid "Enabled status %1"
 msgstr "Stato %1 abilitato"
 
@@ -2700,7 +2940,8 @@
 msgid "Enabled status: %1"
 msgstr "Stato abilitato: %1"
 
-#: share/html/Elements/GnuPG/SignEncryptWidget:53 share/html/Ticket/GnuPG.html:62
+#: share/html/Elements/GnuPG/SignEncryptWidget:53
+#: share/html/Ticket/GnuPG.html:62
 msgid "Encrypt"
 msgstr ""
 
@@ -2708,8 +2949,8 @@
 msgid "Encrypt by default"
 msgstr ""
 
-#: share/html/Ticket/GnuPG.html:103
 #. ($id, $txn->Ticket)
+#: share/html/Ticket/GnuPG.html:103
 msgid "Encrypt/Decrypt transaction #%1 of ticket #%2"
 msgstr ""
 
@@ -2730,8 +2971,11 @@
 msgstr ""
 
 #: share/html/Elements/EditLinks:127
-msgid "Enter objects or URIs to link objects to. Separate multiple entries with spaces."
-msgstr "Inserire, separati da spazio, gli oggetti (o URI di oggetti) da collegare."
+msgid ""
+"Enter objects or URIs to link objects to. Separate multiple entries with "
+"spaces."
+msgstr ""
+"Inserire, separati da spazio, gli oggetti (o URI di oggetti) da collegare."
 
 #: lib/RT/CustomField_Overlay.pm:66
 msgid "Enter one value"
@@ -2742,15 +2986,21 @@
 msgstr ""
 
 #: share/html/Elements/EditLinks:124
-msgid "Enter queues or URIs to link queues to. Separate multiple entries with spaces."
+msgid ""
+"Enter queues or URIs to link queues to. Separate multiple entries with "
+"spaces."
 msgstr "Inserire, separati da spazio, le code (o URI di code) da collegare."
 
 #: share/html/Elements/EditLinks:120 share/html/Search/Bulk.html:198
-msgid "Enter tickets or URIs to link tickets to. Separate multiple entries with spaces."
+msgid ""
+"Enter tickets or URIs to link tickets to. Separate multiple entries with "
+"spaces."
 msgstr "Inserire, separati da spazio, i ticket (o URI di ticket) da collegare."
 
 #: NOT FOUND IN SOURCE
-msgid "Enter tickets or URIs to link tickets to. Seperate multiple entries with spaces."
+msgid ""
+"Enter tickets or URIs to link tickets to. Seperate multiple entries with "
+"spaces."
 msgstr "Inserire, separati da spazio, i ticket (o URI di ticket) da collegare."
 
 #: lib/RT/CustomField_Overlay.pm:67
@@ -2761,7 +3011,8 @@
 msgid "Enter up to %1 values with autocompletion"
 msgstr ""
 
-#: sbin/rt-email-digest:80 share/html/Elements/Login:78 share/html/SelfService/Error.html:48 share/html/SelfService/Error.html:49
+#: sbin/rt-email-digest:80 share/html/Elements/Login:78
+#: share/html/SelfService/Error.html:48 share/html/SelfService/Error.html:49
 msgid "Error"
 msgstr "Errore"
 
@@ -2850,11 +3101,13 @@
 msgstr ""
 
 #: etc/initialdata:98
-msgid "Extract tags from a Transaction's subject and add them to the Ticket's subject."
+msgid ""
+"Extract tags from a Transaction's subject and add them to the Ticket's "
+"subject."
 msgstr ""
 
-#: lib/RT/SharedSetting.pm:185
 #. ($self->ObjectName)
+#: lib/RT/SharedSetting.pm:185
 msgid "Failed to create %1 attribute"
 msgstr ""
 
@@ -2870,18 +3123,18 @@
 msgid "Failed to find 'Unprivileged' users pseudogroup"
 msgstr "Impossibile trovare il pseudogruppo di utenti 'Non Privilegiato'."
 
-#: lib/RT/SharedSetting.pm:131
 #. ($id)
+#: lib/RT/SharedSetting.pm:131
 msgid "Failed to load attribute %1"
 msgstr ""
 
-#: bin/rt-crontool:256
 #. ($modname, $@)
+#: bin/rt-crontool:256
 msgid "Failed to load module %1. (%2)"
 msgstr "Errore nel caricamento del modulo %1. (%2)"
 
-#: lib/RT/SharedSetting.pm:164
 #. ($privacy)
+#: lib/RT/SharedSetting.pm:164
 msgid "Failed to load object for %1"
 msgstr "Impossibile caricare un oggetto per %1"
 
@@ -2929,9 +3182,10 @@
 msgid "Fill in one wikitext area"
 msgstr "Testo WIKI singolo"
 
-#: share/html/Admin/CustomFields/Modify.html:105 share/html/Admin/CustomFields/Modify.html:97
+#: share/html/Admin/CustomFields/Modify.html:105
+#: share/html/Admin/CustomFields/Modify.html:97
 msgid "Fill in this field with a URL."
-msgstr ""
+msgstr "Riempi questo campo con un URL."
 
 #: lib/RT/CustomField_Overlay.pm:72
 msgid "Fill in up to %1 text areas"
@@ -2945,7 +3199,8 @@
 msgid "Fin"
 msgstr "Fin"
 
-#: lib/RT/Tickets_Overlay.pm:1890 share/html/Search/Elements/PickBasics:188 share/html/Ticket/Create.html:188 share/html/Ticket/Elements/EditBasics:103
+#: lib/RT/Tickets_Overlay.pm:1890 share/html/Search/Elements/PickBasics:188
+#: share/html/Ticket/Create.html:188 share/html/Ticket/Elements/EditBasics:103
 msgid "Final Priority"
 msgstr "Priorità finale"
 
@@ -2961,7 +3216,9 @@
 msgid "Find group whose"
 msgstr "Cerca il gruppo in cui"
 
-#: share/html/Admin/Groups/index.html:82 share/html/Admin/Queues/People.html:84 share/html/Ticket/Elements/EditPeople:57
+#: share/html/Admin/Groups/index.html:82
+#: share/html/Admin/Queues/People.html:84
+#: share/html/Ticket/Elements/EditPeople:57
 msgid "Find groups whose"
 msgstr "Cerca i gruppi in cui"
 
@@ -2969,7 +3226,8 @@
 msgid "Find new/open tickets"
 msgstr "Cerca ticket nuovi/aperti"
 
-#: share/html/Admin/Queues/People.html:80 share/html/Ticket/Elements/EditPeople:53
+#: share/html/Admin/Queues/People.html:80
+#: share/html/Ticket/Elements/EditPeople:53
 msgid "Find people whose"
 msgstr "Cerca le persone in cui"
 
@@ -3005,7 +3263,8 @@
 msgid "Format"
 msgstr "Opzioni colonna"
 
-#: etc/initialdata:354 etc/upgrade/3.7.15/content:4 share/html/Ticket/Elements/ShowTransaction:208
+#: etc/initialdata:354 etc/upgrade/3.7.15/content:4
+#: share/html/Ticket/Elements/ShowTransaction:208
 msgid "Forward"
 msgstr ""
 
@@ -3029,8 +3288,8 @@
 msgid "ForwardMessage"
 msgstr ""
 
-#: share/html/Search/Results.html:146
 #. ($ticketcount)
+#: share/html/Search/Results.html:146
 msgid "Found %quant(%1,ticket)"
 msgstr "Trovati %quant(%1,ticket)"
 
@@ -3066,7 +3325,8 @@
 msgid "Fri."
 msgstr "Ven."
 
-#: share/html/Ticket/Elements/ShowHistory:68 share/html/Ticket/Elements/ShowHistory:74
+#: share/html/Ticket/Elements/ShowHistory:68
+#: share/html/Ticket/Elements/ShowHistory:74
 msgid "Full headers"
 msgstr "Intestazione completa"
 
@@ -3082,12 +3342,13 @@
 msgid "Getting the current user from a pgp sig\\n"
 msgstr "Sto individuando l'utente corrente da una firma pgp\\n"
 
-#: lib/RT/Transaction_Overlay.pm:673
 #. ($New->Name)
+#: lib/RT/Transaction_Overlay.pm:673
 msgid "Given to %1"
 msgstr "Assegnato a %1"
 
-#: share/html/Admin/Elements/Tabs:67 share/html/Admin/index.html:78 share/html/Elements/RT__Scrip/ColumnMap:64
+#: share/html/Admin/Elements/Tabs:67 share/html/Admin/index.html:78
+#: share/html/Elements/RT__Scrip/ColumnMap:64
 msgid "Global"
 msgstr "Globale"
 
@@ -3107,13 +3368,13 @@
 msgid "Global custom field configuration"
 msgstr "Configurazione globale campi personalizzati"
 
-#: share/html/Admin/Global/MyRT.html:95
 #. ($pane)
+#: share/html/Admin/Global/MyRT.html:95
 msgid "Global portlet %1 saved."
 msgstr ""
 
-#: share/html/Admin/Elements/SelectTemplate:61
 #. (loc($Template->Name))
+#: share/html/Admin/Elements/SelectTemplate:61
 msgid "Global template: %1"
 msgstr "Modello globale: %1"
 
@@ -3133,13 +3394,13 @@
 msgid "GnuPG issues"
 msgstr ""
 
-#: share/html/Admin/Elements/ShowKeyInfo:88
 #. ($EmailAddress)
+#: share/html/Admin/Elements/ShowKeyInfo:88
 msgid "GnuPG private key(s) for %1"
 msgstr ""
 
-#: share/html/Admin/Elements/ShowKeyInfo:86
 #. ($EmailAddress)
+#: share/html/Admin/Elements/ShowKeyInfo:86
 msgid "GnuPG public key(s) for %1"
 msgstr ""
 
@@ -3147,7 +3408,14 @@
 msgid "Go"
 msgstr "Vai"
 
-#: share/html/Admin/CustomFields/index.html:89 share/html/Admin/Groups/index.html:83 share/html/Admin/Queues/People.html:82 share/html/Admin/Queues/People.html:86 share/html/Admin/Queues/index.html:73 share/html/Admin/Users/index.html:90 share/html/Approvals/index.html:54 share/html/Elements/RefreshHomepage:51 share/html/Ticket/Elements/EditPeople:55 share/html/Ticket/Elements/EditPeople:59 share/html/Tools/Offline.html:90
+#: share/html/Admin/CustomFields/index.html:89
+#: share/html/Admin/Groups/index.html:83
+#: share/html/Admin/Queues/People.html:82
+#: share/html/Admin/Queues/People.html:86
+#: share/html/Admin/Queues/index.html:73 share/html/Admin/Users/index.html:90
+#: share/html/Approvals/index.html:54 share/html/Elements/RefreshHomepage:51
+#: share/html/Ticket/Elements/EditPeople:55
+#: share/html/Ticket/Elements/EditPeople:59 share/html/Tools/Offline.html:90
 msgid "Go!"
 msgstr "Vai!"
 
@@ -3159,7 +3427,8 @@
 msgid "Goto page"
 msgstr "Vai a pagina"
 
-#: share/html/Elements/GotoTicket:49 share/html/SelfService/Elements/GotoTicket:49
+#: share/html/Elements/GotoTicket:49
+#: share/html/SelfService/Elements/GotoTicket:49
 msgid "Goto ticket"
 msgstr "Vai al ticket"
 
@@ -3167,7 +3436,8 @@
 msgid "Grand"
 msgstr "Grand"
 
-#: share/html/Ticket/Elements/ShowSummary:99 share/html/Ticket/ModifyLinks.html:61
+#: share/html/Ticket/Elements/ShowSummary:99
+#: share/html/Ticket/ModifyLinks.html:61
 msgid "Graph"
 msgstr ""
 
@@ -3179,7 +3449,9 @@
 msgid "Graphical charts are not available."
 msgstr ""
 
-#: share/html/Ticket/Elements/AddWatchers:69 share/html/Ticket/Elements/ShowGroupMembers:57 share/html/User/Elements/DelegateRights:101
+#: share/html/Ticket/Elements/AddWatchers:69
+#: share/html/Ticket/Elements/ShowGroupMembers:57
+#: share/html/User/Elements/DelegateRights:101
 msgid "Group"
 msgstr "Gruppo"
 
@@ -3187,12 +3459,16 @@
 msgid "Group %1 %2: %3"
 msgstr "Gruppo %1 %2: %3"
 
-#: share/html/Admin/Elements/CustomFieldTabs:70 share/html/Admin/Elements/GroupTabs:68 share/html/Admin/Elements/QueueTabs:84 share/html/Admin/Elements/SystemTabs:67 share/html/Admin/Global/index.html:70
+#: share/html/Admin/Elements/CustomFieldTabs:70
+#: share/html/Admin/Elements/GroupTabs:68
+#: share/html/Admin/Elements/QueueTabs:84
+#: share/html/Admin/Elements/SystemTabs:67
+#: share/html/Admin/Global/index.html:70
 msgid "Group Rights"
 msgstr "Diritti di gruppo"
 
-#: lib/RT/Group_Overlay.pm:979
 #. ($new_member_obj->Object->Name)
+#: lib/RT/Group_Overlay.pm:979
 msgid "Group already has member: %1"
 msgstr "Appartiene già al gruppo: %1"
 
@@ -3200,8 +3476,8 @@
 msgid "Group could not be created."
 msgstr "Impossibile creare il gruppo."
 
-#: share/html/Admin/Groups/Modify.html:115
 #. ($create_msg)
+#: share/html/Admin/Groups/Modify.html:115
 msgid "Group could not be created: %1"
 msgstr "Impossibile creare il gruppo: %1"
 
@@ -3221,7 +3497,9 @@
 msgid "Group has no such member"
 msgstr "Non appartiene al gruppo"
 
-#: lib/RT/Group_Overlay.pm:959 lib/RT/Queue_Overlay.pm:789 lib/RT/Queue_Overlay.pm:864 lib/RT/Ticket_Overlay.pm:1113 lib/RT/Ticket_Overlay.pm:1193
+#: lib/RT/Group_Overlay.pm:959 lib/RT/Queue_Overlay.pm:789
+#: lib/RT/Queue_Overlay.pm:864 lib/RT/Ticket_Overlay.pm:1113
+#: lib/RT/Ticket_Overlay.pm:1193
 msgid "Group not found"
 msgstr "Gruppo non trovato"
 
@@ -3233,13 +3511,21 @@
 msgid "Group not specified.\\n"
 msgstr "Gruppo non specificato.\\n"
 
-#: lib/RT/CustomField_Overlay.pm:1103 share/html/Admin/Elements/GlobalCustomFieldTabs:63 share/html/Admin/Elements/SelectNewGroupMembers:60 share/html/Admin/Elements/Tabs:58 share/html/Admin/Global/CustomFields/index.html:71 share/html/Admin/Groups/Members.html:87 share/html/Admin/Queues/People.html:108 share/html/Admin/index.html:63 share/html/User/Groups/Members.html:90
+#: lib/RT/CustomField_Overlay.pm:1103
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:63
+#: share/html/Admin/Elements/SelectNewGroupMembers:60
+#: share/html/Admin/Elements/Tabs:58
+#: share/html/Admin/Global/CustomFields/index.html:71
+#: share/html/Admin/Groups/Members.html:87
+#: share/html/Admin/Queues/People.html:108 share/html/Admin/index.html:63
+#: share/html/User/Groups/Members.html:90
 msgid "Groups"
 msgstr "Gruppi"
 
 #: lib/RT/Group_Overlay.pm:985
 msgid "Groups can't be members of their members"
-msgstr "I gruppi non possono appartenere a gruppi che sono già loro appartenenti"
+msgstr ""
+"I gruppi non possono appartenere a gruppi che sono già loro appartenenti"
 
 #: share/html/Admin/Groups/index.html:96
 msgid "Groups matching search criteria"
@@ -3265,26 +3551,29 @@
 msgid "Heading of a forwarded message"
 msgstr ""
 
-#: lib/RT/Interface/CLI.pm:95 lib/RT/Interface/CLI.pm:95
+#: lib/RT/Interface/CLI.pm:95
 msgid "Hello!"
 msgstr "Ciao!"
 
-#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:765
 #. ($name)
+#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:765
 msgid "Hello, %1"
 msgstr "Ciao, %1"
 
-#: share/html/Admin/Elements/GroupTabs:72 share/html/Admin/Elements/UserTabs:66 share/html/Ticket/Elements/ShowHistory:55 share/html/Ticket/Elements/Tabs:122
+#: share/html/Admin/Elements/GroupTabs:72
+#: share/html/Admin/Elements/UserTabs:66
+#: share/html/Ticket/Elements/ShowHistory:55
+#: share/html/Ticket/Elements/Tabs:122
 msgid "History"
 msgstr "Cronologia"
 
-#: share/html/Admin/Groups/History.html:64
 #. ($GroupObj->Name)
+#: share/html/Admin/Groups/History.html:64
 msgid "History of the group %1"
 msgstr "Cronologia del gruppo %1"
 
-#: share/html/Admin/Users/History.html:64
 #. ($UserObj->Name)
+#: share/html/Admin/Users/History.html:64
 msgid "History of the user %1"
 msgstr "Cronologia dell'utente %1"
 
@@ -3302,10 +3591,10 @@
 
 #: share/html/Elements/SelectTimeUnits:50
 msgid "Hours"
-msgstr ""
+msgstr "Ore"
 
-#: lib/RT/Base.pm:136
 #. (6)
+#: lib/RT/Base.pm:136
 msgid "I have %quant(%1,concrete mixer)."
 msgstr "Ho %quant(%1,concrete mixer)."
 
@@ -3326,8 +3615,11 @@
 msgstr "Identità"
 
 #: etc/initialdata:490
-msgid "If an approval is rejected, reject the original and delete pending approvals"
-msgstr "Se un'approvazione viene negata, respingi l'originale e elimina le approvazioni accodate"
+msgid ""
+"If an approval is rejected, reject the original and delete pending approvals"
+msgstr ""
+"Se un'approvazione viene negata, respingi l'originale e elimina le "
+"approvazioni accodate"
 
 #: share/html/Tools/Offline.html:75
 msgid "If no Requestor is specified, create tickets with this requestor."
@@ -3338,10 +3630,15 @@
 msgstr "(per i nuovi ticket in cui non viene specificata una coda)"
 
 #: bin/rt-crontool:317
-msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
-msgstr "Se questo strumento viene ha il flag setgid, un utente locale malintenzionato potrebbe usarlo per ottenere accesso amministrativo a RT."
+msgid ""
+"If this tool were setgid, a hostile local user could use this tool to gain "
+"administrative access to RT."
+msgstr ""
+"Se questo strumento viene ha il flag setgid, un utente locale "
+"malintenzionato potrebbe usarlo per ottenere accesso amministrativo a RT."
 
-#: share/html/Admin/Queues/People.html:130 share/html/Ticket/Modify.html:65 share/html/Ticket/ModifyAll.html:131 share/html/Ticket/ModifyPeople.html:63
+#: share/html/Admin/Queues/People.html:130 share/html/Ticket/Modify.html:65
+#: share/html/Ticket/ModifyAll.html:131 share/html/Ticket/ModifyPeople.html:63
 msgid "If you've updated anything above, be sure to"
 msgstr "Se hai aggiornato qualche impostazione, assicurati di premere"
 
@@ -3398,7 +3695,9 @@
 msgstr ""
 
 #: etc/initialdata:364 etc/upgrade/3.7.10/content:6
-msgid "Inform user that he has problems with public key and couldn't recieve encrypted content"
+msgid ""
+"Inform user that he has problems with public key and couldn't recieve "
+"encrypted content"
 msgstr ""
 
 #: etc/initialdata:410
@@ -3406,7 +3705,9 @@
 msgstr ""
 
 #: etc/initialdata:386 etc/upgrade/3.7.10/content:28
-msgid "Inform user that we received an encrypted email and we have no private keys to decrypt"
+msgid ""
+"Inform user that we received an encrypted email and we have no private keys "
+"to decrypt"
 msgstr ""
 
 #: lib/RT/Tickets_Overlay.pm:1865 share/html/Search/Elements/PickBasics:187
@@ -3425,11 +3726,12 @@
 msgid "Input error"
 msgstr "Errore in input"
 
-#: lib/RT/CustomField_Overlay.pm:1055 lib/RT/CustomField_Overlay.pm:919 share/html/Elements/ValidateCustomFields:87
 #. ($CF->FriendlyPattern)
 #. ($self->FriendlyPattern)
+#: lib/RT/CustomField_Overlay.pm:1055 lib/RT/CustomField_Overlay.pm:919
+#: share/html/Elements/ValidateCustomFields:87
 msgid "Input must match %1"
-msgstr ""
+msgstr "L'Input deve corrispondere con %1"
 
 #: share/html/Install/Elements/Wrapper:51
 msgid "Install RT"
@@ -3443,8 +3745,8 @@
 msgid "Internal Error"
 msgstr "Errore interno"
 
-#: lib/RT/Record.pm:294
 #. ($id->{error_message})
+#: lib/RT/Record.pm:294
 msgid "Internal Error: %1"
 msgstr "Errore interno: %1"
 
@@ -3476,8 +3778,8 @@
 msgid "Invalid owner. Defaulting to 'nobody'."
 msgstr "Incaricato non valido. Uso il default 'nessuno'."
 
-#: lib/RT/CustomField_Overlay.pm:206 lib/RT/CustomField_Overlay.pm:580
 #. ($msg)
+#: lib/RT/CustomField_Overlay.pm:206 lib/RT/CustomField_Overlay.pm:580
 msgid "Invalid pattern: %1"
 msgstr ""
 
@@ -3489,13 +3791,13 @@
 msgid "Invalid right"
 msgstr "Diritto non valido"
 
-#: lib/RT/ACE_Overlay.pm:261
 #. ($args{'RightName'})
+#: lib/RT/ACE_Overlay.pm:261
 msgid "Invalid right. Couldn't canonicalize right '%1'"
 msgstr ""
 
-#: lib/RT/Record.pm:269
 #. ($key)
+#: lib/RT/Record.pm:269
 msgid "Invalid value for %1"
 msgstr "Valore non valido per %1"
 
@@ -3512,12 +3814,20 @@
 msgstr ""
 
 #: bin/rt-crontool:318
-msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
-msgstr "È estremamente importante che agli utenti non previlegiati non sia consentita l'esecuzione di questo strumento."
+msgid ""
+"It is incredibly important that nonprivileged users not be allowed to run "
+"this tool."
+msgstr ""
+"È estremamente importante che agli utenti non previlegiati non sia "
+"consentita l'esecuzione di questo strumento."
 
 #: bin/rt-crontool:319
-msgid "It is suggested that you create a non-privileged unix user with the correct group membership and RT access to run this tool."
-msgstr "Per eseguire questo strumento, si suggerisce di creare un utente unix non privilegiato appartenente al gruppo corretto e con i necessari diritti in RT."
+msgid ""
+"It is suggested that you create a non-privileged unix user with the correct "
+"group membership and RT access to run this tool."
+msgstr ""
+"Per eseguire questo strumento, si suggerisce di creare un utente unix non "
+"privilegiato appartenente al gruppo corretto e con i necessari diritti in RT."
 
 #: bin/rt-crontool:281
 msgid "It takes several arguments:"
@@ -3561,7 +3871,7 @@
 
 #: share/html/Ticket/Elements/Tabs:143
 msgid "Jumbo"
-msgstr "Jumbo"
+msgstr "Azioni"
 
 #: lib/RT/Date.pm:93
 msgid "Jun"
@@ -3595,7 +3905,8 @@
 msgid "Last"
 msgstr "Ultimo"
 
-#: share/html/Ticket/Elements/EditDates:61 share/html/Ticket/Elements/ShowDates:62
+#: share/html/Ticket/Elements/EditDates:61
+#: share/html/Ticket/Elements/ShowDates:62
 msgid "Last Contact"
 msgstr "Ultima comunicazione a richiedenti"
 
@@ -3644,7 +3955,9 @@
 msgstr ""
 
 #: lib/RT/Config.pm:150
-msgid "Length in characters; Use '0' to show all messages inline, regardless of length"
+msgid ""
+"Length in characters; Use '0' to show all messages inline, regardless of "
+"length"
 msgstr ""
 
 #: share/html/Admin/Users/Modify.html:111
@@ -3679,13 +3992,13 @@
 msgid "Link could not be created"
 msgstr "Il collegamento non può essere creato"
 
-#: lib/RT/Record.pm:1253
 #. ($TransString)
+#: lib/RT/Record.pm:1253
 msgid "Link created (%1)"
 msgstr "Collegamento creato (%1)"
 
-#: lib/RT/Record.pm:1314
 #. ($TransString)
+#: lib/RT/Record.pm:1314
 msgid "Link deleted (%1)"
 msgstr "Collegamento cancellato (%1)"
 
@@ -3693,8 +4006,8 @@
 msgid "Link not found"
 msgstr "Collegamento non trovato"
 
-#: share/html/Ticket/ModifyLinks.html:48 share/html/Ticket/ModifyLinks.html:52
 #. ($Ticket->Id)
+#: share/html/Ticket/ModifyLinks.html:48 share/html/Ticket/ModifyLinks.html:52
 msgid "Link ticket #%1"
 msgstr "Collega ticket n°%1"
 
@@ -3704,7 +4017,7 @@
 
 #: share/html/Admin/CustomFields/Modify.html:93
 msgid "Link values to"
-msgstr ""
+msgstr "Collega valori a"
 
 #: NOT FOUND IN SOURCE
 msgid "LinkedTo"
@@ -3712,9 +4025,11 @@
 
 #: lib/RT/Ticket_Overlay.pm:604
 msgid "Linking. Permission denied"
-msgstr ""
+msgstr "Collegamento. Permesso negato"
 
-#: share/html/Ticket/Create.html:226 share/html/Ticket/Elements/ShowSummary:100 share/html/Ticket/Elements/Tabs:139 share/html/Ticket/ModifyAll.html:81
+#: share/html/Ticket/Create.html:226
+#: share/html/Ticket/Elements/ShowSummary:100
+#: share/html/Ticket/Elements/Tabs:139 share/html/Ticket/ModifyAll.html:81
 msgid "Links"
 msgstr "Collegamenti"
 
@@ -3730,13 +4045,13 @@
 msgid "LoadSavedSearch"
 msgstr "CaricaRicercheSalvate"
 
-#: lib/RT/SharedSetting.pm:103
 #. ($self->ObjectName, $self->Name)
+#: lib/RT/SharedSetting.pm:103
 msgid "Loaded %1 %2"
 msgstr ""
 
-#: share/html/Search/Elements/EditSearches:166
 #. ($SavedSearch->{'Description'})
+#: share/html/Search/Elements/EditSearches:166
 msgid "Loaded original \"%1\" saved search"
 msgstr ""
 
@@ -3744,8 +4059,8 @@
 msgid "Loaded perl modules"
 msgstr "Moduli perl caricati"
 
-#: share/html/Search/Elements/EditSearches:168
 #. ($SavedSearch->{'Description'})
+#: share/html/Search/Elements/EditSearches:168
 msgid "Loaded saved search \"%1\""
 msgstr ""
 
@@ -3763,18 +4078,23 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Log directory %1 not found or couldn't be written.\\n RT can't run."
-msgstr "Impossibile trovare la directory di log %1 (oppure mancano i permessi di scrittura).\\n RT non può essere eseguito."
+msgstr ""
+"Impossibile trovare la directory di log %1 (oppure mancano i permessi di "
+"scrittura).\\n RT non può essere eseguito."
 
-#: share/html/Elements/Header:89
 #. ("<span>".$session{'CurrentUser'}->Name."</span>")
+#: share/html/Elements/Header:89
 msgid "Logged in as %1"
 msgstr "Accesso effettuato come %1"
 
 #: share/html/NoAuth/Logout.html:54
+#, fuzzy
 msgid "Logged out"
-msgstr ""
+msgstr "Esci"
 
-#: docs/design_docs/string-extraction-guide.txt:71 lib/RT/StyleGuide.pod:789 share/html/Elements/Login:102 share/html/Elements/Login:70 share/html/Elements/Login:86
+#: docs/design_docs/string-extraction-guide.txt:71 lib/RT/StyleGuide.pod:789
+#: share/html/Elements/Login:102 share/html/Elements/Login:70
+#: share/html/Elements/Login:86
 msgid "Login"
 msgstr "Accedi"
 
@@ -3848,7 +4168,8 @@
 
 #: share/html/Admin/index.html:81
 msgid "Manage properties and configuration which apply to all queues"
-msgstr "Gestione di proprietà e configurazioni che si applicano a tutte le code"
+msgstr ""
+"Gestione di proprietà e configurazioni che si applicano a tutte le code"
 
 #: share/html/Admin/index.html:70
 msgid "Manage queues and queue-specific properties"
@@ -3894,18 +4215,18 @@
 msgid "May."
 msgstr "Mag."
 
-#: lib/RT/Transaction_Overlay.pm:720
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:720
 msgid "Member %1 added"
 msgstr "Aggiunto appartenente %1"
 
-#: lib/RT/Transaction_Overlay.pm:760
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:760
 msgid "Member %1 deleted"
 msgstr "Rimosso appartenente %1"
 
-#: lib/RT/Group_Overlay.pm:996
 #. ($new_member_obj->Object->Name)
+#: lib/RT/Group_Overlay.pm:996
 msgid "Member added: %1"
 msgstr "Aggiunto appartenente: %1"
 
@@ -3925,17 +4246,18 @@
 msgid "MemberOf"
 msgstr "AppartenteA"
 
-#: share/html/Admin/Elements/GroupTabs:65 share/html/User/Elements/GroupTabs:65
+#: share/html/Admin/Elements/GroupTabs:65
+#: share/html/User/Elements/GroupTabs:65
 msgid "Members"
 msgstr "Appartenenti"
 
-#: lib/RT/Transaction_Overlay.pm:717
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:717
 msgid "Membership in %1 added"
 msgstr "Aggiunta appartenenza al gruppo %1"
 
-#: lib/RT/Transaction_Overlay.pm:757
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:757
 msgid "Membership in %1 deleted"
 msgstr "Rimossa appartenenza al gruppo %1"
 
@@ -3943,8 +4265,8 @@
 msgid "Memberships"
 msgstr "Appartenenza a gruppi"
 
-#: share/html/Admin/Users/Memberships.html:96
 #. ($UserObj->Name)
+#: share/html/Admin/Users/Memberships.html:96
 msgid "Memberships of the user %1"
 msgstr "Appartenenza a gruppi per l'utente %1"
 
@@ -3964,8 +4286,8 @@
 msgid "Merge into"
 msgstr "Unisci a"
 
-#: lib/RT/Transaction_Overlay.pm:723
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:723
 msgid "Merged into %1"
 msgstr "Unito a %1"
 
@@ -3976,6 +4298,8 @@
 #: share/html/Ticket/Elements/ShowTransactionAttachments:143
 msgid "Message body not shown because it is too large or is not plain text."
 msgstr ""
+"Il corpo del messaggio non viene mostrato perchè troppo grande o non in "
+"formato testo."
 
 #: lib/RT/Config.pm:140
 msgid "Message box height"
@@ -4007,7 +4331,7 @@
 
 #: share/html/Elements/SelectTimeUnits:49
 msgid "Minutes"
-msgstr ""
+msgstr "Minuti"
 
 #: NOT FOUND IN SOURCE
 msgid "Mismatched parentheses"
@@ -4033,13 +4357,13 @@
 msgid "Modify Custom Field %1"
 msgstr "Modifica il campo personalizzato %1"
 
-#: share/html/Admin/Elements/ObjectCustomFields:98
 #. (loc(lc($FriendlySubTypes)), loc(lc($Types)))
+#: share/html/Admin/Elements/ObjectCustomFields:98
 msgid "Modify Custom Fields which apply to %1 for all %2"
 msgstr "Modifica campi personalizzati applicabili a %1 per ogni %2"
 
-#: share/html/Admin/Elements/ObjectCustomFields:100
 #. (loc(lc($Types)))
+#: share/html/Admin/Elements/ObjectCustomFields:100
 msgid "Modify Custom Fields which apply to all %1"
 msgstr "Modifica i campi personalizzati applicabili a tutti %1"
 
@@ -4047,11 +4371,14 @@
 msgid "Modify Custom Fields which apply to all queues"
 msgstr "Modifica i Campi Personalizzati validi per tutte le code"
 
-#: share/html/Admin/Global/GroupRights.html:108 share/html/Admin/Groups/GroupRights.html:96 share/html/Admin/Queues/GroupRights.html:109
+#: share/html/Admin/Global/GroupRights.html:108
+#: share/html/Admin/Groups/GroupRights.html:96
+#: share/html/Admin/Queues/GroupRights.html:109
 msgid "Modify Group Rights"
 msgstr "Modifica diritti del gruppo"
 
-#: share/html/Admin/Groups/Members.html:107 share/html/User/Groups/Members.html:103
+#: share/html/Admin/Groups/Members.html:107
+#: share/html/User/Groups/Members.html:103
 msgid "Modify Members"
 msgstr "Modifica appartenenti al gruppo"
 
@@ -4075,12 +4402,14 @@
 msgid "Modify Template %1"
 msgstr "Modifica il modello %1"
 
-#: share/html/Admin/Global/UserRights.html:73 share/html/Admin/Groups/UserRights.html:74 share/html/Admin/Queues/UserRights.html:75
+#: share/html/Admin/Global/UserRights.html:73
+#: share/html/Admin/Groups/UserRights.html:74
+#: share/html/Admin/Queues/UserRights.html:75
 msgid "Modify User Rights"
 msgstr "Modifica diritti utente"
 
-#: share/html/Admin/Queues/CustomField.html:68
 #. ($QueueObj->Name())
+#: share/html/Admin/Queues/CustomField.html:68
 msgid "Modify a CustomField for queue %1"
 msgstr "Modifica un campo personalizzato per la coda %1"
 
@@ -4088,8 +4417,8 @@
 msgid "Modify a CustomField which applies to all queues"
 msgstr "Modifica un campo personalizzato valido per tutte le code"
 
-#: share/html/Admin/Queues/Scrip.html:84
 #. ($QueueObj->Name)
+#: share/html/Admin/Queues/Scrip.html:84
 msgid "Modify a scrip for queue %1"
 msgstr "Modifica uno scrip per la coda %1"
 
@@ -4097,8 +4426,8 @@
 msgid "Modify a scrip which applies to all queues"
 msgstr "Modifica uno scrip valido per tutte le code"
 
-#: share/html/Admin/CustomFields/Objects.html:92
 #. ($CF->Name)
+#: share/html/Admin/CustomFields/Objects.html:92
 msgid "Modify associated objects for %1"
 msgstr "Modifica oggetti associati a %1"
 
@@ -4106,13 +4435,13 @@
 msgid "Modify dates for # %1"
 msgstr "Modifica le date per n° %1"
 
-#: share/html/Ticket/ModifyDates.html:48 share/html/Ticket/ModifyDates.html:52
 #. ($TicketObj->Id)
+#: share/html/Ticket/ModifyDates.html:48 share/html/Ticket/ModifyDates.html:52
 msgid "Modify dates for #%1"
 msgstr "Modifica le date per n°%1"
 
-#: share/html/Ticket/ModifyDates.html:60
 #. ($TicketObj->Id)
+#: share/html/Ticket/ModifyDates.html:60
 msgid "Modify dates for ticket # %1"
 msgstr "Modifica le date per il ticket n° %1"
 
@@ -4120,7 +4449,9 @@
 msgid "Modify global custom fields"
 msgstr "Modifica campi personalizzati globali"
 
-#: share/html/Admin/Global/GroupRights.html:48 share/html/Admin/Global/GroupRights.html:51 share/html/Admin/Global/index.html:71
+#: share/html/Admin/Global/GroupRights.html:48
+#: share/html/Admin/Global/GroupRights.html:51
+#: share/html/Admin/Global/index.html:71
 msgid "Modify global group rights"
 msgstr "Modifica i diritti di gruppo globali"
 
@@ -4140,7 +4471,9 @@
 msgid "Modify global scrips"
 msgstr "Modifica gli scrips globali"
 
-#: share/html/Admin/Global/UserRights.html:48 share/html/Admin/Global/UserRights.html:51 share/html/Admin/Global/index.html:75
+#: share/html/Admin/Global/UserRights.html:48
+#: share/html/Admin/Global/UserRights.html:51
+#: share/html/Admin/Global/index.html:75
 msgid "Modify global user rights"
 msgstr "Modifica i diritti globali per gli utenti"
 
@@ -4152,18 +4485,21 @@
 msgid "Modify group metadata or delete group"
 msgstr "Modifica i metadati del gruppo o elimina un gruppo"
 
-#: share/html/Admin/CustomFields/GroupRights.html:108
 #. ($CustomFieldObj->Name)
+#: share/html/Admin/CustomFields/GroupRights.html:108
 msgid "Modify group rights for custom field %1"
 msgstr "Modifica i diritti di gruppo per il campo personalizzato %1"
 
-#: share/html/Admin/Groups/GroupRights.html:48 share/html/Admin/Groups/GroupRights.html:52 share/html/Admin/Groups/GroupRights.html:58
 #. ($GroupObj->Name)
+#: share/html/Admin/Groups/GroupRights.html:48
+#: share/html/Admin/Groups/GroupRights.html:52
+#: share/html/Admin/Groups/GroupRights.html:58
 msgid "Modify group rights for group %1"
 msgstr "Modifica i diritti di gruppo per il gruppo %1"
 
-#: share/html/Admin/Queues/GroupRights.html:48 share/html/Admin/Queues/GroupRights.html:52
 #. ($QueueObj->Name)
+#: share/html/Admin/Queues/GroupRights.html:48
+#: share/html/Admin/Queues/GroupRights.html:52
 msgid "Modify group rights for queue %1"
 msgstr "Modifica i diritti di gruppo per la coda %1"
 
@@ -4175,28 +4511,33 @@
 msgid "Modify one's own RT account"
 msgstr "Modifica il proprio account RT"
 
-#: share/html/Admin/Queues/People.html:48 share/html/Admin/Queues/People.html:52
 #. ($QueueObj->Name)
+#: share/html/Admin/Queues/People.html:48
+#: share/html/Admin/Queues/People.html:52
 msgid "Modify people related to queue %1"
 msgstr "Modifica le persone collegate alla coda %1"
 
-#: share/html/Ticket/ModifyPeople.html:48 share/html/Ticket/ModifyPeople.html:52 share/html/Ticket/ModifyPeople.html:60
 #. ($Ticket->id)
 #. ($Ticket->Id)
+#: share/html/Ticket/ModifyPeople.html:48
+#: share/html/Ticket/ModifyPeople.html:52
+#: share/html/Ticket/ModifyPeople.html:60
 msgid "Modify people related to ticket #%1"
 msgstr "Modifica le persone collegate al ticket n°%1"
 
-#: share/html/Admin/Queues/Scrips.html:69
 #. ($QueueObj->Name)
+#: share/html/Admin/Queues/Scrips.html:69
 msgid "Modify scrips for queue %1"
 msgstr "Modifica gli scrips per la coda %1"
 
-#: share/html/Admin/Global/Scrips.html:67 share/html/Admin/Global/index.html:57
+#: share/html/Admin/Global/Scrips.html:67
+#: share/html/Admin/Global/index.html:57
 msgid "Modify scrips which apply to all queues"
 msgstr "Modifica gli scrips validi per tutte le code"
 
-#: share/html/Admin/Global/Template.html:100 share/html/Admin/Queues/Template.html:101
 #. (loc($TemplateObj->Name()))
+#: share/html/Admin/Global/Template.html:100
+#: share/html/Admin/Queues/Template.html:101
 msgid "Modify template %1"
 msgstr "Modifica modello %1"
 
@@ -4204,22 +4545,23 @@
 msgid "Modify templates which apply to all queues"
 msgstr "Modifica i modelli validi per tutte le code"
 
-#: share/html/Dashboards/Modify.html:122
 #. ($Dashboard->Name)
+#: share/html/Dashboards/Modify.html:122
 msgid "Modify the dashboard %1"
 msgstr ""
 
 #: share/html/Admin/Global/index.html:79
 msgid "Modify the default \"RT at a glance\" view"
-msgstr ""
+msgstr "Modifca il quadro di insieme di default"
 
-#: share/html/Admin/Groups/Modify.html:125 share/html/User/Groups/Modify.html:109
 #. ($Group->Name)
+#: share/html/Admin/Groups/Modify.html:125
+#: share/html/User/Groups/Modify.html:109
 msgid "Modify the group %1"
 msgstr "Modifica il gruppo %1"
 
-#: share/html/Dashboards/Queries.html:88
 #. ($Dashboard->Name)
+#: share/html/Dashboards/Queries.html:88
 msgid "Modify the queries of dashboard %1"
 msgstr ""
 
@@ -4227,23 +4569,24 @@
 msgid "Modify the queue watchers"
 msgstr "Modifica gli osservatori della coda"
 
-#: share/html/Dashboards/Subscription.html:265
 #. ($DashboardObj->Name)
+#: share/html/Dashboards/Subscription.html:265
 msgid "Modify the subscription to dashboard %1"
 msgstr ""
 
-#: share/html/Admin/Users/Modify.html:315
 #. ($UserObj->Name)
+#: share/html/Admin/Users/Modify.html:315
 msgid "Modify the user %1"
 msgstr "Modifica l'utente %1"
 
-#: share/html/Ticket/ModifyAll.html:61
 #. ($Ticket->Id)
+#: share/html/Ticket/ModifyAll.html:61
 msgid "Modify ticket # %1"
 msgstr "Modifica il ticket n° %1"
 
-#: share/html/Ticket/Modify.html:48 share/html/Ticket/Modify.html:51 share/html/Ticket/Modify.html:60
 #. ($TicketObj->Id)
+#: share/html/Ticket/Modify.html:48 share/html/Ticket/Modify.html:51
+#: share/html/Ticket/Modify.html:60
 msgid "Modify ticket #%1"
 msgstr "Modifica il ticket n°%1"
 
@@ -4251,18 +4594,21 @@
 msgid "Modify tickets"
 msgstr "Modifica i ticket"
 
-#: share/html/Admin/CustomFields/UserRights.html:99
 #. ($CustomFieldObj->Name)
+#: share/html/Admin/CustomFields/UserRights.html:99
 msgid "Modify user rights for custom field %1"
 msgstr "Modifica i diritti utente per il il campo personalizzato %1"
 
-#: share/html/Admin/Groups/UserRights.html:48 share/html/Admin/Groups/UserRights.html:52 share/html/Admin/Groups/UserRights.html:58
 #. ($GroupObj->Name)
+#: share/html/Admin/Groups/UserRights.html:48
+#: share/html/Admin/Groups/UserRights.html:52
+#: share/html/Admin/Groups/UserRights.html:58
 msgid "Modify user rights for group %1"
 msgstr "Modifica i diritti utente per il gruppo %1"
 
-#: share/html/Admin/Queues/UserRights.html:48 share/html/Admin/Queues/UserRights.html:52
 #. ($QueueObj->Name)
+#: share/html/Admin/Queues/UserRights.html:48
+#: share/html/Admin/Queues/UserRights.html:52
 msgid "Modify user rights for queue %1"
 msgstr "Modifica i diritti utente per la coda %1"
 
@@ -4314,8 +4660,8 @@
 msgid "Mon."
 msgstr "Lun."
 
-#: share/html/Ticket/Elements/ShowRequestor:64
 #. ($name)
+#: share/html/Ticket/Elements/ShowRequestor:64
 msgid "More about %1"
 msgstr "Maggiori informazioni su %1"
 
@@ -4335,8 +4681,8 @@
 msgid "Must specify 'Name' attribute"
 msgstr "L'attributo 'name' deve essere specificato"
 
-#: share/html/SelfService/Elements/MyRequests:82
 #. ($friendly_status)
+#: share/html/SelfService/Elements/MyRequests:82
 msgid "My %1 tickets"
 msgstr "I miei ticket in stato: %1"
 
@@ -4350,7 +4696,7 @@
 
 #: share/html/Tools/Elements/Tabs:65
 msgid "My Day"
-msgstr ""
+msgstr "Giornata"
 
 #: share/html/Approvals/index.html:48 share/html/Approvals/index.html:49
 msgid "My approvals"
@@ -4360,7 +4706,9 @@
 msgid "My dashboards"
 msgstr ""
 
-#: share/html/Search/Elements/SearchPrivacy:52 share/html/Search/Elements/SelectSearchObject:63 share/html/Search/Elements/SelectSearchesForObjects:56
+#: share/html/Search/Elements/SearchPrivacy:52
+#: share/html/Search/Elements/SelectSearchObject:63
+#: share/html/Search/Elements/SelectSearchesForObjects:56
 msgid "My saved searches"
 msgstr "Le mie ricerche salvate"
 
@@ -4368,7 +4716,15 @@
 msgid "MySQL"
 msgstr ""
 
-#: share/html/Admin/CustomFields/Modify.html:61 share/html/Admin/Elements/AddCustomFieldValue:54 share/html/Admin/Elements/EditCustomField:57 share/html/Admin/Elements/EditCustomFieldValues:58 share/html/Admin/Elements/ModifyTemplate:51 share/html/Admin/Groups/Modify.html:67 share/html/Dashboards/Elements/ShowDashboards:56 share/html/Dashboards/Modify.html:65 share/html/Search/Bulk.html:165 share/html/User/Groups/Modify.html:67
+#: share/html/Admin/CustomFields/Modify.html:61
+#: share/html/Admin/Elements/AddCustomFieldValue:54
+#: share/html/Admin/Elements/EditCustomField:57
+#: share/html/Admin/Elements/EditCustomFieldValues:58
+#: share/html/Admin/Elements/ModifyTemplate:51
+#: share/html/Admin/Groups/Modify.html:67
+#: share/html/Dashboards/Elements/ShowDashboards:56
+#: share/html/Dashboards/Modify.html:65 share/html/Search/Bulk.html:165
+#: share/html/User/Groups/Modify.html:67
 msgid "Name"
 msgstr "Nome"
 
@@ -4408,8 +4764,8 @@
 msgid "New Search"
 msgstr "Nuova Ricerca"
 
-#: share/html/Tools/MyDay.html:53
 #. ($session{'CurrentUser'}->Name)
+#: share/html/Tools/MyDay.html:53
 msgid "New and open tickets for %1"
 msgstr ""
 
@@ -4425,7 +4781,8 @@
 msgid "New group"
 msgstr "Nuovo gruppo"
 
-#: share/html/Elements/RT__Ticket/ColumnMap:221 share/html/Ticket/Elements/ShowUpdateStatus:49
+#: share/html/Elements/RT__Ticket/ColumnMap:221
+#: share/html/Ticket/Elements/ShowUpdateStatus:49
 msgid "New messages"
 msgstr ""
 
@@ -4443,7 +4800,7 @@
 
 #: share/html/Ticket/Elements/Reminders:120
 msgid "New reminder:"
-msgstr ""
+msgstr "Nuovo promemoria"
 
 #: NOT FOUND IN SOURCE
 msgid "New request"
@@ -4453,7 +4810,10 @@
 msgid "New rights"
 msgstr "Nuovi diritti"
 
-#: share/html/Admin/Global/Scrip.html:65 share/html/Admin/Global/Scrips.html:62 share/html/Admin/Queues/Scrip.html:73 share/html/Admin/Queues/Scrips.html:78
+#: share/html/Admin/Global/Scrip.html:65
+#: share/html/Admin/Global/Scrips.html:62
+#: share/html/Admin/Queues/Scrip.html:73
+#: share/html/Admin/Queues/Scrips.html:78
 msgid "New scrip"
 msgstr "Nuovo scrip"
 
@@ -4461,11 +4821,15 @@
 msgid "New search"
 msgstr "Nuova ricerca"
 
-#: share/html/Admin/Global/Template.html:80 share/html/Admin/Global/Templates.html:62 share/html/Admin/Queues/Template.html:81 share/html/Admin/Queues/Templates.html:73
+#: share/html/Admin/Global/Template.html:80
+#: share/html/Admin/Global/Templates.html:62
+#: share/html/Admin/Queues/Template.html:81
+#: share/html/Admin/Queues/Templates.html:73
 msgid "New template"
 msgstr "Nuovo modello"
 
-#: share/html/SelfService/Elements/Tabs:87 share/html/SelfService/Elements/Tabs:91
+#: share/html/SelfService/Elements/Tabs:87
+#: share/html/SelfService/Elements/Tabs:91
 msgid "New ticket"
 msgstr "Nuovo ticket"
 
@@ -4481,7 +4845,8 @@
 msgid "New user called"
 msgstr "Nuovo utente di nome"
 
-#: share/html/Admin/Queues/People.html:78 share/html/Ticket/Elements/EditPeople:52
+#: share/html/Admin/Queues/People.html:78
+#: share/html/Ticket/Elements/EditPeople:52
 msgid "New watchers"
 msgstr "Nuovo osservatore"
 
@@ -4489,7 +4854,8 @@
 msgid "New window setting"
 msgstr "Impostazioni nuova finestra"
 
-#: share/html/Elements/CollectionListPaging:104 share/html/Helpers/CalPopup.html:60 share/html/Ticket/Elements/Tabs:98
+#: share/html/Elements/CollectionListPaging:104
+#: share/html/Helpers/CalPopup.html:60 share/html/Ticket/Elements/Tabs:98
 msgid "Next"
 msgstr "Seguente"
 
@@ -4537,12 +4903,13 @@
 msgid "Nickname"
 msgstr "Nomignolo"
 
-#: share/html/Elements/RT__Ticket/ColumnMap:223 share/html/Widgets/Form/Boolean:77
+#: share/html/Elements/RT__Ticket/ColumnMap:223
+#: share/html/Widgets/Form/Boolean:77
 msgid "No"
 msgstr ""
 
-#: lib/RT/SharedSetting.pm:201
 #. ($self->ObjectName)
+#: lib/RT/SharedSetting.pm:201
 msgid "No %1 loaded"
 msgstr ""
 
@@ -4550,7 +4917,8 @@
 msgid "No Class defined"
 msgstr "Nessuna classe definita"
 
-#: share/html/Admin/CustomFields/Modify.html:153 share/html/Admin/Elements/EditCustomField:121
+#: share/html/Admin/CustomFields/Modify.html:153
+#: share/html/Admin/Elements/EditCustomField:121
 msgid "No CustomField"
 msgstr "Nessun campo personalizzato"
 
@@ -4558,7 +4926,8 @@
 msgid "No CustomField defined"
 msgstr "Nessun campo personalizzato definito"
 
-#: share/html/Admin/Groups/GroupRights.html:107 share/html/Admin/Groups/UserRights.html:90
+#: share/html/Admin/Groups/GroupRights.html:107
+#: share/html/Admin/Groups/UserRights.html:90
 msgid "No Group defined"
 msgstr "Nessun gruppo definito"
 
@@ -4566,7 +4935,8 @@
 msgid "No Query"
 msgstr "Nessuna query"
 
-#: share/html/Admin/Queues/GroupRights.html:120 share/html/Admin/Queues/UserRights.html:89
+#: share/html/Admin/Queues/GroupRights.html:120
+#: share/html/Admin/Queues/UserRights.html:89
 msgid "No Queue defined"
 msgstr "Nessuna coda definita"
 
@@ -4574,7 +4944,8 @@
 msgid "No RT user found. Please consult your RT administrator.\\n"
 msgstr "Nessun utente RT trovato. Consulta il tuo amministratore di RT.\\n"
 
-#: share/html/Admin/Global/Template.html:98 share/html/Admin/Queues/Template.html:99
+#: share/html/Admin/Global/Template.html:98
+#: share/html/Admin/Queues/Template.html:99
 msgid "No Template"
 msgstr "Nessun Modello"
 
@@ -4606,8 +4977,9 @@
 msgid "No dashboards."
 msgstr ""
 
-#: lib/RT/Action.pm:183 lib/RT/Condition.pm:197 lib/RT/Search.pm:132 lib/RT/Search/ActiveTicketsInQueue.pm:75 lib/RT/Search/Googleish.pm:86
 #. (ref $self)
+#: lib/RT/Action.pm:183 lib/RT/Condition.pm:197 lib/RT/Search.pm:132
+#: lib/RT/Search/ActiveTicketsInQueue.pm:75 lib/RT/Search/Googleish.pm:86
 msgid "No description for %1"
 msgstr "Nessuna descrizione per %1"
 
@@ -4643,8 +5015,8 @@
 msgid "No permission to create queues"
 msgstr "Manca il permesso per creare code"
 
-#: lib/RT/Ticket_Overlay.pm:303 lib/RT/Ticket_Overlay.pm:824
 #. ($QueueObj->Name)
+#: lib/RT/Ticket_Overlay.pm:303 lib/RT/Ticket_Overlay.pm:824
 msgid "No permission to create tickets in the queue '%1'"
 msgstr "Manca il permesso per creare ticket nella coda '%1'"
 
@@ -4656,14 +5028,14 @@
 msgid "No permission to display that ticket"
 msgstr "Manca il permesso per visualizzare il ticket"
 
-#: lib/RT/SharedSetting.pm:168
 #. ($self->ObjectName)
+#: lib/RT/SharedSetting.pm:168
 msgid "No permission to save system-wide %1"
 msgstr ""
 
 #: share/html/Search/Elements/EditSearches:231
 msgid "No permission to save system-wide searches"
-msgstr ""
+msgstr "Manca il permesso per salvare ricerche a livello di sistema"
 
 #: lib/RT/User_Overlay.pm:1277
 msgid "No permission to set preferences"
@@ -4677,7 +5049,8 @@
 msgid "No principal specified"
 msgstr "Nessun utente/gruppo specificato"
 
-#: share/html/Admin/Queues/People.html:179 share/html/Admin/Queues/People.html:189
+#: share/html/Admin/Queues/People.html:179
+#: share/html/Admin/Queues/People.html:189
 msgid "No principals selected."
 msgstr "Nessun utente/gruppo selezionato."
 
@@ -4709,7 +5082,8 @@
 msgid "No search to operate on."
 msgstr "Nessuna ricerca su cui operare."
 
-#: share/html/Elements/RT__Ticket/ColumnMap:94 share/html/Search/Results.rdf:91
+#: share/html/Elements/RT__Ticket/ColumnMap:94
+#: share/html/Search/Results.rdf:91
 msgid "No subject"
 msgstr "Senza oggetto"
 
@@ -4742,8 +5116,12 @@
 msgstr "Nessuna utente soddisfa i criteri di ricerca."
 
 #: NOT FOUND IN SOURCE
-msgid "No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\\n"
-msgstr "No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\\n"
+msgid ""
+"No valid RT user found. RT cvs handler disengaged. Please consult your RT "
+"administrator.\\n"
+msgstr ""
+"No valid RT user found. RT cvs handler disengaged. Please consult your RT "
+"administrator.\\n"
 
 #: lib/RT/Record.pm:912
 msgid "No value sent to _Set!\\n"
@@ -4763,7 +5141,7 @@
 
 #: share/html/Search/Chart:149 share/html/Search/Elements/Chart:90
 msgid "Not Set"
-msgstr ""
+msgstr "Non impostato"
 
 #: lib/RT/CustomField_Overlay.pm:309
 msgid "Not found"
@@ -4835,15 +5213,21 @@
 
 #: etc/initialdata:334
 msgid "Notify Owner of their ticket has been approved by all approvers"
-msgstr "invia notifica all'incaricato del ticket che tutte le approvazioni sono state concesse"
+msgstr ""
+"invia notifica all'incaricato del ticket che tutte le approvazioni sono "
+"state concesse"
 
 #: etc/initialdata:322
 msgid "Notify Owner of their ticket has been approved by some approver"
-msgstr "invia notifica all'incaricato del ticket che alcune approvazioni sono state concesse"
+msgstr ""
+"invia notifica all'incaricato del ticket che alcune approvazioni sono state "
+"concesse"
 
 #: etc/initialdata:303
 msgid "Notify Owners and AdminCcs of new items pending their approval"
-msgstr "invia notifica agli incaricati e AdminCc quando è necessario richiedere nuove approvazione"
+msgstr ""
+"invia notifica agli incaricati e AdminCc quando è necessario richiedere "
+"nuove approvazione"
 
 #: etc/initialdata:32
 msgid "Notify Requestors"
@@ -4905,9 +5289,10 @@
 msgid "Object deleted"
 msgstr "Oggetto cancellato"
 
-#: share/html/Admin/CustomFields/Objects.html:74 share/html/Admin/Elements/ObjectCustomFields:65
 #. ($ObjectType)
 #. ($LookupType)
+#: share/html/Admin/CustomFields/Objects.html:74
+#: share/html/Admin/Elements/ObjectCustomFields:65
 msgid "Object of type %1 cannot take custom fields"
 msgstr "Oggetto di tipo %1 non accetta campi personalizzati"
 
@@ -4939,8 +5324,8 @@
 msgid "Offline upload"
 msgstr "Upload richiesta offline"
 
-#: lib/RT/Transaction_Overlay.pm:347
 #. ($self->CreatedAsString, $self->CreatorObj->Name)
+#: lib/RT/Transaction_Overlay.pm:347
 msgid "On %1, %2 wrote:"
 msgstr ""
 
@@ -4993,22 +5378,23 @@
 msgstr ""
 
 #: share/html/Ticket/Elements/UpdateCc:48
+#, fuzzy
 msgid "One-time Cc"
-msgstr ""
+msgstr "Rimuovi Cc"
 
-#: share/html/Approvals/Elements/PendingMyApproval:72
 #. ("<input size='15' value='".( $created_after->Unix >0 && $created_after->ISO)."' name='CreatedAfter' id='CreatedAfter' />")
+#: share/html/Approvals/Elements/PendingMyApproval:72
 msgid "Only show approvals for requests created after %1"
 msgstr "Mostra le approvazioni solo per le richieste create dopo il %1"
 
-#: share/html/Approvals/Elements/PendingMyApproval:70
 #. ("<input size='15' value='".($created_before->Unix > 0 &&$created_before->ISO)."' name='CreatedBefore' id='CreatedBefore' />")
+#: share/html/Approvals/Elements/PendingMyApproval:70
 msgid "Only show approvals for requests created before %1"
 msgstr "Mostra le approvazioni solo per le richieste create prima del %1"
 
 #: share/html/Admin/CustomFields/index.html:77
 msgid "Only show custom fields for:"
-msgstr ""
+msgstr "Mostra campi personalizzati solo per:"
 
 #: NOT FOUND IN SOURCE
 msgid "Open"
@@ -5016,7 +5402,7 @@
 
 #: etc/initialdata:94
 msgid "Open Tickets"
-msgstr ""
+msgstr "Ticket aperti"
 
 #: share/html/Elements/MakeClicky:58
 msgid "Open URL"
@@ -5034,7 +5420,8 @@
 msgid "Open ticket"
 msgstr "Apri ticket"
 
-#: share/html/SelfService/Elements/Tabs:78 share/html/SelfService/index.html:48
+#: share/html/SelfService/Elements/Tabs:78
+#: share/html/SelfService/index.html:48
 msgid "Open tickets"
 msgstr "Ticket aperti"
 
@@ -5052,7 +5439,7 @@
 
 #: share/html/Prefs/MyRT.html:74
 msgid "Options"
-msgstr ""
+msgstr "Opzioni"
 
 #: lib/RT/Installer.pm:69
 msgid "Oracle"
@@ -5066,12 +5453,13 @@
 msgid "Ordering and sorting"
 msgstr "Ordinamento"
 
-#: lib/RT/Installer.pm:142 share/html/Admin/Users/Modify.html:144 share/html/User/Prefs.html:135
+#: lib/RT/Installer.pm:142 share/html/Admin/Users/Modify.html:144
+#: share/html/User/Prefs.html:135
 msgid "Organization"
 msgstr "Azienda"
 
-#: share/html/Approvals/Elements/Approve:55
 #. ($approving->Id, $approving->Subject)
+#: share/html/Approvals/Elements/Approve:55
 msgid "Originating ticket: #%1"
 msgstr "Ticket originario: n°%1"
 
@@ -5095,17 +5483,24 @@
 msgid "OwnTicket"
 msgstr "PrendeInCaricoTicket"
 
-#: lib/RT/ACE_Overlay.pm:99 lib/RT/Tickets_Overlay.pm:2055 share/html/Elements/QuickCreate:58 share/html/Search/Elements/PickBasics:114 share/html/Ticket/Create.html:76 share/html/Ticket/Elements/EditBasics:63 share/html/Ticket/Elements/EditPeople:66 share/html/Ticket/Elements/EditPeople:67 share/html/Ticket/Elements/Reminders:135 share/html/Ticket/Elements/ShowPeople:50 share/html/Ticket/Update.html:70
+#: lib/RT/ACE_Overlay.pm:99 lib/RT/Tickets_Overlay.pm:2055
+#: share/html/Elements/QuickCreate:58
+#: share/html/Search/Elements/PickBasics:114 share/html/Ticket/Create.html:76
+#: share/html/Ticket/Elements/EditBasics:63
+#: share/html/Ticket/Elements/EditPeople:66
+#: share/html/Ticket/Elements/EditPeople:67
+#: share/html/Ticket/Elements/Reminders:135
+#: share/html/Ticket/Elements/ShowPeople:50 share/html/Ticket/Update.html:70
 msgid "Owner"
 msgstr "Incaricato"
 
-#: lib/RT/Ticket_Overlay.pm:633
 #. ($DeferOwner->Name)
+#: lib/RT/Ticket_Overlay.pm:633
 msgid "Owner '%1' does not have rights to own this ticket."
 msgstr ""
 
-#: lib/RT/Ticket_Overlay.pm:2783
 #. ($OldOwnerObj->Name, $NewOwnerObj->Name)
+#: lib/RT/Ticket_Overlay.pm:2783
 msgid "Owner changed from %1 to %2"
 msgstr "Cambiato incaricato da %1 a %2"
 
@@ -5117,8 +5512,8 @@
 msgid "Owner email"
 msgstr ""
 
-#: lib/RT/Transaction_Overlay.pm:661
 #. ($Old->Name , $New->Name)
+#: lib/RT/Transaction_Overlay.pm:661
 msgid "Owner forcibly changed from %1 to %2"
 msgstr "Cambiato forzatamente l'incaricato da %1 a %2"
 
@@ -5131,8 +5526,9 @@
 msgstr "NomeIncaricato"
 
 #: share/html/Elements/CollectionListPaging:63
+#, fuzzy
 msgid "Page"
-msgstr ""
+msgstr "Cercapersone"
 
 #: NOT FOUND IN SOURCE
 msgid "Page %1 of %2"
@@ -5154,7 +5550,9 @@
 msgid "PagerPhone"
 msgstr "Cercapersone"
 
-#: share/html/Elements/EditLinks:145 share/html/Elements/EditLinks:73 share/html/Elements/ShowLinks:90 share/html/Ticket/Create.html:232 share/html/Ticket/Elements/BulkLinks:62
+#: share/html/Elements/EditLinks:145 share/html/Elements/EditLinks:73
+#: share/html/Elements/ShowLinks:90 share/html/Ticket/Create.html:232
+#: share/html/Ticket/Elements/BulkLinks:62
 msgid "Parents"
 msgstr "DerivaDa"
 
@@ -5170,27 +5568,27 @@
 msgid "Password changed"
 msgstr "Password cambiata"
 
-#: lib/RT/User_Overlay.pm:150 lib/RT/User_Overlay.pm:888
 #. (RT->Config->Get('MinimumPasswordLength'))
+#: lib/RT/User_Overlay.pm:150 lib/RT/User_Overlay.pm:888
 msgid "Password needs to be at least %1 characters long"
 msgstr "La password deve essere lunga almeno %1 caratteri"
 
 #: lib/RT/User_Overlay.pm:895
 msgid "Password set"
-msgstr ""
+msgstr "Password impostata"
 
 #: NOT FOUND IN SOURCE
 msgid "Password too short"
 msgstr "Password troppo corta"
 
-#: share/html/User/Prefs.html:251
 #. (loc_fuzzy($msg))
+#: share/html/User/Prefs.html:251
 msgid "Password: %1"
 msgstr "Password: %1"
 
 #: lib/RT/User_Overlay.pm:881
 msgid "Password: Permission Denied"
-msgstr ""
+msgstr "Password: permesso negato"
 
 #: etc/initialdata:408
 msgid "PasswordChange"
@@ -5204,7 +5602,8 @@
 msgid "Passwords do not match. Your password has not been changed"
 msgstr "Le password non corrispondono. La password non è stata cambiata"
 
-#: share/html/Ticket/Elements/ShowSummary:64 share/html/Ticket/Elements/Tabs:135 share/html/Ticket/ModifyAll.html:75
+#: share/html/Ticket/Elements/ShowSummary:64
+#: share/html/Ticket/Elements/Tabs:135 share/html/Ticket/ModifyAll.html:75
 msgid "People"
 msgstr "Persone"
 
@@ -5216,7 +5615,55 @@
 msgid "Perl configuration"
 msgstr "Configurazione perl"
 
-#: lib/RT/ACE_Overlay.pm:247 lib/RT/ACE_Overlay.pm:253 lib/RT/ACE_Overlay.pm:351 lib/RT/ACE_Overlay.pm:361 lib/RT/ACE_Overlay.pm:371 lib/RT/ACE_Overlay.pm:436 lib/RT/Attachment_Overlay.pm:615 lib/RT/Attachment_Overlay.pm:616 lib/RT/Attachment_Overlay.pm:677 lib/RT/Attachment_Overlay.pm:678 lib/RT/Attribute_Overlay.pm:161 lib/RT/Attribute_Overlay.pm:167 lib/RT/Attribute_Overlay.pm:376 lib/RT/Attribute_Overlay.pm:385 lib/RT/Attribute_Overlay.pm:398 lib/RT/CurrentUser.pm:137 lib/RT/CurrentUser.pm:143 lib/RT/CurrentUser.pm:149 lib/RT/CustomFieldValue_Overlay.pm:83 lib/RT/CustomField_Overlay.pm:1031 lib/RT/CustomField_Overlay.pm:1174 lib/RT/CustomField_Overlay.pm:171 lib/RT/CustomField_Overlay.pm:188 lib/RT/CustomField_Overlay.pm:199 lib/RT/CustomField_Overlay.pm:359 lib/RT/CustomField_Overlay.pm:388 lib/RT/CustomField_Overlay.pm:665 lib/RT/CustomField_Overlay.pm:836 lib/RT/CustomField_Overlay.pm:870 lib/RT/CustomField_Overlay.pm:915 lib/RT/Group_Overlay.pm:1116 lib/RT/Group_Overlay.pm:1120 lib/RT/Group_Overlay.pm:1129 lib/RT/Group_Overlay.pm:1239 lib/RT/Group_Overlay.pm:1243 lib/RT/Group_Overlay.pm:1249 lib/RT/Group_Overlay.pm:383 lib/RT/Group_Overlay.pm:481 lib/RT/Group_Overlay.pm:559 lib/RT/Group_Overlay.pm:567 lib/RT/Group_Overlay.pm:665 lib/RT/Group_Overlay.pm:669 lib/RT/Group_Overlay.pm:675 lib/RT/Group_Overlay.pm:918 lib/RT/Group_Overlay.pm:922 lib/RT/Group_Overlay.pm:935 lib/RT/Queue_Overlay.pm:1112 lib/RT/Queue_Overlay.pm:142 lib/RT/Queue_Overlay.pm:160 lib/RT/Queue_Overlay.pm:471 lib/RT/Queue_Overlay.pm:497 lib/RT/Queue_Overlay.pm:519 lib/RT/Queue_Overlay.pm:731 lib/RT/Queue_Overlay.pm:877 lib/RT/Queue_Overlay.pm:886 lib/RT/Queue_Overlay.pm:899 lib/RT/Scrip_Overlay.pm:113 lib/RT/Scrip_Overlay.pm:124 lib/RT/Scrip_Overlay.pm:188 lib/RT/Scrip_Overlay.pm:497 lib/RT/Template_Overlay.pm:215 lib/RT/Template_Overlay.pm:224 lib/RT/Template_Overlay.pm:250 lib/RT/Template_Overlay.pm:389 lib/RT/Template_Overlay.pm:99 lib/RT/Ticket_Overlay.pm:1055 lib/RT/Ticket_Overlay.pm:1061 lib/RT/Ticket_Overlay.pm:1068 lib/RT/Ticket_Overlay.pm:1205 lib/RT/Ticket_Overlay.pm:1215 lib/RT/Ticket_Overlay.pm:1229 lib/RT/Ticket_Overlay.pm:1317 lib/RT/Ticket_Overlay.pm:1674 lib/RT/Ticket_Overlay.pm:1828 lib/RT/Ticket_Overlay.pm:1998 lib/RT/Ticket_Overlay.pm:2048 lib/RT/Ticket_Overlay.pm:2237 lib/RT/Ticket_Overlay.pm:2250 lib/RT/Ticket_Overlay.pm:2331 lib/RT/Ticket_Overlay.pm:2344 lib/RT/Ticket_Overlay.pm:2447 lib/RT/Ticket_Overlay.pm:2461 lib/RT/Ticket_Overlay.pm:2690 lib/RT/Ticket_Overlay.pm:2701 lib/RT/Ticket_Overlay.pm:2707 lib/RT/Ticket_Overlay.pm:2905 lib/RT/Ticket_Overlay.pm:2909 lib/RT/Ticket_Overlay.pm:3046 lib/RT/Ticket_Overlay.pm:3198 lib/RT/Transaction_Overlay.pm:524 lib/RT/Transaction_Overlay.pm:548 lib/RT/User_Overlay.pm:1047 lib/RT/User_Overlay.pm:124 lib/RT/User_Overlay.pm:1444 lib/RT/User_Overlay.pm:283 lib/RT/User_Overlay.pm:623 lib/RT/User_Overlay.pm:658 share/html/Ticket/Forward.html:85
+#: lib/RT/ACE_Overlay.pm:247 lib/RT/ACE_Overlay.pm:253
+#: lib/RT/ACE_Overlay.pm:351 lib/RT/ACE_Overlay.pm:361
+#: lib/RT/ACE_Overlay.pm:371 lib/RT/ACE_Overlay.pm:436
+#: lib/RT/Attachment_Overlay.pm:615 lib/RT/Attachment_Overlay.pm:616
+#: lib/RT/Attachment_Overlay.pm:677 lib/RT/Attachment_Overlay.pm:678
+#: lib/RT/Attribute_Overlay.pm:161 lib/RT/Attribute_Overlay.pm:167
+#: lib/RT/Attribute_Overlay.pm:376 lib/RT/Attribute_Overlay.pm:385
+#: lib/RT/Attribute_Overlay.pm:398 lib/RT/CurrentUser.pm:137
+#: lib/RT/CurrentUser.pm:143 lib/RT/CurrentUser.pm:149
+#: lib/RT/CustomFieldValue_Overlay.pm:83 lib/RT/CustomField_Overlay.pm:1031
+#: lib/RT/CustomField_Overlay.pm:1174 lib/RT/CustomField_Overlay.pm:171
+#: lib/RT/CustomField_Overlay.pm:188 lib/RT/CustomField_Overlay.pm:199
+#: lib/RT/CustomField_Overlay.pm:359 lib/RT/CustomField_Overlay.pm:388
+#: lib/RT/CustomField_Overlay.pm:665 lib/RT/CustomField_Overlay.pm:836
+#: lib/RT/CustomField_Overlay.pm:870 lib/RT/CustomField_Overlay.pm:915
+#: lib/RT/Group_Overlay.pm:1116 lib/RT/Group_Overlay.pm:1120
+#: lib/RT/Group_Overlay.pm:1129 lib/RT/Group_Overlay.pm:1239
+#: lib/RT/Group_Overlay.pm:1243 lib/RT/Group_Overlay.pm:1249
+#: lib/RT/Group_Overlay.pm:383 lib/RT/Group_Overlay.pm:481
+#: lib/RT/Group_Overlay.pm:559 lib/RT/Group_Overlay.pm:567
+#: lib/RT/Group_Overlay.pm:665 lib/RT/Group_Overlay.pm:669
+#: lib/RT/Group_Overlay.pm:675 lib/RT/Group_Overlay.pm:918
+#: lib/RT/Group_Overlay.pm:922 lib/RT/Group_Overlay.pm:935
+#: lib/RT/Queue_Overlay.pm:1112 lib/RT/Queue_Overlay.pm:142
+#: lib/RT/Queue_Overlay.pm:160 lib/RT/Queue_Overlay.pm:471
+#: lib/RT/Queue_Overlay.pm:497 lib/RT/Queue_Overlay.pm:519
+#: lib/RT/Queue_Overlay.pm:731 lib/RT/Queue_Overlay.pm:877
+#: lib/RT/Queue_Overlay.pm:886 lib/RT/Queue_Overlay.pm:899
+#: lib/RT/Scrip_Overlay.pm:113 lib/RT/Scrip_Overlay.pm:124
+#: lib/RT/Scrip_Overlay.pm:188 lib/RT/Scrip_Overlay.pm:497
+#: lib/RT/Template_Overlay.pm:215 lib/RT/Template_Overlay.pm:224
+#: lib/RT/Template_Overlay.pm:250 lib/RT/Template_Overlay.pm:389
+#: lib/RT/Template_Overlay.pm:99 lib/RT/Ticket_Overlay.pm:1055
+#: lib/RT/Ticket_Overlay.pm:1061 lib/RT/Ticket_Overlay.pm:1068
+#: lib/RT/Ticket_Overlay.pm:1205 lib/RT/Ticket_Overlay.pm:1215
+#: lib/RT/Ticket_Overlay.pm:1229 lib/RT/Ticket_Overlay.pm:1317
+#: lib/RT/Ticket_Overlay.pm:1674 lib/RT/Ticket_Overlay.pm:1828
+#: lib/RT/Ticket_Overlay.pm:1998 lib/RT/Ticket_Overlay.pm:2048
+#: lib/RT/Ticket_Overlay.pm:2237 lib/RT/Ticket_Overlay.pm:2250
+#: lib/RT/Ticket_Overlay.pm:2331 lib/RT/Ticket_Overlay.pm:2344
+#: lib/RT/Ticket_Overlay.pm:2447 lib/RT/Ticket_Overlay.pm:2461
+#: lib/RT/Ticket_Overlay.pm:2690 lib/RT/Ticket_Overlay.pm:2701
+#: lib/RT/Ticket_Overlay.pm:2707 lib/RT/Ticket_Overlay.pm:2905
+#: lib/RT/Ticket_Overlay.pm:2909 lib/RT/Ticket_Overlay.pm:3046
+#: lib/RT/Ticket_Overlay.pm:3198 lib/RT/Transaction_Overlay.pm:524
+#: lib/RT/Transaction_Overlay.pm:548 lib/RT/User_Overlay.pm:1047
+#: lib/RT/User_Overlay.pm:124 lib/RT/User_Overlay.pm:1444
+#: lib/RT/User_Overlay.pm:283 lib/RT/User_Overlay.pm:623
+#: lib/RT/User_Overlay.pm:658 share/html/Ticket/Forward.html:85
 msgid "Permission Denied"
 msgstr "Operazione non consentita"
 
@@ -5248,32 +5695,39 @@
 msgid "PostgreSQL"
 msgstr ""
 
-#: share/html/Elements/Header:91 share/html/Elements/Tabs:94 share/html/SelfService/Elements/Tabs:98 share/html/SelfService/Prefs.html:48 share/html/User/Prefs.html:48 share/html/User/Prefs.html:51
+#: share/html/Elements/Header:91 share/html/Elements/Tabs:94
+#: share/html/SelfService/Elements/Tabs:98
+#: share/html/SelfService/Prefs.html:48 share/html/User/Prefs.html:48
+#: share/html/User/Prefs.html:51
 msgid "Preferences"
 msgstr "Preferenze"
 
-#: share/html/Admin/Users/MyRT.html:124
 #. ($pane, $UserObj->Name)
+#: share/html/Admin/Users/MyRT.html:124
 msgid "Preferences %1 for user %2."
-msgstr ""
+msgstr "Preferenze %1 per l'utente %2 ."
 
-#: share/html/Prefs/MyRT.html:149 share/html/Prefs/MyRT.html:94
 #. (loc('summary rows'))
 #. ($pane)
+#: share/html/Prefs/MyRT.html:149 share/html/Prefs/MyRT.html:94
 msgid "Preferences saved for %1."
-msgstr ""
+msgstr "Preferenze salvate per %1."
 
-#: share/html/Admin/Users/MyRT.html:83
 #. ($UserObj->Name)
+#: share/html/Admin/Users/MyRT.html:83
+#, fuzzy
 msgid "Preferences saved for user %2."
-msgstr ""
+msgstr "Preferenze %1 per l'utente %2 ."
 
-#: share/html/Prefs/MyRT.html:101 share/html/Prefs/Other.html:103 share/html/Prefs/Quicksearch.html:91 share/html/Prefs/Search.html:108 share/html/Prefs/SearchOptions.html:84
+#: share/html/Prefs/MyRT.html:101 share/html/Prefs/Other.html:103
+#: share/html/Prefs/Quicksearch.html:91 share/html/Prefs/Search.html:108
+#: share/html/Prefs/SearchOptions.html:84
+#, fuzzy
 msgid "Preferences saved."
-msgstr ""
+msgstr "Preferenze salvate per %1."
 
-#: share/html/Prefs/Other.html:88
 #. (loc_fuzzy($msg))
+#: share/html/Prefs/Other.html:88
 msgid "Preferred Key: %1"
 msgstr ""
 
@@ -5313,22 +5767,27 @@
 msgid "Pri"
 msgstr "Pri"
 
-#: lib/RT/ACE_Overlay.pm:146 lib/RT/ACE_Overlay.pm:235 lib/RT/ACE_Overlay.pm:340
 #. ($args{'PrincipalId'})
+#: lib/RT/ACE_Overlay.pm:146 lib/RT/ACE_Overlay.pm:235
+#: lib/RT/ACE_Overlay.pm:340
 msgid "Principal %1 not found."
 msgstr "Utente/gruppo %1 not trovato."
 
 #: sbin/rt-email-digest:73
-msgid "Print the resulting digest messages to STDOUT; don't mail them. Do not mark them as sent"
+msgid ""
+"Print the resulting digest messages to STDOUT; don't mail them. Do not mark "
+"them as sent"
 msgstr ""
 
 #: sbin/rt-email-digest:75
 msgid "Print this message"
 msgstr ""
 
-#: lib/RT/Tickets_Overlay.pm:1839 share/html/Search/Elements/PickBasics:186 share/html/Ticket/Create.html:187 share/html/Ticket/Elements/EditBasics:97 share/html/Ticket/Elements/ShowBasics:76
+#: lib/RT/Tickets_Overlay.pm:1839 share/html/Search/Elements/PickBasics:186
+#: share/html/Ticket/Create.html:187 share/html/Ticket/Elements/EditBasics:97
+#: share/html/Ticket/Elements/ShowBasics:76
 msgid "Priority"
-msgstr "Priorità"
+msgstr "Tempo trascorso (gg)"
 
 #: share/html/Admin/Queues/Modify.html:82
 msgid "Priority starts at"
@@ -5350,8 +5809,8 @@
 msgid "Privileged"
 msgstr "Privilegiato"
 
-#: share/html/Admin/Users/Modify.html:348 share/html/User/Prefs.html:244
 #. (loc_fuzzy($msg))
+#: share/html/Admin/Users/Modify.html:348 share/html/User/Prefs.html:244
 msgid "Privileged status: %1"
 msgstr "Stato previlegiato: %1"
 
@@ -5360,19 +5819,23 @@
 msgstr "Utenti privilegiati"
 
 #: bin/rt-crontool:169
-msgid "Processing without transaction, some conditions and actions may fail. Consider using --transaction argument"
+msgid ""
+"Processing without transaction, some conditions and actions may fail. "
+"Consider using --transaction argument"
 msgstr ""
 
 #: lib/RT/Handle.pm:607
 msgid "Pseudogroup for internal use"
 msgstr "Pseudogruppo per uso interno"
 
-#: share/html/Ticket/Elements/ShowGnuPGStatus:150
 #. ($line->{'Key'})
+#: share/html/Ticket/Elements/ShowGnuPGStatus:150
 msgid "Public key '0x%1' is required to verify signature"
 msgstr ""
 
-#: share/html/Dashboards/Elements/Tabs:74 share/html/Dashboards/Queries.html:65 share/html/Dashboards/Subscription.html:72
+#: share/html/Dashboards/Elements/Tabs:74
+#: share/html/Dashboards/Queries.html:65
+#: share/html/Dashboards/Subscription.html:72
 msgid "Queries"
 msgstr ""
 
@@ -5386,15 +5849,26 @@
 
 #: share/html/Search/Elements/Chart:103
 msgid "Query:"
-msgstr ""
+msgstr "Query:"
 
-#: lib/RT/Tickets_Overlay.pm:1666 share/html/Elements/QueueSummary:50 share/html/Elements/QuickCreate:56 share/html/Search/Elements/PickBasics:83 share/html/SelfService/Create.html:56 share/html/Ticket/Create.html:66 share/html/Ticket/Elements/EditBasics:59 share/html/Ticket/Elements/ShowBasics:80 share/html/Tools/Reports/CreatedByDates.html:87 share/html/Tools/Reports/ResolvedByDates.html:88 share/html/Tools/Reports/ResolvedByOwner.html:68 share/html/User/Elements/DelegateRights:103
+#: lib/RT/Tickets_Overlay.pm:1666 share/html/Elements/QueueSummary:50
+#: share/html/Elements/QuickCreate:56 share/html/Search/Elements/PickBasics:83
+#: share/html/SelfService/Create.html:56 share/html/Ticket/Create.html:66
+#: share/html/Ticket/Elements/EditBasics:59
+#: share/html/Ticket/Elements/ShowBasics:80
+#: share/html/Tools/Reports/CreatedByDates.html:87
+#: share/html/Tools/Reports/ResolvedByDates.html:88
+#: share/html/Tools/Reports/ResolvedByOwner.html:68
+#: share/html/User/Elements/DelegateRights:103
 msgid "Queue"
 msgstr "Coda"
 
-#: share/html/Admin/Queues/CustomField.html:65 share/html/Admin/Queues/Scrip.html:63 share/html/Admin/Queues/Scrips.html:71 share/html/Admin/Queues/Templates.html:67
 #. ($Queue)
 #. ($id)
+#: share/html/Admin/Queues/CustomField.html:65
+#: share/html/Admin/Queues/Scrip.html:63
+#: share/html/Admin/Queues/Scrips.html:71
+#: share/html/Admin/Queues/Templates.html:67
 msgid "Queue %1 not found"
 msgstr "Coda %1 non trovata"
 
@@ -5422,11 +5896,13 @@
 msgid "Queue could not be created"
 msgstr "Impossibile creare la coda"
 
-#: share/html/Ticket/Create.html:326 share/html/index.html:91 t/clicky.t:24 t/ticket/link_search.t:17
+#: share/html/Ticket/Create.html:326 share/html/index.html:91 t/clicky.t:24
+#: t/ticket/link_search.t:17
 msgid "Queue could not be loaded."
 msgstr "Impossibile caricare la coda."
 
-#: docs/design_docs/string-extraction-guide.txt:83 lib/RT/Queue_Overlay.pm:368 lib/RT/StyleGuide.pod:801
+#: docs/design_docs/string-extraction-guide.txt:83 lib/RT/Queue_Overlay.pm:368
+#: lib/RT/StyleGuide.pod:801
 msgid "Queue created"
 msgstr "Coda creata"
 
@@ -5438,7 +5914,8 @@
 msgid "Queue not found"
 msgstr "Coda non trovata"
 
-#: share/html/Elements/GnuPG/SelectKeyForSigning:50 share/html/Elements/GnuPG/SelectKeyForSigning:54
+#: share/html/Elements/GnuPG/SelectKeyForSigning:50
+#: share/html/Elements/GnuPG/SelectKeyForSigning:54
 msgid "Queue's key"
 msgstr ""
 
@@ -5446,19 +5923,23 @@
 msgid "QueueName"
 msgstr "NomeCoda"
 
-#: share/html/Admin/Elements/GlobalCustomFieldTabs:69 share/html/Admin/Elements/Tabs:61 share/html/Admin/Global/CustomFields/index.html:77 share/html/Admin/index.html:68
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:69
+#: share/html/Admin/Elements/Tabs:61
+#: share/html/Admin/Global/CustomFields/index.html:77
+#: share/html/Admin/index.html:68
 msgid "Queues"
 msgstr "Code"
 
 #: share/html/Elements/MyAdminQueues:48
 msgid "Queues I administer"
-msgstr ""
+msgstr "Le mie code"
 
 #: share/html/Elements/MySupportQueues:48
 msgid "Queues I'm an AdminCc for"
-msgstr ""
+msgstr "Le code per cui sono AdminCc"
 
-#: share/html/Elements/Quicksearch:49 share/html/Prefs/Elements/Tabs:59 share/html/Prefs/Quicksearch.html:72
+#: share/html/Elements/Quicksearch:49 share/html/Prefs/Elements/Tabs:59
+#: share/html/Prefs/Quicksearch.html:72
 msgid "Quick search"
 msgstr "Ricerca veloce"
 
@@ -5474,14 +5955,18 @@
 msgid "RT %1"
 msgstr "RT %1"
 
-#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:788
 #. ($RT::VERSION, RT->Config->Get('rtname'))
+#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:788
 msgid "RT %1 for %2"
 msgstr "RT %1 per %2"
 
 #: NOT FOUND IN SOURCE
-msgid "RT %1 from <a href=\"http://bestpractical.com\">Best Practical Solutions, LLC</a>."
-msgstr "RT %1 da <a href=\"http://bestpractical.com\">Best Practical Solutions, LLC</a>."
+msgid ""
+"RT %1 from <a href=\"http://bestpractical.com\">Best Practical Solutions, "
+"LLC</a>."
+msgstr ""
+"RT %1 da <a href=\"http://bestpractical.com\">Best Practical Solutions, LLC</"
+"a>."
 
 #: NOT FOUND IN SOURCE
 msgid "RT %1. Copyright 1996-%1 Jesse Vincent <jesse\\@bestpractical.com>\\n"
@@ -5489,7 +5974,8 @@
 
 #: NOT FOUND IN SOURCE
 msgid "RT %1. Copyright 1996-2002 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-msgstr "RT %1. Copyright 1996-2002 Jesse Vincent <jesse\\@bestpractical.com>\\n"
+msgstr ""
+"RT %1. Copyright 1996-2002 Jesse Vincent <jesse\\@bestpractical.com>\\n"
 
 #: share/html/Admin/index.html:48 share/html/Admin/index.html:49
 msgid "RT Administration"
@@ -5531,7 +6017,8 @@
 msgid "RT Recieved mail (%1) from itself."
 msgstr "RT ha ricevuto email (%1) da se stesso."
 
-#: share/html/SelfService/Elements/Tabs:72 share/html/SelfService/Elements/Tabs:74
+#: share/html/SelfService/Elements/Tabs:72
+#: share/html/SelfService/Elements/Tabs:74
 msgid "RT Self Service"
 msgstr ""
 
@@ -5543,22 +6030,33 @@
 msgid "RT Variables"
 msgstr "Variabili RT"
 
-#: lib/RT/Config.pm:112 share/html/Admin/Elements/SystemTabs:73 share/html/Admin/Elements/UserTabs:69 share/html/Admin/Global/MyRT.html:48 share/html/Admin/Global/MyRT.html:51 share/html/Admin/Global/MyRT.html:59 share/html/Admin/Global/index.html:78 share/html/Admin/Users/MyRT.html:68 share/html/Prefs/MyRT.html:67 share/html/Prefs/MyRT.html:84 share/html/User/Elements/Tabs:73 share/html/index.html:6 share/html/index.html:80
+#: lib/RT/Config.pm:112 share/html/Admin/Elements/SystemTabs:73
+#: share/html/Admin/Elements/UserTabs:69 share/html/Admin/Global/MyRT.html:48
+#: share/html/Admin/Global/MyRT.html:51 share/html/Admin/Global/MyRT.html:59
+#: share/html/Admin/Global/index.html:78 share/html/Admin/Users/MyRT.html:68
+#: share/html/Prefs/MyRT.html:67 share/html/Prefs/MyRT.html:84
+#: share/html/User/Elements/Tabs:73 share/html/index.html:6
+#: share/html/index.html:80
 msgid "RT at a glance"
-msgstr "Quadro d'insieme"
+msgstr "Quadro di insieme"
 
-#: share/html/Admin/Users/MyRT.html:79
 #. ($UserObj->Name)
+#: share/html/Admin/Users/MyRT.html:79
 msgid "RT at a glance for the user %1"
-msgstr ""
+msgstr "Quadro di insieme per l'utente %1"
 
 #: share/html/Admin/CustomFields/Modify.html:104
-msgid "RT can include content from another web service when showing this custom field."
+msgid ""
+"RT can include content from another web service when showing this custom "
+"field."
 msgstr ""
 
 #: share/html/Admin/CustomFields/Modify.html:96
-msgid "RT can make this custom field's values into hyperlinks to another service."
+msgid ""
+"RT can make this custom field's values into hyperlinks to another service."
 msgstr ""
+"E' possibile creare questo valore del campo personalizzato come un "
+"collegamento ad un altro servizio"
 
 #: NOT FOUND IN SOURCE
 msgid "RT couldn't authenticate you"
@@ -5566,7 +6064,8 @@
 
 #: NOT FOUND IN SOURCE
 msgid "RT couldn't find requestor via its external database lookup"
-msgstr "RT non è riuscito a trovare il richiedente consultando in database esterno"
+msgstr ""
+"RT non è riuscito a trovare il richiedente consultando in database esterno"
 
 #: NOT FOUND IN SOURCE
 msgid "RT couldn't find the queue: %1"
@@ -5580,8 +6079,8 @@
 msgid "RT couldn't validate this PGP signature. \\n"
 msgstr "RT non può verificare questa firma PGP. \\n"
 
-#: share/html/Elements/Logo:54
 #. (RT->Config->Get('rtname'))
+#: share/html/Elements/Logo:54
 msgid "RT for %1"
 msgstr "RT / %1"
 
@@ -5594,12 +6093,24 @@
 msgstr "RT ha eseguito i comandi"
 
 #: NOT FOUND IN SOURCE
-msgid "RT is &copy; Copyright 1996-%1 Jesse Vincent &lt;jesse at bestpractical.com&gt;.  It is distributed under <a href=\"http://www.gnu.org/copyleft/gpl.html\">Version 2 of the GNU General Public License.</a>"
-msgstr "RT is &copy; Copyright 1996-%1 Jesse Vincent &lt;jesse at bestpractical.com&gt;.  RT viene distribuito con la <a href=\"http://www.gnu.org/copyleft/gpl.html\">Versione 2 della GNU General Public License.</a>"
-
-#: NOT FOUND IN SOURCE
-msgid "RT is &copy; Copyright 1996-2002 Jesse Vincent &lt;jesse at bestpractical.com&gt;.  It is distributed under <a href=\"http://www.gnu.org/copyleft/gpl.html\">Version 2 of the GNU General Public License.</a>"
-msgstr "RT is &copy; Copyright 1996-2002 Jesse Vincent &lt;jesse at bestpractical.com&gt;.  RT viene distribuito con la <a href=\"http://www.gnu.org/copyleft/gpl.html\">Versione 2 della GNU General Public License.</a>"
+msgid ""
+"RT is &copy; Copyright 1996-%1 Jesse Vincent &lt;jesse at bestpractical."
+"com&gt;.  It is distributed under <a href=\"http://www.gnu.org/copyleft/gpl."
+"html\">Version 2 of the GNU General Public License.</a>"
+msgstr ""
+"RT is &copy; Copyright 1996-%1 Jesse Vincent &lt;jesse at bestpractical."
+"com&gt;.  RT viene distribuito con la <a href=\"http://www.gnu.org/copyleft/"
+"gpl.html\">Versione 2 della GNU General Public License.</a>"
+
+#: NOT FOUND IN SOURCE
+msgid ""
+"RT is &copy; Copyright 1996-2002 Jesse Vincent &lt;jesse at bestpractical."
+"com&gt;.  It is distributed under <a href=\"http://www.gnu.org/copyleft/gpl."
+"html\">Version 2 of the GNU General Public License.</a>"
+msgstr ""
+"RT is &copy; Copyright 1996-2002 Jesse Vincent &lt;jesse at bestpractical."
+"com&gt;.  RT viene distribuito con la <a href=\"http://www.gnu.org/copyleft/"
+"gpl.html\">Versione 2 della GNU General Public License.</a>"
 
 #: NOT FOUND IN SOURCE
 msgid "RT thinks this message may be a bounce"
@@ -5608,18 +6119,26 @@
 #: share/html/Search/Simple.html:62
 msgid "RT will look for anything else you enter in ticket subjects."
 msgstr ""
+"Il sistema cercherà qualunque altra cosa inserita nel soggetto dei ticket"
 
 #: NOT FOUND IN SOURCE
 msgid "RT will process this message as if it were unsigned.\\n"
 msgstr "RT will process this message as if it were unsigned.\\n"
 
-#: share/html/Admin/CustomFields/Modify.html:106 share/html/Admin/CustomFields/Modify.html:98
-msgid "RT will replace <tt>__id__</tt> and <tt>__CustomField__</tt> with the record id and custom field value, respectively"
+#: share/html/Admin/CustomFields/Modify.html:106
+#: share/html/Admin/CustomFields/Modify.html:98
+msgid ""
+"RT will replace <tt>__id__</tt> and <tt>__CustomField__</tt> with the record "
+"id and custom field value, respectively"
 msgstr ""
 
 #: NOT FOUND IN SOURCE
-msgid "RT's email command mode requires PGP authentication.  Either you didn't sign your message, or your signature could not be verified."
-msgstr "RT's email command mode requires PGP authentication.  Either you didn't sign your message, or your signature could not be verified."
+msgid ""
+"RT's email command mode requires PGP authentication.  Either you didn't sign "
+"your message, or your signature could not be verified."
+msgstr ""
+"RT's email command mode requires PGP authentication.  Either you didn't sign "
+"your message, or your signature could not be verified."
 
 #: share/html/Admin/Users/Modify.html:81 share/html/User/Prefs.html:71
 msgid "Real Name"
@@ -5633,27 +6152,29 @@
 msgid "Record all updates"
 msgstr ""
 
-#: lib/RT/Transaction_Overlay.pm:714
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:714
 msgid "Reference by %1 added"
 msgstr "Aggiunto riferimento da %1"
 
-#: lib/RT/Transaction_Overlay.pm:754
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:754
 msgid "Reference by %1 deleted"
 msgstr "Cancellato riferimento da %1"
 
-#: lib/RT/Transaction_Overlay.pm:711
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:711
 msgid "Reference to %1 added"
 msgstr "Aggiunto riferimento a %1"
 
-#: lib/RT/Transaction_Overlay.pm:751
 #. ($value)
+#: lib/RT/Transaction_Overlay.pm:751
 msgid "Reference to %1 deleted"
 msgstr "Cancellato riferimento a %1"
 
-#: share/html/Elements/EditLinks:100 share/html/Elements/EditLinks:157 share/html/Elements/ShowLinks:114 share/html/Ticket/Create.html:235 share/html/Ticket/Elements/BulkLinks:74
+#: share/html/Elements/EditLinks:100 share/html/Elements/EditLinks:157
+#: share/html/Elements/ShowLinks:114 share/html/Ticket/Create.html:235
+#: share/html/Ticket/Elements/BulkLinks:74
 msgid "Referred to by"
 msgstr "È un riferimento per"
 
@@ -5661,7 +6182,9 @@
 msgid "ReferredToBy"
 msgstr "RiferimentoPer"
 
-#: share/html/Elements/EditLinks:153 share/html/Elements/EditLinks:91 share/html/Elements/SelectLinkType:51 share/html/Elements/ShowLinks:104 share/html/Ticket/Create.html:234 share/html/Ticket/Elements/BulkLinks:70
+#: share/html/Elements/EditLinks:153 share/html/Elements/EditLinks:91
+#: share/html/Elements/SelectLinkType:51 share/html/Elements/ShowLinks:104
+#: share/html/Ticket/Create.html:234 share/html/Ticket/Elements/BulkLinks:70
 msgid "Refers to"
 msgstr "Fa riferimento a"
 
@@ -5678,42 +6201,45 @@
 msgstr "Rifinisci la ricerca"
 
 #: share/html/Elements/RefreshHomepage:48
+#, fuzzy
 msgid "Refresh"
-msgstr ""
+msgstr "FaRiferimentoA"
 
-#: share/html/Elements/Refresh:59
 #. ($value/60)
+#: share/html/Elements/Refresh:59
 msgid "Refresh this page every %1 minutes."
 msgstr "Aggiorna questa pagina ogni %1 minuti."
 
-#: lib/RT/Transaction_Overlay.pm:800
 #. ($ticket->Subject)
+#: lib/RT/Transaction_Overlay.pm:800
 msgid "Reminder '%1' added"
-msgstr ""
+msgstr "Promemoria '%1' aggiunto"
 
-#: lib/RT/Transaction_Overlay.pm:813
 #. ($ticket->Subject)
+#: lib/RT/Transaction_Overlay.pm:813
 msgid "Reminder '%1' completed"
-msgstr ""
+msgstr "Promemoria '%1' completato"
 
-#: lib/RT/Transaction_Overlay.pm:806
 #. ($ticket->Subject)
+#: lib/RT/Transaction_Overlay.pm:806
 msgid "Reminder '%1' reopened"
-msgstr ""
+msgstr "Promemoria '%1' riaperto"
 
-#: share/html/Ticket/Reminders.html:48
 #. ($Ticket->Id)
+#: share/html/Ticket/Reminders.html:48
 msgid "Reminder ticket #%1"
-msgstr ""
+msgstr "Promemoria ticket #%1"
 
-#: share/html/Elements/MyReminders:50 share/html/Ticket/Elements/ShowSummary:78 share/html/Ticket/Elements/Tabs:151 share/html/Ticket/Reminders.html:57
+#: share/html/Elements/MyReminders:50
+#: share/html/Ticket/Elements/ShowSummary:78
+#: share/html/Ticket/Elements/Tabs:151 share/html/Ticket/Reminders.html:57
 msgid "Reminders"
-msgstr ""
+msgstr "Promemoria"
 
-#: share/html/Ticket/Reminders.html:52
 #. ($Ticket->Id)
+#: share/html/Ticket/Reminders.html:52
 msgid "Reminders for ticket #%1"
-msgstr ""
+msgstr "Promemoria per ticket #%1"
 
 #: share/html/Search/Bulk.html:99
 msgid "Remove AdminCc"
@@ -5731,7 +6257,8 @@
 msgid "Remove Requestor"
 msgstr "Rimuovi richiedente"
 
-#: share/html/Ticket/Elements/ShowTransaction:191 share/html/Ticket/Elements/Tabs:172
+#: share/html/Ticket/Elements/ShowTransaction:191
+#: share/html/Ticket/Elements/Tabs:172
 msgid "Reply"
 msgstr "Risposta"
 
@@ -5739,7 +6266,8 @@
 msgid "Reply Address"
 msgstr "Indirizzo a cui indirizzare le risposte"
 
-#: share/html/Search/Bulk.html:134 share/html/Ticket/ModifyAll.html:97 share/html/Ticket/Update.html:92
+#: share/html/Search/Bulk.html:134 share/html/Ticket/ModifyAll.html:97
+#: share/html/Ticket/Update.html:92
 msgid "Reply to requestors"
 msgstr "Rispondi ai richiedenti"
 
@@ -5751,9 +6279,10 @@
 msgid "ReplyToTicket"
 msgstr "RispondiAlTicket"
 
-#: share/html/Tools/Elements/Tabs:61 share/html/Tools/Reports/index.html:48 share/html/Tools/Reports/index.html:49
+#: share/html/Tools/Elements/Tabs:61 share/html/Tools/Reports/index.html:48
+#: share/html/Tools/Reports/index.html:49
 msgid "Reports"
-msgstr ""
+msgstr "Rapporti"
 
 #: lib/RT/ACE_Overlay.pm:100
 msgid "Requestor"
@@ -5771,7 +6300,9 @@
 msgid "RequestorAddresses"
 msgstr "IndirizzoRichiedente"
 
-#: share/html/SelfService/Create.html:65 share/html/Ticket/Create.html:84 share/html/Ticket/Elements/EditPeople:71 share/html/Ticket/Elements/ShowPeople:54
+#: share/html/SelfService/Create.html:65 share/html/Ticket/Create.html:84
+#: share/html/Ticket/Elements/EditPeople:71
+#: share/html/Ticket/Elements/ShowPeople:54
 msgid "Requestors"
 msgstr "Richiedenti"
 
@@ -5779,8 +6310,8 @@
 msgid "Requests should be due in"
 msgstr "Le richieste devono essere soddisfatte entro"
 
-#: lib/RT/Attribute_Overlay.pm:149
 #. ('Object')
+#: lib/RT/Attribute_Overlay.pm:149
 msgid "Required parameter '%1' not specified"
 msgstr "Il parametro obbligatorio '%1' non è stato specificato"
 
@@ -5794,7 +6325,7 @@
 
 #: share/html/Admin/Users/MyRT.html:62 share/html/Prefs/MyRT.html:60
 msgid "Reset to default"
-msgstr ""
+msgstr "Reimposta ai valori di default"
 
 #: share/html/Admin/Users/Modify.html:186 share/html/User/Prefs.html:90
 msgid "Residence"
@@ -5804,30 +6335,31 @@
 msgid "Resolve"
 msgstr "Risolvi"
 
-#: share/html/Ticket/Update.html:178
 #. ($TicketObj->id, $TicketObj->Subject)
+#: share/html/Ticket/Update.html:178
 msgid "Resolve ticket #%1 (%2)"
 msgstr "Risolvi il ticket n°%1 (%2)"
 
-#: etc/initialdata:292 lib/RT/Ticket_Overlay.pm:908 share/html/Elements/SelectDateType:51
+#: etc/initialdata:292 lib/RT/Ticket_Overlay.pm:908
+#: share/html/Elements/SelectDateType:51
 msgid "Resolved"
 msgstr "Risolto"
 
 #: share/html/Tools/Reports/Elements/Tabs:57
 msgid "Resolved by owner"
-msgstr ""
+msgstr "Risolto per proprietario"
 
 #: share/html/Tools/Reports/Elements/Tabs:61
 msgid "Resolved in date range"
-msgstr ""
+msgstr "Risolto in un periodo temporale"
 
 #: share/html/Tools/Reports/ResolvedByDates.html:54
 msgid "Resolved tickets in period, grouped by owner"
-msgstr ""
+msgstr "Ticket risolti in un periodo temporale, raggruppati per proprietario"
 
 #: share/html/Tools/Reports/ResolvedByOwner.html:52
 msgid "Resolved tickets, grouped by owner"
-msgstr ""
+msgstr "Ticket risolti, raggruppati per proprietario"
 
 #: NOT FOUND IN SOURCE
 msgid "ResolvedRelative"
@@ -5837,7 +6369,8 @@
 msgid "Response to requestors"
 msgstr "Risposta ai richiedenti"
 
-#: share/html/Elements/ListActions:49 share/html/Search/Elements/NewListActions:48
+#: share/html/Elements/ListActions:49
+#: share/html/Search/Elements/NewListActions:48
 msgid "Results"
 msgstr "Risultati"
 
@@ -5893,8 +6426,8 @@
 msgid "Rights"
 msgstr "Diritti"
 
-#: lib/RT/Interface/Web.pm:831
 #. ($object_type)
+#: lib/RT/Interface/Web.pm:831
 msgid "Rights could not be granted for %1"
 msgstr "I diritti per %1 non possono essere concessi"
 
@@ -5902,7 +6435,8 @@
 msgid "Rights could not be revoked for %1"
 msgstr "I diritti per %1 non possono essere revocati"
 
-#: share/html/Admin/Global/GroupRights.html:74 share/html/Admin/Queues/GroupRights.html:76
+#: share/html/Admin/Global/GroupRights.html:74
+#: share/html/Admin/Queues/GroupRights.html:76
 msgid "Roles"
 msgstr "Ruoli"
 
@@ -5934,11 +6468,26 @@
 msgid "Sat."
 msgstr "Sab."
 
-#: share/html/Prefs/MyRT.html:78 share/html/Prefs/Quicksearch.html:66 share/html/Prefs/Search.html:71 share/html/Search/Elements/EditSearches:72 share/html/Widgets/SelectionBox:222
+#: share/html/Prefs/MyRT.html:78 share/html/Prefs/Quicksearch.html:66
+#: share/html/Prefs/Search.html:71 share/html/Search/Elements/EditSearches:72
+#: share/html/Widgets/SelectionBox:222
 msgid "Save"
 msgstr "Salva"
 
-#: share/html/Admin/CustomFields/Modify.html:126 share/html/Admin/Groups/Modify.html:94 share/html/Admin/Queues/Modify.html:127 share/html/Admin/Queues/People.html:130 share/html/Admin/Users/GnuPG.html:75 share/html/Admin/Users/Modify.html:243 share/html/Dashboards/Modify.html:75 share/html/Dashboards/Subscription.html:156 share/html/Prefs/Other.html:77 share/html/Prefs/Quicksearch.html:66 share/html/Prefs/Search.html:71 share/html/Prefs/SearchOptions.html:65 share/html/SelfService/Prefs.html:60 share/html/Ticket/Elements/PreviewScrips:94 share/html/Ticket/Modify.html:65 share/html/Ticket/ModifyAll.html:130 share/html/Ticket/ModifyDates.html:63 share/html/Ticket/ModifyLinks.html:65 share/html/Ticket/ModifyPeople.html:63 share/html/User/Groups/Modify.html:79
+#: share/html/Admin/CustomFields/Modify.html:126
+#: share/html/Admin/Groups/Modify.html:94
+#: share/html/Admin/Queues/Modify.html:127
+#: share/html/Admin/Queues/People.html:130
+#: share/html/Admin/Users/GnuPG.html:75 share/html/Admin/Users/Modify.html:243
+#: share/html/Dashboards/Modify.html:75
+#: share/html/Dashboards/Subscription.html:156 share/html/Prefs/Other.html:77
+#: share/html/Prefs/Quicksearch.html:66 share/html/Prefs/Search.html:71
+#: share/html/Prefs/SearchOptions.html:65 share/html/SelfService/Prefs.html:60
+#: share/html/Ticket/Elements/PreviewScrips:94
+#: share/html/Ticket/Modify.html:65 share/html/Ticket/ModifyAll.html:130
+#: share/html/Ticket/ModifyDates.html:63 share/html/Ticket/ModifyLinks.html:65
+#: share/html/Ticket/ModifyPeople.html:63
+#: share/html/User/Groups/Modify.html:79
 msgid "Save Changes"
 msgstr "Salva modifiche"
 
@@ -5954,8 +6503,8 @@
 msgid "Save changes"
 msgstr "Salva modifiche"
 
-#: lib/RT/SharedSetting.pm:181
 #. ($self->ObjectName, $name)
+#: lib/RT/SharedSetting.pm:181
 msgid "Saved %1 %2"
 msgstr ""
 
@@ -5963,13 +6512,15 @@
 msgid "Saved search %1"
 msgstr "Ricerca %1 salvata"
 
-#: share/html/Search/Elements/EditSearches:135 share/html/Widgets/SavedSearch:159
+#: share/html/Search/Elements/EditSearches:135
+#: share/html/Widgets/SavedSearch:159
 msgid "Saved searches"
 msgstr "Ricerche salvate"
 
-#: share/html/Admin/Global/Scrip.html:79 share/html/Admin/Queues/Scrip.html:86 share/html/Ticket/Elements/PreviewScrips:65
 #. ($scrip->id)
 #. ($id)
+#: share/html/Admin/Global/Scrip.html:79 share/html/Admin/Queues/Scrip.html:86
+#: share/html/Ticket/Elements/PreviewScrips:65
 msgid "Scrip #%1"
 msgstr "Scrip n°%1"
 
@@ -5985,7 +6536,9 @@
 msgid "Scrip deleted"
 msgstr "Scrip eliminato"
 
-#: share/html/Admin/Elements/QueueTabs:69 share/html/Admin/Elements/SystemTabs:56 share/html/Admin/Global/index.html:56
+#: share/html/Admin/Elements/QueueTabs:69
+#: share/html/Admin/Elements/SystemTabs:56
+#: share/html/Admin/Global/index.html:56
 msgid "Scrips"
 msgstr "Scrips"
 
@@ -6001,7 +6554,8 @@
 msgid "Scrips which apply to all queues"
 msgstr "Scrips che si applicano a tutte le code"
 
-#: share/html/Admin/Tools/Shredder/index.html:67 share/html/Elements/SimpleSearch:50 share/html/Search/Simple.html:67
+#: share/html/Admin/Tools/Shredder/index.html:67
+#: share/html/Elements/SimpleSearch:50 share/html/Search/Simple.html:67
 msgid "Search"
 msgstr "Ricerca"
 
@@ -6009,9 +6563,10 @@
 msgid "Search Criteria"
 msgstr "Criteri di ricerca"
 
-#: share/html/Prefs/SearchOptions.html:48 share/html/Prefs/SearchOptions.html:51
+#: share/html/Prefs/SearchOptions.html:48
+#: share/html/Prefs/SearchOptions.html:51
 msgid "Search Preferences"
-msgstr ""
+msgstr "Preferenze per la ricerca"
 
 #: NOT FOUND IN SOURCE
 msgid "Search attribute load failure"
@@ -6023,28 +6578,42 @@
 
 #: share/html/Search/Simple.html:77
 msgid "Search for tickets"
-msgstr ""
+msgstr "Ricerca ticket"
 
 #: share/html/Search/Simple.html:59
-msgid "Search for tickets. Enter <strong>id</strong> numbers, <strong>queues</strong> by name, Owners by <strong>username</strong> and Requestors by <strong>email address</strong>."
-msgstr ""
+#, fuzzy
+msgid ""
+"Search for tickets. Enter <strong>id</strong> numbers, <strong>queues</"
+"strong> by name, Owners by <strong>username</strong> and Requestors by "
+"<strong>email address</strong>."
+msgstr ""
+"Ricerca di ticket. Inserire l'<strong>id</strong>, il nome della "
+"<strong>coda</strong>, lo <strong>username</strong> del proprietario e "
+"l'<strong>indirizzo email</strong> del richiedente. Il sistema cercherà ogni "
+"altra cosa inserita nel corpo e negli allegati del ticket."
 
 #: share/html/User/Elements/Tabs:70
 msgid "Search options"
-msgstr ""
+msgstr "Opzioni di ricerca"
 
-#: share/html/Search/Chart.html:58
 #. ($PrimaryGroupBy)
+#: share/html/Search/Chart.html:58
 msgid "Search results grouped by %1"
-msgstr ""
+msgstr "Risultati della ricerca ordinati per %1"
 
 #: NOT FOUND IN SOURCE
 msgid "Search update: %1"
 msgstr "Aggiornamento della ricerca: %1"
 
 #: share/html/Search/Simple.html:61
-msgid "Searching the full text of every ticket can take a long time, but if you need to do it, you can search for any word in full ticket history for any word by typing <b>fulltext:<i>word</i></b>."
-msgstr ""
+msgid ""
+"Searching the full text of every ticket can take a long time, but if you "
+"need to do it, you can search for any word in full ticket history for any "
+"word by typing <b>fulltext:<i>word</i></b>."
+msgstr ""
+"E' possibile effettuare ricerche a testo libero per ogni parola nella storia "
+"completa del ticket scrivendo <b>fulltext:<i>parola</i></b>. Attenzione la "
+"ricerca a testo libero può richiedere molto tempo."
 
 #: share/html/User/Prefs.html:180
 msgid "Secret authentication token"
@@ -6056,7 +6625,7 @@
 
 #: share/html/Elements/ShowCustomFields:101
 msgid "See also:"
-msgstr ""
+msgstr "Vedi anche:"
 
 #: lib/RT/CustomField_Overlay.pm:112
 msgid "See custom fields"
@@ -6086,11 +6655,15 @@
 msgid "SeeQueue"
 msgstr "VediCoda"
 
-#: share/html/Admin/Elements/CustomFieldTabs:92 share/html/Admin/Elements/GroupTabs:77 share/html/Admin/Elements/QueueTabs:94 share/html/Admin/Elements/UserTabs:83
+#: share/html/Admin/Elements/CustomFieldTabs:92
+#: share/html/Admin/Elements/GroupTabs:77
+#: share/html/Admin/Elements/QueueTabs:94
+#: share/html/Admin/Elements/UserTabs:83
 msgid "Select"
 msgstr "Seleziona"
 
-#: share/html/Admin/CustomFields/index.html:48 share/html/Admin/CustomFields/index.html:51
+#: share/html/Admin/CustomFields/index.html:48
+#: share/html/Admin/CustomFields/index.html:51
 msgid "Select a Custom Field"
 msgstr "Scegli un campo personalizzato"
 
@@ -6106,7 +6679,8 @@
 msgid "Select a queue for your new ticket"
 msgstr "Scegli una coda per il nuovo ticket"
 
-#: share/html/Admin/Users/index.html:48 share/html/Admin/Users/index.html:51 share/html/Admin/Users/index.html:54
+#: share/html/Admin/Users/index.html:48 share/html/Admin/Users/index.html:51
+#: share/html/Admin/Users/index.html:54
 msgid "Select a user"
 msgstr "Seleziona un utente"
 
@@ -6114,25 +6688,32 @@
 msgid "Select custom field"
 msgstr "Seleziona un campo personalizzato"
 
-#: share/html/Admin/Elements/GlobalCustomFieldTabs:70 share/html/Admin/Global/CustomFields/index.html:78
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:70
+#: share/html/Admin/Global/CustomFields/index.html:78
 msgid "Select custom fields for all queues"
 msgstr ""
 
-#: share/html/Admin/Elements/GlobalCustomFieldTabs:64 share/html/Admin/Global/CustomFields/index.html:72
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:64
+#: share/html/Admin/Global/CustomFields/index.html:72
 msgid "Select custom fields for all user groups"
 msgstr "Seleziona i campi personalizzati per tutti i gruppi degli utenti"
 
-#: share/html/Admin/Elements/GlobalCustomFieldTabs:58 share/html/Admin/Global/CustomFields/index.html:67
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:58
+#: share/html/Admin/Global/CustomFields/index.html:67
 msgid "Select custom fields for all users"
 msgstr "Seleziona i campi personalizzati per tutti gli utenti"
 
-#: share/html/Admin/Elements/GlobalCustomFieldTabs:76 share/html/Admin/Global/CustomFields/index.html:84
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:76
+#: share/html/Admin/Global/CustomFields/index.html:84
 msgid "Select custom fields for tickets in all queues"
 msgstr "Seleziona i campi personalizzati per i ticket in tutte le code"
 
-#: share/html/Admin/Elements/GlobalCustomFieldTabs:82 share/html/Admin/Global/CustomFields/index.html:91
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:82
+#: share/html/Admin/Global/CustomFields/index.html:91
 msgid "Select custom fields for transactions on tickets in all queues"
-msgstr "Seleziona i campi personalizzati per le transazioni relative ai ticket in tutte le code"
+msgstr ""
+"Seleziona i campi personalizzati per le transazioni relative ai ticket in "
+"tutte le code"
 
 #: share/html/Dashboards/Elements/Tabs:95
 msgid "Select dashboard"
@@ -6156,13 +6737,19 @@
 
 #: share/html/Prefs/Quicksearch.html:55
 msgid "Select queues to be displayed on the \"RT at a glance\" page"
-msgstr ""
+msgstr "Seleziona le code da visualizzare nella pagina \"Quadro di insieme\""
 
-#: share/html/Admin/Global/Scrip.html:61 share/html/Admin/Global/Scrips.html:59 share/html/Admin/Queues/Scrip.html:69 share/html/Admin/Queues/Scrips.html:75
+#: share/html/Admin/Global/Scrip.html:61
+#: share/html/Admin/Global/Scrips.html:59
+#: share/html/Admin/Queues/Scrip.html:69
+#: share/html/Admin/Queues/Scrips.html:75
 msgid "Select scrip"
 msgstr "Seleziona lo scrip"
 
-#: share/html/Admin/Global/Template.html:77 share/html/Admin/Global/Templates.html:59 share/html/Admin/Queues/Template.html:78 share/html/Admin/Queues/Templates.html:70
+#: share/html/Admin/Global/Template.html:77
+#: share/html/Admin/Global/Templates.html:59
+#: share/html/Admin/Queues/Template.html:78
+#: share/html/Admin/Queues/Templates.html:70
 msgid "Select template"
 msgstr "Seleziona il modello"
 
@@ -6192,7 +6779,7 @@
 
 #: share/html/Widgets/SelectionBox:220
 msgid "Selections modified. Please save your changes"
-msgstr ""
+msgstr "Selezioni modificate. Per favore salva i tuoi cambiamenti"
 
 #: NOT FOUND IN SOURCE
 msgid "Self Service"
@@ -6358,7 +6945,9 @@
 msgid "ShowTicketComments"
 msgstr "MostraCommentiAlTicket"
 
-#: share/html/Admin/Elements/ToolTabs:60 share/html/Admin/Tools/Shredder/index.html:78 share/html/Ticket/Elements/Tabs:289
+#: share/html/Admin/Elements/ToolTabs:60
+#: share/html/Admin/Tools/Shredder/index.html:78
+#: share/html/Ticket/Elements/Tabs:289
 msgid "Shredder"
 msgstr ""
 
@@ -6396,7 +6985,7 @@
 
 #: share/html/Elements/Tabs.orig:71 share/html/Elements/Tabs:71
 msgid "Simple Search"
-msgstr ""
+msgstr "Ricerca Semplice"
 
 #: share/html/Admin/Elements/SelectSingleOrMultiple:49
 msgid "Single"
@@ -6419,10 +7008,14 @@
 msgstr "Piccolo"
 
 #: share/html/Admin/CustomFields/Modify.html:107
-msgid "Some browsers may only load content from the same domain as your RT server."
+msgid ""
+"Some browsers may only load content from the same domain as your RT server."
 msgstr ""
+"Alcuni browser possono solo visualizzare dallo stesso dominio del server su "
+"cui è installato RT"
 
-#: share/html/Admin/Elements/AddCustomFieldValue:53 share/html/Admin/Elements/EditCustomFieldValues:57
+#: share/html/Admin/Elements/AddCustomFieldValue:53
+#: share/html/Admin/Elements/EditCustomFieldValues:57
 msgid "Sort"
 msgstr "Ordinamento"
 
@@ -6462,7 +7055,9 @@
 msgid "Start page"
 msgstr "Pagina iniziale"
 
-#: share/html/Elements/SelectDateType:50 share/html/Ticket/Elements/EditDates:55 share/html/Ticket/Elements/ShowDates:58
+#: share/html/Elements/SelectDateType:50
+#: share/html/Ticket/Elements/EditDates:55
+#: share/html/Ticket/Elements/ShowDates:58
 msgid "Started"
 msgstr "Iniziato"
 
@@ -6474,7 +7069,9 @@
 msgid "StartedRelative"
 msgstr "TempoDaInizio"
 
-#: share/html/Elements/SelectDateType:54 share/html/Ticket/Create.html:215 share/html/Ticket/Elements/EditDates:50 share/html/Ticket/Elements/ShowDates:54
+#: share/html/Elements/SelectDateType:54 share/html/Ticket/Create.html:215
+#: share/html/Ticket/Elements/EditDates:50
+#: share/html/Ticket/Elements/ShowDates:54
 msgid "Starts"
 msgstr "InizioPrevisto"
 
@@ -6494,7 +7091,12 @@
 msgid "State"
 msgstr "Provincia"
 
-#: lib/RT/Ticket_Overlay.pm:902 lib/RT/Tickets_Overlay.pm:1700 share/html/Search/Elements/PickBasics:97 share/html/SelfService/Update.html:59 share/html/Ticket/Create.html:70 share/html/Ticket/Elements/EditBasics:55 share/html/Ticket/Elements/ShowBasics:54 share/html/Ticket/Update.html:67 share/html/Tools/MyDay.html:67
+#: lib/RT/Ticket_Overlay.pm:902 lib/RT/Tickets_Overlay.pm:1700
+#: share/html/Search/Elements/PickBasics:97
+#: share/html/SelfService/Update.html:59 share/html/Ticket/Create.html:70
+#: share/html/Ticket/Elements/EditBasics:55
+#: share/html/Ticket/Elements/ShowBasics:54 share/html/Ticket/Update.html:67
+#: share/html/Tools/MyDay.html:67
 msgid "Status"
 msgstr "Stato"
 
@@ -6502,8 +7104,8 @@
 msgid "Status Change"
 msgstr "Cambiamento di stato"
 
-#: lib/RT/Transaction_Overlay.pm:573
 #. ("'" . $self->loc( $self->OldValue ) . "'",                        "'" . $self->loc( $self->NewValue ) . "'")
+#: lib/RT/Transaction_Overlay.pm:573
 msgid "Status changed from %1 to %2"
 msgstr "Cambiato lo stato da %1 a %2"
 
@@ -6523,8 +7125,8 @@
 msgid "StealTicket"
 msgstr "SottraeTicket"
 
-#: lib/RT/Transaction_Overlay.pm:667
 #. ($Old->Name)
+#: lib/RT/Transaction_Overlay.pm:667
 msgid "Stolen from %1"
 msgstr "Sottratto da %1"
 
@@ -6536,7 +7138,14 @@
 msgid "Style"
 msgstr "Stile"
 
-#: lib/RT/Ticket_Overlay.pm:898 lib/RT/Tickets_Overlay.pm:1782 share/html/Elements/QuickCreate:53 share/html/Elements/SelectAttachmentField:49 share/html/Search/Bulk.html:137 share/html/SelfService/Create.html:81 share/html/SelfService/Update.html:67 share/html/Ticket/Create.html:110 share/html/Ticket/Elements/EditBasics:50 share/html/Ticket/Elements/Reminders:128 share/html/Ticket/Forward.html:64 share/html/Ticket/ModifyAll.html:103 share/html/Ticket/Update.html:96
+#: lib/RT/Ticket_Overlay.pm:898 lib/RT/Tickets_Overlay.pm:1782
+#: share/html/Elements/QuickCreate:53
+#: share/html/Elements/SelectAttachmentField:49
+#: share/html/Search/Bulk.html:137 share/html/SelfService/Create.html:81
+#: share/html/SelfService/Update.html:67 share/html/Ticket/Create.html:110
+#: share/html/Ticket/Elements/EditBasics:50
+#: share/html/Ticket/Elements/Reminders:128 share/html/Ticket/Forward.html:64
+#: share/html/Ticket/ModifyAll.html:103 share/html/Ticket/Update.html:96
 msgid "Subject"
 msgstr "Oggetto"
 
@@ -6544,13 +7153,14 @@
 msgid "Subject Tag"
 msgstr ""
 
-#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:807 lib/RT/Transaction_Overlay.pm:689
 #. ($self->Data)
+#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:807
+#: lib/RT/Transaction_Overlay.pm:689
 msgid "Subject changed to %1"
 msgstr "L'oggetto diventa %1"
 
-#: lib/RT/Queue_Overlay.pm:539
 #. ((defined $value && length $value)? $value : $self->loc("(no value)"))
+#: lib/RT/Queue_Overlay.pm:539
 msgid "SubjectTag changed to %1"
 msgstr ""
 
@@ -6566,8 +7176,8 @@
 msgid "Subscribe"
 msgstr ""
 
-#: share/html/Dashboards/Subscription.html:268
 #. ($DashboardObj->Name)
+#: share/html/Dashboards/Subscription.html:268
 msgid "Subscribe to dashboard %1"
 msgstr ""
 
@@ -6579,17 +7189,19 @@
 msgid "SubscribeDashboard"
 msgstr ""
 
-#: share/html/Dashboards/Subscription.html:254
 #. ($DashboardObj->Name)
+#: share/html/Dashboards/Subscription.html:254
 msgid "Subscribed to dashboard %1"
 msgstr ""
 
-#: share/html/Dashboards/Elements/ShowDashboards:57 share/html/Dashboards/Elements/Tabs:78 share/html/Dashboards/Subscription.html:97
+#: share/html/Dashboards/Elements/ShowDashboards:57
+#: share/html/Dashboards/Elements/Tabs:78
+#: share/html/Dashboards/Subscription.html:97
 msgid "Subscription"
 msgstr ""
 
-#: share/html/Dashboards/Subscription.html:259
 #. ($msg)
+#: share/html/Dashboards/Subscription.html:259
 msgid "Subscription could not be created: %1"
 msgstr ""
 
@@ -6625,7 +7237,8 @@
 msgid "System"
 msgstr "Sistema"
 
-#: share/html/Admin/Elements/ToolTabs:57 share/html/Admin/Tools/Configuration.html:50
+#: share/html/Admin/Elements/ToolTabs:57
+#: share/html/Admin/Tools/Configuration.html:50
 msgid "System Configuration"
 msgstr "Configurazione del sistema"
 
@@ -6633,7 +7246,8 @@
 msgid "System Default"
 msgstr ""
 
-#: lib/RT/ACE_Overlay.pm:355 lib/RT/Interface/Web.pm:830 share/html/Admin/Elements/SelectRights:108
+#: lib/RT/ACE_Overlay.pm:355 lib/RT/Interface/Web.pm:830
+#: share/html/Admin/Elements/SelectRights:108
 msgid "System Error"
 msgstr "Errore di sistema"
 
@@ -6645,8 +7259,8 @@
 msgid "System Error. right not granted"
 msgstr "Errore di sistema. Diritto non concesso"
 
-#: lib/RT/Transaction_Overlay.pm:222 lib/RT/Transaction_Overlay.pm:228
 #. ($msg)
+#: lib/RT/Transaction_Overlay.pm:222 lib/RT/Transaction_Overlay.pm:228
 msgid "System Error: %1"
 msgstr "Errore di sistema: %1"
 
@@ -6658,7 +7272,8 @@
 msgid "System error. Right not delegated."
 msgstr "Errore di sistema. Diritto non delegato."
 
-#: lib/RT/ACE_Overlay.pm:152 lib/RT/ACE_Overlay.pm:224 lib/RT/ACE_Overlay.pm:304
+#: lib/RT/ACE_Overlay.pm:152 lib/RT/ACE_Overlay.pm:224
+#: lib/RT/ACE_Overlay.pm:304
 msgid "System error. Right not granted."
 msgstr "Errore di sistema. Diritto non concesso."
 
@@ -6666,7 +7281,10 @@
 msgid "System error. Unable to grant rights."
 msgstr "Errore di sistema. Impossibile concedere i diritti."
 
-#: share/html/Admin/CustomFields/GroupRights.html:60 share/html/Admin/Global/GroupRights.html:58 share/html/Admin/Groups/GroupRights.html:60 share/html/Admin/Queues/GroupRights.html:59
+#: share/html/Admin/CustomFields/GroupRights.html:60
+#: share/html/Admin/Global/GroupRights.html:58
+#: share/html/Admin/Groups/GroupRights.html:60
+#: share/html/Admin/Queues/GroupRights.html:59
 msgid "System groups"
 msgstr "Gruppi di sistema"
 
@@ -6678,7 +7296,8 @@
 msgid "TEST_STRING"
 msgstr "TEST_STRING"
 
-#: etc/initialdata:665 share/html/Search/Elements/EditFormat:69 share/html/Ticket/Elements/Tabs:198
+#: etc/initialdata:665 share/html/Search/Elements/EditFormat:69
+#: share/html/Ticket/Elements/Tabs:198
 msgid "Take"
 msgstr "Prendi in carico"
 
@@ -6698,18 +7317,19 @@
 msgid "Template"
 msgstr "Modello"
 
-#: share/html/Admin/Global/Template.html:110 share/html/Admin/Queues/Template.html:115
 #. ($TemplateObj->Id())
+#: share/html/Admin/Global/Template.html:110
+#: share/html/Admin/Queues/Template.html:115
 msgid "Template #%1"
 msgstr "Modello n°%1"
 
-#: share/html/Admin/Elements/EditTemplates:114
 #. ($id)
+#: share/html/Admin/Elements/EditTemplates:114
 msgid "Template #%1 deleted"
 msgstr ""
 
-#: lib/RT/Scrip_Overlay.pm:144
 #. ($args{'Template'})
+#: lib/RT/Scrip_Overlay.pm:144
 msgid "Template '%1' not found"
 msgstr ""
 
@@ -6723,7 +7343,7 @@
 
 #: lib/RT/Scrip_Overlay.pm:140
 msgid "Template is mandatory argument"
-msgstr ""
+msgstr "Il Template è un argomento obbligatorio"
 
 #: NOT FOUND IN SOURCE
 msgid "Template not found"
@@ -6739,9 +7359,11 @@
 
 #: lib/RT/Template_Overlay.pm:436
 msgid "Template parsing error"
-msgstr ""
+msgstr "Errore nell'elaborazione del modello"
 
-#: share/html/Admin/Elements/QueueTabs:72 share/html/Admin/Elements/SystemTabs:59 share/html/Admin/Global/index.html:60
+#: share/html/Admin/Elements/QueueTabs:72
+#: share/html/Admin/Elements/SystemTabs:59
+#: share/html/Admin/Global/index.html:60
 msgid "Templates"
 msgstr "Modelli"
 
@@ -6769,23 +7391,23 @@
 msgid "That principal already has that right"
 msgstr "Questo utente/gruppo ha già questo diritto"
 
-#: lib/RT/Queue_Overlay.pm:794
 #. ($args{'Type'})
+#: lib/RT/Queue_Overlay.pm:794
 msgid "That principal is already a %1 for this queue"
 msgstr "Questo utente/gruppo è già %1 per questa coda"
 
-#: lib/RT/Ticket_Overlay.pm:1118
 #. ($self->loc($args{'Type'}))
+#: lib/RT/Ticket_Overlay.pm:1118
 msgid "That principal is already a %1 for this ticket"
 msgstr "Questo utente/gruppo è già %1 per questo ticket"
 
-#: lib/RT/Queue_Overlay.pm:910
 #. ($args{'Type'})
+#: lib/RT/Queue_Overlay.pm:910
 msgid "That principal is not a %1 for this queue"
 msgstr "Questo utente/gruppo non è %1 per questa coda"
 
-#: lib/RT/Ticket_Overlay.pm:1240
 #. ($args{'Type'})
+#: lib/RT/Ticket_Overlay.pm:1240
 msgid "That principal is not a %1 for this ticket"
 msgstr "Questo utente/gruppo non è %1 per questo ticket"
 
@@ -6837,7 +7459,8 @@
 msgid "That's not a numerical id"
 msgstr "Non è un identificativo numerico"
 
-#: share/html/SelfService/Display.html:55 share/html/Ticket/Create.html:183 share/html/Ticket/Elements/ShowSummary:51
+#: share/html/SelfService/Display.html:55 share/html/Ticket/Create.html:183
+#: share/html/Ticket/Elements/ShowSummary:51
 msgid "The Basics"
 msgstr "Dati di base"
 
@@ -6858,8 +7481,12 @@
 msgstr ""
 
 #: bin/rt-crontool:325
-msgid "The following command will find all active tickets in the queue 'general' and set their priority to 99 if they haven't been touched in 4 hours:"
-msgstr "Il comando seguente troverà tutti i ticket attivi nella coda 'general' e ne imposterà la priorità a 99 se nessuno li ha toccati nelle ultime 4 ore:"
+msgid ""
+"The following command will find all active tickets in the queue 'general' "
+"and set their priority to 99 if they haven't been touched in 4 hours:"
+msgstr ""
+"Il comando seguente troverà tutti i ticket attivi nella coda 'general' e ne "
+"imposterà la priorità a 99 se nessuno li ha toccati nelle ultime 4 ore:"
 
 #: lib/RT/Crypt/GnuPG.pm:2089
 msgid "The key has been disabled"
@@ -6898,17 +7525,21 @@
 msgstr "Il richiedente del ticket"
 
 #: share/html/Elements/GnuPG/KeyIssues:52
-msgid "The system is unable to sign outgoing email messages. This usually indicates that the passphrase was mis-set, or that GPG Agent is down. Please alert your system administrator immediately. The problem addresses are:"
+msgid ""
+"The system is unable to sign outgoing email messages. This usually indicates "
+"that the passphrase was mis-set, or that GPG Agent is down. Please alert "
+"your system administrator immediately. The problem addresses are:"
 msgstr ""
 
 #: lib/RT/Config.pm:106
 msgid "Theme"
 msgstr ""
 
-#: share/html/Ticket/Elements/ShowUpdateStatus:50
 #. ()
+#: share/html/Ticket/Elements/ShowUpdateStatus:50
+#, fuzzy
 msgid "There are unread messages on this ticket."
-msgstr ""
+msgstr "Hai già in carico questo ticket"
 
 #: lib/RT/Crypt/GnuPG.pm:2128
 msgid "There is marginal trust in this key"
@@ -6926,9 +7557,11 @@
 msgid "This feature is only available to system administrators"
 msgstr "Questa funzionalità è riservata agli amministratori di sistema"
 
-#: lib/RT/Interface/Web/Session.pm:277
 #. ($RT::MasonSessionDir)
-msgid "This may mean that that the directory '%1' isn't writable or a database table is missing or corrupt."
+#: lib/RT/Interface/Web/Session.pm:277
+msgid ""
+"This may mean that that the directory '%1' isn't writable or a database "
+"table is missing or corrupt."
 msgstr ""
 
 #: share/html/Ticket/Elements/PreviewScrips:58
@@ -6941,14 +7574,15 @@
 
 #: bin/rt-crontool:316
 msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr "Questo strumento permette di eseguire qualsiasi modulo perl da dentro RT."
+msgstr ""
+"Questo strumento permette di eseguire qualsiasi modulo perl da dentro RT."
 
 #: lib/RT/Transaction_Overlay.pm:325
 msgid "This transaction appears to have no content"
 msgstr "La transazione sembra non avere alcun contenuto"
 
-#: share/html/Ticket/Elements/ShowRequestor:74
 #. ($rows)
+#: share/html/Ticket/Elements/ShowRequestor:74
 msgid "This user's %1 highest priority tickets"
 msgstr "I %1 ticket a maggior priorità richiesti da questo utente"
 
@@ -6972,30 +7606,32 @@
 msgid "Ticket # %1 Jumbo update: %2"
 msgstr "Ticket n° %1 aggiornamento Jumbo: %2"
 
-#: share/html/Ticket/ModifyAll.html:48 share/html/Ticket/ModifyAll.html:52
 #. ($Ticket->Id, $Ticket->Subject)
+#: share/html/Ticket/ModifyAll.html:48 share/html/Ticket/ModifyAll.html:52
 msgid "Ticket #%1 Jumbo update: %2"
 msgstr "Ticket n°%1 aggiornamento Jumbo: %2"
 
-#: share/html/Ticket/Graphs/index.html:113
 #. ($id)
+#: share/html/Ticket/Graphs/index.html:113
 msgid "Ticket #%1 relationships graph"
 msgstr ""
 
-#: share/html/Approvals/Elements/ShowDependency:69
 #. ($link->BaseObj->Id, $link->BaseObj->Subject)
+#: share/html/Approvals/Elements/ShowDependency:69
 msgid "Ticket #%1: %2"
 msgstr "Ticket n°%1: %2"
 
-#: lib/RT/Action/CreateTickets.pm:1121 lib/RT/Action/CreateTickets.pm:1130 lib/RT/Action/CreateTickets.pm:376 lib/RT/Action/CreateTickets.pm:500 lib/RT/Action/CreateTickets.pm:512
 #. ($T::Tickets{$template_id}->Id)
 #. ($T::Tickets{$template_id}->id)
 #. ($ticket->Id)
+#: lib/RT/Action/CreateTickets.pm:1121 lib/RT/Action/CreateTickets.pm:1130
+#: lib/RT/Action/CreateTickets.pm:376 lib/RT/Action/CreateTickets.pm:500
+#: lib/RT/Action/CreateTickets.pm:512
 msgid "Ticket %1"
 msgstr ""
 
-#: lib/RT/Ticket_Overlay.pm:660 lib/RT/Ticket_Overlay.pm:684
 #. ($self->Id, $QueueObj->Name)
+#: lib/RT/Ticket_Overlay.pm:660 lib/RT/Ticket_Overlay.pm:684
 msgid "Ticket %1 created in queue '%2'"
 msgstr "Creato ticket %1 nella coda '%2'"
 
@@ -7003,9 +7639,10 @@
 msgid "Ticket %1 loaded\\n"
 msgstr "Caricato ticket %1\\n"
 
-#: share/html/Search/Bulk.html:369 share/html/Tools/MyDay.html:100 share/html/Tools/MyDay.html:91 share/html/Tools/MyDay.html:94
 #. ($id, $msg)
 #. ($Ticket->Id, $_)
+#: share/html/Search/Bulk.html:369 share/html/Tools/MyDay.html:100
+#: share/html/Tools/MyDay.html:91 share/html/Tools/MyDay.html:94
 msgid "Ticket %1: %2"
 msgstr "Ticket %1: %2"
 
@@ -7013,8 +7650,8 @@
 msgid "Ticket Custom Fields"
 msgstr "Campi personalizzati del ticket"
 
-#: share/html/Ticket/History.html:48 share/html/Ticket/History.html:51
 #. ($Ticket->Id, $Ticket->Subject)
+#: share/html/Ticket/History.html:48 share/html/Ticket/History.html:51
 msgid "Ticket History # %1 %2"
 msgstr "Cronologia del ticket n° %1 %2"
 
@@ -7030,7 +7667,9 @@
 msgid "Ticket Search"
 msgstr ""
 
-#: lib/RT/CustomField_Overlay.pm:1100 share/html/Admin/Elements/GlobalCustomFieldTabs:81 share/html/Admin/Global/CustomFields/index.html:89
+#: lib/RT/CustomField_Overlay.pm:1100
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:81
+#: share/html/Admin/Global/CustomFields/index.html:89
 msgid "Ticket Transactions"
 msgstr "Transazioni sul ticket"
 
@@ -7046,7 +7685,8 @@
 msgid "Ticket content type"
 msgstr "Tipo del contenuto del ticket"
 
-#: lib/RT/Ticket_Overlay.pm:489 lib/RT/Ticket_Overlay.pm:502 lib/RT/Ticket_Overlay.pm:513 lib/RT/Ticket_Overlay.pm:668
+#: lib/RT/Ticket_Overlay.pm:489 lib/RT/Ticket_Overlay.pm:502
+#: lib/RT/Ticket_Overlay.pm:513 lib/RT/Ticket_Overlay.pm:668
 msgid "Ticket could not be created due to an internal error"
 msgstr "A causa di un errore interno non è stato possibile creare il ticket"
 
@@ -7094,32 +7734,36 @@
 msgid "Ticket watchers"
 msgstr "Osservatori del ticket"
 
-#: lib/RT/Search/FromSQL.pm:80
 #. (ref $self)
+#: lib/RT/Search/FromSQL.pm:80
 msgid "TicketSQL search module"
 msgstr "Modulo di ricerca TicketSQL"
 
-#: lib/RT/CustomField_Overlay.pm:1099 share/html/Admin/Elements/GlobalCustomFieldTabs:75 share/html/Admin/Global/CustomFields/index.html:83 share/html/Elements/Tabs.orig:74 share/html/Elements/Tabs:74 share/html/Search/Chart:113 share/html/Search/Elements/Chart:115
+#: lib/RT/CustomField_Overlay.pm:1099
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:75
+#: share/html/Admin/Global/CustomFields/index.html:83
+#: share/html/Elements/Tabs.orig:74 share/html/Elements/Tabs:74
+#: share/html/Search/Chart:113 share/html/Search/Elements/Chart:115
 msgid "Tickets"
 msgstr "Ticket"
 
-#: lib/RT/Tickets_Overlay.pm:2189
 #. ($self->loc( $args{'TYPE'} ),            $args{'BASE'},)
+#: lib/RT/Tickets_Overlay.pm:2189
 msgid "Tickets %1 %2"
 msgstr ""
 
-#: lib/RT/Tickets_Overlay.pm:2144
 #. ($self->loc( $args{'TYPE'} ),            $args{'TARGET'})
+#: lib/RT/Tickets_Overlay.pm:2144
 msgid "Tickets %1 by %2"
 msgstr "Ticket %1 da %2"
 
 #: share/html/Tools/Reports/CreatedByDates.html:88
 msgid "Tickets created after"
-msgstr ""
+msgstr "Ticket creati dopo"
 
 #: share/html/Tools/Reports/CreatedByDates.html:90
 msgid "Tickets created before"
-msgstr ""
+msgstr "Ticket creati prima"
 
 #: NOT FOUND IN SOURCE
 msgid "Tickets from %1"
@@ -7127,25 +7771,28 @@
 
 #: share/html/Tools/Reports/ResolvedByDates.html:89
 msgid "Tickets resolved after"
-msgstr ""
+msgstr "Ticket risolti dopo"
 
 #: share/html/Tools/Reports/ResolvedByDates.html:91
 msgid "Tickets resolved before"
-msgstr ""
+msgstr "Ticket risolti prima"
 
 #: share/html/Approvals/Elements/ShowDependency:50
 msgid "Tickets which depend on this approval:"
 msgstr "Ticket che dipendono da questa approvazione:"
 
-#: share/html/Search/Elements/PickBasics:165 share/html/Ticket/Create.html:189 share/html/Ticket/Elements/EditBasics:74
+#: share/html/Search/Elements/PickBasics:165 share/html/Ticket/Create.html:189
+#: share/html/Ticket/Elements/EditBasics:74
 msgid "Time Estimated"
 msgstr "Tempo stimato"
 
-#: lib/RT/Tickets_Overlay.pm:1940 share/html/Search/Elements/PickBasics:166 share/html/Ticket/Create.html:202 share/html/Ticket/Elements/EditBasics:89
+#: lib/RT/Tickets_Overlay.pm:1940 share/html/Search/Elements/PickBasics:166
+#: share/html/Ticket/Create.html:202 share/html/Ticket/Elements/EditBasics:89
 msgid "Time Left"
 msgstr "Tempo rimasto"
 
-#: lib/RT/Tickets_Overlay.pm:1915 share/html/Search/Elements/PickBasics:164 share/html/Ticket/Create.html:195 share/html/Ticket/Elements/EditBasics:82
+#: lib/RT/Tickets_Overlay.pm:1915 share/html/Search/Elements/PickBasics:164
+#: share/html/Ticket/Create.html:195 share/html/Ticket/Elements/EditBasics:82
 msgid "Time Worked"
 msgstr "Tempo lavorato"
 
@@ -7163,15 +7810,15 @@
 
 #: NOT FOUND IN SOURCE
 msgid "TimeEstimated"
-msgstr "TempoStimato"
+msgstr "Tempo Stimato"
 
 #: NOT FOUND IN SOURCE
 msgid "TimeLeft"
-msgstr "TempoRimanente"
+msgstr "Tempo Rimanente"
 
 #: lib/RT/Ticket_Overlay.pm:903
 msgid "TimeWorked"
-msgstr "TempoImpiegato"
+msgstr "Tempo Impiegato"
 
 #: share/html/User/Prefs.html:82
 msgid "Timezone"
@@ -7193,33 +7840,39 @@
 msgid "To generate a diff of this commit:\\n"
 msgstr "Per generare una diff dopo il commit:\\n"
 
-#: share/html/Elements/Footer:65
 #. ('<a href="mailto:sales at bestpractical.com">sales at bestpractical.com</a>')
-msgid "To inquire about support, training, custom development or licensing, please contact %1."
-msgstr "Per richieste di supporto, formazione, personalizzazioni o acquisto di licenze, si prega di contattare %1."
+#: share/html/Elements/Footer:65
+msgid ""
+"To inquire about support, training, custom development or licensing, please "
+"contact %1."
+msgstr ""
+"Per richieste di supporto, formazione, personalizzazioni o acquisto di "
+"licenze, si prega di contattare %1."
 
 #: lib/RT/Ticket_Overlay.pm:906
 msgid "Told"
-msgstr "UltimaComunicazioneARichiedenti"
+msgstr "Ultima Comunicazione a Richiedenti"
 
 #: NOT FOUND IN SOURCE
 msgid "ToldRelative"
-msgstr "TempoDaUltimoContattoRichiedente"
+msgstr "Tempo Da Ultimo Contatto Richiedente"
 
-#: share/html/Admin/Elements/Tabs:70 share/html/Admin/index.html:84 share/html/Elements/Tabs.orig:77 share/html/Elements/Tabs:77 share/html/Tools/index.html:48 share/html/Tools/index.html:51
+#: share/html/Admin/Elements/Tabs:70 share/html/Admin/index.html:84
+#: share/html/Elements/Tabs.orig:77 share/html/Elements/Tabs:77
+#: share/html/Tools/index.html:48 share/html/Tools/index.html:51
 msgid "Tools"
 msgstr "Strumenti"
 
 #: share/html/Search/Elements/Chart:136
 msgid "Total"
-msgstr ""
+msgstr "Totale"
 
 #: etc/initialdata:221
 msgid "Transaction"
 msgstr "Transazioni"
 
-#: lib/RT/Transaction_Overlay.pm:794
 #. ($self->Data)
+#: lib/RT/Transaction_Overlay.pm:794
 msgid "Transaction %1 purged"
 msgstr "Transazione %1 ripulita"
 
@@ -7233,11 +7886,15 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Transaction->Create couldn't, as you didn't specify a ticket id"
-msgstr "Transaction->Create fallita, devi specificare l'identificativo dell'oggetto"
+msgstr ""
+"Transaction->Create fallita, devi specificare l'identificativo dell'oggetto"
 
 #: lib/RT/Transaction_Overlay.pm:126
-msgid "Transaction->Create couldn't, as you didn't specify an object type and id"
-msgstr "Transaction->Create fallita, devi specificare il tipo e l'identificativo dell'oggetto"
+msgid ""
+"Transaction->Create couldn't, as you didn't specify an object type and id"
+msgstr ""
+"Transaction->Create fallita, devi specificare il tipo e l'identificativo "
+"dell'oggetto"
 
 #: lib/RT/Transaction_Overlay.pm:859
 msgid "Transactions are immutable"
@@ -7267,12 +7924,17 @@
 msgid "Tue."
 msgstr "Mar."
 
-#: lib/RT/Ticket_Overlay.pm:904 lib/RT/Tickets_Overlay.pm:1754 share/html/Admin/CustomFields/Modify.html:67 share/html/Admin/Elements/EditCustomField:67 share/html/Ticket/Elements/AddWatchers:56 share/html/Ticket/Elements/AddWatchers:67 share/html/Ticket/Elements/AddWatchers:77
+#: lib/RT/Ticket_Overlay.pm:904 lib/RT/Tickets_Overlay.pm:1754
+#: share/html/Admin/CustomFields/Modify.html:67
+#: share/html/Admin/Elements/EditCustomField:67
+#: share/html/Ticket/Elements/AddWatchers:56
+#: share/html/Ticket/Elements/AddWatchers:67
+#: share/html/Ticket/Elements/AddWatchers:77
 msgid "Type"
 msgstr "Tipo"
 
-#: lib/RT/CustomField_Overlay.pm:736
 #. ($self->FriendlyTypeComposite( $old ),        $self->FriendlyTypeComposite( $composite ),)
+#: lib/RT/CustomField_Overlay.pm:736
 msgid "Type changed from '%1' to '%2'"
 msgstr ""
 
@@ -7280,19 +7942,19 @@
 msgid "Unable to determine object type or id"
 msgstr ""
 
-#: sbin/rt-email-dashboards:201
 #. ($subscription->SubValue('DashboardId'),            $subscription->Id,            $currentuser->Name)
+#: sbin/rt-email-dashboards:201
 msgid "Unable to load dashboard %1 of subscription %2 for user %3"
 msgstr ""
 
-#: share/html/Dashboards/index.html:104
 #. ($Unsubscribe)
+#: share/html/Dashboards/index.html:104
 msgid "Unable to unsubscribe to dashboard %1"
 msgstr ""
 
 #: lib/RT/ScripCondition_Overlay.pm:126
 msgid "Unimplemented"
-msgstr "NonImplementato"
+msgstr "Non Implementato"
 
 #: share/html/Admin/Users/Modify.html:91
 msgid "Unix login"
@@ -7300,7 +7962,7 @@
 
 #: NOT FOUND IN SOURCE
 msgid "UnixUsername"
-msgstr "UsernameUnix"
+msgstr "Username Unix"
 
 #: lib/RT/Crypt/GnuPG.pm:2112 lib/RT/Crypt/GnuPG.pm:2117
 msgid "Unknown (no trust value assigned)"
@@ -7310,9 +7972,9 @@
 msgid "Unknown (this value is new to the system)"
 msgstr ""
 
-#: lib/RT/Attachment_Overlay.pm:300 lib/RT/Record.pm:806
 #. ($self->ContentEncoding)
 #. ($ContentEncoding)
+#: lib/RT/Attachment_Overlay.pm:300 lib/RT/Record.pm:806
 msgid "Unknown ContentEncoding %1"
 msgstr "ContentEncoding sconosciuto %1"
 
@@ -7320,8 +7982,8 @@
 msgid "Unknown field: $key"
 msgstr "Campo sconosciuto: $key"
 
-#: lib/RT/Interface/Web/QueryBuilder/Tree.pm:266
 #. ($key)
+#: lib/RT/Interface/Web/QueryBuilder/Tree.pm:266
 msgid "Unknown field: %1"
 msgstr ""
 
@@ -7339,7 +8001,7 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Unprivileged"
-msgstr "NonPrevilegiato"
+msgstr "Non Privilegiato"
 
 #: share/html/Admin/Elements/EditCustomFields:62
 msgid "Unselected Custom Fields"
@@ -7357,16 +8019,20 @@
 msgid "Unsubscribe"
 msgstr ""
 
-#: share/html/Dashboards/index.html:101
 #. ($Dashboard->Name)
+#: share/html/Dashboards/index.html:101
 msgid "Unsubscribed to dashboard %1"
 msgstr ""
 
 #: lib/RT/Transaction_Overlay.pm:648
 msgid "Untaken"
-msgstr "NonPreso"
+msgstr "Non Preso"
 
-#: share/html/Admin/Elements/EditScrip:143 share/html/Admin/Users/Memberships.html:88 share/html/Elements/RT__Ticket/ColumnMap:276 share/html/Search/Bulk.html:202 share/html/Search/Bulk.html:80 share/html/Search/Elements/EditSearches:70
+#: share/html/Admin/Elements/EditScrip:143
+#: share/html/Admin/Users/Memberships.html:88
+#: share/html/Elements/RT__Ticket/ColumnMap:276
+#: share/html/Search/Bulk.html:202 share/html/Search/Bulk.html:80
+#: share/html/Search/Elements/EditSearches:70
 msgid "Update"
 msgstr "Aggiornamento"
 
@@ -7386,7 +8052,8 @@
 msgid "Update Ticket"
 msgstr "Aggiorna ticket"
 
-#: share/html/Search/Bulk.html:131 share/html/Ticket/ModifyAll.html:90 share/html/Ticket/Update.html:86
+#: share/html/Search/Bulk.html:131 share/html/Ticket/ModifyAll.html:90
+#: share/html/Ticket/Update.html:86
 msgid "Update Type"
 msgstr "Tipo aggiornamento"
 
@@ -7430,13 +8097,14 @@
 msgid "Update ticket # %1"
 msgstr "Aggiorna il ticket n° %1"
 
-#: share/html/SelfService/Update.html:114 share/html/SelfService/Update.html:49
 #. ($Ticket->id)
+#: share/html/SelfService/Update.html:114
+#: share/html/SelfService/Update.html:49
 msgid "Update ticket #%1"
 msgstr "Aggiorna il ticket n°%1"
 
-#: share/html/Ticket/Update.html:180
 #. ($TicketObj->id, $TicketObj->Subject)
+#: share/html/Ticket/Update.html:180
 msgid "Update ticket #%1 (%2)"
 msgstr "Aggiorna il ticket n°%1 (%2)"
 
@@ -7444,12 +8112,14 @@
 msgid "Update type was neither correspondence nor comment."
 msgstr "Il tipo aggiornamento non era ne' corrispondenza ne' commento."
 
-#: lib/RT/CustomField_Overlay.pm:1177 lib/RT/Ticket_Overlay.pm:907 share/html/Elements/SelectDateType:56 share/html/Ticket/Elements/ShowDates:79
+#: lib/RT/CustomField_Overlay.pm:1177 lib/RT/Ticket_Overlay.pm:907
+#: share/html/Elements/SelectDateType:56
+#: share/html/Ticket/Elements/ShowDates:79
 msgid "Updated"
 msgstr "Aggiornato"
 
-#: share/html/Search/Elements/EditSearches:257
 #. ($desc)
+#: share/html/Search/Elements/EditSearches:257
 msgid "Updated saved search \"%1\""
 msgstr ""
 
@@ -7493,8 +8163,8 @@
 msgid "Use SSL?"
 msgstr ""
 
-#: share/html/Widgets/Form/Boolean:66
 #. ($DefaultValue? loc('Yes'): loc('No'))
+#: share/html/Widgets/Form/Boolean:66
 msgid "Use default (%1)"
 msgstr ""
 
@@ -7502,8 +8172,8 @@
 msgid "Use other RT administrative tools"
 msgstr "Usa altri strumenti di amministrazione di RT"
 
-#: share/html/Widgets/Form/Select:74
 #. (join ', ', @DefaultValue)
+#: share/html/Widgets/Form/Select:74
 msgid "Use system default (%1)"
 msgstr ""
 
@@ -7515,8 +8185,8 @@
 msgid "User %1 Password: %2\\n"
 msgstr "Utente %1 Password: %2\\n"
 
-#: lib/RT/Ticket_Overlay.pm:398
 #. ($args{'Owner'})
+#: lib/RT/Ticket_Overlay.pm:398
 msgid "User '%1' could not be found."
 msgstr "Impossibile trovare l'utente '%1'"
 
@@ -7548,17 +8218,24 @@
 msgid "User Id"
 msgstr "Username"
 
-#: share/html/Admin/Elements/CustomFieldTabs:74 share/html/Admin/Elements/GroupTabs:70 share/html/Admin/Elements/QueueTabs:87 share/html/Admin/Elements/SystemTabs:70 share/html/Admin/Global/index.html:74
+#: share/html/Admin/Elements/CustomFieldTabs:74
+#: share/html/Admin/Elements/GroupTabs:70
+#: share/html/Admin/Elements/QueueTabs:87
+#: share/html/Admin/Elements/SystemTabs:70
+#: share/html/Admin/Global/index.html:74
 msgid "User Rights"
 msgstr "Diritti dell'utente"
 
-#: lib/RT/Interface/Web.pm:1205
 #. ($cf->Name, ref $args{'Object'}, $args{'Object'}->id)
-msgid "User asked for an unknown update type for custom field %1 for %2 object #%3"
-msgstr "L'utente ha richiesto un aggiornamento di tipo sconosciuto sul campo personalizzato %1 per %2 l'oggetto n°%3"
+#: lib/RT/Interface/Web.pm:1205
+msgid ""
+"User asked for an unknown update type for custom field %1 for %2 object #%3"
+msgstr ""
+"L'utente ha richiesto un aggiornamento di tipo sconosciuto sul campo "
+"personalizzato %1 per %2 l'oggetto n°%3"
 
-#: share/html/Admin/Users/Modify.html:306
 #. ($msg)
+#: share/html/Admin/Users/Modify.html:306
 msgid "User could not be created: %1"
 msgstr "Impossibile creare l'utente: %1"
 
@@ -7566,7 +8243,10 @@
 msgid "User created"
 msgstr "Utente creato"
 
-#: share/html/Admin/CustomFields/GroupRights.html:76 share/html/Admin/Global/GroupRights.html:90 share/html/Admin/Groups/GroupRights.html:77 share/html/Admin/Queues/GroupRights.html:92
+#: share/html/Admin/CustomFields/GroupRights.html:76
+#: share/html/Admin/Global/GroupRights.html:90
+#: share/html/Admin/Groups/GroupRights.html:77
+#: share/html/Admin/Queues/GroupRights.html:92
 msgid "User defined groups"
 msgstr "Gruppi definiti dall'utente"
 
@@ -7594,11 +8274,19 @@
 msgid "User-defined groups"
 msgstr "Gruppi definiti dall'utente"
 
-#: share/html/Admin/Users/Modify.html:71 share/html/Elements/Login:92 share/html/Ticket/Elements/AddWatchers:58
+#: share/html/Admin/Users/Modify.html:71 share/html/Elements/Login:92
+#: share/html/Ticket/Elements/AddWatchers:58
 msgid "Username"
 msgstr "Username"
 
-#: lib/RT/CustomField_Overlay.pm:1101 share/html/Admin/Elements/GlobalCustomFieldTabs:57 share/html/Admin/Elements/SelectNewGroupMembers:49 share/html/Admin/Elements/Tabs:55 share/html/Admin/Global/CustomFields/index.html:66 share/html/Admin/Groups/Members.html:77 share/html/Admin/Queues/People.html:91 share/html/Admin/index.html:58 share/html/User/Groups/Members.html:81
+#: lib/RT/CustomField_Overlay.pm:1101
+#: share/html/Admin/Elements/GlobalCustomFieldTabs:57
+#: share/html/Admin/Elements/SelectNewGroupMembers:49
+#: share/html/Admin/Elements/Tabs:55
+#: share/html/Admin/Global/CustomFields/index.html:66
+#: share/html/Admin/Groups/Members.html:77
+#: share/html/Admin/Queues/People.html:91 share/html/Admin/index.html:58
+#: share/html/User/Groups/Members.html:81
 msgid "Users"
 msgstr "Utenti"
 
@@ -7606,8 +8294,8 @@
 msgid "Users matching search criteria"
 msgstr "Utenti che soddisfano il criterio di ricerca"
 
-#: bin/rt-crontool:161
 #. ($txn->id)
+#: bin/rt-crontool:161
 msgid "Using transaction #%1..."
 msgstr ""
 
@@ -7617,13 +8305,14 @@
 
 #: share/html/Admin/CustomFields/Modify.html:85
 msgid "Validation"
-msgstr ""
+msgstr "Validazione"
 
 #: NOT FOUND IN SOURCE
 msgid "ValueOfQueue"
 msgstr "ValoreDellaCoda"
 
-#: share/html/Admin/CustomFields/Modify.html:119 share/html/Admin/Elements/EditCustomField:80
+#: share/html/Admin/CustomFields/Modify.html:119
+#: share/html/Admin/Elements/EditCustomField:80
 msgid "Values"
 msgstr "Valori"
 
@@ -7636,7 +8325,9 @@
 msgstr ""
 
 #: share/html/Dashboards/Subscription.html:255
-msgid "Warning: you have no email address set, so you will not receive this dashboard until you have it set"
+msgid ""
+"Warning: you have no email address set, so you will not receive this "
+"dashboard until you have it set"
 msgstr ""
 
 #: lib/RT/Queue_Overlay.pm:107
@@ -7681,23 +8372,35 @@
 
 #: share/html/Tools/MyDay.html:77
 msgid "What I did today"
-msgstr ""
+msgstr "Cosa ho fatto oggi"
 
 #: etc/initialdata:582
-msgid "When a ticket has been approved by all approvers, add correspondence to the original ticket"
-msgstr "Quando un ticket ha ricevuto tutte le approvazioni richieste, aggiungi una corrispondenza al ticket originale"
+msgid ""
+"When a ticket has been approved by all approvers, add correspondence to the "
+"original ticket"
+msgstr ""
+"Quando un ticket ha ricevuto tutte le approvazioni richieste, aggiungi una "
+"corrispondenza al ticket originale"
 
 #: etc/initialdata:546
-msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
-msgstr "Quando un ticket riceve una qualsiasi delle approvazioni richieste, aggiungi una corrispondenza al ticket originale"
+msgid ""
+"When a ticket has been approved by any approver, add correspondence to the "
+"original ticket"
+msgstr ""
+"Quando un ticket riceve una qualsiasi delle approvazioni richieste, aggiungi "
+"una corrispondenza al ticket originale"
 
 #: etc/initialdata:104
 msgid "When a ticket is created"
 msgstr "Quando viene creato un ticket"
 
 #: etc/initialdata:479
-msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
-msgstr "Quando una richiesta di approvazione viene creata, notifica chi ha in carico il ticket e gli AdminCc che devono approvarlo"
+msgid ""
+"When an approval ticket is created, notify the Owner and AdminCc of the item "
+"awaiting their approval"
+msgstr ""
+"Quando una richiesta di approvazione viene creata, notifica chi ha in carico "
+"il ticket e gli AdminCc che devono approvarlo"
 
 #: etc/initialdata:109
 msgid "When anything happens"
@@ -7759,7 +8462,8 @@
 msgid "WorkPhone"
 msgstr "TelefonoLavoro"
 
-#: share/html/Ticket/Elements/ShowBasics:65 share/html/Ticket/Update.html:78 share/html/Tools/MyDay.html:62
+#: share/html/Ticket/Elements/ShowBasics:65 share/html/Ticket/Update.html:78
+#: share/html/Tools/MyDay.html:62
 msgid "Worked"
 msgstr "Impiegato"
 
@@ -7772,40 +8476,51 @@
 msgstr "Hai già in carico questo ticket"
 
 #: share/html/Elements/GnuPG/KeyIssues:63
-msgid "You are going to encrypt outgoing email messages, but there are problems with recipients' public keys. You have to fix the problems with the keys, disable sending a message to the recipients with key problems, or disable encryption."
+msgid ""
+"You are going to encrypt outgoing email messages, but there are problems "
+"with recipients' public keys. You have to fix the problems with the keys, "
+"disable sending a message to the recipients with key problems, or disable "
+"encryption."
 msgstr ""
 
 #: share/html/Elements/GnuPG/KeyIssues:61
-msgid "You are going to encrypt outgoing email messages, but there is a problem with a recipient's public key. You have to fix the problem with the key, disable sending a message to that recipient, or disable encryption."
+msgid ""
+"You are going to encrypt outgoing email messages, but there is a problem "
+"with a recipient's public key. You have to fix the problem with the key, "
+"disable sending a message to that recipient, or disable encryption."
 msgstr ""
 
 #: share/html/autohandler:228 share/html/autohandler:236
 msgid "You are not an authorized user"
 msgstr "Non sei un utente autorizzato"
 
-#: share/html/Ticket/Elements/ShowUpdateStatus:51
 #. (RT->Config->Get('WebPath') ."/Ticket/Display.html?id=". $Ticket->id. "#txn-".$txn->id, RT->Config->Get('WebPath') ."/Ticket/Display.html?id=". $Ticket->id ."&MarkAsSeen=1".  "#txn-".$txn->id)
-msgid "You can <a href=\"%1\">jump to the first unread message</a> or <a href=\"%2\">jump to the first unread message and mark all messages as seen</a>."
+#: share/html/Ticket/Elements/ShowUpdateStatus:51
+msgid ""
+"You can <a href=\"%1\">jump to the first unread message</a> or <a href=\"%2"
+"\">jump to the first unread message and mark all messages as seen</a>."
 msgstr ""
 
 #: share/html/Prefs/Search.html:58
 msgid "You can also edit the predefined search itself"
-msgstr ""
+msgstr "E' possibile anche modificare la ricerca predefinta stessa"
 
 #: lib/RT/Ticket_Overlay.pm:2722
 msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "Puoi solo riassegnare ticket che hai in carico, o che non sono ancora assegnati"
+msgstr ""
+"Puoi solo riassegnare ticket che hai in carico, o che non sono ancora "
+"assegnati"
 
 #: lib/RT/Ticket_Overlay.pm:2718
 msgid "You can only take tickets that are unowned"
-msgstr ""
+msgstr "E' possibile prendere in carico solo i ticket non assegnati"
 
 #: NOT FOUND IN SOURCE
 msgid "You don't have permission to view that ticket.\\n"
 msgstr "Non hai i permessi per visualizzare questo ticket.\\n"
 
-#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:772
 #. ($num, $queue)
+#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:772
 msgid "You found %1 tickets in queue %2"
 msgstr "Hai trovato %1 ticket nella coda %2"
 
@@ -7830,13 +8545,19 @@
 msgstr "Le tue %1 richieste"
 
 #: NOT FOUND IN SOURCE
-msgid "Your RT administrator has misconfigured the mail aliases which invoke RT"
-msgstr "L'amministratore RT non ha configurato correttamente l'alias di email che invoca RT"
+msgid ""
+"Your RT administrator has misconfigured the mail aliases which invoke RT"
+msgstr ""
+"L'amministratore RT non ha configurato correttamente l'alias di email che "
+"invoca RT"
 
-#: etc/initialdata:563 etc/initialdata:565
 #. (# loc	    $self->TransactionObj->CreatorObj->Name,)
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr "La tua richiesta è stata approvata da %1. Potrebbero essere necessarie altre approvazioni."
+#: etc/initialdata:563 etc/initialdata:565
+msgid ""
+"Your request has been approved by %1. Other approvals may still be pending."
+msgstr ""
+"La tua richiesta è stata approvata da %1. Potrebbero essere necessarie altre "
+"approvazioni."
 
 #: etc/initialdata:601
 msgid "Your request has been approved."
@@ -7844,7 +8565,7 @@
 
 #: NOT FOUND IN SOURCE
 msgid "Your request was rejected"
-msgstr "Your request was rejected"
+msgstr "La tua richiesta è stata respinte"
 
 #: etc/initialdata:506
 msgid "Your request was rejected."
@@ -7878,8 +8599,8 @@
 msgid "allow loading of saved searches"
 msgstr "permetti il caricamento di ricerche salvate"
 
-#: share/html/User/Elements/DelegateRights:82
 #. ($right->PrincipalObj->Object->SelfDescription)
+#: share/html/User/Elements/DelegateRights:82
 msgid "as granted to %1"
 msgstr "come concesso a %1"
 
@@ -7943,7 +8664,8 @@
 msgid "doesn't contain"
 msgstr "non contiene"
 
-#: share/html/Elements/SelectCustomFieldOperator:61 share/html/Elements/SelectMatch:58 share/html/Search/Elements/PickBasics:74
+#: share/html/Elements/SelectCustomFieldOperator:61
+#: share/html/Elements/SelectMatch:58 share/html/Search/Elements/PickBasics:74
 msgid "doesn't match"
 msgstr ""
 
@@ -7963,7 +8685,8 @@
 msgid "error: can't move down"
 msgstr "errore: impossibile spostare in basso"
 
-#: share/html/Search/Elements/EditQuery:110 share/html/Search/Elements/EditQuery:116
+#: share/html/Search/Elements/EditQuery:110
+#: share/html/Search/Elements/EditQuery:116
 msgid "error: can't move left"
 msgstr "errore: impossibile spostare a sinistra"
 
@@ -7975,7 +8698,9 @@
 msgid "error: nothing to delete"
 msgstr "errore: niente da cancellare"
 
-#: share/html/Search/Elements/EditQuery:102 share/html/Search/Elements/EditQuery:129 share/html/Search/Elements/EditQuery:150
+#: share/html/Search/Elements/EditQuery:102
+#: share/html/Search/Elements/EditQuery:129
+#: share/html/Search/Elements/EditQuery:150
 msgid "error: nothing to move"
 msgstr "errore: niente da spostare"
 
@@ -7995,12 +8720,13 @@
 msgid "full"
 msgstr ""
 
-#: share/html/Elements/SelectCustomFieldOperator:61 share/html/Elements/SelectEqualityOperator:61
+#: share/html/Elements/SelectCustomFieldOperator:61
+#: share/html/Elements/SelectEqualityOperator:61
 msgid "greater than"
 msgstr "maggiore di"
 
-#: lib/RT/Group_Overlay.pm:140
 #. ($self->Name)
+#: lib/RT/Group_Overlay.pm:140
 msgid "group '%1'"
 msgstr "gruppo '%1'"
 
@@ -8016,11 +8742,15 @@
 msgid "id"
 msgstr "Codice"
 
-#: share/html/Elements/SelectBoolean:55 share/html/Elements/SelectCustomFieldOperator:61 share/html/Elements/SelectMatch:59 share/html/Search/Elements/PickCFs:84
+#: share/html/Elements/SelectBoolean:55
+#: share/html/Elements/SelectCustomFieldOperator:61
+#: share/html/Elements/SelectMatch:59 share/html/Search/Elements/PickCFs:84
 msgid "is"
 msgstr "uguale a"
 
-#: share/html/Elements/SelectBoolean:59 share/html/Elements/SelectCustomFieldOperator:61 share/html/Elements/SelectMatch:60 share/html/Search/Elements/PickCFs:85
+#: share/html/Elements/SelectBoolean:59
+#: share/html/Elements/SelectCustomFieldOperator:61
+#: share/html/Elements/SelectMatch:60 share/html/Search/Elements/PickCFs:85
 msgid "isn't"
 msgstr "diverso da"
 
@@ -8036,7 +8766,8 @@
 msgid "key revoked"
 msgstr ""
 
-#: share/html/Elements/SelectCustomFieldOperator:61 share/html/Elements/SelectEqualityOperator:61
+#: share/html/Elements/SelectCustomFieldOperator:61
+#: share/html/Elements/SelectEqualityOperator:61
 msgid "less than"
 msgstr "minore di"
 
@@ -8044,7 +8775,8 @@
 msgid "marginal"
 msgstr ""
 
-#: share/html/Elements/SelectCustomFieldOperator:61 share/html/Elements/SelectMatch:57 share/html/Search/Elements/PickBasics:73
+#: share/html/Elements/SelectCustomFieldOperator:61
+#: share/html/Elements/SelectMatch:57 share/html/Search/Elements/PickBasics:73
 msgid "matches"
 msgstr "corrisponde a"
 
@@ -8064,7 +8796,10 @@
 msgid "months"
 msgstr "mesi"
 
-#: share/html/Admin/Elements/ShowKeyInfo:59 share/html/Admin/Elements/ShowKeyInfo:62 share/html/Admin/Elements/ShowKeyInfo:67 share/html/Admin/Elements/ShowKeyInfo:68
+#: share/html/Admin/Elements/ShowKeyInfo:59
+#: share/html/Admin/Elements/ShowKeyInfo:62
+#: share/html/Admin/Elements/ShowKeyInfo:67
+#: share/html/Admin/Elements/ShowKeyInfo:68
 msgid "never"
 msgstr ""
 
@@ -8072,11 +8807,13 @@
 msgid "new"
 msgstr "nuovo"
 
-#: share/html/Elements/RT__Group/ColumnMap:65 share/html/Elements/RT__Group/ColumnMap:73
+#: share/html/Elements/RT__Group/ColumnMap:65
+#: share/html/Elements/RT__Group/ColumnMap:73
 msgid "no"
 msgstr ""
 
-#: share/html/Admin/Elements/PickCustomFields:66 share/html/Admin/Elements/PickObjects:67
+#: share/html/Admin/Elements/PickCustomFields:66
+#: share/html/Admin/Elements/PickObjects:67
 msgid "no name"
 msgstr "nessun nome"
 
@@ -8084,7 +8821,8 @@
 msgid "no value"
 msgstr "nessun valore"
 
-#: lib/RT/Crypt/GnuPG.pm:2106 share/html/Admin/Elements/EditQueueWatchers:50 share/html/Ticket/Elements/EditWatchers:51
+#: lib/RT/Crypt/GnuPG.pm:2106 share/html/Admin/Elements/EditQueueWatchers:50
+#: share/html/Ticket/Elements/EditWatchers:51
 msgid "none"
 msgstr "nessuno"
 
@@ -8109,16 +8847,17 @@
 msgstr ""
 
 #: lib/RT/Installer.pm:154
+#, fuzzy
 msgid "password of the user root in RT"
-msgstr ""
+msgstr "Cronologia dell'utente %1"
 
-#: lib/RT/Group_Overlay.pm:145
 #. ($self->Name, $user->Name)
+#: lib/RT/Group_Overlay.pm:145
 msgid "personal group '%1' for user '%2'"
 msgstr "Gruppo personale '%1' per l'utente '%2'"
 
-#: lib/RT/Group_Overlay.pm:153
 #. ($queue->Name, $self->Type)
+#: lib/RT/Group_Overlay.pm:153
 msgid "queue %1 %2"
 msgstr "coda %1 %2"
 
@@ -8150,13 +8889,13 @@
 msgid "summary rows"
 msgstr ""
 
-#: lib/RT/Group_Overlay.pm:148
 #. ($self->Type)
+#: lib/RT/Group_Overlay.pm:148
 msgid "system %1"
 msgstr "sistema %1"
 
-#: lib/RT/Group_Overlay.pm:159
 #. ($self->Type)
+#: lib/RT/Group_Overlay.pm:159
 msgid "system group '%1'"
 msgstr "gruppo di sistema '%1'"
 
@@ -8164,8 +8903,8 @@
 msgid "the calling component did not specify why"
 msgstr "il componente chiamante non ha specificato il perché"
 
-#: lib/RT/Group_Overlay.pm:156
 #. ($self->Instance, $self->Type)
+#: lib/RT/Group_Overlay.pm:156
 msgid "ticket #%1 %2"
 msgstr "ticket n°%1 %2"
 
@@ -8177,8 +8916,8 @@
 msgid "ultimate"
 msgstr ""
 
-#: lib/RT/Group_Overlay.pm:162
 #. ($self->Id)
+#: lib/RT/Group_Overlay.pm:162
 msgid "undescribed group %1"
 msgstr "gruppo %1 senza descrizione"
 
@@ -8186,8 +8925,8 @@
 msgid "undescripbed group %1"
 msgstr "gruppo %1 senza descrizione"
 
-#: lib/RT/Group_Overlay.pm:137
 #. ($user->Object->Name)
+#: lib/RT/Group_Overlay.pm:137
 msgid "user %1"
 msgstr "utente %1"
 
@@ -8215,7 +8954,43 @@
 msgid "years"
 msgstr "anni"
 
-#: share/html/Elements/RT__Group/ColumnMap:65 share/html/Elements/RT__Group/ColumnMap:73
+#: share/html/Elements/RT__Group/ColumnMap:65
+#: share/html/Elements/RT__Group/ColumnMap:73
 msgid "yes"
 msgstr ""
 
+#~ msgid ""
+#~ "(Sends a blind carbon-copy of this update to a comma-delimited list of "
+#~ "email addresses. Does <strong>not</strong> change who will receive future "
+#~ "updates.)"
+#~ msgstr ""
+#~ "invia copia silente di questo aggiornamento ad una lista di indirizzi "
+#~ "email separati da virgole. Ciò <b>non cambierà</b> i destinatari dei "
+#~ "successivi aggiornamenti."
+
+#~ msgid ""
+#~ "(Sends a carbon-copy of this update to a comma-delimited list of email "
+#~ "addresses. Does <strong>not</strong> change who will receive future "
+#~ "updates.)"
+#~ msgstr ""
+#~ "invia copia di questo aggiornamento ad una lista di indirizzi email "
+#~ "separati da virgole. Ciò <b>non cambierà</b> i destinatari dei successivi "
+#~ "aggiornamenti."
+
+#~ msgid "Choose a date"
+#~ msgstr "Scegli una data"
+
+#~ msgid "Add and Search"
+#~ msgstr "Aggiungi e cerca"
+
+#~ msgid "Permissions denied"
+#~ msgstr "Permessi negati"
+
+#~ msgid "chart"
+#~ msgstr "grafico"
+
+#~ msgid "grouped by %1"
+#~ msgstr "raggruppati per %1"
+
+#~ msgid "style: %1"
+#~ msgstr "stile: %1"

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/ja.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/ja.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/ja.po	Mon Jul  7 16:21:51 2008
@@ -3712,7 +3712,7 @@
 msgstr ""
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr ""
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/nl.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/nl.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/nl.po	Mon Jul  7 16:21:51 2008
@@ -3845,7 +3845,7 @@
 msgstr "Wijzig een scrip voor deze queue %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Wijzig een scrip die betrekking heeft op alle queues"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/no.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/no.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/no.po	Mon Jul  7 16:21:51 2008
@@ -1866,7 +1866,7 @@
 msgstr "Opprett et fleksifelt for køen %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "Opprett et fleksifelt for alle køer"
 
 #: NOT FOUND IN SOURCE
@@ -3977,7 +3977,7 @@
 msgstr "Endre et fleksifelt for køen %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Modify a CustomField which applies to all queues"
+msgid "Modify a CustomField that applies to all queues"
 msgstr "Endre et fleksifelt som gjelder for alle køer"
 
 #: share/html/Admin/Queues/Scrip.html:84
@@ -3986,7 +3986,7 @@
 msgstr "Endre et scrip for køen %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Endre et scrip som gjelder for alle køer"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pl.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pl.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pl.po	Mon Jul  7 16:21:51 2008
@@ -1892,7 +1892,7 @@
 msgstr "Utwórz pole dla kolejki %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "Utwórz pole, które dotyczy wszystkich kolejek"
 
 #: NOT FOUND IN SOURCE
@@ -4056,7 +4056,7 @@
 msgstr "Modyfikuj pole dla kolejki %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Modify a CustomField which applies to all queues"
+msgid "Modify a CustomField that applies to all queues"
 msgstr "Modyfikuj pole, które dotyczy wszystkich kolejek"
 
 #: share/html/Admin/Queues/Scrip.html:84
@@ -4065,7 +4065,7 @@
 msgstr "Modyfikuj skrypt dla kolejki %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Modyfikuj skrypt, który dotyczy wszystkich kolejek"
 
 #: NOT FOUND IN SOURCE

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pt_br.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pt_br.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pt_br.po	Mon Jul  7 16:21:51 2008
@@ -1909,7 +1909,7 @@
 msgstr "Criar um Campo Personalizado para a fila %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "Criar um Campo Personalizado para todas as filas"
 
 #: NOT FOUND IN SOURCE
@@ -4042,7 +4042,7 @@
 msgstr "Modificar um Campo Personalizado para a fila %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Modify a CustomField which applies to all queues"
+msgid "Modify a CustomField that applies to all queues"
 msgstr "Modificar um Campo Personalizado que se aplica a todas as filas"
 
 #: share/html/Admin/Queues/Scrip.html:84
@@ -4051,7 +4051,7 @@
 msgstr "Modificar um scrip para a fila %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Modificar um scrip aplicável a todas as filas"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Added: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pt_pt.po
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/pt_pt.po	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,5194 @@
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: RT 3.5.x\n"
+"PO-Revision-Date: 2008-05-12 12:00-0000\n"
+"Last-Translator: RICARDO OLIVEIRA <rmo at eurotux.com>\n"
+"Language-Team: rt-devel <rt-devel at lists.bestpractical.com>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: html/Widgets/SavedSearch:117
+#. ($self->{CurrentSearch}{Object}->Description)
+msgid " %1 deleted."
+msgstr " %1 apagado"
+
+#: html/Widgets/SavedSearch:94
+#. ($self->{CurrentSearch}{Description}, $args->{Description})
+msgid " %1 renamed to %2."
+msgstr " %1 alterado para %2."
+
+#: html/Widgets/SavedSearch:107
+#. ($args->{Description})
+msgid " %1 saved."
+msgstr " %1 gravado"
+
+#: html/Approvals/Elements/Approve:50 html/Approvals/Elements/ShowDependency:73 html/SelfService/Display.html:48 html/Ticket/Display.html:49 html/Ticket/Display.html:53
+#. ($Ticket->id, $Ticket->Subject)
+#. ($link->BaseObj->Id, $link->BaseObj->Subject)
+#. ($ticket->Id, $ticket->Subject)
+#. ($TicketObj->Id, $TicketObj->Subject)
+msgid "#%1: %2"
+msgstr "#%1: %2"
+
+#: html/Elements/ShowSearch:116
+msgid "$1"
+msgstr "$1"
+
+#: lib/RT/Record.pm:957
+#. ($label)
+msgid "$prefix %1"
+msgstr "$prefix %1"
+
+#: lib/RT/URI/fsck_com_rt.pm:258
+#. ($self->ObjectType, $self->Object->Id)
+msgid "%1 #%2"
+msgstr "%1 #%2"
+
+#: lib/RT/Date.pm:367
+#. ($s, $time_unit)
+msgid "%1 %2"
+msgstr "%1 %2"
+
+#: lib/RT/Tickets_Overlay.pm:1684
+#. ($args{'FIELD'},        $args{'OPERATOR'}, $args{'VALUE'})
+msgid "%1 %2 %3"
+msgstr ""
+
+#: lib/RT/Date.pm:403
+#. ($self->GetWeekday($wday), $self->GetMonth($mon), map {sprintf "%02d", $_} ($mday, $hour, $min, $sec), ($year+1900))
+msgid "%1 %2 %3 %4:%5:%6 %7"
+msgstr "%1 %2 %3 %4:%5:%6 %7"
+
+#: lib/RT/Record.pm:1707 lib/RT/Transaction_Overlay.pm:668 lib/RT/Transaction_Overlay.pm:711
+#. ($cf->Name, $new_value->Content)
+#. ($field, $self->NewValue)
+#. ($self->Field, $principal->Object->Name)
+msgid "%1 %2 added"
+msgstr "%1 %2 adicionado"
+
+#: lib/RT/Date.pm:364
+#. ($s, $time_unit)
+msgid "%1 %2 ago"
+msgstr "há %1 %2"
+
+#: lib/RT/Record.pm:1714 lib/RT/Transaction_Overlay.pm:675
+#. ($cf->Name, $old_content,                $new_value->Content)
+#. ($field, $self->OldValue, $self->NewValue)
+msgid "%1 %2 changed to %3"
+msgstr "%1 %2 alterado para %3"
+
+#: lib/RT/Record.pm:1711 lib/RT/Transaction_Overlay.pm:671 lib/RT/Transaction_Overlay.pm:717
+#. ($cf->Name, $old_value->Content)
+#. ($field, $self->OldValue)
+#. ($self->Field, $principal->Object->Name)
+msgid "%1 %2 deleted"
+msgstr "%1 %2 apagado"
+
+#: html/Admin/Elements/EditScrips:67 html/Admin/Elements/ListGlobalScrips:65 html/Ticket/Elements/PreviewScrips:105
+#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
+msgid "%1 %2 with template %3"
+msgstr ""
+
+#: html/Ticket/Elements/ShowAttachments:74
+#. ($rev->CreatedAsString, $size, $rev->CreatorObj->Name)
+msgid "%1 (%2) by %3"
+msgstr "%1 (%2) por %3"
+
+#: html/SelfService/Update.html:62 html/Ticket/Elements/EditBasics:110 html/Ticket/Update.html:63 html/Ticket/Update.html:65 html/Tools/MyDay.html:71
+#. (loc($DefaultStatus))
+#. (loc($Ticket->Status()))
+#. (loc($TicketObj->Status))
+#. ($TicketObj->OwnerObj->Name())
+msgid "%1 (Unchanged)"
+msgstr "%1 (inalterado)"
+
+#: bin/rt-crontool:239 bin/rt-crontool:246 bin/rt-crontool:252
+#. ("--search-argument", "--search")
+#. ("--condition-argument", "--condition")
+#. ("--action-argument", "--action")
+msgid "%1 - An argument to pass to %2"
+msgstr ""
+
+#: bin/rt-crontool:264
+#. ("--verbose")
+msgid "%1 - Output status updates to STDOUT"
+msgstr ""
+
+#: bin/rt-crontool:255
+#. ("--template-id")
+msgid "%1 - Specify id of the template you want to use"
+msgstr ""
+
+#: bin/rt-crontool:258
+#. ("--transaction")
+msgid "%1 - Specify if you want to use either 'first' or 'last' transaction"
+msgstr ""
+
+#: bin/rt-crontool:249
+#. ("--action")
+msgid "%1 - Specify the action module you want to use"
+msgstr ""
+
+#: bin/rt-crontool:243
+#. ("--condition")
+msgid "%1 - Specify the condition module you want to use"
+msgstr ""
+
+#: bin/rt-crontool:236
+#. ("--search")
+msgid "%1 - Specify the search module you want to use"
+msgstr ""
+
+#: bin/rt-crontool:261
+#. ("--transaction-type")
+msgid "%1 - Specify the type of a transaction you want to use"
+msgstr "%1 - Especifique o tipo de transacção que quer usar"
+
+#: html/Elements/Footer:58
+#. ('&#187;&#124;&#171;', $RT::VERSION, '2006', '<a href="http://www.bestpractical.com?rt='.$RT::VERSION.'">Best Practical Solutions, LLC</a>',)
+msgid "%1 RT %2 Copyright 1996-%3 %4."
+msgstr ""
+
+#: lib/RT/ScripAction_Overlay.pm:152
+#. ($self->Id)
+msgid "%1 ScripAction loaded"
+msgstr ""
+
+#: lib/RT/Record.pm:1744
+#. ($args{'Value'}, $cf->Name)
+msgid "%1 added as a value for %2"
+msgstr "%1 adicionado como valor de %2"
+
+#: lib/RT/Link_Overlay.pm:146 lib/RT/Link_Overlay.pm:153
+#. ($args{'Base'})
+#. ($args{'Target'})
+msgid "%1 appears to be a local object, but can't be found in the database"
+msgstr ""
+
+#: html/Ticket/Elements/ShowDates:75 lib/RT/Transaction_Overlay.pm:552
+#. ($self->BriefDescription , $self->CreatorObj->Name)
+#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
+msgid "%1 by %2"
+msgstr "%1 por %2"
+
+#: lib/RT/Record.pm:534 lib/RT/Transaction_Overlay.pm:619 lib/RT/Transaction_Overlay.pm:809 lib/RT/Transaction_Overlay.pm:818 lib/RT/Transaction_Overlay.pm:821
+#. ($args{'Field'},            ( $old_val ? "'$old_val'" : $self->loc("(no value)") ),            '"' . $self->__Value( $args{'Field'}) . '"')
+#. ($self->Field,                ( $self->OldValue ? "'" . $self->OldValue . "'" : $no_value ),                "'" . $self->NewValue . "'")
+#. ($self->Field , $q1->Name , $q2->Name)
+#. ($self->Field, $t2->AsString, $t1->AsString)
+#. ($self->Field, ($self->OldValue? "'".$self->OldValue ."'" : $self->loc("(no value)")) , "'". $self->NewValue."'")
+msgid "%1 changed from %2 to %3"
+msgstr "%1 alterado de %2 para %3"
+
+#: html/Search/Build.html:215
+#. ($Description)
+msgid "%1 copy"
+msgstr "cópia %1"
+
+#: lib/RT/Record.pm:961
+msgid "%1 could not be set to %2."
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:2789
+#. ($self)
+msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:592
+#. ($obj_type)
+msgid "%1 created"
+msgstr "%1 criado"
+
+#: lib/RT/Transaction_Overlay.pm:597
+#. ($obj_type)
+msgid "%1 deleted"
+msgstr "%1 apagado"
+
+#: etc/initialdata:593
+msgid "%1 highest priority tickets I own"
+msgstr "%1 tickets com maior prioridade da minha responsabilidade"
+
+#: bin/rt-crontool:231
+#. ($0)
+msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:867
+#. ($principal->Object->Name, $args{'Type'})
+msgid "%1 is no longer a %2 for this queue."
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1576
+#. ($principal->Object->Name,                         $args{'Type'})
+msgid "%1 is no longer a %2 for this ticket."
+msgstr ""
+
+#: lib/RT/Record.pm:1801
+#. ($TransactionObj->OldValue, $cf->Name)
+msgid "%1 is no longer a value for custom field %2"
+msgstr ""
+
+#: html/Ticket/Elements/ShowTime:49 html/Ticket/Elements/ShowTime:51
+#. ($minutes)
+msgid "%1 min"
+msgstr "%1 min"
+
+#: etc/initialdata:601
+msgid "%1 newest unowned tickets"
+msgstr "%1 tickets mais recentes sem responsável atribuído"
+
+#: lib/RT/CustomField_Overlay.pm:896
+msgid "%1 objects"
+msgstr ""
+
+#: html/User/Elements/DelegateRights:99
+#. (loc($ObjectType =~ /^RT::(.*)$/))
+msgid "%1 rights"
+msgstr ""
+
+#: lib/RT/Action/ResolveMembers.pm:65
+#. (ref $self)
+msgid "%1 will resolve all members of a resolved group ticket."
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:897
+msgid "%1's %2 objects"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:898
+msgid "%1's %2's %3 objects"
+msgstr ""
+
+#: html/Search/Elements/SearchPrivacy:54 html/Search/Elements/SelectSearchObject:57 html/Search/Elements/SelectSearchesForObjects:59
+#. ($object->Name)
+#. ($Object->Name)
+msgid "%1's saved searches"
+msgstr "Pesquisas gravadas de %1"
+
+#: lib/RT/Transaction_Overlay.pm:502
+#. ($self)
+msgid "%1: no attachment specified"
+msgstr "%1: anexo não especificado"
+
+#: html/Ticket/Elements/ShowTransactionAttachments:80
+#. ($size)
+msgid "%1b"
+msgstr ""
+
+#: html/Ticket/Elements/ShowTransactionAttachments:77
+#. (int( $size / 102.4 ) / 10)
+msgid "%1k"
+msgstr ""
+
+#: html/Ticket/Elements/ShowTime:51
+#. (sprintf("%.1f",$minutes / 60))
+msgid "%quant(%1,hour)"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1144
+#. ($args{'Status'})
+msgid "'%1' is an invalid value for status"
+msgstr ""
+
+#: html/Admin/Elements/EditCustomFieldValues:52 html/Admin/Elements/EditQueueWatchers:52 html/Admin/Elements/EditScrips:58 html/Admin/Elements/EditTemplates:59 html/Admin/Groups/Members.html:75 html/Elements/EditLinks:56 html/Ticket/Elements/EditPeople:69 html/User/Groups/Members.html:78
+msgid "(Check box to delete)"
+msgstr "(Seleccione caixa para apagar)"
+
+#: html/Ticket/Elements/PreviewScrips:101
+msgid "(Check boxes to disable notifications to the listed recipients)"
+msgstr "(Seleccione caixas para desactivar notificações para os destinatários listados)"
+
+#: html/Ticket/Elements/PreviewScrips:125
+msgid "(Check boxes to enable notifications to the listed recipients)"
+msgstr "(Seleccione caixas para activar notificações para os destinatários listados)"
+
+#: html/Ticket/Create.html:221
+msgid "(Enter ticket ids or URLs, separated with spaces)"
+msgstr "(Insira identificadores de tickets, separados por espaços)"
+
+#: html/Admin/Queues/Modify.html:77 html/Admin/Queues/Modify.html:83
+#. ($RT::CorrespondAddress)
+#. ($RT::CommentAddress)
+msgid "(If left blank, will default to %1)"
+msgstr "(Por omissão será %1)"
+
+#: html/Admin/Elements/EditCustomFields:76 html/Admin/Elements/ListGlobalCustomFields:55
+msgid "(No custom fields)"
+msgstr ""
+
+#: html/Admin/Groups/Members.html:73 html/User/Groups/Members.html:76
+msgid "(No members)"
+msgstr "(Sem membros)"
+
+#: html/Admin/Elements/EditScrips:55 html/Admin/Elements/ListGlobalScrips:50
+msgid "(No scrips)"
+msgstr ""
+
+#: html/Admin/Elements/EditTemplates:54
+msgid "(No templates)"
+msgstr ""
+
+#: html/Admin/Elements/PickCustomFields:49 html/Admin/Elements/PickObjects:49
+msgid "(None)"
+msgstr "(Nada)"
+
+#: html/Ticket/Update.html:92
+msgid "(Sends a blind carbon-copy of this update to a comma-delimited list of email addresses. Does <strong>not</strong> change who will receive future updates.)"
+msgstr ""
+
+#: html/Ticket/Create.html:105
+msgid "(Sends a carbon-copy of this update to a comma-delimited list of administrative email addresses. These people <strong>will</strong> receive future updates.)"
+msgstr ""
+
+#: html/Ticket/Update.html:88
+msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. Does <strong>not</strong> change who will receive future updates.)"
+msgstr ""
+
+#: html/Ticket/Create.html:95
+msgid "(Sends a carbon-copy of this update to a comma-delimited list of email addresses. These people <strong>will</strong> receive future updates.)"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:98
+msgid "(Use these fields when you choose 'User Defined' for a condition or action)"
+msgstr ""
+
+#: html/Ticket/Elements/EditWatchers:62 html/Ticket/Elements/ShowUserEntry:55
+msgid "(Will not be sent email)"
+msgstr "(Não vai ser enviado email)"
+
+#: html/Tools/MyDay.html:53
+#. ($session{'CurrentUser'}->Name)
+msgid "(displaying new and open tickets for %1)"
+msgstr "(mostrar tickets novos e abertos de %1)"
+
+#: html/Admin/Groups/index.html:59 html/User/Groups/index.html:56
+msgid "(empty)"
+msgstr "(vazio)"
+
+#: html/Admin/Users/index.html:62
+msgid "(no name listed)"
+msgstr "(sem nome)"
+
+#: html/Admin/Elements/SelectRights:74 html/Elements/EditCustomFieldSelect:71 html/Elements/SelectCustomFieldValue:53 html/Elements/ShowCustomFields:56 html/Search/Chart:134 html/Search/Elements/Chart:78 lib/RT/Transaction_Overlay.pm:612
+msgid "(no value)"
+msgstr "(sem valor)"
+
+#: html/Admin/Elements/EditCustomFieldValues:49
+msgid "(no values)"
+msgstr "(sem valores)"
+
+#: html/Elements/EditLinks:133 html/Ticket/Elements/BulkLinks:51
+msgid "(only one ticket)"
+msgstr "(apenas um ticket)"
+
+#: html/Elements/RT__Ticket/ColumnMap:151
+msgid "(pending approval)"
+msgstr "(aprovações pendentes)"
+
+#: html/Elements/RT__Ticket/ColumnMap:154
+msgid "(pending other Collection)"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:73
+msgid "(required)"
+msgstr "(obrigatório)"
+
+#: html/Ticket/Elements/ShowTransactionAttachments:84
+msgid "(untitled)"
+msgstr ""
+
+#: html/Ticket/Elements/Reminders:135
+msgid "(yyyy/mm/dd)"
+msgstr ""
+
+#: html/Elements/EditCustomFieldSelect:59
+msgid "-"
+msgstr ""
+
+#: bin/rt-crontool:97
+msgid "--transaction argument could be only 'first' or 'last'"
+msgstr ""
+
+#: html/Ticket/Elements/ShowBasics:55
+msgid "<% $Ticket->Status%>"
+msgstr "<% $Ticket->Status%>"
+
+#: html/Elements/SelectTicketTypes:50
+msgid "<% $_ %>"
+msgstr "<% $_ %>"
+
+#: html/Search/Elements/SelectLinks:50
+msgid "<%$_%>"
+msgstr "<%$_%>"
+
+#: html/Search/Elements/DisplayOptions:75
+msgid "<%$field%>"
+msgstr "<%$field%>"
+
+#: html/Elements/CreateTicket:49
+#. ($m->scomp('/Elements/SelectNewTicketQueue'))
+msgid "<input type=\"submit\" class=\"button\" value=\"New ticket in\" />&nbsp;%1"
+msgstr "<input type=\"submit\" class=\"button\" value=\"Novo Pedido em\" />&nbsp;%1"
+
+#: docs/design_docs/string-extraction-guide.txt:54 lib/RT/StyleGuide.pod:785
+#. ($m->scomp('/Elements/SelectNewTicketQueue'))
+msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
+msgstr "<input type=\"submit\" value=\"Novo Pedido em\">&nbsp;%1"
+
+#: etc/initialdata:218
+msgid "A blank template"
+msgstr "Template em branco"
+
+#: html/Admin/Users/Modify.html:375
+msgid "A password was not set, so user won't be able to login."
+msgstr "Password não foi definida, portanto o utilizador não vai conseguir efectuar login."
+
+#: lib/RT/ACE_Overlay.pm:176 lib/RT/Principal_Overlay.pm:221
+msgid "ACE not found"
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:855
+msgid "ACEs can only be created and deleted."
+msgstr ""
+
+#: html/Search/Elements/SelectAndOr:48
+msgid "AND"
+msgstr "E"
+
+#: html/User/Elements/Tabs:55
+msgid "About me"
+msgstr "Sobre mim"
+
+#: html/Admin/Users/Modify.html:108
+msgid "Access control"
+msgstr "Controle de Acesso"
+
+#: html/Admin/Elements/EditScrip:67
+msgid "Action"
+msgstr "Acção"
+
+#: lib/RT/Scrip_Overlay.pm:174
+#. ($args{'ScripAction'})
+msgid "Action %1 not found"
+msgstr "Acção %1 não encontrada"
+
+#: bin/rt-crontool:173
+msgid "Action committed.\\n"
+msgstr ""
+
+#: lib/RT/Scrip_Overlay.pm:170
+msgid "Action is mandatory argument"
+msgstr ""
+
+#: bin/rt-crontool:169
+msgid "Action prepared..."
+msgstr ""
+
+#: html/Search/Build.html:87
+msgid "Add"
+msgstr "Adicionar"
+
+#: html/Search/Bulk.html:94
+msgid "Add AdminCc"
+msgstr "Adicionar AdminCc"
+
+#: html/Search/Bulk.html:90
+msgid "Add Cc"
+msgstr "Adicionar Cc"
+
+#: html/Search/Elements/EditFormat:51
+msgid "Add Columns"
+msgstr "Adicionar colunas"
+
+#: html/Search/Elements/PickCriteria:48
+msgid "Add Criteria"
+msgstr "Adicionar critérios"
+
+#: html/Ticket/Create.html:149 html/Ticket/Update.html:118
+msgid "Add More Files"
+msgstr "Adicionar mais ficheiros"
+
+#: html/Search/Bulk.html:86
+msgid "Add Requestor"
+msgstr ""
+
+#: html/Admin/Elements/AddCustomFieldValue:48
+msgid "Add Value"
+msgstr ""
+
+#: html/Admin/Global/Scrip.html:85
+msgid "Add a scrip which will apply to all queues"
+msgstr ""
+
+#: html/Search/Build.html:111 html/Search/Build.html:96
+msgid "Add and Search"
+msgstr "Adicionar e pesquisar"
+
+#: html/Search/Bulk.html:126
+msgid "Add comments or replies to selected tickets"
+msgstr "Adicionar comentários ou respostas aos tickets seleccionados"
+
+#: html/Admin/Groups/Members.html:65 html/User/Groups/Members.html:62
+msgid "Add members"
+msgstr "Adicionar membros"
+
+#: html/Admin/Queues/People.html:89 html/Ticket/Elements/AddWatchers:51
+msgid "Add new watchers"
+msgstr "Adicionar novos watchers"
+
+#: html/Search/Build.html:87
+msgid "Add these terms to your search"
+msgstr "Adicionar estes termos à sua pesquisa"
+
+#: html/Search/Bulk.html:160
+msgid "Add values"
+msgstr "Adicionar valores"
+
+#: lib/RT/CustomField_Overlay.pm:110
+msgid "Add, delete and modify custom field values for objects"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:758
+#. ($args{'Type'})
+msgid "Added principal as a %1 for this queue"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1448
+#. ($self->loc($args{'Type'}))
+msgid "Added principal as a %1 for this ticket"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:149 html/User/Prefs.html:135
+msgid "Address1"
+msgstr "Endereço (1)"
+
+#: html/Admin/Users/Modify.html:154 html/User/Prefs.html:139
+msgid "Address2"
+msgstr "Endereço (2)"
+
+#: html/Ticket/Create.html:100
+msgid "Admin Cc"
+msgstr ""
+
+#: etc/initialdata:295
+msgid "Admin Comment"
+msgstr "Comentário de Admin"
+
+#: etc/initialdata:274
+msgid "Admin Correspondence"
+msgstr ""
+
+#: html/Admin/Queues/index.html:48 html/Admin/Queues/index.html:51
+msgid "Admin queues"
+msgstr ""
+
+#: html/Admin/Global/index.html:49 html/Admin/Global/index.html:51
+msgid "Admin/Global configuration"
+msgstr ""
+
+#: etc/initialdata:56 html/Ticket/Elements/ShowPeople:62 lib/RT/ACE_Overlay.pm:115
+msgid "AdminCc"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:108
+msgid "AdminCustomField"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:165
+msgid "AdminGroup"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:167
+msgid "AdminGroupMembership"
+msgstr ""
+
+#: lib/RT/System.pm:82
+msgid "AdminOwnPersonalGroups"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:94
+msgid "AdminQueue"
+msgstr ""
+
+#: lib/RT/System.pm:83
+msgid "AdminUsers"
+msgstr ""
+
+#: html/Admin/Queues/People.html:71 html/Ticket/Elements/EditPeople:77
+msgid "Administrative Cc"
+msgstr ""
+
+#: html/Ticket/Elements/Tabs:218
+msgid "Advanced"
+msgstr "Avançado"
+
+#: html/Elements/SelectDateRelation:59
+msgid "After"
+msgstr ""
+
+#: html/Search/Elements/PickCriteria:54
+msgid "Aggregator"
+msgstr "Agregador"
+
+#: etc/initialdata:363
+msgid "All Approvals Passed"
+msgstr "Todas as aprovações tratadas"
+
+#: html/Admin/Queues/index.html:77
+msgid "All Queues"
+msgstr "Todas as Queues"
+
+#: html/Search/Elements/EditQuery:58
+msgid "And/Or"
+msgstr "E/Ou"
+
+#: html/Admin/CustomFields/Modify.html:75 html/Admin/Elements/CustomFieldTabs:85
+msgid "Applies to"
+msgstr "Aplica-se a"
+
+#: html/Search/Edit.html:66
+msgid "Apply"
+msgstr "Aplicar"
+
+#: html/Search/Edit.html:66
+msgid "Apply your changes"
+msgstr "Aplicar as alterações"
+
+#: html/Elements/Tabs:80
+msgid "Approval"
+msgstr "Aprovação"
+
+#: html/Approvals/Display.html:67 html/Approvals/Elements/ShowDependency:65 html/Approvals/index.html:88
+#. ($Ticket->Id, $Ticket->Subject)
+#. ($ticket->id, $msg)
+#. ($link->BaseObj->Id, $link->BaseObj->Subject)
+msgid "Approval #%1: %2"
+msgstr "Aprovação #%1: %2"
+
+#: html/Approvals/index.html:77
+#. ($ticket->Id)
+msgid "Approval #%1: Notes not recorded due to a system error"
+msgstr ""
+
+#: html/Approvals/index.html:75
+#. ($ticket->Id)
+msgid "Approval #%1: Notes recorded"
+msgstr ""
+
+#: etc/initialdata:351
+msgid "Approval Passed"
+msgstr ""
+
+#: etc/initialdata:374
+msgid "Approval Rejected"
+msgstr ""
+
+#: html/Approvals/Elements/Approve:71
+msgid "Approve"
+msgstr ""
+
+#: etc/initialdata:504 etc/initialdata:506
+#. (# loc	    $note)
+msgid "Approver's notes: %1"
+msgstr ""
+
+#: lib/RT/Date.pm:446
+msgid "Apr."
+msgstr "Apr"
+
+#: html/Search/Elements/DisplayOptions:83
+msgid "Asc"
+msgstr "Asc"
+
+#: html/Elements/SelectSortOrder:58
+msgid "Ascending"
+msgstr "Ascendente"
+
+#: lib/RT/Queue_Overlay.pm:98
+msgid "Assign and remove custom fields"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:98
+msgid "AssignCustomFields"
+msgstr ""
+
+#: html/Search/Bulk.html:144 html/SelfService/Update.html:89 html/Ticket/ModifyAll.html:117 html/Ticket/Update.html:118
+msgid "Attach"
+msgstr "Anexar"
+
+#: html/SelfService/Create.html:94 html/Ticket/Create.html:145
+msgid "Attach file"
+msgstr "Anexar ficheiro"
+
+#: html/SelfService/Update.html:77 html/Ticket/Create.html:133 html/Ticket/Update.html:96
+msgid "Attached file"
+msgstr "Ficheiro anexo"
+
+#: html/Ticket/ShowEmailRecord.html:54 html/Ticket/ShowEmailRecord.html:58 html/Ticket/ShowEmailRecord.html:61
+#. ($Attachment)
+msgid "Attachment '%1' could not be loaded"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:510
+msgid "Attachment created"
+msgstr "Anexo criado"
+
+#: lib/RT/Tickets_Overlay.pm:2134
+msgid "Attachment filename"
+msgstr ""
+
+#: html/Ticket/Elements/ShowAttachments:49
+msgid "Attachments"
+msgstr "Anexos"
+
+#: lib/RT/Attributes_Overlay.pm:173
+msgid "Attribute Deleted"
+msgstr ""
+
+#: lib/RT/Date.pm:450
+msgid "Aug."
+msgstr "Aug"
+
+#: etc/initialdata:221
+msgid "Autoreply"
+msgstr "Resposta automática"
+
+#: etc/initialdata:72
+msgid "Autoreply To Requestors"
+msgstr "Resposta automática para utilizadores"
+
+#: html/Widgets/SelectionBox:191
+msgid "Available"
+msgstr "Disponível"
+
+#: html/Admin/Elements/CustomFieldTabs:67 html/Admin/Elements/GroupTabs:62 html/Admin/Elements/QueueTabs:62 html/Admin/Elements/UserTabs:60 html/Ticket/Elements/Tabs:115 html/User/Elements/GroupTabs:61
+msgid "Basics"
+msgstr "Informação básica"
+
+#: html/Ticket/Update.html:90
+msgid "Bcc"
+msgstr "Bcc"
+
+#: html/Admin/CustomFields/GroupRights.html:93 html/Admin/CustomFields/UserRights.html:76 html/Admin/Elements/EditScrip:91
+msgid "Be sure to save your changes"
+msgstr ""
+
+#: html/Elements/SelectDateRelation:57 lib/RT/CurrentUser.pm:363
+msgid "Before"
+msgstr "Antes"
+
+#: html/Elements/Logo:49
+msgid "Best Practical Solutions, LLC corporate logo"
+msgstr ""
+
+#: etc/initialdata:217
+msgid "Blank"
+msgstr "Branco"
+
+#: html/Search/Elements/EditFormat:86
+msgid "Bold"
+msgstr ""
+
+#: html/Search/Results.html:81
+msgid "Bookmarkable link"
+msgstr ""
+
+#: html/Ticket/Elements/ShowHistory:66 html/Ticket/Elements/ShowHistory:71
+msgid "Brief headers"
+msgstr ""
+
+#: html/Ticket/Elements/Tabs:228
+msgid "Bulk Update"
+msgstr "Actualização em bloco"
+
+#: lib/RT/User_Overlay.pm:1855
+msgid "Can not modify system users"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:93
+msgid "Can this principal see this queue"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:382
+msgid "Can't add a custom field value without a name"
+msgstr ""
+
+#: html/Admin/CustomFields/Objects.html:88
+#. ($Class)
+msgid "Can't find a collection class for '%1'"
+msgstr ""
+
+#: html/Search/Build.html:288
+msgid "Can't find a saved search to work with"
+msgstr "Impossível encontrar a pesquisa gravada definida"
+
+#: lib/RT/Link_Overlay.pm:161
+msgid "Can't link a ticket to itself"
+msgstr ""
+
+#: html/Widgets/SavedSearch:110
+#. (loc($self->{SearchType}))
+msgid "Can't save %1"
+msgstr ""
+
+#: html/Search/Build.html:292
+msgid "Can't save this search"
+msgstr "Não é possível gravar esta pesquisa"
+
+#: lib/RT/Record.pm:1304 lib/RT/Record.pm:1380
+msgid "Can't specifiy both base and target"
+msgstr ""
+
+#: html/autohandler:206
+#. ($msg)
+msgid "Cannot create user: %1"
+msgstr "Não é possível criar utilizador: %1"
+
+#: html/Admin/Elements/AddCustomFieldValue:64 html/Admin/Elements/EditCustomFieldValues:60
+msgid "Category"
+msgstr "Categoria"
+
+#: etc/initialdata:50 html/Admin/Queues/People.html:67 html/SelfService/Create.html:73 html/Ticket/Create.html:90 html/Ticket/Elements/EditPeople:74 html/Ticket/Elements/ShowPeople:58 html/Ticket/Update.html:85 lib/RT/ACE_Overlay.pm:114
+msgid "Cc"
+msgstr ""
+
+#: html/SelfService/Prefs.html:54
+msgid "Change password"
+msgstr "Mudar password"
+
+#: html/Elements/Submit:80
+msgid "Check All"
+msgstr "Seleccionar todos"
+
+#: html/SelfService/Update.html:80 html/Ticket/Create.html:136 html/Ticket/Update.html:99
+msgid "Check box to delete"
+msgstr "Seleccione caixa para apagar"
+
+#: html/Admin/Elements/SelectRights:57
+msgid "Check box to revoke right"
+msgstr ""
+
+#: html/Elements/EditLinks:149 html/Elements/EditLinks:86 html/Elements/ShowLinks:80 html/Ticket/Create.html:226 html/Ticket/Elements/BulkLinks:66
+msgid "Children"
+msgstr "Filhos"
+
+#: html/NoAuth/js/util.js:203
+msgid "Choose a date"
+msgstr "Escolha uma data"
+
+#: html/Admin/Users/Modify.html:159 html/User/Prefs.html:143
+msgid "City"
+msgstr "Cidade"
+
+#: html/Widgets/SelectionBox:214
+msgid "Clear"
+msgstr ""
+
+#: html/Elements/Submit:82
+msgid "Clear All"
+msgstr "Limpar todos"
+
+#: html/Helpers/CalPopup.html:53
+msgid "Close window"
+msgstr "Fechar janela"
+
+#: html/Ticket/Elements/ShowDates:70
+msgid "Closed"
+msgstr "Fechado"
+
+#: html/SelfService/Closed.html:48 html/SelfService/Elements/Tabs:81
+msgid "Closed tickets"
+msgstr "Tickets fechados"
+
+#: lib/RT/CustomField_Overlay.pm:91
+msgid "Combobox: Select or enter multiple values"
+msgstr "Seleccione ou insira valores múltiplos"
+
+#: lib/RT/CustomField_Overlay.pm:92
+msgid "Combobox: Select or enter one value"
+msgstr "Seleccione ou insira um valor"
+
+#: lib/RT/CustomField_Overlay.pm:93
+msgid "Combobox: Select or enter up to %1 values"
+msgstr "Seleccione ou insira até %1 valores"
+
+#: html/Ticket/Elements/ShowTransaction:193 html/Ticket/Elements/Tabs:187
+msgid "Comment"
+msgstr "Comentário"
+
+#: html/Admin/Queues/Modify.html:81
+msgid "Comment Address"
+msgstr "Morada de Comentário"
+
+#: lib/RT/Queue_Overlay.pm:113
+msgid "Comment on tickets"
+msgstr "Comentar tickets"
+
+#: lib/RT/Queue_Overlay.pm:113
+msgid "CommentOnTicket"
+msgstr ""
+
+#: html/Tools/MyDay.html:67
+msgid "Comments"
+msgstr "Comentários"
+
+#: html/Ticket/ModifyAll.html:93 html/Ticket/Update.html:77
+msgid "Comments (Not sent to requestors)"
+msgstr "Comentários (não so enviados para utilizadores)"
+
+#: html/Search/Bulk.html:130
+msgid "Comments (not sent to requestors)"
+msgstr "Comentários (não so enviados para utilizadores)"
+
+#: html/Admin/Users/Modify.html:229 html/Ticket/Elements/ShowRequestor:69
+msgid "Comments about this user"
+msgstr "Comentários sobre este utilizador"
+
+#: lib/RT/Transaction_Overlay.pm:655
+msgid "Comments added"
+msgstr "Comentários adicionados"
+
+#: lib/RT/Action/Generic.pm:177
+msgid "Commit Stubbed"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:61
+msgid "Condition"
+msgstr "Condição"
+
+#: lib/RT/Scrip_Overlay.pm:186
+msgid "Condition is mandatory argument"
+msgstr "Condição é argumento obrigatório"
+
+#: bin/rt-crontool:153
+msgid "Condition matches..."
+msgstr ""
+
+#: lib/RT/Scrip_Overlay.pm:190
+msgid "Condition not found"
+msgstr ""
+
+#: html/Elements/Tabs:87
+msgid "Configuration"
+msgstr "Configuração"
+
+#: html/SelfService/Prefs.html:56
+msgid "Confirm"
+msgstr "Confirmar"
+
+#: html/Admin/Elements/ModifyTemplate:67 html/Elements/SelectAttachmentField:50 html/Ticket/ModifyAll.html:121
+msgid "Content"
+msgstr "Conteúdo"
+
+#: html/Elements/SelectAttachmentField:51
+msgid "Content-Type"
+msgstr ""
+
+#: html/Search/Elements/EditSearches:67
+msgid "Copy"
+msgstr "Copiar"
+
+#: etc/initialdata:286
+msgid "Correspondence"
+msgstr "Correspondência"
+
+#: lib/RT/Transaction_Overlay.pm:651
+msgid "Correspondence added"
+msgstr "Correspondência adicionada"
+
+#: lib/RT/Record.pm:1682 lib/RT/Record.pm:1729
+#. ($value_msg)
+msgid "Could not add new custom field value: %1"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:3062 lib/RT/Ticket_Overlay.pm:3070 lib/RT/Ticket_Overlay.pm:3087
+msgid "Could not change owner. "
+msgstr "Não foi possível alterar responsável"
+
+#: html/Admin/CustomFields/Modify.html:163
+#. ($msg)
+msgid "Could not create CustomField"
+msgstr ""
+
+#: html/Admin/Elements/EditCustomField:115
+#. ($msg)
+msgid "Could not create CustomField: %1"
+msgstr ""
+
+#: html/User/Groups/Modify.html:100 lib/RT/Group_Overlay.pm:496 lib/RT/Group_Overlay.pm:503
+msgid "Could not create group"
+msgstr ""
+
+#: html/Admin/Global/Template.html:94 html/Admin/Queues/Template.html:95
+#. ($msg)
+msgid "Could not create template: %1"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1077 lib/RT/Ticket_Overlay.pm:409
+msgid "Could not create ticket. Queue not set"
+msgstr "Não é possível criar pedido. Especifique uma fila."
+
+#: lib/RT/User_Overlay.pm:257 lib/RT/User_Overlay.pm:271 lib/RT/User_Overlay.pm:280 lib/RT/User_Overlay.pm:289 lib/RT/User_Overlay.pm:298 lib/RT/User_Overlay.pm:312 lib/RT/User_Overlay.pm:322 lib/RT/User_Overlay.pm:498
+msgid "Could not create user"
+msgstr "Não foi possível criar utilizador"
+
+#: lib/RT/Queue_Overlay.pm:737 lib/RT/Ticket_Overlay.pm:1416
+msgid "Could not find or create that user"
+msgstr "Não foi possível criar ou encontrar esse utilizador"
+
+#: lib/RT/Queue_Overlay.pm:804 lib/RT/Ticket_Overlay.pm:1497
+msgid "Could not find that principal"
+msgstr ""
+
+#: html/Admin/CustomFields/Objects.html:71
+msgid "Could not load CustomField %1"
+msgstr ""
+
+#: html/Admin/Groups/Members.html:114 html/User/Groups/Members.html:113 html/User/Groups/Modify.html:105
+msgid "Could not load group"
+msgstr ""
+
+#: lib/RT/SavedSearch.pm:121
+#. ($privacy)
+msgid "Could not load object for %1"
+msgstr ""
+
+#: lib/RT/SavedSearch.pm:199
+msgid "Could not load search attribute"
+msgstr "Não é possível carregar o atributo da pesquisa"
+
+#: lib/RT/Queue_Overlay.pm:756
+#. ($args{'Type'})
+msgid "Could not make that principal a %1 for this queue"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1437
+#. ($self->loc($args{'Type'}))
+msgid "Could not make that principal a %1 for this ticket"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:864
+#. ($args{'Type'})
+msgid "Could not remove that principal as a %1 for this queue"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1564
+#. ($args{'Type'})
+msgid "Could not remove that principal as a %1 for this ticket"
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:193
+msgid "Could not set user info"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:161
+msgid "Couldn't add attachment"
+msgstr "Não foi possível adicionar anexo"
+
+#: lib/RT/Group_Overlay.pm:1005
+msgid "Couldn't add member to group"
+msgstr "Não foi possível adicionar membro a grupo"
+
+#: lib/RT/Record.pm:1741 lib/RT/Record.pm:1793
+#. ($Msg)
+msgid "Couldn't create a transaction: %1"
+msgstr "Não foi possível criar uma transacção: %1"
+
+#: lib/RT/Record.pm:970
+msgid "Couldn't find row"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:979
+msgid "Couldn't find that principal"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:412
+msgid "Couldn't find that value"
+msgstr ""
+
+#: lib/RT/CurrentUser.pm:147
+#. ($self->Id)
+msgid "Couldn't load %1 from the users database.\\n"
+msgstr ""
+
+#: html/Admin/CustomFields/UserRights.html:151
+#. ($id)
+msgid "Couldn't load Class %1"
+msgstr ""
+
+#: html/Admin/CustomFields/GroupRights.html:109
+#. ($id)
+msgid "Couldn't load CustomField %1"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:2009
+#. ($self->Id)
+msgid "Couldn't load copy of ticket #%1."
+msgstr ""
+
+#: html/Admin/Groups/GroupRights.html:111 html/Admin/Groups/UserRights.html:98
+#. ($id)
+msgid "Couldn't load group %1"
+msgstr ""
+
+#: lib/RT/Link_Overlay.pm:204 lib/RT/Link_Overlay.pm:213 lib/RT/Link_Overlay.pm:240
+msgid "Couldn't load link"
+msgstr ""
+
+#: html/Admin/Elements/ObjectCustomFields:85 html/Admin/Queues/CustomFields.html:61 html/Admin/Users/CustomFields.html:61
+#. ($id)
+msgid "Couldn't load object %1"
+msgstr ""
+
+#: html/Admin/Queues/People.html:144
+#. ($id)
+msgid "Couldn't load queue"
+msgstr ""
+
+#: html/Admin/Queues/GroupRights.html:124 html/Admin/Queues/UserRights.html:95
+#. ($id)
+msgid "Couldn't load queue %1"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:128 html/Admin/Elements/EditScrip:169
+#. ($id)
+msgid "Couldn't load scrip #%1"
+msgstr ""
+
+#: html/SelfService/Display.html:160 lib/RT/Action/CreateTickets.pm:682
+#. ($id)
+msgid "Couldn't load ticket '%1'"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:2637
+#. ($args{'URI'})
+msgid "Couldn't resolve '%1' into a URI."
+msgstr ""
+
+#: lib/RT/Link_Overlay.pm:113
+#. ($args{'Base'})
+msgid "Couldn't resolve base '%1' into a URI."
+msgstr ""
+
+#: lib/RT/Link_Overlay.pm:128
+#. ($args{'Target'})
+msgid "Couldn't resolve target '%1' into a URI."
+msgstr ""
+
+#: html/Admin/Users/Modify.html:176 html/User/Prefs.html:155
+msgid "Country"
+msgstr "País"
+
+#: html/Admin/Elements/CreateUserCalled:49 html/Admin/Elements/EditCustomField:86 html/Admin/Elements/EditScrip:135 html/Admin/Global/Template.html:67 html/Admin/Queues/Template.html:68 html/Elements/QuickCreate:67 html/Ticket/Create.html:171 html/Ticket/Create.html:238
+msgid "Create"
+msgstr "Criar"
+
+#: etc/initialdata:135
+msgid "Create Tickets"
+msgstr "Criar tickets"
+
+#: html/Admin/CustomFields/Modify.html:152 html/Admin/Elements/EditCustomField:98
+msgid "Create a CustomField"
+msgstr ""
+
+#: html/Admin/Queues/CustomField.html:71
+#. ($QueueObj->Name())
+msgid "Create a CustomField for queue %1"
+msgstr ""
+
+#: html/Admin/Groups/Modify.html:105 html/Admin/Groups/Modify.html:131
+msgid "Create a new group"
+msgstr "Criar novo grupo"
+
+#: html/User/Groups/Modify.html:115 html/User/Groups/Modify.html:90
+msgid "Create a new personal group"
+msgstr ""
+
+#: html/Ticket/Create.html:49 html/Ticket/Create.html:53 html/Ticket/Create.html:62
+msgid "Create a new ticket"
+msgstr "Criar novo ticket"
+
+#: html/Admin/Users/Modify.html:256 html/Admin/Users/Modify.html:318
+msgid "Create a new user"
+msgstr "Criar novo utilizador"
+
+#: html/Admin/Queues/Modify.html:127
+msgid "Create a queue"
+msgstr "Criar queue"
+
+#: html/Admin/Queues/Scrip.html:91
+#. ($QueueObj->Name)
+msgid "Create a scrip for queue %1"
+msgstr ""
+
+#: html/Admin/Global/Template.html:87 html/Admin/Queues/Template.html:88
+msgid "Create a template"
+msgstr "Criar template"
+
+#: html/SelfService/Create.html:48 html/SelfService/CreateTicketInQueue.html:48
+msgid "Create a ticket"
+msgstr "Criar ticket"
+
+#: etc/initialdata:137
+msgid "Create new tickets based on this scrip's template"
+msgstr "Criar novo pedido baseado num modelo existente"
+
+#: html/SelfService/Create.html:107
+msgid "Create ticket"
+msgstr "Criar ticket"
+
+#: lib/RT/Queue_Overlay.pm:111
+msgid "Create tickets in this queue"
+msgstr "Criar tickets nesta queue"
+
+#: lib/RT/CustomField_Overlay.pm:108
+msgid "Create, delete and modify custom fields"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:94
+msgid "Create, delete and modify queues"
+msgstr ""
+
+#: lib/RT/System.pm:82
+msgid "Create, delete and modify the members of personal groups"
+msgstr ""
+
+#: lib/RT/System.pm:83
+msgid "Create, delete and modify users"
+msgstr ""
+
+#: lib/RT/System.pm:89
+msgid "CreateSavedSearch"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:111
+msgid "CreateTicket"
+msgstr ""
+
+#: html/Elements/SelectDateType:49 html/Ticket/Elements/ShowDates:50 lib/RT/Ticket_Overlay.pm:1171
+msgid "Created"
+msgstr "Criado"
+
+#: html/Admin/CustomFields/Modify.html:165 html/Admin/Elements/EditCustomField:119
+#. ($CustomFieldObj->Name())
+msgid "Created CustomField %1"
+msgstr "Campo Personalisado %1 criado"
+
+#: html/Tools/Reports/Elements/Tabs:65
+msgid "Created in a date range"
+msgstr ""
+
+#: html/Tools/Reports/CreatedByDates.html:54
+msgid "Created tickets in period, grouped by status"
+msgstr "Pedidos criados dentro de um periodo de tempo, agrupados por estado"
+
+#: html/Search/Elements/PickBasics:104
+msgid "Creator"
+msgstr ""
+
+#: html/Elements/EditLinks:51
+msgid "Current Links"
+msgstr "Links actuais"
+
+#: html/Admin/Elements/EditScrips:53
+msgid "Current Scrips"
+msgstr ""
+
+#: html/Admin/Groups/Members.html:62 html/User/Groups/Members.html:65
+msgid "Current members"
+msgstr "Membros actuais"
+
+#: html/Admin/Elements/SelectRights:53
+msgid "Current rights"
+msgstr "Direitos actuais"
+
+#: html/Search/Elements/EditQuery:49
+msgid "Current search"
+msgstr "Pesquisa actual"
+
+#: html/Admin/Queues/People.html:64 html/Ticket/Elements/EditPeople:68
+msgid "Current watchers"
+msgstr ""
+
+#: html/Admin/Elements/SystemTabs:63 html/Admin/Elements/Tabs:64 html/Admin/Global/index.html:73 html/Admin/Users/Modify.html:209 html/Admin/index.html:79 html/Ticket/Elements/ShowSummary:58
+msgid "Custom Fields"
+msgstr ""
+
+#: html/Admin/CustomFields/index.html:62
+#. ($lookup)
+msgid "Custom Fields for %1"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:109
+msgid "Custom action cleanup code"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:105
+msgid "Custom action preparation code"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:101
+msgid "Custom condition"
+msgstr ""
+
+#: lib/RT/Tickets_Overlay.pm:2619
+#. ($CF->Name, $args{OPERATOR}, $args{VALUE})
+msgid "Custom field %1 %2 %3"
+msgstr ""
+
+#: lib/RT/Record.pm:1625
+#. ($args{'Field'})
+msgid "Custom field %1 does not apply to this object"
+msgstr ""
+
+#: lib/RT/Tickets_Overlay.pm:2613
+#. ($CF->Name)
+msgid "Custom field %1 has a value."
+msgstr ""
+
+#: lib/RT/Tickets_Overlay.pm:2609
+#. ($CF->Name)
+msgid "Custom field %1 has no value."
+msgstr ""
+
+#: lib/RT/Record.pm:1614 lib/RT/Record.pm:1776
+#. ($args{'Field'})
+msgid "Custom field %1 not found"
+msgstr ""
+
+#: lib/RT/Report/Tickets.pm:120 lib/RT/Report/Tickets.pm:123
+#. ($cf)
+#. ($obj->Name)
+msgid "Custom field '%1'"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:1160
+#. ($args{'Content'}, $self->Name)
+msgid "Custom field value %1 could not be found for custom field %2"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:422
+msgid "Custom field value could not be deleted"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:1172
+msgid "Custom field value could not be found"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:1174 lib/RT/CustomField_Overlay.pm:420
+msgid "Custom field value deleted"
+msgstr ""
+
+#: html/Elements/SelectGroups:53 html/Elements/SelectUsers:53 lib/RT/Transaction_Overlay.pm:659
+msgid "CustomField"
+msgstr ""
+
+#: html/Prefs/MyRT.html:80 html/Prefs/Quicksearch.html:72 html/Prefs/Search.html:77
+msgid "Customize"
+msgstr ""
+
+#: html/SelfService/Display.html:63 html/Ticket/Create.html:206 html/Ticket/Elements/ShowSummary:91 html/Ticket/Elements/Tabs:118 html/Ticket/ModifyAll.html:67
+msgid "Dates"
+msgstr "Datas"
+
+#: lib/RT/Date.pm:454
+msgid "Dec."
+msgstr "Dec"
+
+#: etc/initialdata:222
+msgid "Default Autoresponse template"
+msgstr ""
+
+#: html/Tools/Offline.html:63
+msgid "Default Queue"
+msgstr "Queue por omissão"
+
+#: html/Tools/Offline.html:72
+msgid "Default Requestor"
+msgstr ""
+
+#: etc/initialdata:296
+msgid "Default admin comment template"
+msgstr ""
+
+#: etc/initialdata:275
+msgid "Default admin correspondence template"
+msgstr ""
+
+#: etc/initialdata:287
+msgid "Default correspondence template"
+msgstr ""
+
+#: etc/initialdata:253
+msgid "Default transaction template"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:637
+#. ($type,        $self->Field,        (            $self->OldValue            ? "'" . $self->OldValue . "'"            : $self->loc("(no value)")        ),        "'" . $self->NewValue . "'")
+msgid "Default: %1/%2 changed from %3 to %4"
+msgstr ""
+
+#: html/User/Delegation.html:48 html/User/Delegation.html:51
+msgid "Delegate rights"
+msgstr ""
+
+#: lib/RT/System.pm:86
+msgid "Delegate specific rights which have been granted to you."
+msgstr ""
+
+#: lib/RT/System.pm:86
+msgid "DelegateRights"
+msgstr ""
+
+#: html/User/Elements/Tabs:61
+msgid "Delegation"
+msgstr ""
+
+#: html/Admin/Elements/EditScrips:77 html/Search/Elements/EditFormat:105 html/Search/Elements/EditQuery:59 html/Search/Elements/EditSearches:65 html/Widgets/SelectionBox:212
+msgid "Delete"
+msgstr "Apagar"
+
+#: html/Admin/Elements/EditTemplates:81
+msgid "Delete Template"
+msgstr "Apagar template"
+
+#: lib/RT/SavedSearch.pm:222
+#. ($msg)
+msgid "Delete failed: %1"
+msgstr ""
+
+#: html/Admin/Elements/EditScrips:76
+msgid "Delete selected scrips"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:116
+msgid "Delete tickets"
+msgstr "Apagar tickets"
+
+#: html/Search/Bulk.html:161
+msgid "Delete values"
+msgstr "Apagar valores"
+
+#: lib/RT/Queue_Overlay.pm:116
+msgid "DeleteTicket"
+msgstr ""
+
+#: lib/RT/SavedSearch.pm:220
+msgid "Deleted search"
+msgstr "Pesquisa apagada"
+
+#: lib/RT/Queue_Overlay.pm:396
+msgid "Deleting this object would break referential integrity"
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:514
+msgid "Deleting this object would violate referential integrity"
+msgstr ""
+
+#: html/Approvals/Elements/Approve:75
+msgid "Deny"
+msgstr ""
+
+#: html/Elements/EditLinks:141 html/Elements/EditLinks:68 html/Elements/ShowLinks:60 html/Ticket/Create.html:224 html/Ticket/Elements/BulkLinks:58 html/Ticket/Elements/ShowDependencies:55
+msgid "Depended on by"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:739
+#. ($value)
+msgid "Dependency by %1 added"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:779
+#. ($value)
+msgid "Dependency by %1 deleted"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:736
+#. ($value)
+msgid "Dependency on %1 added"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:776
+#. ($value)
+msgid "Dependency on %1 deleted"
+msgstr ""
+
+#: html/Elements/EditLinks:137 html/Elements/EditLinks:59 html/Elements/SelectLinkType:50 html/Elements/ShowLinks:50 html/Ticket/Create.html:223 html/Ticket/Elements/BulkLinks:54 html/Ticket/Elements/ShowDependencies:48
+msgid "Depends on"
+msgstr ""
+
+#: html/Search/Elements/DisplayOptions:88
+msgid "Desc"
+msgstr ""
+
+#: html/Elements/SelectSortOrder:58
+msgid "Descending"
+msgstr "Descendente"
+
+#: html/SelfService/Create.html:102 html/Ticket/Create.html:154
+msgid "Describe the issue below"
+msgstr "Descreva o pedido, abaixo"
+
+#: html/Admin/CustomFields/Modify.html:63 html/Admin/Elements/AddCustomFieldValue:59 html/Admin/Elements/EditCustomField:62 html/Admin/Elements/EditCustomFieldValues:58 html/Admin/Elements/EditScrip:57 html/Admin/Elements/ModifyTemplate:59 html/Admin/Groups/Modify.html:73 html/Admin/Queues/Modify.html:71 html/Search/Elements/EditSearches:58 html/User/Groups/Modify.html:72
+msgid "Description"
+msgstr "Descrição"
+
+#: html/Search/Elements/EditFormat:73 html/Ticket/Elements/Tabs:110
+msgid "Display"
+msgstr "Mostrar"
+
+#: lib/RT/Queue_Overlay.pm:95
+msgid "Display Access Control List"
+msgstr ""
+
+#: html/Search/Elements/DisplayOptions:48
+msgid "Display Columns"
+msgstr "Visualizar Colunas"
+
+#: lib/RT/Queue_Overlay.pm:101
+msgid "Display Scrip templates for this queue"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:104
+msgid "Display Scrips for this queue"
+msgstr ""
+
+#: html/Ticket/Elements/ShowHistory:61
+msgid "Display mode"
+msgstr "Modo de visualização"
+
+#: lib/RT/Group_Overlay.pm:170
+msgid "Display saved searches for this group"
+msgstr "Visualizar a pesquisa gravada para este grupo"
+
+#: html/Elements/Footer:63
+msgid "Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
+msgstr ""
+
+#: lib/RT/System.pm:77
+msgid "Do anything and everything"
+msgstr ""
+
+#: html/Elements/Refresh:53
+msgid "Don't refresh this page."
+msgstr ""
+
+#: html/Ticket/Elements/ShowTransactionAttachments:84
+msgid "Download"
+msgstr "Descarregar"
+
+#: html/Admin/Groups/index.html:63 html/Admin/Users/index.html:66
+msgid "Download as a tab-delimited file"
+msgstr "Descarregar num ficheiro separado por tabs"
+
+#: html/Elements/SelectDateType:55 html/Ticket/Create.html:212 html/Ticket/Elements/EditDates:68 html/Ticket/Elements/Reminders:135 html/Ticket/Elements/ShowDates:66 lib/RT/Ticket_Overlay.pm:1175
+msgid "Due"
+msgstr "Prazo"
+
+#: html/Elements/Quicksearch:50 html/Elements/ShowSearch:51 html/index.html:109
+msgid "Edit"
+msgstr "Editar"
+
+#: html/Search/Bulk.html:151
+msgid "Edit Custom Fields"
+msgstr "Editar Campos Personalizados"
+
+#: html/Admin/Elements/ObjectCustomFields:94 html/Admin/Queues/CustomFields.html:66 html/Admin/Users/CustomFields.html:66
+#. ($Object->Name)
+msgid "Edit Custom Fields for %1"
+msgstr "Editar Campos Personalizados de %1"
+
+#: html/Admin/Global/CustomFields/Groups.html:56
+msgid "Edit Custom Fields for all groups"
+msgstr "Editar Campos Personalizados para todos os grupos"
+
+#: html/Admin/Global/CustomFields/Users.html:56
+msgid "Edit Custom Fields for all users"
+msgstr "Editar Campos Personalizados para todos os utilizadores"
+
+#: html/Admin/Global/CustomFields/Queue-Tickets.html:56 html/Admin/Global/CustomFields/Queue-Transactions.html:56
+msgid "Edit Custom Fields for tickets in all queues"
+msgstr "Editar \"Campos Personalizados\" para todos os pedidos"
+
+#: html/Search/Bulk.html:190 html/Ticket/ModifyLinks.html:59
+msgid "Edit Links"
+msgstr "Editar ligações"
+
+#: html/Search/Edit.html:70
+msgid "Edit Query"
+msgstr "Editar Pesquisa"
+
+#: html/Ticket/Elements/Tabs:216
+msgid "Edit Search"
+msgstr "Editar Pesquisa"
+
+#: html/Admin/Queues/Templates.html:65
+#. ($QueueObj->Name)
+msgid "Edit Templates for queue %1"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:169
+msgid "Edit saved searches for this group"
+msgstr "Editar Pesquisas para este grupo"
+
+#: html/Admin/Elements/GlobalCustomFieldTabs:62 html/Admin/Global/index.html:69
+msgid "Edit system templates"
+msgstr "Editar modelos de sistema"
+
+#: lib/RT/Group_Overlay.pm:169
+msgid "EditSavedSearches"
+msgstr ""
+
+#: html/Admin/Queues/Modify.html:142
+#. ($QueueObj->Name)
+msgid "Editing Configuration for queue %1"
+msgstr ""
+
+#: html/Admin/CustomFields/Modify.html:169 html/Admin/Elements/EditCustomField:122
+#. ($CustomFieldObj->Name())
+msgid "Editing CustomField %1"
+msgstr ""
+
+#: html/Admin/Groups/Members.html:57
+#. ($Group->Name)
+msgid "Editing membership for group %1"
+msgstr ""
+
+#: html/User/Groups/Members.html:152
+#. ($Group->Name)
+msgid "Editing membership for personal group %1"
+msgstr ""
+
+#: lib/RT/Record.pm:1317 lib/RT/Record.pm:1394 lib/RT/Ticket_Overlay.pm:2512 lib/RT/Ticket_Overlay.pm:2602
+msgid "Either base or target must be specified"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:76 html/Ticket/Elements/AddWatchers:79 html/User/Prefs.html:67
+msgid "Email"
+msgstr "Email"
+
+#: lib/RT/User_Overlay.pm:237
+msgid "Email address in use"
+msgstr "Endereço de email já utilizado"
+
+#: html/Admin/CustomFields/Modify.html:100 html/Admin/Elements/EditCustomField:74
+msgid "Enabled (Unchecking this box disables this custom field)"
+msgstr "Activo (remover selecção desta caixa desactiva este campo)"
+
+#: html/Admin/Groups/Modify.html:89 html/User/Groups/Modify.html:76
+msgid "Enabled (Unchecking this box disables this group)"
+msgstr "Activo (remover selecção desta caixa desactiva este grupo)"
+
+#: html/Admin/Queues/Modify.html:107
+msgid "Enabled (Unchecking this box disables this queue)"
+msgstr "Activo (remover selecção desta caixa desactiva esta queue)"
+
+#: html/Admin/Queues/index.html:80
+msgid "Enabled Queues"
+msgstr "Queues activas"
+
+#: html/Admin/Elements/EditCustomField:138 html/Admin/Groups/Modify.html:156 html/Admin/Users/Modify.html:354 html/User/Groups/Modify.html:140
+#. (loc_fuzzy($msg))
+msgid "Enabled status %1"
+msgstr ""
+
+#: html/Admin/CustomFields/Modify.html:187 html/Admin/Queues/Modify.html:164
+#. (loc_fuzzy($msg))
+msgid "Enabled status: %1"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:66
+msgid "Enter multiple values"
+msgstr ""
+
+#: html/Elements/EditLinks:127
+msgid "Enter objects or URIs to link objects to. Separate multiple entries with spaces."
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:67
+msgid "Enter one value"
+msgstr "Inserir um valor"
+
+#: html/Elements/EditLinks:124
+msgid "Enter queues or URIs to link queues to. Separate multiple entries with spaces."
+msgstr "Escreva as filas ou URIs para ligar as filas. Separe várias entradas com espaços."
+
+#: html/Elements/EditLinks:120 html/Search/Bulk.html:191
+msgid "Enter tickets or URIs to link tickets to. Separate multiple entries with spaces."
+msgstr "Escreva o número dos pedidos ou URIs para ligar os pedidos. Separe várias entradas com espaços."
+
+#: lib/RT/CustomField_Overlay.pm:68
+msgid "Enter up to %1 values"
+msgstr "Inserir até %1 valores"
+
+#: html/Elements/Login:78 html/SelfService/Error.html:48 html/SelfService/Error.html:49
+msgid "Error"
+msgstr "Erro"
+
+#: lib/RT/Queue_Overlay.pm:681
+msgid "Error in parameters to Queue->AddWatcher"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:837
+msgid "Error in parameters to Queue->DeleteWatcher"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1376
+msgid "Error in parameters to Ticket->AddWatcher"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1531
+msgid "Error in parameters to Ticket->DeleteWatcher"
+msgstr ""
+
+#: html/Search/Build.html:390
+#. ($val,              $token, $string)
+msgid "Error near ->%1<- expecting a %2 in '%3'"
+msgstr ""
+
+#: bin/rt-crontool:287
+msgid "Escalate tickets"
+msgstr ""
+
+#: html/Ticket/Elements/ShowBasics:59
+msgid "Estimated"
+msgstr "Estimado"
+
+#: etc/initialdata:20
+msgid "Everyone"
+msgstr "Todos"
+
+#: bin/rt-crontool:273
+msgid "Example:"
+msgstr "Exemplo:"
+
+#: html/Admin/Users/Modify.html:101
+msgid "Extra info"
+msgstr "Informação adicional"
+
+#: lib/RT/SavedSearch.pm:179
+msgid "Failed to create search attribute"
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:378
+msgid "Failed to find 'Privileged' users pseudogroup."
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:385
+msgid "Failed to find 'Unprivileged' users pseudogroup"
+msgstr ""
+
+#: bin/rt-crontool:208
+#. ($modname, $@)
+msgid "Failed to load module %1. (%2)"
+msgstr ""
+
+#: lib/RT/SavedSearch.pm:154
+#. ($privacy)
+msgid "Failed to load object for %1"
+msgstr ""
+
+#: lib/RT/Date.pm:444
+msgid "Feb."
+msgstr "Feb"
+
+#: html/Elements/SelectAttachmentField:52
+msgid "Filename"
+msgstr "Ficheiro"
+
+#: lib/RT/CustomField_Overlay.pm:71
+msgid "Fill in multiple text areas"
+msgstr "Preencher múltiplas áreas de texto"
+
+#: lib/RT/CustomField_Overlay.pm:76
+msgid "Fill in multiple wikitext areas"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:72
+msgid "Fill in one text area"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:77
+msgid "Fill in one wikitext area"
+msgstr ""
+
+#: html/Admin/CustomFields/Modify.html:109 html/Admin/CustomFields/Modify.html:120
+msgid "Fill in this field with a URL."
+msgstr "Preencha este campo com um URL"
+
+#: lib/RT/CustomField_Overlay.pm:73
+msgid "Fill in up to %1 text areas"
+msgstr "Preencha até %1 áreas de texto"
+
+#: lib/RT/CustomField_Overlay.pm:78
+msgid "Fill in up to %1 wikitext areas"
+msgstr ""
+
+#: html/Search/Elements/PickBasics:151 html/Ticket/Create.html:185 html/Ticket/Elements/EditBasics:99 lib/RT/Tickets_Overlay.pm:2030
+msgid "Final Priority"
+msgstr "Prioridade final"
+
+#: lib/RT/Ticket_Overlay.pm:1166
+msgid "FinalPriority"
+msgstr ""
+
+#: html/Admin/Groups/index.html:74 html/Admin/Queues/People.html:84 html/Ticket/Elements/EditPeople:57
+msgid "Find groups whose"
+msgstr "Encontrar grupos cujo"
+
+#: html/Admin/Queues/People.html:80 html/Admin/Users/index.html:72 html/Ticket/Elements/EditPeople:53
+msgid "Find people whose"
+msgstr "Encontrar pessoas cujo"
+
+#: html/Search/Results.html:149
+msgid "Find tickets"
+msgstr "Encontrar tickets"
+
+#: html/Ticket/Elements/Tabs:83
+msgid "First"
+msgstr "Primeiro"
+
+#: docs/design_docs/string-extraction-guide.txt:33 lib/RT/StyleGuide.pod:764
+msgid "Foo Bar Baz"
+msgstr ""
+
+#: docs/design_docs/string-extraction-guide.txt:24 lib/RT/StyleGuide.pod:755
+msgid "Foo!"
+msgstr ""
+
+#: html/Search/Bulk.html:85
+msgid "Force change"
+msgstr "Forçar alteraçao"
+
+#: html/Search/Elements/EditFormat:54
+msgid "Format"
+msgstr ""
+
+#: html/Search/Results.html:147
+#. ($ticketcount)
+msgid "Found %quant(%1,ticket)"
+msgstr ""
+
+#: lib/RT/Record.pm:973
+msgid "Found Object"
+msgstr ""
+
+#: lib/RT/Date.pm:423
+msgid "Fri."
+msgstr "Fri"
+
+#: html/Ticket/Elements/ShowHistory:68 html/Ticket/Elements/ShowHistory:74
+msgid "Full headers"
+msgstr "Cabeçalhos completos"
+
+#: html/Tools/Offline.html:87
+msgid "Get template from file"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:705
+#. ($New->Name)
+msgid "Given to %1"
+msgstr ""
+
+#: html/Admin/Elements/Tabs:67 html/Admin/index.html:84
+msgid "Global"
+msgstr ""
+
+#: html/Admin/Elements/EditCustomFields:57
+msgid "Global Custom Fields"
+msgstr ""
+
+#: html/Admin/Global/CustomFields/index.html:61
+msgid "Global custom field configuration"
+msgstr ""
+
+#: html/Admin/Global/MyRT.html:95
+#. ($pane)
+msgid "Global portlet %1 saved."
+msgstr ""
+
+#: html/Admin/Elements/SelectTemplate:61
+#. (loc($Template->Name))
+msgid "Global template: %1"
+msgstr ""
+
+#: html/Admin/CustomFields/index.html:82 html/Admin/Groups/index.html:69 html/Admin/Groups/index.html:75 html/Admin/Queues/People.html:82 html/Admin/Queues/People.html:86 html/Admin/Queues/index.html:68 html/Admin/Users/index.html:75 html/Approvals/index.html:54 html/Elements/RefreshHomepage:50 html/Search/Results.html:76 html/Search/Results.html:92 html/Ticket/Elements/EditPeople:55 html/Ticket/Elements/EditPeople:59 html/Tools/Offline.html:91
+msgid "Go!"
+msgstr ""
+
+#: html/Elements/GotoTicket:48 html/SelfService/Elements/GotoTicket:48
+msgid "Goto ticket"
+msgstr "Ir para ticket"
+
+#: html/Ticket/Elements/AddWatchers:69 html/Ticket/Elements/ShowGroupMembers:57 html/User/Elements/DelegateRights:101
+msgid "Group"
+msgstr "Grupo"
+
+#: html/Admin/Elements/CustomFieldTabs:70 html/Admin/Elements/GroupTabs:68 html/Admin/Elements/QueueTabs:84 html/Admin/Elements/SystemTabs:67 html/Admin/Global/index.html:78
+msgid "Group Rights"
+msgstr "Direitos do grupo"
+
+#: lib/RT/Group_Overlay.pm:985
+msgid "Group already has member"
+msgstr "Grupo já tem membro"
+
+#: html/Admin/Groups/Modify.html:115
+#. ($create_msg)
+msgid "Group could not be created: %1"
+msgstr "Grupo não pôde ser criado: %1"
+
+#: lib/RT/Group_Overlay.pm:523
+msgid "Group created"
+msgstr "Grupo criado"
+
+#: lib/RT/Group_Overlay.pm:1157
+msgid "Group has no such member"
+msgstr "O grupo não tem esse membro"
+
+#: lib/RT/Group_Overlay.pm:965 lib/RT/Queue_Overlay.pm:743 lib/RT/Queue_Overlay.pm:810 lib/RT/Ticket_Overlay.pm:1423 lib/RT/Ticket_Overlay.pm:1503
+msgid "Group not found"
+msgstr "Grupo não encontrado"
+
+#: html/Admin/Elements/GlobalCustomFieldTabs:61 html/Admin/Elements/SelectNewGroupMembers:59 html/Admin/Elements/Tabs:58 html/Admin/Global/CustomFields/index.html:71 html/Admin/Groups/Members.html:88 html/Admin/Queues/People.html:106 html/Admin/Users/Memberships.html:55 html/Admin/index.html:69 html/User/Groups/Members.html:90 lib/RT/CustomField_Overlay.pm:1213
+msgid "Groups"
+msgstr "Grupos"
+
+#: lib/RT/Group_Overlay.pm:991
+msgid "Groups can't be members of their members"
+msgstr "Grupos não podem ser membros dos seus membros"
+
+#: html/Admin/Groups/index.html:88
+msgid "Groups matching search criteria"
+msgstr "Grupos que preenchem critérios"
+
+#: html/Ticket/Elements/ShowRequestor:79
+msgid "Groups this user belongs to"
+msgstr "Grupos a que este utilizador pertence"
+
+#: lib/RT/Interface/CLI.pm:96 lib/RT/Interface/CLI.pm:96
+msgid "Hello!"
+msgstr "Olá!"
+
+#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:771
+#. ($name)
+msgid "Hello, %1"
+msgstr "Olá, %1"
+
+#: html/Admin/Elements/GroupTabs:72 html/Admin/Elements/UserTabs:66 html/Ticket/Elements/ShowHistory:55 html/Ticket/Elements/Tabs:113
+msgid "History"
+msgstr "Histórico"
+
+#: html/Admin/Groups/History.html:64
+#. ($GroupObj->Name)
+msgid "History of the group %1"
+msgstr "Histórico do grupo %1"
+
+#: html/Admin/Users/History.html:64
+#. ($UserObj->Name)
+msgid "History of the user %1"
+msgstr "Histórico do utilizador %1"
+
+#: html/Elements/Tabs:68
+msgid "Homepage"
+msgstr "Home"
+
+#: html/Elements/SelectTimeUnits:50
+msgid "Hours"
+msgstr "Horas"
+
+#: lib/RT/Base.pm:135
+#. (6)
+msgid "I have %quant(%1,concrete mixer)."
+msgstr ""
+
+#: html/Search/Build.html:466 lib/RT/Report/Tickets.pm:415
+msgid "I'm lost"
+msgstr "Estou perdido"
+
+#: html/Ticket/Elements/ShowBasics:50 lib/RT/Tickets_Overlay.pm:1955
+msgid "Id"
+msgstr "Id"
+
+#: html/Admin/Users/Modify.html:67 html/User/Prefs.html:62
+msgid "Identity"
+msgstr "Identidade"
+
+#: etc/initialdata:429
+msgid "If an approval is rejected, reject the original and delete pending approvals"
+msgstr ""
+
+#: html/Tools/Offline.html:76
+msgid "If no Requestor is specified, create tickets with this requestor."
+msgstr "Se nenhum Requerente for especificado, criar um pedido sem Requerente."
+
+#: html/Tools/Offline.html:67
+msgid "If no queue is specified, create tickets in this queue."
+msgstr "Se nenhuma queue foi definida, criar tickets nesta queue"
+
+#: bin/rt-crontool:269
+msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
+msgstr ""
+
+#: html/Admin/Queues/People.html:128 html/Ticket/Modify.html:62 html/Ticket/ModifyAll.html:130 html/Ticket/ModifyPeople.html:62
+msgid "If you've updated anything above, be sure to"
+msgstr "Se actualizou algo acima, certifique-se que"
+
+#: lib/RT/Record.pm:964
+msgid "Illegal value for %1"
+msgstr ""
+
+#: lib/RT/Record.pm:967
+msgid "Immutable field"
+msgstr ""
+
+#: html/Admin/Groups/index.html:67
+msgid "Include disabled groups in listing."
+msgstr "Incluir grupos desactivados na listagem"
+
+#: html/Admin/Queues/index.html:67
+msgid "Include disabled queues in listing."
+msgstr "Incluir queues desactivadas na listagem"
+
+#: html/Admin/Users/index.html:73
+msgid "Include disabled users in search."
+msgstr "Incluir utilizadores desactivados na listagem"
+
+#: html/Admin/CustomFields/Modify.html:115
+msgid "Include page"
+msgstr "Incluir página"
+
+#: html/Search/Build.html:492 lib/RT/Report/Tickets.pm:441
+msgid "Incomplete Query"
+msgstr "Query incompleta"
+
+#: html/Search/Build.html:489 lib/RT/Report/Tickets.pm:438
+msgid "Incomplete query"
+msgstr "Query incompleta"
+
+#: html/Search/Elements/PickBasics:150 lib/RT/Tickets_Overlay.pm:2005
+msgid "Initial Priority"
+msgstr "Prioridade Inicial"
+
+#: lib/RT/Ticket_Overlay.pm:1165 lib/RT/Ticket_Overlay.pm:1167
+msgid "InitialPriority"
+msgstr ""
+
+#: lib/RT/ScripAction_Overlay.pm:135
+msgid "Input error"
+msgstr ""
+
+#: html/Elements/ValidateCustomFields:70 lib/RT/CustomField_Overlay.pm:1024 lib/RT/CustomField_Overlay.pm:1165
+#. ($self->FriendlyPattern)
+#. ($CF->FriendlyPattern)
+msgid "Input must match %1"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:3522
+msgid "Internal Error"
+msgstr "Erro interno"
+
+#: lib/RT/Record.pm:315
+#. ($id->{error_message})
+msgid "Internal Error: %1"
+msgstr "Erro interno: %1"
+
+#: lib/RT/Group_Overlay.pm:670
+msgid "Invalid Group Type"
+msgstr ""
+
+#: lib/RT/Principal_Overlay.pm:163
+msgid "Invalid Right"
+msgstr "Direito Inválido"
+
+#: lib/RT/Record.pm:969
+msgid "Invalid data"
+msgstr "Dados Inválidos"
+
+#: lib/RT/CustomField_Overlay.pm:210 lib/RT/CustomField_Overlay.pm:681
+#. ($msg)
+msgid "Invalid pattern: %1"
+msgstr "Padrão inválido: %1"
+
+#: lib/RT/Scrip_Overlay.pm:159 lib/RT/Template_Overlay.pm:246
+msgid "Invalid queue"
+msgstr "Queue inválida"
+
+#: lib/RT/ACE_Overlay.pm:266 lib/RT/ACE_Overlay.pm:275 lib/RT/ACE_Overlay.pm:281 lib/RT/ACE_Overlay.pm:292
+msgid "Invalid right"
+msgstr "Direito inválido"
+
+#: lib/RT/Record.pm:290
+#. ($key)
+msgid "Invalid value for %1"
+msgstr "Valor inválido para %1"
+
+#: lib/RT/Record.pm:1632
+msgid "Invalid value for custom field"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:426
+msgid "Invalid value for status"
+msgstr "Valor inválido para estado"
+
+#: bin/rt-crontool:270
+msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
+msgstr "É muito importante que os utilizadores não privilegiados não possam executar esta ferramenta."
+
+#: bin/rt-crontool:271
+msgid "It is suggested that you create a non-privileged unix user with the correct group membership and RT access to run this tool."
+msgstr "É sugerido que crie um utilizador não privilegiado com o grupo correcto e acesso ao RT para utilizar esta ferramenta."
+
+#: bin/rt-crontool:233
+msgid "It takes several arguments:"
+msgstr "Necessários vários argumentos:"
+
+#: html/Search/Elements/EditFormat:87
+msgid "Italic"
+msgstr "Itálico"
+
+#: lib/RT/Date.pm:443
+msgid "Jan."
+msgstr "Jan"
+
+#: lib/RT/Group_Overlay.pm:168
+msgid "Join or leave this group"
+msgstr ""
+
+#: lib/RT/Date.pm:449
+msgid "Jul."
+msgstr "Jul"
+
+#: html/Ticket/Elements/Tabs:127
+msgid "Jumbo"
+msgstr ""
+
+#: lib/RT/Date.pm:448
+msgid "Jun."
+msgstr "Jun"
+
+#: html/Admin/Users/Modify.html:96 html/User/Prefs.html:78
+msgid "Language"
+msgstr "Língua"
+
+#: html/Search/Elements/EditFormat:81
+msgid "Large"
+msgstr ""
+
+#: html/Ticket/Elements/Tabs:98
+msgid "Last"
+msgstr "Último"
+
+#: html/Ticket/Elements/EditDates:61 html/Ticket/Elements/ShowDates:62
+msgid "Last Contact"
+msgstr "Último Contacto"
+
+#: html/Elements/SelectDateType:52
+msgid "Last Contacted"
+msgstr ""
+
+#: html/Elements/SelectDateType:53
+msgid "Last Updated"
+msgstr "Última actualização"
+
+#: html/Search/Elements/PickBasics:105
+msgid "LastUpdatedBy"
+msgstr ""
+
+#: html/Ticket/Elements/ShowBasics:70
+msgid "Left"
+msgstr "Restante"
+
+#: html/Admin/Users/Modify.html:111
+msgid "Let this user access RT"
+msgstr "Permitir que este utilizador aceda ao RT"
+
+#: html/Admin/Users/Modify.html:115
+msgid "Let this user be granted rights"
+msgstr "Permitir que este utilizador tenha direitos"
+
+#: html/Search/Elements/EditFormat:70
+msgid "Link"
+msgstr "Ligação"
+
+#: lib/RT/Record.pm:1328
+msgid "Link already exists"
+msgstr "Ligação já existe"
+
+#: lib/RT/Record.pm:1342
+msgid "Link could not be created"
+msgstr "Ligação não pôde ser criada"
+
+#: lib/RT/Record.pm:1348
+#. ($TransString)
+msgid "Link created (%1)"
+msgstr "Ligação criada (%1)"
+
+#: lib/RT/Record.pm:1409
+#. ($TransString)
+msgid "Link deleted (%1)"
+msgstr "Ligação apagada (%1)"
+
+#: lib/RT/Record.pm:1415
+msgid "Link not found"
+msgstr "Ligação não encontrada"
+
+#: html/Ticket/ModifyLinks.html:48 html/Ticket/ModifyLinks.html:52
+#. ($Ticket->Id)
+msgid "Link ticket #%1"
+msgstr ""
+
+#: html/Admin/CustomFields/Modify.html:104
+msgid "Link values to"
+msgstr "Ligar valores a"
+
+#: lib/RT/Ticket_Overlay.pm:702
+msgid "Linking. Permission denied"
+msgstr "Ligação. Permissão negada"
+
+#: html/Ticket/Create.html:219 html/Ticket/Elements/ShowSummary:97 html/Ticket/Elements/Tabs:122 html/Ticket/ModifyAll.html:80
+msgid "Links"
+msgstr "Ligações"
+
+#: html/Search/Elements/EditSearches:77
+msgid "Load"
+msgstr "Carregar"
+
+#: html/Search/Elements/EditSearches:75
+msgid "Load saved search:"
+msgstr "Carregar pesquisa gravada:"
+
+#: lib/RT/System.pm:88
+msgid "LoadSavedSearch"
+msgstr ""
+
+#: html/Admin/Tools/Configuration.html:66
+msgid "Loaded perl modules"
+msgstr "Módulos perl carregados"
+
+#: lib/RT/SavedSearch.pm:113
+#. ($self->Name)
+msgid "Loaded search %1"
+msgstr "Pesquisa %1 carregada"
+
+#: html/Admin/Users/Modify.html:141 html/User/Prefs.html:128
+msgid "Location"
+msgstr "Localização"
+
+#: html/Elements/Header:93
+#. ("<span>".$session{'CurrentUser'}->Name."</span>")
+msgid "Logged in as %1"
+msgstr "Ligado como %1"
+
+#: docs/design_docs/string-extraction-guide.txt:71 html/Elements/Login:102 html/Elements/Login:70 html/Elements/Login:86 lib/RT/StyleGuide.pod:795
+msgid "Login"
+msgstr "Entrar"
+
+#: html/Elements/Header:103
+msgid "Logout"
+msgstr "Sair"
+
+#: lib/RT/CustomField_Overlay.pm:935
+msgid "Lookup type mismatch"
+msgstr ""
+
+#: html/Search/Bulk.html:84
+msgid "Make Owner"
+msgstr "Definir Proprietário"
+
+#: html/Search/Bulk.html:108
+msgid "Make Status"
+msgstr "Definir estado"
+
+#: html/Search/Bulk.html:116
+msgid "Make date Due"
+msgstr "Definir data como prazo"
+
+#: html/Search/Bulk.html:118
+msgid "Make date Resolved"
+msgstr ""
+
+#: html/Search/Bulk.html:112
+msgid "Make date Started"
+msgstr ""
+
+#: html/Search/Bulk.html:110
+msgid "Make date Starts"
+msgstr ""
+
+#: html/Search/Bulk.html:114
+msgid "Make date Told"
+msgstr ""
+
+#: html/Search/Bulk.html:104
+msgid "Make priority"
+msgstr "Definir prioridade"
+
+#: html/Search/Bulk.html:106
+msgid "Make queue"
+msgstr ""
+
+#: html/Search/Bulk.html:102
+msgid "Make subject"
+msgstr "Definir assunto"
+
+#: lib/RT/Group_Overlay.pm:171
+msgid "Make this group visible to user"
+msgstr ""
+
+#: html/Admin/index.html:80
+msgid "Manage custom fields and custom field values"
+msgstr ""
+
+#: html/Admin/index.html:71
+msgid "Manage groups and group membership"
+msgstr "Gerir grupos e membros de grupos"
+
+#: html/Admin/index.html:87
+msgid "Manage properties and configuration which apply to all queues"
+msgstr "Gerir propriedades e configuração que se aplica a todas as queues"
+
+#: html/Admin/index.html:76
+msgid "Manage queues and queue-specific properties"
+msgstr "Gerir queues e propriedades específicas das queues"
+
+#: html/Admin/index.html:66
+msgid "Manage users and passwords"
+msgstr "Gerir utilizadores e passwords"
+
+#: lib/RT/Date.pm:445
+msgid "Mar."
+msgstr "Mar"
+
+#: lib/RT/Date.pm:447
+msgid "May."
+msgstr "May"
+
+#: lib/RT/Transaction_Overlay.pm:752
+#. ($value)
+msgid "Member %1 added"
+msgstr "Membro %1 adicionado"
+
+#: lib/RT/Transaction_Overlay.pm:792
+#. ($value)
+msgid "Member %1 deleted"
+msgstr "Membro %1 apagado"
+
+#: lib/RT/Group_Overlay.pm:1002
+msgid "Member added"
+msgstr "Membro adicionado"
+
+#: lib/RT/Group_Overlay.pm:1164
+msgid "Member deleted"
+msgstr "Membro apagado"
+
+#: lib/RT/Group_Overlay.pm:1168
+msgid "Member not deleted"
+msgstr "Membro não apagado"
+
+#: html/Elements/SelectLinkType:49
+msgid "Member of"
+msgstr "Membro de"
+
+#: html/Admin/Elements/GroupTabs:65 html/User/Elements/GroupTabs:65
+msgid "Members"
+msgstr "Membros"
+
+#: lib/RT/Transaction_Overlay.pm:749
+#. ($value)
+msgid "Membership in %1 added"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:789
+#. ($value)
+msgid "Membership in %1 deleted"
+msgstr ""
+
+#: html/Admin/Elements/UserTabs:63
+msgid "Memberships"
+msgstr ""
+
+#: html/Admin/Users/Memberships.html:62
+#. ($UserObj->Name)
+msgid "Memberships of the user %1"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:2896
+msgid "Merge Successful"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:2774
+msgid "Merge failed. Couldn't set EffectiveId"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:2791
+msgid "Merge failed. Couldn't set Status"
+msgstr ""
+
+#: html/Elements/EditLinks:132 html/Ticket/Elements/BulkLinks:50
+msgid "Merge into"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:755
+#. ($value)
+msgid "Merged into %1"
+msgstr ""
+
+#: html/Search/Bulk.html:145 html/Ticket/Update.html:120
+msgid "Message"
+msgstr "Mensagem"
+
+#: html/Ticket/Elements/ShowTransactionAttachments:166
+msgid "Message body not shown because it is too large or is not plain text."
+msgstr "Corpo da mensagem não apresentado porque é grande demais ou não é texto"
+
+#: lib/RT/Ticket_Overlay.pm:2445
+msgid "Message could not be recorded"
+msgstr "Mensagem não pôde ser gravada"
+
+#: lib/RT/Ticket_Overlay.pm:2448
+msgid "Message recorded"
+msgstr "Mensagem gravada"
+
+#: html/Ticket/Elements/PreviewScrips:124
+msgid "Messages about this ticket will not be sent to..."
+msgstr "Mensagens sobre este ticket não serão enviadas a..."
+
+#: html/Elements/SelectTimeUnits:49
+msgid "Minutes"
+msgstr "Minutos"
+
+#: html/Search/Build.html:496 lib/RT/Report/Tickets.pm:445
+msgid "Mismatched parentheses"
+msgstr ""
+
+#: lib/RT/Record.pm:971
+msgid "Missing a primary key?: %1"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:196 html/User/Prefs.html:94
+msgid "Mobile"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:96
+msgid "Modify Access Control List"
+msgstr "Alterar Lista de Controle de Acessos"
+
+#: html/Admin/Elements/ObjectCustomFields:98
+#. (loc(lc($FriendlySubTypes)), loc(lc($Types)))
+msgid "Modify Custom Fields which apply to %1 for all %2"
+msgstr ""
+
+#: html/Admin/Elements/ObjectCustomFields:100
+#. (loc(lc($Types)))
+msgid "Modify Custom Fields which apply to all %1"
+msgstr ""
+
+#: html/Admin/Global/GroupRights.html:108 html/Admin/Groups/GroupRights.html:96 html/Admin/Queues/GroupRights.html:109
+msgid "Modify Group Rights"
+msgstr "Alterar Direitos de Grupo"
+
+#: html/Admin/Groups/Members.html:107 html/User/Groups/Members.html:103
+msgid "Modify Members"
+msgstr "Alterar Membros"
+
+#: html/User/Delegation.html:60
+msgid "Modify Rights"
+msgstr "Alterar Direitos"
+
+#: lib/RT/Queue_Overlay.pm:99
+msgid "Modify Scrip templates for this queue"
+msgstr "Alterar templates dos Scrips para esta queue"
+
+#: lib/RT/Queue_Overlay.pm:102
+msgid "Modify Scrips for this queue"
+msgstr "Alterar Scrips para esta queue"
+
+#: html/Admin/Global/UserRights.html:76 html/Admin/Groups/UserRights.html:78 html/Admin/Queues/UserRights.html:77
+msgid "Modify User Rights"
+msgstr "Alterar Direitos de Utilizadores"
+
+#: html/Admin/Queues/CustomField.html:68
+#. ($QueueObj->Name())
+msgid "Modify a CustomField for queue %1"
+msgstr ""
+
+#: html/Admin/Queues/Scrip.html:84
+#. ($QueueObj->Name)
+msgid "Modify a scrip for queue %1"
+msgstr "Alterar uma scrip da queue %1"
+
+#: html/Admin/Global/Scrip.html:77
+msgid "Modify a scrip that applies to all queues"
+msgstr "Alterar uma scrip que se aplica a todas as queues"
+
+#: html/Admin/CustomFields/Objects.html:92
+#. ($CF->Name)
+msgid "Modify associated objects for %1"
+msgstr ""
+
+#: html/Ticket/ModifyDates.html:48 html/Ticket/ModifyDates.html:52
+#. ($TicketObj->Id)
+msgid "Modify dates for #%1"
+msgstr "Alterar datas de #%1"
+
+#: html/Ticket/ModifyDates.html:59
+#. ($TicketObj->Id)
+msgid "Modify dates for ticket # %1"
+msgstr "Alterar datas do ticket # %1"
+
+#: html/Admin/Elements/GlobalCustomFieldTabs:67 html/Admin/Global/index.html:74
+msgid "Modify global custom fields"
+msgstr ""
+
+#: html/Admin/Elements/GlobalCustomFieldTabs:72 html/Admin/Global/GroupRights.html:48 html/Admin/Global/GroupRights.html:51 html/Admin/Global/index.html:79
+msgid "Modify global group rights"
+msgstr "Alterar direitos de grupo globais"
+
+#: html/Admin/Global/GroupRights.html:56
+msgid "Modify global group rights."
+msgstr "Alterar direitos de grupo globais"
+
+#: html/Admin/Global/UserRights.html:48 html/Admin/Global/UserRights.html:51 html/Admin/Global/index.html:83
+msgid "Modify global user rights"
+msgstr "Alterar direitos de utilizador globais"
+
+#: html/Admin/Global/UserRights.html:56
+msgid "Modify global user rights."
+msgstr "Alterar direitos de utilizador globais"
+
+#: lib/RT/Group_Overlay.pm:165
+msgid "Modify group metadata or delete group"
+msgstr ""
+
+#: html/Admin/CustomFields/GroupRights.html:113
+#. ($CustomFieldObj->Name)
+msgid "Modify group rights for custom field %1"
+msgstr ""
+
+#: html/Admin/Groups/GroupRights.html:48 html/Admin/Groups/GroupRights.html:52 html/Admin/Groups/GroupRights.html:58
+#. ($GroupObj->Name)
+msgid "Modify group rights for group %1"
+msgstr "Alterar direitos de grupo para o grupo %1"
+
+#: html/Admin/Queues/GroupRights.html:48 html/Admin/Queues/GroupRights.html:52
+#. ($QueueObj->Name)
+msgid "Modify group rights for queue %1"
+msgstr "Alterar direitos de grupo para a queue %1"
+
+#: lib/RT/Group_Overlay.pm:167
+msgid "Modify membership roster for this group"
+msgstr ""
+
+#: lib/RT/System.pm:84
+msgid "Modify one's own RT account"
+msgstr ""
+
+#: html/Admin/Queues/People.html:48 html/Admin/Queues/People.html:52
+#. ($QueueObj->Name)
+msgid "Modify people related to queue %1"
+msgstr "Alterar pessoas relacionadas com a queue %1"
+
+#: html/Ticket/ModifyPeople.html:48 html/Ticket/ModifyPeople.html:52 html/Ticket/ModifyPeople.html:59
+#. ($Ticket->id)
+#. ($Ticket->Id)
+msgid "Modify people related to ticket #%1"
+msgstr "Alterar pessoas relacionadas com o ticket %1"
+
+#: html/Admin/Queues/Scrips.html:69
+#. ($QueueObj->Name)
+msgid "Modify scrips for queue %1"
+msgstr "Alterar scrips da queue %1"
+
+#: html/Admin/Elements/GlobalCustomFieldTabs:58 html/Admin/Global/Scrips.html:67 html/Admin/Global/index.html:65
+msgid "Modify scrips which apply to all queues"
+msgstr "Alterar scrips que se aplicam a todas as queues"
+
+#: html/Admin/Global/Template.html:100 html/Admin/Queues/Template.html:101
+#. (loc($TemplateObj->Name()))
+msgid "Modify template %1"
+msgstr "Alterar template %1"
+
+#: html/Admin/Global/Templates.html:67
+msgid "Modify templates which apply to all queues"
+msgstr "Alterar templates que se aplicam a todas as queues"
+
+#: html/Admin/Global/index.html:87
+msgid "Modify the default \"RT at a glance\" view"
+msgstr "Alterar a página principal"
+
+#: html/Admin/Groups/Modify.html:125 html/User/Groups/Modify.html:109
+#. ($Group->Name)
+msgid "Modify the group %1"
+msgstr "Alterar o grupo %1"
+
+#: lib/RT/Queue_Overlay.pm:97
+msgid "Modify the queue watchers"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:313
+#. ($UserObj->Name)
+msgid "Modify the user %1"
+msgstr "Alterar o utilizador %1"
+
+#: html/Ticket/ModifyAll.html:60
+#. ($Ticket->Id)
+msgid "Modify ticket # %1"
+msgstr "Alterar o ticket # %1"
+
+#: html/Ticket/Modify.html:48 html/Ticket/Modify.html:51 html/Ticket/Modify.html:57
+#. ($TicketObj->Id)
+msgid "Modify ticket #%1"
+msgstr "Alterar ticket # %1"
+
+#: lib/RT/Queue_Overlay.pm:115
+msgid "Modify tickets"
+msgstr "Alterar tickets"
+
+#: html/Admin/CustomFields/UserRights.html:159
+#. ($CustomFieldObj->Name)
+msgid "Modify user rights for custom field %1"
+msgstr ""
+
+#: html/Admin/Groups/UserRights.html:48 html/Admin/Groups/UserRights.html:52 html/Admin/Groups/UserRights.html:58
+#. ($GroupObj->Name)
+msgid "Modify user rights for group %1"
+msgstr "Alterar direitos de utilizadores para o grupo %1"
+
+#: html/Admin/Queues/UserRights.html:48 html/Admin/Queues/UserRights.html:52
+#. ($QueueObj->Name)
+msgid "Modify user rights for queue %1"
+msgstr "Alterar direitos de utilizador para a queue %1"
+
+#: lib/RT/Queue_Overlay.pm:96
+msgid "ModifyACL"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:110
+msgid "ModifyCustomField"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:168
+msgid "ModifyOwnMembership"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:97
+msgid "ModifyQueueWatchers"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:102
+msgid "ModifyScrips"
+msgstr ""
+
+#: lib/RT/System.pm:84
+msgid "ModifySelf"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:99
+msgid "ModifyTemplate"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:115
+msgid "ModifyTicket"
+msgstr ""
+
+#: lib/RT/Date.pm:419
+msgid "Mon."
+msgstr "Mon"
+
+#: html/Ticket/Elements/ShowRequestor:63
+#. ($name)
+msgid "More about %1"
+msgstr "Mais sobre %1"
+
+#: html/Admin/Elements/PickCustomFields:85
+msgid "Move down"
+msgstr "Mover para baixo"
+
+#: html/Admin/Elements/PickCustomFields:77
+msgid "Move up"
+msgstr "Mover para cima"
+
+#: html/Admin/Elements/SelectSingleOrMultiple:50
+msgid "Multiple"
+msgstr "Múltiplo"
+
+#: lib/RT/User_Overlay.pm:228
+msgid "Must specify 'Name' attribute"
+msgstr ""
+
+#: html/SelfService/Elements/MyRequests:79
+#. ($friendly_status)
+msgid "My %1 tickets"
+msgstr "Os meus %1 tickets"
+
+#: html/Tools/Elements/Tabs:65
+msgid "My Day"
+msgstr ""
+
+#: html/Approvals/index.html:48 html/Approvals/index.html:49
+msgid "My approvals"
+msgstr "As minhas aprovações"
+
+#: html/Search/Elements/SearchPrivacy:52 html/Search/Elements/SelectSearchObject:55 html/Search/Elements/SelectSearchesForObjects:56
+msgid "My saved searches"
+msgstr "As minhas pesquisas guardadas"
+
+#: html/Admin/CustomFields/Modify.html:60 html/Admin/Elements/AddCustomFieldValue:55 html/Admin/Elements/EditCustomField:57 html/Admin/Elements/EditCustomFieldValues:57 html/Admin/Elements/ModifyTemplate:51 html/Admin/Groups/Modify.html:67 html/Search/Bulk.html:159 html/User/Groups/Modify.html:67
+msgid "Name"
+msgstr "Nome"
+
+#: lib/RT/User_Overlay.pm:235
+msgid "Name in use"
+msgstr "Nome em utilização"
+
+#: html/Ticket/Elements/ShowDates:75
+msgid "Never"
+msgstr "Nunca"
+
+#: html/Elements/EditLinks:118
+msgid "New Links"
+msgstr "Novas Ligações"
+
+#: html/Admin/Users/Modify.html:121 html/User/Prefs.html:111
+msgid "New Password"
+msgstr "Nova Password"
+
+#: etc/initialdata:332
+msgid "New Pending Approval"
+msgstr "Novas aprovações pendentes"
+
+#: html/Ticket/Elements/Tabs:214
+msgid "New Search"
+msgstr "Nova Pesquisa"
+
+#: html/Admin/Elements/CustomFieldTabs:95 html/Admin/Queues/CustomField.html:75
+msgid "New custom field"
+msgstr ""
+
+#: html/Admin/Elements/GroupTabs:79 html/User/Elements/GroupTabs:75
+msgid "New group"
+msgstr "Novo grupo"
+
+#: html/SelfService/Prefs.html:55
+msgid "New password"
+msgstr "Nova password"
+
+#: lib/RT/User_Overlay.pm:818
+msgid "New password notification sent"
+msgstr ""
+
+#: html/Admin/Elements/QueueTabs:97
+msgid "New queue"
+msgstr "Nova queue"
+
+#: html/Ticket/Elements/Reminders:120
+msgid "New reminder:"
+msgstr "Nova Nota"
+
+#: html/Admin/Elements/SelectRights:67
+msgid "New rights"
+msgstr "Novos direitos"
+
+#: html/Admin/Global/Scrip.html:65 html/Admin/Global/Scrips.html:62 html/Admin/Queues/Scrip.html:73 html/Admin/Queues/Scrips.html:78
+msgid "New scrip"
+msgstr "Novo scrip"
+
+#: html/Admin/Global/Template.html:80 html/Admin/Global/Templates.html:62 html/Admin/Queues/Template.html:81 html/Admin/Queues/Templates.html:73
+msgid "New template"
+msgstr "Novo template"
+
+#: html/SelfService/Elements/Tabs:87 html/SelfService/Elements/Tabs:91
+msgid "New ticket"
+msgstr "Novo ticket"
+
+#: lib/RT/Ticket_Overlay.pm:2751
+msgid "New ticket doesn't exist"
+msgstr "Novo ticket não existe"
+
+#: html/Admin/Elements/UserTabs:83
+msgid "New user"
+msgstr "Novo utilizador"
+
+#: html/Admin/Elements/CreateUserCalled:49
+msgid "New user called"
+msgstr "Novo utilizador chamado"
+
+#: html/Admin/Queues/People.html:78 html/Ticket/Elements/EditPeople:52
+msgid "New watchers"
+msgstr ""
+
+#: html/Helpers/CalPopup.html:60 html/Ticket/Elements/Tabs:94
+msgid "Next"
+msgstr "Próximo"
+
+#: html/Elements/TicketList:108
+msgid "Next Page"
+msgstr "Próxima Página"
+
+#: html/Admin/Users/Modify.html:86 html/User/Prefs.html:74
+msgid "Nickname"
+msgstr "Nick"
+
+#: html/Admin/CustomFields/UserRights.html:147
+msgid "No Class defined"
+msgstr ""
+
+#: html/Admin/CustomFields/Modify.html:168 html/Admin/Elements/EditCustomField:121
+msgid "No CustomField"
+msgstr ""
+
+#: html/Admin/CustomFields/GroupRights.html:105
+msgid "No CustomField defined"
+msgstr ""
+
+#: html/Admin/Groups/GroupRights.html:107 html/Admin/Groups/UserRights.html:94
+msgid "No Group defined"
+msgstr "Sem Grupo definido"
+
+#: lib/RT/Tickets_Overlay_SQL.pm:484
+msgid "No Query"
+msgstr ""
+
+#: html/Admin/Queues/GroupRights.html:120 html/Admin/Queues/UserRights.html:91
+msgid "No Queue defined"
+msgstr ""
+
+#: bin/rt-crontool:75
+msgid "No RT user found. Please consult your RT administrator.\\n"
+msgstr ""
+
+#: html/Admin/Global/Template.html:98 html/Admin/Queues/Template.html:99
+msgid "No Template"
+msgstr ""
+
+#: html/Approvals/Elements/Approve:79
+msgid "No action"
+msgstr ""
+
+#: lib/RT/Record.pm:966
+msgid "No column specified"
+msgstr ""
+
+#: html/Ticket/Elements/ShowRequestor:70
+msgid "No comment entered about this user"
+msgstr ""
+
+#: lib/RT/Action/Generic.pm:187 lib/RT/Condition/Generic.pm:199 lib/RT/Search/ActiveTicketsInQueue.pm:79 lib/RT/Search/Generic.pm:136 lib/RT/Search/Googleish.pm:90
+#. (ref $self)
+msgid "No description for %1"
+msgstr "Sem descrição para %1"
+
+#: lib/RT/Users_Overlay.pm:192
+msgid "No group specified"
+msgstr "Grupo não especificado"
+
+#: html/Admin/Groups/index.html:54
+msgid "No groups matching search criteria found."
+msgstr "Nenhum grupo verificou o critério de pesquisa especificado."
+
+#: lib/RT/Ticket_Overlay.pm:2386
+msgid "No message attached"
+msgstr "Sem mensagem anexada"
+
+#: lib/RT/User_Overlay.pm:1036
+msgid "No password set"
+msgstr "Password não definida"
+
+#: lib/RT/Queue_Overlay.pm:363
+msgid "No permission to create queues"
+msgstr "Sem permissão para criar queues"
+
+#: lib/RT/Ticket_Overlay.pm:1090 lib/RT/Ticket_Overlay.pm:422
+#. ($QueueObj->Name)
+msgid "No permission to create tickets in the queue '%1'"
+msgstr "Sem permissão para criar tickets na queue '%1'"
+
+#: lib/RT/User_Overlay.pm:188
+msgid "No permission to create users"
+msgstr "Sem permissão para criar utilizadores"
+
+#: html/SelfService/Display.html:210
+msgid "No permission to display that ticket"
+msgstr "Sem permissão para ver esse ticket"
+
+#: lib/RT/SavedSearch.pm:158
+msgid "No permission to save system-wide searches"
+msgstr "Não tem permissão para gravar uma pesquisa de sistema"
+
+#: html/SelfService/Update.html:119
+msgid "No permission to view update ticket"
+msgstr "Sem permissão para ver ou actualizar esse ticket"
+
+#: lib/RT/Ticket_Overlay.pm:1482
+msgid "No principal specified"
+msgstr ""
+
+#: html/Admin/Queues/People.html:177 html/Admin/Queues/People.html:187
+msgid "No principals selected."
+msgstr ""
+
+#: html/Admin/Queues/index.html:59
+msgid "No queues matching search criteria found."
+msgstr "Nenhuma fila verificou os critérios de pesquisa especificados"
+
+#: html/Admin/Elements/SelectRights:108
+msgid "No rights found"
+msgstr ""
+
+#: html/Admin/Elements/SelectRights:55
+msgid "No rights granted."
+msgstr ""
+
+#: lib/RT/SavedSearch.pm:198
+msgid "No search loaded"
+msgstr "Nenhuma pesquisa carregada"
+
+#: html/Search/Bulk.html:234
+msgid "No search to operate on."
+msgstr "Nenhuma pesquisa possível"
+
+#: html/Elements/RT__Ticket/ColumnMap:139 html/Search/Results.rdf:80
+msgid "No subject"
+msgstr "Sem assunto"
+
+#: html/Search/Chart:101
+msgid "No tickets found."
+msgstr "Tickets não encontrados"
+
+#: lib/RT/Transaction_Overlay.pm:549 lib/RT/Transaction_Overlay.pm:586
+msgid "No transaction type specified"
+msgstr ""
+
+#: html/Admin/Users/index.html:57
+msgid "No users matching search criteria found."
+msgstr "Nenhum proprietário verificou o critério de pesquisa."
+
+#: lib/RT/Record.pm:963
+msgid "No value sent to _Set!\\n"
+msgstr ""
+
+#: html/Elements/QuickCreate:61
+msgid "Nobody"
+msgstr "Nobody"
+
+#: lib/RT/Record.pm:968
+msgid "Nonexistant field?"
+msgstr ""
+
+#: html/Search/Chart:149 html/Search/Elements/Chart:90
+msgid "Not Set"
+msgstr "Não definido"
+
+#: html/Elements/Header:98
+msgid "Not logged in."
+msgstr "Desligado"
+
+#: lib/RT/Date.pm:399
+msgid "Not set"
+msgstr ""
+
+#: html/NoAuth/Reminder.html:50
+msgid "Not yet implemented."
+msgstr ""
+
+#: html/Approvals/Elements/Approve:83
+msgid "Notes"
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:821
+msgid "Notification could not be sent"
+msgstr "Notificação não pôde ser enviada"
+
+#: etc/initialdata:101
+msgid "Notify AdminCcs"
+msgstr ""
+
+#: etc/initialdata:97
+msgid "Notify AdminCcs as Comment"
+msgstr "Notificar AdminCCS como Comentário"
+
+#: etc/initialdata:93 etc/upgrade/3.1.17/content:6
+msgid "Notify Ccs"
+msgstr ""
+
+#: etc/initialdata:89 etc/upgrade/3.1.17/content:2
+msgid "Notify Ccs as Comment"
+msgstr "Notificar CCs como Comentário"
+
+#: etc/initialdata:128
+msgid "Notify Other Recipients"
+msgstr ""
+
+#: etc/initialdata:124
+msgid "Notify Other Recipients as Comment"
+msgstr "Notificar outros recipientes como comentário"
+
+#: etc/initialdata:85
+msgid "Notify Owner"
+msgstr "Notificar Proprietário"
+
+#: etc/initialdata:81
+msgid "Notify Owner as Comment"
+msgstr "Notificar Proprietário como comentário"
+
+#: etc/initialdata:376
+msgid "Notify Owner of their rejected ticket"
+msgstr ""
+
+#: etc/initialdata:365
+msgid "Notify Owner of their ticket has been approved by all approvers"
+msgstr ""
+
+#: etc/initialdata:353
+msgid "Notify Owner of their ticket has been approved by some approver"
+msgstr ""
+
+#: etc/initialdata:334
+msgid "Notify Owners and AdminCcs of new items pending their approval"
+msgstr ""
+
+#: etc/initialdata:77
+msgid "Notify Requestors"
+msgstr "Notificar Requerentes"
+
+#: etc/initialdata:111
+msgid "Notify Requestors and Ccs"
+msgstr "Notificar Requerentes e CCs"
+
+#: etc/initialdata:106
+msgid "Notify Requestors and Ccs as Comment"
+msgstr "Notificar Requerentes e CCs como comentário"
+
+#: etc/initialdata:120
+msgid "Notify Requestors, Ccs and AdminCcs"
+msgstr "Notificar Requerentes, CCs e AdminCCs"
+
+#: etc/initialdata:116
+msgid "Notify Requestors, Ccs and AdminCcs as Comment"
+msgstr "Notificar Requerentes, CCs e AdminCCs como comentário"
+
+#: lib/RT/Date.pm:453
+msgid "Nov."
+msgstr "Nov"
+
+#: html/Search/Elements/SelectAndOr:49
+msgid "OR"
+msgstr "OU"
+
+#: lib/RT/Record.pm:329
+msgid "Object could not be created"
+msgstr ""
+
+#: lib/RT/Record.pm:130
+msgid "Object could not be deleted"
+msgstr ""
+
+#: lib/RT/Record.pm:348
+msgid "Object created"
+msgstr ""
+
+#: lib/RT/Record.pm:127
+msgid "Object deleted"
+msgstr "Objecto apagado"
+
+#: html/Admin/CustomFields/Objects.html:74 html/Admin/Elements/ObjectCustomFields:65
+#. ($ObjectType)
+#. ($LookupType)
+msgid "Object of type %1 cannot take custom fields"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:970
+msgid "Object type mismatch"
+msgstr ""
+
+#: lib/RT/Date.pm:452
+msgid "Oct."
+msgstr "Oct"
+
+#: html/Tools/Elements/Tabs:57
+msgid "Offline"
+msgstr "Offline"
+
+#: html/Tools/Offline.html:51
+msgid "Offline edits"
+msgstr ""
+
+#: html/Tools/Offline.html:48
+msgid "Offline upload"
+msgstr ""
+
+#: html/Elements/SelectDateRelation:58
+msgid "On"
+msgstr "Em"
+
+#: lib/RT/Transaction_Overlay.pm:349
+#. ($self->CreatedAsString(), $self->CreatorObj->Name())
+msgid "On %1, %2 wrote:"
+msgstr ""
+
+#: etc/initialdata:163
+msgid "On Comment"
+msgstr "Em comentário"
+
+#: etc/initialdata:156
+msgid "On Correspond"
+msgstr "Em Resposta"
+
+#: etc/initialdata:145
+msgid "On Create"
+msgstr "Em Criação"
+
+#: etc/initialdata:184
+msgid "On Owner Change"
+msgstr "Em Alteração de Dono"
+
+#: etc/initialdata:177 etc/upgrade/3.1.17/content:15
+msgid "On Priority Change"
+msgstr "Em Alteração de Prioridade"
+
+#: etc/initialdata:192
+msgid "On Queue Change"
+msgstr "Em Alteração de Queue"
+
+#: etc/initialdata:198
+msgid "On Resolve"
+msgstr "Em Resolução"
+
+#: etc/initialdata:169
+msgid "On Status Change"
+msgstr "Em Alteração de Estado"
+
+#: etc/initialdata:150
+msgid "On Transaction"
+msgstr "Em Transacção"
+
+#: html/Approvals/Elements/PendingMyApproval:72
+#. ("<input size='15' value='".( $created_after->Unix >0 && $created_after->ISO)."' name='CreatedAfter' id='CreatedAfter' />")
+msgid "Only show approvals for requests created after %1"
+msgstr ""
+
+#: html/Approvals/Elements/PendingMyApproval:70
+#. ("<input size='15' value='".($created_before->Unix > 0 &&$created_before->ISO)."' name='CreatedBefore' id='CreatedBefore' />")
+msgid "Only show approvals for requests created before %1"
+msgstr ""
+
+#: html/Admin/CustomFields/index.html:77
+msgid "Only show custom fields for:"
+msgstr ""
+
+#: etc/initialdata:139
+msgid "Open Tickets"
+msgstr "Tickets Abertos"
+
+#: html/Ticket/Elements/Tabs:162
+msgid "Open it"
+msgstr "Abrir"
+
+#: html/SelfService/Elements/Tabs:78 html/SelfService/index.html:48
+msgid "Open tickets"
+msgstr "Tickets Abertos"
+
+#: etc/initialdata:140
+msgid "Open tickets on correspondence"
+msgstr "Abrir Tickets em resposta"
+
+#: html/Prefs/MyRT.html:72
+msgid "Options"
+msgstr "Opções"
+
+#: html/Search/Elements/DisplayOptions:61
+msgid "Order by"
+msgstr "Ordenar por"
+
+#: html/Admin/Users/Modify.html:144 html/User/Prefs.html:131
+msgid "Organization"
+msgstr "Organização"
+
+#: html/Approvals/Elements/Approve:55
+#. ($approving->Id, $approving->Subject)
+msgid "Originating ticket: #%1"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:643
+msgid "Outgoing email about a comment recorded"
+msgstr "Registado email sobre um comentário"
+
+#: lib/RT/Transaction_Overlay.pm:647
+msgid "Outgoing email recorded"
+msgstr "Registado email"
+
+#: html/Admin/Queues/Modify.html:92
+msgid "Over time, priority moves toward"
+msgstr "Com o passar do tempo, a prioridade altera-se para"
+
+#: lib/RT/Queue_Overlay.pm:114
+msgid "Own tickets"
+msgstr "Próprios tickets"
+
+#: lib/RT/Queue_Overlay.pm:114
+msgid "OwnTicket"
+msgstr ""
+
+#: etc/initialdata:38 html/Elements/QuickCreate:58 html/Search/Elements/PickBasics:103 html/Ticket/Create.html:74 html/Ticket/Elements/EditBasics:63 html/Ticket/Elements/EditPeople:66 html/Ticket/Elements/EditPeople:67 html/Ticket/Elements/Reminders:131 html/Ticket/Elements/ShowPeople:50 html/Ticket/Update.html:64 lib/RT/ACE_Overlay.pm:112 lib/RT/Tickets_Overlay.pm:2195
+msgid "Owner"
+msgstr "Dono"
+
+#: lib/RT/Ticket_Overlay.pm:539
+#. ($Owner->Name)
+msgid "Owner '%1' does not have rights to own this ticket."
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:3100
+#. ($OldOwnerObj->Name, $NewOwnerObj->Name)
+msgid "Owner changed from %1 to %2"
+msgstr "Dono alterado de %1 para %2"
+
+#: lib/RT/Ticket_Overlay.pm:507
+msgid "Owner could not be set."
+msgstr "Dono não pôde ser definido."
+
+#: lib/RT/Transaction_Overlay.pm:693
+#. ($Old->Name , $New->Name)
+msgid "Owner forcibly changed from %1 to %2"
+msgstr "Proprietário forçado de %1 para %2"
+
+#: html/Elements/TicketList:82
+#. ($Page, $pages)
+msgid "Page %1 of %2"
+msgstr "Página %1 de %2"
+
+#: html/Admin/Users/Modify.html:201 html/User/Prefs.html:98
+msgid "Pager"
+msgstr ""
+
+#: html/Elements/EditLinks:145 html/Elements/EditLinks:77 html/Elements/ShowLinks:70 html/Ticket/Create.html:225 html/Ticket/Elements/BulkLinks:62
+msgid "Parents"
+msgstr ""
+
+#: html/Elements/Login:97 html/User/Prefs.html:107
+msgid "Password"
+msgstr "Password"
+
+#: html/NoAuth/Reminder.html:48
+msgid "Password Reminder"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:802 lib/RT/User_Overlay.pm:1047
+msgid "Password changed"
+msgstr "Password alterada"
+
+#: lib/RT/User_Overlay.pm:1039 lib/RT/User_Overlay.pm:216
+#. ($RT::MinimumPasswordLength)
+msgid "Password needs to be at least %1 characters long"
+msgstr "A Password tem de ter pelo menos %1 caracteres"
+
+#: lib/RT/User_Overlay.pm:1046
+msgid "Password set"
+msgstr "Password definida"
+
+#: html/User/Prefs.html:242
+#. (loc_fuzzy($msg))
+msgid "Password: %1"
+msgstr "Password: %1"
+
+#: lib/RT/User_Overlay.pm:1032
+msgid "Password: Permission Denied"
+msgstr "Password: Permissão Negada"
+
+#: html/Admin/Users/Modify.html:368
+msgid "Passwords do not match."
+msgstr "As passwords não coincidem."
+
+#: html/User/Prefs.html:244
+msgid "Passwords do not match. Your password has not been changed"
+msgstr "As passwords não coincidem. A sua password não foi alterada"
+
+#: html/Ticket/Elements/ShowSummary:64 html/Ticket/Elements/Tabs:121 html/Ticket/ModifyAll.html:74
+msgid "People"
+msgstr "Pessoas"
+
+#: etc/initialdata:133
+msgid "Perform a user-defined action"
+msgstr ""
+
+#: html/Admin/Tools/Configuration.html:96
+msgid "Perl configuration"
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:253 lib/RT/ACE_Overlay.pm:259 lib/RT/ACE_Overlay.pm:582 lib/RT/ACE_Overlay.pm:592 lib/RT/ACE_Overlay.pm:602 lib/RT/ACE_Overlay.pm:667 lib/RT/Attribute_Overlay.pm:160 lib/RT/Attribute_Overlay.pm:166 lib/RT/Attribute_Overlay.pm:407 lib/RT/Attribute_Overlay.pm:416 lib/RT/Attribute_Overlay.pm:429 lib/RT/CurrentUser.pm:118 lib/RT/CurrentUser.pm:127 lib/RT/CustomField_Overlay.pm:1020 lib/RT/CustomField_Overlay.pm:1141 lib/RT/CustomField_Overlay.pm:1284 lib/RT/CustomField_Overlay.pm:174 lib/RT/CustomField_Overlay.pm:191 lib/RT/CustomField_Overlay.pm:202 lib/RT/CustomField_Overlay.pm:377 lib/RT/CustomField_Overlay.pm:406 lib/RT/CustomField_Overlay.pm:766 lib/RT/CustomField_Overlay.pm:939 lib/RT/CustomField_Overlay.pm:974 lib/RT/Group_Overlay.pm:1119 lib/RT/Group_Overlay.pm:1123 lib/RT/Group_Overlay.pm:1132 lib/RT/Group_Overlay.pm:1242 lib/RT/Group_Overlay.pm:1246 lib/RT/Group_Overlay.pm:1252 lib/RT/Group_Overlay.pm:447 lib/RT/Group_Overlay.pm:544 lib/RT/Group_Overlay.pm:622 lib/RT/Group_Overlay.pm:630 lib/RT/Group_Overlay.pm:728 lib/RT/Group_Overlay.pm:732 lib/RT/Group_Overlay.pm:738 lib/RT/Group_Overlay.pm:924 lib/RT/Group_Overlay.pm:928 lib/RT/Group_Overlay.pm:941 lib/RT/Queue_Overlay.pm:1058 lib/RT/Queue_Overlay.pm:142 lib/RT/Queue_Overlay.pm:160 lib/RT/Queue_Overlay.pm:685 lib/RT/Queue_Overlay.pm:823 lib/RT/Queue_Overlay.pm:832 lib/RT/Queue_Overlay.pm:845 lib/RT/Scrip_Overlay.pm:151 lib/RT/Scrip_Overlay.pm:162 lib/RT/Scrip_Overlay.pm:226 lib/RT/Scrip_Overlay.pm:540 lib/RT/Template_Overlay.pm:110 lib/RT/Template_Overlay.pm:279 lib/RT/Ticket_Overlay.pm:1380 lib/RT/Ticket_Overlay.pm:1515 lib/RT/Ticket_Overlay.pm:1525 lib/RT/Ticket_Overlay.pm:1539 lib/RT/Ticket_Overlay.pm:1656 lib/RT/Ticket_Overlay.pm:1976 lib/RT/Ticket_Overlay.pm:2119 lib/RT/Ticket_Overlay.pm:2289 lib/RT/Ticket_Overlay.pm:2339 lib/RT/Ticket_Overlay.pm:2519 lib/RT/Ticket_Overlay.pm:2532 lib/RT/Ticket_Overlay.pm:2608 lib/RT/Ticket_Overlay.pm:2621 lib/RT/Ticket_Overlay.pm:2742 lib/RT/Ticket_Overlay.pm:2756 lib/RT/Ticket_Overlay.pm:3007 lib/RT/Ticket_Overlay.pm:3018 lib/RT/Ticket_Overlay.pm:3024 lib/RT/Ticket_Overlay.pm:3241 lib/RT/Ticket_Overlay.pm:3245 lib/RT/Ticket_Overlay.pm:3388 lib/RT/Ticket_Overlay.pm:3516 lib/RT/Transaction_Overlay.pm:537 lib/RT/Transaction_Overlay.pm:544 lib/RT/Transaction_Overlay.pm:572 lib/RT/Transaction_Overlay.pm:579 lib/RT/User_Overlay.pm:1178 lib/RT/User_Overlay.pm:1858 lib/RT/User_Overlay.pm:371 lib/RT/User_Overlay.pm:737 lib/RT/User_Overlay.pm:776
+msgid "Permission Denied"
+msgstr "Permissão Negada"
+
+#: lib/RT/Template_Overlay.pm:240 lib/RT/Template_Overlay.pm:249
+msgid "Permission denied"
+msgstr "Permissão Negada"
+
+#: lib/RT/Template_Overlay.pm:379
+msgid "Permissions denied"
+msgstr "Permissão Negada"
+
+#: html/User/Elements/Tabs:58
+msgid "Personal Groups"
+msgstr "Grupos Pessoais"
+
+#: html/User/Groups/index.html:53 html/User/Groups/index.html:63
+msgid "Personal groups"
+msgstr "Grupos Pessoais"
+
+#: html/User/Elements/DelegateRights:60
+msgid "Personal groups:"
+msgstr "Grupos Pessoais:"
+
+#: html/Admin/Users/Modify.html:183 html/User/Prefs.html:83
+msgid "Phone numbers"
+msgstr "Números de telefone"
+
+#: html/Elements/Header:95 html/Elements/Tabs:94 html/SelfService/Elements/Tabs:98 html/SelfService/Prefs.html:48 html/User/Prefs.html:48 html/User/Prefs.html:51
+msgid "Preferences"
+msgstr "Preferências"
+
+#: html/Admin/Users/MyRT.html:122
+#. ($pane, $UserObj->Name)
+msgid "Preferences %1 for user %2 ."
+msgstr "Preferências %1 para utilizador %2 ."
+
+#: html/Prefs/MyRT.html:143
+#. ($pane)
+msgid "Preferences saved for %1."
+msgstr "Preferências gravadas para %1."
+
+#: lib/RT/Action/Generic.pm:197
+msgid "Prepare Stubbed"
+msgstr ""
+
+#: html/Helpers/CalPopup.html:58 html/Ticket/Elements/Tabs:86
+msgid "Prev"
+msgstr ""
+
+#: html/Elements/TicketList:105
+msgid "Previous Page"
+msgstr "Página Anterior"
+
+#: lib/RT/ACE_Overlay.pm:159 lib/RT/ACE_Overlay.pm:241 lib/RT/ACE_Overlay.pm:571
+#. ($args{'PrincipalId'})
+msgid "Principal %1 not found."
+msgstr ""
+
+#: html/Search/Elements/PickBasics:149 html/Ticket/Create.html:184 html/Ticket/Elements/EditBasics:94 html/Ticket/Elements/ShowBasics:74 lib/RT/Tickets_Overlay.pm:1979
+msgid "Priority"
+msgstr "Prioridade"
+
+#: html/Admin/Queues/Modify.html:88
+msgid "Priority starts at"
+msgstr "Prioridade começa em"
+
+#: html/Search/Elements/EditSearches:52
+msgid "Privacy:"
+msgstr "Privacidade:"
+
+#: etc/initialdata:25
+msgid "Privileged"
+msgstr "Privilegiados"
+
+#: html/Admin/Users/Modify.html:346 html/User/Prefs.html:233
+#. (loc_fuzzy($msg))
+msgid "Privileged status: %1"
+msgstr ""
+
+#: html/Admin/Users/index.html:104
+msgid "Privileged users"
+msgstr "Utilizadores privilegiados"
+
+#: etc/initialdata:23 etc/initialdata:29 etc/initialdata:35 etc/initialdata:59
+msgid "Pseudogroup for internal use"
+msgstr ""
+
+#: html/Search/Build.html:123
+msgid "Query Builder"
+msgstr "Construtor de Pesquisas"
+
+#: html/Search/Elements/Chart:103
+msgid "Query:"
+msgstr "Pesquisa"
+
+#: html/Elements/QueueSummary:50 html/Elements/QuickCreate:56 html/Search/Elements/PickBasics:73 html/SelfService/Create.html:56 html/Ticket/Create.html:64 html/Ticket/Elements/EditBasics:59 html/Ticket/Elements/ShowBasics:78 html/Tools/Reports/CreatedByDates.html:87 html/Tools/Reports/ResolvedByDates.html:88 html/Tools/Reports/ResolvedByOwner.html:68 html/User/Elements/DelegateRights:103 lib/RT/Tickets_Overlay.pm:1806
+msgid "Queue"
+msgstr "Queue"
+
+#: html/Admin/Queues/CustomField.html:65 html/Admin/Queues/Scrip.html:63 html/Admin/Queues/Scrips.html:71 html/Admin/Queues/Templates.html:67
+#. ($Queue)
+#. ($id)
+msgid "Queue %1 not found"
+msgstr "Queue %1 não encontrada"
+
+#: html/Admin/Queues/Modify.html:66
+msgid "Queue Name"
+msgstr "Nome da Queue"
+
+#: lib/RT/Queue_Overlay.pm:367
+msgid "Queue already exists"
+msgstr "Essa Queue já existe"
+
+#: lib/RT/Queue_Overlay.pm:376 lib/RT/Queue_Overlay.pm:382
+msgid "Queue could not be created"
+msgstr "A Queue não pôde ser criada"
+
+#: html/Ticket/Create.html:319 lib/t/regression/01ticket_link_searching.t:17
+msgid "Queue could not be loaded."
+msgstr ""
+
+#: docs/design_docs/string-extraction-guide.txt:83 lib/RT/Queue_Overlay.pm:386 lib/RT/StyleGuide.pod:807
+msgid "Queue created"
+msgstr "Queue criada"
+
+#: html/SelfService/Display.html:128 lib/RT/CustomField_Overlay.pm:199
+msgid "Queue not found"
+msgstr "Queue não encontrada"
+
+#: html/Admin/Elements/Tabs:61 html/Admin/index.html:74
+msgid "Queues"
+msgstr "Queues"
+
+#: html/Elements/MyAdminQueues:48
+msgid "Queues I administer"
+msgstr ""
+
+#: html/Elements/MySupportQueues:48
+msgid "Queues I'm an AdminCc for"
+msgstr ""
+
+#: html/Elements/Quicksearch:49 html/Prefs/Elements/Tabs:60 html/Prefs/Quicksearch.html:72
+msgid "Quick search"
+msgstr "Pesquisa rápida"
+
+#: html/Elements/QuickCreate:49
+msgid "Quick ticket creation"
+msgstr "Criação de tickets rápida"
+
+#: html/Search/Results.html:83
+msgid "RSS"
+msgstr "RSS"
+
+#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:794
+#. ($RT::VERSION, $RT::rtname)
+msgid "RT %1 for %2"
+msgstr "RT %1 para %2"
+
+#: html/Admin/index.html:48 html/Admin/index.html:49
+msgid "RT Administration"
+msgstr "Administração RT"
+
+#: html/Elements/Error:65 html/SelfService/Error.html:64
+msgid "RT Error"
+msgstr "Erro RT"
+
+#: html/SelfService/Elements/Tabs:72 html/SelfService/Elements/Tabs:74
+msgid "RT Self Service"
+msgstr "RT Self Service"
+
+#: html/Admin/Tools/Configuration.html:75
+msgid "RT Variables"
+msgstr ""
+
+#: html/Admin/Elements/SystemTabs:73 html/Admin/Elements/UserTabs:69 html/Admin/Global/MyRT.html:48 html/Admin/Global/MyRT.html:51 html/Admin/Global/MyRT.html:59 html/Admin/Global/index.html:86 html/Admin/Users/MyRT.html:68 html/Prefs/MyRT.html:68 html/Prefs/MyRT.html:80 html/User/Elements/Tabs:67 html/index.html:1 html/index.html:77
+msgid "RT at a glance"
+msgstr "RT no geral"
+
+#: html/Admin/Users/MyRT.html:77
+#. ($UserObj->Name)
+msgid "RT at a glance for the user %1"
+msgstr "\"RT no geral\" do utilizador %1"
+
+#: html/Admin/CustomFields/Modify.html:119
+msgid "RT can include content from another web service when showing this custom field."
+msgstr ""
+
+#: html/Admin/CustomFields/Modify.html:108
+msgid "RT can make this custom field's values into hyperlinks to another service."
+msgstr ""
+
+#: html/Elements/SetupSessionCookie:102
+msgid "RT couldn't store your session."
+msgstr ""
+
+#: html/Elements/Logo:51 html/Elements/PageLayout:176
+#. ($RT::rtname)
+msgid "RT for %1"
+msgstr "RT para %1"
+
+#: html/Search/Simple.html:62
+msgid "RT will look for anything else you enter in ticket subjects."
+msgstr ""
+
+#: html/Admin/CustomFields/Modify.html:110 html/Admin/CustomFields/Modify.html:121
+msgid "RT will replace <tt>__id__</tt> and <tt>__CustomField__</tt> with the record id and custom field value, respectively"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:81 html/User/Prefs.html:71
+msgid "Real Name"
+msgstr "Nome"
+
+#: html/Tools/MyDay.html:76
+msgid "Record all updates"
+msgstr "Gravar todas as actualizações"
+
+#: lib/RT/Transaction_Overlay.pm:746
+#. ($value)
+msgid "Reference by %1 added"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:786
+#. ($value)
+msgid "Reference by %1 deleted"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:743
+#. ($value)
+msgid "Reference to %1 added"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:783
+#. ($value)
+msgid "Reference to %1 deleted"
+msgstr ""
+
+#: html/Elements/EditLinks:104 html/Elements/EditLinks:157 html/Elements/ShowLinks:94 html/Ticket/Create.html:228 html/Ticket/Elements/BulkLinks:74
+msgid "Referred to by"
+msgstr "Referido por"
+
+#: html/Elements/EditLinks:153 html/Elements/EditLinks:95 html/Elements/SelectLinkType:51 html/Elements/ShowLinks:84 html/Ticket/Create.html:227 html/Ticket/Elements/BulkLinks:70
+msgid "Refers to"
+msgstr "Refere-se a"
+
+#: html/Elements/Refresh:59
+#. ($value/60)
+msgid "Refresh this page every %1 minutes."
+msgstr "Refrescar esta pagina de %1 em %1 minutos."
+
+#: lib/RT/Transaction_Overlay.pm:832
+#. ($ticket->Subject)
+msgid "Reminder '%1' added"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:845
+#. ($ticket->Subject)
+msgid "Reminder '%1' completed"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:838
+#. ($ticket->Subject)
+msgid "Reminder '%1' reopened"
+msgstr ""
+
+#: html/Ticket/Reminders.html:48
+#. ($Ticket->Id)
+msgid "Reminder ticket #%1"
+msgstr ""
+
+#: html/Elements/MyReminders:50 html/Ticket/Elements/ShowSummary:77 html/Ticket/Elements/Tabs:124 html/Ticket/Reminders.html:54
+msgid "Reminders"
+msgstr "Lembretes"
+
+#: html/Ticket/Reminders.html:52
+#. ($Ticket->Id)
+msgid "Reminders for ticket #%1"
+msgstr "Notas para o pedido #%1"
+
+#: html/Search/Bulk.html:96
+msgid "Remove AdminCc"
+msgstr ""
+
+#: html/Search/Bulk.html:92
+msgid "Remove Cc"
+msgstr ""
+
+#: html/Search/Bulk.html:88
+msgid "Remove Requestor"
+msgstr ""
+
+#: html/Ticket/Elements/ShowTransaction:182 html/Ticket/Elements/Tabs:149
+msgid "Reply"
+msgstr "Responder"
+
+#: html/Admin/Queues/Modify.html:74
+msgid "Reply Address"
+msgstr "Endereço de Resposta"
+
+#: html/Search/Bulk.html:131 html/Ticket/ModifyAll.html:96 html/Ticket/Update.html:80
+msgid "Reply to requestors"
+msgstr "Responder aos Requerentes"
+
+#: lib/RT/Queue_Overlay.pm:112
+msgid "Reply to tickets"
+msgstr "Resposta a tickets"
+
+#: lib/RT/Queue_Overlay.pm:112
+msgid "ReplyToTicket"
+msgstr ""
+
+#: html/Tools/Elements/Tabs:61 html/Tools/Reports/index.html:48 html/Tools/Reports/index.html:49
+msgid "Reports"
+msgstr "Relatórios"
+
+#: etc/initialdata:44 lib/RT/ACE_Overlay.pm:113
+msgid "Requestor"
+msgstr ""
+
+#: html/SelfService/Create.html:65 html/Ticket/Create.html:82 html/Ticket/Elements/EditPeople:71 html/Ticket/Elements/ShowPeople:54
+msgid "Requestors"
+msgstr "Requerentes"
+
+#: html/Admin/Queues/Modify.html:98
+msgid "Requests should be due in"
+msgstr ""
+
+#: lib/RT/Attribute_Overlay.pm:148
+#. ('Object')
+msgid "Required parameter '%1' not specified"
+msgstr ""
+
+#: html/Elements/Submit:85
+msgid "Reset"
+msgstr ""
+
+#: html/Admin/Users/MyRT.html:62 html/Prefs/MyRT.html:62
+msgid "Reset to default"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:186 html/User/Prefs.html:86
+msgid "Residence"
+msgstr "Residência"
+
+#: html/Ticket/Elements/Tabs:158
+msgid "Resolve"
+msgstr "Resolver"
+
+#: html/Ticket/Update.html:158
+#. ($TicketObj->id, $TicketObj->Subject)
+msgid "Resolve ticket #%1 (%2)"
+msgstr "Resolver ticket #%1 (%2)"
+
+#: etc/initialdata:323 html/Elements/SelectDateType:51 lib/RT/Ticket_Overlay.pm:1174
+msgid "Resolved"
+msgstr "Resolvido"
+
+#: html/Tools/Reports/Elements/Tabs:57
+msgid "Resolved by owner"
+msgstr "Resolvido pelo dono"
+
+#: html/Tools/Reports/Elements/Tabs:61
+msgid "Resolved in date range"
+msgstr "Resolvido dentro do intervalo de datas"
+
+#: html/Tools/Reports/ResolvedByDates.html:54
+msgid "Resolved tickets in period, grouped by owner"
+msgstr "Tickets resolvidos no período, agrupados por dono"
+
+#: html/Tools/Reports/ResolvedByOwner.html:52
+msgid "Resolved tickets, grouped by owner"
+msgstr "Tickets resolvidos, agrupados por dono"
+
+#: html/Elements/ListActions:48 html/Search/Elements/NewListActions:49
+msgid "Results"
+msgstr "Resultados"
+
+#: html/Admin/Users/Modify.html:128 html/User/Prefs.html:118
+msgid "Retype Password"
+msgstr "Repita Password"
+
+#: html/Search/Elements/EditSearches:63
+msgid "Revert"
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:632
+msgid "Right Delegated"
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:322
+msgid "Right Granted"
+msgstr "Direito concedido"
+
+#: lib/RT/ACE_Overlay.pm:180
+msgid "Right Loaded"
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:697 lib/RT/ACE_Overlay.pm:718
+msgid "Right could not be revoked"
+msgstr ""
+
+#: html/User/Delegation.html:87
+msgid "Right not found"
+msgstr "Direito não encontrado"
+
+#: lib/RT/ACE_Overlay.pm:562 lib/RT/ACE_Overlay.pm:657
+msgid "Right not loaded."
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:714
+msgid "Right revoked"
+msgstr ""
+
+#: html/Admin/Elements/UserTabs:72
+msgid "Rights"
+msgstr "Direitos"
+
+#: html/Admin/CustomFields/UserRights.html:102 lib/RT/Interface/Web.pm:992
+#. ($object_type)
+msgid "Rights could not be granted for %1"
+msgstr ""
+
+#: html/Admin/CustomFields/UserRights.html:132 lib/RT/Interface/Web.pm:1021
+#. ($object_type)
+msgid "Rights could not be revoked for %1"
+msgstr ""
+
+#: html/Admin/Global/GroupRights.html:74 html/Admin/Queues/GroupRights.html:76
+msgid "Roles"
+msgstr "Perfis"
+
+#: html/Prefs/MyRT.html:74
+msgid "Rows per box"
+msgstr "Linhas por caixa"
+
+#: html/Search/Elements/DisplayOptions:95
+msgid "Rows per page"
+msgstr "Linhas por página"
+
+#: lib/RT/Date.pm:424
+msgid "Sat."
+msgstr "Sat"
+
+#: html/Prefs/MyRT.html:74 html/Prefs/Quicksearch.html:66 html/Prefs/Search.html:71 html/Prefs/Search.html:71 html/Search/Elements/EditSearches:72 html/Widgets/SelectionBox:222
+msgid "Save"
+msgstr "Gravar"
+
+#: html/Admin/Groups/Modify.html:94 html/Admin/Queues/Modify.html:113 html/Admin/Queues/People.html:128 html/Admin/Users/Modify.html:243 html/Prefs/Quicksearch.html:66 html/Prefs/SearchOptions.html:65 html/SelfService/Prefs.html:60 html/Ticket/Modify.html:62 html/Ticket/ModifyAll.html:129 html/Ticket/ModifyDates.html:62 html/Ticket/ModifyLinks.html:63 html/Ticket/ModifyPeople.html:62 html/User/Groups/Modify.html:79
+msgid "Save Changes"
+msgstr "Gravar Alterações"
+
+#: html/User/Prefs.html:183
+msgid "Save Preferences"
+msgstr "Gravar Preferências"
+
+#: html/Ticket/Elements/PreviewScrips:133
+msgid "Save changes"
+msgstr "Gravar alterações"
+
+#: lib/RT/SavedSearch.pm:175
+#. ($name)
+msgid "Saved search %1"
+msgstr "Pesquisa gravada %1"
+
+#: html/Search/Elements/EditSearches:102 html/Widgets/SavedSearch:154
+msgid "Saved searches"
+msgstr ""
+
+#: html/Admin/Elements/ListGlobalScrips:62 html/Admin/Global/Scrip.html:79 html/Admin/Queues/Scrip.html:86
+#. ($scrip->Id)
+#. ($id)
+msgid "Scrip #%1"
+msgstr ""
+
+#: lib/RT/Scrip_Overlay.pm:205
+msgid "Scrip Created"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:54
+msgid "Scrip Fields"
+msgstr ""
+
+#: html/Admin/Elements/EditScrips:111
+msgid "Scrip deleted"
+msgstr ""
+
+#: html/Admin/Elements/QueueTabs:69 html/Admin/Elements/SystemTabs:56 html/Admin/Global/index.html:64
+msgid "Scrips"
+msgstr ""
+
+#: html/Admin/Queues/Scrips.html:57
+msgid "Scrips which apply to all queues"
+msgstr ""
+
+#: html/Elements/SimpleSearch:50 html/Search/Simple.html:67
+msgid "Search"
+msgstr "Procurar"
+
+#: html/Prefs/SearchOptions.html:49 html/Prefs/SearchOptions.html:52
+msgid "Search Preferences"
+msgstr "Preferências de pesquisa"
+
+#: lib/RT/SavedSearch.pm:117
+msgid "Search attribute load failure"
+msgstr "Erro a carregar o atributo de pesquisa"
+
+#: html/Approvals/Elements/PendingMyApproval:61
+msgid "Search for approvals"
+msgstr "Procurar nas aprovações"
+
+#: html/Search/Simple.html:77
+msgid "Search for tickets"
+msgstr "Procurar tickets"
+
+#: html/Search/Simple.html:59
+msgid "Search for tickets. Enter <strong>id</strong> numbers, <strong>queues</strong> by name, Owners by <strong>username</strong> and Requestors by <strong>email address</strong>."
+msgstr ""
+
+#: html/User/Elements/Tabs:64
+msgid "Search options"
+msgstr "Opções de pesquisa"
+
+#: html/Search/Chart.html:58
+#. ($PrimaryGroupBy)
+msgid "Search results grouped by %1"
+msgstr "Resultados de pesquisa agrupados por %1"
+
+#: lib/RT/SavedSearch.pm:205
+#. ($msg)
+msgid "Search update: %1"
+msgstr "Actualização de pesquisa: %1"
+
+#: html/Search/Simple.html:61
+msgid "Searching the full text of every ticket can take a long time, but if you need to do it, you can search for any word in full ticket history for any word by typing <b>fulltext:<i>word</i></b>."
+msgstr "Procurar com o texto completo pode levar muito tempo a realizar, mas se for realmente necessário, pode efectuar uma pesquisa por qualquer palavra no historial do pedido ao especificar <b>fulltext:<i>palavra</i></b>."
+
+#: bin/rt-crontool:267
+msgid "Security:"
+msgstr "Segurança:"
+
+#: html/Elements/ShowCustomFields:102
+msgid "See also:"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:107
+msgid "See custom fields"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:108
+msgid "See exact outgoing email messages and their recipeients"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:106
+msgid "See ticket private commentary"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:105
+msgid "See ticket summaries"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:107
+msgid "SeeCustomField"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:171
+msgid "SeeGroup"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:93
+msgid "SeeQueue"
+msgstr ""
+
+#: html/Admin/CustomFields/index.html:48 html/Admin/CustomFields/index.html:51
+msgid "Select a Custom Field"
+msgstr ""
+
+#: html/Admin/Groups/index.html:80
+msgid "Select a group"
+msgstr "Escolha um grupo"
+
+#: html/Admin/Queues/index.html:56
+msgid "Select a queue"
+msgstr "Escolha uma queue"
+
+#: html/SelfService/CreateTicketInQueue.html:50
+msgid "Select a queue for your new ticket"
+msgstr "Escolha uma queue para o novo ticket"
+
+#: html/Admin/Users/index.html:48 html/Admin/Users/index.html:51 html/Admin/Users/index.html:54
+msgid "Select a user"
+msgstr "Escolha um utilizador"
+
+#: html/Admin/Elements/CustomFieldTabs:92
+msgid "Select custom field"
+msgstr ""
+
+#: html/Admin/Global/CustomFields/index.html:72
+msgid "Select custom fields for all user groups"
+msgstr ""
+
+#: html/Admin/Global/CustomFields/index.html:67
+msgid "Select custom fields for all users"
+msgstr ""
+
+#: html/Admin/Global/CustomFields/index.html:78
+msgid "Select custom fields for tickets in all queues"
+msgstr "Seleccioned os \"Campos Personalizados\" para os pedidos em todas as filas"
+
+#: html/Admin/Global/CustomFields/index.html:85
+msgid "Select custom fields for transactions on tickets in all queues"
+msgstr ""
+
+#: html/Admin/Elements/GroupTabs:77 html/User/Elements/GroupTabs:73
+msgid "Select group"
+msgstr "Escolha grupo"
+
+#: lib/RT/CustomField_Overlay.pm:61
+msgid "Select multiple values"
+msgstr "Escolha múltiplos valores"
+
+#: lib/RT/CustomField_Overlay.pm:62
+msgid "Select one value"
+msgstr "Escolha um valor"
+
+#: html/Admin/Elements/QueueTabs:94
+msgid "Select queue"
+msgstr "Escolha a queue"
+
+#: html/Prefs/Quicksearch.html:55
+msgid "Select queues to be displayed on the \"RT at a glance\" page"
+msgstr "Escolha queues para apresentação na página principal"
+
+#: html/Admin/Global/Scrip.html:61 html/Admin/Global/Scrips.html:59 html/Admin/Queues/Scrip.html:69 html/Admin/Queues/Scrips.html:75
+msgid "Select scrip"
+msgstr ""
+
+#: html/Admin/Global/Template.html:77 html/Admin/Global/Templates.html:59 html/Admin/Queues/Template.html:78 html/Admin/Queues/Templates.html:70
+msgid "Select template"
+msgstr "Escolha template"
+
+#: lib/RT/CustomField_Overlay.pm:63
+msgid "Select up to %1 values"
+msgstr ""
+
+#: html/Admin/Elements/UserTabs:80
+msgid "Select user"
+msgstr "Escolha utilizador"
+
+#: html/Admin/Elements/EditCustomFields:60
+msgid "Selected Custom Fields"
+msgstr ""
+
+#: html/Admin/CustomFields/Objects.html:61
+msgid "Selected objects"
+msgstr ""
+
+#: html/Widgets/SelectionBox:220
+msgid "Selections modified. Please save your changes"
+msgstr ""
+
+#: etc/initialdata:121
+msgid "Send mail to all watchers"
+msgstr "Enviar email para todos os watchers"
+
+#: etc/initialdata:117
+msgid "Send mail to all watchers as a \"comment\""
+msgstr "Enviar email para todos os watchers como um comentário"
+
+#: etc/initialdata:112
+msgid "Send mail to requestors and Ccs"
+msgstr ""
+
+#: etc/initialdata:107
+msgid "Send mail to requestors and Ccs as a comment"
+msgstr ""
+
+#: etc/initialdata:78
+msgid "Sends a message to the requestors"
+msgstr ""
+
+#: etc/initialdata:125 etc/initialdata:129
+msgid "Sends mail to explicitly listed Ccs and Bccs"
+msgstr ""
+
+#: etc/initialdata:94 etc/upgrade/3.1.17/content:7
+msgid "Sends mail to the Ccs"
+msgstr ""
+
+#: etc/initialdata:90 etc/upgrade/3.1.17/content:3
+msgid "Sends mail to the Ccs as a comment"
+msgstr ""
+
+#: etc/initialdata:102
+msgid "Sends mail to the administrative Ccs"
+msgstr ""
+
+#: etc/initialdata:98
+msgid "Sends mail to the administrative Ccs as a comment"
+msgstr ""
+
+#: etc/initialdata:82 etc/initialdata:86
+msgid "Sends mail to the owner"
+msgstr "Enviar email para o dono"
+
+#: lib/RT/Date.pm:451
+msgid "Sep."
+msgstr "Sep"
+
+#: html/Ticket/Elements/ShowTransaction:161
+msgid "Show"
+msgstr "Mostrar"
+
+#: html/Search/Elements/EditFormat:58
+msgid "Show Columns"
+msgstr ""
+
+#: html/Ticket/Elements/Tabs:222
+msgid "Show Results"
+msgstr "Mostrar Resultados"
+
+#: html/Approvals/Elements/PendingMyApproval:66
+msgid "Show approved requests"
+msgstr ""
+
+#: html/Ticket/Create.html:391
+msgid "Show basics"
+msgstr "Mostrar informação básica"
+
+#: html/Approvals/Elements/PendingMyApproval:67
+msgid "Show denied requests"
+msgstr ""
+
+#: html/Ticket/Create.html:394
+msgid "Show details"
+msgstr "Mostrar detalhes"
+
+#: html/Approvals/Elements/PendingMyApproval:65
+msgid "Show pending requests"
+msgstr "Mostrar pedidos pendentes"
+
+#: html/Approvals/Elements/PendingMyApproval:68
+msgid "Show requests awaiting other approvals"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:95
+msgid "ShowACL"
+msgstr ""
+
+#: lib/RT/System.pm:87
+msgid "ShowConfigTab"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:108
+msgid "ShowOutgoingEmail"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:170
+msgid "ShowSavedSearches"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:104
+msgid "ShowScrips"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:101
+msgid "ShowTemplate"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:105
+msgid "ShowTicket"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:106
+msgid "ShowTicketComments"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:109
+msgid "Sign up as a ticket Requestor or ticket or queue Cc"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:110
+msgid "Sign up as a ticket or queue AdminCc"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:234 html/User/Prefs.html:170
+msgid "Signature"
+msgstr "Assinatura"
+
+#: html/Elements/Tabs:71
+msgid "Simple Search"
+msgstr "Pesquisa Simples"
+
+#: html/Admin/Elements/SelectSingleOrMultiple:49
+msgid "Single"
+msgstr ""
+
+#: html/Search/Elements/EditFormat:77
+msgid "Size"
+msgstr "Tamanho"
+
+#: html/Elements/Header:91
+msgid "Skip Menu"
+msgstr ""
+
+#: html/Search/Elements/EditFormat:80
+msgid "Small"
+msgstr "Pequeno"
+
+#: html/Admin/CustomFields/Modify.html:122
+msgid "Some browsers may only load content from the same domain as your RT server."
+msgstr ""
+
+#: html/Admin/Elements/AddCustomFieldValue:51 html/Admin/Elements/EditCustomFieldValues:56
+msgid "Sort"
+msgstr "Ordenar"
+
+#: html/Admin/Elements/EditScrip:80
+msgid "Stage"
+msgstr ""
+
+#: html/Elements/SelectDateType:50 html/Ticket/Elements/EditDates:55 html/Ticket/Elements/ShowDates:58
+msgid "Started"
+msgstr "Iniciado"
+
+#: html/Elements/SelectDateType:54 html/Ticket/Create.html:211 html/Ticket/Elements/EditDates:50 html/Ticket/Elements/ShowDates:54
+msgid "Starts"
+msgstr "Começa"
+
+#: html/Admin/Users/Modify.html:165 html/User/Prefs.html:147
+msgid "State"
+msgstr "Estado"
+
+#: html/Search/Elements/PickBasics:89 html/SelfService/Update.html:59 html/Ticket/Create.html:68 html/Ticket/Elements/EditBasics:55 html/Ticket/Elements/ShowBasics:54 html/Ticket/Update.html:61 html/Tools/MyDay.html:70 lib/RT/Ticket_Overlay.pm:1168 lib/RT/Tickets_Overlay.pm:1840
+msgid "Status"
+msgstr "Estado"
+
+#: etc/initialdata:309
+msgid "Status Change"
+msgstr "Alteração de Estado"
+
+#: lib/RT/Transaction_Overlay.pm:605
+#. ("'" . $self->loc( $self->OldValue ) . "'",                        "'" . $self->loc( $self->NewValue ) . "'")
+msgid "Status changed from %1 to %2"
+msgstr "Alteração de estado de %1 para %2"
+
+#: html/Ticket/Elements/Tabs:180
+msgid "Steal"
+msgstr "Roubar"
+
+#: lib/RT/Queue_Overlay.pm:119
+msgid "Steal tickets"
+msgstr "Roubar tickets"
+
+#: lib/RT/Queue_Overlay.pm:119
+msgid "StealTicket"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:699
+#. ($Old->Name)
+msgid "Stolen from %1"
+msgstr "Roubado de %1"
+
+#: html/Search/Elements/EditFormat:83
+msgid "Style"
+msgstr ""
+
+#: html/Elements/QuickCreate:54 html/Elements/SelectAttachmentField:49 html/Search/Bulk.html:134 html/SelfService/Create.html:81 html/SelfService/Update.html:67 html/Ticket/Create.html:110 html/Ticket/Elements/EditBasics:50 html/Ticket/Elements/Reminders:127 html/Ticket/ModifyAll.html:102 html/Ticket/Update.html:84 lib/RT/Ticket_Overlay.pm:1164 lib/RT/Tickets_Overlay.pm:1922
+msgid "Subject"
+msgstr "Assunto"
+
+#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:813 lib/RT/Transaction_Overlay.pm:721
+#. ($self->Data)
+msgid "Subject changed to %1"
+msgstr "Assunto alterado para %1"
+
+#: html/Elements/Submit:77
+msgid "Submit"
+msgstr "Enviar"
+
+#: lib/RT/Group_Overlay.pm:776
+msgid "Succeeded"
+msgstr ""
+
+#: lib/RT/Date.pm:425
+msgid "Sun."
+msgstr "Sun"
+
+#: lib/RT/System.pm:77
+msgid "SuperUser"
+msgstr ""
+
+#: html/User/Elements/DelegateRights:100
+msgid "System"
+msgstr ""
+
+#: html/Admin/Elements/ToolTabs:56 html/Admin/Tools/Configuration.html:50
+msgid "System Configuration"
+msgstr "Configuração de Sistema"
+
+#: html/Admin/CustomFields/UserRights.html:100 html/Admin/CustomFields/UserRights.html:130 html/Admin/Elements/SelectRights:108 lib/RT/ACE_Overlay.pm:586 lib/RT/Interface/Web.pm:1020 lib/RT/Interface/Web.pm:991
+msgid "System Error"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:226 lib/RT/Transaction_Overlay.pm:232
+#. ($msg)
+msgid "System Error: %1"
+msgstr ""
+
+#: html/Admin/Tools/index.html:49
+msgid "System Tools"
+msgstr "Ferramentas de Sistema"
+
+#: lib/RT/ACE_Overlay.pm:635
+msgid "System error. Right not delegated."
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:165 lib/RT/ACE_Overlay.pm:230 lib/RT/ACE_Overlay.pm:325
+msgid "System error. Right not granted."
+msgstr ""
+
+#: html/Admin/CustomFields/GroupRights.html:60 html/Admin/Global/GroupRights.html:58 html/Admin/Groups/GroupRights.html:60 html/Admin/Queues/GroupRights.html:59
+msgid "System groups"
+msgstr "Grupos de sistema"
+
+#: etc/initialdata:41 etc/initialdata:47 etc/initialdata:53
+msgid "SystemRolegroup for internal use"
+msgstr ""
+
+#: lib/RT/CurrentUser.pm:359
+msgid "TEST_STRING"
+msgstr ""
+
+#: etc/initialdata:603 html/Search/Elements/EditFormat:74 html/Ticket/Elements/Tabs:172
+msgid "Take"
+msgstr "Tomar"
+
+#: lib/RT/Queue_Overlay.pm:117
+msgid "Take tickets"
+msgstr "Tomar pedidos"
+
+#: lib/RT/Queue_Overlay.pm:117
+msgid "TakeTicket"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:684
+msgid "Taken"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:73 html/Tools/Offline.html:80
+msgid "Template"
+msgstr "Template"
+
+#: html/Admin/Global/Template.html:110 html/Admin/Queues/Template.html:115
+#. ($TemplateObj->Id())
+msgid "Template #%1"
+msgstr "Template $%1"
+
+#: html/Admin/Elements/EditTemplates:112
+msgid "Template deleted"
+msgstr "Template apagado"
+
+#: lib/RT/Scrip_Overlay.pm:178
+msgid "Template is mandatory argument"
+msgstr ""
+
+#: lib/RT/Scrip_Overlay.pm:182
+msgid "Template not found"
+msgstr ""
+
+#: lib/RT/Template_Overlay.pm:346
+msgid "Template parsed"
+msgstr ""
+
+#: lib/RT/Template_Overlay.pm:398
+msgid "Template parsing error"
+msgstr ""
+
+#: html/Admin/Elements/QueueTabs:72 html/Admin/Elements/SystemTabs:59 html/Admin/Global/index.html:68
+msgid "Templates"
+msgstr "Templates"
+
+#: lib/RT/CustomField_Overlay.pm:946 lib/RT/Record.pm:962
+msgid "That is already the current value"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:415
+msgid "That is not a value for this custom field"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1987
+msgid "That is the same value"
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:307 lib/RT/ACE_Overlay.pm:616
+msgid "That principal already has that right"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:748
+#. ($args{'Type'})
+msgid "That principal is already a %1 for this queue"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1428
+#. ($self->loc($args{'Type'}))
+msgid "That principal is already a %1 for this ticket"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:856
+#. ($args{'Type'})
+msgid "That principal is not a %1 for this queue"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1550
+#. ($args{'Type'})
+msgid "That principal is not a %1 for this ticket"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1983
+msgid "That queue does not exist"
+msgstr "Essa queue não existe"
+
+#: lib/RT/Ticket_Overlay.pm:3250
+msgid "That ticket has unresolved dependencies"
+msgstr ""
+
+#: lib/RT/Action/CreateTickets.pm:712 lib/RT/Ticket_Overlay.pm:3053
+msgid "That user already owns that ticket"
+msgstr "Esse utilizador já é dono desse ticket"
+
+#: lib/RT/Ticket_Overlay.pm:2996
+msgid "That user does not exist"
+msgstr "Esse utilizador não existe"
+
+#: lib/RT/User_Overlay.pm:391
+msgid "That user is already privileged"
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:412
+msgid "That user is already unprivileged"
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:404
+msgid "That user is now privileged"
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:425
+msgid "That user is now unprivileged"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:3046
+msgid "That user may not own tickets in that queue"
+msgstr "Esse utilizador não pode ser dono de tickets nessa queue"
+
+#: lib/RT/Link_Overlay.pm:235
+msgid "That's not a numerical id"
+msgstr ""
+
+#: html/SelfService/Display.html:55 html/Ticket/Create.html:180 html/Ticket/Elements/ShowSummary:51
+msgid "The Basics"
+msgstr "O Básico"
+
+#: lib/RT/ACE_Overlay.pm:114
+msgid "The CC of a ticket"
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:115
+msgid "The administrative CC of a ticket"
+msgstr ""
+
+#: bin/rt-crontool:277
+msgid "The following command will find all active tickets in the queue 'general' and set their priority to 99 if they haven't been touched in 4 hours:"
+msgstr ""
+
+#: lib/RT/Record.pm:965
+msgid "The new value has been set."
+msgstr ""
+
+#: lib/RT/ACE_Overlay.pm:112
+msgid "The owner of a ticket"
+msgstr "O dono de um ticket"
+
+#: lib/RT/ACE_Overlay.pm:113
+msgid "The requestor of a ticket"
+msgstr ""
+
+#: html/Admin/Elements/EditUserComments:49
+msgid "These comments aren't generally visible to the user"
+msgstr ""
+
+#: lib/RT/CustomField_Overlay.pm:981
+msgid "This custom field does not apply to that object"
+msgstr ""
+
+#: html/Admin/Tools/Configuration.html:52
+msgid "This feature is only available to system administrators"
+msgstr "Esta funcionalidade está disponível apenas para os administradores do sistema"
+
+#: html/Elements/SetupSessionCookie:106
+#. ($RT::MasonSessionDir)
+msgid "This may mean that that the directory '%1' isn't writable or a database table is missing or corrupt."
+msgstr ""
+
+#: html/Ticket/Elements/PreviewScrips:98
+msgid "This message will be sent to..."
+msgstr "Esta mensagem será enviada para..."
+
+#: bin/rt-crontool:268
+msgid "This tool allows the user to run arbitrary perl modules from within RT."
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:327
+msgid "This transaction appears to have no content"
+msgstr "Esta transacção não parece ter conteúdo"
+
+#: html/Ticket/Elements/ShowRequestor:72
+#. ($rows)
+msgid "This user's %1 highest priority tickets"
+msgstr "%1 tickets deste utilizador com maior prioridade"
+
+#: lib/RT/Date.pm:422
+msgid "Thu."
+msgstr "Thu"
+
+#: html/Ticket/ModifyAll.html:48 html/Ticket/ModifyAll.html:52
+#. ($Ticket->Id, $Ticket->Subject)
+msgid "Ticket #%1 Jumbo update: %2"
+msgstr ""
+
+#: html/Approvals/Elements/ShowDependency:69
+#. ($link->BaseObj->Id, $link->BaseObj->Subject)
+msgid "Ticket #%1: %2"
+msgstr "Ticket #%1: %2"
+
+#: lib/RT/Action/CreateTickets.pm:1352 lib/RT/Action/CreateTickets.pm:1361 lib/RT/Action/CreateTickets.pm:607 lib/RT/Action/CreateTickets.pm:731 lib/RT/Action/CreateTickets.pm:743
+#. ($T::Tickets{$template_id}->Id)
+#. ($T::Tickets{$template_id}->id)
+#. ($ticket->Id)
+msgid "Ticket %1"
+msgstr "Ticket %1"
+
+#: lib/RT/Ticket_Overlay.pm:757 lib/RT/Ticket_Overlay.pm:777
+#. ($self->Id, $QueueObj->Name)
+msgid "Ticket %1 created in queue '%2'"
+msgstr "Ticket %1 criado na queue '%2'"
+
+#: html/Search/Bulk.html:380 html/Tools/MyDay.html:103 html/Tools/MyDay.html:94 html/Tools/MyDay.html:97
+#. ($Ticket->Id, $_)
+#. ($id, $msg)
+msgid "Ticket %1: %2"
+msgstr "Ticket %1: %2"
+
+#: html/Admin/Elements/QueueTabs:76
+msgid "Ticket Custom Fields"
+msgstr ""
+
+#: html/Ticket/History.html:48 html/Ticket/History.html:51
+#. ($Ticket->Id, $Ticket->Subject)
+msgid "Ticket History # %1 %2"
+msgstr "Histórico do ticket # %1 %2"
+
+#: etc/initialdata:324
+msgid "Ticket Resolved"
+msgstr "Ticket Resolvido"
+
+#: html/Admin/Elements/GlobalCustomFieldTabs:71 html/Admin/Global/CustomFields/index.html:83 lib/RT/CustomField_Overlay.pm:1210
+msgid "Ticket Transactions"
+msgstr "Transacções do ticket"
+
+#: lib/RT/Tickets_Overlay.pm:2109
+msgid "Ticket content"
+msgstr "Conteúdo do ticket"
+
+#: lib/RT/Tickets_Overlay.pm:2158
+msgid "Ticket content type"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:605 lib/RT/Ticket_Overlay.pm:619 lib/RT/Ticket_Overlay.pm:630 lib/RT/Ticket_Overlay.pm:765
+msgid "Ticket could not be created due to an internal error"
+msgstr ""
+
+#: html/Ticket/Create.html:247
+msgid "Ticket could not be loaded"
+msgstr ""
+
+#: html/Ticket/Display.html:57
+msgid "Ticket metadata"
+msgstr ""
+
+#: etc/initialdata:310
+msgid "Ticket status changed"
+msgstr "Estado do ticket alterado"
+
+#: lib/RT/Search/FromSQL.pm:84
+#. (ref $self)
+msgid "TicketSQL search module"
+msgstr ""
+
+#: html/Admin/Elements/GlobalCustomFieldTabs:66 html/Admin/Global/CustomFields/index.html:77 html/Elements/Tabs:74 html/Search/Chart:113 html/Search/Elements/Chart:111 lib/RT/CustomField_Overlay.pm:1209
+msgid "Tickets"
+msgstr "Tickets"
+
+#: lib/RT/Tickets_Overlay.pm:2350
+#. ($self->loc( $args{'TYPE'} ),            ( $args{'BASE'} || $args{'TICKET'} ))
+msgid "Tickets %1 %2"
+msgstr "Tickets %1 %2"
+
+#: lib/RT/Tickets_Overlay.pm:2302
+#. ($self->loc( $args{'TYPE'} ),            ( $args{'TARGET'} || $args{'TICKET'} ))
+msgid "Tickets %1 by %2"
+msgstr "Tickets %1 por %2"
+
+#: html/Tools/Reports/CreatedByDates.html:88
+msgid "Tickets created after"
+msgstr "Tickets criados depois de"
+
+#: html/Tools/Reports/CreatedByDates.html:90
+msgid "Tickets created before"
+msgstr "Tickets criados antes de"
+
+#: html/Tools/Reports/ResolvedByDates.html:89
+msgid "Tickets resolved after"
+msgstr "Tickets resolvidos depois de"
+
+#: html/Tools/Reports/ResolvedByDates.html:91
+msgid "Tickets resolved before"
+msgstr "Tickets resolvidos antes de"
+
+#: html/Approvals/Elements/ShowDependency:50
+msgid "Tickets which depend on this approval:"
+msgstr "Pedidos que dependem desta aprovação"
+
+#: html/Search/Elements/PickBasics:136 html/Ticket/Create.html:186 html/Ticket/Elements/EditBasics:74
+msgid "Time Estimated"
+msgstr "Tempo previsto"
+
+#: html/Search/Elements/PickBasics:137 html/Ticket/Create.html:199 html/Ticket/Elements/EditBasics:87 lib/RT/Tickets_Overlay.pm:2080
+msgid "Time Left"
+msgstr "Tempo disponível"
+
+#: html/Search/Elements/PickBasics:135 html/Ticket/Create.html:192 html/Ticket/Elements/EditBasics:80 lib/RT/Tickets_Overlay.pm:2055
+msgid "Time Worked"
+msgstr "Tempo de trabalho"
+
+#: html/Elements/Footer:53
+msgid "Time to display"
+msgstr "Tempo usado para disponibilizar página"
+
+#: lib/RT/Ticket_Overlay.pm:1169
+msgid "TimeWorked"
+msgstr ""
+
+#: html/Search/Elements/EditFormat:76
+msgid "Title"
+msgstr ""
+
+#: html/Elements/Footer:64
+#. ('<a href="mailto:sales at bestpractical.com">sales at bestpractical.com</a>')
+msgid "To inquire about support, training, custom development or licensing, please contact %1."
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:1172
+msgid "Told"
+msgstr ""
+
+#: html/Admin/Elements/Tabs:70 html/Admin/index.html:90 html/Elements/Tabs:77 html/Tools/index.html:48 html/Tools/index.html:51
+msgid "Tools"
+msgstr "Ferramentas"
+
+#: html/Search/Elements/Chart:132
+msgid "Total"
+msgstr "Total"
+
+#: etc/initialdata:252
+msgid "Transaction"
+msgstr "Transacção"
+
+#: lib/RT/Transaction_Overlay.pm:826
+#. ($self->Data)
+msgid "Transaction %1 purged"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:185
+msgid "Transaction Created"
+msgstr "Transacção Criada"
+
+#: html/Admin/Elements/QueueTabs:80
+msgid "Transaction Custom Fields"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:130
+msgid "Transaction->Create couldn't, as you didn't specify an object type and id"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:891
+msgid "Transactions are immutable"
+msgstr ""
+
+#: lib/RT/Date.pm:420
+msgid "Tue."
+msgstr "Tue"
+
+#: html/Admin/CustomFields/Modify.html:68 html/Admin/Elements/EditCustomField:67 html/Ticket/Elements/AddWatchers:56 html/Ticket/Elements/AddWatchers:67 html/Ticket/Elements/AddWatchers:77 lib/RT/Ticket_Overlay.pm:1170 lib/RT/Tickets_Overlay.pm:1894
+msgid "Type"
+msgstr "Tipo"
+
+#: lib/RT/ScripCondition_Overlay.pm:130
+msgid "Unimplemented"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:91
+msgid "Unix login"
+msgstr ""
+
+#: lib/RT/Attachment_Overlay.pm:291 lib/RT/Record.pm:863
+#. ($self->ContentEncoding)
+#. ($ContentEncoding)
+msgid "Unknown ContentEncoding %1"
+msgstr ""
+
+#: html/Search/Build.html:461 lib/RT/Report/Tickets.pm:410
+#. ($key)
+msgid "Unknown field: %1"
+msgstr ""
+
+#: html/Elements/SelectResultsPerPage:60
+msgid "Unlimited"
+msgstr ""
+
+#: html/Search/Elements/SelectSearchesForObjects:66
+msgid "Unnamed search"
+msgstr "Procura sem nome"
+
+#: etc/initialdata:32
+msgid "Unprivileged"
+msgstr ""
+
+#: html/Admin/Elements/EditCustomFields:62
+msgid "Unselected Custom Fields"
+msgstr ""
+
+#: html/Admin/CustomFields/Objects.html:63
+msgid "Unselected objects"
+msgstr ""
+
+#: lib/RT/Transaction_Overlay.pm:680
+msgid "Untaken"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:130 html/Elements/RT__Ticket/ColumnMap:304 html/Search/Bulk.html:195 html/Search/Bulk.html:77
+msgid "Update"
+msgstr "Actualizar"
+
+#: html/Ticket/Update.html:137
+msgid "Update Ticket"
+msgstr "Actualizar Ticket"
+
+#: html/Search/Bulk.html:128 html/Ticket/ModifyAll.html:89 html/Ticket/Update.html:74
+msgid "Update Type"
+msgstr "Tipo de actualização"
+
+#: html/Search/Bulk.html:202 html/Search/Results.html:80
+msgid "Update multiple tickets"
+msgstr "Actualizar múltiplos tickets"
+
+#: lib/RT/Action/CreateTickets.pm:752 lib/RT/Interface/Web.pm:611
+msgid "Update not recorded."
+msgstr ""
+
+#: html/Ticket/ModifyAll.html:86
+msgid "Update ticket"
+msgstr "Actualizar ticket"
+
+#: html/SelfService/Update.html:114 html/SelfService/Update.html:49
+#. ($Ticket->id)
+msgid "Update ticket #%1"
+msgstr "Actualizar ticket #%1"
+
+#: html/Ticket/Update.html:160
+#. ($TicketObj->id, $TicketObj->Subject)
+msgid "Update ticket #%1 (%2)"
+msgstr "Actualizar ticket #%1 (%2)"
+
+#: lib/RT/Action/CreateTickets.pm:750 lib/RT/Interface/Web.pm:610
+msgid "Update type was neither correspondence nor comment."
+msgstr ""
+
+#: html/Elements/SelectDateType:56 html/Ticket/Elements/ShowDates:74 lib/RT/CustomField_Overlay.pm:1287 lib/RT/Ticket_Overlay.pm:1173
+msgid "Updated"
+msgstr "Actualizado"
+
+#: html/Tools/Offline.html:95
+msgid "Upload"
+msgstr "Carregar"
+
+#: lib/RT/CustomField_Overlay.pm:86
+msgid "Upload multiple files"
+msgstr "Carregar múltiplos ficheiros"
+
+#: lib/RT/CustomField_Overlay.pm:81
+msgid "Upload multiple images"
+msgstr "Carregar múltiplas imagens"
+
+#: lib/RT/CustomField_Overlay.pm:87
+msgid "Upload one file"
+msgstr "Carregar um ficheiro"
+
+#: lib/RT/CustomField_Overlay.pm:82
+msgid "Upload one image"
+msgstr "Carregar uma imagem"
+
+#: lib/RT/CustomField_Overlay.pm:88
+msgid "Upload up to %1 files"
+msgstr "Carregar até %1 ficheiros"
+
+#: lib/RT/CustomField_Overlay.pm:83
+msgid "Upload up to %1 images"
+msgstr "Carregar até %1 imagens"
+
+#: html/Tools/Offline.html:95
+msgid "Upload your changes"
+msgstr ""
+
+#: html/Admin/index.html:92
+msgid "Use other RT administrative tools"
+msgstr "Utilizar outras ferramentas administrativas do RT"
+
+#: lib/RT/Ticket_Overlay.pm:508
+#. ($args{'Owner'})
+msgid "User '%1' could not be found."
+msgstr "Utilizador '%1' não encontrado"
+
+#: etc/initialdata:132 etc/initialdata:206
+msgid "User Defined"
+msgstr ""
+
+#: html/Admin/Elements/EditScrip:95
+msgid "User Defined conditions and actions"
+msgstr ""
+
+#: html/Admin/Elements/CustomFieldTabs:74 html/Admin/Elements/GroupTabs:70 html/Admin/Elements/QueueTabs:87 html/Admin/Elements/SystemTabs:70 html/Admin/Global/index.html:82
+msgid "User Rights"
+msgstr "Direitos de utilizador"
+
+#: lib/RT/Interface/Web.pm:1392
+#. ($cf->Name, ref $args{'Object'}, $args{'Object'}->id)
+msgid "User asked for an unknown update type for custom field %1 for %2 object #%3"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:305
+#. ($msg)
+msgid "User could not be created: %1"
+msgstr "Utilizador não criado: %1"
+
+#: lib/RT/User_Overlay.pm:332
+msgid "User created"
+msgstr "Utilizador criado"
+
+#: html/Admin/CustomFields/GroupRights.html:76 html/Admin/Global/GroupRights.html:90 html/Admin/Groups/GroupRights.html:77 html/Admin/Queues/GroupRights.html:92
+msgid "User defined groups"
+msgstr ""
+
+#: lib/RT/User_Overlay.pm:594 lib/RT/User_Overlay.pm:614
+msgid "User loaded"
+msgstr "Utilizador carregado"
+
+#: html/Admin/Groups/index.html:105
+msgid "User-defined groups"
+msgstr "Grupos definidos por utilizadores"
+
+#: html/Admin/Users/Modify.html:71 html/Elements/Login:92 html/Ticket/Elements/AddWatchers:58
+msgid "Username"
+msgstr "Username"
+
+#: html/Admin/Elements/GlobalCustomFieldTabs:57 html/Admin/Elements/SelectNewGroupMembers:49 html/Admin/Elements/Tabs:55 html/Admin/Global/CustomFields/index.html:66 html/Admin/Groups/Members.html:78 html/Admin/Queues/People.html:91 html/Admin/index.html:64 html/User/Groups/Members.html:81 lib/RT/CustomField_Overlay.pm:1211
+msgid "Users"
+msgstr "Utilizadores"
+
+#: html/Admin/Users/index.html:87
+msgid "Users matching search criteria"
+msgstr "Utilizadores que verificam o critério de pesquisa"
+
+#: bin/rt-crontool:136
+#. ($transaction->id)
+msgid "Using transaction #%1..."
+msgstr ""
+
+#: lib/RT/Tickets_Overlay_SQL.pm:530
+msgid "Valid Query"
+msgstr "Query válida"
+
+#: html/Admin/CustomFields/Modify.html:82
+msgid "Validation"
+msgstr ""
+
+#: html/Admin/CustomFields/Modify.html:132 html/Admin/Elements/EditCustomField:80
+msgid "Values"
+msgstr "Valores"
+
+#: lib/RT/Queue_Overlay.pm:109
+msgid "Watch"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:110
+msgid "WatchAsAdminCc"
+msgstr ""
+
+#: html/Admin/Elements/QueueTabs:65
+msgid "Watchers"
+msgstr ""
+
+#: lib/RT/Date.pm:421
+msgid "Wed."
+msgstr "Wed"
+
+#: html/Tools/MyDay.html:80
+msgid "What I did today"
+msgstr ""
+
+#: etc/initialdata:521
+msgid "When a ticket has been approved by all approvers, add correspondence to the original ticket"
+msgstr ""
+
+#: etc/initialdata:485
+msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
+msgstr ""
+
+#: etc/initialdata:146
+msgid "When a ticket is created"
+msgstr "Quando um ticket é criado"
+
+#: etc/initialdata:418
+msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
+msgstr ""
+
+#: etc/initialdata:151
+msgid "When anything happens"
+msgstr "Quando algo acontece"
+
+#: etc/initialdata:199
+msgid "Whenever a ticket is resolved"
+msgstr "Quando um ticket é resolvido"
+
+#: etc/initialdata:185
+msgid "Whenever a ticket's owner changes"
+msgstr ""
+
+#: etc/initialdata:178 etc/upgrade/3.1.17/content:16
+msgid "Whenever a ticket's priority changes"
+msgstr ""
+
+#: etc/initialdata:193
+msgid "Whenever a ticket's queue changes"
+msgstr ""
+
+#: etc/initialdata:170
+msgid "Whenever a ticket's status changes"
+msgstr ""
+
+#: etc/initialdata:207
+msgid "Whenever a user-defined condition occurs"
+msgstr ""
+
+#: etc/initialdata:164
+msgid "Whenever comments come in"
+msgstr ""
+
+#: etc/initialdata:157
+msgid "Whenever correspondence comes in"
+msgstr ""
+
+#: html/Admin/Users/Modify.html:191 html/User/Prefs.html:90
+msgid "Work"
+msgstr ""
+
+#: html/Search/Results.html:84
+msgid "Work offline"
+msgstr ""
+
+#: html/Ticket/Elements/ShowBasics:65 html/Ticket/Update.html:66 html/Tools/MyDay.html:65
+msgid "Worked"
+msgstr ""
+
+#: lib/RT/Ticket_Overlay.pm:3157
+msgid "You already own this ticket"
+msgstr "Este ticket já é seu"
+
+#: html/autohandler:216 html/autohandler:224
+msgid "You are not an authorized user"
+msgstr ""
+
+#: html/Prefs/Search.html:58
+msgid "You can also edit the predefined search itself"
+msgstr "Também pode editar a própria procura personalizada"
+
+#: lib/RT/Ticket_Overlay.pm:3039
+msgid "You can only reassign tickets that you own or that are unowned"
+msgstr "Só pode atribuir um pedido que seja seu ou que não proprietário"
+
+#: lib/RT/Ticket_Overlay.pm:3035
+msgid "You can only take tickets that are unowned"
+msgstr "Só pode responsabilizar-se por tickets que não têm dono"
+
+#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:778
+#. ($num, $queue)
+msgid "You found %1 tickets in queue %2"
+msgstr "Encontrou %1 tickets na queue %2"
+
+#: html/NoAuth/Logout.html:54
+msgid "You have been logged out of RT."
+msgstr "Saiu do RT"
+
+#: html/SelfService/Display.html:135
+msgid "You have no permission to create tickets in that queue."
+msgstr "Não tem permissão para criar tickets nessa queue."
+
+#: lib/RT/Ticket_Overlay.pm:1996
+msgid "You may not create requests in that queue."
+msgstr "Não pode criar pedidos nessa queue"
+
+#: html/NoAuth/Logout.html:58
+msgid "You're welcome to login again"
+msgstr ""
+
+#: etc/initialdata:502 etc/initialdata:504
+#. (# loc	    $self->TransactionObj->CreatorObj->Name,)
+msgid "Your request has been approved by %1. Other approvals may still be pending."
+msgstr ""
+
+#: etc/initialdata:540
+msgid "Your request has been approved."
+msgstr ""
+
+#: etc/initialdata:445
+msgid "Your request was rejected."
+msgstr ""
+
+#: html/autohandler:253
+msgid "Your username or password is incorrect"
+msgstr "Login ou password errados"
+
+#: html/Admin/Users/Modify.html:171 html/User/Prefs.html:151
+msgid "Zip"
+msgstr "Código Postal"
+
+#: html/Search/Elements/DisplayOptions:67
+msgid "[none]"
+msgstr ""
+
+#: lib/RT/System.pm:89
+msgid "allow creation of saved searches"
+msgstr ""
+
+#: lib/RT/System.pm:88
+msgid "allow loading of saved searches"
+msgstr ""
+
+#: html/User/Elements/DelegateRights:82
+#. ($right->PrincipalObj->Object->SelfDescription)
+msgid "as granted to %1"
+msgstr ""
+
+#: html/Search/Results.html:85
+msgid "chart"
+msgstr ""
+
+#: html/SelfService/Closed.html:51
+msgid "closed"
+msgstr "fechado"
+
+#: html/Elements/SelectCustomFieldOperator:61 html/Elements/SelectMatch:57
+msgid "contains"
+msgstr "contém"
+
+#: lib/RT/Report/Tickets.pm:347
+msgid "current: $current, want $want, Error near ->$val<- expecting a $token in '$string'\\n"
+msgstr ""
+
+#: html/Admin/Queues/Modify.html:100 lib/RT/Date.pm:348
+msgid "days"
+msgstr "dias"
+
+#: lib/RT/Queue_Overlay.pm:89
+msgid "deleted"
+msgstr "apagado"
+
+#: html/Search/Elements/PickBasics:63
+msgid "does not match"
+msgstr ""
+
+#: html/Elements/SelectCustomFieldOperator:61 html/Elements/SelectMatch:58
+msgid "doesn't contain"
+msgstr "não contém"
+
+#: html/Elements/SelectEqualityOperator:61
+msgid "equal to"
+msgstr "igual a"
+
+#: html/Search/Build.html:553
+msgid "error: can't move down"
+msgstr ""
+
+#: html/Search/Build.html:575
+msgid "error: can't move left"
+msgstr ""
+
+#: html/Search/Build.html:534
+msgid "error: can't move up"
+msgstr ""
+
+#: html/Search/Build.html:618
+msgid "error: nothing to delete"
+msgstr ""
+
+#: html/Search/Build.html:539 html/Search/Build.html:558 html/Search/Build.html:580 html/Search/Build.html:609
+msgid "error: nothing to move"
+msgstr ""
+
+#: html/Search/Build.html:636
+msgid "error: nothing to toggle"
+msgstr ""
+
+#: html/Elements/SelectCustomFieldOperator:61 html/Elements/SelectEqualityOperator:61
+msgid "greater than"
+msgstr "maior do que"
+
+#: lib/RT/Group_Overlay.pm:216
+#. ($self->Name)
+msgid "group '%1'"
+msgstr "grupo '%1'"
+
+#: html/Search/Results.html:90
+#. ($m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy', Query => $Query))
+msgid "grouped by %1"
+msgstr "agrupado por %1"
+
+#: lib/RT/Date.pm:344
+msgid "hours"
+msgstr "horas"
+
+#: html/Search/Elements/PickBasics:50
+msgid "id"
+msgstr "id"
+
+#: html/Elements/SelectBoolean:55 html/Elements/SelectCustomFieldOperator:61 html/Elements/SelectMatch:59 html/Search/Elements/PickBasics:164 html/Search/Elements/PickBasics:76 html/Search/Elements/PickBasics:92 html/Search/Elements/PickCFs:55
+msgid "is"
+msgstr "é"
+
+#: html/Elements/SelectBoolean:59 html/Elements/SelectCustomFieldOperator:61 html/Elements/SelectMatch:60 html/Search/Elements/PickBasics:165 html/Search/Elements/PickBasics:77 html/Search/Elements/PickBasics:93 html/Search/Elements/PickCFs:56
+msgid "isn't"
+msgstr "não é"
+
+#: html/Elements/SelectCustomFieldOperator:61 html/Elements/SelectEqualityOperator:61
+msgid "less than"
+msgstr "menos do que"
+
+#: html/Search/Elements/PickBasics:62
+msgid "matches"
+msgstr "coincide"
+
+#: lib/RT/Date.pm:340
+msgid "min"
+msgstr ""
+
+#: html/Tools/MyDay.html:65
+msgid "minutes"
+msgstr "minutos"
+
+#: lib/RT/Date.pm:356
+msgid "months"
+msgstr "meses"
+
+#: lib/RT/Queue_Overlay.pm:84
+msgid "new"
+msgstr "novo"
+
+#: html/Admin/Elements/PickCustomFields:66 html/Admin/Elements/PickObjects:67
+msgid "no name"
+msgstr "sem nome"
+
+#: html/Admin/Elements/EditScrips:66
+msgid "no value"
+msgstr "sem valor"
+
+#: html/Admin/Elements/EditQueueWatchers:50 html/Ticket/Elements/EditWatchers:51
+msgid "none"
+msgstr "nenhum"
+
+#: html/Elements/SelectEqualityOperator:61
+msgid "not equal to"
+msgstr "diferente de"
+
+#: html/SelfService/Elements/MyRequests:78 lib/RT/Queue_Overlay.pm:85
+msgid "open"
+msgstr "aberto"
+
+#: lib/RT/Group_Overlay.pm:221
+#. ($self->Name, $user->Name)
+msgid "personal group '%1' for user '%2'"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:229
+#. ($queue->Name, $self->Type)
+msgid "queue %1 %2"
+msgstr "queue %1 %2"
+
+#: lib/RT/Queue_Overlay.pm:88
+msgid "rejected"
+msgstr "rejeitado"
+
+#: lib/RT/Queue_Overlay.pm:87
+msgid "resolved"
+msgstr "resolvido"
+
+#: lib/RT/Date.pm:336
+msgid "sec"
+msgstr ""
+
+#: lib/RT/System.pm:87
+msgid "show Configuration tab"
+msgstr ""
+
+#: html/Search/Results.html:82
+msgid "spreadsheet"
+msgstr ""
+
+#: lib/RT/Queue_Overlay.pm:86
+msgid "stalled"
+msgstr "pendente"
+
+#: html/Search/Results.html:91
+#. ($m->scomp('Elements/SelectChartType', Name => 'ChartStyle'))
+msgid "style: %1"
+msgstr ""
+
+#: html/Prefs/MyRT.html:95
+msgid "summary rows"
+msgstr "linhas de sumário"
+
+#: lib/RT/Group_Overlay.pm:224
+#. ($self->Type)
+msgid "system %1"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:235
+#. ($self->Type)
+msgid "system group '%1'"
+msgstr ""
+
+#: html/Elements/Error:66 html/SelfService/Error.html:65
+msgid "the calling component did not specify why"
+msgstr ""
+
+#: lib/RT/Group_Overlay.pm:232
+#. ($self->Instance, $self->Type)
+msgid "ticket #%1 %2"
+msgstr "ticket #%1 %2"
+
+#: lib/RT/Group_Overlay.pm:238
+#. ($self->Id)
+msgid "undescribed group %1"
+msgstr "grupo indefinido %1"
+
+#: lib/RT/Group_Overlay.pm:213
+#. ($user->Object->Name)
+msgid "user %1"
+msgstr "utilizador %1"
+
+#: lib/RT/Date.pm:352
+msgid "weeks"
+msgstr "semanas"
+
+#: lib/RT/Date.pm:360
+msgid "years"
+msgstr "anos"
+

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/ru.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/ru.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/ru.po	Mon Jul  7 16:21:51 2008
@@ -1940,7 +1940,7 @@
 msgstr "Создать дополнительное поле для очереди %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "Создать дополнительное поле для всех очередей"
 
 #: NOT FOUND IN SOURCE
@@ -4111,7 +4111,7 @@
 msgstr "Изменить дополнительное поле для очереди %1"
 
 #: NOT FOUND IN SOURCE
-msgid "Modify a CustomField which applies to all queues"
+msgid "Modify a CustomField that applies to all queues"
 msgstr "Изменить дополнительное поле, которое применяется ко всем очередям"
 
 #: share/html/Admin/Queues/Scrip.html:84
@@ -4120,7 +4120,7 @@
 msgstr "Изменить скриплет для очереди %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Изменить скриплет, который действует для всех очередей"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/sv.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/sv.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/sv.po	Mon Jul  7 16:21:51 2008
@@ -3357,7 +3357,7 @@
 msgstr "Modifiera ett scrip för kö %1"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Modifiera ett scrip som gäller för alla köer"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/tr.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/tr.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/tr.po	Mon Jul  7 16:21:51 2008
@@ -3359,7 +3359,7 @@
 msgstr "%1 kuyruğu için bir senet değiştir"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "Bütün kuyruklara etki eden bir senedi değiştir"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/zh_cn.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/zh_cn.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/zh_cn.po	Mon Jul  7 16:21:51 2008
@@ -2273,7 +2273,7 @@
 msgstr "为 %1 表单新增自订字段"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "为 %1 表单新增自订字段"
 
 #: NOT FOUND IN SOURCE
@@ -5084,7 +5084,7 @@
 msgstr "更改 %1 表单内的自订字段"
 
 #: NOT FOUND IN SOURCE
-msgid "Modify a CustomField which applies to all queues"
+msgid "Modify a CustomField that applies to all queues"
 msgstr "更改适用于所有表单的自订字段"
 
 #: share/html/Admin/Queues/Scrip.html:84
@@ -5093,7 +5093,7 @@
 msgstr "更改 %1 表单内的手续"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "更改适用于所有表单的手续"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/I18N/zh_tw.po
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/I18N/zh_tw.po	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/I18N/zh_tw.po	Mon Jul  7 16:21:51 2008
@@ -2269,7 +2269,7 @@
 msgstr "為 %1 表單新增自訂欄位"
 
 #: NOT FOUND IN SOURCE
-msgid "Create a CustomField which applies to all queues"
+msgid "Create a CustomField that applies to all queues"
 msgstr "為 %1 表單新增自訂欄位"
 
 #: NOT FOUND IN SOURCE
@@ -5068,7 +5068,7 @@
 msgstr "更改 %1 表單內的自訂欄位"
 
 #: NOT FOUND IN SOURCE
-msgid "Modify a CustomField which applies to all queues"
+msgid "Modify a CustomField that applies to all queues"
 msgstr "更改適用於所有表單的自訂欄位"
 
 #: share/html/Admin/Queues/Scrip.html:84
@@ -5077,7 +5077,7 @@
 msgstr "更改 %1 表單內的手續"
 
 #: share/html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip which applies to all queues"
+msgid "Modify a scrip that applies to all queues"
 msgstr "更改適用於所有表單的手續"
 
 #: share/html/Admin/CustomFields/Objects.html:92

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Installer.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Installer.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Installer.pm	Mon Jul  7 16:21:51 2008
@@ -73,7 +73,7 @@
     DatabaseHost => {
         Widget          => '/Widgets/Form/String',
         WidgetArguments => {
-            Description => 'Database host',
+            Description => 'Database host', #loc
             Default => 1,
             DefaultLabel => "Keep 'localhost' if you're not sure", #loc
             Hints => "The domain name of your database server (like 'db.example.com').",       #loc
@@ -85,7 +85,7 @@
             Description => 'Database port',         #loc
             Default     => 1,
             DefaultLabel =>
-              'Leave empty to use a default value',              #loc
+              'Leave empty to use the default value for your database',              #loc
         },
     },
     DatabaseName => {
@@ -98,23 +98,25 @@
         Widget          => '/Widgets/Form/String',
         WidgetArguments => {
             Default => 1,
-            DefaultLabel => "Leave this alone to use a default value", #loc
+            Hints => "Leave this alone to use the default dba username for your database type", #loc
             Description => 'DBA username', # loc
+            DefaultLabel => '',
         },
     },
     DatabaseAdminPassword => {
         Widget          => '/Widgets/Form/String',
         WidgetArguments => {
-            Description =>
-              'DBA password',  #loc
-            Hints => "The DBA's database password",#loc
+            Description => 'DBA password',  #loc
+            DefaultLabel => "The DBA's database password",#loc
             Type => 'password',
+            Hints => "You must provide the dba's password so we can create the RT database and user.",
         },
     },
     DatabaseUser => {
         Widget          => '/Widgets/Form/String',
         WidgetArguments => {
             Description => 'Database username for RT',                      #loc
+            Hints => 'RT will connect to the database using this user.  It will be created for you.', #loc
         },
     },
     DatabasePassword => {
@@ -122,6 +124,7 @@
         WidgetArguments => {
             Description => 'Database password for RT',                      #loc
             Type        => 'password',
+            Hints       => 'The password RT should use to connect to the database.',
         },
     },
     DatabaseRequireSSL => {
@@ -134,7 +137,7 @@
         Widget          => '/Widgets/Form/String',
         WidgetArguments => {
             Description => 'Site name',                        #loc
-            Hints => 'Set this to your internet domain. (ex: example.com)' #loc
+            Hints => 'RT will use this string to uniquely identify your installation and looks for it in the subject of emails to decide what ticket a message applies to.  We recommend that you set this to your internet domain. (ex: example.com)' #loc
         },
     },
     MinimumPasswordLength => {
@@ -154,8 +157,8 @@
     OwnerEmail => {
         Widget          => '/Widgets/Form/String',
         WidgetArguments => {
-            Description => 'RT Administrator',                   #loc
-            Hints => 'The email address of a human who manages RT.',
+            Description => 'RT Administrator Email',                   #loc
+            Hints => "When RT can't handle an email message, where should it be forwarded?", #loc
         },
     },
     CommentAddress => {
@@ -174,34 +177,25 @@
 'the default addresses that will be listed in From: and Reply-To: headers of correspondence mail.' #loc
         },
     },
-    SendmailArguments => {
-        Widget          => '/Widgets/Form/String',
-        WidgetArguments => {
-            Description => 'Sendmail arguments',    #loc
-        },
-    },
-    SendmailBounceArguments => {
-        Widget          => '/Widgets/Form/String',
-        WidgetArguments => {
-            Description => 'Sendmail bounce arguments',    #loc
-        },
-    },
     SendmailPath => {
         Widget          => '/Widgets/Form/String',
         WidgetArguments => {
-            Description => 'where is sendmail command',    #loc
+            Hints => 'Where to find your sendmail binary.',    #loc
+            Description => 'Path to sendmail', #loc
         },
     },
     WebDomain => {
         Widget          => '/Widgets/Form/String',
         WidgetArguments => {
-            Description => 'domain name',                  #loc
+            Description => 'Domain name',                  #loc
+            Hints => "Don't include http://, just something like 'localhost', 'rt.example.com'", #loc
         },
     },
     WebPort => {
         Widget          => '/Widgets/Form/Integer',
         WidgetArguments => {
-            Description => 'web port',                     #loc
+            Description => 'Web port',                     #loc
+            Hints => 'which port your web server will listen to, e.g. 8080', #loc
         },
     },
 
@@ -214,9 +208,22 @@
         Widget          => '/Widgets/Form/Select',
         WidgetArguments => {
             Description => 'Timezone',                              #loc
-            Values      => [ '', DateTime::TimeZone->all_names ],
-            ValuesLabel => {
-                '' => 'System Default',                             #loc
+            Callback    => sub {
+                my $ret;
+                $ret->{Values} = ['', DateTime::TimeZone->all_names];
+
+                my $has_datetime = eval { require DateTime };
+                if ( $has_datetime ) {
+                    my $dt = DateTime->now;
+                    for my $tz ( DateTime::TimeZone->all_names ) {
+                        $dt->set_time_zone( $tz );
+                        $ret->{ValuesLabel}{$tz} =
+                            $tz . ' ' . $dt->strftime('%z');
+                    }
+                }
+                $ret->{ValuesLabel}{''} = 'System Default'; #loc
+
+                return $ret;
             },
         },
     };

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Interface/Email.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Interface/Email.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Interface/Email.pm	Mon Jul  7 16:21:51 2008
@@ -51,7 +51,7 @@
 use strict;
 use warnings;
 
-use Mail::Address;
+use Email::Address;
 use MIME::Entity;
 use RT::EmailParser;
 use File::Temp;
@@ -207,7 +207,7 @@
 
 =item From - sender's address, by default is 'CorrespondAddress';
 
-=item To - reciepient, by default is 'OwnerEmail';
+=item To - recipient, by default is 'OwnerEmail';
 
 =item Bcc - optional Bcc recipients;
 
@@ -430,7 +430,7 @@
 
         # duplicate head as we want drop Bcc field
         my $head = $args{'Entity'}->head->dup;
-        my @recipients = map $_->address, Mail::Address->parse(
+        my @recipients = map $_->address, Email::Address->parse(
             map $head->get($_), qw(To Cc Bcc)
         );
         $head->delete('Bcc');
@@ -704,7 +704,7 @@
     }
     return 0 unless @bad_recipients;
 
-    $_->{'AddressObj'} = (Mail::Address->parse( $_->{'Recipient'} ))[0]
+    $_->{'AddressObj'} = (Email::Address->parse( $_->{'Recipient'} ))[0]
         foreach @bad_recipients;
 
     foreach my $recipient ( @bad_recipients ) {
@@ -834,7 +834,7 @@
 
     my @recipients =
         map lc $_->address,
-        map Mail::Address->parse( $args{'Head'}->get( $_ ) ),
+        map Email::Address->parse( $args{'Head'}->get( $_ ) ),
         qw(To Cc);
 
     my @res;
@@ -912,7 +912,7 @@
 
     # Some broken mailers send:  ""Vincent, Jesse"" <jesse at fsck.com>. Hate
     $Addr =~ s/\"\"(.*?)\"\"/\"$1\"/g;
-    my @Addresses = Mail::Address->parse($Addr);
+    my @Addresses = Email::Address->parse($Addr);
 
     my ($AddrObj) = grep ref $_, @Addresses;
     unless ( $AddrObj ) {
@@ -941,7 +941,7 @@
     foreach my $field ( qw(To Cc Bcc) ) {
         $head->set( $field =>
             join ', ', map $_->format, grep !$skip{ lc $_->address },
-                Mail::Address->parse( $head->get( $field ) )
+                Email::Address->parse( $head->get( $field ) )
         );
     }
 }

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Interface/Web.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Interface/Web.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Interface/Web.pm	Mon Jul  7 16:21:51 2008
@@ -447,7 +447,7 @@
 
     my @temp_squelch;
     foreach my $type (qw(Requestor Cc AdminCc)) {
-        push @temp_squelch, map $_->address, Mail::Address->parse( $create_args{ $type } )
+        push @temp_squelch, map $_->address, Email::Address->parse( $create_args{ $type } )
             if grep $_ eq $type || $_ eq ($type.'s'), @{ $ARGS{'SkipNotification'} || [] };
 
     }

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Principal_Overlay.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Principal_Overlay.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Principal_Overlay.pm	Mon Jul  7 16:21:51 2008
@@ -305,7 +305,7 @@
         if $args{'EquivObjects'};
 
     if ( $self->Disabled ) {
-        $RT::Logger->error( "Disabled User #"
+        $RT::Logger->debug( "Disabled User #"
               . $self->id
               . " failed access check for "
               . $args{'Right'} );

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Record.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Record.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Record.pm	Mon Jul  7 16:21:51 2008
@@ -314,8 +314,6 @@
    }
 
     if  (UNIVERSAL::isa('errno',$id)) {
-        exit(0);
-       warn "It's here!";
         return(undef);
     }
 
@@ -1179,6 +1177,26 @@
 
 # }}}
 
+# {{{ sub FormatType
+
+=head2 FormatType
+
+Takes a Type and returns a string that is more human readable.
+
+=cut
+
+sub FormatType{
+    my $self = shift;
+    my %args = ( Type => '',
+		 @_
+	       );
+    $args{Type} =~ s/([A-Z])/" " . lc $1/ge;
+    return $args{Type};
+}
+
+
+# }}}
+
 # {{{ sub FormatLink
 
 =head2 FormatLink
@@ -1273,8 +1291,9 @@
 				     FallBack => $args{Base});
     my $targettext = $self->FormatLink(Object => $link->TargetObj,
 				       FallBack => $args{Target});
+    my $typetext = $self->FormatType(Type => $args{Type});
     my $TransString =
-      "$basetext $args{Type} $targettext.";
+      "$basetext $typetext $targettext.";
     return ( $linkid, $TransString ) ;
 }
 
@@ -1332,13 +1351,14 @@
     #it's a real link. 
 
     if ( $link->id ) {
-	my $basetext = $self->FormatLink(Object => $link->BaseObj,
-				     FallBack => $args{Base});
-	my $targettext = $self->FormatLink(Object => $link->TargetObj,
-				       FallBack => $args{Target});
+        my $basetext = $self->FormatLink(Object => $link->BaseObj,
+                                     FallBack => $args{Base});
+        my $targettext = $self->FormatLink(Object => $link->TargetObj,
+                                       FallBack => $args{Target});
+        my $typetext = $self->FormatType(Type => $args{Type});
         my $linkid = $link->id;
         $link->Delete();
-        my $TransString = "$basetext no longer $args{Type} $targettext.";
+        my $TransString = "$basetext no longer $typetext $targettext.";
         return ( 1, $TransString);
     }
 

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/SavedSearch.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/SavedSearch.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/SavedSearch.pm	Mon Jul  7 16:21:51 2008
@@ -48,7 +48,7 @@
 
 =head1 NAME
 
-  RT::SavedSearch - an API for saving and retrieving search form values.
+RT::SavedSearch - an API for saving and retrieving search form values.
 
 =head1 SYNOPSIS
 
@@ -56,12 +56,9 @@
 
 =head1 DESCRIPTION
 
-  SavedSearch is an object that can belong to either an RT::User or an
-  RT::Group.  It consists of an ID, a description, and a number of
-  search parameters.
-
-=head1 METHODS
-
+SavedSearch is an object based on L<RT::SharedSetting> that can belong
+to either an L<RT::User> or an L<RT::Group>. It consists of an ID,
+a description, and a number of search parameters.
 
 =cut
 
@@ -71,6 +68,8 @@
 use warnings;
 use base qw/RT::SharedSetting/;
 
+=head1 METHODS
+
 =head2 ObjectName
 
 An object of this class is called "search"

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/SharedSetting.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/SharedSetting.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/SharedSetting.pm	Mon Jul  7 16:21:51 2008
@@ -89,7 +89,7 @@
 =head2 Load
 
 Takes a privacy specification and a shared-setting ID.  Loads the given object
-ID if it belongs to the stated user or group. Calls the PostLoad method on
+ID if it belongs to the stated user or group. Calls the L</PostLoad> method on
 success for any further initialization. Returns a tuple of status and message,
 where status is true on success.
 
@@ -106,11 +106,15 @@
             $self->{'Id'} = $self->{'Attribute'}->Id;
             $self->{'Privacy'} = $privacy;
             $self->PostLoad();
+
+            return (0, $self->loc("Permission denied"))
+                unless $self->CurrentUserCanSee;
+
             return (1, $self->loc("Loaded [_1] [_2]", $self->ObjectName, $self->Name));
         } else {
             $RT::Logger->error("Could not load attribute " . $id
                     . " for object " . $privacy);
-            return (0, $self->loc("[_1] attribute load failure", ucfirst($self->ObjectName)));
+            return (0, $self->loc("Failed to load [_1] [_2]", $self->ObjectName, $id))
         }
     } else {
         $RT::Logger->warning("Could not load object $privacy when loading " . $self->ObjectName);
@@ -131,8 +135,10 @@
     my $id   = shift;
 
     my $attr = RT::Attribute->new($self->CurrentUser);
-    unless ($attr->LoadById($id)) {
-        return (0, $self->loc("Failed to load attribute [_1]", $id))
+    my ($ok, $msg) = $attr->LoadById($id);
+
+    if (!$ok) {
+        return (0, $self->loc("Failed to load [_1] [_2]: [_3]", $self->ObjectName, $id, $msg))
     }
 
     my $privacy = $self->_build_privacy($attr->ObjectType, $attr->ObjectId);
@@ -152,10 +158,11 @@
 
 =head2 Save
 
-Takes a privacy, a name, and any other arguments. Saves the given parameters to
-the appropriate user/group object, and loads the resulting object. Arguments
-are passed to the SaveAttribute method, which does the actual update. Returns a
-tuple of status and message, where status is true on success. Defaults are:
+Creates a new shared setting. Takes a privacy, a name, and any other arguments.
+Saves the given parameters to the appropriate user/group object, and loads the
+resulting object. Arguments are passed to the L</SaveAttribute> method, which
+does the actual update. Returns a tuple of status and message, where status is
+true on success. Defaults are:
 
   Privacy:  CurrentUser only
   Name:     "new (ObjectName)"
@@ -177,13 +184,8 @@
     return (0, $self->loc("Failed to load object for [_1]", $privacy))
         unless $object;
 
-    if ( $object->isa('RT::System') ) {
-        return (0, $self->loc("No permission to save system-wide [_1]", $self->ObjectName))
-            unless $self->CurrentUser->HasRight(
-                Object => $RT::System,
-                Right  => 'SuperUser',
-            );
-    }
+    return (0, $self->loc("Permission denied"))
+        unless $self->CurrentUserCanCreate($privacy);
 
     my ($att_id, $att_msg) = $self->SaveAttribute($object, \%args);
 
@@ -199,11 +201,19 @@
     }
 }
 
+=head2 SaveAttribute
+
+An empty method for subclassing. Called from L</Save> method.
+
+=cut
+
+sub SaveAttribute { }
+
 =head2 Update
 
 Updates the parameters of an existing shared setting. Any arguments are passed
-to the UpdateAttribute method. Returns a tuple of status and message, where
-status is true on success. 
+to the L</UpdateAttribute> method. Returns a tuple of status and message, where
+status is true on success.
 
 =cut
 
@@ -215,6 +225,9 @@
     return(0, $self->loc("Could not load [_1] attribute", $self->ObjectName))
         unless $self->{'Attribute'}->Id;
 
+    return (0, $self->loc("Permission denied"))
+        unless $self->CurrentUserCanModify;
+
     my ($status, $msg) = $self->UpdateAttribute(\%args);
 
     return (1, $self->loc("[_1] update: Nothing changed", ucfirst($self->ObjectName)))
@@ -227,6 +240,14 @@
     return ($status, $self->loc("[_1] update: [_2]", ucfirst($self->ObjectName), $msg));
 }
 
+=head2 UpdateAttribute
+
+An empty method for subclassing. Called from L</Update> method.
+
+=cut
+
+sub UpdateAttribute { }
+
 =head2 Delete
     
 Deletes the existing shared setting. Returns a tuple of status and message,
@@ -237,6 +258,9 @@
 sub Delete {
     my $self = shift;
 
+    return (0, $self->loc("Permission denied"))
+        unless $self->CurrentUserCanDelete;
+
     my ($status, $msg) = $self->{'Attribute'}->Delete;
     if ($status) {
         return (1, $self->loc("Deleted [_1]", $self->ObjectName));
@@ -295,6 +319,50 @@
     return $self->{'Attribute'}->SubValue($param);
 }
 
+=head2 IsVisibleTo Privacy
+
+Returns true if the setting is visible to all principals of the given privacy.
+This does not deal with ACLs, this only looks at membership.
+
+=cut
+
+sub IsVisibleTo {
+    my $self    = shift;
+    my $to      = shift;
+    my $privacy = $self->Privacy;
+
+    # if the privacies are the same, then they can be seen. this handles
+    # a personal setting being visible to that user.
+    return 1 if $privacy eq $to;
+
+    # If the setting is systemwide, then any user can see it.
+    return 1 if $privacy =~ /^RT::System/;
+
+    # Only privacies that are RT::System can be seen by everyone.
+    return 0 if $to =~ /^RT::System/;
+
+    # If the setting is group-wide...
+    if ($privacy =~ /^RT::Group-(\d+)$/) {
+        my $setting_group = RT::Group->new($self->CurrentUser);
+        $setting_group->Load($1);
+
+        if ($to =~ /-(\d+)$/) {
+            my $to_id = $1;
+
+            # then any principal that is a member of the setting's group can see
+            # the setting
+            return $setting_group->HasMemberRecursively($to_id);
+        }
+    }
+
+    return 0;
+}
+
+sub CurrentUserCanSee    { 1 }
+sub CurrentUserCanCreate { 1 }
+sub CurrentUserCanModify { 1 }
+sub CurrentUserCanDelete { 1 }
+
 ### Internal methods
 
 # _GetObject: helper routine to load the correct object whose parameters
@@ -306,6 +374,12 @@
 
     my ($obj_type, $obj_id) = split(/\-/, ($privacy || ''));
 
+    unless ($obj_type && $obj_id) {
+        $privacy = '(undef)' if !defined($privacy);
+        $RT::Logger->debug("Invalid privacy string '$privacy'");
+        return undef;
+    }
+
     my $object = $self->_load_privacy_object($obj_type, $obj_id);
 
     unless (ref($object) eq $obj_type) {

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Template_Overlay.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Template_Overlay.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Template_Overlay.pm	Mon Jul  7 16:21:51 2008
@@ -272,6 +272,11 @@
 Returns L<MIME::Entity> object parsed using L</Parse> method. Returns
 undef if last call to L</Parse> failed or never be called.
 
+Note that content of the template is UTF-8, but L<MIME::Parser> is not
+good at handling it and all data of the entity should be treated as
+octets and converted to perl strings using Encode::decode_utf8 or
+something else.
+
 =cut
 
 sub MIMEObj {
@@ -351,7 +356,9 @@
 
     ### Should we forgive normally-fatal errors?
     $parser->ignore_errors(1);
-    $self->{'MIMEObj'} = eval { $parser->parse_data($content) };
+    # MIME::Parser doesn't play well with perl strings
+    utf8::encode($content);
+    $self->{'MIMEObj'} = eval { $parser->parse_data( \$content ) };
     if ( my $error = $@ || $parser->last_error ) {
         $RT::Logger->error( "$error" );
         return ( 0, $error );
@@ -425,8 +432,6 @@
     );
     return ( undef, $self->loc('Template parsing error') ) if $is_broken;
 
-    # MIME::Parser has problems dealing with high-bit utf8 data.
-    Encode::_utf8_off($retval);
     return ($retval);
 }
 

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Test.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Test.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Test.pm	Mon Jul  7 16:21:51 2008
@@ -54,6 +54,7 @@
 use Test::More;
 use Socket;
 use File::Temp;
+use File::Spec;
 my $config;
 our ($existing_server, $port, $dbname);
 my $mailsent;
@@ -115,6 +116,7 @@
 use RT::Interface::Web::Standalone;
 use Test::HTTP::Server::Simple;
 use Test::WWW::Mechanize;
+use File::Path 'mkpath';
 
 unshift @RT::Interface::Web::Standalone::ISA, 'Test::HTTP::Server::Simple';
 
@@ -167,16 +169,28 @@
                         min_level => $screen_logger->min_level,
                         action => { error     => 'warn',
                                     critical  => 'warn' } ) );
+
+    # XXX: this should really be totally isolated environment so we
+    # can parallelize and be sane
+    mkpath [ $RT::MasonSessionDir ]
+        if RT->Config->Get('DatabaseType');
+
 }
 
 my $created_new_db;    # have we created new db? mainly for parallel testing
 
+sub db_requires_no_dba {
+    my $self = shift;
+    my $db_type = RT->Config->Get('DatabaseType');
+    return 1 if $db_type eq 'SQLite';
+}
+
 sub bootstrap_db {
     my $self = shift;
     my %args = @_;
 
    unless (defined $ENV{'RT_DBA_USER'} && defined $ENV{'RT_DBA_PASSWORD'}) {
-	BAIL_OUT("RT_DBA_USER and RT_DBA_PASSWORD environment variables need to be set in order to run 'make test'");
+	BAIL_OUT("RT_DBA_USER and RT_DBA_PASSWORD environment variables need to be set in order to run 'make test'") unless $self->db_requires_no_dba;
    }
     # bootstrap with dba cred
     my $dbh = _get_dbh(RT::Handle->SystemDSN,
@@ -531,13 +545,14 @@
     return ($status, $id);
 }
 
+my $mailbox_catcher = File::Temp->new( OPEN => 0, CLEANUP => 0 )->filename;
 sub set_mail_catcher {
     my $self = shift;
     my $catcher = sub {
         my $MIME = shift;
 
-        open my $handle, '>>', 't/mailbox'
-            or die "Unable to open t/mailbox for appending: $!";
+        open my $handle, '>>', $mailbox_catcher
+            or die "Unable to open $mailbox_catcher for appending: $!";
 
         $MIME->print($handle);
         print $handle "%% split me! %%\n";
@@ -549,7 +564,11 @@
 sub fetch_caught_mails {
     my $self = shift;
     return grep /\S/, split /%% split me! %%/,
-        RT::Test->file_content( 't/mailbox', 'unlink' => 1, noexist => 1 );
+        RT::Test->file_content( $mailbox_catcher, 'unlink' => 1, noexist => 1 );
+}
+
+sub clean_caught_mails {
+    unlink $mailbox_catcher;
 }
 
 sub file_content {
@@ -557,7 +576,7 @@
     my $path = shift;
     my %args = @_;
 
-    $path = File::Spec->catfile( @$path ) if ref $path;
+    $path = File::Spec->catfile( @$path ) if ref $path eq 'ARRAY';
 
     diag "reading content of '$path'" if $ENV{'TEST_VERBOSE'};
 
@@ -584,6 +603,48 @@
     return undef;
 }
 
+=head2 get_relocatable_dir
+
+Takes a path relative to the location of the test file that is being
+run and returns a path that takes the invocation path into account.
+
+e.g. RT::Test::get_relocatable_dir(File::Spec->updir(), 'data', 'emails')
+
+=cut
+
+sub get_relocatable_dir {
+    (my $volume, my $directories, my $file) = File::Spec->splitpath($0);
+    if (File::Spec->file_name_is_absolute($directories)) {
+        return File::Spec->catdir($directories, @_);
+    } else {
+        return File::Spec->catdir(File::Spec->curdir(), $directories, @_);
+    }
+}
+
+=head2 get_relocatable_file
+
+Same as get_relocatable_dir, but takes a file and a path instead
+of just a path.
+
+e.g. RT::Test::get_relocatable_file('test-email',
+        (File::Spec->updir(), 'data', 'emails'))
+
+=cut
+
+sub get_relocatable_file {
+    my $file = shift;
+    return File::Spec->catfile(get_relocatable_dir(@_), $file);
+}
+
+sub get_abs_relocatable_dir {
+    (my $volume, my $directories, my $file) = File::Spec->splitpath($0);
+    if (File::Spec->file_name_is_absolute($directories)) {
+        return File::Spec->catdir($directories, @_);
+    } else {
+        return File::Spec->catdir(Cwd->getcwd(), $directories, @_);
+    }
+}
+
 sub import_gnupg_key {
     my $self = shift;
     my $key = shift;
@@ -591,9 +652,16 @@
 
     $key =~ s/\@/-at-/g;
     $key .= ".$type.key";
+
     require RT::Crypt::GnuPG;
+    (my $volume, my $directories, my $file) = File::Spec->splitpath($0);
+    my $keys_dir = File::Spec->catdir( File::Spec->curdir(), $directories,
+        File::Spec->updir(), qw(data gnupg keys) );
+    # this is a bit hackish; calling it from somewhere that's not a subdir
+    # of t/ will fail
     return RT::Crypt::GnuPG::ImportKey(
-        RT::Test->file_content([qw(t data gnupg keys), $key])
+        RT::Test->file_content([get_relocatable_dir(File::Spec->updir(), 'data',
+        'gnupg', 'keys'), $key])
     );
 }
 

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Ticket_Overlay.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Ticket_Overlay.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Ticket_Overlay.pm	Mon Jul  7 16:21:51 2008
@@ -430,7 +430,7 @@
             if ( $watcher =~ /^\d+$/ ) {
                 push @{ $args{$type} }, $watcher;
             } else {
-                my @addresses = Mail::Address->parse( $watcher );
+                my @addresses = Email::Address->parse( $watcher );
                 foreach my $address( @addresses ) {
                     my $user = RT::User->new( $RT::SystemUser );
                     my ($uid, $msg) = $user->LoadOrCreateByEmail( $address );
@@ -1037,7 +1037,7 @@
     return $self->_AddWatcher( %args )
         if $self->CurrentUserHasRight('ModifyTicket');
     if ( $args{'Email'} ) {
-        my ($addr) = Mail::Address->parse( $args{'Email'} );
+        my ($addr) = Email::Address->parse( $args{'Email'} );
         return (0, $self->loc("Couldn't parse address from '[_1]' string", $args{'Email'} ))
             unless $addr;
 
@@ -1601,7 +1601,7 @@
 =head2 TransactionAddresses
 
 Returns a composite hashref of the results of L<RT::Transaction/Addresses> for all this ticket's Create, Comment or Correspond transactions.
-The keys are C<To>, C<Cc> and C<Bcc>. The values are lists of C<Mail::Address> objects.
+The keys are C<To>, C<Cc> and C<Bcc>. The values are lists of C<Email::Address> objects.
 
 NOTE: For performance reasons, this method might want to skip transactions and go straight for attachments. But to make that work right, we're going to need to go and walk around the access control in Attachment.pm's sub _Value.
 
@@ -2119,7 +2119,7 @@
 
             my $addresses = join ', ', (
                 map { RT::User->CanonicalizeEmailAddress( $_->address ) }
-                    Mail::Address->parse( $args{ $type . 'MessageTo' } ) );
+                    Email::Address->parse( $args{ $type . 'MessageTo' } ) );
             $args{'MIMEObj'}->head->add( 'RT-Send-' . $type, $addresses );
         }
     }

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Tickets_Overlay.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Tickets_Overlay.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Tickets_Overlay.pm	Mon Jul  7 16:21:51 2008
@@ -132,7 +132,9 @@
     Cc               => [ 'WATCHERFIELD'    => 'Cc', ],
     AdminCc          => [ 'WATCHERFIELD'    => 'AdminCc', ],
     Watcher          => [ 'WATCHERFIELD', ],
-
+    QueueCc          => [ 'WATCHERFIELD'    => 'Cc'      => 'Queue', ],
+    QueueAdminCc     => [ 'WATCHERFIELD'    => 'AdminCc' => 'Queue', ],
+    QueueWatcher     => [ 'WATCHERFIELD'    => undef     => 'Queue', ],
     CustomFieldValue => [ 'CUSTOMFIELD', ],
     CustomField      => [ 'CUSTOMFIELD', ],
     CF               => [ 'CUSTOMFIELD', ],
@@ -735,6 +737,7 @@
 
     my $meta = $FIELD_METADATA{ $field };
     my $type = $meta->[1] || '';
+    my $class = $meta->[2] || 'Ticket';
 
     # Owner was ENUM field, so "Owner = 'xxx'" allowed user to
     # search by id and Name at the same time, this is workaround
@@ -752,7 +755,7 @@
     }
     $rest{SUBKEY} ||= 'EmailAddress';
 
-    my $groups = $self->_RoleGroupsJoin( Type => $type );
+    my $groups = $self->_RoleGroupsJoin( Type => $type, Class => $class );
 
     $self->_OpenParen;
     if ( $op =~ /^IS(?: NOT)?$/ ) {
@@ -890,14 +893,15 @@
 
 sub _RoleGroupsJoin {
     my $self = shift;
-    my %args = (New => 0, Type => '', @_);
-    return $self->{'_sql_role_group_aliases'}{ $args{'Type'} }
-        if $self->{'_sql_role_group_aliases'}{ $args{'Type'} } && !$args{'New'};
+    my %args = (New => 0, Class => 'Ticket', Type => '', @_);
+    return $self->{'_sql_role_group_aliases'}{ $args{'Class'} .'-'. $args{'Type'} }
+        if $self->{'_sql_role_group_aliases'}{ $args{'Class'} .'-'. $args{'Type'} }
+           && !$args{'New'};
 
     # we always have watcher groups for ticket, so we use INNER join
     my $groups = $self->Join(
         ALIAS1          => 'main',
-        FIELD1          => 'id',
+        FIELD1          => $args{'Class'} eq 'Queue'? 'Queue': 'id',
         TABLE2          => 'Groups',
         FIELD2          => 'Instance',
         ENTRYAGGREGATOR => 'AND',
@@ -906,7 +910,7 @@
         LEFTJOIN        => $groups,
         ALIAS           => $groups,
         FIELD           => 'Domain',
-        VALUE           => 'RT::Ticket-Role',
+        VALUE           => 'RT::'. $args{'Class'} .'-Role',
     );
     $self->SUPER::Limit(
         LEFTJOIN        => $groups,
@@ -915,7 +919,7 @@
         VALUE           => $args{'Type'},
     ) if $args{'Type'};
 
-    $self->{'_sql_role_group_aliases'}{ $args{'Type'} } = $groups
+    $self->{'_sql_role_group_aliases'}{ $args{'Class'} .'-'. $args{'Type'} } = $groups
         unless $args{'New'};
 
     return $groups;
@@ -2591,22 +2595,7 @@
         # of being revoked, it's ok if queue rights allow
         # ShowTicket.  It seems need another query, but we have
         # rights cache in Principal::HasRight.
-        elsif ($Ticket->QueueObj->CurrentUserHasRight('ShowTicket')
-            || $Ticket->CurrentUserHasRight('ShowTicket') )
-        {
-            return ($Ticket);
-        }
-
-        if ( $Ticket->__Value('Status') eq 'deleted' ) {
-            return ( $self->Next() );
-        }
-
-        # Since Ticket could be granted with more rights instead
-        # of being revoked, it's ok if queue rights allow
-        # ShowTicket.  It seems need another query, but we have
-        # rights cache in Principal::HasRight.
-        elsif ($Ticket->QueueObj->CurrentUserHasRight('ShowTicket')
-            || $Ticket->CurrentUserHasRight('ShowTicket') )
+        elsif ( $Ticket->CurrentUserHasRight('ShowTicket') )
         {
             return ($Ticket);
         }

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/Tickets_Overlay_SQL.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/Tickets_Overlay_SQL.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/Tickets_Overlay_SQL.pm	Mon Jul  7 16:21:51 2008
@@ -198,6 +198,9 @@
         }
         die "Unknown field '$key' in '$string'" unless $class;
 
+        # replace __CurrentUser__ with id
+        $value = $self->CurrentUser->id if $value eq '__CurrentUser__';
+
 
         unless( $dispatch{ $class } ) {
             die "No dispatch method for class '$class'"

Modified: rt/3.8/branches/3.8.0-releng/lib/RT/User_Overlay.pm
==============================================================================
--- rt/3.8/branches/3.8.0-releng/lib/RT/User_Overlay.pm	(original)
+++ rt/3.8/branches/3.8.0-releng/lib/RT/User_Overlay.pm	Mon Jul  7 16:21:51 2008
@@ -464,7 +464,7 @@
 =head2 LoadOrCreateByEmail ADDRESS
 
 Attempts to find a user who has the provided email address. If that fails, creates an unprivileged user with
-the provided email address and loads them. Address can be provided either as L<Mail::Address> object
+the provided email address and loads them. Address can be provided either as L<Email::Address> object
 or string which is parsed using the module.
 
 Returns a tuple of the user's id and a status message.
@@ -477,7 +477,7 @@
     my $email = shift;
 
     my ($message, $name);
-    if ( UNIVERSAL::isa( $email => 'Mail::Address' ) ) {
+    if ( UNIVERSAL::isa( $email => 'Email::Address' ) ) {
         ($email, $name) = ($email->address, $email->phrase);
     } else {
         ($email, $name) = RT::Interface::Email::ParseAddressFromHeader( $email );
@@ -606,7 +606,7 @@
 }
 
 
-=head2 Password related functions
+=head2 Password and authentication related functions
 
 =head3 SetRandomPassword
 
@@ -999,7 +999,10 @@
 
 =head3 AuthToken
 
-Returns an authentication string associated with the user.
+Returns an authentication string associated with the user. This
+string can be used to generate passwordless URLs to integrate
+RT with services and programms like callendar managers, rss
+readers and other.
 
 =cut
 
@@ -1032,6 +1035,41 @@
     return $self->SetAttribute( Name => "AuthToken", Content => $token );
 }
 
+=head3 GenerateAuthString
+
+Takes a string and returns back a hex hash string. Later you can use
+this pair to make sure it's generated by this user using L</ValidateAuthString>
+
+=cut
+
+sub GenerateAuthString {
+    my $self = shift;
+    my $protect = shift;
+
+    my $str = $self->AuthToken . $protect;
+    utf8::encode($str);
+
+    return substr(Digest::MD5::md5_hex($str),0,16);
+}
+
+=head3 ValidateAuthString
+
+Takes auth string and protected string. Returns true is protected string
+has been protected by user's L</AuthToken>. See also L</GenerateAuthString>.
+
+=cut
+
+sub ValidateAuthString {
+    my $self = shift;
+    my $auth_string = shift;
+    my $protected = shift;
+
+    my $str = $self->AuthToken . $protected;
+    utf8::encode( $str );
+
+    return $auth_string eq substr(Digest::MD5::md5_hex($str),0,16);
+}
+
 =head2 SetDisabled
 
 Toggles the user's disabled flag.

Modified: rt/3.8/branches/3.8.0-releng/sbin/extract-message-catalog
==============================================================================
--- rt/3.8/branches/3.8.0-releng/sbin/extract-message-catalog	(original)
+++ rt/3.8/branches/3.8.0-releng/sbin/extract-message-catalog	Mon Jul  7 16:21:51 2008
@@ -155,7 +155,7 @@
     # Comment-based mark: "..." # loc
     $line = 1;
     pos($_) = 0;
-    while (m/\G.*?($RE{delimited}{-delim=>q{'"}}{-keep})[\}\)\],]*\s*\#\s*loc\s*$/smg) {
+    while (m/\G.*?($RE{delimited}{-delim=>q{'"}}{-keep})[\}\)\],;]*\s*\#\s*loc\s*$/smg) {
 	my $str = substr($1, 1, -1);
 	$line += ( () = ( $& =~ /\n/g ) );    # cryptocontext!
 	$str  =~ s/\\'/\'/g;
@@ -165,7 +165,7 @@
     # Comment-based pair mark: "..." => "..." # loc_pair
     $line = 1;
     pos($_) = 0;
-    while (m/\G.*?(\w+)\s*=>\s*($RE{delimited}{-delim=>q{'"}}{-keep})[\}\)\],]*\s*\#\s*loc_pair\s*$/smg) {
+    while (m/\G.*?(\w+)\s*=>\s*($RE{delimited}{-delim=>q{'"}}{-keep})[\}\)\],;]*\s*\#\s*loc_pair\s*$/smg) {
 	my $key = $1;
 	my $val = substr($2, 1, -1);
 	$line += ( () = ( $& =~ /\n/g ) );    # cryptocontext!
@@ -218,7 +218,7 @@
     my $is_english = ( $lang =~ /^en(?:[^A-Za-z]|$)/ );
 
     foreach my $str ( sort keys %{$FILECAT} ) {
-        $Lexicon{$str} ||= '';;
+        $Lexicon{$str} ||= '';
     }
     foreach ( sort keys %Lexicon ) {
         my $f = join ( ' ', sort map $_->[0].":".$_->[1], @{ $FILECAT->{$_} } );
@@ -251,7 +251,7 @@
             $var =~ s/\s*$//;
             $out .= "#. ($var)\n" unless $seen{$var}++;
         }
-        $out .= "msgid \"$_\"\nmsgstr \"$Lexicon{$_}\"\n\n";
+        $out .= 'msgid ' . fmt($_) . "msgstr \"$Lexicon{$_}\"\n\n";
     }
 
     open PO, ">$file" or die $!;
@@ -267,6 +267,23 @@
     return $text;
 }
 
+sub fmt {
+    my $str = shift;
+    return "\"$str\"\n" unless $str =~ /\n/;
+
+    my $multi_line = ($str =~ /\n(?!\z)/);
+    $str =~ s/\n/\\n"\n"/g;
+
+    if ($str =~ /\n"$/) {
+        chop $str;
+    }
+    else {
+        $str .= "\"\n";
+    }
+    return $multi_line ? qq(""\n"$str) : qq("$str);
+}
+
+
 __END__
 # Local variables:
 # c-indentation-style: bsd

Modified: rt/3.8/branches/3.8.0-releng/sbin/rt-email-dashboards.in
==============================================================================
--- rt/3.8/branches/3.8.0-releng/sbin/rt-email-dashboards.in	(original)
+++ rt/3.8/branches/3.8.0-releng/sbin/rt-email-dashboards.in	Mon Jul  7 16:21:51 2008
@@ -103,7 +103,7 @@
 # Read in the options
 my %opts;
 GetOptions( \%opts,
-    "help", "dryrun", "verbose", "vverbose", "epoch=i", "all", "skip-acl"
+    "help", "dryrun", "verbose", "debug", "epoch=i", "all", "skip-acl"
 );
 
 if ($opts{'help'}) {
@@ -114,8 +114,8 @@
 }
 
 # helper functions
-sub verbose  { print loc(@_), "\n" if $opts{verbose} || $opts{vverbose}; 1 }
-sub vverbose { print loc(@_), "\n" if $opts{vverbose}; 1 }
+sub verbose  { print loc(@_), "\n" if $opts{verbose} || $opts{verbose}; 1 }
+sub debug    { print loc(@_), "\n" if $opts{debug}; 1 }
 sub error    { $RT::Logger->error(loc(@_)); verbose(@_); 1 }
 sub warning  { $RT::Logger->warning(loc(@_)); verbose(@_); 1 }
 
@@ -123,38 +123,31 @@
 verbose "Using time [_1]", scalar localtime($now);
 
 my $from = get_from();
-vverbose "Sending email from [_1]", $from;
+debug "Sending email from [_1]", $from;
 
 # look through each user for her subscriptions
 my $Users = RT::Users->new($RT::SystemUser);
+$Users->LimitToPrivileged;
+
 while (defined(my $user = $Users->Next)) {
     if ($user->PrincipalObj->Disabled) {
-        vverbose "Skipping over "
-               . $user->Name
-               . " due to having a disabled account.";
+        debug "Skipping over "
+            . $user->Name
+            . " due to having a disabled account.";
         next;
     }
 
     unless (email_of($user)) {
-        vverbose "Skipping over "
-               . $user->Name
-               . " due to lack of EmailAddress.";
+        debug "Skipping over "
+            . $user->Name
+            . " due to lack of EmailAddress.";
         next;
     }
 
-    if (!$opts{"skip-acl"}) {
-        unless ($user->HasRight(Right => 'SubscribeDashboard', Object => $RT::System)) {
-            vverbose "Skipping over "
-                   . $user->Name
-                   . " due to lack of SubscribeDashboard right.";
-            next;
-        }
-    }
-
-    my ($hour, $dow, $dom) = hour_dow_dom_in($user->Timezone || 'UTC');
+    my ($hour, $dow, $dom) = hour_dow_dom_in($user->Timezone || RT->Config->Get('Timezone'));
     $hour .= ':00';
-    vverbose "Checking [_1]'s subscriptions: hour [_2], dow [_3], dom [_4]",
-             $user->Name, $hour, $dow, $dom;
+    debug "Checking [_1]'s subscriptions: hour [_2], dow [_3], dom [_4]",
+          $user->Name, $hour, $dow, $dom;
 
     my $currentuser = RT::CurrentUser->new;
     $currentuser->LoadByName($user->Name);
@@ -164,7 +157,9 @@
     for my $subscription ($user->Attributes->Named('Subscription')) {
 
         if (!$opts{all}) {
-            vverbose "Checking against subscription with frequency [_1], hour [_2], dow [_3], dom [_4]", $subscription->SubValue('Frequency'), $subscription->SubValue('Hour'), $subscription->SubValue('Dow'), $subscription->SubValue('Dom');
+            debug "Checking against subscription with frequency [_1], hour [_2], dow [_3], dom [_4]", $subscription->SubValue('Frequency'), $subscription->SubValue('Hour'), $subscription->SubValue('Dow'), $subscription->SubValue('Dom');
+
+            next if $subscription->SubValue('Frequency') eq 'never';
 
             # correct hour?
             next if $subscription->SubValue('Hour') ne $hour;
@@ -192,14 +187,42 @@
 
     my $dashboard = RT::Dashboard->new($currentuser);
 
-    $dashboard->LoadById($subscription->SubValue('DashboardId'))
-        or die loc(
-            "Unable to load dashboard [_1] of subscription [_2] for user [_3]",
+    my ($ok, $msg) = $dashboard->LoadById($subscription->SubValue('DashboardId'));
+
+    # failed to load dashboard. perhaps it was deleted or it changed privacy
+    if (!$ok) {
+        warning "Unable to load dashboard [_1] of subscription [_2] for user [_3]: [_4]",
             $subscription->SubValue('DashboardId'),
             $subscription->Id,
-            $currentuser->Name
+            $currentuser->Name,
+            $msg;
+
+        my $ok = RT::Interface::Email::SendEmailUsingTemplate(
+            From      => $from,
+            To        => email_of($currentuser),
+            Template  => 'Error: Missing dashboard',
+            Arguments => {
+                SubscriptionObj => $subscription,
+            },
         );
 
+        # only delete the subscription if the email looks like it went through
+        if ($ok) {
+            my ($deleted, $msg) = $subscription->Delete();
+            if ($deleted) {
+                verbose("Deleted an obsolete subscription: [_1]", $msg);
+            }
+            else {
+                warning("Unable to delete an obsolete subscription: [_1]", $msg);
+            }
+        }
+        else {
+            warning("Unable to notify [_1] of an obsolete subscription", $currentuser->Name);
+        }
+
+        return;
+    }
+
     verbose 'Creating dashboard "[_1]" for user "[_2]":',
             $dashboard->Name,
             $currentuser->Name;
@@ -215,24 +238,25 @@
     $HTML::Mason::Commands::session{CurrentUser} = $currentuser;
     my $contents = run_component(
         '/Dashboards/Render.html',
-        id => $dashboard->Id,
+        id      => $dashboard->Id,
+        Preview => 0,
     );
 
     for (@{ RT->Config->Get('EmailDashboardRemove') || [] }) {
         $contents =~ s/$_//g;
     }
 
-    vverbose "Got [_1] characters of output.", length $contents;
+    debug "Got [_1] characters of output.", length $contents;
 
     $contents = HTML::RewriteAttributes::Links->rewrite(
         $contents,
         RT->Config->Get('WebURL') . '/Dashboards/Render.html',
     );
 
-    send_mail($currentuser, $dashboard, $subscription, $contents);
+    email_dashboard($currentuser, $dashboard, $subscription, $contents);
 }
 
-sub send_mail {
+sub email_dashboard {
     my ($currentuser, $dashboard, $subscription, $content) = @_;
 
     verbose 'Sending dashboard "[_1]" to user [_2] <[_3]>',
@@ -240,11 +264,10 @@
             $currentuser->Name,
             email_of($currentuser);
 
-    my $subject = $currentuser->loc(
-        (RT->Config->Get('DashboardSubject') || "RT [_2] Dashboard: [_1]"),
-        $dashboard->Name,
+    my $subject = sprintf '[%s] ' .  RT->Config->Get('DashboardSubject'),
+        RT->Config->Get('rtname'),
         ucfirst($subscription->SubValue('Frequency')),
-    );
+        $dashboard->Name;
 
     my $entity = build_email(
         $content, $from, email_of($currentuser), $subject,
@@ -254,9 +277,9 @@
         Entity => $entity,
     );
 
-    vverbose "Done sending dashboard to [_1] <[_2]>",
-             $currentuser->Name, email_of($currentuser)
-                 and return if $ok;
+    debug "Done sending dashboard to [_1] <[_2]>",
+          $currentuser->Name, email_of($currentuser)
+              and return if $ok;
 
     error 'Failed to email dashboard to user [_1] <[_2]>',
           $currentuser->Name, email_of($currentuser);
@@ -324,7 +347,7 @@
 }
 
 sub get_from {
-    RT->Config->Get('DashboardAddress') || RT->Config->Get('CorrespondAddress')
+    RT->Config->Get('DashboardAddress') || RT->Config->Get('OwnerEmail')
 }
 
 {
@@ -333,7 +356,7 @@
 
     sub mason {
         unless ($mason) {
-            vverbose "Creating Mason object.";
+            debug "Creating Mason object.";
             $mason = HTML::Mason::Interp->new(
                 RT::Interface::Web::Handler->DefaultHandlerArgs,
                 out_method => \$outbuf,
@@ -378,31 +401,47 @@
 }
 
 sub get_resource {
-    my $uri = shift;
+    my $uri = URI->new(shift);
     my ($content, $filename, $mimetype, $encoding);
 
-    # strip out RT::WebURL
-    $uri =~ s/^\Q$RT::WebURL//;
+    verbose "Getting resource [_1]", $uri;
+
+    # strip out the equivalent of WebURL, so we start at the correct /
+    my $path = $uri->path;
+    my $webpath = RT->Config->Get('WebPath');
+    $path =~ s/^\Q$webpath//;
 
     # add a leading / if needed
-    $uri = "/$uri"
-        unless $uri =~ m{^/};
+    $path = "/$path"
+        unless $path =~ m{^/};
 
+    # grab the query arguments
     my %args;
-    if ($uri =~ s/\?(.*)//) {
-        for (split /&/, ($1||'')) {
-            my ($k, $v) = /^(.*?)=(.*)$/
-                or die "Unable to parse query parameter '$_'";
+    for (split /&/, ($uri->query||'')) {
+        my ($k, $v) = /^(.*?)=(.*)$/
+            or die "Unable to parse query parameter '$_'";
 
-            for ($k, $v) { s/%(..)/chr hex $1/ge }
+        for ($k, $v) { s/%(..)/chr hex $1/ge }
+
+        # no value yet, simple key=value
+        if (!exists $args{$k}) {
             $args{$k} = $v;
         }
+        # already have key=value, need to upgrade it to key=[value1, value2]
+        elsif (!ref($args{$k})) {
+            $args{$k} = [$args{$k}, $v];
+        }
+        # already key=[value1, value2], just add the new value
+        else {
+            push @{ $args{$k} }, $v;
+        }
     }
 
-    $content = run_component($uri, %args);
+    debug "Running component '[_1]'", $path;
+    $content = run_component($path, %args);
 
-    $uri =~ s{^(.*/)(.*?)$}{$1};
-    $filename = $2;
+    # guess at the filename from the component name
+    $filename = $2 if $path =~ m{^.*/(.*?)$};
 
     # the rest of this was taken from Email::MIME::CreateHTML::Resolver::LWP
     ($mimetype, $encoding) = MIME::Types::by_suffix($filename);
@@ -419,6 +458,13 @@
     $mimetype ||= 'application/octet-stream';
     $encoding ||= 'base64';
 
+    debug "Resource [_1]: length=[_2] filename='[_3]' mimetype='[_4]', encoding='[_5]'",
+        $uri,
+        length($content),
+        $filename,
+        $mimetype,
+        $encoding;
+
     return ($content, $filename, $mimetype, $encoding);
 }
 
@@ -484,7 +530,7 @@
 Print out some tracing information (such as which dashboards are being
 generated and sent out)
 
-=item --vverbose
+=item --debug
 
 Print out more tracing information (such as each user and subscription that is
 being considered)
@@ -494,10 +540,6 @@
 Disable checking of whether each subscription should be sent right now (should
 only be used with --dryrun)
 
-=item --skip-acl
-
-Skip SubscribeDashboard access control checks
-
 =back
 
 =cut

Modified: rt/3.8/branches/3.8.0-releng/sbin/rt-email-digest.in
==============================================================================
--- rt/3.8/branches/3.8.0-releng/sbin/rt-email-digest.in	(original)
+++ rt/3.8/branches/3.8.0-releng/sbin/rt-email-digest.in	Mon Jul  7 16:21:51 2008
@@ -49,7 +49,30 @@
 use warnings;
 use strict;
 
-use lib qw( @RT_LIB_PATH@ );
+BEGIN {
+    require File::Spec;
+    my @libs = ("@RT_LIB_PATH@", "@LOCAL_LIB_PATH@");
+    my $bin_path;
+
+    for my $lib (@libs) {
+        unless ( File::Spec->file_name_is_absolute($lib) ) {
+            unless ($bin_path) {
+                if ( File::Spec->file_name_is_absolute(__FILE__) ) {
+                    $bin_path = ( File::Spec->splitpath(__FILE__) )[1];
+                }
+                else {
+                    require FindBin;
+                    no warnings "once";
+                    $bin_path = $FindBin::Bin;
+                }
+            }
+            $lib = File::Spec->catfile( $bin_path, File::Spec->updir, $lib );
+        }
+        unshift @INC, $lib;
+    }
+
+}
+
 use Date::Format qw( strftime );
 use Getopt::Long;
 use RT;

Modified: rt/3.8/branches/3.8.0-releng/sbin/rt-test-dependencies.in
==============================================================================
--- rt/3.8/branches/3.8.0-releng/sbin/rt-test-dependencies.in	(original)
+++ rt/3.8/branches/3.8.0-releng/sbin/rt-test-dependencies.in	Mon Jul  7 16:21:51 2008
@@ -221,6 +221,7 @@
 Locale::Maketext::Fuzzy
 MIME::Entity 5.425
 Mail::Mailer 1.57
+Email::Address
 Text::Wrapper 
 Time::ParseDate
 Time::HiRes 
@@ -237,6 +238,7 @@
 Encode 2.13
 CSS::Squish 0.06
 File::Glob
+Devel::StackTrace 1.19
 .
 
 $deps{'MASON'} = [ text_to_hash( << '.') ];
@@ -295,25 +297,25 @@
 .
 
 $deps{'FASTCGI'} = [ text_to_hash( << '.') ];
-CGI 3.35
+CGI 3.38
 FCGI
 CGI::Fast 
 .
 
 $deps{'SPEEDYCGI'} = [ text_to_hash( << '.') ];
-CGI 3.35
+CGI 3.38
 CGI::SpeedyCGI
 .
 
 
 $deps{'MODPERL1'} = [ text_to_hash( << '.') ];
-CGI 3.35
+CGI 3.38
 Apache::Request
 Apache::DBI 0.92
 .
 
 $deps{'MODPERL2'} = [ text_to_hash( << '.') ];
-CGI 3.35
+CGI 3.38
 Apache::DBI
 HTML::Mason 1.36
 .

Added: rt/3.8/branches/3.8.0-releng/sbin/tweak-template-locstring
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/sbin/tweak-template-locstring	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,8 @@
+#!/usr/bin/perl -w
+use strict;
+# run this script with:
+# perl -0pi sbin/tweak-template-locstring `ack -f share/html -G 'html$'`
+s!\<\&\|\/l([^&]*)\&\>[\n\s]+(.*?)[\n\s]*\<\/\&\>!;my ($arg, $x) = ($1, $2); $x =~ s/\s*\n\s*/ /g;"<&|/l$arg&>$x</&>"!smge;
+
+
+1;

Modified: rt/3.8/branches/3.8.0-releng/share/html/Admin/CustomFields/Modify.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Admin/CustomFields/Modify.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Admin/CustomFields/Modify.html	Mon Jul  7 16:21:51 2008
@@ -145,6 +145,8 @@
             LookupType    => $LookupType,
             Description   => $Description,
             Pattern       => $Pattern,
+            LinkValueTo   => $LinkValueTo,
+            IncludeContentForValue => $IncludeContentForValue,
         );
         $m->comp( "/Elements/Error", Why => loc( "Could not create CustomField", $msg ) ) unless $val;
         push @results, $msg;
@@ -227,4 +229,6 @@
 $SetEnabled => undef
 $Enabled => 0
 $ValuesClass => 'RT::CustomFieldValues'
+$LinkValueTo => undef
+$IncludeContentForValue => undef
 </%ARGS>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Admin/Global/Scrip.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Admin/Global/Scrip.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Admin/Global/Scrip.html	Mon Jul  7 16:21:51 2008
@@ -74,7 +74,7 @@
 my ($title, $current_subtab);
 if ( $id ) {
     $current_subtab = "Admin/Global/Scrip.html?id=$id&Queue=0";
-    $title = loc("Modify a scrip which applies to all queues");
+    $title = loc("Modify a scrip that applies to all queues");
     $subtabs->{"C"} = {
         title => loc('Scrip #[_1]', $id),
         path  => "Admin/Global/Scrip.html?id=$id&Queue=0",

Modified: rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--Attachment
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--Attachment	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--Attachment	Mon Jul  7 16:21:51 2008
@@ -48,6 +48,6 @@
 <%ARGS>
 $Object => undef
 </%ARGS>
-<a href="<% RT->Config->Get('WebBaseURL') %>/Ticket/Attachment/<% $Object->TransactionId %>/<% $Object->id %>/">
+<a href="<% RT->Config->Get('WebURL') %>/Ticket/Attachment/<% $Object->TransactionId %>/<% $Object->id %>/">
 Attachment(id:<% $Object->id %>, FileName: <% $Object->Filename || '(no value)' %>)
 </a>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--Ticket
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--Ticket	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--Ticket	Mon Jul  7 16:21:51 2008
@@ -48,6 +48,6 @@
 <%ARGS>
 $Object => undef
 </%ARGS>
-<a href="<% RT->Config->Get('WebBaseURL') %>/Ticket/Display.html?id=<% $Object->id %>">
+<a href="<% RT->Config->Get('WebURL') %>/Ticket/Display.html?id=<% $Object->id %>">
 Ticket(id:<% $Object->id %>, Subject: <% substr($Object->Subject, 0, 30) %>...)
 </a>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--User
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--User	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Admin/Tools/Shredder/Elements/Object/RT--User	Mon Jul  7 16:21:51 2008
@@ -48,6 +48,6 @@
 <%ARGS>
 $Object => undef
 </%ARGS>
-<a href="<% RT->Config->Get('WebBaseURL') %>/Admin/Users/Modify.html?id=<% $Object->id %>">
+<a href="<% RT->Config->Get('WebURL') %>/Admin/Users/Modify.html?id=<% $Object->id %>">
 User(id:<% $Object->id %>, Name: <% $Object->Name %>)
 </a>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Admin/Users/MyRT.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Admin/Users/MyRT.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Admin/Users/MyRT.html	Mon Jul  7 16:21:51 2008
@@ -80,7 +80,7 @@
 
 if ($ARGS{Reset}) {
     my ($ok, $msg) = $UserObj->SetPreferences('HomepageSettings', {});
-    push @actions, $ok ? loc('Preferences saved for user [_2].', $UserObj->Name) : $msg;
+    push @actions, $ok ? loc('Preferences saved for user [_1].', $UserObj->Name) : $msg;
 }
 
 my ($default_portlets) = RT::System->new($session{'CurrentUser'})->Attributes->Named('HomepageSettings');

Modified: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/DashboardsForObject
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/DashboardsForObject	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/DashboardsForObject	Mon Jul  7 16:21:51 2008
@@ -49,21 +49,33 @@
 $Object => undef
 </%args>
 <%init>
-# Returns an array of dashboards associated on $Object
+# Returns a hash of dashboards associated on $Object
 
 use RT::Dashboard;
-my @dashboards;
+my %dashboards;
 my $privacy = RT::Dashboard->_build_privacy($Object);
 
 while (my $attr = $Object->Attributes->Next) {
     if ($attr->Name =~ /^Dashboard\b/) {
         my $dashboard = RT::Dashboard->new($session{'CurrentUser'});
-        my ($ok) = $dashboard->Load($privacy, $attr->id);
-        next if !$ok;
+        my ($ok, $msg) = $dashboard->Load($privacy, $attr->id);
 
-        push @dashboards, $dashboard;
+        if (!$ok) {
+            $RT::Logger->debug("Unable to load dashboard $ok (privacy $privacy): $msg");
+            next;
+        }
+
+        if ($Object->isa('RT::System')) {
+            push @{ $dashboards{system} }, $dashboard;
+        }
+        elsif ($Object->isa('RT::User')) {
+            push @{ $dashboards{personal} }, $dashboard;
+        }
+        elsif ($Object->isa('RT::Group')) {
+            push @{ $dashboards{group}{$Object->Name} }, $dashboard;
+        }
     }
 }
-return @dashboards;
+return \%dashboards;
 </%init>
 

Added: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/DashboardsForObjects
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/DashboardsForObjects	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,68 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%# 
+%# COPYRIGHT:
+%# 
+%# This software is Copyright (c) 1996-2008 Best Practical Solutions, LLC
+%#                                          <jesse at bestpractical.com>
+%# 
+%# (Except where explicitly superseded by other copyright notices)
+%# 
+%# 
+%# LICENSE:
+%# 
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%# 
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+%# General Public License for more details.
+%# 
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%# 
+%# 
+%# CONTRIBUTION SUBMISSION POLICY:
+%# 
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%# 
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%# 
+%# END BPS TAGGED BLOCK }}}
+<%args>
+ at Objects
+$dashboards => {}
+</%args>
+<%init>
+# Returns a hash of dashboards associated with @Objects
+
+for my $object (@Objects) {
+    my $new_dashboards = $m->comp("/Dashboards/Elements/DashboardsForObject", Object => $object);
+
+    push @{ $dashboards->{$_} }, @{ $new_dashboards->{$_} || [] }
+        for qw/personal system/;
+
+    push @{ $dashboards->{group}{$_} }, @{ $new_dashboards->{group}{$_} }
+        for keys %{ $new_dashboards->{group} || {} };
+}
+
+return $dashboards;
+</%init>
+
+

Modified: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/ShowDashboards
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/ShowDashboards	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/ShowDashboards	Mon Jul  7 16:21:51 2008
@@ -46,29 +46,55 @@
 %# 
 %# END BPS TAGGED BLOCK }}}
 <&| /Widgets/TitleBox, title => loc("[_1] Dashboards", $Type) &>
+<& SELF:table, %ARGS &>
+</&>
+<%ARGS>
+$Type    => undef
+</%ARGS>
+
+<%METHOD table>
+<%ARGS>
+$Dashboards => undef
+$Verbose => 1
+</%ARGS>
+<%INIT>
+# map each subscription to a dashboard ID
+my %subscription_for;
+
+for my $attr ($session{'CurrentUser'}->UserObj->Attributes->Named('Subscription')) {
+    $subscription_for{$attr->SubValue('DashboardId')} = $attr;
+}
+</%INIT>
 
 % if (@$Dashboards == 0) {
-    <p><% loc("No dashboards.") %></p>
+%   if ($Verbose) {
+        <p><% loc("No dashboards.") %></p>
+%   }
 % } else {
     <table class="collection-as-table">
         <tr class="collection-as-table">
+% if ($Verbose) {
             <th class="collection-as-table"><% loc("#") %></th>
+% }
             <th class="collection-as-table"><% loc("Name") %></th>
             <th class="collection-as-table"><% loc("Subscription") %></th>
         </tr>
 
 %   my $i = 0;
-%   for my $dashboard (sort {$b->Id <=> $a->Id} @$Dashboards) {
-%       my $url = sprintf '%s/Dashboards/Modify.html?id=%d',
+%   for my $dashboard (@$Dashboards) {
+%       my $url = sprintf '%s/Dashboards/%d/%s',
 %                 RT->Config->Get('WebPath'),
-%                 $dashboard->Id;
+%                 $dashboard->Id,
+%                 $dashboard->Name;
 
         <tr class="collection-as-table <% ++$i % 2 ? 'oddline' : 'evenline' %>">
+% if ($Verbose) {
             <td class="collection-as-table">
                 <a href="<% $url %>">
                     <% $dashboard->Id %>
                 </a>
             </td>
+% }
             <td class="collection-as-table">
                 <a href="<% $url %>">
                     <% $dashboard->Name %>
@@ -82,19 +108,5 @@
 
     </table>
 % }
-
-</&>
-
-<%ARGS>
-$Type    => "Personal"
-$Dashboards => undef
-</%ARGS>
-<%INIT>
-# map each subscription to a dashboard ID
-my %subscription_for;
-
-for my $attr ($session{'CurrentUser'}->UserObj->Attributes->Named('Subscription')) {
-    $subscription_for{$attr->SubValue('DashboardId')} = $attr;
-}
-</%INIT>
+</%METHOD>
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/Tabs
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/Tabs	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Elements/Tabs	Mon Jul  7 16:21:51 2008
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<& /User/Elements/Tabs,
+<& /Tools/Elements/Tabs,
     subtabs => $tabs,
     current_tab => 'Dashboards/index.html',
     current_subtab => $current_subtab,
@@ -87,7 +87,11 @@
     };
 
     delete $tabs->{"this"}{"subtabs"}{"c_Subscription"}
-        if !$session{'CurrentUser'}->HasRight(Right => 'SubscribeDashboard', Object => $RT::System);
+        unless $DashboardObj->CurrentUserCanSubscribe;
+
+    $tabs->{"this"}{"subtabs"}{"z_Preview"}{path} = $real_subtab
+        if $real_subtab =~ /Render/
+        || $real_subtab =~ /Dashboard\/\d+/;
 
     $current_subtab = $modify;
 }
@@ -95,7 +99,10 @@
 $tabs->{"A"} = { title => loc('Select dashboard'),
                  path  => "Dashboards/index.html" };
 
-if ($session{'CurrentUser'}->HasRight(Right => 'ModifyDashboard', Object => $RT::System)) {
+my $dashboard = RT::Dashboard->new($session{'CurrentUser'});
+my @objects = $dashboard->_PrivacyObjects(Create => 1);
+
+if (@objects) {
     $tabs->{"B"} = { title     => loc('New dashboard'),
                      path      => "Dashboards/Modify.html?Create=1",
                      separator => 1 };

Modified: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Modify.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Modify.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Modify.html	Mon Jul  7 16:21:51 2008
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, title => $title &>
+<& /Elements/Header, Title => $title &>
 <& /Dashboards/Elements/Tabs,
     current_subtab => $current_subtab,
     Title => $title,
@@ -73,6 +73,9 @@
 </td></tr>
 </table>
 <& /Elements/Submit, Name => 'Save', Label => loc('Save Changes') &>
+% if ($Dashboard->Id && $can_delete) {
+<& /Elements/Submit, Name => 'Delete', Label => loc('Delete') &>
+% }
 </form>
 <%INIT>
 
@@ -80,13 +83,15 @@
 my ($title, @results);
 my $tried_create = 0;
 
+# user went directly to Modify.html
+$Create = 1 if !$id;
+
 use RT::Dashboard;
 
 my $Dashboard = RT::Dashboard->new($session{'CurrentUser'});
-my @privacies = $Dashboard->_PrivacyObjects;
+my @privacies = $Dashboard->_PrivacyObjects(($Create ? 'Create' : 'Modify') => 1);
 
-# user went directly to Modify.html
-$Create = 1 if !$id;
+Abort(loc("Permission denied")) if @privacies == 0;
 
 if ($Create) {
     $current_subtab = 'Dashboards/Modify.html?Create=1';
@@ -94,28 +99,23 @@
 }
 else {
     if ($id eq 'new') {
-        my ($val, $msg);
         $tried_create = 1;
 
-        if ($session{'CurrentUser'}->HasRight(Right => 'ModifyDashboard', Object => $RT::System)) {
-            ($val, $msg) = $Dashboard->Save(
-                Name                  => $ARGS{'Name'},
-                Privacy               => $ARGS{'Privacy'},
-            );
-            push @results, $msg;
-        }
-        else {
-            $msg = "No permission to create dashboards";
-        }
+        my ($val, $msg) = $Dashboard->Save(
+            Name    => $ARGS{'Name'},
+            Privacy => $ARGS{'Privacy'},
+        );
 
         if (!$val) {
             Abort(loc("Dashboard could not be created: [_1]", $msg));
         }
+
+        push @results, $msg;
         $id = $Dashboard->Id;
     }
     else {
-        my ($ok) = $Dashboard->LoadById($id);
-        $ok || Abort('Could not load dashboard');
+        my ($ok, $msg) = $Dashboard->LoadById($id);
+        $ok || Abort($msg);
     }
 
     if ($id) {
@@ -131,14 +131,8 @@
 }
 
 if (!$Create && !$tried_create && $id && $ARGS{'Save'}) {
-    my ($ok, $msg);
-    if ($session{'CurrentUser'}->HasRight(Right => 'ModifyDashboard', Object => $RT::System)) {
-        ($ok, $msg) = $Dashboard->Update(Privacy  => $ARGS{'Privacy'},
-                                         Name     => $ARGS{'Name'});
-    }
-    else {
-        $msg = "No permission to update dashboards";
-    }
+    my ($ok, $msg) = $Dashboard->Update(Privacy  => $ARGS{'Privacy'},
+                                        Name     => $ARGS{'Name'});
 
     if ($ok) {
         push @results, loc("Dashboard updated");
@@ -148,11 +142,23 @@
     }
 
 }
+
+my $can_delete = $Dashboard->CurrentUserCanDelete;
+
+if (!$Create && !$tried_create && $id && $ARGS{'Delete'}) {
+    my ($ok, $msg) = $Dashboard->Delete();
+    $ok || Abort(loc("Couldn't delete dashboard [_1]: [_2]", $id, $msg));
+
+    # put the user back into a useful place with a message
+    RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."Dashboards/index.html?Deleted=$id");
+
+}
 </%INIT>
 
 <%ARGS>
 $Create => undef
 $Name => undef
 $id => '' unless defined $id
+$Delete => undef
 </%ARGS>
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Queries.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Queries.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Queries.html	Mon Jul  7 16:21:51 2008
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, title => $title &>
+<& /Elements/Header, Title => $title &>
 <& /Dashboards/Elements/Tabs,
     current_subtab => $current_subtab,
     Title => $title,
@@ -83,8 +83,8 @@
 
 use RT::Dashboard;
 my $Dashboard = new RT::Dashboard($session{'CurrentUser'});
-my ($ok) = $Dashboard->LoadById($id);
-$ok || Abort("Couldn't load dashboard.");
+my ($ok, $msg) = $Dashboard->LoadById($id);
+$ok || Abort(loc("Couldn't load dashboard [_1]: [_2]", $id, $msg));
 my $title = loc("Modify the queries of dashboard [_1]", $Dashboard->Name);
 
 my %desc_of;
@@ -134,13 +134,7 @@
             [ reverse(split /-/, $_, 2), $desc_of{$_} ]
         } @{ $self->{Current} } ];
 
-        my ($ok, $msg);
-        if ($session{'CurrentUser'}->HasRight(Right => 'ModifyDashboard', Object => $RT::System)) {
-            ($ok, $msg) = $Dashboard->Update(Searches => $searches);
-        }
-        else {
-            $msg = "No permission to update dashboards";
-        }
+        my ($ok, $msg) = $Dashboard->Update(Searches => $searches);
 
         if ($ok) {
             push @results, loc("Dashboard updated");

Modified: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Render.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Render.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Render.html	Mon Jul  7 16:21:51 2008
@@ -45,11 +45,14 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, title => $title &>
+<& /Elements/Header, Title => $title, JavaScript => $Preview, ShowBar => $Preview  &>
+
+% if ($Preview) {
 <& /Dashboards/Elements/Tabs,
     current_subtab => $current_subtab,
     Title => $title,
     DashboardObj => $DashboardObj &>
+% }
 
 <table border="0" width="100%">
 <tr valign="top">
@@ -58,7 +61,12 @@
 % foreach ($DashboardObj->SearchIds) {
 %   my ($type, $id, $desc) = @$_;
 %   my @for_showsearch = $DashboardObj->SearchPrivacy(@$_);
-    <& /Elements/ShowSearch, @for_showsearch, Override => { Rows => $rows }, IgnoreMissing => 1 &>
+    <& /Elements/ShowSearch,
+        @for_showsearch,
+        Override => { Rows => $rows },
+        IgnoreMissing => 1,
+        hideable => $Preview,
+    &>
 % }
 </td>
 
@@ -71,8 +79,8 @@
 
 use RT::Dashboard;
 my $DashboardObj = RT::Dashboard->new($session{'CurrentUser'});
-my ($ok) = $DashboardObj->LoadById($id);
-Abort('Could not load dashboard') if !$ok;
+my ($ok, $msg) = $DashboardObj->LoadById($id);
+Abort(loc("Couldn't load dashboard [_1]: [_2]", $id, $msg)) if !$ok;
 
 my $SubscriptionObj = RT::Attribute->new($session{'CurrentUser'});
 my $Loaded = 0;
@@ -91,5 +99,6 @@
 </%INIT>
 <%ARGS>
 $id => undef
+$Preview => 1
 </%ARGS>
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Subscription.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Subscription.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/Subscription.html	Mon Jul  7 16:21:51 2008
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, title => $title &>
+<& /Elements/Header, Title => $title &>
 <& /Dashboards/Elements/Tabs,
     current_subtab => $current_subtab,
     Title => $title,
@@ -62,16 +62,16 @@
 <&| /Widgets/TitleBox, title => loc('Dashboard') &>
 
 <table>
-<tr><td align="right">
+<tr><td class="label">
 <&|/l&>Dashboard</&>:
-</td><td>
+</td><td class="value">
 <% $DashboardObj->Name %>
 </td></tr>
 
-<tr><td align="right">
+<tr><td class="label">
 <&|/l&>Queries</&>:
-</td><td>
-% my @searches = $DashboardObj->Searches;
+</td><td class="value">
+% my @searches = grep { defined } $DashboardObj->Searches;
 % if (!@searches) {
 (none)
 % } else {
@@ -97,24 +97,9 @@
 <&| /Widgets/TitleBox, title => loc('Subscription') &>
 
 <table>
-<tr><td align="right">
-<&|/l&>Hour</&>:
-</td><td>
-<select name="Hour">
-% for my $hour (0..23) {
-%     my $formatted = sprintf '%02d:00', $hour;
-%     my $selected = $formatted eq $fields{'Hour'}
-%                  ? 'selected="selected"'
-%                  : '';
-
-    <option value="<% $formatted %>" <%$selected%>><% $formatted %></option>
-% }
-</select>
-(in <%$timezone%>)
-</td></tr>
-<tr><td align="right">
+<tr><td class="label">
 <&|/l&>Frequency</&>:
-</td><td>
+</td><td class="value">
 <input type="radio" name="Frequency" value="daily" <% $fields{'Frequency'} eq 'daily' ? 'checked="checked"' : "" %>>
     daily
 </input><br />
@@ -135,11 +120,31 @@
     <option value="<% $dom %>" <% $fields{'Dom'} == $dom ? 'selected="selected"' : '' %>><% loc($dom) %></option>
 %   }
 </select>
+<br />
+
+<input type="radio" name="Frequency" value="never" <% $fields{'Frequency'} eq 'never' ? 'checked="checked"' : "" %>>
+    never
+</input>
 
 </td></tr>
-<tr><td align="right">
+<tr><td class="label">
+<&|/l&>Hour</&>:
+</td><td class="value">
+<select name="Hour">
+% for my $hour (0..23) {
+%     my $formatted = sprintf '%02d:00', $hour;
+%     my $selected = $formatted eq $fields{'Hour'}
+%                  ? 'selected="selected"'
+%                  : '';
+
+    <option value="<% $formatted %>" <%$selected%>><% $formatted %></option>
+% }
+</select>
+(in <%$timezone%>)
+</td></tr>
+<tr><td class="label">
 <&|/l&>Rows</&>:
-</td><td>
+</td><td class="value">
 <select name="Rows">
 %   for my $rows (1, 2, 5, 10, 15, 20, 25, 50, 75, 100, 0) {
     <option value="<% $rows %>" <% $fields{'Rows'} eq $rows ? 'selected="selected"' : '' %>><% loc($rows || 'Unlimited') %></option>
@@ -154,8 +159,6 @@
 
 % if ($SubscriptionObj->Id) {
     <& /Elements/Submit, Name => "Save", Label => loc('Save Changes') &>
-    <br />
-    <& /Elements/Submit, Name => "Unsubscribe", Label => loc('Unsubscribe') &>
 % } else {
     <& /Elements/Submit, Name => "Save", Label => loc('Subscribe') &>
 % }
@@ -168,7 +171,7 @@
 my ($title, @results);
 my ($val, $msg);
 my $Loaded = 0;
-my $timezone = eval{$session{'CurrentUser'}->UserObj->Timezone} || 'UTC';
+my $timezone = $session{'CurrentUser'}->UserObj->Timezone || RT->Config->Get('Timezone');
 
 use RT::Dashboard;
 my $DashboardObj = RT::Dashboard->new($session{'CurrentUser'});
@@ -187,15 +190,7 @@
              : $ARGS{'DashboardId'};
 
 ($val, $msg) = $DashboardObj->LoadById($DashboardId);
-$val || Abort("Couldn't load dashboard $DashboardId: $msg.");
-
-if ($SubscriptionObj->Id && $Unsubscribe) {
-    my ($ok, $msg) = $SubscriptionObj->Delete();
-    $ok || Abort("Couldn't unsubscribe to dashboard $DashboardId.");
-
-    # put the user back into a useful place with a message
-    RT::Interface::Web::Redirect(RT->Config->Get('WebURL')."Dashboards/index.html?Unsubscribe=$DashboardId");
-}
+$val || Abort(loc("Couldn't load dashboard [_1]: [_2].", $DashboardId, $msg));
 
 my %fields = (
     DashboardId => $DashboardId,
@@ -238,18 +233,16 @@
     }
     # create
     else {
-        if ($session{'CurrentUser'}->HasRight(Right => 'SubscribeDashboard', Object => $RT::System)) {
-            ($val, $msg) = $SubscriptionObj->Create(
-                Name        => 'Subscription',
-                Description => 'Subscription to dashboard ' . $DashboardId,
-                ContentType => 'storable',
-                Object      => $session{'CurrentUser'}->UserObj,
-                Content     => \%fields,
-            );
-        }
-        else {
-            ($val, $msg) = (0, "No permission to subscribe to dashboards");
-        }
+        Abort(loc("Unable to subscribe to dashboard [_1]: Permission denied", $DashboardId))
+            unless $DashboardObj->CurrentUserCanSubscribe;
+
+        my ($val, $msg) = $SubscriptionObj->Create(
+            Name        => 'Subscription',
+            Description => 'Subscription to dashboard ' . $DashboardId,
+            ContentType => 'storable',
+            Object      => $session{'CurrentUser'}->UserObj,
+            Content     => \%fields,
+        );
         if ($val) {
             push @results, loc("Subscribed to dashboard [_1]", $DashboardObj->Name);
             push @results, loc("Warning: you have no email address set, so you will not receive this dashboard until you have it set")
@@ -276,6 +269,5 @@
 $Dow         => undef
 $Dom         => undef
 $Rows        => undef
-$Unsubscribe => undef
 </%ARGS>
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Dashboards/index.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Dashboards/index.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Dashboards/index.html	Mon Jul  7 16:21:51 2008
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, title => $title &>
+<& /Elements/Header, Title => $title &>
 <& /Dashboards/Elements/Tabs,
     current_subtab => 'Dashboards/index.html',
     Title => $title &>
@@ -54,59 +54,35 @@
 
 <& /Dashboards/Elements/ShowDashboards,
     Type       => "Personal",
-    Dashboards => \@personal_dashboards,
+    Dashboards => [sort { $a->Id <=> $b->Id } @{ $dashboards->{personal} || [] }],
 &>
 
 <& /Dashboards/Elements/ShowDashboards,
     Type => "System",
-    Dashboards => \@system_dashboards,
+    Dashboards => [sort { $a->Id <=> $b->Id } @{ $dashboards->{system} || [] }],
 &>
 
-% for my $group (sort keys %group_dashboards) {
+% for my $group (sort keys %{ $dashboards->{group} || {} }) {
     <& /Dashboards/Elements/ShowDashboards,
         Type       => $group,
-        Dashboards => $group_dashboards{$group},
+        Dashboards => [sort { $a->Id <=> $b->Id } @{ $dashboards->{group}{$group} || [] }],
     &>
 % }
 
 <%INIT>
 my $title = loc("Dashboards");
-my @personal_dashboards;
-my @system_dashboards;
-my %group_dashboards;
-
 use RT::Dashboard;
 
-my @objs = RT::Dashboard->new($session{CurrentUser})->_PrivacyObjects(ShowSystem => 1);
-
-for my $object (@objs) {
-    for my $dashboard ($m->comp("/Dashboards/Elements/DashboardsForObject", Object => $object)) {
-        if ($object->isa('RT::System')) {
-            push @system_dashboards, $dashboard;
-        }
-        elsif ($object->isa('RT::User')) {
-            push @personal_dashboards, $dashboard;
-        }
-        else {
-            push @{ $group_dashboards{$object->Name} }, $dashboard;
-        }
-    }
-}
+my @objs = RT::Dashboard->new($session{CurrentUser})->_PrivacyObjects;
+my $dashboards = $m->comp("/Dashboards/Elements/DashboardsForObjects", Objects => \@objs);
 
 my @actions;
-if (defined $Unsubscribe) {
-    my $Dashboard = RT::Dashboard->new($session{'CurrentUser'});
-    $Dashboard->LoadById($Unsubscribe);
-    if ($Dashboard->Id) {
-        push @actions, loc("Unsubscribed to dashboard [_1]", $Dashboard->Name);
-    }
-    else {
-        push @actions, loc("Unable to unsubscribe to dashboard [_1]", $Unsubscribe);
-    }
+if (defined $Deleted) {
+    push @actions, loc("Deleted dashboard [_1]", $Deleted);
 }
 
 </%INIT>
 <%ARGS>
-$Unsubscribe => undef
+$Deleted => undef
 </%ARGS>
 

Added: rt/3.8/branches/3.8.0-releng/share/html/Elements/Dashboards
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/Dashboards	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,73 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%# 
+%# COPYRIGHT:
+%# 
+%# This software is Copyright (c) 1996-2008 Best Practical Solutions, LLC
+%#                                          <jesse at bestpractical.com>
+%# 
+%# (Except where explicitly superseded by other copyright notices)
+%# 
+%# 
+%# LICENSE:
+%# 
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%# 
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+%# General Public License for more details.
+%# 
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%# 
+%# 
+%# CONTRIBUTION SUBMISSION POLICY:
+%# 
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%# 
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%# 
+%# END BPS TAGGED BLOCK }}}
+<div class="dashboards">
+<&|/Widgets/TitleBox, title => loc("Dashboards"), bodyclass => "",
+   titleright => loc("Edit"), titleright_href => RT->Config->Get('WebPath').'/Dashboards' &>
+
+<& /Dashboards/Elements/ShowDashboards:table,
+    Dashboards => \@dashboards,
+    Verbose => 0,
+&>
+</&>
+</div>
+<%INIT>
+use RT::Dashboard;
+
+my @objs = RT::Dashboard->new($session{CurrentUser})->_PrivacyObjects(ShowSystem => 1);
+my $dashboard_map = $m->comp("/Dashboards/Elements/DashboardsForObjects", Objects => \@objs);
+
+my @dashboards = (
+    (sort { $a->Id <=> $b->Id } @{ $dashboard_map->{personal} || [] }),
+    (sort { $a->Id <=> $b->Id } @{ $dashboard_map->{system}   || [] }),
+
+    map { sort { $a->Id <=> $b->Id } @{ $dashboard_map->{group}{$_} } }
+        keys %{ $dashboard_map->{group} || {} },
+);
+
+</%INIT>
+

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/EditCustomField
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/EditCustomField	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/EditCustomField	Mon Jul  7 16:21:51 2008
@@ -57,7 +57,7 @@
 my $Values;
 if ( $Object && $Object->id ) {
     $Values = $Object->CustomFieldValues( $CustomField->id );
-    $Values->Columns( qw( id CustomField ObjectType ObjectId Disabled Content ContentType ContentEncoding ) );
+    $Values->Columns( qw( id CustomField ObjectType ObjectId Disabled Content ContentType ContentEncoding SortOrder Creator Created LastUpdatedBy LastUpdated ) );
     $NamePrefix ||= join('-', 'Object', ref($Object), $Object->Id, 'CustomField', '');
 } elsif (not $Default) {
     my %TOP = $m->request_args;

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/EditCustomFieldSelect
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/EditCustomFieldSelect	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/EditCustomFieldSelect	Mon Jul  7 16:21:51 2008
@@ -83,6 +83,11 @@
 
 <%METHOD options>
 % @Default = grep defined && length, @Default;
+% # $Values->HasEntry is too slow here
+% if ( !@Default && $Values ) {
+%     @Default = map $_->Content, @{$Values->ItemsArrayRef};
+% }
+% $_ = lc $_ foreach @Default;
 % my $selected;
 % my $CFVs = $CustomField->Values;
 % my @levels;
@@ -107,8 +112,7 @@
 %           push @levels, $level;
 %       }
         <option value="<% $name %>"
-%       if ( ( grep $_ eq $name, @Default )
-%            || ( $Values && $Values->HasEntry( $name ) ) )
+%       if ( grep $_ eq lc $name, @Default )
 %       {
 %           $$SelectedRef = 1;
             selected="selected"

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/Header
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/Header	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/Header	Mon Jul  7 16:21:51 2008
@@ -69,7 +69,10 @@
     <link rel="alternate" href="<%$RSSAutoDiscovery%>" type="application/rss+xml" title="RSS RT Search" />
 % }
 
+% if ($JavaScript) {
 <& HeaderJavascript, focus => $Focus, onload => $onload &>
+% }
+
 % my $stylesheet_plugin = "/NoAuth/css/". RT->Config->Get( 'WebDefaultStylesheet', $session{'CurrentUser'} )."/InHeader";
 % if ($m->comp_exists($stylesheet_plugin) ) {
 <& $stylesheet_plugin &>
@@ -127,4 +130,5 @@
 $RSSAutoDiscovery => undef
 $onload => undef
 $LinkRel => undef
+$JavaScript => 1
 </%ARGS>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/RT__Ticket/ColumnMap
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/RT__Ticket/ColumnMap	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/RT__Ticket/ColumnMap	Mon Jul  7 16:21:51 2008
@@ -75,6 +75,11 @@
 };
 
 $COLUMN_MAP = {
+    Queue => {
+        attribute => 'Queue',
+        title     => 'Queue id',
+        value     => sub { return $_[0]->Queue }
+    },
     QueueName => {
         attribute => 'Queue',
         title     => 'Queue',

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/SelectOwner
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/SelectOwner	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/SelectOwner	Mon Jul  7 16:21:51 2008
@@ -50,14 +50,16 @@
 <option value=""<% !$Default ? qq[ selected="selected"] : '' |n %>><%$DefaultLabel%></option>
 %}
 % $Default = 0 unless defined $Default && $Default =~ /^\d+$/;
-%foreach my $User ( @users)  {
+% my @formatednames = sort {lc $a->[1] cmp lc $b->[1]} map {[$_, $m->scomp('/Elements/ShowUser', User => $_)]} @users;
+%foreach my $UserRef ( @formatednames)  {
+%my $User = $UserRef->[0];
 <option <% ( $User->Id == $Default) ? qq[ selected="selected"] : '' |n %>
 %if ($ValueAttribute eq 'id') {
     value="<%$User->id%>"
 %} elsif ($ValueAttribute eq 'Name') {
     value="<%$User->Name%>"
 %}
-><& /Elements/ShowUser, User => $User &></option>
+><% $UserRef->[1] |n %></option>
 %}
 </select>
 <%INIT>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/SelectTimezone
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/SelectTimezone	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/SelectTimezone	Mon Jul  7 16:21:51 2008
@@ -47,8 +47,21 @@
 %# END BPS TAGGED BLOCK }}}
 <%ONCE>
 my $HAS_DATETIME_TZ = eval { require DateTime::TimeZone };
-my @names;
- at names = DateTime::TimeZone->all_names if $HAS_DATETIME_TZ;
+my $HAS_DATETIME = eval { require DateTime };
+
+my (@names, %label);
+if ( $HAS_DATETIME_TZ ) {
+    @names = DateTime::TimeZone->all_names;
+}
+
+if ( $HAS_DATETIME ) {
+    my $dt = DateTime->now;
+    for ( @names ) {
+        $dt->set_time_zone( $_ );
+        $label{$_} = $_ . ' ' . $dt->strftime('%z');
+    }
+}
+
 </%ONCE>
 % unless ( $HAS_DATETIME_TZ && @names ) {
 <input type="text" name="<% $Name %>" value="<% $Default %>" />
@@ -58,7 +71,8 @@
 <option value=""><&|/l&>System Default</&></option>
 % }
 % foreach my $tz (@names) {
-<option value="<% $tz %>" <% ($Default||'') eq $tz? 'selected="selected"' :'' |n %> ><% $tz %></option>
+<option value="<% $tz %>" <% ($Default||'') eq $tz? 'selected="selected"' :''
+ |n %> ><% $label{$tz} || $tz %></option>
 % }
 </select>
 % }

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowSearch
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowSearch	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowSearch	Mon Jul  7 16:21:51 2008
@@ -49,8 +49,9 @@
     title => loc($search->Description, $ProcessedSearchArg->{'Rows'}),
     title_href => $query_link_url.$QueryString,
     titleright => $customize ? loc('Edit') : '',
-    titleright_href => $customize &>
-<& $query_display_component, %$ProcessedSearchArg, ShowNavigation => 0, Class => 'RT::Tickets' &>
+    titleright_href => $customize,
+    hideable => $hideable &>
+<& $query_display_component, hideable => $hideable, %$ProcessedSearchArg, ShowNavigation => 0, Class => 'RT::Tickets' &>
 </&>
 <%init>
 my $search;
@@ -58,7 +59,7 @@
 my $SearchArg;
 my $customize;
 my $query_display_component = '/Elements/CollectionList';
-my $query_link_url = 'Search/Results.html';
+my $query_link_url = RT->Config->Get('WebURL').'Search/Results.html';
 
 if ($SavedSearch) {
     my ( $container_object, $search_id ) = _parse_saved_search($SavedSearch);
@@ -77,7 +78,7 @@
         # XXX: dispatch to different handler here
         $query_display_component
             = '/Search/Elements/' . $SearchArg->{SearchType};
-        $query_link_url = "Search/$SearchArg->{SearchType}.html";
+        $query_link_url = RT->Config->Get('WebURL') . "/Search/$SearchArg->{SearchType}.html";
     } else {
         $customize = RT->Config->Get('WebPath') . '/Search/Build.html?'
             . $m->comp( '/Elements/QueryString',
@@ -115,7 +116,6 @@
 );
 
 foreach ( $SearchArg, $ProcessedSearchArg ) {
-    $_->{'Query'}  =~ s/__CurrentUser__/$session{'CurrentUser'}->Id/ge;
     $_->{'Format'} =~ s/__(Web(?:Path|Base|BaseURL))__/scalar RT->Config->Get($1)/ge;
     $_->{'Format'} =~ s/__loc\(["']?(\w+)["']?\)__/loc("$1")/ge;
     if ( $_->{'Query'} =~ /__Bookmarks__/ ) {
@@ -133,8 +133,9 @@
 
 </%init>
 <%ARGS>
-$Name        => undef
-$SavedSearch => undef
-%Override    => ()
+$Name          => undef
+$SavedSearch   => undef
+%Override      => ()
 $IgnoreMissing => undef
+$hideable      => 1
 </%ARGS>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowUser
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowUser	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowUser	Mon Jul  7 16:21:51 2008
@@ -48,7 +48,7 @@
 %# Released under the terms of version 2 of the GNU Public License
 <%INIT>
 # $User is an RT::User object
-# $Address is Mail::Address object
+# $Address is Email::Address object
 if ( !$User && $Address ) {
     $User = RT::User->new( $session{'CurrentUser'} );
     $User->LoadByEmail( $Address->address );

Modified: rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowUserVerbose
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowUserVerbose	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Elements/ShowUserVerbose	Mon Jul  7 16:21:51 2008
@@ -46,24 +46,26 @@
 %# 
 %# END BPS TAGGED BLOCK }}}
 %# Released under the terms of version 2 of the GNU Public License
-<% $Address->format %>\
+<%$Address->format%>\
 <%INIT>
 my ($phrase, $address, $comment);
 
 if ($User) {
-$address = $User->EmailAddress;
-$phrase = $User->RealName
-    if $User->RealName && lc $User->RealName ne lc $address;
-$comment = $User->Name if lc $User->Name ne lc $address;
- $Address = Mail::Address->new( $phrase, $address, $comment );
-} 
-
+    $address = $User->EmailAddress;
+    $phrase  = $User->RealName
+      if $User->RealName && lc $User->RealName ne lc $address;
+    $comment = $User->Name if lc $User->Name ne lc $address;
+    $comment = "($comment)" if defined $comment and length $comment;
+    $Address = Email::Address->new( $phrase, $address, $comment );
+}
 
 $Address->comment('') if $comment && lc $Address->user eq lc $comment;
-if ( $phrase and my ($l, $r) = ($phrase =~ /^(\w+) (\w+)$/) ) {
-    $Address->phrase('') if $Address->user =~ /^\Q$l\E.\Q$r\E$/
-                        || $Address->user =~ /^\Q$r\E.\Q$l\E$/; 
+if ( $phrase and my ( $l, $r ) = ( $phrase =~ /^(\w+) (\w+)$/ ) ) {
+    $Address->phrase('')
+      if $Address->user =~ /^\Q$l\E.\Q$r\E$/
+      || $Address->user =~ /^\Q$r\E.\Q$l\E$/;
 }
+
 </%INIT>
 <%ARGS>
 $User => undef

Modified: rt/3.8/branches/3.8.0-releng/share/html/Install/Basics.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Install/Basics.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/Basics.html	Mon Jul  7 16:21:51 2008
@@ -45,25 +45,28 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<&| Elements/Wrapper, Title => loc('Step 3 of 7: Customize Basics') &> 
+<&| Elements/Wrapper, Title => loc('Step [_1] of [_2]: ', 3, 7) . loc('Customize Basics') &> 
 
-<& /Elements/ListActions, actions => \@results &>
+<& Elements/Errors, Errors => \@errors &>
+
+<p>
+<&|/l&>These configuration options cover some of the basics needed to get RT up and running.  We need to know the name of your RT installation and the domain name where RT will live.  You will also need to set a password for your defauly administrative user.</&>
+</p>
 
 <form method="post">
 <& /Widgets/BulkEdit, Types => \@Types,Meta => $RT::Installer->{Meta},
     CurrentValue => RT::Installer->CurrentValues(@Types) &>
 
 <input type="hidden" name="Run" value="1">
-<& /Elements/Submit, Label => loc('Next: Customize Email Addresses'), Back => 1,
-    BackLabel => loc('Back: Customize Database Details') &>
+<& /Elements/Submit, Label => loc('Next: ') . loc('Customize Email Configuration'),Back => 1, BackLabel => loc('Back: ' ) . loc( 'Customize Database Details') &>
 </form>
 </&>
 
 
 <%init>
-my @results;
+my @errors;
 
-my @Types = qw/rtname WebDomain WebPort Timezone Password/;
+my @Types = qw/rtname WebDomain WebPort Password/;
 
 if ( $Run ) {
 
@@ -71,10 +74,12 @@
             Store => $RT::Installer->{InstallConfig},
             Meta => $RT::Installer->{Meta} );
     
-    for ( qw/WebPort/ ) {
-        if ( $ARGS{$_} && $ARGS{$_} !~ /^\d+$/ ) {
-            push @results, "Invalid $_: it should be a number";
-        }
+    if ( $ARGS{WebPort} && $ARGS{WebPort} !~ /^\d+$/ ) {
+        push @errors, loc("Invalid [_1]: it should be a number", 'WebPort');
+    }
+
+    unless ( $ARGS{Password} ) {
+        push @errors, loc("You must enter an Administrative password");
     }
 
     if ( $Back ) {
@@ -82,9 +87,9 @@
 'Install/DatabaseDetails.html');
     }
 
-    unless ( @results ) {
+    unless ( @errors ) {
         RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
-'Install/Emails.html');
+'Install/Sendmail.html');
     }
 }
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Install/DatabaseDetails.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Install/DatabaseDetails.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/DatabaseDetails.html	Mon Jul  7 16:21:51 2008
@@ -45,10 +45,26 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<&| Elements/Wrapper, Title => loc('Step 2 of 7: Check your database credentials') &> 
+<&| Elements/Wrapper, Title => loc('Step [_1] of [_2]: ', 2, 7 ) . loc('Check your database credentials') &> 
 
+% if ( @errors ) {
+<& Elements/Errors, Errors => \@errors &>
+<p>
+<&|/l&>Tell us a little about how to find the database RT will be using</&>
+<p>
+<&|/l&>We need to know the name of the database RT will use and where to find it.  We also need to know the username and password of the user RT should use. RT can create the database and user for you, which is why we ask for the username and password of a user with DBA privileges.  During step 6 of the installation process we will use this information to create and initialize RT's database.</&>
+</p>
+<p>
+<&|/l&>When you click on 'Check Database Connectivity' there may be a small delay while RT tries to connect to your database</&>
+
+% } else {
 <& /Elements/ListActions, actions => \@results &>
 
+<p>
+<&|/l&>We were able to find your database and connect as the DBA.  You can click on 'Customize Basics' to continue customizing RT.</&>
+
+% }
+
 <form method="post">
 <& /Widgets/BulkEdit, Types => \@Types, Meta => $RT::Installer->{Meta},
     CurrentValue => { %{RT::Installer->CurrentValues(@Types)},
@@ -58,25 +74,26 @@
             ( $db_type eq 'mysql' ? 'root'
               : $db_type eq 'Pg' ? 'postgres'
               : '' ),
-       DatabasePassword => @results ?
-           $RT::Installer->{InstallConfig}{DatabasePassword} : ''
         }
                     &>
 <input type="hidden" name="Run" value="1">
 
-<& /Elements/Submit, Label => loc('Check Database Connectivity'), 
-Back => 1, BackLabel => loc('Back: Select Database Type'),
+% if ( @results && !@errors ) {
+<& /Elements/Submit, Label => loc('Next: ') . loc('Customize Basics'),
+Back => 1, BackLabel => loc('Back: ') . loc('Select Database Type'),
+Name => 'Next' &>
+% } else {
+<& /Elements/Submit, Label => loc('Check Database Connectivity'),
+Back => 1, BackLabel => loc('Back: ') . loc('Select Database Type')
 &>
-
-% if ( @results && $results[0] eq 'Connection succeeded' ) {
-<& /Elements/Submit, Label => loc('Next: Customize Basics'), Name => 'Next' &>
 % }
 
-
 </form>
 </&>
+
 <%init>
-my @results;
+my (@results, @errors);
+my $ConnectionSucceeded;
 
 my @Types = 'DatabaseName';
 
@@ -116,7 +133,7 @@
         );
     
         if ( $dbh ) {
-            push @results, 'Connection succeeded';
+            push @results, loc('Connection succeeded');
             # dba connect dsn, which has table info
             $dbh = DBI->connect(
                 RT::Handle->DSN, $ARGS{DatabaseAdmin}, $ARGS{DatabaseAdminPassword}, { RaiseError => 0, PrintError => 0 },
@@ -141,16 +158,16 @@
                     $sth->execute('RT_System'); 
                     if ( $sth->fetchrow_array ) {
                         $RT::Installer->{DatabaseAction} = 'none';
-                        push @results, "Database $RT::DatabaseName appears to be fully initialized.";
+                        push @results, loc("[_1] appears to be fully initialized.  We won't need to create any tables or insert metadata, but you can continue to customez RT by clicking 'Customize Basics' below", $RT::DatabaseName);
                     }
                     else {
                         $RT::Installer->{DatabaseAction} = 'acl,coredata,insert';
-                        push @results, "Database $RT::DatabaseName already exists and has RT's tables in place, but does not contain RT's metadata. The 'Initialize Database' step later on can insert metadata into this existing database. If this is acceptable, click 'Customize Basic' below to continue customizing RT.";
+                        push @results, loc("[_1] already exists and has RT's tables in place, but does not contain RT's metadata. The 'Initialize Database' step later on can insert metadata into this existing database. If this is acceptable, click 'Customize Basics' below to continue customizing RT.", $RT::DatabaseName);
                     }
                 }
                 else {
                     $RT::Installer->{DatabaseAction} = 'schema,acl,coredata,insert';
-                    push @results, "Database $RT::DatabaseName already exists, but does not contain RT's tables or metadata. The 'Initialize Database' step later on can insert tables and metadata into this existing database. if this is acceptable, click 'Customize Basic' below to continue customizing RT.";
+                    push @results, loc("[_1] already exists, but does not contain RT's tables or metadata. The 'Initialize Database' step later on can insert tables and metadata into this existing database. if this is acceptable, click 'Customize Basic' below to continue customizing RT.", $RT::DatabaseName );
                 }
 
             }
@@ -161,14 +178,14 @@
         }
         else {
             $RT::Installer->{DatabaseAction} = 'error';
-            push @results, "Failed to connect to database: $DBI::errstr";
+            push @errors, loc("Failed to connect to database: [_1]",
+                    $DBI::errstr );
         }
     }
     else {
-        push @results, $msg;
+        push @results, loc($msg);
     }
 
-
 }
 
 </%init>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Install/DatabaseType.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Install/DatabaseType.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/DatabaseType.html	Mon Jul  7 16:21:51 2008
@@ -45,17 +45,21 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<&|Elements/Wrapper, Title => loc('Step 1 of 7: Choose a database engine') &>
-
-<& /Elements/ListActions, actions => \@results &>
+<&|Elements/Wrapper, Title => loc('Step [_1] of [_2]: ', 1, 7 ) . loc('Choose a database engine') &>
 
 <div class="intro">
-<&|/l&>
-    <p>RT works just great with a number of different databases. <b>MySQL</b>, <b>PostgreSQL</b>, <b>Oracle</b> and <b>SQLite</b> are all supported.</p>
-    <p>You should choose the database you or your local database administrator is most comfortable with.</p>
-    <p><i>SQLite is a simple database that doesn't need a server or any configuration whatsoever. RT's authors recommend it for testing, demoing and development, but <b>it's not quite right for a high-volume production RT server</b>.</i></p>
-    <p>If your supported database isn't listed in the dropdown below, that means RT couldn't find a <i>database driver</i> for it installed locally. You may be able to remedy this by using <a href="http://search.cpan.org" target="_new">CPAN</a> to download and install DBD::MySQL, DBD::Oracle or DBD::Pg.</p>
-    </&>
+<p>
+<&|/l&>RT works with a number of different databases. <b>MySQL</b>, <b>PostgreSQL</b>, <b>Oracle</b> and <b>SQLite</b> are all supported.</&>
+</p>
+<p>
+<&|/l&>You should choose the database you or your local database administrator is most comfortable with.</&>
+</p>
+    <p><b>
+<&|/l&>SQLite is a database that doesn't need a server or any configuration whatsoever. RT's authors recommend it for testing, demoing and development, but it's not quite right for a high-volume production RT server.</&>
+</b></p>
+<p>
+<&|/l, '<a href="http://search.cpan.org" target="_new">CPAN</a>' &>If your preferred database isn't listed in the dropdown below, that means RT couldn't find a <i>database driver</i> for it installed locally. You may be able to remedy this by using [_1] to download and install DBD::MySQL, DBD::Oracle or DBD::Pg.</&>
+</p>
 </div>
 
 <form method="post">
@@ -63,12 +67,11 @@
     CurrentValue => RT::Installer->CurrentValues(@Types) &>
 
 <input type="hidden" name="Run" value="1">
-<& /Elements/Submit, Label => loc('Next: Check your database credentials') &>
+<& /Elements/Submit, Label => loc('Next: ') . loc( 'Check your database credentials') &>
 </form>
 </&>
 <%init>
 
-my @results;
 my @Types = 'DatabaseType';
 
 if ( $Run ) {

Added: rt/3.8/branches/3.8.0-releng/share/html/Install/Elements/Errors
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/Elements/Errors	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,63 @@
+%# BEGIN BPS TAGGED BLOCK {{{
+%# 
+%# COPYRIGHT:
+%# 
+%# This software is Copyright (c) 1996-2008 Best Practical Solutions, LLC
+%#                                          <jesse at bestpractical.com>
+%# 
+%# (Except where explicitly superseded by other copyright notices)
+%# 
+%# 
+%# LICENSE:
+%# 
+%# This work is made available to you under the terms of Version 2 of
+%# the GNU General Public License. A copy of that license should have
+%# been provided with this software, but in any event can be snarfed
+%# from www.gnu.org.
+%# 
+%# This work is distributed in the hope that it will be useful, but
+%# WITHOUT ANY WARRANTY; without even the implied warranty of
+%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+%# General Public License for more details.
+%# 
+%# You should have received a copy of the GNU General Public License
+%# along with this program; if not, write to the Free Software
+%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+%# 02110-1301 or visit their web page on the internet at
+%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
+%# 
+%# 
+%# CONTRIBUTION SUBMISSION POLICY:
+%# 
+%# (The following paragraph is not intended to limit the rights granted
+%# to you to modify and distribute this software under the terms of
+%# the GNU General Public License and is only of importance to you if
+%# you choose to contribute your changes and enhancements to the
+%# community by submitting them to Best Practical Solutions, LLC.)
+%# 
+%# By intentionally submitting any modifications, corrections or
+%# derivatives to this work, or any other work intended for use with
+%# Request Tracker, to Best Practical Solutions, LLC, you confirm that
+%# you are the copyright holder for those contributions and you grant
+%# Best Practical Solutions,  LLC a nonexclusive, worldwide, irrevocable,
+%# royalty-free, perpetual, license to use, copy, create derivative
+%# works based on those contributions, and sublicense and distribute
+%# those contributions and any derivatives thereof.
+%# 
+%# END BPS TAGGED BLOCK }}}
+% if (@Errors) {
+<&| "/Widgets/TitleBox", title => loc('Error'), hideable => 0, class => 'error'  &>
+<ul>
+% for my $Error ( @Errors ) {
+<li>
+<% $Error %>
+</li>
+% }
+</ul>
+
+</&>
+% }
+
+<%args>
+ at Errors
+</%args>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Install/Finish.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Install/Finish.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/Finish.html	Mon Jul  7 16:21:51 2008
@@ -45,26 +45,24 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<&| Elements/Wrapper, Title => loc('Step 7 of 7: Finish') &> 
+<&| Elements/Wrapper, Title => loc('Step [_1] of [_2]: ', 7, 7) . loc('Finish') &> 
 
 <div class="intro">
-<&|/l&>
 <p>
-Click "Finish Installation" below to complete this wizard.
+<&|/l&>Click "Finish Installation" below to complete this wizard.</&>
 </p>
 
 <p>
-You should be taken directly to a login page. You'll be able to log in with username of <tt>root</tt>. 
-But if you've changed web port, then you have to restart the server to use RT.
+<&|/l&>You should be taken directly to a login page. You'll be able to log in with username of <tt>root</tt> and the password you set earlier.</&>
 </p>
 
 <p>
-The settings you've chosen are stored in <% RT::Installer->ConfigFile %>,
-the place you can refine your configuration further. Using
-`<tt>chmod -w '<% RT::Installer->ConfigFile %>'</tt>` will prevent this
-installation wizard from being run again.
+<&|/l&>If you've change the Port that RT runs on, you'll need to restart the server in order to log in.</&>
+</p>
+
+<p>
+<&|/l, RT::Installer->ConfigFile &>The settings you've chosen are stored in [_1].  You can edit this file to refine your configuration further. You can prevent this installation wizard from being shown again by running `<tt>chmod -w '[_1]'</tt>`.</&>
 </p>
-</&>
 </div>
 
 <form method="post">

Copied: rt/3.8/branches/3.8.0-releng/share/html/Install/Global.html (from r13474, /rt/3.8/branches/3.8.0-releng/share/html/Install/Emails.html)
==============================================================================
--- /rt/3.8/branches/3.8.0-releng/share/html/Install/Emails.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/Global.html	Mon Jul  7 16:21:51 2008
@@ -45,23 +45,30 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<&| Elements/Wrapper, Title => loc('Step 4 of 7: Customize Email Addresses') &> 
+<&| Elements/Wrapper, Title => loc('Step [_1] of [_2]: ', 5, 7 ) . loc('Customize Email Addresses') &> 
 
-<& /Elements/ListActions, actions => \@results &>
+<& Elements/Errors, Errors => \@errors &>
 
+<p><&|/l&>Help us set up some useful defaults for RT.</&></p>
+
+<p><&|/l&>When RT sends an email it sets the From: and Reply-To: headers so users can add to the conversation by just hitting Reply in their mail client.  It uses different addresses for Replies and Comments.  These can be changed for each of your queues.  These addresses will need to be configured to use the <tt>rt-mailgate</tt> program.</&></p>
+
+<p><&|/l&>By default, RT will use the timezone of your system.  This lets you set a global default for the display of dates and times in RT.  Your users can choose a different Timezone in their preferences.</&></p>
 <form method="post">
 <& /Widgets/BulkEdit, Types => \@Types,Meta => $RT::Installer->{Meta},
-    CurrentValue => RT::Installer->CurrentValues(@Types) &>
+    CurrentValue => RT::Installer->CurrentValues(@Types)
+&>
 
 <input type="hidden" name="Run" value="1">
-<& /Elements/Submit, Label => loc('Next: Email Configuration'), Back => 1,
-    BackLabel => loc('Back: Customize Basics') &>
+<& /Elements/Submit, Label => $RT::Installer->{DatabaseAction} eq 'none' ?
+loc('Next: ') . loc('Finish') : loc('Next: ') . loc( 'Initialize Database'),
+    Back => 1, BackLabel => loc('Back: ' ) . loc('Customize Email Configuration') &>
 </form>
 </&>
 <%init>
-my @results;
+my @errors;
 
-my @Types = qw/OwnerEmail CommentAddress CorrespondAddress/;
+my @Types = qw/CommentAddress CorrespondAddress Timezone/;
 
 if ( $Run ) {
 
@@ -71,12 +78,36 @@
 
     if ( $Back ) {
         RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
-'Install/Basics.html');
+'Install/Sendmail.html');
     }
 
-    unless ( @results ) {
-        RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
-'Install/Sendmail.html');
+    for ( qw/CommentAddress CorrespondAddress/ ) {
+        if ( $ARGS{$_} && $ARGS{$_} !~ /.+ at .+/ ) {
+            push @errors,
+                loc("Invalid [_1]: '[_2]' doesn't look like an email address",
+                $_, $ARGS{$_});
+        }
+    }
+
+    unless ( @errors ) {
+        my ( $status, $msg ) = RT::Installer->SaveConfig;
+
+        if ( $status ) {
+            delete $INC{'RT_SiteConfig.pm'};
+            RT->LoadConfig;
+
+            if ( $RT::Installer->{DatabaseAction} ne 'none' ) {
+                RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
+'Install/Initialize.html');
+            }
+            else {
+                RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
+'Install/Finish.html');
+            }
+        }
+        else {
+            push @errors, loc($msg);
+        }
     }
 }
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Install/Initialize.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Install/Initialize.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/Initialize.html	Mon Jul  7 16:21:51 2008
@@ -45,28 +45,28 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<&|Elements/Wrapper, Title => loc('Step 6 of 7: Initialize Database') &> 
+<&|Elements/Wrapper, Title => loc('Step [_1] of [_2]: ', 6, 7) . loc('Initialize Database') &> 
 
-<& /Elements/ListActions, actions => \@results &>
+<& Elements/Errors, Errors => \@errors &>
 
-% unless ( @results ) {
+% unless ( @errors ) {
 <div>
-<&|/l&>Click "Initialize Database" to begin creating the database. This may take a few moments</&>
+<&|/l&>Click "Initialize Database" to create RT's database and insert initial metadata. This may take a few moments</&>
 </div>
 % }
 
 <form method="post">
 <input type="hidden" name="Run" value="1">
 <& /Elements/Submit, Label => loc('Initialize Database'), Back => 1,
-    BackLabel => loc('Back: Customize Sendmail') &>
+    BackLabel => loc('Back: ') . loc('Customize Global') &>
 </form>
 </&>
 <%init>
-my @results;
+my @errors;
 if ( $Run ) {
     if ( $Back ) {
         RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
-'Install/Sendmail.html');
+'Install/Global.html');
     }
 
     my @actions = split /,/, $RT::Installer->{DatabaseAction};
@@ -84,7 +84,7 @@
     if ( $actions[0] eq 'create' ) {
         ($status, $msg) = RT::Handle->CreateDatabase( $sysdbh );
         unless ( $status ) {
-            push @results, "ERROR: $msg";
+            push @errors, loc('ERROR: [_1]', $msg );
         }
 
         shift @actions; # shift the 'create' action since its job is done.
@@ -121,13 +121,13 @@
                 ($status, $msg) = $RT::Handle->InsertData( $file );
             }
             unless ( $status ) {
-                push @results, "ERROR: $msg";
+                push @errors, loc('ERROR: [_1]', $msg);
                 last;
             }
         }
     }
 
-    unless ( @results ) {
+    unless ( @errors ) {
         RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
 'Install/Finish.html');
     }

Modified: rt/3.8/branches/3.8.0-releng/share/html/Install/Sendmail.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Install/Sendmail.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/Sendmail.html	Mon Jul  7 16:21:51 2008
@@ -45,24 +45,28 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<&|Elements/Wrapper, Title => loc('Step 5 of 7: Email Configuration') &> 
+<&|Elements/Wrapper, Title => loc('Step [_1] of [_2]: ', 4, 7 ) . loc('Email Configuration') &> 
 
-<& /Elements/ListActions, actions => \@results &>
+<& Elements/Errors, Errors => \@errors &>
+
+<p>
+<&|/l&>RT can communicate with your users about new tickets or new correspondence on tickets. Tell us where to find sendmail (or a sendmail compatible binary such as the one provided by postifx).  RT also needs to know who to notify when someone sends invalid email.  This must not be an address that feeds back into RT.</&>
+</p>
 
 <form method="post">
 <& /Widgets/BulkEdit, Types => \@Types,Meta => $RT::Installer->{Meta},
-    CurrentValue => RT::Installer->CurrentValues(@Types) &>
+    CurrentValue => RT::Installer->CurrentValues(@Types)
+&>
 
 <input type="hidden" name="Run" value="1">
-<& /Elements/Submit, Label => $RT::Installer->{DatabaseAction} eq 'none' ?
-loc('Next: Finish') : loc('Next: Initialize Database'), Back => 1,
-    BackLabel => loc('Back: Customize Email Addresses') &>
+<& /Elements/Submit, Label => loc('Next: ') . loc( 'Customize Global Defaults'),
+    Back => 1, BackLabel => loc('Back: ' ) . loc('Customize Basics') &>
 </form>
 </&>
 <%init>
-my @results;
+my @errors;
 
-my @Types = qw/SendmailArguments SendmailBounceArguments SendmailPath/;
+my @Types = qw/SendmailPath OwnerEmail/;
 
 if ( $Run ) {
 
@@ -72,34 +76,24 @@
 
     if ( $Back ) {
         RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
-'Install/Emails.html');
+'Install/Basics.html');
     }
 
 
     unless ( -e $ARGS{SendmailPath} ) {
-        push @results, "$ARGS{SendmailPath} doesn't exist.";
+        push @errors, loc( "[_1] doesn't exist.", $ARGS{SendmailPath} );
     }
 
-    unless ( @results ) {
+    if ( ! $ARGS{OwnerEmail} || $ARGS{OwnerEmail} !~ /.+ at .+/ ) {
+        push @errors,
+            loc("Invalid [_1]: that doesn't look like an email address",
+            'Administrator Email');
+    }
 
-        my ( $status, $msg ) = RT::Installer->SaveConfig;
 
-        if ( $status ) {
-            delete $INC{'RT_SiteConfig.pm'};
-            RT->LoadConfig;
-
-            if ( $RT::Installer->{DatabaseAction} ne 'none' ) {
-                RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
-'Install/Initialize.html');
-            }
-            else {
-                RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
-'Install/Finish.html');
-            }
-        }
-        else {
-            push @results, $msg;
-        }
+    unless ( @errors ) {
+        RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .
+'Install/Global.html');
     }
 }
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Install/index.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Install/index.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Install/index.html	Mon Jul  7 16:21:51 2008
@@ -47,25 +47,27 @@
 %# END BPS TAGGED BLOCK }}}
 <&| Elements/Wrapper, Title => loc('Welcome to RT!') &>
 
-<& /Elements/ListActions, actions => \@results &>
+<& Elements/Errors, Errors => \@errors &>
 
 % if ( !$locked) {
 
-<h1>What is RT?</h1>
+<h1><% loc('What is RT?') %></h1>
 
 <div class="intro">
-<&|/l&>
 <p>
-RT is an enterprise-grade issue tracking system designed to let you intelligently and efficiently manage tasks, issues, requests, defects or anything else that looks like an "action item."</p>
+<&|/l&>RT is an enterprise-grade issue tracking system designed to let you intelligently and efficiently manage tasks, issues, requests, defects or anything else that looks like an "action item."</&>
+</p>
 <p>
-RT is used by Fortune 100 companies, one-person businesses, government agencies, educational institutions, hospitals, nonprofits, NGOs, libraries, open source projects and all sorts of other organizations on all seven continents. (Yes, even Antarctica.)
+<&|/l&>RT is used by Fortune 100 companies, one-person businesses, government agencies, educational institutions, hospitals, nonprofits, NGOs, libraries, open source projects and all sorts of other organizations on all seven continents. (Yes, even Antarctica.)</&>
 </p>
-<h2>Getting started</h2>
+<h2><% loc('Getting started') %></h2>
 <p>
-<b>You're seeing this screen because you started up an RT server without a working database. Most likely, this is the first time you're running RT.  If you click <i>Let's go!</i> below, RT will guide you through setting up your RT server and database.</b>
+<b>
+<&|/l&>You're seeing this screen because you started up an RT server without a working database. Most likely, this is the first time you're running RT.  If you click <i>Let's go!</i> below, RT will guide you through setting up your RT server and database.</&>
+</b>
 </p>
-<p>If you already have a working RT server and database, you should take this opportunity to make sure that your database server is running and that the RT server can connect to it. Once you've done that, stop and start the RT server.</p>
-</&>
+<p>
+<&|/l&>If you already have a working RT server and database, you should take this opportunity to make sure that your database server is running and that the RT server can connect to it. Once you've done that, stop and start the RT server.</p></&>
 </div>
 
 <form method="post">
@@ -75,23 +77,29 @@
 % }
 </&>
 <%init>
-my @results;
+my @errors;
 my $locked;
     my $file = File::Spec->catfile( $RT::EtcPath, 'RT_SiteConfig.pm' );
     $locked = 1 unless -w $file;
     
     if ( $locked ) {
-        push @results, "Config file $file is locked";
+        push @errors, loc("Config file [_1] is locked", $file);
     }
     elsif ( $Run ) {
         $RT::Installer->{InstallConfig} ||= {};
         for my $field  ( qw/DatabaseType DatabaseName DatabaseHost DatabasePort
-                DatabaseUser DatabasePassword DatabaseRequireSSL rtname
-                Organization TimeZone MinimumPasswordLength MaxAttachmentSize
-                OwnerEmail CommentAddress CorrespondAddress MailCommand
-                SendmailArguments SendmailBounceArguments SendmailPath/ ) {
+                DatabaseUser DatabaseRequireSSL rtname
+                Organization TimeZone CommentAddress CorrespondAddress 
+                SendmailPath WebDomain WebPort/ ) {
             $RT::Installer->{InstallConfig}{$field} ||= RT->Config->Get($field);
         }
+
+        for my $field ( qw/OwnerEmail Password DatabasePassword
+                DatabaseAdminPassword/ ) {
+            # stuff we don't want to keep null
+            $RT::Installer->{InstallConfig}{$field} = '';
+        }
+
         RT::Interface::Web::Redirect(RT->Config->Get('WebURL') .  'Install/DatabaseType.html');
     
         }

Modified: rt/3.8/branches/3.8.0-releng/share/html/NoAuth/css/web2/forms.css
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/NoAuth/css/web2/forms.css	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/NoAuth/css/web2/forms.css	Mon Jul  7 16:21:51 2008
@@ -54,7 +54,6 @@
 
 
 .input-row .label {
-  display: inline-block;
   position: relative;
   text-align: right;
   width: 4em;
@@ -139,7 +138,7 @@
 .label, .labeltop {
  text-align: right;
  font-size: 0.8em;
- padding-right: 0.5em;
+ padding-right: .5em;
 
 } 
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/NoAuth/iCal/dhandler
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/NoAuth/iCal/dhandler	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/NoAuth/iCal/dhandler	Mon Jul  7 16:21:51 2008
@@ -60,18 +60,16 @@
 $notfound->() unless $path =~ m!^([^/]+)/([^/]+)/(.*)(\.(ical|ics))?!;
 
 my ($name, $auth, $search) = ($1, $2, $3);
-$name = Encode::decode_utf8( $name );
+# Unescape parts
+$_ =~ s/\%([0-9a-z]{2})/chr(hex($1))/gei for $name, $search;
+# convert to perl strings
+$_ = Encode::decode_utf8( $_ ) for $name, $search;
+
 my $user = RT::User->new( $RT::SystemUser );
 $user->Load( $name );
 $notfound->() unless $user->id;
 
-# Unescape the query
-$search =~ s/\%([0-9a-z]{2})/chr(hex($1))/gei;
-
-my $secret = $user->AuthToken;
-$notfound->() unless $auth eq substr(Digest::MD5::md5_hex($secret.$search),0,16);
-
-$search = Encode::decode_utf8( $search );
+$notfound->() unless $user->ValidateAuthString( $auth, $search );
 
 my $cu = RT::CurrentUser->new;
 $cu->Load($user);

Modified: rt/3.8/branches/3.8.0-releng/share/html/NoAuth/js/util.js
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/NoAuth/js/util.js	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/NoAuth/js/util.js	Mon Jul  7 16:21:51 2008
@@ -194,7 +194,8 @@
     if (e) {
         var link = document.createElement('a');
         link.setAttribute('href', '#');
-        link.setAttribute('onclick', "openCalWindow('"+input+"'); return false;");
+        $(link).observe('click', function(ev) { openCalWindow(input); ev.stop(); });
+        //link.setAttribute('onclick', "openCalWindow('"+input+"'); return false;");
 
         var text = document.createTextNode('<% loc("Calendar") %>');
         link.appendChild(text);

Modified: rt/3.8/branches/3.8.0-releng/share/html/Search/Bulk.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Search/Bulk.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Search/Bulk.html	Mon Jul  7 16:21:51 2008
@@ -53,7 +53,8 @@
     Query => $Query,
     Rows => $Rows,
     OrderBy => $OrderBy,
-    Order => $Order &>
+    Order => $Order,
+    SavedSearchId => $SavedSearchId &>
 
 <& /Elements/ListActions, actions => \@results &>
 <form method="post" action="<% RT->Config->Get('WebPath') %>/Search/Bulk.html" enctype="multipart/form-data">
@@ -206,6 +207,7 @@
 
 
 <%INIT>
+$Rows = $RowsPerPage unless (defined $Rows);
 my $title = loc("Update multiple tickets");
 
 # Iterate through the ARGS hash and remove anything with a null value.
@@ -380,7 +382,9 @@
 $Format => undef
 $Page => 1
 $Rows => undef
+$RowsPerPage => undef
 $Order => 'ASC'
 $OrderBy => 'id'
 $Query => undef
+$SavedSearchId => undef
 </%args>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/BuildFormatString
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/BuildFormatString	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/BuildFormatString	Mon Jul  7 16:21:51 2008
@@ -93,6 +93,8 @@
     MemberOf    Members
     Parents     Children
 
+    Bookmark
+
     NEWLINE
 );
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/EditQuery
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/EditQuery	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/EditQuery	Mon Jul  7 16:21:51 2008
@@ -163,9 +163,12 @@
             push @top, $node;
         }
 
+        my %seen;
+        my @non_siblings_top = grep !$seen{ $_->getParent }++, @top;
+
         foreach ( @New ) {
             my $add = $_->clone;
-            foreach my $selected( @top ) {
+            foreach my $selected( @non_siblings_top ) {
                 my $newindex = $selected->getIndex + 1;
                 $selected->insertSibling( $newindex, $add );
             }
@@ -207,9 +210,12 @@
 }
 
 if ( @New && @$Selected ) {
+    my %seen;
+    my @non_siblings_selected = grep !$seen{ $_->getParent }++, @$Selected;
+
     foreach ( @New ) {
         my $add = $_->clone;
-        foreach my $selected( @$Selected ) {
+        foreach my $selected( @non_siblings_selected ) {
             my $newindex = $selected->getIndex + 1;
             $selected->insertSibling( $newindex, $add );
         }

Modified: rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/EditSearches
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/EditSearches	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/EditSearches	Mon Jul  7 16:21:51 2008
@@ -261,7 +261,7 @@
     my ($status, $msg) = $saved_search->Save(
         Privacy      => $privacy,
         Name         => $desc,
-        Type         => $saved_search->{'Type'},
+        Type         => $SavedSearch->{'Type'},
         SearchParams => \%params,
     );
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/ResultViews
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/ResultViews	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/ResultViews	Mon Jul  7 16:21:51 2008
@@ -73,6 +73,6 @@
 <%init>
 my $ical_path = join '/', map $m->interp->apply_escapes($_, 'u'),
     $session{'CurrentUser'}->UserObj->Name,
-    substr(Digest::MD5::md5_hex($session{'CurrentUser'}->UserObj->AuthToken . $Query),0,16),
+    $session{'CurrentUser'}->UserObj->GenerateAuthString( $Query ),
     $Query;
 </%init>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/SelectPersonType
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/SelectPersonType	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Search/Elements/SelectPersonType	Mon Jul  7 16:21:51 2008
@@ -69,10 +69,10 @@
    @types = qw(Requestor Cc AdminCc Watcher);
 }
 else { 
-   @types = qw(Requestor Cc AdminCc Watcher Owner);
+   @types = qw(Requestor Cc AdminCc Watcher Owner QueueCc QueueAdminCc QueueWatcher);
 }
 
-my @subtypes = qw(EmailAddress Name RealName Nickname Organization Address1 Address2 WorkPhone HomePhone MobilePhone PagerPhone);
+my @subtypes = qw(EmailAddress Name RealName Nickname Organization Address1 Address2 WorkPhone HomePhone MobilePhone PagerPhone id);
 
 </%INIT>
 <%ARGS>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Search/Results.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Search/Results.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Search/Results.html	Mon Jul  7 16:21:51 2008
@@ -55,7 +55,8 @@
     Query => $Query,
     Rows => $Rows,
     OrderBy => $OrderBy,
-    Order => $Order &>
+    Order => $Order,
+    SavedSearchId => $SavedSearchId &>
 <& /Elements/CollectionList, 
     Query => $Query,
     AllowSorting => 1,
@@ -106,7 +107,7 @@
 # We call it RowsPerPage everywhere else.
 
 if ( !defined($Rows) ) {
-    if ( $ARGS{'RowsPerPage'} ) {
+    if (defined $ARGS{'RowsPerPage'} ) {
         $Rows = $ARGS{'RowsPerPage'};
     } elsif ( defined $prefs->{'RowsPerPage'} ) {
         $Rows = $prefs->{'RowsPerPage'};
@@ -179,7 +180,7 @@
 $link_rel{first} = $BaseURL . $genpage->(1)         if $Page > 1;
 $link_rel{prev}  = $BaseURL . $genpage->($Page - 1) if $Page > 1;
 $link_rel{next}  = $BaseURL . $genpage->($Page + 1) if ($Page * $Rows) < $ticketcount;
-$link_rel{last}  = $BaseURL . $genpage->(POSIX::ceil($ticketcount/$Rows)) if ($Page * $Rows) < $ticketcount;
+$link_rel{last}  = $BaseURL . $genpage->(POSIX::ceil($ticketcount/$Rows)) if $Rows and ($Page * $Rows) < $ticketcount;
 </%INIT>
 <%CLEANUP>
 $session{'tickets'}->PrepForSerialization();
@@ -192,4 +193,5 @@
 $Page => 1
 $OrderBy => undef
 $Order => undef
+$SavedSearchId => undef
 </%ARGS>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Search/Results.tsv
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Search/Results.tsv	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Search/Results.tsv	Mon Jul  7 16:21:51 2008
@@ -81,6 +81,7 @@
             $row->{$attr} = "";
         } else {
             my $method = '$Ticket->'.$attr.'()';
+            $method =~ s/->ISO\(\)$/->ISO( Timezone => 'user' )/;
             $row->{$attr} = eval $method;
             if ($@) {die "Failed to find $attr - ". $@}; 
         }

Modified: rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/Reminders
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/Reminders	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/Reminders	Mon Jul  7 16:21:51 2008
@@ -133,7 +133,7 @@
 <tr class="input-row">
 <td class="label">
 <label class="horizontal" for="NewReminder-Owner" ><&|/l&>Owner</&>:</label></td><td class="value">
-<& /Elements/SelectOwner, Name => 'NewReminder-Owner', QueueObj => $Ticket->QueueObj, DefaultValue => 0 &>
+<& /Elements/SelectOwner, Name => 'NewReminder-Owner', QueueObj => $Ticket->QueueObj, Default=>$session{'CurrentUser'}->id, DefaultValue => 0 &>
 </td>
 </tr>
 <tr class="input-row">

Modified: rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/ShowMembers
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/ShowMembers	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/ShowMembers	Mon Jul  7 16:21:51 2008
@@ -57,6 +57,7 @@
 
 <%INIT>
 
+return unless $Ticket;
 my $members = $Ticket->Members;
 return unless $members->Count;
 

Modified: rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/ShowMessageStanza
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/ShowMessageStanza	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/ShowMessageStanza	Mon Jul  7 16:21:51 2008
@@ -46,6 +46,7 @@
 %# 
 %# END BPS TAGGED BLOCK }}}
 % if ( ref $Message ) {
+%    $m->out($pon);
 <div class="message-stanza-depth-<% $Depth %>">
 <%perl>
 my $para = '';
@@ -64,10 +65,15 @@
 $print_content->( \$para ) if length $para;
 </%perl>
 </div>
+%$m->out($poff);
 % } else {
 %       $print_content->( \$Message );
 % }
 <%INIT>
+my ($pon, $poff) = (RT->Config->Get('PlainTextPre', $session{'CurrentUser'}) && $Depth == 0)
+                            ? ('<pre>', '</pre>')
+                            : ('', '');
+
 my $ticket = $Transaction ? $Transaction->TicketObj : undef;
 
 my $print_content = sub {

Modified: rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/Tabs
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/Tabs	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Ticket/Elements/Tabs	Mon Jul  7 16:21:51 2008
@@ -292,8 +292,8 @@
 
         }
     }
-    if ( $current_tab =~ m{Search/Bulk.html} ) {
-        $current_tab = "Search/Bulk.html$args";
+    if ( $current_tab =~ m{Search/(Bulk|Build|Edit)\.html} ) {
+        $current_tab = "Search/$1.html$args";
     }
 
     $tabs->{"i"} = {

Modified: rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/Elements/ShowGraph
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/Elements/ShowGraph	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/Elements/ShowGraph	Mon Jul  7 16:21:51 2008
@@ -53,6 +53,8 @@
 $id => undef
 </%ARGS>
 <%INIT>
+use RT::Util 'safe_run_child';
+
 my $ticket = RT::Ticket->new( $session{'CurrentUser'} );
 $ticket->Load( $id );
 unless ( $ticket->id ) {

Modified: rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/Elements/ShowLegends
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/Elements/ShowLegends	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/Elements/ShowLegends	Mon Jul  7 16:21:51 2008
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %# 
 %# END BPS TAGGED BLOCK }}}
-<&| /Widgets/TitleBox, title => loc('Legends') &>
+<&| /Widgets/TitleBox, title => loc('Legends'), hideable => $hideable &>
 <table>
 
 <tr style="height: 2.8em;"><td>Status:</td><td>
@@ -69,4 +69,5 @@
 
 <%ARGS>
 $FillUsing => ''
+$hideable  => 1
 </%ARGS>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/index.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/index.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Ticket/Graphs/index.html	Mon Jul  7 16:21:51 2008
@@ -82,7 +82,7 @@
 foreach my $level ( 0 .. 6 ) {
     push @save_arguments, "Level-". $level ."-Properties";
 }
-my $saved_search = { };
+my $saved_search = { Type => 'Graph' };
 push @results, $m->comp( '/Search/Elements/EditSearches:Init',
     %ARGS,
     Query        => \%ARGS,

Modified: rt/3.8/branches/3.8.0-releng/share/html/Ticket/ModifyAll.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Ticket/ModifyAll.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Ticket/ModifyAll.html	Mon Jul  7 16:21:51 2008
@@ -73,7 +73,7 @@
 
 
 <&| /Widgets/TitleBox, title => loc('People'), class=>'ticket-info-people' &>
-<& Elements/EditPeople, Ticket => $Ticket, UserField => $UserField, UserString => $UserString, UserOp => $UserOp, GroupString => $GroupString, GroupOp => $GroupOp, GroupField => $GroupField  &>
+<& Elements/EditPeople, Ticket => $Ticket, UserField => $UserField, UserString => $UserString, UserOp => $UserOp, GroupString => $GroupString, GroupOp => $GroupOp, GroupField => $GroupField &>
 </&>
 
 <br />

Modified: rt/3.8/branches/3.8.0-releng/share/html/Tools/Elements/Tabs
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Tools/Elements/Tabs	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Tools/Elements/Tabs	Mon Jul  7 16:21:51 2008
@@ -54,14 +54,18 @@
 <%INIT>
 my $tabs = {
     a => {
+        title => loc('Dashboards'),
+        path  => 'Dashboards/index.html',
+    },
+    b => {
         title => loc('Offline'),
         path  => 'Tools/Offline.html',
     },
-    b => {
+    c => {
         title => loc('Reports'),
         path  => 'Tools/Reports/index.html',
     },
-    c => {
+    d => {
         title => loc('My Day'),
         path  => 'Tools/MyDay.html',
     },

Modified: rt/3.8/branches/3.8.0-releng/share/html/Tools/Reports/index.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Tools/Reports/index.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Tools/Reports/index.html	Mon Jul  7 16:21:51 2008
@@ -47,4 +47,30 @@
 %# END BPS TAGGED BLOCK }}}
 <& /Elements/Header, Title => loc('Reports') &>
 <& /Tools/Reports/Elements/Tabs, Title => loc('Reports') &>
+<& /Elements/ListMenu, items => $tabs &>
+
 % $m->callback;
+
+<%init>
+
+my $tabs = {
+    A => {
+        title       => loc('Resolved by owner'),
+        path        => 'ResolvedByOwner.html',
+        description => loc('Examine tickets resolved in a queue, grouped by owner'),
+    },
+    B => {
+        title       => loc('Resolved in date range'),
+        path        => 'ResolvedByDates.html',
+        description => loc('Examine tickets resolved in a queue between two dates'),
+    },
+    C => {
+        title       => loc('Created in a date range'),
+        path        => 'CreatedByDates.html',
+        description => loc('Examine tickets created in a queue between two dates'),
+    },
+};
+
+$m->callback( CallbackName => 'ListReports', %ARGS, tabs => $tabs );
+
+</%init>

Modified: rt/3.8/branches/3.8.0-releng/share/html/Tools/index.html
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Tools/index.html	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Tools/index.html	Mon Jul  7 16:21:51 2008
@@ -49,4 +49,33 @@
 <& Elements/Tabs, 
     current_tab => "Tools/index.html", 
     Title => loc("Tools") &>
+<& /Elements/ListMenu, items => $tabs &>
 
+<%init>
+
+my $tabs = {
+    A => {
+        title       => loc('Dashboards'),
+        path        => '/Dashboards/index.html',
+        description => loc('Named, shared collection of saved searches'),
+    },
+    B => {
+        title       => loc('Offline'),
+        path        => 'Offline.html',
+        description => loc('Create tickets offline'),
+    },
+    C => {
+        title       => loc('Reports'),
+        path        => 'Reports/index.html',
+        description => loc('Various RT reports'),
+    },
+    D => {
+        title       => loc('My Day'),
+        path        => 'MyDay.html',
+        description => loc('Easy updating of your open tickets'),
+    },
+};
+
+$m->callback( %ARGS, tabs => $tabs );
+
+</%init>

Modified: rt/3.8/branches/3.8.0-releng/share/html/User/Elements/Tabs
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/User/Elements/Tabs	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/User/Elements/Tabs	Mon Jul  7 16:21:51 2008
@@ -73,9 +73,6 @@
 	       r => { title => loc('RT at a glance'),
 			   path => 'Prefs/MyRT.html',
 			 },
-	       s => { title => loc('Dashboards'),
-			   path => 'Dashboards/index.html',
-			 },
 	     };
 
   # Now let callbacks add their extra tabs

Modified: rt/3.8/branches/3.8.0-releng/share/html/Widgets/Form/Boolean
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/Widgets/Form/Boolean	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/Widgets/Form/Boolean	Mon Jul  7 16:21:51 2008
@@ -51,10 +51,12 @@
 <div id="form-box-<% lc $Name %>" class="widget">
 <span class="label description"><% $Description %></span>
 <span class="value"><& SELF:InputOnly, %ARGS &></span>
+<span class="hints"><% $Hints %></span>
 </div>
 <%ARGS>
 $Name         => undef,
 $Description  => undef,
+$Hints        => ''
 </%ARGS>
 
 <%METHOD InputOnly>

Modified: rt/3.8/branches/3.8.0-releng/share/html/autohandler
==============================================================================
--- rt/3.8/branches/3.8.0-releng/share/html/autohandler	(original)
+++ rt/3.8/branches/3.8.0-releng/share/html/autohandler	Mon Jul  7 16:21:51 2008
@@ -201,7 +201,7 @@
                     'Zip',                   'Country'
                     )
                 {
-                    $m->callback( Attribute => $attribute, UserInfo => $new_user_info, CallbackName => 'NewUser' );
+                    $m->callback( Attribute => $attribute, User => $user, UserInfo => $new_user_info, CallbackName => 'NewUser' );
 
                     my $method = "Set$attribute";
                     $UserObj->$method( $new_user_info->{$attribute} )
@@ -296,7 +296,7 @@
     }
 
     # otherwise, drop the user at the SelfService default page
-    elsif ( $m->base_comp->path !~ '^(/+)SelfService/' ) {
+    elsif ( $m->base_comp->path !~ RT->Config->Get('SelfServiceRegex') ) {
         RT::Interface::Web::Redirect( RT->Config->Get('WebURL') ."SelfService/" );
     }
     # if user is in SelfService dir let him do anything
@@ -324,7 +324,7 @@
         }
         $RT::Logger->log(
             level => $log_sql_statements,
-            message => "SQL(" . sprintf( "%.2f", $duration ) . "s): $sql;"
+            message => "SQL(" . sprintf( "%.6f", $duration ) . "s): $sql;"
                 . ( @bind ? "  [ bound values: @{[map{qq|'$_'|} @bind]} ]" : "" )
         );
     }

Modified: rt/3.8/branches/3.8.0-releng/t/00-mason-syntax.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/00-mason-syntax.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/00-mason-syntax.t	Mon Jul  7 16:21:51 2008
@@ -4,6 +4,7 @@
 use warnings;
 
 use Test::More tests => 1;
+use RT::Test ();
 
 my $ok = 1;
 
@@ -23,7 +24,7 @@
         $ok = 0;
         diag "error in ${File::Find::name}:\n$@";
     },
-}, 'share/html');
+}, RT::Test::get_relocatable_dir('../share/html'));
 ok($ok, "mason syntax is ok");
 
 use HTML::Mason;

Modified: rt/3.8/branches/3.8.0-releng/t/mail/charsets-outgoing.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/mail/charsets-outgoing.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/mail/charsets-outgoing.t	Mon Jul  7 16:21:51 2008
@@ -124,10 +124,7 @@
         $subject =~ /$str_ru_test/
             or do { $status = 0; diag "wrong subject: $subject" };
     }
-    {
-        local $TODO = "This is being worked in in a branch";
-        ok $status, "all mails have correct data";
-    }
+    ok $status, "all mails have correct data";
 }
 
 diag "return back the empty subject tag" if $ENV{'TEST_VERBOSE'};
@@ -225,10 +222,7 @@
         $subject =~ /$str_ru_autoreply/
             or do { $status = 0; diag "wrong subject: $subject" };
     }
-    {
-        local $TODO = "This is being worked in in a branch";
-        ok $status, "all mails have correct data";
-    }
+    ok $status, "all mails have correct data";
 }
 
 diag "flush subject tag of the queue" if $ENV{'TEST_VERBOSE'};

Modified: rt/3.8/branches/3.8.0-releng/t/mail/crypt-gnupg.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/mail/crypt-gnupg.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/mail/crypt-gnupg.t	Mon Jul  7 16:21:51 2008
@@ -17,7 +17,10 @@
 
 use File::Spec ();
 use Cwd;
-my $homedir = File::Spec->catdir( cwd(), qw(t data gnupg keyrings) );
+
+my $homedir = RT::Test::get_abs_relocatable_dir(File::Spec->updir(),
+    qw(data gnupg keyrings) );
+
 mkdir $homedir;
 
 use_ok('RT::Crypt::GnuPG');

Modified: rt/3.8/branches/3.8.0-releng/t/mail/gnupg-bad.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/mail/gnupg-bad.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/mail/gnupg-bad.t	Mon Jul  7 16:21:51 2008
@@ -14,7 +14,8 @@
 
 use Cwd 'getcwd';
 
-my $homedir = File::Spec->catdir( getcwd(), qw(t data gnupg keyrings) );
+my $homedir = RT::Test::get_abs_relocatable_dir(File::Spec->updir(),
+    qw(data gnupg keyrings));
 
 RT->Config->Set( LogToScreen => 'debug' );
 RT->Config->Set( 'GnuPG',

Modified: rt/3.8/branches/3.8.0-releng/t/mail/gnupg-incoming.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/mail/gnupg-incoming.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/mail/gnupg-incoming.t	Mon Jul  7 16:21:51 2008
@@ -17,7 +17,8 @@
 use String::ShellQuote 'shell_quote';
 use IPC::Run3 'run3';
 
-my $homedir = File::Spec->catdir( getcwd(), qw(t data gnupg keyrings) );
+my $homedir = RT::Test::get_abs_relocatable_dir(File::Spec->updir(),
+    qw(data gnupg keyrings));
 
 # catch any outgoing emails
 RT::Test->set_mail_catcher;

Modified: rt/3.8/branches/3.8.0-releng/t/mail/gnupg-realmail.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/mail/gnupg-realmail.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/mail/gnupg-realmail.t	Mon Jul  7 16:21:51 2008
@@ -69,7 +69,9 @@
     my ($eid, $usage, $format, $attachment) = @_;
     diag "email_ok $eid: $usage, $format, $attachment" if $ENV{'TEST_VERBOSE'};
 
-    my ($file) = glob("t/data/gnupg/emails/$eid-*");
+    my $emaildatadir = RT::Test::get_relocatable_dir(File::Spec->updir(),
+        qw(data gnupg emails));
+    my ($file) = glob("$emaildatadir/$eid-*");
     my $mail = RT::Test->file_content($file);
 
     my ($status, $id) = RT::Test->send_via_mailgate($mail);

Modified: rt/3.8/branches/3.8.0-releng/t/mail/gnupg-reverification.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/mail/gnupg-reverification.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/mail/gnupg-reverification.t	Mon Jul  7 16:21:51 2008
@@ -49,7 +49,9 @@
 
 my @ticket_ids;
 
-my @files = glob("t/data/gnupg/emails/*-signed-*");
+my $emaildatadir = RT::Test::get_relocatable_dir(File::Spec->updir(),
+    qw(data gnupg emails));
+my @files = glob("$emaildatadir/*-signed-*");
 foreach my $file ( @files ) {
     diag "testing $file" if $ENV{'TEST_VERBOSE'};
 

Modified: rt/3.8/branches/3.8.0-releng/t/mail/sendmail.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/mail/sendmail.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/mail/sendmail.t	Mon Jul  7 16:21:51 2008
@@ -2,6 +2,7 @@
 
 use strict;
 use Test::More tests => 137;
+use File::Spec ();
 
 use RT::Test;
 
@@ -43,9 +44,10 @@
 
 my $parser = RT::EmailParser->new();
 
-
 # Let's test to make sure a multipart/report is processed correctly
-my $content =  RT::Test->file_content("t/data/emails/multipart-report");
+my $multipart_report_email = RT::Test::get_relocatable_file('multipart-report',
+    (File::Spec->updir(), 'data', 'emails'));
+my $content =  RT::Test->file_content($multipart_report_email);
 # be as much like the mail gateway as possible.
 use RT::Interface::Email;
 my %args =        (message => $content, queue => 1, action => 'correspond');
@@ -100,7 +102,9 @@
 # create an iso 8859-1 ticket
 @scrips_fired = ();
 
-$content =  RT::Test->file_content("t/data/emails/new-ticket-from-iso-8859-1");
+my $iso_8859_1_ticket_email = RT::Test::get_relocatable_file(
+    'new-ticket-from-iso-8859-1', (File::Spec->updir(), 'data', 'emails'));
+$content =  RT::Test->file_content($iso_8859_1_ticket_email);
 
 
 
@@ -148,7 +152,7 @@
 # create an iso 8859-1 ticket
 @scrips_fired = ();
 
- $content =  RT::Test->file_content("t/data/emails/new-ticket-from-iso-8859-1");
+ $content =  RT::Test->file_content($iso_8859_1_ticket_email);
 # be as much like the mail gateway as possible.
 use RT::Interface::Email;
                                   
@@ -242,7 +246,9 @@
 
 # {{{ test a multipart alternative containing a text-html part with an umlaut
 
- $content =  RT::Test->file_content("t/data/emails/multipart-alternative-with-umlaut");
+ my $alt_umlaut_email = RT::Test::get_relocatable_file(
+     'multipart-alternative-with-umlaut', (File::Spec->updir(), 'data', 'emails'));
+ $content =  RT::Test->file_content($alt_umlaut_email);
 
 $parser->ParseMIMEEntityFromScalar($content);
 
@@ -270,8 +276,9 @@
 # }}}
 
 # {{{ test a text-html message with an umlaut
-
- $content =  RT::Test->file_content("t/data/emails/text-html-with-umlaut");
+ my $text_html_email = RT::Test::get_relocatable_file('text-html-with-umlaut',
+     (File::Spec->updir(), 'data', 'emails'));
+ $content =  RT::Test->file_content($text_html_email);
 
 $parser->ParseMIMEEntityFromScalar($content);
 
@@ -306,8 +313,9 @@
 # }}}
 
 # {{{ test a text-html message with russian characters
-
- $content =  RT::Test->file_content("t/data/emails/text-html-in-russian");
+ my $russian_email = RT::Test::get_relocatable_file('text-html-in-russian',
+     (File::Spec->updir(), 'data', 'emails'));
+ $content =  RT::Test->file_content($russian_email);
 
 $parser->ParseMIMEEntityFromScalar($content);
 
@@ -333,7 +341,9 @@
 
 RT->Config->Set( EmailInputEncodings => 'koi8-r', RT->Config->Get('EmailInputEncodings') );
 RT->Config->Set( EmailOutputEncoding => 'koi8-r' );
-$content =  RT::Test->file_content("t/data/emails/russian-subject-no-content-type");
+my $russian_subject_email = RT::Test::get_relocatable_file(
+    'russian-subject-no-content-type', (File::Spec->updir(), 'data', 'emails'));
+$content = RT::Test->file_content($russian_subject_email);
 
 $parser->ParseMIMEEntityFromScalar($content);
 
@@ -374,7 +384,9 @@
 
 # {{{ test a message containing a nested RFC 822 message
 
- $content =  RT::Test->file_content("t/data/emails/nested-rfc-822");
+my $nested_rfc822_email = RT::Test::get_relocatable_file('nested-rfc-822',
+    (File::Spec->updir(), 'data', 'emails'));
+$content =  RT::Test->file_content($nested_rfc822_email);
 ok ($content, "Loaded nested-rfc-822 to test");
 
 $parser->ParseMIMEEntityFromScalar($content);
@@ -413,7 +425,9 @@
 
 # {{{ test a multipart alternative containing a uuencoded mesage generated by lotus notes
 
- $content =  RT::Test->file_content("t/data/emails/notes-uuencoded");
+ my $uuencoded_email = RT::Test::get_relocatable_file('notes-uuencoded',
+     (File::Spec->updir(), 'data', 'emails'));
+ $content =  RT::Test->file_content($uuencoded_email);
 
 $parser->ParseMIMEEntityFromScalar($content);
 
@@ -438,7 +452,9 @@
 
 # {{{ test a multipart that crashes the file-based mime-parser works
 
- $content =  RT::Test->file_content("t/data/emails/crashes-file-based-parser");
+ my $crashes_file_based_parser_email = RT::Test::get_relocatable_file(
+     'crashes-file-based-parser', (File::Spec->updir(), 'data', 'emails'));
+ $content = RT::Test->file_content($crashes_file_based_parser_email);
 
 $parser->ParseMIMEEntityFromScalar($content);
 
@@ -465,7 +481,9 @@
 
 # {{{ test a multi-line RT-Send-CC header
 
- $content =  RT::Test->file_content("t/data/emails/rt-send-cc");
+ my $rt_send_cc_email = RT::Test::get_relocatable_file('rt-send-cc',
+     (File::Spec->updir(), 'data', 'emails'));
+ $content =  RT::Test->file_content($rt_send_cc_email);
 
 $parser->ParseMIMEEntityFromScalar($content);
 
@@ -490,7 +508,9 @@
 
 diag q{regression test for #5248 from rt3.fsck.com} if $ENV{TEST_VERBOSE};
 {
-    my $content = RT::Test->file_content("t/data/emails/subject-with-folding-ws");
+    my $subject_folding_email = RT::Test::get_relocatable_file(
+        'subject-with-folding-ws', (File::Spec->updir(), 'data', 'emails'));
+    my $content = RT::Test->file_content($subject_folding_email);
     my ($status, $msg, $ticket) = RT::Interface::Email::Gateway(
         { message => $content, queue => 1, action => 'correspond' }
     );
@@ -501,7 +521,9 @@
 
 diag q{regression test for #5248 from rt3.fsck.com} if $ENV{TEST_VERBOSE};
 {
-    my $content = RT::Test->file_content("t/data/emails/very-long-subject");
+    my $long_subject_email = RT::Test::get_relocatable_file('very-long-subject',
+        (File::Spec->updir(), 'data', 'emails'));
+    my $content = RT::Test->file_content($long_subject_email);
     my ($status, $msg, $ticket) = RT::Interface::Email::Gateway(
         { message => $content, queue => 1, action => 'correspond' }
     );

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/00load.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/00load.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/00load.t	Mon Jul  7 16:21:51 2008
@@ -1,8 +1,14 @@
 use strict;
 use warnings;
+use File::Spec;
 use Test::More tests => 11;
+use RT::Test ();
 
-BEGIN { require "t/shredder/utils.pl" }
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 
 use_ok("RT::Shredder");
 

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/00skeleton.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/00skeleton.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/00skeleton.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 init_db();
 
 plan tests => 1;

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/01basics.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/01basics.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/01basics.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 init_db();
 
 plan tests => 3;

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/01ticket.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/01ticket.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/01ticket.t	Mon Jul  7 16:21:51 2008
@@ -5,10 +5,17 @@
 
 use Test::More;
 use Test::Deep;
+use File::Spec;
+use RT::Test ();
 
 plan tests => 15;
 
-BEGIN { require "t/shredder/utils.pl"; }
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
+
 init_db();
 create_savepoint('clean');
 

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/02group_member.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/02group_member.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/02group_member.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 init_db();
 
 plan tests => 22;

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/02queue.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/02queue.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/02queue.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 init_db();
 
 plan tests => 16;

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/02template.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/02template.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/02template.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 init_db();
 
 plan tests => 7;

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/02user.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/02user.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/02user.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 init_db();
 
 plan tests => 8;

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/03plugin.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/03plugin.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/03plugin.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 
 my @PLUGINS = sort qw(Attachments Base Objects SQLDump Summary Tickets Users);
 plan tests => 7 + 3 * @PLUGINS;

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_summary.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_summary.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_summary.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 
 plan tests => 4;
 

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_tickets.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_tickets.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_tickets.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 
 plan tests => 44;
 

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_users.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_users.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/03plugin_users.t	Mon Jul  7 16:21:51 2008
@@ -5,7 +5,13 @@
 
 use Test::More;
 use Test::Deep;
-BEGIN { require "t/shredder/utils.pl"; }
+use File::Spec;
+use RT::Test ();
+BEGIN {
+    my $shredder_utils = RT::Test::get_relocatable_file('utils.pl',
+        File::Spec->curdir());
+    require $shredder_utils;
+}
 
 plan tests => 9;
 

Modified: rt/3.8/branches/3.8.0-releng/t/shredder/utils.pl
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/shredder/utils.pl	(original)
+++ rt/3.8/branches/3.8.0-releng/t/shredder/utils.pl	Mon Jul  7 16:21:51 2008
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-require File::Spec;
+use File::Spec;
 require File::Path;
 require File::Copy;
 require Cwd;
@@ -138,7 +138,9 @@
     foreach ( qw(Type Host Port Name User Password) ) {
         $ENV{ "RT_DB_". uc $_ } = RT->Config->Get("Database$_");
     }
-    my $cmd =  "$^X sbin/rt-setup-database --action init";
+    my $rt_setup_database = RT::Test::get_relocatable_file(
+        'rt-setup-database', (File::Spec->updir(), File::Spec->updir(), 'sbin'));
+    my $cmd =  "$^X $rt_setup_database --action init";
 
     my ($child_out, $child_in);
     my $pid = open2($child_out, $child_in, $cmd);
@@ -212,15 +214,19 @@
 =head3 tmpdir
 
 Return absolute path to tmp dir used in tests.
-It is C<cwd(). "t/data/shredder">.
+It is C<Cwd->getcwd()>. $directories . "../data/shredder", relative to the
+location of this file, where $directories is the directory portion of $0.
 
 =cut
 
-sub tmpdir { return File::Spec->catdir(Cwd::cwd(), qw(t data shredder)) }
+sub tmpdir {
+    return RT::Test::get_abs_relocatable_dir(File::Spec->updir(),
+        'data', 'shredder');
+}
 
 =head2 create_tmpdir
 
-Creates tmp dir if doesn't exist. Returns tmpdir absolute path.
+Creates tmp dir if doesn't exist. Returns tmpdir path.
 
 =cut
 

Added: rt/3.8/branches/3.8.0-releng/t/ticket/badlinks.t
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/t/ticket/badlinks.t	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,39 @@
+#!/usr/bin/env perl
+use strict;
+use warnings;
+use Test::More tests => 12;
+use RT::Test;
+
+my ($baseurl, $m) = RT::Test->started_ok;
+ok($m->login, "Logged in");
+
+my $queue = RT::Test->load_or_create_queue(Name => 'General');
+ok($queue->Id, "loaded the General queue");
+
+my $ticket = RT::Ticket->new($RT::SystemUser);
+my ($tid, $txn, $msg) = $ticket->Create(
+        Queue => $queue->id,
+        Subject => 'test links',
+        );
+ok $tid, 'created a ticket #'. $tid or diag "error: $msg";
+
+$m->goto_ticket($tid);
+
+$m->follow_link_ok( { text => 'Links' }, "Followed link to Links" );
+
+ok $m->form_with_fields("$tid-DependsOn"), "found the form";
+my $not_a_ticket_url = "http://example.com/path/to/nowhere";
+$m->field("$tid-DependsOn", $not_a_ticket_url);
+$m->field("DependsOn-$tid", $not_a_ticket_url);
+$m->field("$tid-MemberOf", $not_a_ticket_url);
+$m->field("MemberOf-$tid", $not_a_ticket_url);
+$m->field("$tid-RefersTo", $not_a_ticket_url);
+$m->field("RefersTo-$tid", $not_a_ticket_url);
+$m->submit;
+
+foreach my $type ("depends on", "member of", "refers to") {
+    $m->content_like(qr/$type.+$not_a_ticket_url/,"base for $type");
+    $m->content_like(qr/$not_a_ticket_url.+$type/,"target for $type");
+}
+
+$m->goto_ticket($tid);

Modified: rt/3.8/branches/3.8.0-releng/t/ticket/search_by_watcher.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/ticket/search_by_watcher.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/ticket/search_by_watcher.t	Mon Jul  7 16:21:51 2008
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 103;
+use Test::More tests => 119;
 use RT::Test;
 use RT::Ticket;
 
@@ -104,6 +104,7 @@
         { xy => 0, x => 1, y => 0, '-' => 0, z => 0 },
     'Subject NOT LIKE "x" AND Requestor != "y at example.com"' =>
         { xy => 0, x => 0, y => 0, '-' => 1, z => 1 },
+
     'Subject LIKE "x" OR Requestor = "y at example.com"' =>
         { xy => 1, x => 1, y => 1, '-' => 0, z => 0 },
     'Subject NOT LIKE "x" OR Requestor = "y at example.com"' =>
@@ -113,6 +114,24 @@
     'Subject NOT LIKE "x" OR Requestor != "y at example.com"' =>
         { xy => 0, x => 1, y => 1, '-' => 1, z => 1 },
 
+# group of cases when user doesn't exist in DB at all
+    'Subject LIKE "x" AND Requestor = "not-exist at example.com"' =>
+        { xy => 0, x => 0, y => 0, '-' => 0, z => 0 },
+    'Subject NOT LIKE "x" AND Requestor = "not-exist at example.com"' =>
+        { xy => 0, x => 0, y => 0, '-' => 0, z => 0 },
+    'Subject LIKE "x" AND Requestor != "not-exist at example.com"' =>
+        { xy => 1, x => 1, y => 0, '-' => 0, z => 0 },
+    'Subject NOT LIKE "x" AND Requestor != "not-exist at example.com"' =>
+        { xy => 0, x => 0, y => 1, '-' => 1, z => 1 },
+#    'Subject LIKE "x" OR Requestor = "not-exist at example.com"' =>
+#        { xy => 1, x => 1, y => 0, '-' => 0, z => 0 },
+#    'Subject NOT LIKE "x" OR Requestor = "not-exist at example.com"' =>
+#        { xy => 0, x => 0, y => 1, '-' => 1, z => 1 },
+    'Subject LIKE "x" OR Requestor != "not-exist at example.com"' =>
+        { xy => 1, x => 1, y => 1, '-' => 1, z => 1 },
+    'Subject NOT LIKE "x" OR Requestor != "not-exist at example.com"' =>
+        { xy => 1, x => 1, y => 1, '-' => 1, z => 1 },
+
     'Subject LIKE "z" AND (Requestor = "x at example.com" OR Requestor = "y at example.com")' =>
         { xy => 0, x => 0, y => 0, '-' => 0, z => 0 },
     'Subject NOT LIKE "z" AND (Requestor = "x at example.com" OR Requestor = "y at example.com")' =>
@@ -129,6 +148,10 @@
     %test = (
         'Requestor = "x at example.com" AND Requestor = "y at example.com"'
             => { xy => 1, x => 0, y => 0, '-' => 0, z => 0 },
+        'Subject LIKE "x" OR Requestor = "not-exist at example.com"' =>
+            { xy => 1, x => 1, y => 0, '-' => 0, z => 0 },
+        'Subject NOT LIKE "x" OR Requestor = "not-exist at example.com"' =>
+            { xy => 0, x => 0, y => 1, '-' => 1, z => 1 },
     );
     run_tests();
 }

Modified: rt/3.8/branches/3.8.0-releng/t/web/command_line.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/web/command_line.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/web/command_line.t	Mon Jul  7 16:21:51 2008
@@ -1,6 +1,7 @@
 #!/usr/bin/perl -w
 
 use strict;
+use File::Spec ();
 use Test::Expect;
 use Test::More tests => 241;
 use RT::Test;
@@ -108,9 +109,11 @@
     expect_like(qr/Message recorded/, "Added the correspondence");
     ### should test to make sure it actually got added
 
+    my $test_email = RT::Test::get_relocatable_file('lorem-ipsum',
+        (File::Spec->updir(), 'data', 'emails'));
     # add attachments to a ticket
     # text attachment
-    check_attachment("t/data/emails/lorem-ipsum");
+    check_attachment($test_email);
     # binary attachment
     check_attachment($RT::MasonComponentRoot.'/NoAuth/images/bplogo.gif');
 

Modified: rt/3.8/branches/3.8.0-releng/t/web/crypt-gnupg.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/web/crypt-gnupg.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/web/crypt-gnupg.t	Mon Jul  7 16:21:51 2008
@@ -79,7 +79,7 @@
 $m->field(Encrypt => 1);
 $m->submit;
 
-unlink "t/mailbox";
+RT::Test->clean_caught_mails;
 
 $m->goto_create_ticket( $queue );
 $m->form_name('TicketCreate');
@@ -148,7 +148,7 @@
 $m->field(Sign => 1);
 $m->submit;
 
-unlink "t/mailbox";
+RT::Test->clean_caught_mails;
 
 $m->goto_create_ticket( $queue );
 $m->form_name('TicketCreate');
@@ -220,7 +220,8 @@
 $m->field(Sign => 1);
 $m->submit;
 
-unlink "t/mailbox";
+RT::Test->clean_caught_mails;
+
 
 $m->goto_create_ticket( $queue );
 $m->form_name('TicketCreate');
@@ -285,7 +286,7 @@
     like($attachments[0]->Content, qr/$RT::rtname/, "RT's mail includes this instance's name");
 }
 
-unlink "t/mailbox";
+RT::Test->clean_caught_mails;
 
 $m->goto_create_ticket( $queue );
 $m->form_name('TicketCreate');

Added: rt/3.8/branches/3.8.0-releng/t/web/dashboards-groups.t
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/t/web/dashboards-groups.t	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,99 @@
+#!/usr/bin/perl -w
+use strict;
+
+use Test::More tests => 36;
+use RT::Test;
+my ($baseurl, $m) = RT::Test->started_ok;
+
+my $url = $m->rt_base_url;
+
+# create user and queue {{{
+my $user_obj = RT::User->new($RT::SystemUser);
+my ($ok, $msg) = $user_obj->LoadOrCreateByEmail('customer at example.com');
+ok($ok, 'ACL test user creation');
+$user_obj->SetName('customer');
+$user_obj->SetPrivileged(1);
+($ok, $msg) = $user_obj->SetPassword('customer');
+$user_obj->PrincipalObj->GrantRight(Right => 'ModifySelf');
+my $currentuser = RT::CurrentUser->new($user_obj);
+
+my $queue = RT::Queue->new($RT::SystemUser);
+$queue->Create(Name => 'SearchQueue'.$$);
+
+$user_obj->PrincipalObj->GrantRight(Right => $_, Object => $queue)
+    for qw/SeeQueue ShowTicket OwnTicket/;
+
+# grant the user all these rights so we can make sure that the group rights
+# are checked and not these as well
+$user_obj->PrincipalObj->GrantRight(Right => $_, Object => $RT::System)
+    for qw/SubscribeDashboard CreateOwnDashboard SeeOwnDashboard ModifyOwnDashboard DeleteOwnDashboard/;
+# }}}
+# create and test groups (outer < inner < user) {{{
+my $inner_group = RT::Group->new($RT::SystemUser);
+($ok, $msg) = $inner_group->CreateUserDefinedGroup(Name => "inner", Description => "inner group");
+ok($ok, "created inner group: $msg");
+
+my $outer_group = RT::Group->new($RT::SystemUser);
+($ok, $msg) = $outer_group->CreateUserDefinedGroup(Name => "outer", Description => "outer group");
+ok($ok, "created outer group: $msg");
+
+($ok, $msg) = $outer_group->AddMember($inner_group->PrincipalId);
+ok($ok, "added inner as a member of outer: $msg");
+
+($ok, $msg) = $inner_group->AddMember($user_obj->PrincipalId);
+ok($ok, "added user as a member of member: $msg");
+
+ok($outer_group->HasMember($inner_group->PrincipalId), "outer has inner");
+ok(!$outer_group->HasMember($user_obj->PrincipalId), "outer doesn't have user directly");
+ok($outer_group->HasMemberRecursively($inner_group->PrincipalId), "outer has inner recursively");
+ok($outer_group->HasMemberRecursively($user_obj->PrincipalId), "outer has user recursively");
+
+ok(!$inner_group->HasMember($outer_group->PrincipalId), "inner doesn't have outer");
+ok($inner_group->HasMember($user_obj->PrincipalId), "inner has user");
+ok(!$inner_group->HasMemberRecursively($outer_group->PrincipalId), "inner doesn't have outer, even recursively");
+ok($inner_group->HasMemberRecursively($user_obj->PrincipalId), "inner has user recursively");
+# }}}
+
+ok $m->login(customer => 'customer'), "logged in";
+
+$m->get_ok("$url/Dashboards");
+
+$m->follow_link_ok({text => "New dashboard"});
+$m->form_name('ModifyDashboard');
+is_deeply([$m->current_form->find_input('Privacy')->possible_values], ["RT::User-" . $user_obj->Id], "the only selectable privacy is user");
+$m->content_lacks('Delete', "Delete button hidden because we are creating");
+
+$user_obj->PrincipalObj->GrantRight(Right => 'CreateGroupDashboard', Object => $inner_group);
+
+$m->follow_link_ok({text => "New dashboard"});
+$m->form_name('ModifyDashboard');
+is_deeply([$m->current_form->find_input('Privacy')->possible_values], ["RT::User-" . $user_obj->Id, "RT::Group-" . $inner_group->Id], "the only selectable privacies are user and inner group (not outer group)");
+$m->field("Name" => 'inner dashboard');
+$m->field("Privacy" => "RT::Group-" . $inner_group->Id);
+$m->content_lacks('Delete', "Delete button hidden because we are creating");
+
+$m->click_button(value => 'Save Changes');
+$m->content_lacks("No permission to create dashboards");
+$m->content_contains("Saved dashboard inner dashboard");
+$m->content_lacks('Delete', "Delete button hidden because we lack DeleteDashboard");
+
+my $dashboard = RT::Dashboard->new($currentuser);
+my ($id) = $m->content =~ /name="id" value="(\d+)"/;
+ok($id, "got an ID, $id");
+$dashboard->LoadById($id);
+is($dashboard->Name, "inner dashboard");
+
+is($dashboard->Privacy, 'RT::Group-' . $inner_group->Id, "correct privacy");
+is($dashboard->PossibleHiddenSearches, 0, "all searches are visible");
+
+$m->get_ok("/Dashboards/Modify.html?id=$id");
+$m->content_lacks("inner dashboard", "no SeeGroupDashboard right");
+$m->content_contains("Permission denied");
+
+$user_obj->PrincipalObj->GrantRight(Right => 'SeeGroupDashboard', Object => $inner_group);
+$m->get_ok("/Dashboards/Modify.html?id=$id");
+$m->content_contains("inner dashboard", "we now have SeeGroupDashboard right");
+$m->content_lacks("Permission denied");
+
+$m->content_contains('Subscription', "Subscription link not hidden because we have SubscribeDashboard");
+

Modified: rt/3.8/branches/3.8.0-releng/t/web/dashboards.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/web/dashboards.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/web/dashboards.t	Mon Jul  7 16:21:51 2008
@@ -1,7 +1,7 @@
 #!/usr/bin/perl -w
 use strict;
 
-use Test::More tests => 59;
+use Test::More tests => 78;
 use RT::Test;
 my ($baseurl, $m) = RT::Test->started_ok;
 
@@ -25,28 +25,45 @@
 ok $m->login(customer => 'customer'), "logged in";
 
 $m->get_ok($url."Dashboards/index.html");
-$m->content_lacks("New dashboard", "No 'new dashboard' link because we have no ModifyDashboard");
+$m->content_lacks("New dashboard", "No 'new dashboard' link because we have no CreateOwnDashboard");
 
 $m->get_ok($url."Dashboards/Modify.html?Create=1");
-$m->form_name('ModifyDashboard');
-$m->field("Name" => 'test dashboard');
-$m->click_button(value => 'Save Changes');
-$m->content_contains("No permission to create dashboards");
+$m->content_contains("Permission denied");
+$m->content_lacks("Save Changes");
+
+$user_obj->PrincipalObj->GrantRight(Right => 'ModifyOwnDashboard', Object => $RT::System);
+
+# Modify itself is no longer good enough, you need Create
+$m->get_ok($url."Dashboards/Modify.html?Create=1");
+$m->content_contains("Permission denied");
+$m->content_lacks("Save Changes");
 
-$user_obj->PrincipalObj->GrantRight(Right => 'ModifyDashboard');
+$user_obj->PrincipalObj->GrantRight(Right => 'CreateOwnDashboard', Object => $RT::System);
+
+$m->get_ok($url."Dashboards/Modify.html?Create=1");
+$m->content_lacks("Permission denied");
+$m->content_contains("Save Changes");
 
 $m->get_ok($url."Dashboards/index.html");
-$m->content_contains("New dashboard", "'New dashboard' link because we now have ModifyDashboard");
+$m->content_contains("New dashboard", "'New dashboard' link because we now have ModifyOwnDashboard");
 
 $m->follow_link_ok({text => "New dashboard"});
 $m->form_name('ModifyDashboard');
 $m->field("Name" => 'different dashboard');
+$m->content_lacks('Delete', "Delete button hidden because we are creating");
 $m->click_button(value => 'Save Changes');
 $m->content_lacks("No permission to create dashboards");
 $m->content_contains("Saved dashboard different dashboard");
+$m->content_lacks('Delete', "Delete button hidden because we lack DeleteOwnDashboard");
+
+$m->get_ok($url."Dashboards/index.html");
+$m->content_lacks("different dashboard", "we lack SeeOwnDashboard");
+
+$user_obj->PrincipalObj->GrantRight(Right => 'SeeOwnDashboard', Object => $RT::System);
 
 $m->get_ok($url."Dashboards/index.html");
-$m->content_contains("different dashboard");
+$m->content_contains("different dashboard", "we now have SeeOwnDashboard");
+$m->content_lacks("Permission denied");
 
 $m->follow_link_ok({text => "different dashboard"});
 $m->content_contains("Basics");
@@ -70,6 +87,9 @@
 $dashboard->LoadById($id);
 is($dashboard->Name, "different dashboard");
 
+is($dashboard->Privacy, 'RT::User-' . $user_obj->Id, "correct privacy");
+is($dashboard->PossibleHiddenSearches, 0, "all searches are visible");
+
 my @searches = $dashboard->Searches;
 is(@searches, 1, "one saved search in the dashboard");
 like($searches[0]->Name, qr/newest unowned tickets/, "correct search name");
@@ -111,12 +131,12 @@
 $m->get_ok("/Dashboards/Subscription.html?DashboardId=$id");
 $m->form_name('SubscribeDashboard');
 $m->click_button(name => 'Save');
-$m->content_contains("No permission to subscribe to dashboards");
+$m->content_contains("Permission denied");
 
 RT::Record->FlushCache if RT::Record->can('FlushCache');
 is($user_obj->Attributes->Named('Subscription'), 0, "no subscriptions");
 
-$user_obj->PrincipalObj->GrantRight(Right => 'SubscribeDashboard');
+$user_obj->PrincipalObj->GrantRight(Right => 'SubscribeDashboard', Object => $RT::System);
 
 $m->get_ok("/Dashboards/Modify.html?id=$id");
 $m->follow_link_ok({text => "Subscription"});
@@ -127,7 +147,7 @@
 
 $m->form_name('SubscribeDashboard');
 $m->click_button(name => 'Save');
-$m->content_lacks("No permission to subscribe to dashboards");
+$m->content_lacks("Permission denied");
 $m->content_contains("Subscribed to dashboard different dashboard");
 
 RT::Record->FlushCache if RT::Record->can('FlushCache');
@@ -140,10 +160,19 @@
 $m->follow_link_ok({text => "Subscription"});
 $m->content_contains("Modify the subscription to dashboard different dashboard");
 
-$m->form_name('SubscribeDashboard');
-$m->click_button(name => 'Unsubscribe');
+$m->get_ok("/Dashboards/Modify.html?id=$id&Delete=1");
+$m->content_contains("Permission denied", "unable to delete dashboard because we lack DeleteOwnDashboard");
 
-$m->content_contains("Unsubscribed to dashboard different dashboard");
+$user_obj->PrincipalObj->GrantRight(Right => 'DeleteOwnDashboard', Object => $RT::System);
+
+$m->get_ok("/Dashboards/Modify.html?id=$id");
+$m->content_contains('Delete', "Delete button shows because we have DeleteOwnDashboard");
+
+$m->form_name('ModifyDashboard');
+$m->click_button(name => 'Delete');
+$m->content_contains("Deleted dashboard $id");
+
+$m->get("/Dashboards/Modify.html?id=$id");
+$m->content_lacks("different dashboard", "dashboard was deleted");
+$m->content_contains("Failed to load dashboard $id");
 
-RT::Record->FlushCache if RT::Record->can('FlushCache');
-is($user_obj->Attributes->Named('Subscription'), 0, "no more subscriptions");

Modified: rt/3.8/branches/3.8.0-releng/t/web/gnupg-outgoing.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/web/gnupg-outgoing.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/web/gnupg-outgoing.t	Mon Jul  7 16:21:51 2008
@@ -255,8 +255,7 @@
 sub create_a_ticket {
     my %args = (@_);
 
-    # cleanup mail catcher's storage
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     $m->goto_create_ticket( $queue );
     $m->form_name('TicketCreate');
@@ -287,8 +286,7 @@
     my $tid = shift;
     my %args = (@_);
 
-    # cleanup mail catcher's storage
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_ticket( $tid ), "UI -> ticket #$tid";
     $m->follow_link_ok( { text => 'Reply' }, 'ticket -> reply' );

Modified: rt/3.8/branches/3.8.0-releng/t/web/gnupg-select-keys-on-create.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/web/gnupg-select-keys-on-create.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/web/gnupg-select-keys-on-create.t	Mon Jul  7 16:21:51 2008
@@ -53,7 +53,7 @@
 
 diag "check that signing doesn't work if there is no key" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_create_ticket( $queue ), "UI -> create ticket";
     $m->form_number(3);
@@ -79,7 +79,7 @@
 
 diag "check that things don't work if there is no key" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_create_ticket( $queue ), "UI -> create ticket";
     $m->form_number(3);
@@ -114,7 +114,7 @@
 
 diag "check that things still doesn't work if key is not trusted" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_create_ticket( $queue ), "UI -> create ticket";
     $m->form_number(3);
@@ -161,7 +161,7 @@
 
 diag "check that things still doesn't work if two keys are not trusted" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_create_ticket( $queue ), "UI -> create ticket";
     $m->form_number(3);
@@ -206,7 +206,7 @@
 
 diag "check that we see key selector even if only one key is trusted but there are more keys";
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_create_ticket( $queue ), "UI -> create ticket";
     $m->form_number(3);
@@ -233,7 +233,7 @@
 
 diag "check that key selector works and we can select trusted key";
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_create_ticket( $queue ), "UI -> create ticket";
     $m->form_number(3);
@@ -265,7 +265,7 @@
 
 diag "check encrypting of attachments";
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_create_ticket( $queue ), "UI -> create ticket";
     $m->form_number(3);

Modified: rt/3.8/branches/3.8.0-releng/t/web/gnupg-select-keys-on-update.t
==============================================================================
--- rt/3.8/branches/3.8.0-releng/t/web/gnupg-select-keys-on-update.t	(original)
+++ rt/3.8/branches/3.8.0-releng/t/web/gnupg-select-keys-on-update.t	Mon Jul  7 16:21:51 2008
@@ -64,7 +64,7 @@
 
 diag "check that signing doesn't work if there is no key" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_ticket( $tid ), "UI -> ticket #$tid";
     $m->follow_link_ok( { text => 'Reply' }, 'ticket -> reply' );
@@ -91,7 +91,7 @@
 
 diag "check that things don't work if there is no key" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_ticket( $tid ), "UI -> ticket #$tid";
     $m->follow_link_ok( { text => 'Reply' }, 'ticket -> reply' );
@@ -128,7 +128,7 @@
 
 diag "check that things still doesn't work if key is not trusted" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_ticket( $tid ), "UI -> ticket #$tid";
     $m->follow_link_ok( { text => 'Reply' }, 'ticket -> reply' );
@@ -176,7 +176,7 @@
 
 diag "check that things still doesn't work if two keys are not trusted" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_ticket( $tid ), "UI -> ticket #$tid";
     $m->follow_link_ok( { text => 'Reply' }, 'ticket -> reply' );
@@ -222,7 +222,7 @@
 
 diag "check that we see key selector even if only one key is trusted but there are more keys" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_ticket( $tid ), "UI -> ticket #$tid";
     $m->follow_link_ok( { text => 'Reply' }, 'ticket -> reply' );
@@ -250,7 +250,7 @@
 
 diag "check that key selector works and we can select trusted key" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_ticket( $tid ), "UI -> ticket #$tid";
     $m->follow_link_ok( { text => 'Reply' }, 'ticket -> reply' );
@@ -283,7 +283,7 @@
 
 diag "check encrypting of attachments" if $ENV{TEST_VERBOSE};
 {
-    unlink "t/mailbox";
+    RT::Test->clean_caught_mails;
 
     ok $m->goto_ticket( $tid ), "UI -> ticket #$tid";
     $m->follow_link_ok( { text => 'Reply' }, 'ticket -> reply' );

Added: rt/3.8/branches/3.8.0-releng/t/web/unlimited_search.t
==============================================================================
--- (empty file)
+++ rt/3.8/branches/3.8.0-releng/t/web/unlimited_search.t	Mon Jul  7 16:21:51 2008
@@ -0,0 +1,42 @@
+#!/usr/bin/perl
+
+use strict;
+use Test::More tests => 8;
+
+use RT::Test;
+RT::Test->started_ok;
+
+my $ticket = RT::Ticket->new($RT::SystemUser);
+for ( 1 .. 75 ) {
+    $ticket->Create(
+        Subject   => 'Ticket ' . $_,
+        Queue     => 'General',
+        Owner     => 'root',
+        Requestor => 'unlimitedsearch at localhost',
+    );
+}
+
+my $agent = RT::Test::Web->new;
+ok $agent->login('root', 'password'), 'logged in as root';
+
+$agent->get_ok('/Search/Build.html');
+$agent->form_name('BuildQuery');
+$agent->field('idOp', '>');
+$agent->field('ValueOfid', '0');
+$agent->submit('AddClause');
+$agent->form_name('BuildQuery');
+$agent->field('RowsPerPage', '0');
+$agent->submit('DoSearch');
+$agent->follow_link_ok({text=>'Show Results'});
+$agent->content_like(qr/Ticket 75/);
+
+$agent->follow_link_ok({text=>'New Search'});
+$agent->form_name('BuildQuery');
+$agent->field('idOp', '>');
+$agent->field('ValueOfid', '0');
+$agent->submit('AddClause');
+$agent->form_name('BuildQuery');
+$agent->field('RowsPerPage', '50');
+$agent->submit('DoSearch');
+$agent->follow_link_ok({text=>'Bulk Update'});
+$agent->content_unlike(qr/Ticket 51/);


More information about the Rt-commit mailing list