summaryrefslogtreecommitdiff
path: root/rt/lib/RT
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib/RT')
-rwxr-xr-xrt/lib/RT/ACE.pm113
-rwxr-xr-xrt/lib/RT/ACL.pm64
-rwxr-xr-xrt/lib/RT/Action.pm41
-rwxr-xr-xrt/lib/RT/Action/Autoreply.pm121
-rw-r--r--rt/lib/RT/Action/CreateTickets.pm50
-rw-r--r--rt/lib/RT/Action/EscalatePriority.pm37
-rwxr-xr-xrt/lib/RT/Action/EscalateQueue.pm141
-rwxr-xr-xrt/lib/RT/Action/Generic.pm215
-rwxr-xr-xrt/lib/RT/Action/Notify.pm144
-rwxr-xr-xrt/lib/RT/Action/NotifyAsComment.pm77
-rw-r--r--rt/lib/RT/Action/ResolveMembers.pm59
-rwxr-xr-xrt/lib/RT/Action/SendEmail.pm1245
-rw-r--r--rt/lib/RT/Action/SetPriority_Local.pm47
-rwxr-xr-xrt/lib/RT/Attachment.pm127
-rwxr-xr-xrt/lib/RT/Attachments.pm59
-rwxr-xr-xrt/lib/RT/Condition.pm43
-rw-r--r--rt/lib/RT/Condition/AnyTransaction.pm59
-rw-r--r--rt/lib/RT/Condition/CustomFieldChange.pm56
-rwxr-xr-xrt/lib/RT/Condition/Generic.pm231
-rw-r--r--rt/lib/RT/Condition/StatusChange.pm61
-rw-r--r--rt/lib/RT/Config.pm87
-rwxr-xr-xrt/lib/RT/CurrentUser.pm439
-rw-r--r--rt/lib/RT/CustomField.pm33
-rw-r--r--rt/lib/RT/CustomFieldValues/Queues.pm30
-rw-r--r--rt/lib/RT/CustomField_Overlay.pm51
-rw-r--r--rt/lib/RT/Date.pm84
-rw-r--r--rt/lib/RT/Extension/ActivityReports.pm3
-rwxr-xr-xrt/lib/RT/Group.pm101
-rwxr-xr-xrt/lib/RT/GroupMember.pm77
-rwxr-xr-xrt/lib/RT/GroupMembers.pm59
-rwxr-xr-xrt/lib/RT/Groups.pm61
-rw-r--r--rt/lib/RT/Groups_Overlay.pm31
-rw-r--r--rt/lib/RT/Handle.pm1070
-rw-r--r--rt/lib/RT/I18N/en_malkovich.po3973
-rw-r--r--rt/lib/RT/I18N/no.po6563
-rw-r--r--rt/lib/RT/I18N/pt_br.po6528
-rw-r--r--rt/lib/RT/I18N/pt_pt.po5194
-rw-r--r--rt/lib/RT/I18N/zh_cn.po8423
-rw-r--r--rt/lib/RT/I18N/zh_tw.po8360
-rw-r--r--rt/lib/RT/Interface/CLI.pm74
-rwxr-xr-xrt/lib/RT/Interface/Email.pm1967
-rw-r--r--rt/lib/RT/Interface/Web.pm208
-rw-r--r--rt/lib/RT/Interface/Web_Vendor.pm201
-rw-r--r--rt/lib/RT/Link.pm111
-rw-r--r--rt/lib/RT/Links.pm59
-rw-r--r--rt/lib/RT/Principal_Overlay.pm34
-rwxr-xr-xrt/lib/RT/Queue.pm129
-rw-r--r--rt/lib/RT/Queue_Local.pm72
-rw-r--r--rt/lib/RT/Queue_Overlay.pm34
-rwxr-xr-xrt/lib/RT/Queues.pm59
-rwxr-xr-xrt/lib/RT/Record.pm94
-rw-r--r--rt/lib/RT/SavedSearches_Local.pm19
-rwxr-xr-xrt/lib/RT/Scrip.pm155
-rwxr-xr-xrt/lib/RT/ScripAction.pm105
-rwxr-xr-xrt/lib/RT/ScripActions.pm59
-rwxr-xr-xrt/lib/RT/ScripCondition.pm111
-rwxr-xr-xrt/lib/RT/ScripConditions.pm59
-rw-r--r--rt/lib/RT/Scrip_Overlay.pm94
-rwxr-xr-xrt/lib/RT/Scrips.pm59
-rw-r--r--rt/lib/RT/SearchBuilder.pm32
-rw-r--r--rt/lib/RT/System.pm52
-rwxr-xr-xrt/lib/RT/Template.pm125
-rwxr-xr-xrt/lib/RT/Templates.pm59
-rw-r--r--rt/lib/RT/Test.pm83
-rwxr-xr-xrt/lib/RT/Ticket.pm215
-rw-r--r--rt/lib/RT/TicketCustomFieldValue.pm308
-rw-r--r--rt/lib/RT/TicketCustomFieldValue_Overlay.pm74
-rw-r--r--rt/lib/RT/TicketCustomFieldValues.pm137
-rw-r--r--rt/lib/RT/TicketCustomFieldValues_Overlay.pm108
-rw-r--r--rt/lib/RT/Ticket_Overlay.pm137
-rwxr-xr-xrt/lib/RT/Tickets.pm59
-rw-r--r--rt/lib/RT/Tickets_Overlay.pm210
-rwxr-xr-xrt/lib/RT/Transaction.pm243
-rw-r--r--rt/lib/RT/Transaction_Overlay.pm107
-rwxr-xr-xrt/lib/RT/Transactions.pm59
-rw-r--r--rt/lib/RT/URI/freeside.pm297
-rw-r--r--rt/lib/RT/URI/freeside/Internal.pm145
-rw-r--r--rt/lib/RT/URI/freeside/XMLRPC.pm122
-rwxr-xr-xrt/lib/RT/User.pm255
-rw-r--r--rt/lib/RT/User_Overlay.pm386
-rwxr-xr-xrt/lib/RT/Users.pm59
-rw-r--r--rt/lib/RT/Users_Overlay.pm31
82 files changed, 4949 insertions, 46214 deletions
diff --git a/rt/lib/RT/ACE.pm b/rt/lib/RT/ACE.pm
index 8c2551c83..1501a125e 100755
--- a/rt/lib/RT/ACE.pm
+++ b/rt/lib/RT/ACE.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -69,7 +44,11 @@ RT::ACE
=cut
package RT::ACE;
-use base 'RT::Record';
+use RT::Record;
+
+
+use vars qw( @ISA );
+@ISA= qw( RT::Record );
sub _Init {
my $self = shift;
@@ -82,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -125,7 +104,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -134,14 +113,14 @@ Returns the current value of id.
=cut
-=head2 PrincipalType
+=item PrincipalType
Returns the current value of PrincipalType.
(In the database, PrincipalType is stored as varchar(25).)
-=head2 SetPrincipalType VALUE
+=item SetPrincipalType VALUE
Set PrincipalType to VALUE.
@@ -152,14 +131,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 PrincipalId
+=item PrincipalId
Returns the current value of PrincipalId.
(In the database, PrincipalId is stored as int(11).)
-=head2 SetPrincipalId VALUE
+=item SetPrincipalId VALUE
Set PrincipalId to VALUE.
@@ -170,14 +149,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 RightName
+=item RightName
Returns the current value of RightName.
(In the database, RightName is stored as varchar(25).)
-=head2 SetRightName VALUE
+=item SetRightName VALUE
Set RightName to VALUE.
@@ -188,14 +167,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ObjectType
+=item ObjectType
Returns the current value of ObjectType.
(In the database, ObjectType is stored as varchar(25).)
-=head2 SetObjectType VALUE
+=item SetObjectType VALUE
Set ObjectType to VALUE.
@@ -206,14 +185,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ObjectId
+=item ObjectId
Returns the current value of ObjectId.
(In the database, ObjectId is stored as int(11).)
-=head2 SetObjectId VALUE
+=item SetObjectId VALUE
Set ObjectId to VALUE.
@@ -224,14 +203,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 DelegatedBy
+=item DelegatedBy
Returns the current value of DelegatedBy.
(In the database, DelegatedBy is stored as int(11).)
-=head2 SetDelegatedBy VALUE
+=item SetDelegatedBy VALUE
Set DelegatedBy to VALUE.
@@ -242,14 +221,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 DelegatedFrom
+=item DelegatedFrom
Returns the current value of DelegatedFrom.
(In the database, DelegatedFrom is stored as int(11).)
-=head2 SetDelegatedFrom VALUE
+=item SetDelegatedFrom VALUE
Set DelegatedFrom to VALUE.
@@ -261,25 +240,25 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
PrincipalType =>
- {read => 1, write => 1, sql_type => 12, length => 25, is_blob => 0, is_numeric => 0, type => 'varchar(25)', default => ''},
+ {read => 1, write => 1, type => 'varchar(25)', default => ''},
PrincipalId =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
RightName =>
- {read => 1, write => 1, sql_type => 12, length => 25, is_blob => 0, is_numeric => 0, type => 'varchar(25)', default => ''},
+ {read => 1, write => 1, type => 'varchar(25)', default => ''},
ObjectType =>
- {read => 1, write => 1, sql_type => 12, length => 25, is_blob => 0, is_numeric => 0, type => 'varchar(25)', default => ''},
+ {read => 1, write => 1, type => 'varchar(25)', default => ''},
ObjectId =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
DelegatedBy =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
DelegatedFrom =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
}
};
@@ -311,7 +290,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/ACL.pm b/rt/lib/RT/ACL.pm
index 26acbd96c..81f59c6d0 100755
--- a/rt/lib/RT/ACL.pm
+++ b/rt/lib/RT/ACL.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -72,9 +47,12 @@ use strict;
package RT::ACL;
-use base 'RT::SearchBuilder';
+use RT::SearchBuilder;
use RT::ACE;
+use vars qw( @ISA );
+@ISA= qw(RT::SearchBuilder);
+
sub _Init {
my $self = shift;
@@ -86,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::ACE item
@@ -123,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Action.pm b/rt/lib/RT/Action.pm
index 0993d5817..42bf767e7 100755
--- a/rt/lib/RT/Action.pm
+++ b/rt/lib/RT/Action.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -204,6 +204,17 @@ sub IsApplicable {
}
# }}}
+sub Options {
+ my $self = shift;
+ return();
+}
+
+sub Rules {
+ my $self = shift;
+ return () if !$self->ScripObj or !$self->ScripObj->ActionRules;
+ return(split "\n", $self->ScripObj->ActionRules);
+}
+
# {{{ sub DESTROY
sub DESTROY {
my $self = shift;
diff --git a/rt/lib/RT/Action/Autoreply.pm b/rt/lib/RT/Action/Autoreply.pm
index a41211888..81f7bddfa 100755
--- a/rt/lib/RT/Action/Autoreply.pm
+++ b/rt/lib/RT/Action/Autoreply.pm
@@ -1,71 +1,34 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
package RT::Action::Autoreply;
+require RT::Action::SendEmail;
use strict;
-use warnings;
-
-use base qw(RT::Action::SendEmail);
-
-=head2 Prepare
-
-Set up the relevant recipients, then call our parent.
-
-=cut
+use vars qw/@ISA/;
+@ISA = qw(RT::Action::SendEmail);
-sub Prepare {
- my $self = shift;
- $self->SetRecipients();
- $self->SUPER::Prepare();
-}
-
# {{{ sub SetRecipients
=head2 SetRecipients
@@ -96,37 +59,35 @@ Set this message\'s return address to the apropriate queue address
sub SetReturnAddress {
my $self = shift;
+ my %args = ( is_comment => 0,
+ @_
+ );
- my $friendly_name;
-
- if (RT->Config->Get('UseFriendlyFromLine')) {
- $friendly_name = $self->TicketObj->QueueObj->Description ||
- $self->TicketObj->QueueObj->Name;
- }
-
- $self->SUPER::SetReturnAddress( @_, friendly_name => $friendly_name );
+ my $replyto;
+ if ($args{'is_comment'}) {
+ $replyto = $self->TicketObj->QueueObj->CommentAddress ||
+ $RT::CommentAddress;
+ }
+ else {
+ $replyto = $self->TicketObj->QueueObj->CorrespondAddress ||
+ $RT::CorrespondAddress;
+ }
+
+ unless ($self->TemplateObj->MIMEObj->head->get('From')) {
+ my $friendly_name = $self->TicketObj->QueueObj->Description ||
+ $self->TicketObj->QueueObj->Name;
+ $friendly_name =~ s/"/\\"/g;
+ $self->SetHeader('From', "\"$friendly_name\" <$replyto>");
+ }
+
+ unless ($self->TemplateObj->MIMEObj->head->get('Reply-To')) {
+ $self->SetHeader('Reply-To', "$replyto");
+ }
}
# }}}
-# {{{{ sub SetRTSpecialHeaders
-
-=head2 SetRTSpecialHeaders
-
-Set the C<Auto-Generated> header to C<auto-replied>, in accordance
-with RFC3834.
-
-=cut
-
-sub SetRTSpecialHeaders {
- my $self = shift;
- $self->SUPER::SetRTSpecialHeaders(@_);
- $self->SetHeader( 'Auto-Submitted', 'auto-replied' );
-}
-
-# }}}
-
eval "require RT::Action::Autoreply_Vendor";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Autoreply_Vendor.pm});
eval "require RT::Action::Autoreply_Local";
diff --git a/rt/lib/RT/Action/CreateTickets.pm b/rt/lib/RT/Action/CreateTickets.pm
index bfe14a67d..74520ca69 100644
--- a/rt/lib/RT/Action/CreateTickets.pm
+++ b/rt/lib/RT/Action/CreateTickets.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
package RT::Action::CreateTickets;
@@ -352,7 +352,6 @@ sub CreateByTemplate {
local $T::TOP = $T::TOP;
local $T::ID = $T::ID;
$T::Tickets{'TOP'} = $T::TOP = $top if $top;
- local $T::TransactionObj = $self->TransactionObj;
my $ticketargs;
my ( @links, @postponed );
@@ -763,6 +762,7 @@ sub ParseLines {
FinalPriority => $args{'finalpriority'} || 0,
SquelchMailTo => $args{'squelchmailto'},
Type => $args{'type'},
+ $self->Rules
);
if ( $args{content} ) {
@@ -1239,6 +1239,24 @@ sub PostProcess {
}
+sub Options {
+ my $self = shift;
+ my $queues = RT::Queues->new($self->CurrentUser);
+ $queues->UnLimit;
+ my @names;
+ while (my $queue = $queues->Next) {
+ push @names, $queue->Id, $queue->Name;
+ }
+ return (
+ {
+ 'name' => 'Queue',
+ 'label' => 'In queue',
+ 'type' => 'select',
+ 'options' => \@names
+ }
+ )
+}
+
eval "require RT::Action::CreateTickets_Vendor";
die $@ if ( $@ && $@ !~ qr{^Can't locate RT/Action/CreateTickets_Vendor.pm} );
eval "require RT::Action::CreateTickets_Local";
diff --git a/rt/lib/RT/Action/EscalatePriority.pm b/rt/lib/RT/Action/EscalatePriority.pm
index 86e3e648a..3704ee73f 100644
--- a/rt/lib/RT/Action/EscalatePriority.pm
+++ b/rt/lib/RT/Action/EscalatePriority.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -121,7 +121,12 @@ sub Prepare {
# we've got a due date. now there are other things we should do
else {
- my $diff_in_seconds = $due->Diff(time());
+ my $arg = $self->Argument || '';
+ my $now = time();
+ if ( $arg =~ /CurrentTime:\s*(\d+)/i ) {
+ $now = $1;
+ }
+ my $diff_in_seconds = $due->Diff($now);
my $diff_in_days = int( $diff_in_seconds / 86400);
#if we haven't hit the due date yet
diff --git a/rt/lib/RT/Action/EscalateQueue.pm b/rt/lib/RT/Action/EscalateQueue.pm
new file mode 100755
index 000000000..adafbdfb7
--- /dev/null
+++ b/rt/lib/RT/Action/EscalateQueue.pm
@@ -0,0 +1,141 @@
+=head1 NAME
+
+RT::Action::EscalateQueue - move a ticket to a different queue when it reaches its final priority
+
+=head1 DESCRIPTION
+
+EscalateQueue is a ScripAction that will move a ticket to a new
+queue when its priority equals its final priority. It is designed
+to be used with LinearEscalate or another action that increments
+ticket priority on some schedule. Like those actions, it is intended
+to be called from an escalation tool.
+
+=head1 CONFIGURATION
+
+FinalPriority is a ticket property, defaulting to the queue property.
+
+EscalateQueue is a queue custom field using RT::CustomFieldValues::Queue
+as its data source (that is, it refers to another queue). Tickets at
+FinalPriority will be moved to that queue.
+
+From a shell you can use the following command:
+
+ rt-crontool --search RT::Search::FromSQL --search-arg \
+ "(Status='new' OR Status='open' OR Status = 'stalled')" \
+ --action RT::Action::EscalateQueue
+
+No action argument is needed. Each ticket will be escalated based on the
+EscalateQueue property of its current queue.
+
+=cut
+
+package RT::Action::EscalateQueue;
+
+use strict;
+use warnings;
+use base qw(RT::Action);
+
+our $VERSION = '0.01';
+
+#What does this type of Action does
+
+sub Describe {
+ my $self = shift;
+ my $class = ref($self) || $self;
+ return "$class will move a ticket to its escalation queue when it reaches its final priority."
+}
+
+#This Prepare only returns 1 if the ticket will be escalated.
+
+sub Prepare {
+ my $self = shift;
+
+ my $ticket = $self->TicketObj;
+ my $queue = $ticket->QueueObj;
+ my $new_queue = $queue->FirstCustomFieldValue('EscalateQueue');
+
+ my $ticketid = 'Ticket #'.$ticket->Id; #for debug messages
+ if ( $ticket->InitialPriority == $ticket->FinalPriority ) {
+ $RT::Logger->debug("$ticketid has no priority range. Not escalating.");
+ return 0;
+ }
+
+ if ( $ticket->Priority == $ticket->FinalPriority ) {
+ if (!$new_queue) {
+ $RT::Logger->debug("$ticketid has no escalation queue. Not escalating.");
+ return 0;
+ }
+ if ($new_queue eq $queue->Name) {
+ $RT::Logger->debug("$ticketid would be escalated to its current queue.");
+ return 0;
+ }
+ $self->{'new_queue'} = $new_queue;
+ return 1;
+ }
+ return 0;
+}
+
+# whereas Commit returns 1 if it succeeds at whatever it's doing
+sub Commit {
+ my $self = shift;
+
+ return 1 if !exists($self->{'new_queue'});
+
+ my $ticket = $self->TicketObj;
+ my $ticketid = 'Ticket #'.$ticket->Id;
+ my $new_queue = RT::Queue->new($ticket->CurrentUser);
+ $new_queue->Load($self->{'new_queue'});
+ if ( ! $new_queue ) {
+ $RT::Logger->debug("Escalation queue ".$self->{'new_queue'}." not found.");
+ return 0;
+ }
+
+ $RT::Logger->debug("Escalating $ticket from ".$ticket->QueueObj->Name .
+ ' to '. $new_queue->Name . ', FinalPriority '.$new_queue->FinalPriority);
+
+ my ( $val, $msg ) = $ticket->SetQueue($self->{'new_queue'});
+ if (! $val) {
+ $RT::Logger->error( "Couldn't set queue: $msg" );
+ return (0, $msg);
+ }
+
+ # Set properties of the ticket according to its new queue, so that
+ # escalation Does What You Expect. Don't record transactions for this;
+ # the queue change should be enough.
+
+ ( $val, $msg ) = $ticket->_Set(
+ Field => 'FinalPriority',
+ Value => $new_queue->FinalPriority,
+ RecordTransaction => 0,
+ );
+ if (! $val) {
+ $RT::Logger->error( "Couldn't set new final priority: $msg" );
+ return (0, $msg);
+ }
+ my $Due = new RT::Date( $ticket->CurrentUser );
+ if ( my $due_in = $new_queue->DefaultDueIn ) {
+ $Due->SetToNow;
+ $Due->AddDays( $due_in );
+ }
+ ( $val, $msg ) = $ticket->_Set(
+ Field => 'Due',
+ Value => $Due->ISO,
+ RecordTransaction => 0,
+ );
+ if (! $val) {
+ $RT::Logger->error( "Couldn't set new due date: $msg" );
+ return (0, $msg);
+ }
+ return 1;
+}
+
+1;
+
+=head1 AUTHOR
+
+Mark Wells E<lt>mark@freeside.bizE<gt>
+
+Based on in part LinearEscalate by Kevin Riggle E<lt>kevinr@bestpractical.comE<gt>
+and Ruslan Zakirov E<lt>ruz@bestpractical.comE<gt> .
+
+=cut
diff --git a/rt/lib/RT/Action/Generic.pm b/rt/lib/RT/Action/Generic.pm
index 7793622a7..007d299c7 100755
--- a/rt/lib/RT/Action/Generic.pm
+++ b/rt/lib/RT/Action/Generic.pm
@@ -1,54 +1,29 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
=head1 NAME
- RT::Action::Generic - deprecated, see RT::Action
+ RT::Action::Generic - a generic baseclass for RT Actions
=head1 SYNOPSIS
@@ -56,25 +31,165 @@
=head1 DESCRIPTION
-This module is provided only for backwards compatibility.
-
=head1 METHODS
+=begin testing
+
+ok (require RT::Action::Generic);
+
+=end testing
=cut
-use strict;
-use warnings;
package RT::Action::Generic;
-use base 'RT::Action';
+
+use strict;
+
+# {{{ sub new
+sub new {
+ my $proto = shift;
+ my $class = ref($proto) || $proto;
+ my $self = {};
+ bless ($self, $class);
+ $self->_Init(@_);
+ return $self;
+}
+# }}}
+
+# {{{ sub new
+sub loc {
+ my $self = shift;
+ return $self->{'ScripObj'}->loc(@_);
+}
+# }}}
+
+# {{{ sub _Init
+sub _Init {
+ my $self = shift;
+ my %args = ( TransactionObj => undef,
+ TicketObj => undef,
+ ScripObj => undef,
+ TemplateObj => undef,
+ Argument => undef,
+ Type => undef,
+ @_ );
+
+
+ $self->{'Argument'} = $args{'Argument'};
+ $self->{'ScripObj'} = $args{'ScripObj'};
+ $self->{'TicketObj'} = $args{'TicketObj'};
+ $self->{'TransactionObj'} = $args{'TransactionObj'};
+ $self->{'TemplateObj'} = $args{'TemplateObj'};
+ $self->{'Type'} = $args{'Type'};
+}
+# }}}
+
+# Access Scripwide data
+
+# {{{ sub Argument
+sub Argument {
+ my $self = shift;
+ return($self->{'Argument'});
+}
+# }}}
+
+# {{{ sub TicketObj
+sub TicketObj {
+ my $self = shift;
+ return($self->{'TicketObj'});
+}
+# }}}
+
+# {{{ sub TransactionObj
+sub TransactionObj {
+ my $self = shift;
+ return($self->{'TransactionObj'});
+}
+# }}}
+
+# {{{ sub TemplateObj
+sub TemplateObj {
+ my $self = shift;
+ return($self->{'TemplateObj'});
+}
+# }}}
+
+# {{{ sub ScripObj
+sub ScripObj {
+ my $self = shift;
+ return($self->{'ScripObj'});
+}
+# }}}
+
+# {{{ sub Type
+sub Type {
+ my $self = shift;
+ return($self->{'Type'});
+}
+# }}}
+
+
+# Scrip methods
+
+#Do what we need to do and send it out.
+
+# {{{ sub Commit
+sub Commit {
+ my $self = shift;
+ return(0, $self->loc("Commit Stubbed"));
+}
+# }}}
+
+
+#What does this type of Action does
+
+# {{{ sub Describe
+sub Describe {
+ my $self = shift;
+ return $self->loc("No description for [_1]", ref $self);
+}
+# }}}
+
+
+#Parse the templates, get things ready to go.
+
+# {{{ sub Prepare
+sub Prepare {
+ my $self = shift;
+ return (0, $self->loc("Prepare Stubbed"));
+}
+# }}}
+
+
+#If this rule applies to this transaction, return true.
+
+# {{{ sub IsApplicable
+sub IsApplicable {
+ my $self = shift;
+ return(undef);
+}
+# }}}
+
+# {{{ sub DESTROY
+sub DESTROY {
+ my $self = shift;
+
+ # We need to clean up all the references that might maybe get
+ # oddly circular
+ $self->{'TemplateObj'} =undef
+ $self->{'TicketObj'} = undef;
+ $self->{'TransactionObj'} = undef;
+ $self->{'ScripObj'} = undef;
+
+
+
+}
+
+# }}}
eval "require RT::Action::Generic_Vendor";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Generic_Vendor.pm});
-warn "RT::Action::Generic has become RT::Action. Please adjust your deprecated RT::Action::Generic_Vendor file at " . $INC{"RT/Action/Generic_Vendor.pm"} if !$@;
-
eval "require RT::Action::Generic_Local";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Generic_Local.pm});
-warn "RT::Action::Generic has become RT::Action. Please adjust your deprecated RT::Action::Generic_Local file at " . $INC{"RT/Action/Generic_Local.pm"} if !$@;
1;
-
diff --git a/rt/lib/RT/Action/Notify.pm b/rt/lib/RT/Action/Notify.pm
index 30afeefdd..1e4e4c073 100755
--- a/rt/lib/RT/Action/Notify.pm
+++ b/rt/lib/RT/Action/Notify.pm
@@ -1,73 +1,34 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
-#
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
package RT::Action::Notify;
+require RT::Action::SendEmail;
use strict;
-use warnings;
+use vars qw/@ISA/;
+@ISA = qw(RT::Action::SendEmail);
-use base qw(RT::Action::SendEmail);
-
-use Email::Address;
-
-=head2 Prepare
-
-Set up the relevant recipients, then call our parent.
-
-=cut
-
-
-sub Prepare {
- my $self = shift;
- $self->SetRecipients();
- $self->SUPER::Prepare();
-}
+# {{{ sub SetRecipients
=head2 SetRecipients
@@ -79,89 +40,90 @@ Explicitly B<does not> notify the creator of the transaction by default
sub SetRecipients {
my $self = shift;
- my $ticket = $self->TicketObj;
-
my $arg = $self->Argument;
+
$arg =~ s/\bAll\b/Owner,Requestor,AdminCc,Cc/;
my ( @To, @PseudoTo, @Cc, @Bcc );
- if ( $arg =~ /\bOtherRecipients\b/ ) {
- if ( my $attachment = $self->TransactionObj->Attachments->First ) {
- push @Cc, map { $_->address } Email::Address->parse(
- $attachment->GetHeader('RT-Send-Cc')
- );
- push @Bcc, map { $_->address } Email::Address->parse(
- $attachment->GetHeader('RT-Send-Bcc')
- );
+ if ($arg =~ /\bOtherRecipients\b/) {
+ if ($self->TransactionObj->Attachments->First) {
+ push (@Cc, $self->TransactionObj->Attachments->First->GetHeader('RT-Send-Cc'));
+ push (@Bcc, $self->TransactionObj->Attachments->First->GetHeader('RT-Send-Bcc'));
}
}
if ( $arg =~ /\bRequestor\b/ ) {
- push @To, $ticket->Requestors->MemberEmailAddresses;
+ push ( @To, $self->TicketObj->Requestors->MemberEmailAddresses );
}
+
+
if ( $arg =~ /\bCc\b/ ) {
#If we have a To, make the Ccs, Ccs, otherwise, promote them to To
if (@To) {
- push ( @Cc, $ticket->Cc->MemberEmailAddresses );
- push ( @Cc, $ticket->QueueObj->Cc->MemberEmailAddresses );
+ push ( @Cc, $self->TicketObj->Cc->MemberEmailAddresses );
+ push ( @Cc, $self->TicketObj->QueueObj->Cc->MemberEmailAddresses );
}
else {
- push ( @Cc, $ticket->Cc->MemberEmailAddresses );
- push ( @To, $ticket->QueueObj->Cc->MemberEmailAddresses );
+ push ( @Cc, $self->TicketObj->Cc->MemberEmailAddresses );
+ push ( @To, $self->TicketObj->QueueObj->Cc->MemberEmailAddresses );
}
}
- if ( $arg =~ /\bOwner\b/ && $ticket->OwnerObj->id != $RT::Nobody->id ) {
- # If we're not sending to Ccs or requestors,
+ if ( ( $arg =~ /\bOwner\b/ )
+ && ( $self->TicketObj->OwnerObj->id != $RT::Nobody->id ) )
+ {
+
+ # If we're not sending to Ccs or requestors,
# then the Owner can be the To.
if (@To) {
- push ( @Bcc, $ticket->OwnerObj->EmailAddress );
+ push ( @Bcc, $self->TicketObj->OwnerObj->EmailAddress );
}
else {
- push ( @To, $ticket->OwnerObj->EmailAddress );
+ push ( @To, $self->TicketObj->OwnerObj->EmailAddress );
}
}
if ( $arg =~ /\bAdminCc\b/ ) {
- push ( @Bcc, $ticket->AdminCc->MemberEmailAddresses );
- push ( @Bcc, $ticket->QueueObj->AdminCc->MemberEmailAddresses );
+ push ( @Bcc, $self->TicketObj->AdminCc->MemberEmailAddresses );
+ push ( @Bcc, $self->TicketObj->QueueObj->AdminCc->MemberEmailAddresses );
}
- if ( RT->Config->Get('UseFriendlyToLine') ) {
+ if ($RT::UseFriendlyToLine) {
unless (@To) {
- push @PseudoTo,
- sprintf RT->Config->Get('FriendlyToLineFormat'), $arg, $ticket->id;
+ push (
+ @PseudoTo,
+ sprintf($RT::FriendlyToLineFormat, $arg, $self->TicketObj->id),
+ );
}
}
- my $creatorObj = $self->TransactionObj->CreatorObj;
- my $creator = $creatorObj->EmailAddress();
+ my $creator = $self->TransactionObj->CreatorObj->EmailAddress();
#Strip the sender out of the To, Cc and AdminCc and set the
# recipients fields used to build the message by the superclass.
# unless a flag is set
- my $TransactionCurrentUser = RT::CurrentUser->new;
- $TransactionCurrentUser->LoadByName($creatorObj->Name);
- if (RT->Config->Get('NotifyActor',$TransactionCurrentUser)) {
+ if ($RT::NotifyActor) {
@{ $self->{'To'} } = @To;
@{ $self->{'Cc'} } = @Cc;
@{ $self->{'Bcc'} } = @Bcc;
}
else {
- @{ $self->{'To'} } = grep ( lc $_ ne lc $creator, @To );
- @{ $self->{'Cc'} } = grep ( lc $_ ne lc $creator, @Cc );
- @{ $self->{'Bcc'} } = grep ( lc $_ ne lc $creator, @Bcc );
+ @{ $self->{'To'} } = grep ( !/^$creator$/, @To );
+ @{ $self->{'Cc'} } = grep ( !/^$creator$/, @Cc );
+ @{ $self->{'Bcc'} } = grep ( !/^$creator$/, @Bcc );
}
@{ $self->{'PseudoTo'} } = @PseudoTo;
-
+ return (1);
}
+# }}}
+
eval "require RT::Action::Notify_Vendor";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/Notify_Vendor.pm});
eval "require RT::Action::Notify_Local";
diff --git a/rt/lib/RT/Action/NotifyAsComment.pm b/rt/lib/RT/Action/NotifyAsComment.pm
index 567aac642..210e4ab15 100755
--- a/rt/lib/RT/Action/NotifyAsComment.pm
+++ b/rt/lib/RT/Action/NotifyAsComment.pm
@@ -1,73 +1,49 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
package RT::Action::NotifyAsComment;
+require RT::Action::Notify;
use strict;
-use warnings;
+use vars qw/@ISA/;
+@ISA = qw(RT::Action::Notify);
-use base qw(RT::Action::Notify);
=head2 SetReturnAddress
-Tell SendEmail that this message should come out as a comment.
+Tell SendEmail that this message should come out as a comment.
Calls SUPER::SetReturnAddress.
=cut
sub SetReturnAddress {
- my $self = shift;
-
- # Tell RT::Action::SendEmail that this should come
- # from the relevant comment email address.
- $self->{'comment'} = 1;
-
- return $self->SUPER::SetReturnAddress( @_, is_comment => 1 );
+ my $self = shift;
+
+ # Tell RT::Action::SendEmail that this should come
+ # from the relevant comment email address.
+ $self->{'comment'} = 1;
+
+ return($self->SUPER::SetReturnAddress(is_comment => 1));
}
eval "require RT::Action::NotifyAsComment_Vendor";
@@ -76,3 +52,4 @@ eval "require RT::Action::NotifyAsComment_Local";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/NotifyAsComment_Local.pm});
1;
+
diff --git a/rt/lib/RT/Action/ResolveMembers.pm b/rt/lib/RT/Action/ResolveMembers.pm
index 830297301..02ff3a58c 100644
--- a/rt/lib/RT/Action/ResolveMembers.pm
+++ b/rt/lib/RT/Action/ResolveMembers.pm
@@ -1,58 +1,35 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# This Action will resolve all members of a resolved group ticket
package RT::Action::ResolveMembers;
-use base 'RT::Action';
+require RT::Action::Generic;
require RT::Links;
use strict;
+use vars qw/@ISA/;
+@ISA=qw(RT::Action::Generic);
#Do what we need to do and send it out.
diff --git a/rt/lib/RT/Action/SendEmail.pm b/rt/lib/RT/Action/SendEmail.pm
index 349282230..dac8fc8e7 100755
--- a/rt/lib/RT/Action/SendEmail.pm
+++ b/rt/lib/RT/Action/SendEmail.pm
@@ -1,65 +1,38 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Portions Copyright 2000 Tobias Brox <tobix@cpan.org>
package RT::Action::SendEmail;
+require RT::Action::Generic;
use strict;
-use warnings;
+use vars qw/@ISA/;
+@ISA = qw(RT::Action::Generic);
-use base qw(RT::Action);
+use MIME::Words qw(encode_mimeword);
use RT::EmailParser;
-use RT::Interface::Email;
-use Email::Address;
-our @EMAIL_RECIPIENT_HEADERS = qw(To Cc Bcc);
-
=head1 NAME
@@ -69,495 +42,273 @@ RT::Action::AutoReply is a good example subclass.
=head1 SYNOPSIS
- use base 'RT::Action::SendEmail';
+ require RT::Action::SendEmail;
+ @ISA = qw(RT::Action::SendEmail);
+
=head1 DESCRIPTION
Basically, you create another module RT::Action::YourAction which ISA
RT::Action::SendEmail.
-=head1 METHODS
+If you want to set the recipients of the mail to something other than
+the addresses mentioned in the To, Cc, Bcc and headers in
+the template, you should subclass RT::Action::SendEmail and override
+either the SetRecipients method or the SetTo, SetCc, etc methods (see
+the comments for the SetRecipients sub).
-=head2 CleanSlate
-Cleans class-wide options, like L</SquelchMailTo> or L</AttachTickets>.
+=begin testing
-=cut
+ok (require RT::Action::SendEmail);
-sub CleanSlate {
- my $self = shift;
- $self->SquelchMailTo(undef);
- $self->AttachTickets(undef);
-}
+=end testing
-=head2 Commit
-Sends the prepared message and writes outgoing record into DB if the feature is
-activated in the config.
+=head1 AUTHOR
-=cut
+Jesse Vincent <jesse@bestpractical.com> and Tobias Brox <tobix@cpan.org>
-sub Commit {
- my $self = shift;
+=head1 SEE ALSO
- $self->DeferDigestRecipients() if RT->Config->Get('RecordOutgoingEmail');
- my $message = $self->TemplateObj->MIMEObj;
-
- my $orig_message;
- if ( RT->Config->Get('RecordOutgoingEmail')
- && RT->Config->Get('GnuPG')->{'Enable'} )
- {
-
- # it's hacky, but we should know if we're going to crypt things
- my $attachment = $self->TransactionObj->Attachments->First;
-
- my %crypt;
- foreach my $argument (qw(Sign Encrypt)) {
- if ( $attachment
- && defined $attachment->GetHeader("X-RT-$argument") )
- {
- $crypt{$argument} = $attachment->GetHeader("X-RT-$argument");
- } else {
- $crypt{$argument} = $self->TicketObj->QueueObj->$argument();
- }
- }
- if ( $crypt{'Sign'} || $crypt{'Encrypt'} ) {
- $orig_message = $message->dup;
- }
- }
+perl(1).
- my ($ret) = $self->SendMessage($message);
- if ( $ret > 0 && RT->Config->Get('RecordOutgoingEmail') ) {
- if ($orig_message) {
- $message->attach(
- Type => 'application/x-rt-original-message',
- Disposition => 'inline',
- Data => $orig_message->as_string,
- );
- }
- $self->RecordOutgoingMailTransaction($message);
- $self->RecordDeferredRecipients();
- }
+=cut
+# {{{ Scrip methods (_Init, Commit, Prepare, IsApplicable)
- return ( abs $ret );
-}
+# {{{ sub _Init
+# We use _Init from RT::Action
+# }}}
-=head2 Prepare
-
-Builds an outgoing email we're going to send using scrip's template.
+# {{{ sub Commit
+#Do what we need to do and send it out.
+sub Commit {
+ my $self = shift;
-=cut
+ my $MIMEObj = $self->TemplateObj->MIMEObj;
+ my $msgid = $MIMEObj->head->get('Message-Id');
+ chomp $msgid;
+ $RT::Logger->info($msgid." #".$self->TicketObj->id."/".$self->TransactionObj->id." - Scrip ". $self->ScripObj->id ." ".$self->ScripObj->Description);
+ #send the email
-sub Prepare {
- my $self = shift;
+ # Weed out any RT addresses. We really don't want to talk to ourselves!
+ @{$self->{'To'}} = RT::EmailParser::CullRTAddresses("", @{$self->{'To'}});
+ @{$self->{'Cc'}} = RT::EmailParser::CullRTAddresses("", @{$self->{'Cc'}});
+ @{$self->{'Bcc'}} = RT::EmailParser::CullRTAddresses("", @{$self->{'Bcc'}});
+ # If there are no recipients, don't try to send the message.
+ # If the transaction has content and has the header RT-Squelch-Replies-To
- my ( $result, $message ) = $self->TemplateObj->Parse(
- Argument => $self->Argument,
- TicketObj => $self->TicketObj,
- TransactionObj => $self->TransactionObj
- );
- if ( !$result ) {
- return (undef);
- }
+ if ( defined $self->TransactionObj->Attachments->First() ) {
- my $MIMEObj = $self->TemplateObj->MIMEObj;
+ my $squelch = $self->TransactionObj->Attachments->First->GetHeader( 'RT-Squelch-Replies-To');
- # Header
- $self->SetRTSpecialHeaders();
+ if ($squelch) {
+ my @blacklist = split ( /,/, $squelch );
- $self->RemoveInappropriateRecipients();
+ # Cycle through the people we're sending to and pull out anyone on the
+ # system blacklist
- my %seen;
- foreach my $type (@EMAIL_RECIPIENT_HEADERS) {
- @{ $self->{$type} }
- = grep defined && length && !$seen{ lc $_ }++,
- @{ $self->{$type} };
+ foreach my $person_to_yank (@blacklist) {
+ $person_to_yank =~ s/\s//g;
+ @{ $self->{'To'} } =
+ grep ( !/^$person_to_yank$/, @{ $self->{'To'} } );
+ @{ $self->{'Cc'} } =
+ grep ( !/^$person_to_yank$/, @{ $self->{'Cc'} } );
+ @{ $self->{'Bcc'} } =
+ grep ( !/^$person_to_yank$/, @{ $self->{'Bcc'} } );
+ }
+ }
}
# Go add all the Tos, Ccs and Bccs that we need to to the message to
# make it happy, but only if we actually have values in those arrays.
-# TODO: We should be pulling the recipients out of the template and shove them into To, Cc and Bcc
+ $self->SetHeader( 'To', join ( ',', @{ $self->{'To'} } ) )
+ if ( $self->{'To'} && @{ $self->{'To'} } );
+ $self->SetHeader( 'Cc', join ( ',', @{ $self->{'Cc'} } ) )
+ if ( $self->{'Cc'} && @{ $self->{'Cc'} } );
+ $self->SetHeader( 'Bcc', join ( ',', @{ $self->{'Bcc'} } ) )
+ if ( $self->{'Cc'} && @{ $self->{'Bcc'} } );
- for my $header (@EMAIL_RECIPIENT_HEADERS) {
- $self->SetHeader( $header, join( ', ', @{ $self->{$header} } ) )
- if (!$MIMEObj->head->get($header)
- && $self->{$header}
- && @{ $self->{$header} } );
- }
- # PseudoTo (fake to headers) shouldn't get matched for message recipients.
- # If we don't have any 'To' header (but do have other recipients), drop in
- # the pseudo-to header.
- $self->SetHeader( 'To', join( ', ', @{ $self->{'PseudoTo'} } ) )
- if $self->{'PseudoTo'}
- && @{ $self->{'PseudoTo'} }
- && !$MIMEObj->head->get('To')
- && ( $MIMEObj->head->get('Cc') or $MIMEObj->head->get('Bcc') );
-
- # We should never have to set the MIME-Version header
- $self->SetHeader( 'MIME-Version', '1.0' );
-
- # fsck.com #5959: Since RT sends 8bit mail, we should say so.
- $self->SetHeader( 'Content-Transfer-Encoding', '8bit' );
-
- # For security reasons, we only send out textual mails.
- foreach my $part ( grep !$_->is_multipart, $MIMEObj->parts_DFS ) {
- my $type = $part->mime_type || 'text/plain';
- $type = 'text/plain' unless RT::I18N::IsTextualContentType($type);
- $part->head->mime_attr( "Content-Type" => $type );
- # utf-8 here is for _FindOrGuessCharset in I18N.pm
- # it's not the final charset/encoding sent
- $part->head->mime_attr( "Content-Type.charset" => 'utf-8' );
- }
-
- RT::I18N::SetMIMEEntityToEncoding( $MIMEObj,
- RT->Config->Get('EmailOutputEncoding'),
- 'mime_words_ok', );
-
- # Build up a MIME::Entity that looks like the original message.
- $self->AddAttachments if ( $MIMEObj->head->get('RT-Attach-Message')
- && ( $MIMEObj->head->get('RT-Attach-Message') !~ /^(n|no|0|off|false)$/i ) );
-
- $self->AddTickets;
-
- my $attachment = $self->TransactionObj->Attachments->First;
- if ($attachment
- && !(
- $attachment->GetHeader('X-RT-Encrypt')
- || $self->TicketObj->QueueObj->Encrypt
- )
- )
- {
- $attachment->SetHeader( 'X-RT-Encrypt' => 1 )
- if ( $attachment->GetHeader("X-RT-Incoming-Encryption") || '' ) eq
- 'Success';
- }
+ $self->SetHeader('MIME-Version', '1.0');
- return $result;
-}
+ # try to convert message body from utf-8 to $RT::EmailOutputEncoding
+ $self->SetHeader( 'Content-Type', 'text/plain; charset="utf-8"' );
-=head2 To
+ RT::I18N::SetMIMEEntityToEncoding( $MIMEObj, $RT::EmailOutputEncoding, 'mime_words_ok' );
+ $self->SetHeader( 'Content-Type', 'text/plain; charset="' . $RT::EmailOutputEncoding . '"' );
-Returns an array of L<Email::Address> objects containing all the To: recipients for this notification
-=cut
+ # Build up a MIME::Entity that looks like the original message.
-sub To {
- my $self = shift;
- return ( $self->AddressesFromHeader('To') );
-}
+ my $do_attach = $self->TemplateObj->MIMEObj->head->get('RT-Attach-Message');
-=head2 Cc
+ if ($do_attach) {
+ $self->TemplateObj->MIMEObj->head->delete('RT-Attach-Message');
-Returns an array of L<Email::Address> objects containing all the Cc: recipients for this notification
+ my $attachments = RT::Attachments->new($RT::SystemUser);
+ $attachments->Limit( FIELD => 'TransactionId',
+ VALUE => $self->TransactionObj->Id );
+ $attachments->OrderBy('id');
-=cut
+ my $transaction_content_obj = $self->TransactionObj->ContentObj;
-sub Cc {
- my $self = shift;
- return ( $self->AddressesFromHeader('Cc') );
-}
+ # attach any of this transaction's attachments
+ while ( my $attach = $attachments->Next ) {
-=head2 Bcc
+ # Don't attach anything blank
+ next unless ( $attach->ContentLength );
-Returns an array of L<Email::Address> objects containing all the Bcc: recipients for this notification
+ # We want to make sure that we don't include the attachment that's being sued as the "Content" of this message"
+ next
+ if ( $transaction_content_obj
+ && $transaction_content_obj->Id == $attach->Id
+ && $transaction_content_obj->ContentType =~ qr{text/plain}i
+ );
+ $MIMEObj->make_multipart('mixed');
+ $MIMEObj->attach( Type => $attach->ContentType,
+ Charset => $attach->OriginalEncoding,
+ Data => $attach->OriginalContent,
+ Filename => $self->MIMEEncodeString( $attach->Filename, $RT::EmailOutputEncoding ),
+ Encoding => '-SUGGEST');
+ }
-=cut
+ }
-sub Bcc {
- my $self = shift;
- return ( $self->AddressesFromHeader('Bcc') );
-}
+ my $retval = $self->SendMessage($MIMEObj);
-sub AddressesFromHeader {
- my $self = shift;
- my $field = shift;
- my $header = $self->TemplateObj->MIMEObj->head->get($field);
- my @addresses = Email::Address->parse($header);
- return (@addresses);
+ return ($retval);
}
-=head2 SendMessage MIMEObj
-
-sends the message using RT's preferred API.
-TODO: Break this out to a separate module
-
-=cut
-
-sub SendMessage {
-
- # DO NOT SHIFT @_ in this subroutine. It breaks Hook::LexWrap's
- # ability to pass @_ to a 'post' routine.
- my ( $self, $MIMEObj ) = @_;
-
- my $msgid = $MIMEObj->head->get('Message-ID');
- chomp $msgid;
-
- $self->ScripActionObj->{_Message_ID}++;
+# }}}
- $RT::Logger->info( $msgid . " #"
- . $self->TicketObj->id . "/"
- . $self->TransactionObj->id
- . " - Scrip "
- . ($self->ScripObj->id || '#rule'). " "
- . ( $self->ScripObj->Description || '' ) );
+# {{{ sub Prepare
- my $status = RT::Interface::Email::SendEmail(
- Entity => $MIMEObj,
- Ticket => $self->TicketObj,
- Transaction => $self->TransactionObj,
- );
+sub Prepare {
+ my $self = shift;
-
- return $status unless ($status > 0 || exists $self->{'Deferred'});
+ # This actually populates the MIME::Entity fields in the Template Object
- my $success = $msgid . " sent ";
- foreach (@EMAIL_RECIPIENT_HEADERS) {
- my $recipients = $MIMEObj->head->get($_);
- $success .= " $_: " . $recipients if $recipients;
+ unless ( $self->TemplateObj ) {
+ $RT::Logger->warning("No template object handed to $self\n");
}
- if( exists $self->{'Deferred'} ) {
- for (qw(daily weekly susp)) {
- $success .= "\nBatched email $_ for: ". join(", ", keys %{ $self->{'Deferred'}{ $_ } } )
- if exists $self->{'Deferred'}{ $_ };
- }
- }
-
- $success =~ s/\n//g;
-
- $RT::Logger->info($success);
+ unless ( $self->TransactionObj ) {
+ $RT::Logger->warning("No transaction object handed to $self\n");
- return (1);
-}
-
-=head2 AddAttachments
-
-Takes any attachments to this transaction and attaches them to the message
-we're building.
-
-=cut
-
-sub AddAttachments {
- my $self = shift;
-
- my $MIMEObj = $self->TemplateObj->MIMEObj;
-
- $MIMEObj->head->delete('RT-Attach-Message');
+ }
- my $attachments = RT::Attachments->new($RT::SystemUser);
- $attachments->Limit(
- FIELD => 'TransactionId',
- VALUE => $self->TransactionObj->Id
- );
+ unless ( $self->TicketObj ) {
+ $RT::Logger->warning("No ticket object handed to $self\n");
- # Don't attach anything blank
- $attachments->LimitNotEmpty;
- $attachments->OrderBy( FIELD => 'id' );
-
- # We want to make sure that we don't include the attachment that's
- # being used as the "Content" of this message" unless that attachment's
- # content type is not like text/...
- my $transaction_content_obj = $self->TransactionObj->ContentObj;
-
- if ( $transaction_content_obj
- && $transaction_content_obj->ContentType =~ m{text/}i )
- {
- # If this was part of a multipart/alternative, skip all of the kids
- my $parent = $transaction_content_obj->ParentObj;
- if ($parent and $parent->Id and $parent->ContentType eq "multipart/alternative") {
- $attachments->Limit(
- ENTRYAGGREGATOR => 'AND',
- FIELD => 'parent',
- OPERATOR => '!=',
- VALUE => $parent->Id,
- );
- } else {
- $attachments->Limit(
- ENTRYAGGREGATOR => 'AND',
- FIELD => 'id',
- OPERATOR => '!=',
- VALUE => $transaction_content_obj->Id,
- );
- }
}
- # attach any of this transaction's attachments
- my $seen_attachment = 0;
- while ( my $attach = $attachments->Next ) {
- if ( !$seen_attachment ) {
- $MIMEObj->make_multipart( 'mixed', Force => 1 );
- $seen_attachment = 1;
+ my ( $result, $message ) = $self->TemplateObj->Parse(
+ Argument => $self->Argument,
+ TicketObj => $self->TicketObj,
+ TransactionObj => $self->TransactionObj
+ );
+ if ($result) {
+
+ # Header
+ $self->SetSubject();
+ $self->SetSubjectToken();
+ $self->SetRecipients();
+ $self->SetReturnAddress();
+ $self->SetRTSpecialHeaders();
+ if ($RT::EmailOutputEncoding) {
+
+ # l10n related header
+ $self->SetHeaderAsEncoding( 'Subject', $RT::EmailOutputEncoding );
}
- $self->AddAttachment($attach);
}
-}
-
-=head2 AddAttachment $attachment
-Takes one attachment object of L<RT::Attachmment> class and attaches it to the message
-we're building.
-
-=cut
+ return $result;
-sub AddAttachment {
- my $self = shift;
- my $attach = shift;
- my $MIMEObj = shift || $self->TemplateObj->MIMEObj;
-
- $MIMEObj->attach(
- Type => $attach->ContentType,
- Charset => $attach->OriginalEncoding,
- Data => $attach->OriginalContent,
- Filename => $self->MIMEEncodeString( $attach->Filename ),
- 'RT-Attachment:' => $self->TicketObj->Id . "/"
- . $self->TransactionObj->Id . "/"
- . $attach->id,
- Encoding => '-SUGGEST',
- );
}
-=head2 AttachTickets [@IDs]
+# }}}
-Returns or set list of ticket's IDs that should be attached to an outgoing message.
+# }}}
-B<Note> this method works as a class method and setup things global, so you have to
-clean list by passing undef as argument.
-
-=cut
-
-{
- my $list = [];
-
- sub AttachTickets {
- my $self = shift;
- $list = [ grep defined, @_ ] if @_;
- return @$list;
- }
-}
-
-=head2 AddTickets
+# {{{ SendMessage
+=head2 SendMessage MIMEObj
-Attaches tickets to the current message, list of tickets' ids get from
-L</AttachTickets> method.
+sends the message using RT's preferred API.
+TODO: Break this out to a seperate module
=cut
-sub AddTickets {
+sub SendMessage {
my $self = shift;
- $self->AddTicket($_) foreach $self->AttachTickets;
- return;
-}
-
-=head2 AddTicket $ID
-
-Attaches a ticket with ID to the message.
+ my $MIMEObj = shift;
-Each ticket is attached as multipart entity and all its messages and attachments
-are attached as sub entities in order of creation, but only if transaction type
-is Create or Correspond.
+ my $msgid = $MIMEObj->head->get('Message-Id');
-=cut
-sub AddTicket {
- my $self = shift;
- my $tid = shift;
-
- # XXX: we need a current user here, but who is current user?
- my $attachs = RT::Attachments->new($RT::SystemUser);
- my $txn_alias = $attachs->TransactionAlias;
- $attachs->Limit( ALIAS => $txn_alias, FIELD => 'Type', VALUE => 'Create' );
- $attachs->Limit(
- ALIAS => $txn_alias,
- FIELD => 'Type',
- VALUE => 'Correspond'
- );
- $attachs->LimitByTicket($tid);
- $attachs->LimitNotEmpty;
- $attachs->OrderBy( FIELD => 'Created' );
-
- my $ticket_mime = MIME::Entity->build(
- Type => 'multipart/mixed',
- Top => 0,
- Description => "ticket #$tid",
- );
- while ( my $attachment = $attachs->Next ) {
- $self->AddAttachment( $attachment, $ticket_mime );
+ #If we don't have any recipients to send to, don't send a message;
+ unless ( $MIMEObj->head->get('To')
+ || $MIMEObj->head->get('Cc')
+ || $MIMEObj->head->get('Bcc') ) {
+ $RT::Logger->info($msgid. " No recipients found. Not sending.\n");
+ return (1);
}
- if ( $ticket_mime->parts ) {
- my $email_mime = $self->TemplateObj->MIMEObj;
- $email_mime->make_multipart;
- $email_mime->add_part($ticket_mime);
- }
- return;
-}
-=head2 RecordOutgoingMailTransaction MIMEObj
+ # PseudoTo (fake to headers) shouldn't get matched for message recipients.
+ # If we don't have any 'To' header, drop in the pseudo-to header.
-Record a transaction in RT with this outgoing message for future record-keeping purposes
-
-=cut
+ $self->SetHeader( 'To', join ( ',', @{ $self->{'PseudoTo'} } ) )
+ if ( $self->{'PseudoTo'} && ( @{ $self->{'PseudoTo'} } )
+ and ( !$MIMEObj->head->get('To') ) );
+ if ( $RT::MailCommand eq 'sendmailpipe' ) {
+ eval {
+ open( MAIL, "|$RT::SendmailPath $RT::SendmailArguments" );
+ print MAIL $MIMEObj->as_string;
+ close(MAIL);
+ };
+ if ($@) {
+ $RT::Logger->crit($msgid. "Could not send mail. -".$@ );
+ }
+ }
+ else {
+ my @mailer_args = ($RT::MailCommand);
+ local $ENV{MAILADDRESS};
-sub RecordOutgoingMailTransaction {
- my $self = shift;
- my $MIMEObj = shift;
+ if ( $RT::MailCommand eq 'sendmail' ) {
+ push @mailer_args, $RT::SendmailArguments;
+ }
+ elsif ( $RT::MailCommand eq 'smtp' ) {
+ $ENV{MAILADDRESS} = $RT::SMTPFrom || $MIMEObj->head->get('From');
+ push @mailer_args, (Server => $RT::SMTPServer);
+ push @mailer_args, (Debug => $RT::SMTPDebug);
+ }
+ else {
+ push @mailer_args, $RT::MailParams;
+ }
- my @parts = $MIMEObj->parts;
- my @attachments;
- my @keep;
- foreach my $part (@parts) {
- my $attach = $part->head->get('RT-Attachment');
- if ($attach) {
- $RT::Logger->debug(
- "We found an attachment. we want to not record it.");
- push @attachments, $attach;
- } else {
- $RT::Logger->debug("We found a part. we want to record it.");
- push @keep, $part;
+ unless ( $MIMEObj->send( @mailer_args ) ) {
+ $RT::Logger->crit($msgid. "Could not send mail." );
+ return (0);
}
}
- $MIMEObj->parts( \@keep );
- foreach my $attachment (@attachments) {
- $MIMEObj->head->add( 'RT-Attachment', $attachment );
- }
- RT::I18N::SetMIMEEntityToEncoding( $MIMEObj, 'utf-8', 'mime_words_ok' );
- my $transaction
- = RT::Transaction->new( $self->TransactionObj->CurrentUser );
-
-# XXX: TODO -> Record attachments as references to things in the attachments table, maybe.
+ my $success = ($msgid. " sent To: ".$MIMEObj->head->get('To') . " Cc: ".$MIMEObj->head->get('Cc') . " Bcc: ".$MIMEObj->head->get('Bcc'));
+ $success =~ s/\n//gi;
+ $RT::Logger->info($success);
- my $type;
- if ( $self->TransactionObj->Type eq 'Comment' ) {
- $type = 'CommentEmailRecord';
- } else {
- $type = 'EmailRecord';
- }
+ return (1);
+}
- my $msgid = $MIMEObj->head->get('Message-ID');
- chomp $msgid;
+# }}}
- my ( $id, $msg ) = $transaction->Create(
- Ticket => $self->TicketObj->Id,
- Type => $type,
- Data => $msgid,
- MIMEObj => $MIMEObj,
- ActivateScrips => 0
- );
+# {{{ Deal with message headers (Set* subs, designed for easy overriding)
- if ($id) {
- $self->{'OutgoingMailTransaction'} = $id;
- } else {
- $RT::Logger->warning(
- "Could not record outgoing message transaction: $msg");
- }
- return $id;
-}
+# {{{ sub SetRTSpecialHeaders
=head2 SetRTSpecialHeaders
@@ -569,272 +320,85 @@ that don't matter much to anybody else.
sub SetRTSpecialHeaders {
my $self = shift;
- $self->SetSubject();
- $self->SetSubjectToken();
- $self->SetHeaderAsEncoding( 'Subject',
- RT->Config->Get('EmailOutputEncoding') )
- if ( RT->Config->Get('EmailOutputEncoding') );
- $self->SetReturnAddress();
- $self->SetReferencesHeaders();
-
- unless ( $self->TemplateObj->MIMEObj->head->get('Message-ID') ) {
-
- # Get Message-ID for this txn
- my $msgid = "";
- if ( my $msg = $self->TransactionObj->Message->First ) {
- $msgid = $msg->GetHeader("RT-Message-ID")
- || $msg->GetHeader("Message-ID");
- }
+ $self->SetReferences();
- # If there is one, and we can parse it, then base our Message-ID on it
- if ( $msgid
- and $msgid
- =~ s/<(rt-.*?-\d+-\d+)\.(\d+)-\d+-\d+\@\QRT->Config->Get('Organization')\E>$/
- "<$1." . $self->TicketObj->id
- . "-" . $self->ScripObj->id
- . "-" . $self->ScripActionObj->{_Message_ID}
- . "@" . RT->Config->Get('Organization') . ">"/eg
- and $2 == $self->TicketObj->id
- )
- {
- $self->SetHeader( "Message-ID" => $msgid );
- } else {
- $self->SetHeader(
- 'Message-ID' => RT::Interface::Email::GenMessageId(
- Ticket => $self->TicketObj,
- Scrip => $self->ScripObj,
- ScripAction => $self->ScripActionObj
- ),
- );
- }
- }
+ $self->SetMessageID();
- if (my $precedence = RT->Config->Get('DefaultMailPrecedence')
- and !$self->TemplateObj->MIMEObj->head->get("Precedence")
- ) {
- $self->SetHeader( 'Precedence', $precedence );
- }
+ $self->SetPrecedence();
- $self->SetHeader( 'X-RT-Loop-Prevention', RT->Config->Get('rtname') );
+ $self->SetHeader( 'X-RT-Loop-Prevention', $RT::rtname );
$self->SetHeader( 'RT-Ticket',
- RT->Config->Get('rtname') . " #" . $self->TicketObj->id() );
+ $RT::rtname . " #" . $self->TicketObj->id() );
$self->SetHeader( 'Managed-by',
- "RT $RT::VERSION (http://www.bestpractical.com/rt/)" );
-
-# XXX, TODO: use /ShowUser/ShowUserEntry(or something like that) when it would be
-# refactored into user's method.
- if ( my $email = $self->TransactionObj->CreatorObj->EmailAddress
- and RT->Config->Get('UseOriginatorHeader')
- ) {
- $self->SetHeader( 'RT-Originator', $email );
- }
+ "RT $RT::VERSION (http://www.bestpractical.com/rt/)" );
-}
+ $self->SetHeader( 'RT-Originator',
+ $self->TransactionObj->CreatorObj->EmailAddress );
+ return ();
+}
-sub DeferDigestRecipients {
- my $self = shift;
- $RT::Logger->debug( "Calling SetRecipientDigests for transaction " . $self->TransactionObj . ", id " . $self->TransactionObj->id );
-
- # The digest attribute will be an array of notifications that need to
- # be sent for this transaction. The array will have the following
- # format for its objects.
- # $digest_hash -> {daily|weekly|susp} -> address -> {To|Cc|Bcc}
- # -> sent -> {true|false}
- # The "sent" flag will be used by the cron job to indicate that it has
- # run on this transaction.
- # In a perfect world we might move this hash construction to the
- # extension module itself.
- 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.
- my ( @send_now, @daily_digest, @weekly_digest, @suspended );
-
- # Have to get the list of addresses directly from the MIME header
- # at this point.
- $RT::Logger->debug( $self->TemplateObj->MIMEObj->head->as_string );
- foreach my $rcpt ( map { $_->address } $self->AddressesFromHeader($mailfield) ) {
- next unless $rcpt;
- my $user_obj = RT::User->new($RT::SystemUser);
- $user_obj->LoadByEmail($rcpt);
- if ( ! $user_obj->id ) {
- # If there's an email address in here without an associated
- # RT user, pass it on through.
- $RT::Logger->debug( "User $rcpt is not associated with an RT user object. Send mail.");
- push( @send_now, $rcpt );
- next;
- }
-
- my $mailpref = RT->Config->Get( 'EmailFrequency', $user_obj ) || '';
- $RT::Logger->debug( "Got user mail preference '$mailpref' for user $rcpt");
-
- if ( $mailpref =~ /daily/i ) { push( @daily_digest, $rcpt ) }
- elsif ( $mailpref =~ /weekly/i ) { push( @weekly_digest, $rcpt ) }
- elsif ( $mailpref =~ /suspend/i ) { push( @suspended, $rcpt ) }
- else { push( @send_now, $rcpt ) }
- }
-
- # Reset the relevant mail field.
- $RT::Logger->debug( "Removing deferred recipients from $mailfield: line");
- if (@send_now) {
- $self->SetHeader( $mailfield, join( ', ', @send_now ) );
- } else { # No recipients! Remove the header.
- $self->TemplateObj->MIMEObj->head->delete($mailfield);
- }
-
- # Push the deferred addresses into the appropriate field in
- # our attribute hash, with the appropriate mail header.
- $RT::Logger->debug(
- "Setting deferred recipients for attribute creation");
- $digest_hash->{'daily'}->{$_} = {'header' => $mailfield , _sent => 0} for (@daily_digest);
- $digest_hash->{'weekly'}->{$_} ={'header' => $mailfield, _sent => 0} for (@weekly_digest);
- $digest_hash->{'susp'}->{$_} = {'header' => $mailfield, _sent =>0 } for (@suspended);
- }
-
- if ( scalar keys %$digest_hash ) {
+# {{{ sub SetReferences
- # Save the hash so that we can add it as an attribute to the
- # outgoing email transaction.
- $self->{'Deferred'} = $digest_hash;
- } else {
- $RT::Logger->debug( "No recipients found for deferred delivery on "
- . "transaction #"
- . $self->TransactionObj->id );
- }
-}
+=head2 SetReferences
+
+ # This routine will set the References: and In-Reply-To headers,
+# autopopulating it with all the correspondence on this ticket so
+# far. This should make RT responses threadable.
+=cut
-
-sub RecordDeferredRecipients {
+sub SetReferences {
my $self = shift;
- return unless exists $self->{'Deferred'};
- my $txn_id = $self->{'OutgoingMailTransaction'};
- return unless $txn_id;
+ # TODO: this one is broken. What is this email really a reply to?
+ # If it's a reply to an incoming message, we'll need to use the
+ # actual message-id from the appropriate Attachment object. For
+ # incoming mails, we would like to preserve the In-Reply-To and/or
+ # References.
- my $txn_obj = RT::Transaction->new( $self->CurrentUser );
- $txn_obj->Load( $txn_id );
- my( $ret, $msg ) = $txn_obj->AddAttribute(
- Name => 'DeferredRecipients',
- Content => $self->{'Deferred'}
- );
- $RT::Logger->warning( "Unable to add deferred recipients to outgoing transaction: $msg" )
- unless $ret;
+ $self->SetHeader( 'In-Reply-To',
+ "<rt-" . $self->TicketObj->id() . "\@" . $RT::rtname . ">" );
- return ($ret,$msg);
+ # TODO We should always add References headers for all message-ids
+ # of previous messages related to this ticket.
}
-=head2 SquelchMailTo [@ADDRESSES]
-
-Mark ADDRESSES to be removed from list of the recipients. Returns list of the addresses.
-To empty list pass undefined argument.
+# }}}
-B<Note> that this method can be called as class method and works globaly. Don't forget to
-clean this list when blocking is not required anymore, pass undef to do this.
+# {{{ sub SetMessageID
-=cut
-
-{
- my $squelch = [];
-
- sub SquelchMailTo {
- my $self = shift;
- if (@_) {
- $squelch = [ grep defined, @_ ];
- }
- return @$squelch;
- }
-}
+=head2 SetMessageID
-=head2 RemoveInappropriateRecipients
-
-Remove addresses that are RT addresses or that are on this transaction's blacklist
+Without this one, threading won't work very nice in email agents.
+Anyway, I'm not really sure it's that healthy if we need to send
+several separate/different emails about the same transaction.
=cut
-sub RemoveInappropriateRecipients {
+sub SetMessageID {
my $self = shift;
- my @blacklist = ();
-
- # If there are no recipients, don't try to send the message.
- # If the transaction has content and has the header RT-Squelch-Replies-To
-
- my $msgid = $self->TemplateObj->MIMEObj->head->get('Message-Id');
- if ( my $attachment = $self->TransactionObj->Attachments->First ) {
-
- if ( $attachment->GetHeader('RT-DetectedAutoGenerated') ) {
-
- # What do we want to do with this? It's probably (?) a bounce
- # caused by one of the watcher addresses being broken.
- # Default ("true") is to redistribute, for historical reasons.
-
- if ( !RT->Config->Get('RedistributeAutoGeneratedMessages') ) {
-
- # Don't send to any watchers.
- @{ $self->{$_} } = () for (@EMAIL_RECIPIENT_HEADERS);
- $RT::Logger->info( $msgid
- . " The incoming message was autogenerated. "
- . "Not redistributing this message based on site configuration."
- );
- } elsif ( RT->Config->Get('RedistributeAutoGeneratedMessages') eq
- 'privileged' )
- {
-
- # Only send to "privileged" watchers.
- foreach my $type (@EMAIL_RECIPIENT_HEADERS) {
- foreach my $addr ( @{ $self->{$type} } ) {
- my $user = RT::User->new($RT::SystemUser);
- $user->LoadByEmail($addr);
- push @blacklist, $addr if ( !$user->Privileged );
- }
- }
- $RT::Logger->info( $msgid
- . " The incoming message was autogenerated. "
- . "Not redistributing this message to unprivileged users based on site configuration."
- );
- }
- }
-
- if ( my $squelch = $attachment->GetHeader('RT-Squelch-Replies-To') ) {
- push @blacklist, split( /,/, $squelch );
- }
- }
-
-# Let's grab the SquelchMailTo attribue and push those entries into the @blacklist
- push @blacklist, map $_->Content, $self->TicketObj->SquelchMailTo;
- push @blacklist, $self->SquelchMailTo;
-
- # Cycle through the people we're sending to and pull out anyone on the
- # system blacklist
+ # TODO this one might be sort of broken. If we have several scrips +++
+ # sending several emails to several different persons, we need to
+ # pull out different message-ids. I'd suggest message ids like
+ # "rt-ticket#-transaction#-scrip#-receipient#"
+
+ $self->SetHeader( 'Message-ID',
+ "<rt-"
+ . $RT::VERSION ."-"
+ . $self->TicketObj->id() . "-"
+ . $self->TransactionObj->id() . "."
+ . rand(20) . "\@"
+ . $RT::Organization . ">" )
+ unless $self->TemplateObj->MIMEObj->head->get('Message-ID');
+}
- # Trim leading and trailing spaces.
- @blacklist = map { RT::User->CanonicalizeEmailAddress( $_->address ) } Email::Address->parse(join(', ', grep {defined} @blacklist));
+# }}}
- foreach my $type (@EMAIL_RECIPIENT_HEADERS) {
- my @addrs;
- foreach my $addr ( @{ $self->{$type} } ) {
+# }}}
- # Weed out any RT addresses. We really don't want to talk to ourselves!
- # If we get a reply back, that means it's not an RT address
- if ( !RT::EmailParser->CullRTAddresses($addr) ) {
- $RT::Logger->info( $msgid . "$addr appears to point to this RT instance. Skipping" );
- next;
- }
- if ( grep /^\Q$addr\E$/, @blacklist ) {
- $RT::Logger->info( $msgid . "$addr was blacklisted for outbound mail on this transaction. Skipping");
- next;
- }
- push @addrs, $addr;
- }
- @{ $self->{$type} } = @addrs;
- }
-}
+# {{{ sub SetReturnAddress
=head2 SetReturnAddress is_comment => BOOLEAN
@@ -845,11 +409,8 @@ Calculate and set From and Reply-To headers based on the is_comment flag.
sub SetReturnAddress {
my $self = shift;
- my %args = (
- is_comment => 0,
- friendly_name => undef,
- @_
- );
+ my %args = ( is_comment => 0,
+ @_ );
# From and Reply-To
# $args{is_comment} should be set if the comment address is to be used.
@@ -857,37 +418,29 @@ sub SetReturnAddress {
if ( $args{'is_comment'} ) {
$replyto = $self->TicketObj->QueueObj->CommentAddress
- || RT->Config->Get('CommentAddress');
- } else {
+ || $RT::CommentAddress;
+ }
+ else {
$replyto = $self->TicketObj->QueueObj->CorrespondAddress
- || RT->Config->Get('CorrespondAddress');
+ || $RT::CorrespondAddress;
}
unless ( $self->TemplateObj->MIMEObj->head->get('From') ) {
- if ( RT->Config->Get('UseFriendlyFromLine') ) {
- my $friendly_name = $args{friendly_name};
-
- unless ( $friendly_name ) {
- $friendly_name = $self->TransactionObj->CreatorObj->FriendlyName;
- if ( $friendly_name =~ /^"(.*)"$/ ) { # a quoted string
- $friendly_name = $1;
- }
- }
-
- $friendly_name =~ s/"/\\"/g;
- $self->SetHeader(
- 'From',
- sprintf(
- RT->Config->Get('FriendlyFromLineFormat'),
- $self->MIMEEncodeString(
- $friendly_name, RT->Config->Get('EmailOutputEncoding')
- ),
- $replyto
- ),
- );
- } else {
- $self->SetHeader( 'From', $replyto );
- }
+ if ($RT::UseFriendlyFromLine) {
+ my $friendly_name = $self->TransactionObj->CreatorObj->RealName;
+ if ( $friendly_name =~ /^"(.*)"$/ ) { # a quoted string
+ $friendly_name = $1;
+ }
+
+ $friendly_name =~ s/"/\\"/g;
+ $self->SetHeader( 'From',
+ sprintf($RT::FriendlyFromLineFormat,
+ $self->MIMEEncodeString( $friendly_name, $RT::EmailOutputEncoding ), $replyto),
+ );
+ }
+ else {
+ $self->SetHeader( 'From', $replyto );
+ }
}
unless ( $self->TemplateObj->MIMEObj->head->get('Reply-To') ) {
@@ -896,6 +449,10 @@ sub SetReturnAddress {
}
+# }}}
+
+# {{{ sub SetHeader
+
=head2 SetHeader FIELD, VALUE
Set the FIELD of the current MIME object into VALUE.
@@ -909,151 +466,163 @@ sub SetHeader {
chomp $val;
chomp $field;
- my $head = $self->TemplateObj->MIMEObj->head;
- $head->fold_length( $field, 10000 );
- $head->replace( $field, $val );
- return $head->get($field);
+ $self->TemplateObj->MIMEObj->head->fold_length( $field, 10000 );
+ $self->TemplateObj->MIMEObj->head->replace( $field, $val );
+ return $self->TemplateObj->MIMEObj->head->get($field);
}
-=head2 SetSubject
+# }}}
-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.
+# {{{ sub SetRecipients
-=cut
+=head2 SetRecipients
-sub SetSubject {
+Dummy method to be overriden by subclasses which want to set the recipients.
+
+=cut
+
+sub SetRecipients {
my $self = shift;
- my $subject;
+ return ();
+}
- if ( $self->TemplateObj->MIMEObj->head->get('Subject') ) {
- return ();
- }
+# }}}
- my $message = $self->TransactionObj->Attachments;
- $message->RowsPerPage(1);
- if ( $self->{'Subject'} ) {
- $subject = $self->{'Subject'};
- } elsif ( my $first = $message->First ) {
- my $tmp = $first->GetHeader('Subject');
- $subject = defined $tmp ? $tmp : $self->TicketObj->Subject;
- } else {
- $subject = $self->TicketObj->Subject;
- }
- $subject = '' unless defined $subject;
- chomp $subject;
+# {{{ sub SetTo
- $subject =~ s/(\r\n|\n|\s)/ /g;
+=head2 SetTo
- $self->SetHeader( 'Subject', $subject );
+Takes a string that is the addresses you want to send mail to
+=cut
+
+sub SetTo {
+ my $self = shift;
+ my $addresses = shift;
+ return $self->SetHeader( 'To', $addresses );
}
-=head2 SetSubjectToken
+# }}}
-This routine fixes the RT tag in the subject. It's unlikely that you want to overwrite this.
+# {{{ sub SetCc
+
+=head2 SetCc
+
+Takes a string that is the addresses you want to Cc
=cut
-sub SetSubjectToken {
- my $self = shift;
+sub SetCc {
+ my $self = shift;
+ my $addresses = shift;
- my $head = $self->TemplateObj->MIMEObj->head;
- $head->replace(
- Subject => RT::Interface::Email::AddSubjectTag(
- Encode::decode_utf8( $head->get('Subject') ),
- $self->TicketObj,
- ),
- );
+ return $self->SetHeader( 'Cc', $addresses );
}
-=head2 SetReferencesHeaders
+# }}}
+
+# {{{ sub SetBcc
+
+=head2 SetBcc
-Set References and In-Reply-To headers for this message.
+Takes a string that is the addresses you want to Bcc
=cut
-sub SetReferencesHeaders {
+sub SetBcc {
+ my $self = shift;
+ my $addresses = shift;
+
+ return $self->SetHeader( 'Bcc', $addresses );
+}
+
+# }}}
+
+# {{{ sub SetPrecedence
+
+sub SetPrecedence {
my $self = shift;
- my ( @in_reply_to, @references, @msgid );
-
- if ( my $top = $self->TransactionObj->Message->First ) {
- @in_reply_to = split( /\s+/m, $top->GetHeader('In-Reply-To') || '' );
- @references = split( /\s+/m, $top->GetHeader('References') || '' );
- @msgid = split( /\s+/m, $top->GetHeader('Message-ID') || '' );
- } else {
- return (undef);
+
+ unless ( $self->TemplateObj->MIMEObj->head->get("Precedence") ) {
+ $self->SetHeader( 'Precedence', "bulk" );
}
+}
- # There are two main cases -- this transaction was created with
- # the RT Web UI, and hence we want to *not* append its Message-ID
- # to the References and In-Reply-To. OR it came from an outside
- # source, and we should treat it as per the RFC
- my $org = RT->Config->Get('Organization');
- if ( "@msgid" =~ /<(rt-.*?-\d+-\d+)\.(\d+)-0-0\@\Q$org\E>/ ) {
-
- # Make all references which are internal be to version which we
- # have sent out
-
- for ( @references, @in_reply_to ) {
- s/<(rt-.*?-\d+-\d+)\.(\d+-0-0)\@\Q$org\E>$/
- "<$1." . $self->TicketObj->id .
- "-" . $self->ScripObj->id .
- "-" . $self->ScripActionObj->{_Message_ID} .
- "@" . $org . ">"/eg
- }
+# }}}
- # In reply to whatever the internal message was in reply to
- $self->SetHeader( 'In-Reply-To', join( " ", (@in_reply_to) ) );
+# {{{ sub SetSubject
- # Default the references to whatever we're in reply to
- @references = @in_reply_to unless @references;
+=head2 SetSubject
- # References are unchanged from internal
- } else {
+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
+the transaction's subject.
- # In reply to that message
- $self->SetHeader( 'In-Reply-To', join( " ", (@msgid) ) );
+=cut
- # Default the references to whatever we're in reply to
- @references = @in_reply_to unless @references;
+sub SetSubject {
+ my $self = shift;
+ my $subject;
- # Push that message onto the end of the references
- push @references, @msgid;
- }
+ unless ( $self->TemplateObj->MIMEObj->head->get('Subject') ) {
+ my $message = $self->TransactionObj->Attachments;
+ my $ticket = $self->TicketObj->Id;
+
+ if ( $self->{'Subject'} ) {
+ $subject = $self->{'Subject'};
+ }
+ elsif ( ( $message->First() )
+ && ( $message->First->Headers ) ) {
+ my $header = $message->First->Headers();
+ $header =~ s/\n\s+/ /g;
+ if ( $header =~ /^Subject: (.*?)$/m ) {
+ $subject = $1;
+ }
+ else {
+ $subject = $self->TicketObj->Subject();
+ }
- # Push pseudo-ref to the front
- my $pseudo_ref = $self->PseudoReference;
- @references = ( $pseudo_ref, grep { $_ ne $pseudo_ref } @references );
+ }
+ else {
+ $subject = $self->TicketObj->Subject();
+ }
- # If there are more than 10 references headers, remove all but the
- # first four and the last six (Gotta keep this from growing
- # forever)
- splice( @references, 4, -6 ) if ( $#references >= 10 );
+ $subject =~ s/(\r\n|\n|\s)/ /gi;
- # Add on the references
- $self->SetHeader( 'References', join( " ", @references ) );
- $self->TemplateObj->MIMEObj->head->fold_length( 'References', 80 );
+ chomp $subject;
+ $self->SetHeader( 'Subject', $subject );
+ }
+ return ($subject);
}
-=head2 PseudoReference
+# }}}
-Returns a fake Message-ID: header for the ticket to allow a base level of threading
+# {{{ sub SetSubjectToken
-=cut
+=head2 SetSubjectToken
+
+This routine fixes the RT tag in the subject. It's unlikely that you want to overwrite this.
-sub PseudoReference {
+=cut
+sub SetSubjectToken {
my $self = shift;
- my $pseudo_ref
- = '<RT-Ticket-'
- . $self->TicketObj->id . '@'
- . RT->Config->Get('Organization') . '>';
- return $pseudo_ref;
+ my $tag = "[$RT::rtname #" . $self->TicketObj->id . "]";
+ my $sub = $self->TemplateObj->MIMEObj->head->get('Subject');
+ unless ( $sub =~ /\Q$tag\E/ ) {
+ $sub =~ s/(\r\n|\n|\s)/ /gi;
+ chomp $sub;
+ $self->TemplateObj->MIMEObj->head->replace( 'Subject', "$tag $sub" );
+ }
}
+# }}}
+
+# }}}
+
+# {{{
+
=head2 SetHeaderAsEncoding($field_name, $charset_encoding)
This routine converts the field into specified charset encoding.
@@ -1064,37 +633,53 @@ sub SetHeaderAsEncoding {
my $self = shift;
my ( $field, $enc ) = ( shift, shift );
- my $head = $self->TemplateObj->MIMEObj->head;
-
- if ( lc($field) eq 'from' and RT->Config->Get('SMTPFrom') ) {
- $head->replace( $field, RT->Config->Get('SMTPFrom') );
- return;
+ if ($field eq 'From' and $RT::SMTPFrom) {
+ $self->TemplateObj->MIMEObj->head->replace( $field, $RT::SMTPFrom );
+ return;
}
- my $value = $head->get( $field );
- $value = $self->MIMEEncodeString( $value, $enc );
- $head->replace( $field, $value );
+ my $value = $self->TemplateObj->MIMEObj->head->get($field);
-}
+ # don't bother if it's us-ascii
+
+ # See RT::I18N, 'NOTES: Why Encode::_utf8_off before Encode::from_to'
-=head2 MIMEEncodeString
+ $value = $self->MIMEEncodeString($value, $enc);
-Takes a perl string and optional encoding pass it over
-L<RT::Interface::Email/EncodeToMIME>.
+ $self->TemplateObj->MIMEObj->head->replace( $field, $value );
-Basicly encode a string using B encoding according to RFC2047.
+
+}
+# }}}
+
+# {{{ MIMENcodeString
+
+=head2 MIMEEncodeString STRING ENCODING
+
+Takes a string and a possible encoding and returns the string wrapped in MIME goo.
=cut
sub MIMEEncodeString {
- my $self = shift;
- return RT::Interface::Email::EncodeToMIME( String => $_[0], Charset => $_[1] );
+ my $self = shift;
+ my $value = shift;
+ my $enc = shift;
+
+ chomp $value;
+ return ($value) unless $value =~ /[^\x20-\x7e]/;
+
+ $value =~ s/\s*$//;
+ Encode::_utf8_off($value);
+ my $res = Encode::from_to( $value, "utf-8", $enc );
+ $value = encode_mimeword( $value, 'B', $enc );
}
+# }}}
+
eval "require RT::Action::SendEmail_Vendor";
-die $@ if ( $@ && $@ !~ qr{^Can't locate RT/Action/SendEmail_Vendor.pm} );
+die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/SendEmail_Vendor.pm});
eval "require RT::Action::SendEmail_Local";
-die $@ if ( $@ && $@ !~ qr{^Can't locate RT/Action/SendEmail_Local.pm} );
+die $@ if ($@ && $@ !~ qr{^Can't locate RT/Action/SendEmail_Local.pm});
1;
diff --git a/rt/lib/RT/Action/SetPriority_Local.pm b/rt/lib/RT/Action/SetPriority_Local.pm
new file mode 100644
index 000000000..efaadc961
--- /dev/null
+++ b/rt/lib/RT/Action/SetPriority_Local.pm
@@ -0,0 +1,47 @@
+package RT::Action::SetPriority;
+use strict;
+no warnings 'redefine';
+
+# Extension to allow relative priority changes:
+# if Argument is "R" followed by a value, it's
+# relative to current priority.
+sub Commit {
+ my $self = shift;
+ my ($rel, $val);
+ my $arg = $self->Argument;
+ if ( $arg ) {
+ ($rel, $val) = ( $arg =~ /^(r?)(-?\d+)$/i );
+ if (!length($val)) {
+ warn "Bad argument to SetPriority: '$arg'\n";
+ return 0;
+ }
+ }
+ else {
+ my %Rules = $self->Rules;
+ $rel = length($Rules{'inc'}) ? 1 : 0;
+ $val = $Rules{'inc'} || $Rules{'set'};
+ if ($val !~ /^[+-]?\d+$/) {
+ warn "Bad argument to SetPriority: '$val'\n";
+ return 0;
+ }
+ }
+ $val += $self->TicketObj->Priority if $rel;
+ $self->TicketObj->SetPriority($val);
+}
+
+sub Options {
+ (
+ {
+ 'name' => 'set',
+ 'label' => 'Set to value',
+ 'type' => 'text',
+ },
+ {
+ 'name' => 'inc',
+ 'label' => 'Increment by',
+ 'type' => 'text',
+ },
+ )
+}
+
+1;
diff --git a/rt/lib/RT/Attachment.pm b/rt/lib/RT/Attachment.pm
index 6f6bb2677..2ed520162 100755
--- a/rt/lib/RT/Attachment.pm
+++ b/rt/lib/RT/Attachment.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -86,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -135,7 +110,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -144,14 +119,14 @@ Returns the current value of id.
=cut
-=head2 TransactionId
+=item TransactionId
Returns the current value of TransactionId.
(In the database, TransactionId is stored as int(11).)
-=head2 SetTransactionId VALUE
+=item SetTransactionId VALUE
Set TransactionId to VALUE.
@@ -162,14 +137,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Parent
+=item Parent
Returns the current value of Parent.
(In the database, Parent is stored as int(11).)
-=head2 SetParent VALUE
+=item SetParent VALUE
Set Parent to VALUE.
@@ -180,14 +155,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 MessageId
+=item MessageId
Returns the current value of MessageId.
(In the database, MessageId is stored as varchar(160).)
-=head2 SetMessageId VALUE
+=item SetMessageId VALUE
Set MessageId to VALUE.
@@ -198,14 +173,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Subject
+=item Subject
Returns the current value of Subject.
(In the database, Subject is stored as varchar(255).)
-=head2 SetSubject VALUE
+=item SetSubject VALUE
Set Subject to VALUE.
@@ -216,14 +191,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Filename
+=item Filename
Returns the current value of Filename.
(In the database, Filename is stored as varchar(255).)
-=head2 SetFilename VALUE
+=item SetFilename VALUE
Set Filename to VALUE.
@@ -234,14 +209,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ContentType
+=item ContentType
Returns the current value of ContentType.
(In the database, ContentType is stored as varchar(80).)
-=head2 SetContentType VALUE
+=item SetContentType VALUE
Set ContentType to VALUE.
@@ -252,14 +227,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ContentEncoding
+=item ContentEncoding
Returns the current value of ContentEncoding.
(In the database, ContentEncoding is stored as varchar(80).)
-=head2 SetContentEncoding VALUE
+=item SetContentEncoding VALUE
Set ContentEncoding to VALUE.
@@ -270,14 +245,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Content
+=item Content
Returns the current value of Content.
(In the database, Content is stored as longtext.)
-=head2 SetContent VALUE
+=item SetContent VALUE
Set Content to VALUE.
@@ -288,14 +263,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Headers
+=item Headers
Returns the current value of Headers.
(In the database, Headers is stored as longtext.)
-=head2 SetHeaders VALUE
+=item SetHeaders VALUE
Set Headers to VALUE.
@@ -306,7 +281,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -315,7 +290,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -325,33 +300,33 @@ Returns the current value of Created.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
TransactionId =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Parent =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
MessageId =>
- {read => 1, write => 1, sql_type => 12, length => 160, is_blob => 0, is_numeric => 0, type => 'varchar(160)', default => ''},
+ {read => 1, write => 1, type => 'varchar(160)', default => ''},
Subject =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
Filename =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
ContentType =>
- {read => 1, write => 1, sql_type => 12, length => 80, is_blob => 0, is_numeric => 0, type => 'varchar(80)', default => ''},
+ {read => 1, write => 1, type => 'varchar(80)', default => ''},
ContentEncoding =>
- {read => 1, write => 1, sql_type => 12, length => 80, is_blob => 0, is_numeric => 0, type => 'varchar(80)', default => ''},
+ {read => 1, write => 1, type => 'varchar(80)', default => ''},
Content =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'longtext', default => ''},
+ {read => 1, write => 1, type => 'longtext', default => ''},
Headers =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'longtext', default => ''},
+ {read => 1, write => 1, type => 'longtext', default => ''},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
}
};
@@ -383,7 +358,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Attachments.pm b/rt/lib/RT/Attachments.pm
index 93c9445f6..177cdd094 100755
--- a/rt/lib/RT/Attachments.pm
+++ b/rt/lib/RT/Attachments.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::Attachment item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Condition.pm b/rt/lib/RT/Condition.pm
index e04fd6454..dfd58e757 100755
--- a/rt/lib/RT/Condition.pm
+++ b/rt/lib/RT/Condition.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -210,6 +210,19 @@ sub IsApplicable {
}
# }}}
+sub Options {
+ my $self = shift;
+ return();
+}
+
+sub Rules {
+ my $self = shift;
+ return () if !$self->ScripObj or !$self->ScripObj->ConditionRules;
+ # By default, option names and values are on consecutive lines.
+ # Override this if you need anything more interesting.
+ return(split "\n", $self->ScripObj->ConditionRules);
+}
+
# {{{ sub DESTROY
sub DESTROY {
my $self = shift;
diff --git a/rt/lib/RT/Condition/AnyTransaction.pm b/rt/lib/RT/Condition/AnyTransaction.pm
index 330862262..4519fcf5a 100644
--- a/rt/lib/RT/Condition/AnyTransaction.pm
+++ b/rt/lib/RT/Condition/AnyTransaction.pm
@@ -1,55 +1,34 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
+
package RT::Condition::AnyTransaction;
-use base 'RT::Condition';
+require RT::Condition::Generic;
use strict;
+use vars qw/@ISA/;
+@ISA = qw(RT::Condition::Generic);
=head2 IsApplicable
diff --git a/rt/lib/RT/Condition/CustomFieldChange.pm b/rt/lib/RT/Condition/CustomFieldChange.pm
new file mode 100644
index 000000000..b9228a50f
--- /dev/null
+++ b/rt/lib/RT/Condition/CustomFieldChange.pm
@@ -0,0 +1,56 @@
+package RT::Condition::CustomFieldChange;
+use base 'RT::Condition';
+use strict;
+
+=head2 IsApplicable
+
+If a custom field has a particular value.
+
+=cut
+
+# Based on Chuck Boeheim's code posted on the RT Wiki 3/13/06
+
+sub IsApplicable {
+ my $self = shift;
+ my $trans = $self->TransactionObj;
+ my $scrip = $self->ScripObj;
+ my %Rules = $self->Rules;
+ my ($field, $value) = @Rules{'field', 'value'};
+ return if !defined($field) or !defined($value);
+
+ if ($trans->Type eq 'Create') {
+ return 1 if $trans->TicketObj->FirstCustomFieldValue($field) eq $value;
+ }
+ if ($trans->Type eq 'CustomField') {
+ my $cf = RT::CustomField->new($self->CurrentUser);
+ $cf->Load($field);
+ return 1 if $trans->Field == $cf->Id and $trans->NewValue eq $value;
+ }
+ return undef;
+}
+
+sub Options {
+ my $self = shift;
+ my %args = ( 'QueueObj' => undef, @_ );
+ my $QueueObj = $args{'QueueObj'};
+ my $cfs = $QueueObj->TicketCustomFields();
+ my @fieldnames;
+ while ( my $cf = $cfs->Next ) {
+ push @fieldnames, $cf->Name, $cf->Name;
+ }
+ return (
+ {
+ 'name' => 'field',
+ 'label' => 'Custom Field',
+ 'type' => 'select',
+ 'options' => \@fieldnames,
+ },
+ {
+ 'name' => 'value',
+ 'label' => 'Value',
+ 'type' => 'text',
+ },
+ );
+}
+1;
+
diff --git a/rt/lib/RT/Condition/Generic.pm b/rt/lib/RT/Condition/Generic.pm
index 6032427f1..bd269315e 100755
--- a/rt/lib/RT/Condition/Generic.pm
+++ b/rt/lib/RT/Condition/Generic.pm
@@ -1,80 +1,211 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
=head1 NAME
- RT::Condition::Generic - deprecated, see RT::Condition
+ RT::Condition::Generic - ;
=head1 SYNOPSIS
- use RT::Condition::Generic;
+ use RT::Condition::Generic;
+ my $foo = new RT::Condition::IsApplicable(
+ TransactionObj => $tr,
+ TicketObj => $ti,
+ ScripObj => $scr,
+ Argument => $arg,
+ Type => $type);
+
+ if ($foo->IsApplicable) {
+ # do something
+ }
+
=head1 DESCRIPTION
-This module is provided only for backwards compatibility.
=head1 METHODS
+=begin testing
+
+ok (require RT::Condition::Generic);
+
+=end testing
+
+
=cut
-use strict;
-use warnings;
package RT::Condition::Generic;
-use base 'RT::Condition';
+
+use RT::Base;
+use strict;
+use vars qw/@ISA/;
+@ISA = qw(RT::Base);
+
+# {{{ sub new
+sub new {
+ my $proto = shift;
+ my $class = ref($proto) || $proto;
+ my $self = {};
+ bless ($self, $class);
+ $self->_Init(@_);
+ return $self;
+}
+# }}}
+
+# {{{ sub _Init
+sub _Init {
+ my $self = shift;
+ my %args = ( TransactionObj => undef,
+ TicketObj => undef,
+ ScripObj => undef,
+ TemplateObj => undef,
+ Argument => undef,
+ ApplicableTransTypes => undef,
+ @_ );
+
+ $self->{'Argument'} = $args{'Argument'};
+ $self->{'ScripObj'} = $args{'ScripObj'};
+ $self->{'TicketObj'} = $args{'TicketObj'};
+ $self->{'TransactionObj'} = $args{'TransactionObj'};
+ $self->{'ApplicableTransTypes'} = $args{'ApplicableTransTypes'};
+}
+# }}}
+
+# Access Scripwide data
+
+# {{{ sub Argument
+
+=head2 Argument
+
+Return the optional argument associated with this ScripCondition
+
+=cut
+
+sub Argument {
+ my $self = shift;
+ return($self->{'Argument'});
+}
+# }}}
+
+# {{{ sub TicketObj
+
+=head2 TicketObj
+
+Return the ticket object we're talking about
+
+=cut
+
+sub TicketObj {
+ my $self = shift;
+ return($self->{'TicketObj'});
+}
+# }}}
+
+# {{{ sub ScripObj
+
+=head2 ScripObj
+
+Return the Scrip object we're talking about
+
+=cut
+
+sub ScripObj {
+ my $self = shift;
+ return($self->{'ScripObj'});
+}
+# }}}
+# {{{ sub TransactionObj
+
+=head2 TransactionObj
+
+Return the transaction object we're talking about
+
+=cut
+
+sub TransactionObj {
+ my $self = shift;
+ return($self->{'TransactionObj'});
+}
+# }}}
+
+# {{{ sub Type
+
+=head2 Type
+
+
+
+=cut
+
+sub ApplicableTransTypes {
+ my $self = shift;
+ return($self->{'ApplicableTransTypes'});
+}
+# }}}
+
+
+# Scrip methods
+
+
+#What does this type of Action does
+
+# {{{ sub Describe
+sub Describe {
+ my $self = shift;
+ return ($self->loc("No description for [_1]", ref $self));
+}
+# }}}
+
+
+#Parse the templates, get things ready to go.
+
+#If this rule applies to this transaction, return true.
+
+# {{{ sub IsApplicable
+sub IsApplicable {
+ my $self = shift;
+ return(undef);
+}
+# }}}
+
+# {{{ sub DESTROY
+sub DESTROY {
+ my $self = shift;
+
+ # We need to clean up all the references that might maybe get
+ # oddly circular
+ $self->{'TemplateObj'} =undef
+ $self->{'TicketObj'} = undef;
+ $self->{'TransactionObj'} = undef;
+ $self->{'ScripObj'} = undef;
+
+}
+
+# }}}
eval "require RT::Condition::Generic_Vendor";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/Condition/Generic_Vendor.pm});
-warn "RT::Condition::Generic has become RT::Condition. Please adjust your RT::Condition::Generic_Vendor file at " . $INC{"RT/Condition/Generic_Vendor.pm"} if !$@;
-
eval "require RT::Condition::Generic_Local";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/Condition/Generic_Local.pm});
-warn "RT::Condition::Generic has become RT::Condition. Please adjust your RT::Condition::Generic_Local file at " . $INC{"RT/Condition/Generic_Local.pm"} if !$@;
1;
-
diff --git a/rt/lib/RT/Condition/StatusChange.pm b/rt/lib/RT/Condition/StatusChange.pm
index dba3b7a20..8afabcda0 100644
--- a/rt/lib/RT/Condition/StatusChange.pm
+++ b/rt/lib/RT/Condition/StatusChange.pm
@@ -1,54 +1,35 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
+
+
package RT::Condition::StatusChange;
-use base 'RT::Condition';
+require RT::Condition::Generic;
+
use strict;
+use vars qw/@ISA/;
+@ISA = qw(RT::Condition::Generic);
=head2 IsApplicable
diff --git a/rt/lib/RT/Config.pm b/rt/lib/RT/Config.pm
index 7b57beaba..7aa25b380 100644
--- a/rt/lib/RT/Config.pm
+++ b/rt/lib/RT/Config.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
package RT::Config;
@@ -173,7 +173,7 @@ our %META = (
WidgetArguments => {
Description => 'Theme', #loc
# XXX: we need support for 'get values callback'
- Values => [qw(3.5-default 3.4-compat web2)],
+ Values => [qw(3.5-default 3.4-compat web2 freeside2.1)],
},
},
MessageBoxRichText => {
@@ -231,29 +231,6 @@ our %META = (
},
},
},
- ResolveDefaultUpdateType => {
- Section => 'General', #loc
- Overridable => 1,
- SortOrder => 9,
- Widget => '/Widgets/Form/Select',
- WidgetArguments => {
- Description => 'Default Update Type when Resolving', #loc
- Values => [qw(Comment Respond)],
- ValuesLabel => {
- Comment => "Comments (Not sent to requestors)", #loc
- Respond => "Reply to requestors", #loc
- },
- },
- },
- SuppressAutoOpenOnUpdate => {
- Section => 'General',
- Overridable => 1,
- SortOrder => 10,
- Widget => '/Widgets/Form/Boolean',
- WidgetArguments => {
- Description => 'Suppress automatic new to open status change on ticket update' # loc
- }
- },
# User overridable options for RT at a glance
DefaultSummaryRows => {
@@ -336,6 +313,16 @@ our %META = (
Hints => 'Use css rules to display text monospaced and with formatting preserved, but wrap as needed. This does not work well with IE6 and you should use the previous option', #loc
},
},
+ DisplayAfterQuickCreate => {
+ Section => 'Ticket display',
+ Overridable => 1,
+ SortOrder => 6,
+ Widget => '/Widgets/Form/Boolean',
+ WidgetArguments => {
+ Description => 'On Quick Create, redirect to ticket display', #loc
+ #Hints => '', #loc
+ },
+ },
# User overridable locale options
DateTimeFormat => {
@@ -363,13 +350,15 @@ our %META = (
my $value = $self->Get('RTAddressRegexp');
return if $value;
- $RT::Logger->debug(
- 'The RTAddressRegexp option is not set in the config.'
- .' Not setting this option results in additional SQL queries to'
- .' check whether each address belongs to RT or not.'
- .' It is especially important to set this option if RT recieves'
- .' emails on addresses that are not in the database or config.'
- );
+ #XXX freeside - should fix this at some point, but it is being WAY
+ #too noisy in the logs
+ #$RT::Logger->error(
+ # 'The RTAddressRegexp option is not set in the config.'
+ # .' Not setting this option results in additional SQL queries to'
+ # .' check whether each address belongs to RT or not.'
+ # .' It is especially important to set this option if RT recieves'
+ # .' emails on addresses that are not in the database or config.'
+ #);
},
},
# User overridable mail options
@@ -806,8 +795,8 @@ sub SetFromConfig {
# RTIR's options is set in main site config or RTFM's
warn
"Change of config option '$name' at $args{'File'} line $args{'Line'} has been ignored."
- ." It may be ok, but we want you to be aware."
- ." This option has been set earlier in $source{'File'} line $source{'Line'}."
+ ." It's may be ok, but we want you to be aware."
+ ." This option earlier has been set in $source{'File'} line $source{'Line'}."
;
}
@@ -868,7 +857,7 @@ sub SetFromConfig {
# get entry for type we are looking for
# XXX skip references to scalars or other references.
- # Otherwie 5.10 goes boom. maybe we should skip any
+ # Otherwie 5.10 goes boom. may be we should skip any
# reference
next if ref($entry) eq 'SCALAR' || ref($entry) eq 'REF';
my $entry_ref = *{$entry}{ ref($ref) };
diff --git a/rt/lib/RT/CurrentUser.pm b/rt/lib/RT/CurrentUser.pm
index 127116bdd..4ca2f9891 100755
--- a/rt/lib/RT/CurrentUser.pm
+++ b/rt/lib/RT/CurrentUser.pm
@@ -1,184 +1,195 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
=head1 NAME
RT::CurrentUser - an RT object representing the current user
=head1 SYNOPSIS
- use RT::CurrentUser;
-
- # laod
- my $current_user = new RT::CurrentUser;
- $current_user->Load(...);
- # or
- my $current_user = RT::CurrentUser->new( $user_obj );
- # or
- my $current_user = RT::CurrentUser->new( $address || $name || $id );
-
- # manipulation
- $current_user->UserObj->SetName('new_name');
+ use RT::CurrentUser
=head1 DESCRIPTION
-B<Read-only> subclass of L<RT::User> class. Used to define the current
-user. You should pass an instance of this class to constructors of
-many RT classes, then the instance used to check ACLs and localize
-strings.
=head1 METHODS
-See also L<RT::User> for a list of methods this class has.
-=head2 new
+=begin testing
+
+ok (require RT::CurrentUser);
-Returns new CurrentUser object. Unlike all other classes of RT it takes
-either subclass of C<RT::User> class object or scalar value that is
-passed to Load method.
+=end testing
=cut
package RT::CurrentUser;
+use RT::Record;
use RT::I18N;
use strict;
-use warnings;
+use vars qw/@ISA/;
+@ISA= qw(RT::Record);
-use base qw/RT::User/;
+# {{{ sub _Init
#The basic idea here is that $self->CurrentUser is always supposed
# to be a CurrentUser object. but that's hard to do when we're trying to load
# the CurrentUser object
-sub _Init {
- my $self = shift;
- my $User = shift;
-
- $self->{'table'} = "Users";
-
- if ( defined $User ) {
-
- if ( UNIVERSAL::isa( $User, 'RT::User' ) ) {
- $self->LoadById( $User->id );
- }
- elsif ( ref $User ) {
- $RT::Logger->crit(
- "RT::CurrentUser->new() called with a bogus argument: $User");
- }
- else {
- $self->Load( $User );
- }
- }
+sub _Init {
+ my $self = shift;
+ my $Name = shift;
- $self->_BuildTableAttributes;
-
-}
+ $self->{'table'} = "Users";
-=head2 Create, Delete and Set*
+ if (defined($Name)) {
+ $self->Load($Name);
+ }
+
+ $self->CurrentUser($self);
-As stated above it's a subclass of L<RT::User>, but this class is read-only
-and calls to these methods are illegal. Return 'permission denied' message
-and log an error.
+}
+# }}}
-=cut
+# {{{ sub Create
sub Create {
my $self = shift;
- $RT::Logger->error('RT::CurrentUser is read-only, RT::User for manipulation');
return (0, $self->loc('Permission Denied'));
}
+# }}}
+
+# {{{ sub Delete
+
sub Delete {
my $self = shift;
- $RT::Logger->error('RT::CurrentUser is read-only, RT::User for manipulation');
return (0, $self->loc('Permission Denied'));
}
-sub _Set {
- my $self = shift;
- $RT::Logger->error('RT::CurrentUser is read-only, RT::User for manipulation');
- return (0, $self->loc('Permission Denied'));
-}
+# }}}
+
+# {{{ sub UserObj
=head2 UserObj
-Returns the L<RT::User> object associated with this CurrentUser object.
+ Returns the RT::User object associated with this CurrentUser object.
=cut
sub UserObj {
my $self = shift;
-
- my $user = RT::User->new( $self );
- unless ( $user->LoadById( $self->Id ) ) {
- $RT::Logger->error(
- $self->loc("Couldn't load [_1] from the users database.\n", $self->Id)
- );
+
+ unless ($self->{'UserObj'}) {
+ use RT::User;
+ $self->{'UserObj'} = RT::User->new($self);
+ unless ($self->{'UserObj'}->Load($self->Id)) {
+ $RT::Logger->err($self->loc("Couldn't load [_1] from the users database.\n", $self->Id));
+ }
+
}
- return $user;
+ return ($self->{'UserObj'});
}
+# }}}
-sub _CoreAccessible {
- {
- Name => { 'read' => 1 },
- Gecos => { 'read' => 1 },
- RealName => { 'read' => 1 },
- Lang => { 'read' => 1 },
- Password => { 'read' => 0, 'write' => 0 },
- EmailAddress => { 'read' => 1, 'write' => 0 }
- };
-
+# {{{ sub PrincipalObj
+
+=head2 PrincipalObj
+
+ Returns this user's principal object. this is just a helper routine for
+ $self->UserObj->PrincipalObj
+
+=cut
+
+sub PrincipalObj {
+ my $self = shift;
+ return($self->UserObj->PrincipalObj);
}
+
+# }}}
+
+
+# {{{ sub PrincipalId
+
+=head2 PrincipalId
+
+ Returns this user's principal Id. this is just a helper routine for
+ $self->UserObj->PrincipalId
+
+=cut
+
+sub PrincipalId {
+ my $self = shift;
+ return($self->UserObj->PrincipalId);
+}
+
+
+# }}}
+
+
+# {{{ sub _Accessible
+sub _Accessible {
+ my $self = shift;
+ my %Cols = (
+ Name => 'read',
+ Gecos => 'read',
+ RealName => 'read',
+ Password => 'neither',
+ EmailAddress => 'read',
+ Privileged => 'read',
+ IsAdministrator => 'read'
+ );
+ return($self->SUPER::_Accessible(@_, %Cols));
+}
+# }}}
+
+# {{{ sub LoadByEmail
+
+=head2 LoadByEmail
+
+Loads a User into this CurrentUser object.
+Takes the email address of the user to load.
+
+=cut
+
+sub LoadByEmail {
+ my $self = shift;
+ my $identifier = shift;
+
+ $identifier = RT::User::CanonicalizeEmailAddress(undef, $identifier);
+
+ $self->LoadByCol("EmailAddress",$identifier);
+
+}
+# }}}
+
+# {{{ sub LoadByGecos
+
=head2 LoadByGecos
Loads a User into this CurrentUser object.
@@ -188,128 +199,171 @@ Takes a unix username as its only argument.
sub LoadByGecos {
my $self = shift;
- return $self->LoadByCol( "Gecos", shift );
+ my $identifier = shift;
+
+ $self->LoadByCol("Gecos",$identifier);
+
}
+# }}}
+
+# {{{ sub LoadByName
=head2 LoadByName
Loads a User into this CurrentUser object.
Takes a Name.
-
=cut
sub LoadByName {
my $self = shift;
- return $self->LoadByCol( "Name", shift );
+ my $identifier = shift;
+ $self->LoadByCol("Name",$identifier);
+
}
+# }}}
-=head2 LanguageHandle
+# {{{ sub Load
-Returns this current user's langauge handle. Should take a language
-specification. but currently doesn't
-
-=cut
+=head2 Load
-sub LanguageHandle {
- my $self = shift;
- if ( !defined $self->{'LangHandle'}
- || !UNIVERSAL::can( $self->{'LangHandle'}, 'maketext' )
- || @_ )
- {
- if ( my $lang = $self->Lang ) {
- push @_, $lang;
- }
- elsif ( $self->id && ($self->id == ($RT::SystemUser->id||0) || $self->id == ($RT::Nobody->id||0)) ) {
- # don't use ENV magic for system users
- push @_, 'en';
- }
+Loads a User into this CurrentUser object.
+Takes either an integer (users id column reference) or a Name
+The latter is deprecated. Instead, you should use LoadByName.
+Formerly, this routine also took email addresses.
- $self->{'LangHandle'} = RT::I18N->get_handle(@_);
- }
+=cut
- # Fall back to english.
- unless ( $self->{'LangHandle'} ) {
- die "We couldn't get a dictionary. Ne mogu naidti slovar. No puedo encontrar dictionario.";
- }
- return $self->{'LangHandle'};
+sub Load {
+ my $self = shift;
+ my $identifier = shift;
+
+ #if it's an int, load by id. otherwise, load by name.
+ if ($identifier !~ /\D/) {
+ $self->SUPER::LoadById($identifier);
+ }
+ else {
+ # This is a bit dangerous, we might get false authen if somebody
+ # uses ambigous userids or real names:
+ $self->LoadByCol("Name",$identifier);
+ }
}
-sub loc {
- my $self = shift;
- return '' if !defined $_[0] || $_[0] eq '';
+# }}}
- my $handle = $self->LanguageHandle;
+# {{{ sub IsPassword
- if (@_ == 1) {
- # pre-scan the lexicon hashes to return _AUTO keys verbatim,
- # to keep locstrings containing '[' and '~' from tripping over Maketext
- return $_[0] unless grep exists $_->{$_[0]}, @{ $handle->_lex_refs };
- }
+=head2 IsPassword
- return $handle->maketext(@_);
-}
+Takes a password as a string. Passes it off to IsPassword in this
+user's UserObj. If it is the user's password and the user isn't
+disabled, returns 1.
-sub loc_fuzzy {
- my $self = shift;
- return '' if !defined $_[0] || $_[0] eq '';
+Otherwise, returns undef.
- # XXX: work around perl's deficiency when matching utf8 data
- return $_[0] if Encode::is_utf8($_[0]);
+=cut
- return $self->LanguageHandle->maketext_fuzzy( @_ );
+sub IsPassword {
+ my $self = shift;
+ my $value = shift;
+
+ return ($self->UserObj->IsPassword($value));
}
-=head2 CurrentUser
+# }}}
+
+# {{{ sub Privileged
+
+=head2 Privileged
-Return the current currentuser object
+Returns true if the current user can be granted rights and be
+a member of groups.
=cut
-sub CurrentUser {
+sub Privileged {
my $self = shift;
- return($self);
-
+ return ($self->UserObj->Privileged());
}
-=head2 Authenticate
+# }}}
-Takes $password, $created and $nonce, and returns a boolean value
-representing whether the authentication succeeded.
-If both $nonce and $created are specified, validate $password against:
+# {{{ sub HasRight
- encode_base64(sha1(
- $nonce .
- $created .
- sha1_hex( "$username:$realm:$server_pass" )
- ))
+=head2 HasRight
-where $server_pass is the md5_hex(password) digest stored in the
-database, $created is in ISO time format, and $nonce is a random
-string no longer than 32 bytes.
+calls $self->UserObj->HasRight with the arguments passed in
=cut
-sub Authenticate {
- my ($self, $password, $created, $nonce, $realm) = @_;
+sub HasRight {
+ my $self = shift;
+ return ($self->UserObj->HasRight(@_));
+}
+
+# }}}
- require Digest::MD5;
- require Digest::SHA1;
- require MIME::Base64;
+# {{{ Localization
- my $username = $self->UserObj->Name or return;
- my $server_pass = $self->UserObj->__Value('Password') or return;
- my $auth_digest = MIME::Base64::encode_base64(Digest::SHA1::sha1(
- $nonce .
- $created .
- Digest::MD5::md5_hex("$username:$realm:$server_pass")
- ));
+=head2 LanguageHandle
+
+Returns this current user's langauge handle. Should take a language
+specification. but currently doesn't
- chomp($password);
- chomp($auth_digest);
+=begin testing
+
+ok (my $cu = RT::CurrentUser->new('root'));
+ok (my $lh = $cu->LanguageHandle);
+ok ($lh != undef);
+ok ($lh->isa('Locale::Maketext'));
+ok ($cu->loc('TEST_STRING') eq "Concrete Mixer", "Localized TEST_STRING into English");
+ok ($lh = $cu->LanguageHandle('fr'));
+ok ($cu->loc('Before') eq "Avant", "Localized TEST_STRING into Frenc");
+
+=end testing
+
+=cut
+
+sub LanguageHandle {
+ my $self = shift;
+ if ((!defined $self->{'LangHandle'}) ||
+ (!UNIVERSAL::can($self->{'LangHandle'}, 'maketext')) ||
+ (@_)) {
+ $self->{'LangHandle'} = RT::I18N->get_handle(@_);
+ }
+ # Fall back to english.
+ unless ($self->{'LangHandle'}) {
+ die "We couldn't get a dictionary. Nye mogu naidti slovar. No puedo encontrar dictionario.";
+ }
+ return ($self->{'LangHandle'});
+}
+
+sub loc {
+ my $self = shift;
+ return '' if $_[0] eq '';
+
+ my $handle = $self->LanguageHandle;
+
+ if (@_ == 1) {
+ # pre-scan the lexicon hashes to return _AUTO keys verbatim,
+ # to keep locstrings containing '[' and '~' from tripping over Maketext
+ return $_[0] unless grep { exists $_->{$_[0]} } @{ $handle->_lex_refs };
+ }
+
+ return $handle->maketext(@_);
+}
+
+sub loc_fuzzy {
+ my $self = shift;
+ return '' if $_[0] eq '';
+
+ # XXX: work around perl's deficiency when matching utf8 data
+ return $_[0] if Encode::is_utf8($_[0]);
+ my $result = $self->LanguageHandle->maketext_fuzzy(@_);
- return ($password eq $auth_digest);
+ return($result);
}
+# }}}
eval "require RT::CurrentUser_Vendor";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/CurrentUser_Vendor.pm});
@@ -317,3 +371,4 @@ eval "require RT::CurrentUser_Local";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/CurrentUser_Local.pm});
1;
+
diff --git a/rt/lib/RT/CustomField.pm b/rt/lib/RT/CustomField.pm
index 260e9bd2a..dc4108044 100644
--- a/rt/lib/RT/CustomField.pm
+++ b/rt/lib/RT/CustomField.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
@@ -122,6 +122,7 @@ sub Create {
Disabled => '0',
LinkToValue => '',
IncludeContentForValue => '',
+ Required => '0',
@_);
$self->SUPER::Create(
@@ -381,6 +382,8 @@ sub _CoreAccessible {
{read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
Disabled =>
{read => 1, write => 1, sql_type => 5, length => 6, is_blob => 0, is_numeric => 1, type => 'smallint(6)', default => '0'},
+ Required =>
+ {read => 1, write => 1, sql_type => 5, length => 6, is_blob => 0, is_numeric => 1, type => 'smallint(6)', default => '0'},
}
};
diff --git a/rt/lib/RT/CustomFieldValues/Queues.pm b/rt/lib/RT/CustomFieldValues/Queues.pm
new file mode 100644
index 000000000..59529b6ac
--- /dev/null
+++ b/rt/lib/RT/CustomFieldValues/Queues.pm
@@ -0,0 +1,30 @@
+package RT::CustomFieldValues::Queues;
+
+use strict;
+use warnings;
+
+use base qw(RT::CustomFieldValues::External);
+
+sub SourceDescription {
+ return 'RT ticket queues';
+}
+
+sub ExternalValues {
+ my $self = shift;
+
+ my @res;
+ my $i = 0;
+ my $queues = RT::Queues->new( $self->CurrentUser );
+ $queues->UnLimit;
+ $queues->OrderByCols( { FIELD => 'Name' } );
+ while( my $queue = $queues->Next ) {
+ push @res, {
+ name => $queue->Name,
+ description => $queue->Description,
+ sortorder => $i++,
+ };
+ }
+ return \@res;
+}
+
+1;
diff --git a/rt/lib/RT/CustomField_Overlay.pm b/rt/lib/RT/CustomField_Overlay.pm
index 9cf608e5a..c91f12037 100644
--- a/rt/lib/RT/CustomField_Overlay.pm
+++ b/rt/lib/RT/CustomField_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
package RT::CustomField;
@@ -97,6 +97,11 @@ our %FieldTypes = (
'Enter one value with autocompletion', # loc
'Enter up to [_1] values with autocompletion', # loc
],
+ Date => [
+ 'Select multiple dates', # loc
+ 'Select date', # loc
+ 'Select up to [_1] dates', # loc
+ ],
);
@@ -112,7 +117,6 @@ RT::CustomField->_ForObjectType( 'RT::Group' => "Groups", );
our $RIGHTS = {
SeeCustomField => 'See custom fields', # loc_pair
AdminCustomField => 'Create, delete and modify custom fields', # loc_pair
- AdminCustomFieldValues => 'Create, delete and modify custom fields values', # loc_pair
ModifyCustomField => 'Add, delete and modify custom field values for objects' #loc_pair
};
@@ -401,7 +405,7 @@ sub AddValue {
my $self = shift;
my %args = @_;
- unless ($self->CurrentUserHasRight('AdminCustomField') || $self->CurrentUserHasRight('AdminCustomFieldValues')) {
+ unless ($self->CurrentUserHasRight('AdminCustomField')) {
return (0, $self->loc('Permission Denied'));
}
@@ -430,7 +434,7 @@ Does not remove this value for any article which has had it selected
sub DeleteValue {
my $self = shift;
my $id = shift;
- unless ( $self->CurrentUserHasRight('AdminCustomField') || $self->CurrentUserHasRight('AdminCustomFieldValues') ) {
+ unless ( $self->CurrentUserHasRight('AdminCustomField') ) {
return (0, $self->loc('Permission Denied'));
}
@@ -830,7 +834,7 @@ Returns an array of all possible composite values for custom fields.
sub TypeComposites {
my $self = shift;
- return grep !/(?:[Tt]ext|Combobox)-0/, map { ("$_-1", "$_-0") } $self->Types;
+ return grep !/(?:[Tt]ext|Combobox|Date)-0/, map { ("$_-1", "$_-0") } $self->Types;
}
=head2 SetLookupType
@@ -1161,6 +1165,15 @@ sub AddValueForObject {
$extra_values--;
}
}
+ # For date, we need to store Content as ISO date
+ if ($self->Type eq 'Date') {
+ my $DateObj = new RT::Date( $self->CurrentUser );
+ $DateObj->Set(
+ Format => 'unknown',
+ Value => $args{'Content'},
+ );
+ $args{'Content'} = $DateObj->ISO;
+ }
my $newval = RT::ObjectCustomFieldValue->new( $self->CurrentUser );
my $val = $newval->Create(
ObjectType => ref($obj),
diff --git a/rt/lib/RT/Date.pm b/rt/lib/RT/Date.pm
index e51a77540..2c7a6b66f 100644
--- a/rt/lib/RT/Date.pm
+++ b/rt/lib/RT/Date.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -273,6 +273,39 @@ sub SetToMidnight {
return $self->Unix( $new );
}
+=head2 SetToStart PERIOD[, Timezone => 'utc' ]
+
+Set to the beginning of the current PERIOD, which can be
+"year", "month", "day", "hour", or "minute".
+
+=cut
+
+sub SetToStart {
+ my $self = shift;
+ my $p = uc(shift);
+ my %args = @_;
+ my $tz = $args{'Timezone'} || '';
+ my @localtime = $self->Localtime($tz);
+
+ # This is the cleanest way to implement it, I swear.
+ {
+ $localtime[0]=0;
+ last if ($p eq 'MINUTE');
+ $localtime[1]=0;
+ last if ($p eq 'HOUR');
+ $localtime[2]=0;
+ last if ($p eq 'DAY');
+ $localtime[3]=1;
+ last if ($p eq 'MONTH');
+ $localtime[4]=0;
+ last if ($p eq 'YEAR');
+ $RT::Logger->warning("Couldn't find start date of '$p'.");
+ return;
+ }
+ my $new = $self->Timelocal($tz, @localtime);
+ return $self->Unix($new);
+}
+
=head2 Diff
Takes either an C<RT::Date> object or the date in unixtime format as a string,
@@ -479,6 +512,25 @@ Adds 24 hours to the current time. Returns new unix time.
sub AddDay { return $_[0]->AddSeconds($DAY) }
+=head2 AddMonth
+
+Adds one month to the current time. Returns new
+unix time.
+
+=cut
+
+sub AddMonth {
+ require Time::ParseDate;
+ my $self = shift;
+ my $date = (
+ Time::ParseDate::parsedate(
+ '1 month',
+ NOW => $self->Unix
+ )
+ );
+ return $self->Unix($date);
+}
+
=head2 Unix [unixtime]
Optionally takes a date in unix seconds since the epoch format.
@@ -858,7 +910,7 @@ sub RFC2616 {
Seconds => 1, DayOfWeek => 1,
);
- my $res = $self->RFC2822( %args );
+ my $res = $self->RFC2822( @_ );
$res =~ s/\s*[+-]\d\d\d\d$/ GMT/ if $args{'Time'};
return $res;
}
diff --git a/rt/lib/RT/Extension/ActivityReports.pm b/rt/lib/RT/Extension/ActivityReports.pm
new file mode 100644
index 000000000..52d8ba6ab
--- /dev/null
+++ b/rt/lib/RT/Extension/ActivityReports.pm
@@ -0,0 +1,3 @@
+package RT::Extension::ActivityReports;
+
+our $VERSION = '0.2';
diff --git a/rt/lib/RT/Group.pm b/rt/lib/RT/Group.pm
index 1f2c7c6bf..4dcef3f07 100755
--- a/rt/lib/RT/Group.pm
+++ b/rt/lib/RT/Group.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -86,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -94,7 +69,7 @@ Create takes a hash of values and creates a row in the database:
varchar(255) 'Description'.
varchar(64) 'Domain'.
varchar(64) 'Type'.
- int(11) 'Instance'.
+ varchar(64) 'Instance'.
=cut
@@ -123,7 +98,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -132,14 +107,14 @@ Returns the current value of id.
=cut
-=head2 Name
+=item Name
Returns the current value of Name.
(In the database, Name is stored as varchar(200).)
-=head2 SetName VALUE
+=item SetName VALUE
Set Name to VALUE.
@@ -150,14 +125,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Description
+=item Description
Returns the current value of Description.
(In the database, Description is stored as varchar(255).)
-=head2 SetDescription VALUE
+=item SetDescription VALUE
Set Description to VALUE.
@@ -168,14 +143,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Domain
+=item Domain
Returns the current value of Domain.
(In the database, Domain is stored as varchar(64).)
-=head2 SetDomain VALUE
+=item SetDomain VALUE
Set Domain to VALUE.
@@ -186,14 +161,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Type
+=item Type
Returns the current value of Type.
(In the database, Type is stored as varchar(64).)
-=head2 SetType VALUE
+=item SetType VALUE
Set Type to VALUE.
@@ -204,40 +179,40 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Instance
+=item Instance
Returns the current value of Instance.
-(In the database, Instance is stored as int(11).)
+(In the database, Instance is stored as varchar(64).)
-=head2 SetInstance VALUE
+=item SetInstance VALUE
Set Instance to VALUE.
Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, Instance will be stored as a int(11).)
+(In the database, Instance will be stored as a varchar(64).)
=cut
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
Name =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
Description =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
Domain =>
- {read => 1, write => 1, sql_type => 12, length => 64, is_blob => 0, is_numeric => 0, type => 'varchar(64)', default => ''},
+ {read => 1, write => 1, type => 'varchar(64)', default => ''},
Type =>
- {read => 1, write => 1, sql_type => 12, length => 64, is_blob => 0, is_numeric => 0, type => 'varchar(64)', default => ''},
+ {read => 1, write => 1, type => 'varchar(64)', default => ''},
Instance =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, write => 1, type => 'varchar(64)', default => ''},
}
};
@@ -269,7 +244,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/GroupMember.pm b/rt/lib/RT/GroupMember.pm
index 00381f459..8de1a73fe 100755
--- a/rt/lib/RT/GroupMember.pm
+++ b/rt/lib/RT/GroupMember.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -86,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -114,7 +89,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -123,14 +98,14 @@ Returns the current value of id.
=cut
-=head2 GroupId
+=item GroupId
Returns the current value of GroupId.
(In the database, GroupId is stored as int(11).)
-=head2 SetGroupId VALUE
+=item SetGroupId VALUE
Set GroupId to VALUE.
@@ -141,14 +116,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 MemberId
+=item MemberId
Returns the current value of MemberId.
(In the database, MemberId is stored as int(11).)
-=head2 SetMemberId VALUE
+=item SetMemberId VALUE
Set MemberId to VALUE.
@@ -160,15 +135,15 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
GroupId =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
MemberId =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
}
};
@@ -200,7 +175,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/GroupMembers.pm b/rt/lib/RT/GroupMembers.pm
index 49415e25b..31cb9536f 100755
--- a/rt/lib/RT/GroupMembers.pm
+++ b/rt/lib/RT/GroupMembers.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::GroupMember item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Groups.pm b/rt/lib/RT/Groups.pm
index 4f33a4afa..29f12a5a0 100755
--- a/rt/lib/RT/Groups.pm
+++ b/rt/lib/RT/Groups.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::Group item
@@ -116,6 +91,8 @@ sub NewItem {
};
+
+
=head1 SEE ALSO
This class allows "overlay" methods to be placed
@@ -124,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Groups_Overlay.pm b/rt/lib/RT/Groups_Overlay.pm
index ed18939f1..1b3ef51e2 100644
--- a/rt/lib/RT/Groups_Overlay.pm
+++ b/rt/lib/RT/Groups_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -323,6 +323,7 @@ sub WithRight {
$from_group->WithGroupRight( %args );
#XXX: DIRTY HACK
+ use DBIx::SearchBuilder 1.50; #no version on ::Union :(
use DBIx::SearchBuilder::Union;
my $union = new DBIx::SearchBuilder::Union;
$union->add($from_role);
diff --git a/rt/lib/RT/Handle.pm b/rt/lib/RT/Handle.pm
index a1b802fed..5cdb65e5b 100644
--- a/rt/lib/RT/Handle.pm
+++ b/rt/lib/RT/Handle.pm
@@ -1,1070 +1,98 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
=head1 NAME
-RT::Handle - RT's database handle
+ RT::Handle - RT's database handle
=head1 SYNOPSIS
- use RT;
- BEGIN { RT::LoadConfig() };
- use RT::Handle;
+ use RT::Handle;
=head1 DESCRIPTION
-C<RT::Handle> is RT specific wrapper over one of L<DBIx::SearchBuilder::Handle>
-classes. As RT works with different types of DBs we subclass repsective handler
-from L<DBIx::SerachBuilder>. Type of the DB is defined by C<DatabasseType> RT's
-config option. You B<must> load this module only when the configs have been
-loaded.
-
-=cut
+=begin testing
-package RT::Handle;
+ok(require RT::Handle);
-use strict;
-use warnings;
-use vars qw/@ISA/;
+=end testing
=head1 METHODS
-=head2 FinalizeDatabaseType
-
-Sets RT::Handle's superclass to the correct subclass of
-L<DBIx::SearchBuilder::Handle>, using the C<DatabaseType> configuration.
-
=cut
-sub FinalizeDatabaseType {
- eval "use DBIx::SearchBuilder::Handle::". RT->Config->Get('DatabaseType') .";
- \@ISA= qw(DBIx::SearchBuilder::Handle::". RT->Config->Get('DatabaseType') .");";
+package RT::Handle;
- if ($@) {
- die "Unable to load DBIx::SearchBuilder database handle for '". RT->Config->Get('DatabaseType') ."'.\n".
- "Perhaps you've picked an invalid database type or spelled it incorrectly.\n".
- $@;
- }
-}
+use strict;
+use vars qw/@ISA/;
+
+eval "use DBIx::SearchBuilder::Handle::$RT::DatabaseType;
+\@ISA= qw(DBIx::SearchBuilder::Handle::$RT::DatabaseType);";
+#TODO check for errors here.
=head2 Connect
-Connects to RT's database using credentials and options from the RT config.
-Takes nothing.
+Connects to RT's database handle.
+Takes nothing. Calls SUPER::Connect with the needed args
=cut
sub Connect {
- my $self = shift;
-
- my $db_type = RT->Config->Get('DatabaseType');
- if ( $db_type eq 'Oracle' ) {
- $ENV{'NLS_LANG'} = "AMERICAN_AMERICA.AL32UTF8";
- $ENV{'NLS_NCHAR'} = "AL32UTF8";
- }
-
- $self->SUPER::Connect(
- User => RT->Config->Get('DatabaseUser'),
- Password => RT->Config->Get('DatabasePassword'),
- );
-
- if ( $db_type eq 'mysql' ) {
- my $version = $self->DatabaseVersion;
- ($version) = $version =~ /^(\d+\.\d+)/;
- $self->dbh->do("SET NAMES 'utf8'") if $version >= 4.1;
- }
-
+my $self=shift;
- if ( $db_type eq 'Pg' ) {
- my $version = $self->DatabaseVersion;
- ($version) = $version =~ /^(\d+\.\d+)/;
- $self->dbh->do("SET bytea_output = 'escape'") if $version >= 9.0;
- }
+# Unless the database port is a positive integer, we really don't want to pass it.
-
-
- $self->dbh->{'LongReadLen'} = RT->Config->Get('MaxAttachmentSize');
+$self->SUPER::Connect(
+ User => $RT::DatabaseUser,
+ Password => $RT::DatabasePassword,
+ );
+
}
-=head2 BuildDSN
+=item BuildDSN
-Build the DSN for the RT database. Doesn't take any parameters, draws all that
-from the config.
+Build the DSN for the RT database. doesn't take any parameters, draws all that
+from the config file.
=cut
-require File::Spec;
sub BuildDSN {
my $self = shift;
- # Unless the database port is a positive integer, we really don't want to pass it.
- my $db_port = RT->Config->Get('DatabasePort');
- $db_port = undef unless (defined $db_port && $db_port =~ /^(\d+)$/);
- my $db_host = RT->Config->Get('DatabaseHost');
- $db_host = undef unless $db_host;
- my $db_name = RT->Config->Get('DatabaseName');
- my $db_type = RT->Config->Get('DatabaseType');
- $db_name = File::Spec->catfile($RT::VarPath, $db_name)
- if $db_type eq 'SQLite' && !File::Spec->file_name_is_absolute($db_name);
-
- my %args = (
- Host => $db_host,
- Database => $db_name,
- Port => $db_port,
- Driver => $db_type,
- RequireSSL => RT->Config->Get('DatabaseRequireSSL'),
- DisconnectHandleOnDestroy => 1,
- );
- if ( $db_type eq 'Oracle' && $db_host ) {
- $args{'SID'} = delete $args{'Database'};
- }
- $self->SUPER::BuildDSN( %args );
-}
-
-=head2 DSN
-
-Returns the DSN for this handle. In order to get correct value you must
-build DSN first, see L</BuildDSN>.
-
-This is method can be called as class method, in this case creates
-temporary handle object, L</BuildDSN builds DSN> and returns it.
-
-=cut
-
-sub DSN {
- my $self = shift;
- return $self->SUPER::DSN if ref $self;
-
- my $handle = $self->new;
- $handle->BuildDSN;
- return $handle->DSN;
-}
-
-=head2 SystemDSN
-
-Returns a DSN suitable for database creates and drops
-and user creates and drops.
-
-Gets RT's DSN first (see L<DSN>) and then change it according
-to requirements of a database system RT's using.
-
-=cut
-
-sub SystemDSN {
- my $self = shift;
-
- my $db_name = RT->Config->Get('DatabaseName');
- my $db_type = RT->Config->Get('DatabaseType');
-
- my $dsn = $self->DSN;
- if ( $db_type eq 'mysql' ) {
- # with mysql, you want to connect sans database to funge things
- $dsn =~ s/dbname=\Q$db_name//;
- }
- elsif ( $db_type eq 'Pg' ) {
- # with postgres, you want to connect to template1 database
- $dsn =~ s/dbname=\Q$db_name/dbname=template1/;
- }
- elsif ( $db_type eq 'Informix' ) {
- # with Informix, you want to connect sans database:
- $dsn =~ s/Informix:\Q$db_name/Informix:/;
- }
- return $dsn;
-}
-
-=head2 Database compatibility and integrity checks
-
-
-
-=cut
-
-sub CheckIntegrity {
- my $self = shift;
-
- my $dsn = $self->DSN;
- my $user = RT->Config->Get('DatabaseUser');
- my $pass = RT->Config->Get('DatabasePassword');
-
- my $dbh = DBI->connect(
- $dsn, $user, $pass,
- { RaiseError => 0, PrintError => 0 },
- );
- unless ( $dbh ) {
- return (0, 'no connection', "Failed to connect to $dsn as user '$user': ". $DBI::errstr);
- }
-
- RT::ConnectToDatabase();
- RT::InitLogging();
-
- require RT::CurrentUser;
- my $test_user = new RT::CurrentUser;
- $test_user->Load('RT_System');
- unless ( $test_user->id ) {
- return (0, 'no system user', "Couldn't find RT_System user in the DB '$dsn'");
- }
-
- $test_user = new RT::CurrentUser;
- $test_user->Load('Nobody');
- unless ( $test_user->id ) {
- return (0, 'no nobody user', "Couldn't find Nobody user in the DB '$dsn'");
- }
-
- return $dbh;
-}
-
-sub CheckCompatibility {
- my $self = shift;
- my $dbh = shift;
- my $state = shift || 'post';
-
- my $db_type = RT->Config->Get('DatabaseType');
- if ( $db_type eq "mysql" ) {
- # Check which version we're running
- my $version = ($dbh->selectrow_array("show variables like 'version'"))[1];
- return (0, "couldn't get version of the mysql server")
- unless $version;
-
- ($version) = $version =~ /^(\d+\.\d+)/;
- return (0, "RT is unsupported on MySQL versions before 4.0.x, it's $version")
- if $version < 4;
-
- # MySQL must have InnoDB support
- my $innodb = ($dbh->selectrow_array("show variables like 'have_innodb'"))[1];
- if ( lc $innodb eq "no" ) {
- return (0, "RT requires that MySQL be compiled with InnoDB table support.\n".
- "See http://dev.mysql.com/doc/mysql/en/InnoDB.html");
- } elsif ( lc $innodb eq "disabled" ) {
- return (0, "RT requires that MySQL InnoDB table support be enabled.\n".
- "Remove the 'skip-innodb' line from your my.cnf file, restart MySQL, and try again.\n");
- }
-
- if ( $state eq 'post' ) {
- my $create_table = $dbh->selectrow_arrayref("SHOW CREATE TABLE Tickets")->[1];
- unless ( $create_table =~ /(?:ENGINE|TYPE)\s*=\s*InnoDB/i ) {
- return (0, "RT requires that all its tables be of InnoDB type. Upgrade RT tables.");
- }
- }
- if ( $version >= 4.1 && $state eq 'post' ) {
- my $create_table = $dbh->selectrow_arrayref("SHOW CREATE TABLE Attachments")->[1];
- unless ( $create_table =~ /\bContent\b[^,]*BLOB/i ) {
- return (0, "RT since version 3.8 has new schema for MySQL versions after 4.1.0\n"
- ."Follow instructions in the UPGRADING.mysql file.");
- }
- }
- }
- return (1)
-}
-
-=head2 Database maintanance
-
-=head3 CreateDatabase $DBH
-
-Creates a new database. This method can be used as class method.
-
-Takes DBI handle. Many database systems require special handle to
-allow you to create a new database, so you have to use L<SystemDSN>
-method during connection.
-
-Fetches type and name of the DB from the config.
-
-=cut
-
-sub CreateDatabase {
- my $self = shift;
- my $dbh = shift or return (0, "No DBI handle provided");
- my $db_type = RT->Config->Get('DatabaseType');
- my $db_name = RT->Config->Get('DatabaseName');
-
- my $status;
- if ( $db_type eq 'SQLite' ) {
- return (1, 'Skipped as SQLite doesn\'t need any action');
- }
- elsif ( $db_type eq 'Oracle' ) {
- my $db_user = RT->Config->Get('DatabaseUser');
- my $db_pass = RT->Config->Get('DatabasePassword');
- $status = $dbh->do(
- "CREATE USER $db_user IDENTIFIED BY $db_pass"
- ." default tablespace USERS"
- ." temporary tablespace TEMP"
- ." quota unlimited on USERS"
- );
- unless ( $status ) {
- return $status, "Couldn't create user $db_user identified by $db_pass."
- ."\nError: ". $dbh->errstr;
- }
- $status = $dbh->do( "GRANT connect, resource TO $db_user" );
- unless ( $status ) {
- return $status, "Couldn't grant connect and resource to $db_user."
- ."\nError: ". $dbh->errstr;
- }
- return (1, "Created user $db_user. All RT's objects should be in his schema.");
- }
- elsif ( $db_type eq 'Pg' ) {
- # XXX: as we get external DBH we don't know if RaiseError or PrintError
- # are enabled, so we have to setup it here and restore them back
- $status = $dbh->do("CREATE DATABASE $db_name WITH ENCODING='UNICODE' TEMPLATE template0")
- || $dbh->do("CREATE DATABASE $db_name TEMPLATE template0");
- }
- elsif ( $db_type eq 'Informix' ) {
- local $ENV{'DB_LOCALE'} = 'en_us.utf8';
- $status = $dbh->do("CREATE DATABASE $db_name WITH BUFFERED LOG");
- }
- else {
- $status = $dbh->do("CREATE DATABASE $db_name");
- }
- return ($status, $DBI::errstr);
-}
-
-=head3 DropDatabase $DBH [Force => 0]
-
-Drops RT's database. This method can be used as class method.
-
-Takes DBI handle as first argument. Many database systems require
-special handle to allow you to create a new database, so you have
-to use L<SystemDSN> method during connection.
-
-Fetches type and name of the DB from the config.
-
-=cut
-
-sub DropDatabase {
- my $self = shift;
- my $dbh = shift or return (0, "No DBI handle provided");
-
- my $db_type = RT->Config->Get('DatabaseType');
- my $db_name = RT->Config->Get('DatabaseName');
-
- if ( $db_type eq 'Oracle' || $db_type eq 'Informix' ) {
- my $db_user = RT->Config->Get('DatabaseUser');
- my $status = $dbh->do( "DROP USER $db_user CASCADE" );
- unless ( $status ) {
- return 0, "Couldn't drop user $db_user."
- ."\nError: ". $dbh->errstr;
- }
- return (1, "Successfully dropped user '$db_user' with his schema.");
- }
- elsif ( $db_type eq 'SQLite' ) {
- my $path = $db_name;
- $path = "$RT::VarPath/$path" unless substr($path, 0, 1) eq '/';
- unlink $path or return (0, "Couldn't remove '$path': $!");
- return (1);
- } else {
- $dbh->do("DROP DATABASE ". $db_name)
- or return (0, $DBI::errstr);
- }
- return (1);
-}
-
-=head2 InsertACL
-
-=cut
-
-sub InsertACL {
- my $self = shift;
- my $dbh = shift;
- my $base_path = shift || $RT::EtcPath;
-
- my $db_type = RT->Config->Get('DatabaseType');
- return (1) if $db_type eq 'SQLite';
-
- $dbh = $self->dbh if !$dbh && ref $self;
- return (0, "No DBI handle provided") unless $dbh;
-
- return (0, "'$base_path' doesn't exist") unless -e $base_path;
-
- my $path;
- if ( -d $base_path ) {
- $path = File::Spec->catfile( $base_path, "acl.$db_type");
- $path = $self->GetVersionFile($dbh, $path);
-
- $path = File::Spec->catfile( $base_path, "acl")
- unless $path && -e $path;
- return (0, "Couldn't find ACLs for $db_type")
- unless -e $path;
- } else {
- $path = $base_path;
- }
-
- local *acl;
- do $path || return (0, "Couldn't load ACLs: " . $@);
- my @acl = acl($dbh);
- foreach my $statement (@acl) {
- my $sth = $dbh->prepare($statement)
- or return (0, "Couldn't prepare SQL query:\n $statement\n\nERROR: ". $dbh->errstr);
- unless ( $sth->execute ) {
- return (0, "Couldn't run SQL query:\n $statement\n\nERROR: ". $sth->errstr);
- }
- }
- return (1);
-}
-
-=head2 InsertSchema
-
-=cut
-
-sub InsertSchema {
- my $self = shift;
- my $dbh = shift;
- my $base_path = (shift || $RT::EtcPath);
-
- $dbh = $self->dbh if !$dbh && ref $self;
- return (0, "No DBI handle provided") unless $dbh;
-
- my $db_type = RT->Config->Get('DatabaseType');
-
- my $file;
- if ( -d $base_path ) {
- $file = $base_path . "/schema." . $db_type;
- } else {
- $file = $base_path;
- }
-
- $file = $self->GetVersionFile( $dbh, $file );
- unless ( $file ) {
- return (0, "Couldn't find schema file(s) '$file*'");
- }
- unless ( -f $file && -r $file ) {
- return (0, "File '$file' doesn't exist or couldn't be read");
- }
-
- my (@schema);
-
- open my $fh_schema, "<$file";
-
- my $has_local = 0;
- open my $fh_schema_local, "<" . $self->GetVersionFile( $dbh, $RT::LocalEtcPath . "/schema." . $db_type )
- and $has_local = 1;
-
- my $statement = "";
- foreach my $line ( <$fh_schema>, ($_ = ';;'), $has_local? <$fh_schema_local>: () ) {
- $line =~ s/\#.*//g;
- $line =~ s/--.*//g;
- $statement .= $line;
- if ( $line =~ /;(\s*)$/ ) {
- $statement =~ s/;(\s*)$//g;
- push @schema, $statement;
- $statement = "";
- }
- }
- close $fh_schema; close $fh_schema_local;
-
- if ( $db_type eq 'Oracle' ) {
- my $db_user = RT->Config->Get('DatabaseUser');
- my $status = $dbh->do( "ALTER SESSION SET CURRENT_SCHEMA=$db_user" );
- unless ( $status ) {
- return $status, "Couldn't set current schema to $db_user."
- ."\nError: ". $dbh->errstr;
- }
- }
-
- local $SIG{__WARN__} = sub {};
- my $is_local = 0;
- $dbh->begin_work or return (0, "Couldn't begin transaction: ". $dbh->errstr);
- foreach my $statement (@schema) {
- if ( $statement =~ /^\s*;$/ ) {
- $is_local = 1; next;
- }
-
- my $sth = $dbh->prepare($statement)
- or return (0, "Couldn't prepare SQL query:\n$statement\n\nERROR: ". $dbh->errstr);
- unless ( $sth->execute or $is_local ) {
- return (0, "Couldn't run SQL query:\n$statement\n\nERROR: ". $sth->errstr);
- }
- }
- $dbh->commit or return (0, "Couldn't commit transaction: ". $dbh->errstr);
- return (1);
-}
-
-=head1 GetVersionFile
-
-Takes base name of the file as argument, scans for <base name>-<version> named
-files and returns file name with closest version to the version of the RT DB.
-
-=cut
-
-sub GetVersionFile {
- my $self = shift;
- my $dbh = shift;
- my $base_name = shift;
-
- my $db_version = ref $self
- ? $self->DatabaseVersion
- : do {
- my $tmp = RT::Handle->new;
- $tmp->dbh($dbh);
- $tmp->DatabaseVersion;
- };
-
- require File::Glob;
- my @files = File::Glob::bsd_glob("$base_name*");
- return '' unless @files;
-
- my %version = map { $_ =~ /\.\w+-([-\w\.]+)$/; ($1||0) => $_ } @files;
- my $version;
- foreach ( reverse sort cmp_version keys %version ) {
- if ( cmp_version( $db_version, $_ ) >= 0 ) {
- $version = $_;
- last;
- }
- }
-
- return defined $version? $version{ $version } : undef;
-}
-
-sub cmp_version($$) {
- my ($a, $b) = (@_);
- $b =~ s/HEAD$/9999/;
- my @a = split /[^0-9]+/, $a;
- my @b = split /[^0-9]+/, $b;
- for ( my $i = 0; $i < @a; $i++ ) {
- return 1 unless defined $b[$i];
- return $a[$i] <=> $b[$i] if $a[$i] <=> $b[$i];
- }
- return 0 if @a == @b;
- return -1;
-}
-
-
-=head2 InsertInitialData
-
-Inserts system objects into RT's DB, like system user or 'nobody',
-internal groups and other records required. However, this method
-doesn't insert any real users like 'root' and you have to use
-InsertData or another way to do that.
-
-Takes no arguments. Returns status and message tuple.
-
-It's safe to call this method even if those objects already exist.
-
-=cut
-
-sub InsertInitialData {
- my $self = shift;
-
- my @warns;
-
- # create RT_System user and grant him rights
- {
- require RT::CurrentUser;
-
- my $test_user = RT::User->new( new RT::CurrentUser );
- $test_user->Load('RT_System');
- if ( $test_user->id ) {
- push @warns, "Found system user in the DB.";
- }
- else {
- my $user = RT::User->new( new RT::CurrentUser );
- my ( $val, $msg ) = $user->_BootstrapCreate(
- Name => 'RT_System',
- RealName => 'The RT System itself',
- Comments => 'Do not delete or modify this user. '
- . 'It is integral to RT\'s internal database structures',
- Creator => '1',
- LastUpdatedBy => '1',
- );
- return ($val, $msg) unless $val;
- }
- DBIx::SearchBuilder::Record::Cachable->FlushCache;
- }
-
- # init RT::SystemUser and RT::System objects
- RT::InitSystemObjects();
- unless ( $RT::SystemUser->id ) {
- return (0, "Couldn't load system user");
- }
-
- # grant SuperUser right to system user
- {
- my $test_ace = RT::ACE->new( $RT::SystemUser );
- $test_ace->LoadByCols(
- PrincipalId => ACLEquivGroupId( $RT::SystemUser->Id ),
- PrincipalType => 'Group',
- RightName => 'SuperUser',
- ObjectType => 'RT::System',
- ObjectId => 1,
- );
- if ( $test_ace->id ) {
- push @warns, "System user has global SuperUser right.";
- } else {
- my $ace = RT::ACE->new( $RT::SystemUser );
- my ( $val, $msg ) = $ace->_BootstrapCreate(
- PrincipalId => ACLEquivGroupId( $RT::SystemUser->Id ),
- PrincipalType => 'Group',
- RightName => 'SuperUser',
- ObjectType => 'RT::System',
- ObjectId => 1,
- );
- return ($val, $msg) unless $val;
- }
- DBIx::SearchBuilder::Record::Cachable->FlushCache;
- }
-
- # system groups
- # $self->loc('Everyone'); # For the string extractor to get a string to localize
- # $self->loc('Privileged'); # For the string extractor to get a string to localize
- # $self->loc('Unprivileged'); # For the string extractor to get a string to localize
- foreach my $name (qw(Everyone Privileged Unprivileged)) {
- my $group = RT::Group->new( $RT::SystemUser );
- $group->LoadSystemInternalGroup( $name );
- if ( $group->id ) {
- push @warns, "System group '$name' already exists.";
- next;
- }
-
- $group = RT::Group->new( $RT::SystemUser );
- my ( $val, $msg ) = $group->_Create(
- Type => $name,
- Domain => 'SystemInternal',
- Description => 'Pseudogroup for internal use', # loc
- Name => '',
- Instance => '',
- );
- return ($val, $msg) unless $val;
- }
-
- # nobody
- {
- my $user = RT::User->new( $RT::SystemUser );
- $user->Load('Nobody');
- if ( $user->id ) {
- push @warns, "Found 'Nobody' user in the DB.";
- }
- else {
- my ( $val, $msg ) = $user->Create(
- Name => 'Nobody',
- RealName => 'Nobody in particular',
- Comments => 'Do not delete or modify this user. It is integral '
- .'to RT\'s internal data structures',
- Privileged => 0,
- );
- return ($val, $msg) unless $val;
- }
-
- if ( $user->HasRight( Right => 'OwnTicket', Object => $RT::System ) ) {
- push @warns, "User 'Nobody' has global OwnTicket right.";
- } else {
- my ( $val, $msg ) = $user->PrincipalObj->GrantRight(
- Right => 'OwnTicket',
- Object => $RT::System,
- );
- return ($val, $msg) unless $val;
- }
- }
+$RT::DatabasePort = undef unless (defined $RT::DatabasePort && $RT::DatabasePort =~ /^(\d+)$/);
+$RT::DatabaseHost = undef unless (defined $RT::DatabaseHost && $RT::DatabaseHost ne '');
- # rerun to get init Nobody as well
- RT::InitSystemObjects();
+ $self->SUPER::BuildDSN(Host => $RT::DatabaseHost,
+ Database => $RT::DatabaseName,
+ Port => $RT::DatabasePort,
+ Driver => $RT::DatabaseType,
+ RequireSSL => $RT::DatabaseRequireSSL,
+ DisconnectHandleOnDestroy => 1
+ );
+
- # system role groups
- foreach my $name (qw(Owner Requestor Cc AdminCc)) {
- my $group = RT::Group->new( $RT::SystemUser );
- $group->LoadSystemRoleGroup( $name );
- if ( $group->id ) {
- push @warns, "System role '$name' already exists.";
- next;
- }
-
- $group = RT::Group->new( $RT::SystemUser );
- my ( $val, $msg ) = $group->_Create(
- Type => $name,
- Domain => 'RT::System-Role',
- Description => 'SystemRolegroup for internal use', # loc
- Name => '',
- Instance => '',
- );
- return ($val, $msg) unless $val;
- }
-
- push @warns, "You appear to have a functional RT database."
- if @warns;
-
- return (1, join "\n", @warns);
}
-=head2 InsertData
-
-Load some sort of data into the database, takes path to a file.
-
-=cut
-
-sub InsertData {
- my $self = shift;
- my $datafile = shift;
-
- # Slurp in stuff to insert from the datafile. Possible things to go in here:-
- our (@Groups, @Users, @ACL, @Queues, @ScripActions, @ScripConditions,
- @Templates, @CustomFields, @Scrips, @Attributes, @Initial, @Final);
- local (@Groups, @Users, @ACL, @Queues, @ScripActions, @ScripConditions,
- @Templates, @CustomFields, @Scrips, @Attributes, @Initial, @Final);
-
- local $@;
- $RT::Logger->debug("Going to load '$datafile' data file");
- eval { require $datafile }
- or return (0, "Couldn't load data from '$datafile' for import:\n\nERROR:". $@);
-
- if ( @Initial ) {
- $RT::Logger->debug("Running initial actions...");
- foreach ( @Initial ) {
- local $@;
- eval { $_->(); 1 } or return (0, "One of initial functions failed: $@");
- }
- $RT::Logger->debug("Done.");
- }
- if ( @Groups ) {
- $RT::Logger->debug("Creating groups...");
- foreach my $item (@Groups) {
- my $new_entry = RT::Group->new( $RT::SystemUser );
- my $member_of = delete $item->{'MemberOf'};
- my ( $return, $msg ) = $new_entry->_Create(%$item);
- unless ( $return ) {
- $RT::Logger->error( $msg );
- next;
- } else {
- $RT::Logger->debug($return .".");
- }
- if ( $member_of ) {
- $member_of = [ $member_of ] unless ref $member_of eq 'ARRAY';
- foreach( @$member_of ) {
- my $parent = RT::Group->new($RT::SystemUser);
- if ( ref $_ eq 'HASH' ) {
- $parent->LoadByCols( %$_ );
- }
- elsif ( !ref $_ ) {
- $parent->LoadUserDefinedGroup( $_ );
- }
- else {
- $RT::Logger->error(
- "(Error: wrong format of MemberOf field."
- ." Should be name of user defined group or"
- ." hash reference with 'column => value' pairs."
- ." Use array reference to add to multiple groups)"
- );
- next;
- }
- unless ( $parent->Id ) {
- $RT::Logger->error("(Error: couldn't load group to add member)");
- next;
- }
- my ( $return, $msg ) = $parent->AddMember( $new_entry->Id );
- unless ( $return ) {
- $RT::Logger->error( $msg );
- } else {
- $RT::Logger->debug( $return ."." );
- }
- }
- }
- }
- $RT::Logger->debug("done.");
- }
- if ( @Users ) {
- $RT::Logger->debug("Creating users...");
- foreach my $item (@Users) {
- my $new_entry = new RT::User( $RT::SystemUser );
- my ( $return, $msg ) = $new_entry->Create(%$item);
- unless ( $return ) {
- $RT::Logger->error( $msg );
- } else {
- $RT::Logger->debug( $return ."." );
- }
- }
- $RT::Logger->debug("done.");
- }
- if ( @Queues ) {
- $RT::Logger->debug("Creating queues...");
- for my $item (@Queues) {
- my $new_entry = new RT::Queue($RT::SystemUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- unless ( $return ) {
- $RT::Logger->error( $msg );
- } else {
- $RT::Logger->debug( $return ."." );
- }
- }
- $RT::Logger->debug("done.");
- }
- if ( @CustomFields ) {
- $RT::Logger->debug("Creating custom fields...");
- for my $item ( @CustomFields ) {
- my $new_entry = new RT::CustomField( $RT::SystemUser );
- my $values = delete $item->{'Values'};
-
- my @queues;
- # if ref then it's list of queues, so we do things ourself
- if ( exists $item->{'Queue'} && ref $item->{'Queue'} ) {
- $item->{'LookupType'} ||= 'RT::Queue-RT::Ticket';
- @queues = @{ delete $item->{'Queue'} };
- }
-
- my ( $return, $msg ) = $new_entry->Create(%$item);
- unless( $return ) {
- $RT::Logger->error( $msg );
- next;
- }
-
- foreach my $value ( @{$values} ) {
- my ( $return, $msg ) = $new_entry->AddValue(%$value);
- $RT::Logger->error( $msg ) unless $return;
- }
-
- # apply by default
- if ( !@queues && !exists $item->{'Queue'} && $item->{LookupType} ) {
- my $ocf = RT::ObjectCustomField->new($RT::SystemUser);
- $ocf->Create( CustomField => $new_entry->Id );
- }
-
- for my $q (@queues) {
- my $q_obj = RT::Queue->new($RT::SystemUser);
- $q_obj->Load($q);
- unless ( $q_obj->Id ) {
- $RT::Logger->error("Could not find queue ". $q );
- next;
- }
- my $OCF = RT::ObjectCustomField->new($RT::SystemUser);
- ( $return, $msg ) = $OCF->Create(
- CustomField => $new_entry->Id,
- ObjectId => $q_obj->Id,
- );
- $RT::Logger->error( $msg ) unless $return and $OCF->Id;
- }
- }
-
- $RT::Logger->debug("done.");
- }
- if ( @ACL ) {
- $RT::Logger->debug("Creating ACL...");
- for my $item (@ACL) {
-
- my ($princ, $object);
-
- # Global rights or Queue rights?
- if ( $item->{'CF'} ) {
- $object = RT::CustomField->new( $RT::SystemUser );
- my @columns = ( Name => $item->{'CF'} );
- push @columns, Queue => $item->{'Queue'} if $item->{'Queue'} and not ref $item->{'Queue'};
- $object->LoadByName( @columns );
- } elsif ( $item->{'Queue'} ) {
- $object = RT::Queue->new($RT::SystemUser);
- $object->Load( $item->{'Queue'} );
- } else {
- $object = $RT::System;
- }
-
- $RT::Logger->error("Couldn't load object") and next unless $object and $object->Id;
-
- # Group rights or user rights?
- if ( $item->{'GroupDomain'} ) {
- $princ = RT::Group->new($RT::SystemUser);
- if ( $item->{'GroupDomain'} eq 'UserDefined' ) {
- $princ->LoadUserDefinedGroup( $item->{'GroupId'} );
- } elsif ( $item->{'GroupDomain'} eq 'SystemInternal' ) {
- $princ->LoadSystemInternalGroup( $item->{'GroupType'} );
- } elsif ( $item->{'GroupDomain'} eq 'RT::System-Role' ) {
- $princ->LoadSystemRoleGroup( $item->{'GroupType'} );
- } elsif ( $item->{'GroupDomain'} eq 'RT::Queue-Role' &&
- $item->{'Queue'} )
- {
- $princ->LoadQueueRoleGroup( Type => $item->{'GroupType'},
- Queue => $object->id);
- } else {
- $princ->Load( $item->{'GroupId'} );
- }
- } else {
- $princ = RT::User->new($RT::SystemUser);
- $princ->Load( $item->{'UserId'} );
- }
-
- # Grant it
- my ( $return, $msg ) = $princ->PrincipalObj->GrantRight(
- Right => $item->{'Right'},
- Object => $object
- );
- unless ( $return ) {
- $RT::Logger->error( $msg );
- }
- else {
- $RT::Logger->debug( $return ."." );
- }
- }
- $RT::Logger->debug("done.");
- }
-
- if ( @ScripActions ) {
- $RT::Logger->debug("Creating ScripActions...");
-
- for my $item (@ScripActions) {
- my $new_entry = RT::ScripAction->new($RT::SystemUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- unless ( $return ) {
- $RT::Logger->error( $msg );
- }
- else {
- $RT::Logger->debug( $return ."." );
- }
- }
-
- $RT::Logger->debug("done.");
- }
-
- if ( @ScripConditions ) {
- $RT::Logger->debug("Creating ScripConditions...");
-
- for my $item (@ScripConditions) {
- my $new_entry = RT::ScripCondition->new($RT::SystemUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- unless ( $return ) {
- $RT::Logger->error( $msg );
- }
- else {
- $RT::Logger->debug( $return ."." );
- }
- }
-
- $RT::Logger->debug("done.");
- }
-
- if ( @Templates ) {
- $RT::Logger->debug("Creating templates...");
-
- for my $item (@Templates) {
- my $new_entry = new RT::Template($RT::SystemUser);
- my ( $return, $msg ) = $new_entry->Create(%$item);
- unless ( $return ) {
- $RT::Logger->error( $msg );
- }
- else {
- $RT::Logger->debug( $return ."." );
- }
- }
- $RT::Logger->debug("done.");
- }
- if ( @Scrips ) {
- $RT::Logger->debug("Creating scrips...");
-
- for my $item (@Scrips) {
- my $new_entry = new RT::Scrip($RT::SystemUser);
-
- my @queues = ref $item->{'Queue'} eq 'ARRAY'? @{ $item->{'Queue'} }: $item->{'Queue'} || 0;
- push @queues, 0 unless @queues; # add global queue at least
-
- foreach my $q ( @queues ) {
- my ( $return, $msg ) = $new_entry->Create( %$item, Queue => $q );
- unless ( $return ) {
- $RT::Logger->error( $msg );
- }
- else {
- $RT::Logger->debug( $return ."." );
- }
- }
- }
- $RT::Logger->debug("done.");
- }
- if ( @Attributes ) {
- $RT::Logger->debug("Creating predefined searches...");
- my $sys = RT::System->new($RT::SystemUser);
-
- for my $item (@Attributes) {
- my $obj = delete $item->{Object}; # XXX: make this something loadable
- $obj ||= $sys;
- my ( $return, $msg ) = $obj->AddAttribute (%$item);
- unless ( $return ) {
- $RT::Logger->error( $msg );
- }
- else {
- $RT::Logger->debug( $return ."." );
- }
- }
- $RT::Logger->debug("done.");
- }
- if ( @Final ) {
- $RT::Logger->debug("Running final actions...");
- for ( @Final ) {
- local $@;
- eval { $_->(); };
- $RT::Logger->error( "Failed to run one of final actions: $@" )
- if $@;
- }
- $RT::Logger->debug("done.");
- }
-
- my $db_type = RT->Config->Get('DatabaseType');
- $RT::Handle->Disconnect() unless $db_type eq 'SQLite';
-
- $RT::Logger->debug("Done setting up database content.");
-
-# TODO is it ok to return 1 here? If so, the previous codes in this sub
-# should return (0, $msg) if error happens instead of just warning.
-# anyway, we need to return something here to tell if everything is ok
- return( 1, 'Done inserting data' );
-}
-
-=head2 ACLEquivGroupId
-
-Given a userid, return that user's acl equivalence group
-
-=cut
-
-sub ACLEquivGroupId {
- my $id = shift;
-
- my $cu = $RT::SystemUser;
- unless ( $cu ) {
- require RT::CurrentUser;
- $cu = new RT::CurrentUser;
- $cu->LoadByName('RT_System');
- warn "Couldn't load RT_System user" unless $cu->id;
- }
-
- my $equiv_group = RT::Group->new( $cu );
- $equiv_group->LoadACLEquivalenceGroup( $id );
- return $equiv_group->Id;
-}
-
-__PACKAGE__->FinalizeDatabaseType;
-
eval "require RT::Handle_Vendor";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/Handle_Vendor.pm});
eval "require RT::Handle_Local";
diff --git a/rt/lib/RT/I18N/en_malkovich.po b/rt/lib/RT/I18N/en_malkovich.po
deleted file mode 100644
index 74769f1a3..000000000
--- a/rt/lib/RT/I18N/en_malkovich.po
+++ /dev/null
@@ -1,3973 +0,0 @@
-msgid ""
-msgstr ""
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-
-#: html/Approvals/Elements/Approve:26 html/Approvals/Elements/ShowDependency:49 html/SelfService/Display.html:24 html/Ticket/Display.html:25 html/Ticket/Display.html:29
-#. ($TicketObj->Id, $TicketObj->Subject)
-#. ($Ticket->id, $Ticket->Subject)
-#. ($ticket->Id, $ticket->Subject)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "#%1: %2"
-msgstr "#%1: %2"
-
-#: html/Search/Elements/SelectPersonType:30 lib/RT/Date.pm:337
-#. ($s, $time_unit)
-#. ($option, $subtype)
-msgid "%1 %2"
-msgstr "%1 %2"
-
-#: lib/RT/Tickets_Overlay.pm:828
-#. ($args{'FIELD'}, $args{'OPERATOR'}, $args{'VALUE'})
-msgid "%1 %2 %3"
-msgstr "%1 %2 %3"
-
-#: lib/RT/Date.pm:373
-#. ($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/Ticket_Overlay.pm:3451 lib/RT/Transaction_Overlay.pm:550 lib/RT/Transaction_Overlay.pm:593
-#. ($cf->Name, $new_value->Content)
-#. ($field, $self->NewValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 added"
-msgstr "%1 %2 Malkovich"
-
-#: lib/RT/Date.pm:334
-#. ($s, $time_unit)
-msgid "%1 %2 ago"
-msgstr "%1 %2 ago"
-
-#: lib/RT/Ticket_Overlay.pm:3457 lib/RT/Transaction_Overlay.pm:557
-#. ($cf->Name, $old_value, $new_value->Content)
-#. ($field, $self->OldValue, $self->NewValue)
-msgid "%1 %2 changed to %3"
-msgstr "%1 %2 Malkovich to %3"
-
-#: lib/RT/Ticket_Overlay.pm:3454 lib/RT/Transaction_Overlay.pm:553 lib/RT/Transaction_Overlay.pm:599
-#. ($cf->Name, $old_value)
-#. ($field, $self->OldValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 deleted"
-msgstr "%1 %2 Malkovich"
-
-#: html/Admin/Elements/EditScrips:43 html/Admin/Elements/ListGlobalScrips:27 html/Ticket/Elements/PreviewScrips:53
-#. ($scrip->ConditionObj->Name, $scrip->ActionObj->Name, $scrip->TemplateObj->Name)
-#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
-msgid "%1 %2 with template %3"
-msgstr "%1 %2 Malkovich %3"
-
-#: bin/rt-crontool:165 bin/rt-crontool:172 bin/rt-crontool:178
-#. ("--search-argument", "--search")
-#. ("--condition-argument", "--condition")
-#. ("--action-argument", "--action")
-msgid "%1 - An argument to pass to %2"
-msgstr "%1 - A Malkovich to pass to %2"
-
-#: bin/rt-crontool:181
-#. ("--verbose")
-msgid "%1 - Output status updates to STDOUT"
-msgstr "%1 - Malkovich Malkovich to MALKOVICH"
-
-#: bin/rt-crontool:175
-#. ("--action")
-msgid "%1 - Specify the action module you want to use"
-msgstr "%1 - Malkovich the Malkovich Malkovich to use"
-
-#: bin/rt-crontool:169
-#. ("--condition")
-msgid "%1 - Specify the condition module you want to use"
-msgstr "%1 - Malkovich the Malkovich Malkovich to use"
-
-#: bin/rt-crontool:162
-#. ("--search")
-msgid "%1 - Specify the search module you want to use"
-msgstr "%1 - Malkovich the Malkovich Malkovich to use"
-
-#: lib/RT/ScripAction_Overlay.pm:114
-#. ($self->Id)
-msgid "%1 ScripAction loaded"
-msgstr "%1 Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3484
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 added as a value for %2"
-msgstr "%1 Malkovich as a Malkovich %2"
-
-#: lib/RT/Link_Overlay.pm:111 lib/RT/Link_Overlay.pm:118
-#. ($args{'Base'})
-#. ($args{'Target'})
-msgid "%1 appears to be a local object, but can't be found in the database"
-msgstr "%1 Malkovich to be a Malkovich, but can't be Malkovich in the Malkovich"
-
-#: html/Ticket/Elements/ShowDates:52 lib/RT/Transaction_Overlay.pm:458
-#. ($self->BriefDescription , $self->CreatorObj->Name)
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
-msgid "%1 by %2"
-msgstr "%1 by %2"
-
-#: lib/RT/Transaction_Overlay.pm:512 lib/RT/Transaction_Overlay.pm:688 lib/RT/Transaction_Overlay.pm:697 lib/RT/Transaction_Overlay.pm:700
-#. ($self->Field , ( $self->OldValue || $no_value ) , $self->NewValue)
-#. ($self->Field , $q1->Name , $q2->Name)
-#. ($self->Field, $t2->AsString, $t1->AsString)
-#. ($self->Field, $self->OldValue, $self->NewValue)
-msgid "%1 changed from %2 to %3"
-msgstr "%1 Malkovich %2 to %3"
-
-#: lib/RT/Record.pm:739
-msgid "%1 could not be set to %2."
-msgstr "%1 Malkovich be set to %2."
-
-#: lib/RT/Ticket_Overlay.pm:2739
-#. ($self)
-msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr "%1 couldn't Malkovich to Malkovich. RT's Malkovich be Malkovich."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I own..."
-msgstr "%1 Malkovich Malkovich I Malkovich..."
-
-#: html/Elements/MyTickets:26
-#. ($rows)
-msgid "%1 highest priority tickets I requested..."
-msgstr "%1 Malkovich Malkovich I Malkovich..."
-
-#: bin/rt-crontool:157
-#. ($0)
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1 is a tool to act on Malkovich a Malkovich Malkovich, such as cron."
-
-#: lib/RT/Queue_Overlay.pm:784
-#. ($principal->Object->Name, $args{'Type'})
-msgid "%1 is no longer a %2 for this queue."
-msgstr "%1 is no Malkovich a %2 Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:3540
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 is no longer a value for custom field %2"
-msgstr "%1 is no Malkovich a Malkovich Malkovich %2"
-
-#: html/Ticket/Create.html:155 html/Ticket/Create.html:156 html/Ticket/Elements/ShowBasics:36 html/Ticket/Elements/ShowBasics:42 html/Ticket/Elements/ShowBasics:47
-#. ('<input size=3 name="TimeWorked" value="'.$ARGS{TimeWorked}.'">')
-#. ('<input size=3 name="TimeLeft" value="'.$ARGS{TimeLeft}.'">')
-#. ($Ticket->TimeEstimated)
-#. ($Ticket->TimeWorked)
-#. ($Ticket->TimeLeft)
-msgid "%1 min"
-msgstr "%1 min"
-
-#: html/User/Elements/DelegateRights:75
-#. (loc($ObjectType =~ /^RT::(.*)$/))
-msgid "%1 rights"
-msgstr "%1 Malkovich"
-
-#: lib/RT/Action/ResolveMembers.pm:41
-#. (ref $self)
-msgid "%1 will resolve all members of a resolved group ticket."
-msgstr "%1 Malkovich Malkovich of a Malkovich Malkovich."
-
-#: lib/RT/Transaction_Overlay.pm:408
-#. ($self)
-msgid "%1: no attachment specified"
-msgstr "%1: no Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:56
-#. ($size)
-msgid "%1b"
-msgstr "%1b"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:53
-#. (int( $size / 102.4 ) / 10)
-msgid "%1k"
-msgstr "%1k"
-
-#: lib/RT/Ticket_Overlay.pm:1252
-#. ($args{'Status'})
-msgid "'%1' is an invalid value for status"
-msgstr "'%1' is a Malkovich Malkovich"
-
-#: html/Admin/Elements/EditCustomFieldValues:24 html/Admin/Elements/EditQueueWatchers:28 html/Admin/Elements/EditScrips:34 html/Admin/Elements/EditTemplates:35 html/Admin/Groups/Members.html:51 html/Elements/EditLinks:32 html/Ticket/Elements/EditPeople:45 html/User/Groups/Members.html:54
-msgid "(Check box to delete)"
-msgstr "(Malkovich to Malkovich)"
-
-#: html/Ticket/Elements/PreviewScrips:49
-msgid "(Check boxes to disable notifications to the listed recipients)"
-msgstr "(Malkovich to Malkovich Malkovich to the Malkovich Malkovich)"
-
-#: html/Ticket/Elements/PreviewScrips:71
-msgid "(Check boxes to enable notifications to the listed recipients)"
-msgstr "(Malkovich to Malkovich Malkovich to the Malkovich Malkovich)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Enter ticket ids or URLs, seperated with spaces)"
-msgstr "(Malkovich Malkovich or URLs, Malkovich Malkovich)"
-
-#: html/Admin/Queues/Modify.html:53 html/Admin/Queues/Modify.html:59
-#. ($RT::CorrespondAddress)
-#. ($RT::CommentAddress)
-msgid "(If left blank, will default to %1"
-msgstr "(If Malkovich, Malkovich to %1"
-
-#: html/Admin/Elements/EditCustomFields:32 html/Admin/Elements/ListGlobalCustomFields:31
-msgid "(No custom fields)"
-msgstr "(No Malkovich)"
-
-#: html/Admin/Groups/Members.html:49 html/User/Groups/Members.html:52
-msgid "(No members)"
-msgstr "(No Malkovich)"
-
-#: html/Admin/Elements/EditScrips:31 html/Admin/Elements/ListGlobalScrips:31
-msgid "(No scrips)"
-msgstr "(No Malkovich)"
-
-#: html/Admin/Elements/EditTemplates:30
-msgid "(No templates)"
-msgstr "(No Malkovich)"
-
-#: html/Ticket/Update.html:66
-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 "(Malkovich a Malkovich-copy of Malkovich to a Malkovich-Malkovich of Malkovich. Does <b>not</b> Malkovich Malkovich Malkovich Malkovich.)"
-
-#: html/Ticket/Create.html:78
-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 "(Malkovich a Malkovich-copy of Malkovich to a Malkovich-Malkovich of Malkovich Malkovich Malkovich. Malkovich <b>will</b> Malkovich Malkovich.)"
-
-#: html/Ticket/Update.html:62
-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 "(Malkovich a Malkovich-copy of Malkovich to a Malkovich-Malkovich of Malkovich. Does <b>not</b> Malkovich Malkovich Malkovich Malkovich.)"
-
-#: html/Ticket/Create.html:68
-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 "(Malkovich a Malkovich-copy of Malkovich to a Malkovich-Malkovich of Malkovich. Malkovich <b>will</b> Malkovich Malkovich.)"
-
-#: html/Admin/Groups/index.html:32 html/User/Groups/index.html:32
-msgid "(empty)"
-msgstr "(Malkovich)"
-
-#: html/Admin/Users/index.html:38
-msgid "(no name listed)"
-msgstr "(no Malkovich)"
-
-#: html/Admin/Elements/SelectRights:47 html/Elements/SelectCustomFieldValue:29 html/Ticket/Elements/EditCustomField:64 html/Ticket/Elements/ShowCustomFields:35 lib/RT/Transaction_Overlay.pm:511
-msgid "(no value)"
-msgstr "(no Malkovich)"
-
-#: html/Elements/EditLinks:105 html/Ticket/Elements/BulkLinks:27
-msgid "(only one ticket)"
-msgstr "(Malkovich)"
-
-#: html/Elements/TicketList:167
-msgid "(pending approval)"
-msgstr "(Malkovich Malkovich)"
-
-#: html/Elements/TicketList:170
-msgid "(pending other Collection)"
-msgstr "(Malkovich Malkovich)"
-
-#: NOT FOUND IN SOURCE
-msgid "(pending other tickets)"
-msgstr "(Malkovich Malkovich)"
-
-#: html/Admin/Users/Modify.html:49
-msgid "(required)"
-msgstr "(Malkovich)"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:60
-msgid "(untitled)"
-msgstr "(Malkovich)"
-
-#: NOT FOUND IN SOURCE
-msgid "..."
-msgstr "..."
-
-#: html/Ticket/Elements/ShowBasics:31
-msgid "<% $Ticket->Status%>"
-msgstr "<% $Ticket->Status %>"
-
-#: html/Elements/SelectTicketTypes:26
-msgid "<% $_ %>"
-msgstr "<% $_ %>"
-
-#: docs/design_docs/string-extraction-guide.txt:54 html/Elements/CreateTicket:25 lib/RT/StyleGuide.pod:767
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
-msgstr "<input type=\"submit\" value=\"Malkovich in\">&nbsp;%1"
-
-#: etc/initialdata:218
-msgid "A blank template"
-msgstr "A Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:156 lib/RT/Principal_Overlay.pm:180
-msgid "ACE not found"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:830
-msgid "ACEs can only be created and deleted."
-msgstr "Malkovich be Malkovich and Malkovich."
-
-#: NOT FOUND IN SOURCE
-msgid "Aborting to avoid unintended ticket modifications.\\n"
-msgstr "Malkovich to Malkovich Malkovich Malkovich Malkovich.\\n"
-
-#: html/User/Elements/Tabs:31
-msgid "About me"
-msgstr "Malkovich me"
-
-#: html/Admin/Users/Modify.html:79
-msgid "Access control"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrip:49
-msgid "Action"
-msgstr "Malkovich"
-
-#: lib/RT/Scrip_Overlay.pm:148
-#. ($args{'ScripAction'})
-msgid "Action %1 not found"
-msgstr "Malkovich %1 Malkovich"
-
-#: bin/rt-crontool:119
-msgid "Action committed."
-msgstr "Malkovich Malkovich."
-
-#: bin/rt-crontool:115
-msgid "Action prepared..."
-msgstr "Malkovich..."
-
-#: html/Search/Bulk.html:93
-msgid "Add AdminCc"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:89
-msgid "Add Cc"
-msgstr "Add Cc"
-
-#: html/Ticket/Create.html:113 html/Ticket/Update.html:81
-msgid "Add More Files"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:85
-msgid "Add Requestor"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/AddCustomFieldValue:24
-msgid "Add Value"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Scrip.html:54
-msgid "Add a scrip which will apply to all queues"
-msgstr "Add a Malkovich Malkovich to Malkovich"
-
-#: html/Search/Bulk.html:125
-msgid "Add comments or replies to selected tickets"
-msgstr "Malkovich or Malkovich to Malkovich Malkovich"
-
-#: html/Admin/Groups/Members.html:41 html/User/Groups/Members.html:38
-msgid "Add members"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/People.html:65 html/Ticket/Elements/AddWatchers:27
-msgid "Add new watchers"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:684
-#. ($args{'Type'})
-msgid "Added principal as a %1 for this queue"
-msgstr "Malkovich as a %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1547
-#. ($self->loc($args{'Type'}))
-msgid "Added principal as a %1 for this ticket"
-msgstr "Malkovich as a %1 Malkovich"
-
-#: html/Admin/Users/Modify.html:119 html/User/Prefs.html:111
-msgid "Address1"
-msgstr "Malkovich1"
-
-#: html/Admin/Users/Modify.html:124 html/User/Prefs.html:115
-msgid "Address2"
-msgstr "Malkovich2"
-
-#: html/Ticket/Create.html:73
-msgid "Admin Cc"
-msgstr "Malkovich Cc"
-
-#: etc/initialdata:295
-msgid "Admin Comment"
-msgstr "Malkovich"
-
-#: etc/initialdata:274
-msgid "Admin Correspondence"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/index.html:24 html/Admin/Queues/index.html:27
-msgid "Admin queues"
-msgstr "Malkovich"
-
-#: html/Admin/Global/index.html:25 html/Admin/Global/index.html:27
-msgid "Admin/Global configuration"
-msgstr "Malkovich/Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Queue/Basics"
-msgstr "Malkovich/Malkovich/Malkovich"
-
-#: etc/initialdata:56 html/Ticket/Elements/ShowPeople:38 lib/RT/ACE_Overlay.pm:88
-msgid "AdminCc"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:73
-msgid "AdminCustomFields"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Group_Overlay.pm:146
-msgid "AdminGroup"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:148
-msgid "AdminGroupMembership"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/System.pm:58
-msgid "AdminOwnPersonalGroups"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:69
-msgid "AdminQueue"
-msgstr "Malkovich"
-
-#: lib/RT/System.pm:59
-msgid "AdminUsers"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/People.html:47 html/Ticket/Elements/EditPeople:53
-msgid "Administrative Cc"
-msgstr "Malkovich Cc"
-
-#: html/Elements/SelectDateRelation:35
-msgid "After"
-msgstr "Malkovich"
-
-#: etc/initialdata:363
-msgid "All Approvals Passed"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/EditCustomFields:94
-msgid "All Custom Fields"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/index.html:52
-msgid "All Queues"
-msgstr "Malkovich"
-
-#: html/Elements/Tabs:58
-msgid "Approval"
-msgstr "Malkovich"
-
-#: html/Approvals/Display.html:45 html/Approvals/Elements/ShowDependency:41 html/Approvals/index.html:64
-#. ($Ticket->Id, $Ticket->Subject)
-#. ($ticket->id, $msg)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Approval #%1: %2"
-msgstr "Malkovich #%1: %2"
-
-#: html/Approvals/index.html:53
-#. ($ticket->Id)
-msgid "Approval #%1: Notes not recorded due to a system error"
-msgstr "Malkovich #%1: Malkovich Malkovich to a Malkovich"
-
-#: html/Approvals/index.html:51
-#. ($ticket->Id)
-msgid "Approval #%1: Notes recorded"
-msgstr "Malkovich #%1: Malkovich"
-
-#: etc/initialdata:351
-msgid "Approval Passed"
-msgstr "Malkovich"
-
-#: etc/initialdata:374
-msgid "Approval Rejected"
-msgstr "Malkovich Malkovich"
-
-#: html/Approvals/Elements/Approve:43
-msgid "Approve"
-msgstr "Malkovich"
-
-#: etc/initialdata:504
-msgid "Approver's notes: %1"
-msgstr "Malkovich's Malkovich: %1"
-
-#: lib/RT/Date.pm:414
-msgid "Apr."
-msgstr "Apr."
-
-#: html/Elements/SelectSortOrder:34 html/Search/Elements/DisplayOptions:52
-msgid "Ascending"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:134 html/SelfService/Update.html:47 html/Ticket/ModifyAll.html:82 html/Ticket/Update.html:81
-msgid "Attach"
-msgstr "Malkovich"
-
-#: html/SelfService/Create.html:64 html/Ticket/Create.html:109
-msgid "Attach file"
-msgstr "Malkovich"
-
-#: html/SelfService/Update.html:36 html/Ticket/Create.html:97 html/Ticket/Update.html:70
-msgid "Attached file"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:416
-msgid "Attachment created"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1251
-msgid "Attachment filename"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowAttachments:25
-msgid "Attachments"
-msgstr "Malkovich"
-
-#: lib/RT/Attributes_Overlay.pm:158
-msgid "Attribute Deleted"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Date.pm:418
-msgid "Aug."
-msgstr "Aug."
-
-#: NOT FOUND IN SOURCE
-msgid "AuthSystem"
-msgstr "Malkovich"
-
-#: etc/initialdata:221
-msgid "Autoreply"
-msgstr "Malkovich"
-
-#: etc/initialdata:72
-msgid "Autoreply To Requestors"
-msgstr "Malkovich To Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad data in %1"
-msgstr "Malkovich in %1"
-
-#: html/Admin/Elements/GroupTabs:38 html/Admin/Elements/QueueTabs:38 html/Admin/Elements/UserTabs:37 html/Ticket/Elements/Tabs:91 html/User/Elements/GroupTabs:37
-msgid "Basics"
-msgstr "Malkovich"
-
-#: html/Ticket/Update.html:64
-msgid "Bcc"
-msgstr "Bcc"
-
-#: html/Admin/Elements/EditScrip:73
-msgid "Be sure to save your changes"
-msgstr "Be sure to Malkovich Malkovich"
-
-#: html/Elements/SelectDateRelation:33 lib/RT/CurrentUser.pm:336
-msgid "Before"
-msgstr "Malkovich"
-
-#: etc/initialdata:217
-msgid "Blank"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/ShowHistory:38 html/Ticket/Elements/ShowHistory:44
-msgid "Brief headers"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:24 html/Search/Bulk.html:25
-msgid "Bulk ticket update"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:1533
-msgid "Can not modify system users"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:68
-msgid "Can this principal see this queue"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:211
-msgid "Can't add a custom field value without a name"
-msgstr "Can't add a Malkovich Malkovich Malkovich a name"
-
-#: lib/RT/Link_Overlay.pm:126
-msgid "Can't link a ticket to itself"
-msgstr "Can't link a Malkovich to Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2716
-msgid "Can't merge into a merged ticket. You should never get this error"
-msgstr "Can't Malkovich a Malkovich. Malkovich Malkovich Malkovich"
-
-#: lib/RT/Record.pm:1060 lib/RT/Record.pm:1138
-msgid "Can't specifiy both base and target"
-msgstr "Can't Malkovich Malkovich and Malkovich"
-
-#: html/autohandler:132
-#. ($msg)
-msgid "Cannot create user: %1"
-msgstr "Malkovich Malkovich: %1"
-
-#: etc/initialdata:50 html/Admin/Queues/People.html:43 html/SelfService/Create.html:48 html/Ticket/Create.html:63 html/Ticket/Elements/EditPeople:50 html/Ticket/Elements/ShowPeople:34 html/Ticket/Update.html:59 lib/RT/ACE_Overlay.pm:87
-msgid "Cc"
-msgstr "Cc"
-
-#: html/SelfService/Prefs.html:30
-msgid "Change password"
-msgstr "Malkovich"
-
-#: html/SelfService/Update.html:39 html/Ticket/Create.html:100 html/Ticket/Update.html:73
-msgid "Check box to delete"
-msgstr "Malkovich to Malkovich"
-
-#: html/Admin/Elements/SelectRights:30
-msgid "Check box to revoke right"
-msgstr "Malkovich to Malkovich"
-
-#: html/Elements/EditLinks:121 html/Elements/EditLinks:63 html/Elements/ShowLinks:56 html/Ticket/Create.html:183 html/Ticket/Elements/BulkLinks:42
-msgid "Children"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:129 html/User/Prefs.html:119
-msgid "City"
-msgstr "City"
-
-#: html/Ticket/Elements/ShowDates:47
-msgid "Closed"
-msgstr "Malkovich"
-
-#: html/SelfService/Closed.html:24
-msgid "Closed Tickets"
-msgstr "Malkovich"
-
-#: html/SelfService/Elements/Tabs:44
-msgid "Closed tickets"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/ShowTransaction:152 html/Ticket/Elements/Tabs:154
-msgid "Comment"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/Modify.html:57
-msgid "Comment Address"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:88
-msgid "Comment on tickets"
-msgstr "Malkovich on Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:88
-msgid "CommentOnTicket"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments"
-msgstr "Malkovich"
-
-#: html/Ticket/ModifyAll.html:69 html/Ticket/Update.html:51
-msgid "Comments (Not sent to requestors)"
-msgstr "Malkovich (Malkovich to Malkovich)"
-
-#: html/Search/Bulk.html:129
-msgid "Comments (not sent to requestors)"
-msgstr "Malkovich (Malkovich to Malkovich)"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments about %1"
-msgstr "Malkovich %1"
-
-#: html/Admin/Users/Modify.html:182 html/Ticket/Elements/ShowRequestor:45
-msgid "Comments about this user"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:537
-msgid "Comments added"
-msgstr "Malkovich"
-
-#: lib/RT/Action/Generic.pm:149
-msgid "Commit Stubbed"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrip:41
-msgid "Condition"
-msgstr "Malkovich"
-
-#: bin/rt-crontool:105
-msgid "Condition matches..."
-msgstr "Malkovich Malkovich..."
-
-#: lib/RT/Scrip_Overlay.pm:164
-msgid "Condition not found"
-msgstr "Malkovich Malkovich"
-
-#: html/Elements/Tabs:52
-msgid "Configuration"
-msgstr "Malkovich"
-
-#: html/SelfService/Prefs.html:32
-msgid "Confirm"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "ContactInfoSystem"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/ModifyTemplate:43 html/Elements/SelectAttachmentField:26 html/Ticket/ModifyAll.html:86
-msgid "Content"
-msgstr "Malkovich"
-
-#: etc/initialdata:286
-msgid "Correspondence"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence Address"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:533
-msgid "Correspondence added"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3471
-msgid "Could not add new custom field value for ticket. "
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich. "
-
-#: lib/RT/Ticket_Overlay.pm:2967 lib/RT/Ticket_Overlay.pm:2975 lib/RT/Ticket_Overlay.pm:2992
-msgid "Could not change owner. "
-msgstr "Malkovich Malkovich. "
-
-#: html/Admin/Elements/EditCustomField:84 html/Admin/Elements/EditCustomFields:164
-#. ($msg)
-msgid "Could not create CustomField"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/User/Groups/Modify.html:76 lib/RT/Group_Overlay.pm:474 lib/RT/Group_Overlay.pm:481
-msgid "Could not create group"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Global/Template.html:74 html/Admin/Queues/Template.html:71
-#. ($msg)
-msgid "Could not create template: %1"
-msgstr "Malkovich Malkovich: %1"
-
-#: lib/RT/Ticket_Overlay.pm:1185 lib/RT/Ticket_Overlay.pm:364
-msgid "Could not create ticket. Queue not set"
-msgstr "Malkovich Malkovich. Malkovich"
-
-#: lib/RT/User_Overlay.pm:226 lib/RT/User_Overlay.pm:240 lib/RT/User_Overlay.pm:249 lib/RT/User_Overlay.pm:258 lib/RT/User_Overlay.pm:267 lib/RT/User_Overlay.pm:281 lib/RT/User_Overlay.pm:291 lib/RT/User_Overlay.pm:462
-msgid "Could not create user"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:662 lib/RT/Ticket_Overlay.pm:1515
-msgid "Could not find or create that user"
-msgstr "Malkovich or Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:723 lib/RT/Ticket_Overlay.pm:1596
-msgid "Could not find that principal"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Groups/Members.html:87 html/User/Groups/Members.html:89 html/User/Groups/Modify.html:81
-msgid "Could not load group"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:682
-#. ($args{'Type'})
-msgid "Could not make that principal a %1 for this queue"
-msgstr "Malkovich Malkovich Malkovich a %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1536
-#. ($self->loc($args{'Type'}))
-msgid "Could not make that principal a %1 for this ticket"
-msgstr "Malkovich Malkovich Malkovich a %1 Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:781
-#. ($args{'Type'})
-msgid "Could not remove that principal as a %1 for this queue"
-msgstr "Malkovich Malkovich Malkovich as a %1 Malkovich"
-
-#: lib/RT/Group_Overlay.pm:977
-msgid "Couldn't add member to group"
-msgstr "Couldn't Malkovich to Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3481 lib/RT/Ticket_Overlay.pm:3537
-#. ($Msg)
-msgid "Couldn't create a transaction: %1"
-msgstr "Couldn't Malkovich a Malkovich: %1"
-
-#: lib/RT/Record.pm:748
-msgid "Couldn't find row"
-msgstr "Couldn't Malkovich"
-
-#: lib/RT/Group_Overlay.pm:951
-msgid "Couldn't find that principal"
-msgstr "Couldn't Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:245
-msgid "Couldn't find that value"
-msgstr "Couldn't Malkovich"
-
-#: lib/RT/CurrentUser.pm:123
-#. ($self->Id)
-msgid "Couldn't load %1 from the users database.\\n"
-msgstr "Couldn't load %1 from the Malkovich.\\n"
-
-#: html/Admin/Groups/GroupRights.html:87 html/Admin/Groups/UserRights.html:74
-#. ($id)
-msgid "Couldn't load group %1"
-msgstr "Couldn't Malkovich %1"
-
-#: lib/RT/Link_Overlay.pm:169 lib/RT/Link_Overlay.pm:178 lib/RT/Link_Overlay.pm:205
-msgid "Couldn't load link"
-msgstr "Couldn't Malkovich"
-
-#: html/Admin/Elements/EditCustomFields:145 html/Admin/Queues/CustomFields.html:35 html/Admin/Queues/People.html:120
-#. ($id)
-msgid "Couldn't load queue"
-msgstr "Couldn't Malkovich"
-
-#: html/Admin/Queues/GroupRights.html:100 html/Admin/Queues/UserRights.html:71
-#. ($id)
-msgid "Couldn't load queue %1"
-msgstr "Couldn't Malkovich %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load that user (%1)"
-msgstr "Couldn't Malkovich (%1)"
-
-#: html/SelfService/Display.html:116
-#. ($id)
-msgid "Couldn't load ticket '%1'"
-msgstr "Couldn't Malkovich '%1'"
-
-#: html/Admin/Users/Modify.html:146 html/User/Prefs.html:131
-msgid "Country"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/CreateUserCalled:25 html/Admin/Elements/EditCustomField:62 html/Admin/Elements/EditScrip:110 html/Admin/Groups/Modify.html:55 html/Admin/Queues/Template.html:44 html/Elements/QuickCreate:23 html/Ticket/Create.html:134 html/Ticket/Create.html:195 html/User/Groups/Modify.html:55
-msgid "Create"
-msgstr "Malkovich"
-
-#: etc/initialdata:135
-msgid "Create Tickets"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:74
-msgid "Create a CustomField"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Queues/CustomField.html:47
-#. ($QueueObj->Name())
-msgid "Create a CustomField for queue %1"
-msgstr "Malkovich a Malkovich Malkovich %1"
-
-#: html/Admin/Global/CustomField.html:47
-msgid "Create a CustomField which applies to all queues"
-msgstr "Malkovich a Malkovich Malkovich to Malkovich"
-
-#: html/Admin/Groups/Modify.html:66 html/Admin/Groups/Modify.html:92
-msgid "Create a new group"
-msgstr "Malkovich a Malkovich"
-
-#: html/User/Groups/Modify.html:66 html/User/Groups/Modify.html:91
-msgid "Create a new personal group"
-msgstr "Malkovich a Malkovich Malkovich"
-
-#: html/Ticket/Create.html:24 html/Ticket/Create.html:27 html/Ticket/Create.html:35
-msgid "Create a new ticket"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Users/Modify.html:211 html/Admin/Users/Modify.html:268
-msgid "Create a new user"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Queues/Modify.html:103
-msgid "Create a queue"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Queues/Scrip.html:58
-#. ($QueueObj->Name)
-msgid "Create a scrip for queue %1"
-msgstr "Malkovich a Malkovich %1"
-
-#: html/Admin/Global/Template.html:68 html/Admin/Queues/Template.html:64
-msgid "Create a template"
-msgstr "Malkovich a Malkovich"
-
-#: html/SelfService/Create.html:24
-msgid "Create a ticket"
-msgstr "Malkovich a Malkovich"
-
-#: etc/initialdata:137
-msgid "Create new tickets based on this scrip's template"
-msgstr "Malkovich Malkovich on Malkovich's Malkovich"
-
-#: html/SelfService/Create.html:77
-msgid "Create ticket"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "Create tickets in this queue"
-msgstr "Malkovich in Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:73
-msgid "Create, delete and modify custom fields"
-msgstr "Malkovich, Malkovich and Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:69
-msgid "Create, delete and modify queues"
-msgstr "Malkovich, Malkovich and Malkovich"
-
-#: lib/RT/System.pm:58
-msgid "Create, delete and modify the members of personal groups"
-msgstr "Malkovich, Malkovich and Malkovich the Malkovich of Malkovich"
-
-#: lib/RT/System.pm:59
-msgid "Create, delete and modify users"
-msgstr "Malkovich, Malkovich and Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "CreateTicket"
-msgstr "Malkovich"
-
-#: html/Elements/SelectDateType:25 html/Ticket/Elements/ShowDates:27 lib/RT/Ticket_Overlay.pm:1279
-msgid "Created"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:87
-#. ($CustomFieldObj->Name())
-msgid "Created CustomField %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Elements/EditLinks:27
-msgid "Current Links"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/EditScrips:29
-msgid "Current Scrips"
-msgstr "Malkovich"
-
-#: html/Admin/Groups/Members.html:38 html/User/Groups/Members.html:41
-msgid "Current members"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectRights:28
-msgid "Current rights"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Current search criteria"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/People.html:40 html/Ticket/Elements/EditPeople:44
-msgid "Current watchers"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Global/CustomField.html:54
-#. ($CustomField)
-msgid "Custom Field #%1"
-msgstr "Malkovich #%1"
-
-#: html/Admin/Elements/QueueTabs:52 html/Admin/Elements/SystemTabs:39 html/Admin/Global/index.html:49 html/Ticket/Elements/ShowSummary:35
-msgid "Custom Fields"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrip:101
-msgid "Custom action cleanup code"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Elements/EditScrip:93
-msgid "Custom action preparation code"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Elements/EditScrip:85
-msgid "Custom condition"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1693
-#. ($CF->Name , $args{OPERATOR} , $args{VALUE})
-msgid "Custom field %1 %2 %3"
-msgstr "Malkovich %1 %2 %3"
-
-#: lib/RT/Tickets_Overlay.pm:1688
-#. ($CF->Name)
-msgid "Custom field %1 has a value."
-msgstr "Malkovich %1 has a Malkovich."
-
-#: lib/RT/Tickets_Overlay.pm:1685
-#. ($CF->Name)
-msgid "Custom field %1 has no value."
-msgstr "Malkovich %1 has no Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:3373
-#. ($args{'Field'})
-msgid "Custom field %1 not found"
-msgstr "Malkovich %1 Malkovich"
-
-#: html/Admin/Elements/EditCustomFields:195
-msgid "Custom field deleted"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3523
-msgid "Custom field not found"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:355
-#. ($args{'Content'}, $self->Name)
-msgid "Custom field value %1 could not be found for custom field %2"
-msgstr "Malkovich Malkovich %1 Malkovich be Malkovich Malkovich %2"
-
-#: lib/RT/CustomField_Overlay.pm:255
-msgid "Custom field value could not be deleted"
-msgstr "Malkovich Malkovich Malkovich be Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:361
-msgid "Custom field value could not be found"
-msgstr "Malkovich Malkovich Malkovich be Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:253 lib/RT/CustomField_Overlay.pm:363
-msgid "Custom field value deleted"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:541
-msgid "CustomField"
-msgstr "Malkovich"
-
-#: html/SelfService/Display.html:38 html/Ticket/Create.html:160 html/Ticket/Elements/ShowSummary:54 html/Ticket/Elements/Tabs:94 html/Ticket/ModifyAll.html:43
-msgid "Dates"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:422
-msgid "Dec."
-msgstr "Dec."
-
-#: etc/initialdata:222
-msgid "Default Autoresponse template"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:296
-msgid "Default admin comment template"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:287
-msgid "Default correspondence template"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:253
-msgid "Default transaction template"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:519
-#. ($type, $self->Field, $self->OldValue, $self->NewValue)
-msgid "Default: %1/%2 changed from %3 to %4"
-msgstr "Malkovich: %1/%2 Malkovich %3 to %4"
-
-#: html/User/Delegation.html:24 html/User/Delegation.html:27
-msgid "Delegate rights"
-msgstr "Malkovich"
-
-#: lib/RT/System.pm:62
-msgid "Delegate specific rights which have been granted to you."
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich to you."
-
-#: lib/RT/System.pm:62
-msgid "DelegateRights"
-msgstr "Malkovich"
-
-#: html/User/Elements/Tabs:37
-msgid "Delegation"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrips:53 html/Search/Elements/EditFormat:66 html/Search/Elements/EditSearches:15
-msgid "Delete"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrips:52
-msgid "Delete selected scrips"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "Delete tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "DeleteTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:162
-msgid "Deleting this object could break referential integrity"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:329
-msgid "Deleting this object would break referential integrity"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:478
-msgid "Deleting this object would violate referential integrity"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich Malkovich"
-
-#: html/Approvals/Elements/Approve:44
-msgid "Deny"
-msgstr "Deny"
-
-#: html/Elements/EditLinks:113 html/Elements/EditLinks:44 html/Elements/ShowLinks:36 html/Ticket/Create.html:181 html/Ticket/Elements/BulkLinks:34 html/Ticket/Elements/ShowDependencies:31
-msgid "Depended on by"
-msgstr "Malkovich on by"
-
-#: lib/RT/Transaction_Overlay.pm:621
-#. ($value)
-msgid "Dependency by %1 added"
-msgstr "Malkovich by %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:661
-#. ($value)
-msgid "Dependency by %1 deleted"
-msgstr "Malkovich by %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:618
-#. ($value)
-msgid "Dependency on %1 added"
-msgstr "Malkovich on %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:658
-#. ($value)
-msgid "Dependency on %1 deleted"
-msgstr "Malkovich on %1 Malkovich"
-
-#: html/Elements/EditLinks:109 html/Elements/EditLinks:35 html/Elements/SelectLinkType:26 html/Elements/ShowLinks:26 html/Ticket/Create.html:180 html/Ticket/Elements/BulkLinks:30 html/Ticket/Elements/ShowDependencies:24
-msgid "Depends on"
-msgstr "Malkovich on"
-
-#: html/Elements/SelectSortOrder:34 html/Search/Elements/DisplayOptions:57
-msgid "Descending"
-msgstr "Malkovich"
-
-#: html/SelfService/Create.html:72 html/Ticket/Create.html:118
-msgid "Describe the issue below"
-msgstr "Malkovich the Malkovich"
-
-#: html/Admin/Elements/AddCustomFieldValue:35 html/Admin/Elements/EditCustomField:38 html/Admin/Elements/EditScrip:34 html/Admin/Elements/ModifyTemplate:35 html/Admin/Groups/Modify.html:48 html/Admin/Queues/Modify.html:47 html/Elements/SelectGroups:26 html/Search/Elements/EditSearches:8 html/User/Groups/Modify.html:48
-msgid "Description"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:86
-msgid "Display"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:70
-msgid "Display Access Control List"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:76
-msgid "Display Scrip templates for this queue"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:79
-msgid "Display Scrips for this queue"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowHistory:34
-msgid "Display mode"
-msgstr "Malkovich"
-
-#: lib/RT/System.pm:53
-msgid "Do anything and everything"
-msgstr "Do Malkovich and Malkovich"
-
-#: html/Elements/Refresh:29
-msgid "Don't refresh this page."
-msgstr "Don't Malkovich Malkovich."
-
-#: NOT FOUND IN SOURCE
-msgid "Don't show search results"
-msgstr "Don't Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:60
-msgid "Download"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Download all the tickets as a tab delimited file"
-msgstr "Malkovich the Malkovich as a Malkovich Malkovich"
-
-#: html/Elements/SelectDateType:31 html/Ticket/Create.html:166 html/Ticket/Elements/EditDates:44 html/Ticket/Elements/ShowDates:43 lib/RT/Ticket_Overlay.pm:1283
-msgid "Due"
-msgstr "Due"
-
-#: NOT FOUND IN SOURCE
-msgid "ERROR: Couldn't load ticket '%1': %2.\\n"
-msgstr "MALKOVICH: Couldn't Malkovich '%1': %2.\\n"
-
-#: html/Admin/Queues/CustomFields.html:45
-#. ($Queue->Name)
-msgid "Edit Custom Fields for %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Search/Bulk.html:141 html/Ticket/ModifyLinks.html:35
-msgid "Edit Links"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/Templates.html:41
-#. ($QueueObj->Name)
-msgid "Edit Templates for queue %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Admin/Global/index.html:45
-msgid "Edit system templates"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/Modify.html:118
-#. ($QueueObj->Name)
-msgid "Editing Configuration for queue %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing Configuration for user %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: html/Admin/Elements/EditCustomField:90
-#. ($CustomFieldObj->Name())
-msgid "Editing CustomField %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Admin/Groups/Members.html:31
-#. ($Group->Name)
-msgid "Editing membership for group %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: html/User/Groups/Members.html:128
-#. ($Group->Name)
-msgid "Editing membership for personal group %1"
-msgstr "Malkovich Malkovich Malkovich Malkovich %1"
-
-#: lib/RT/Record.pm:1075 lib/RT/Record.pm:1152
-msgid "Either base or target must be specified"
-msgstr "Malkovich or Malkovich be Malkovich"
-
-#: html/Admin/Users/Modify.html:52 html/Elements/SelectUsers:26 html/Ticket/Elements/AddWatchers:55 html/User/Prefs.html:43
-msgid "Email"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:206
-msgid "Email address in use"
-msgstr "Malkovich in use"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailAddress"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailEncoding"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:50
-msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "Malkovich (Malkovich Malkovich Malkovich Malkovich Malkovich)"
-
-#: html/Admin/Groups/Modify.html:52 html/User/Groups/Modify.html:52
-msgid "Enabled (Unchecking this box disables this group)"
-msgstr "Malkovich (Malkovich Malkovich Malkovich Malkovich)"
-
-#: html/Admin/Queues/Modify.html:83
-msgid "Enabled (Unchecking this box disables this queue)"
-msgstr "Malkovich (Malkovich Malkovich Malkovich Malkovich)"
-
-#: html/Admin/Elements/EditCustomFields:97
-msgid "Enabled Custom Fields"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/index.html:55
-msgid "Enabled Queues"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:106 html/Admin/Groups/Modify.html:116 html/Admin/Queues/Modify.html:140 html/Admin/Users/Modify.html:308 html/User/Groups/Modify.html:116
-#. (loc_fuzzy($msg))
-msgid "Enabled status %1"
-msgstr "Malkovich %1"
-
-#: lib/RT/CustomField_Overlay.pm:433
-msgid "Enter multiple values"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:430
-msgid "Enter one value"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:142
-msgid "Enter tickets or URIs to link tickets to. Seperate multiple entries with spaces."
-msgstr "Malkovich or URIs to Malkovich to. Malkovich Malkovich Malkovich Malkovich."
-
-#: html/Elements/Login:39 html/SelfService/Error.html:24 html/SelfService/Error.html:25
-msgid "Error"
-msgstr "Error"
-
-#: lib/RT/Queue_Overlay.pm:593
-msgid "Error in parameters to Queue->AddWatcher"
-msgstr "Malkovich in Malkovich to Malkovich->Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Error in parameters to Queue->DelWatcher"
-msgstr "Malkovich in Malkovich to Malkovich->Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1468
-msgid "Error in parameters to Ticket->AddWatcher"
-msgstr "Malkovich in Malkovich to Malkovich->Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Error in parameters to Ticket->DelWatcher"
-msgstr "Malkovich in Malkovich to Malkovich->Malkovich"
-
-#: etc/initialdata:20
-msgid "Everyone"
-msgstr "Malkovich"
-
-#: bin/rt-crontool:190
-msgid "Example:"
-msgstr "Malkovich:"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalAuthId"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalContactInfoId"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Users/Modify.html:72
-msgid "Extra info"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:342
-msgid "Failed to find 'Privileged' users pseudogroup."
-msgstr "Malkovich to find 'Malkovich' Malkovich Malkovich."
-
-#: lib/RT/User_Overlay.pm:349
-msgid "Failed to find 'Unprivileged' users pseudogroup"
-msgstr "Malkovich to find 'Malkovich' Malkovich Malkovich"
-
-#: bin/rt-crontool:134
-#. ($modname, $@)
-msgid "Failed to load module %1. (%2)"
-msgstr "Malkovich to Malkovich %1. (%2)"
-
-#: lib/RT/Date.pm:412
-msgid "Feb."
-msgstr "Feb."
-
-#: html/Search/Elements/PickBasics:60 html/Ticket/Create.html:154 html/Ticket/Elements/EditBasics:57 lib/RT/Tickets_Overlay.pm:1153
-msgid "Final Priority"
-msgstr "Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1274
-msgid "FinalPriority"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/People.html:60 html/Ticket/Elements/EditPeople:33
-msgid "Find group whose"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Queues/People.html:56 html/Admin/Users/index.html:45 html/Ticket/Elements/EditPeople:29
-msgid "Find people whose"
-msgstr "Malkovich Malkovich"
-
-#: html/Search/Results.html:72
-msgid "Find tickets"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:59
-msgid "First"
-msgstr "Malkovich"
-
-#: docs/design_docs/string-extraction-guide.txt:33 lib/RT/StyleGuide.pod:746
-msgid "Foo Bar Baz"
-msgstr "Malkovich"
-
-#: docs/design_docs/string-extraction-guide.txt:24 lib/RT/StyleGuide.pod:737
-msgid "Foo!"
-msgstr "Foo!"
-
-#: html/Search/Bulk.html:84
-msgid "Force change"
-msgstr "Malkovich"
-
-#: html/Search/Results.html:70
-#. ($ticketcount)
-msgid "Found %quant(%1,ticket)"
-msgstr "Malkovich %quant(%1,Malkovich)"
-
-#: lib/RT/Record.pm:750
-msgid "Found Object"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformContactInfo"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:37
-msgid "FreeformMultiple"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:36
-msgid "FreeformSingle"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:392
-msgid "Fri."
-msgstr "Fri."
-
-#: html/Ticket/Elements/ShowHistory:40 html/Ticket/Elements/ShowHistory:50
-msgid "Full headers"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:587
-#. ($New->Name)
-msgid "Given to %1"
-msgstr "Malkovich to %1"
-
-#: html/Admin/Elements/Tabs:40 html/Admin/index.html:37
-msgid "Global"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectTemplate:37
-#. (loc($Template->Name))
-msgid "Global template: %1"
-msgstr "Malkovich: %1"
-
-#: html/Tools/Offline.html:69
-msgid "Go"
-msgstr "Go"
-
-#: html/Admin/Elements/EditCustomFields:73 html/Admin/Groups/index.html:39 html/Admin/Queues/People.html:58 html/Admin/Queues/People.html:62 html/Admin/Queues/index.html:43 html/Admin/Users/index.html:48 html/Ticket/Elements/EditPeople:31 html/Ticket/Elements/EditPeople:35 html/index.html:69
-msgid "Go!"
-msgstr "Go!"
-
-#: html/Elements/GotoTicket:24 html/SelfService/Elements/GotoTicket:24
-msgid "Goto ticket"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/AddWatchers:45 html/Ticket/Elements/ShowGroupMembers:33 html/User/Elements/DelegateRights:77
-msgid "Group"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/GroupTabs:44 html/Admin/Elements/QueueTabs:56 html/Admin/Elements/SystemTabs:43 html/Admin/Global/index.html:54
-msgid "Group Rights"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:957
-msgid "Group already has member"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Groups/Modify.html:76
-#. ($create_msg)
-msgid "Group could not be created: %1"
-msgstr "Malkovich be Malkovich: %1"
-
-#: lib/RT/Group_Overlay.pm:497
-msgid "Group created"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:1129
-msgid "Group has no such member"
-msgstr "Malkovich no Malkovich"
-
-#: lib/RT/Group_Overlay.pm:937 lib/RT/Queue_Overlay.pm:669 lib/RT/Queue_Overlay.pm:729 lib/RT/Ticket_Overlay.pm:1522 lib/RT/Ticket_Overlay.pm:1602
-msgid "Group not found"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectNewGroupMembers:34 html/Admin/Elements/Tabs:34 html/Admin/Groups/Members.html:63 html/Admin/Queues/People.html:82 html/Admin/index.html:31 html/User/Groups/Members.html:66
-msgid "Groups"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:963
-msgid "Groups can't be members of their members"
-msgstr "Malkovich can't be Malkovich of Malkovich"
-
-#: lib/RT/Interface/CLI.pm:72 lib/RT/Interface/CLI.pm:72
-msgid "Hello!"
-msgstr "Malkovich!"
-
-#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:753
-#. ($name)
-msgid "Hello, %1"
-msgstr "Malkovich, %1"
-
-#: html/Ticket/Elements/ShowHistory:29 html/Ticket/Elements/Tabs:89
-msgid "History"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "HomePhone"
-msgstr "Malkovich"
-
-#: html/Elements/Tabs:43
-msgid "Homepage"
-msgstr "Malkovich"
-
-#: lib/RT/Base.pm:86
-#. (6)
-msgid "I have %quant(%1,concrete mixer)."
-msgstr "I have %quant(%1,Malkovich)."
-
-#: html/Search/Elements/PickBasics:104 html/Ticket/Elements/ShowBasics:26 lib/RT/Tickets_Overlay.pm:1080
-msgid "Id"
-msgstr "Id"
-
-#: html/Admin/Users/Modify.html:43 html/User/Prefs.html:38
-msgid "Identity"
-msgstr "Malkovich"
-
-#: etc/initialdata:429
-msgid "If an approval is rejected, reject the original and delete pending approvals"
-msgstr "If a Malkovich is Malkovich, Malkovich the Malkovich and Malkovich Malkovich"
-
-#: bin/rt-crontool:186
-msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
-msgstr "If Malkovich Malkovich, a Malkovich Malkovich Malkovich Malkovich to Malkovich Malkovich Malkovich to RT."
-
-#: html/Admin/Queues/People.html:104 html/Ticket/Modify.html:38 html/Ticket/ModifyAll.html:93 html/Ticket/ModifyPeople.html:37
-msgid "If you've updated anything above, be sure to"
-msgstr "If you've Malkovich Malkovich, be sure to"
-
-#: lib/RT/Record.pm:742
-msgid "Illegal value for %1"
-msgstr "Malkovich Malkovich %1"
-
-#: lib/RT/Record.pm:745
-msgid "Immutable field"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomFields:72
-msgid "Include disabled custom fields in listing."
-msgstr "Malkovich Malkovich Malkovich in Malkovich."
-
-#: html/Admin/Queues/index.html:42
-msgid "Include disabled queues in listing."
-msgstr "Malkovich Malkovich in Malkovich."
-
-#: html/Admin/Users/index.html:46
-msgid "Include disabled users in search."
-msgstr "Malkovich Malkovich in Malkovich."
-
-#: html/Search/Elements/PickBasics:59 lib/RT/Tickets_Overlay.pm:1129
-msgid "Initial Priority"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1273 lib/RT/Ticket_Overlay.pm:1275
-msgid "InitialPriority"
-msgstr "Malkovich"
-
-#: lib/RT/ScripAction_Overlay.pm:97
-msgid "Input error"
-msgstr "Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3797
-msgid "Internal Error"
-msgstr "Malkovich"
-
-#: lib/RT/Record.pm:186
-#. ($id->{error_message})
-msgid "Internal Error: %1"
-msgstr "Malkovich: %1"
-
-#: lib/RT/Group_Overlay.pm:644
-msgid "Invalid Group Type"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Principal_Overlay.pm:127
-msgid "Invalid Right"
-msgstr "Malkovich"
-
-#: lib/RT/Record.pm:747
-msgid "Invalid data"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid owner. Defaulting to 'nobody'."
-msgstr "Malkovich. Malkovich to 'Malkovich'."
-
-#: lib/RT/Scrip_Overlay.pm:133 lib/RT/Template_Overlay.pm:251
-msgid "Invalid queue"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:243 lib/RT/ACE_Overlay.pm:252 lib/RT/ACE_Overlay.pm:258 lib/RT/ACE_Overlay.pm:269 lib/RT/ACE_Overlay.pm:274
-msgid "Invalid right"
-msgstr "Malkovich"
-
-#: lib/RT/Record.pm:161
-#. ($key)
-msgid "Invalid value for %1"
-msgstr "Malkovich Malkovich %1"
-
-#: lib/RT/Ticket_Overlay.pm:3380
-msgid "Invalid value for custom field"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:385
-msgid "Invalid value for status"
-msgstr "Malkovich Malkovich"
-
-#: bin/rt-crontool:187
-msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
-msgstr "It is Malkovich Malkovich Malkovich Malkovich Malkovich be Malkovich to Malkovich."
-
-#: bin/rt-crontool:188
-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 "It is Malkovich Malkovich a non-Malkovich Malkovich the Malkovich Malkovich and RT Malkovich to Malkovich."
-
-#: bin/rt-crontool:159
-msgid "It takes several arguments:"
-msgstr "It Malkovich Malkovich:"
-
-#: lib/RT/Date.pm:411
-msgid "Jan."
-msgstr "Jan."
-
-#: lib/RT/Group_Overlay.pm:149
-msgid "Join or leave this group"
-msgstr "Join or Malkovich Malkovich"
-
-#: lib/RT/Date.pm:417
-msgid "Jul."
-msgstr "Jul."
-
-#: html/Ticket/Elements/Tabs:100
-msgid "Jumbo"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:416
-msgid "Jun."
-msgstr "Jun."
-
-#: NOT FOUND IN SOURCE
-msgid "Lang"
-msgstr "Lang"
-
-#: html/User/Prefs.html:54
-msgid "Language"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:74
-msgid "Last"
-msgstr "Last"
-
-#: html/Ticket/Elements/EditDates:37 html/Ticket/Elements/ShowDates:39
-msgid "Last Contact"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Last Contact</a>"
-msgstr "Malkovich</a>"
-
-#: html/Elements/SelectDateType:28
-msgid "Last Contacted"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Last Notified"
-msgstr "Malkovich"
-
-#: html/Elements/SelectDateType:29
-msgid "Last Updated"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:82
-msgid "Let this user access RT"
-msgstr "Malkovich Malkovich RT"
-
-#: html/Admin/Users/Modify.html:86
-msgid "Let this user be granted rights"
-msgstr "Malkovich be Malkovich"
-
-#: lib/RT/Record.pm:1086
-msgid "Link already exists"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Record.pm:1100
-msgid "Link could not be created"
-msgstr "Malkovich be Malkovich"
-
-#: lib/RT/Record.pm:1106
-#. ($TransString)
-msgid "Link created (%1)"
-msgstr "Malkovich (%1)"
-
-#: lib/RT/Record.pm:1167
-#. ($TransString)
-msgid "Link deleted (%1)"
-msgstr "Malkovich (%1)"
-
-#: lib/RT/Record.pm:1173
-msgid "Link not found"
-msgstr "Malkovich"
-
-#: html/Ticket/ModifyLinks.html:24 html/Ticket/ModifyLinks.html:28
-#. ($Ticket->Id)
-msgid "Link ticket #%1"
-msgstr "Malkovich #%1"
-
-#: html/Ticket/Create.html:174 html/Ticket/Elements/ShowSummary:61 html/Ticket/Elements/Tabs:98 html/Ticket/ModifyAll.html:56
-msgid "Links"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:111 html/User/Prefs.html:104
-msgid "Location"
-msgstr "Malkovich"
-
-#: lib/RT.pm:184
-#. ($RT::LogDir)
-msgid "Log directory %1 not found or couldn't be written.\\n RT can't run."
-msgstr "Malkovich %1 Malkovich or couldn't be Malkovich.\\n RT can't run."
-
-#: html/Elements/Header:69
-#. ("<b>".$session{'CurrentUser'}->Name."</b>")
-msgid "Logged in as %1"
-msgstr "Malkovich in as %1"
-
-#: docs/design_docs/string-extraction-guide.txt:71 html/Elements/Login:35 html/Elements/Login:44 html/Elements/Login:54 lib/RT/StyleGuide.pod:777
-msgid "Login"
-msgstr "Malkovich"
-
-#: html/Elements/Header:66
-msgid "Logout"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:83
-msgid "Make Owner"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:107
-msgid "Make Status"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:115
-msgid "Make date Due"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:117
-msgid "Make date Resolved"
-msgstr "Malkovich Malkovich"
-
-#: html/Search/Bulk.html:111
-msgid "Make date Started"
-msgstr "Malkovich Malkovich"
-
-#: html/Search/Bulk.html:109
-msgid "Make date Starts"
-msgstr "Malkovich Malkovich"
-
-#: html/Search/Bulk.html:113
-msgid "Make date Told"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:103
-msgid "Make priority"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:105
-msgid "Make queue"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:101
-msgid "Make subject"
-msgstr "Malkovich"
-
-#: html/Admin/index.html:32
-msgid "Manage groups and group membership"
-msgstr "Malkovich and Malkovich Malkovich"
-
-#: html/Admin/index.html:38
-msgid "Manage properties and configuration which apply to all queues"
-msgstr "Malkovich Malkovich and Malkovich Malkovich to Malkovich"
-
-#: html/Admin/index.html:35
-msgid "Manage queues and queue-specific properties"
-msgstr "Malkovich and Malkovich-Malkovich Malkovich"
-
-#: html/Admin/index.html:29
-msgid "Manage users and passwords"
-msgstr "Malkovich and Malkovich"
-
-#: lib/RT/Date.pm:413
-msgid "Mar."
-msgstr "Mar."
-
-#: lib/RT/Date.pm:415
-msgid "May."
-msgstr "May."
-
-#: lib/RT/Transaction_Overlay.pm:634
-#. ($value)
-msgid "Member %1 added"
-msgstr "Malkovich %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:674
-#. ($value)
-msgid "Member %1 deleted"
-msgstr "Malkovich %1 Malkovich"
-
-#: lib/RT/Group_Overlay.pm:974
-msgid "Member added"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:1136
-msgid "Member deleted"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:1140
-msgid "Member not deleted"
-msgstr "Malkovich Malkovich"
-
-#: html/Elements/SelectLinkType:25
-msgid "Member of"
-msgstr "Malkovich of"
-
-#: html/Admin/Elements/GroupTabs:41 html/User/Elements/GroupTabs:41
-msgid "Members"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:631
-#. ($value)
-msgid "Membership in %1 added"
-msgstr "Malkovich in %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:671
-#. ($value)
-msgid "Membership in %1 deleted"
-msgstr "Malkovich in %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2813
-msgid "Merge Successful"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2733
-msgid "Merge failed. Couldn't set EffectiveId"
-msgstr "Malkovich. Couldn't Malkovich"
-
-#: html/Elements/EditLinks:104 html/Ticket/Elements/BulkLinks:26
-msgid "Merge into"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:135 html/Ticket/Update.html:83
-msgid "Message"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Message body not shown because it is too large or is not plain text."
-msgstr "Malkovich Malkovich Malkovich it is Malkovich or is Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:2514
-msgid "Message could not be recorded"
-msgstr "Malkovich Malkovich be Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Message recipients"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2517
-msgid "Message recorded"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Record.pm:749
-msgid "Missing a primary key?: %1"
-msgstr "Malkovich a Malkovich?: %1"
-
-#: html/Admin/Users/Modify.html:166 html/User/Prefs.html:71
-msgid "Mobile"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "MobilePhone"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:71
-msgid "Modify Access Control List"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Global/CustomFields.html:43 html/Admin/Global/index.html:50
-msgid "Modify Custom Fields which apply to all queues"
-msgstr "Malkovich Malkovich Malkovich to Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:74
-msgid "Modify Scrip templates for this queue"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:77
-msgid "Modify Scrips for this queue"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Queues/CustomField.html:44
-#. ($QueueObj->Name())
-msgid "Modify a CustomField for queue %1"
-msgstr "Malkovich a Malkovich Malkovich %1"
-
-#: html/Admin/Global/CustomField.html:52
-msgid "Modify a CustomField which applies to all queues"
-msgstr "Malkovich a Malkovich Malkovich to Malkovich"
-
-#: html/Admin/Queues/Scrip.html:53
-#. ($QueueObj->Name)
-msgid "Modify a scrip for queue %1"
-msgstr "Malkovich a Malkovich %1"
-
-#: html/Admin/Global/Scrip.html:47
-msgid "Modify a scrip which applies to all queues"
-msgstr "Malkovich a Malkovich Malkovich to Malkovich"
-
-#: html/Ticket/ModifyDates.html:24 html/Ticket/ModifyDates.html:28
-#. ($TicketObj->Id)
-msgid "Modify dates for #%1"
-msgstr "Malkovich Malkovich #%1"
-
-#: html/Ticket/ModifyDates.html:34
-#. ($TicketObj->Id)
-msgid "Modify dates for ticket # %1"
-msgstr "Malkovich Malkovich # %1"
-
-#: html/Admin/Global/GroupRights.html:24 html/Admin/Global/GroupRights.html:27 html/Admin/Global/index.html:55
-msgid "Modify global group rights"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Global/GroupRights.html:32
-msgid "Modify global group rights."
-msgstr "Malkovich Malkovich Malkovich."
-
-#: html/Admin/Global/UserRights.html:24 html/Admin/Global/UserRights.html:27 html/Admin/Global/index.html:59
-msgid "Modify global user rights"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Global/UserRights.html:32
-msgid "Modify global user rights."
-msgstr "Malkovich Malkovich."
-
-#: lib/RT/Group_Overlay.pm:146
-msgid "Modify group metadata or delete group"
-msgstr "Malkovich Malkovich or Malkovich"
-
-#: html/Admin/Groups/GroupRights.html:24 html/Admin/Groups/GroupRights.html:28 html/Admin/Groups/GroupRights.html:34
-#. ($GroupObj->Name)
-msgid "Modify group rights for group %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: html/Admin/Queues/GroupRights.html:24 html/Admin/Queues/GroupRights.html:28
-#. ($QueueObj->Name)
-msgid "Modify group rights for queue %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: lib/RT/Group_Overlay.pm:148
-msgid "Modify membership roster for this group"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/System.pm:60
-msgid "Modify one's own RT account"
-msgstr "Malkovich's own RT Malkovich"
-
-#: html/Admin/Queues/People.html:24 html/Admin/Queues/People.html:28
-#. ($QueueObj->Name)
-msgid "Modify people related to queue %1"
-msgstr "Malkovich Malkovich to Malkovich %1"
-
-#: html/Ticket/ModifyPeople.html:24 html/Ticket/ModifyPeople.html:28 html/Ticket/ModifyPeople.html:34
-#. ($Ticket->id)
-#. ($Ticket->Id)
-msgid "Modify people related to ticket #%1"
-msgstr "Malkovich Malkovich to Malkovich #%1"
-
-#: html/Admin/Queues/Scrips.html:45
-#. ($QueueObj->Name)
-msgid "Modify scrips for queue %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Admin/Global/Scrips.html:43 html/Admin/Global/index.html:41
-msgid "Modify scrips which apply to all queues"
-msgstr "Malkovich Malkovich to Malkovich"
-
-#: html/Admin/Global/Template.html:24 html/Admin/Global/Template.html:29 html/Admin/Global/Template.html:80 html/Admin/Queues/Template.html:77
-#. (loc($TemplateObj->Name()))
-#. ($TemplateObj->id)
-msgid "Modify template %1"
-msgstr "Malkovich %1"
-
-#: html/Admin/Global/Templates.html:43
-msgid "Modify templates which apply to all queues"
-msgstr "Malkovich Malkovich Malkovich to Malkovich"
-
-#: html/Admin/Groups/Modify.html:86 html/User/Groups/Modify.html:85
-#. ($Group->Name)
-msgid "Modify the group %1"
-msgstr "Malkovich the Malkovich %1"
-
-#: lib/RT/Queue_Overlay.pm:72
-msgid "Modify the queue watchers"
-msgstr "Malkovich the Malkovich"
-
-#: html/Admin/Users/Modify.html:263
-#. ($UserObj->Name)
-msgid "Modify the user %1"
-msgstr "Malkovich the user %1"
-
-#: html/Ticket/ModifyAll.html:36
-#. ($Ticket->Id)
-msgid "Modify ticket # %1"
-msgstr "Malkovich # %1"
-
-#: html/Ticket/Modify.html:24 html/Ticket/Modify.html:27 html/Ticket/Modify.html:33
-#. ($TicketObj->Id)
-msgid "Modify ticket #%1"
-msgstr "Malkovich #%1"
-
-#: lib/RT/Queue_Overlay.pm:90
-msgid "Modify tickets"
-msgstr "Malkovich"
-
-#: html/Admin/Groups/UserRights.html:24 html/Admin/Groups/UserRights.html:28 html/Admin/Groups/UserRights.html:34
-#. ($GroupObj->Name)
-msgid "Modify user rights for group %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: html/Admin/Queues/UserRights.html:24 html/Admin/Queues/UserRights.html:28
-#. ($QueueObj->Name)
-msgid "Modify user rights for queue %1"
-msgstr "Malkovich Malkovich Malkovich %1"
-
-#: lib/RT/Queue_Overlay.pm:71
-msgid "ModifyACL"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:149
-msgid "ModifyOwnMembership"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:72
-msgid "ModifyQueueWatchers"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:77
-msgid "ModifyScrips"
-msgstr "Malkovich"
-
-#: lib/RT/System.pm:60
-msgid "ModifySelf"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:74
-msgid "ModifyTemplate"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:90
-msgid "ModifyTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:388
-msgid "Mon."
-msgstr "Mon."
-
-#: html/Ticket/Elements/ShowRequestor:40
-#. ($name)
-msgid "More about %1"
-msgstr "Malkovich %1"
-
-#: html/Admin/Elements/EditCustomFields:60
-msgid "Move down"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:26
-msgid "Multiple"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:197
-msgid "Must specify 'Name' attribute"
-msgstr "Malkovich 'Name' Malkovich"
-
-#: html/SelfService/Elements/MyRequests:48
-#. ($friendly_status)
-msgid "My %1 tickets"
-msgstr "My %1 Malkovich"
-
-#: html/Approvals/index.html:24 html/Approvals/index.html:25
-msgid "My approvals"
-msgstr "My Malkovich"
-
-#: html/Admin/Elements/AddCustomFieldValue:31 html/Admin/Elements/EditCustomField:33 html/Admin/Elements/ModifyTemplate:27 html/Admin/Groups/Modify.html:43 html/Elements/SelectGroups:25 html/Elements/SelectUsers:27 html/User/Groups/Modify.html:43
-msgid "Name"
-msgstr "Name"
-
-#: lib/RT/User_Overlay.pm:204
-msgid "Name in use"
-msgstr "Name in use"
-
-#: html/Ticket/Elements/ShowDates:52
-msgid "Never"
-msgstr "Malkovich"
-
-#: html/Elements/Quicksearch:29
-msgid "New"
-msgstr "New"
-
-#: html/Elements/EditLinks:93
-msgid "New Links"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Users/Modify.html:92 html/User/Prefs.html:87
-msgid "New Password"
-msgstr "Malkovich"
-
-#: etc/initialdata:332
-msgid "New Pending Approval"
-msgstr "Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "New Search"
-msgstr "Malkovich"
-
-#: html/Admin/Global/CustomField.html:40 html/Admin/Global/CustomFields.html:38 html/Admin/Queues/CustomField.html:51 html/Admin/Queues/CustomFields.html:40
-msgid "New custom field"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/GroupTabs:53 html/User/Elements/GroupTabs:51
-msgid "New group"
-msgstr "Malkovich"
-
-#: html/SelfService/Prefs.html:31
-msgid "New password"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:773
-msgid "New password notification sent"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Elements/QueueTabs:69
-msgid "New queue"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectRights:41
-msgid "New rights"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Scrip.html:39 html/Admin/Global/Scrips.html:38 html/Admin/Queues/Scrip.html:42 html/Admin/Queues/Scrips.html:54
-msgid "New scrip"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Template.html:59 html/Admin/Global/Templates.html:38 html/Admin/Queues/Template.html:57 html/Admin/Queues/Templates.html:49
-msgid "New template"
-msgstr "Malkovich"
-
-#: html/SelfService/Elements/Tabs:47
-msgid "New ticket"
-msgstr "Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2700
-msgid "New ticket doesn't exist"
-msgstr "Malkovich doesn't Malkovich"
-
-#: html/Admin/Elements/UserTabs:50
-msgid "New user"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/CreateUserCalled:25
-msgid "New user called"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/People.html:54 html/Ticket/Elements/EditPeople:28
-msgid "New watchers"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "New window setting"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Elements/Tabs:70
-msgid "Next"
-msgstr "Next"
-
-#: NOT FOUND IN SOURCE
-msgid "NickName"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:62 html/User/Prefs.html:50
-msgid "Nickname"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:89 html/Admin/Elements/EditCustomFields:103
-msgid "No CustomField"
-msgstr "No Malkovich"
-
-#: html/Admin/Groups/GroupRights.html:83 html/Admin/Groups/UserRights.html:70
-msgid "No Group defined"
-msgstr "No Malkovich"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:452
-msgid "No Query"
-msgstr "No Malkovich"
-
-#: html/Admin/Queues/GroupRights.html:96 html/Admin/Queues/UserRights.html:67
-msgid "No Queue defined"
-msgstr "No Malkovich"
-
-#: bin/rt-crontool:52
-msgid "No RT user found. Please consult your RT administrator.\\n"
-msgstr "No RT Malkovich. Malkovich Malkovich RT Malkovich.\\n"
-
-#: html/Admin/Global/Template.html:78 html/Admin/Queues/Template.html:75
-msgid "No Template"
-msgstr "No Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket "
-msgstr "No Malkovich Malkovich. Malkovich "
-
-#: html/Approvals/Elements/Approve:45
-msgid "No action"
-msgstr "No Malkovich"
-
-#: lib/RT/Record.pm:744
-msgid "No column specified"
-msgstr "No Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowRequestor:46
-msgid "No comment entered about this user"
-msgstr "No Malkovich Malkovich Malkovich"
-
-#: lib/RT/Action/Generic.pm:159 lib/RT/Condition/Generic.pm:175 lib/RT/Search/ActiveTicketsInQueue.pm:55 lib/RT/Search/Generic.pm:112
-#. (ref $self)
-msgid "No description for %1"
-msgstr "No Malkovich %1"
-
-#: lib/RT/Users_Overlay.pm:159
-msgid "No group specified"
-msgstr "No Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2475
-msgid "No message attached"
-msgstr "No Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:991
-msgid "No password set"
-msgstr "No Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:296
-msgid "No permission to create queues"
-msgstr "No Malkovich to Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "No permission to create tickets in the queue '%1'"
-msgstr "No Malkovich to Malkovich in the Malkovich '%1'"
-
-#: lib/RT/User_Overlay.pm:157
-msgid "No permission to create users"
-msgstr "No Malkovich to Malkovich"
-
-#: html/SelfService/Display.html:125
-msgid "No permission to display that ticket"
-msgstr "No Malkovich to Malkovich Malkovich"
-
-#: html/SelfService/Update.html:68
-msgid "No permission to view update ticket"
-msgstr "No Malkovich to Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:716 lib/RT/Ticket_Overlay.pm:1581
-msgid "No principal specified"
-msgstr "No Malkovich Malkovich"
-
-#: html/Admin/Queues/People.html:153 html/Admin/Queues/People.html:163
-msgid "No principals selected."
-msgstr "No Malkovich Malkovich."
-
-#: html/Admin/Queues/index.html:34
-msgid "No queues matching search criteria found."
-msgstr "No Malkovich Malkovich Malkovich Malkovich."
-
-#: html/Admin/Elements/SelectRights:81
-msgid "No rights found"
-msgstr "No Malkovich"
-
-#: html/Admin/Elements/SelectRights:32
-msgid "No rights granted."
-msgstr "No Malkovich."
-
-#: html/Search/Bulk.html:162
-msgid "No search to operate on."
-msgstr "No Malkovich to Malkovich on."
-
-#: lib/RT/Transaction_Overlay.pm:455 lib/RT/Transaction_Overlay.pm:493
-msgid "No transaction type specified"
-msgstr "No Malkovich Malkovich Malkovich"
-
-#: html/Admin/Users/index.html:35
-msgid "No users matching search criteria found."
-msgstr "No Malkovich Malkovich Malkovich Malkovich."
-
-#: NOT FOUND IN SOURCE
-msgid "No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\\n"
-msgstr "No Malkovich RT Malkovich. RT Malkovich Malkovich. Malkovich Malkovich RT Malkovich.\\n"
-
-#: lib/RT/Record.pm:741
-msgid "No value sent to _Set!\\n"
-msgstr "No Malkovich to _Set!\\n"
-
-#: lib/RT/Record.pm:746
-msgid "Nonexistant field?"
-msgstr "Malkovich Malkovich?"
-
-#: html/Elements/Header:71
-msgid "Not logged in."
-msgstr "Malkovich in."
-
-#: lib/RT/Date.pm:369
-msgid "Not set"
-msgstr "Malkovich"
-
-#: html/NoAuth/Reminder.html:26
-msgid "Not yet implemented."
-msgstr "Malkovich Malkovich."
-
-#: html/Approvals/Elements/Approve:48
-msgid "Notes"
-msgstr "Malkovich"
-
-#: lib/RT/User_Overlay.pm:776
-msgid "Notification could not be sent"
-msgstr "Malkovich Malkovich be sent"
-
-#: etc/initialdata:101
-msgid "Notify AdminCcs"
-msgstr "Malkovich"
-
-#: etc/initialdata:97
-msgid "Notify AdminCcs as Comment"
-msgstr "Malkovich as Malkovich"
-
-#: etc/initialdata:128
-msgid "Notify Other Recipients"
-msgstr "Malkovich Malkovich"
-
-#: etc/initialdata:124
-msgid "Notify Other Recipients as Comment"
-msgstr "Malkovich Malkovich as Malkovich"
-
-#: etc/initialdata:85
-msgid "Notify Owner"
-msgstr "Malkovich"
-
-#: etc/initialdata:81
-msgid "Notify Owner as Comment"
-msgstr "Malkovich as Malkovich"
-
-#: etc/initialdata:376
-msgid "Notify Owner of their rejected ticket"
-msgstr "Malkovich of Malkovich Malkovich"
-
-#: etc/initialdata:365
-msgid "Notify Owner of their ticket has been approved by all approvers"
-msgstr "Malkovich of Malkovich Malkovich Malkovich by Malkovich"
-
-#: etc/initialdata:353
-msgid "Notify Owner of their ticket has been approved by some approver"
-msgstr "Malkovich of Malkovich Malkovich Malkovich by Malkovich"
-
-#: etc/initialdata:334
-msgid "Notify Owners and AdminCcs of new items pending their approval"
-msgstr "Malkovich and Malkovich of Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:77
-msgid "Notify Requestors"
-msgstr "Malkovich Malkovich"
-
-#: etc/initialdata:111
-msgid "Notify Requestors and Ccs"
-msgstr "Malkovich Malkovich and Ccs"
-
-#: etc/initialdata:106
-msgid "Notify Requestors and Ccs as Comment"
-msgstr "Malkovich Malkovich and Ccs as Malkovich"
-
-#: etc/initialdata:120
-msgid "Notify Requestors, Ccs and AdminCcs"
-msgstr "Malkovich Malkovich, Ccs and Malkovich"
-
-#: etc/initialdata:116
-msgid "Notify Requestors, Ccs and AdminCcs as Comment"
-msgstr "Malkovich Malkovich, Ccs and Malkovich as Malkovich"
-
-#: lib/RT/Date.pm:421
-msgid "Nov."
-msgstr "Nov."
-
-#: lib/RT/Record.pm:200
-msgid "Object could not be created"
-msgstr "Malkovich Malkovich be Malkovich"
-
-#: lib/RT/Record.pm:219
-msgid "Object created"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:420
-msgid "Oct."
-msgstr "Oct."
-
-#: html/Elements/SelectDateRelation:34
-msgid "On"
-msgstr "On"
-
-#: etc/initialdata:163
-msgid "On Comment"
-msgstr "On Malkovich"
-
-#: etc/initialdata:156
-msgid "On Correspond"
-msgstr "On Malkovich"
-
-#: etc/initialdata:145
-msgid "On Create"
-msgstr "On Malkovich"
-
-#: etc/initialdata:184
-msgid "On Owner Change"
-msgstr "On Malkovich"
-
-#: etc/initialdata:192
-msgid "On Queue Change"
-msgstr "On Malkovich"
-
-#: etc/initialdata:198
-msgid "On Resolve"
-msgstr "On Malkovich"
-
-#: etc/initialdata:169
-msgid "On Status Change"
-msgstr "On Malkovich"
-
-#: etc/initialdata:150
-msgid "On Transaction"
-msgstr "On Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:49
-#. ("<input size='15' value='".( $created_after->Unix >0 && $created_after->ISO)."' name='CreatedAfter'>")
-msgid "Only show approvals for requests created after %1"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich %1"
-
-#: html/Approvals/Elements/PendingMyApproval:47
-#. ("<input size='15' value='".($created_before->Unix > 0 &&$created_before->ISO)."' name='CreatedBefore'>")
-msgid "Only show approvals for requests created before %1"
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich %1"
-
-#: html/Elements/Quicksearch:30
-msgid "Open"
-msgstr "Open"
-
-#: html/Ticket/Elements/Tabs:137
-msgid "Open it"
-msgstr "Open it"
-
-#: html/SelfService/Elements/Tabs:41
-msgid "Open tickets"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in a new window"
-msgstr "Malkovich (Malkovich) in a Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in another window"
-msgstr "Malkovich (Malkovich) in Malkovich"
-
-#: etc/initialdata:140
-msgid "Open tickets on correspondence"
-msgstr "Malkovich on Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Ordering and sorting"
-msgstr "Malkovich and Malkovich"
-
-#: html/Admin/Users/Modify.html:114 html/Elements/SelectUsers:28 html/User/Prefs.html:107
-msgid "Organization"
-msgstr "Malkovich"
-
-#: html/Approvals/Elements/Approve:32
-#. ($approving->Id, $approving->Subject)
-msgid "Originating ticket: #%1"
-msgstr "Malkovich Malkovich: #%1"
-
-#: html/Admin/Queues/Modify.html:68
-msgid "Over time, priority moves toward"
-msgstr "Malkovich, Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:89
-msgid "Own tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:89
-msgid "OwnTicket"
-msgstr "Malkovich"
-
-#: etc/initialdata:38 html/Elements/QuickCreate:13 html/Search/Elements/PickBasics:114 html/SelfService/Elements/MyRequests:29 html/Ticket/Create.html:47 html/Ticket/Elements/EditPeople:42 html/Ticket/Elements/EditPeople:43 html/Ticket/Elements/ShowPeople:26 html/Ticket/Update.html:40 lib/RT/ACE_Overlay.pm:85 lib/RT/Tickets_Overlay.pm:1306
-msgid "Owner"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:575
-#. ($Old->Name , $New->Name)
-msgid "Owner forcibly changed from %1 to %2"
-msgstr "Malkovich Malkovich Malkovich %1 to %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner is"
-msgstr "Malkovich is"
-
-#: html/Admin/Users/Modify.html:171 html/User/Prefs.html:75
-msgid "Pager"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "PagerPhone"
-msgstr "Malkovich"
-
-#: html/Elements/EditLinks:117 html/Elements/EditLinks:54 html/Elements/ShowLinks:46 html/Ticket/Create.html:182 html/Ticket/Elements/BulkLinks:38
-msgid "Parents"
-msgstr "Malkovich"
-
-#: html/Elements/Login:52 html/User/Prefs.html:83
-msgid "Password"
-msgstr "Malkovich"
-
-#: html/NoAuth/Reminder.html:24
-msgid "Password Reminder"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:185 lib/RT/User_Overlay.pm:994
-msgid "Password too short"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Users/Modify.html:316 html/User/Prefs.html:209
-#. (loc_fuzzy($msg))
-msgid "Password: %1"
-msgstr "Malkovich: %1"
-
-#: html/Admin/Users/Modify.html:318
-msgid "Passwords do not match."
-msgstr "Malkovich do Malkovich."
-
-#: html/User/Prefs.html:211
-msgid "Passwords do not match. Your password has not been changed"
-msgstr "Malkovich do Malkovich. Malkovich Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowSummary:44 html/Ticket/Elements/Tabs:97 html/Ticket/ModifyAll.html:50
-msgid "People"
-msgstr "Malkovich"
-
-#: etc/initialdata:133
-msgid "Perform a user-defined action"
-msgstr "Malkovich a user-Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:230 lib/RT/ACE_Overlay.pm:236 lib/RT/ACE_Overlay.pm:562 lib/RT/ACE_Overlay.pm:572 lib/RT/ACE_Overlay.pm:582 lib/RT/ACE_Overlay.pm:647 lib/RT/Attribute_Overlay.pm:135 lib/RT/Attribute_Overlay.pm:141 lib/RT/Attribute_Overlay.pm:379 lib/RT/Attribute_Overlay.pm:388 lib/RT/Attribute_Overlay.pm:401 lib/RT/CurrentUser.pm:103 lib/RT/CurrentUser.pm:94 lib/RT/CustomField_Overlay.pm:100 lib/RT/CustomField_Overlay.pm:207 lib/RT/CustomField_Overlay.pm:239 lib/RT/CustomField_Overlay.pm:517 lib/RT/CustomField_Overlay.pm:90 lib/RT/Group_Overlay.pm:1091 lib/RT/Group_Overlay.pm:1095 lib/RT/Group_Overlay.pm:1104 lib/RT/Group_Overlay.pm:1155 lib/RT/Group_Overlay.pm:1159 lib/RT/Group_Overlay.pm:1165 lib/RT/Group_Overlay.pm:426 lib/RT/Group_Overlay.pm:518 lib/RT/Group_Overlay.pm:596 lib/RT/Group_Overlay.pm:604 lib/RT/Group_Overlay.pm:701 lib/RT/Group_Overlay.pm:705 lib/RT/Group_Overlay.pm:711 lib/RT/Group_Overlay.pm:896 lib/RT/Group_Overlay.pm:900 lib/RT/Group_Overlay.pm:913 lib/RT/Queue_Overlay.pm:117 lib/RT/Queue_Overlay.pm:135 lib/RT/Queue_Overlay.pm:578 lib/RT/Queue_Overlay.pm:588 lib/RT/Queue_Overlay.pm:602 lib/RT/Queue_Overlay.pm:740 lib/RT/Queue_Overlay.pm:749 lib/RT/Queue_Overlay.pm:762 lib/RT/Queue_Overlay.pm:975 lib/RT/Scrip_Overlay.pm:125 lib/RT/Scrip_Overlay.pm:136 lib/RT/Scrip_Overlay.pm:201 lib/RT/Scrip_Overlay.pm:473 lib/RT/Template_Overlay.pm:284 lib/RT/Template_Overlay.pm:87 lib/RT/Template_Overlay.pm:93 lib/RT/Ticket_Overlay.pm:1453 lib/RT/Ticket_Overlay.pm:1463 lib/RT/Ticket_Overlay.pm:1477 lib/RT/Ticket_Overlay.pm:1614 lib/RT/Ticket_Overlay.pm:1624 lib/RT/Ticket_Overlay.pm:1638 lib/RT/Ticket_Overlay.pm:1755 lib/RT/Ticket_Overlay.pm:2075 lib/RT/Ticket_Overlay.pm:2213 lib/RT/Ticket_Overlay.pm:2381 lib/RT/Ticket_Overlay.pm:2428 lib/RT/Ticket_Overlay.pm:2582 lib/RT/Ticket_Overlay.pm:2640 lib/RT/Ticket_Overlay.pm:2691 lib/RT/Ticket_Overlay.pm:2706 lib/RT/Ticket_Overlay.pm:2905 lib/RT/Ticket_Overlay.pm:2915 lib/RT/Ticket_Overlay.pm:2920 lib/RT/Ticket_Overlay.pm:3143 lib/RT/Ticket_Overlay.pm:3147 lib/RT/Ticket_Overlay.pm:3350 lib/RT/Ticket_Overlay.pm:3512 lib/RT/Ticket_Overlay.pm:3564 lib/RT/Ticket_Overlay.pm:3791 lib/RT/Transaction_Overlay.pm:443 lib/RT/Transaction_Overlay.pm:450 lib/RT/Transaction_Overlay.pm:479 lib/RT/Transaction_Overlay.pm:486 lib/RT/User_Overlay.pm:1088 lib/RT/User_Overlay.pm:1536 lib/RT/User_Overlay.pm:335 lib/RT/User_Overlay.pm:696 lib/RT/User_Overlay.pm:731 lib/RT/User_Overlay.pm:987
-msgid "Permission Denied"
-msgstr "Malkovich Malkovich"
-
-#: html/User/Elements/Tabs:34
-msgid "Personal Groups"
-msgstr "Malkovich"
-
-#: html/User/Groups/index.html:29 html/User/Groups/index.html:39
-msgid "Personal groups"
-msgstr "Malkovich"
-
-#: html/User/Elements/DelegateRights:36
-msgid "Personal groups:"
-msgstr "Malkovich:"
-
-#: html/Admin/Users/Modify.html:153 html/User/Prefs.html:60
-msgid "Phone numbers"
-msgstr "Malkovich"
-
-#: html/Elements/Header:63 html/Elements/Tabs:55 html/SelfService/Elements/Tabs:50 html/SelfService/Prefs.html:24 html/User/Prefs.html:24 html/User/Prefs.html:27
-msgid "Preferences"
-msgstr "Malkovich"
-
-#: lib/RT/Action/Generic.pm:169
-msgid "Prepare Stubbed"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:62
-msgid "Prev"
-msgstr "Prev"
-
-#: lib/RT/ACE_Overlay.pm:132 lib/RT/ACE_Overlay.pm:207 lib/RT/ACE_Overlay.pm:551
-#. ($args{'PrincipalId'})
-msgid "Principal %1 not found."
-msgstr "Malkovich %1 Malkovich."
-
-#: html/Search/Elements/PickBasics:58 html/Ticket/Create.html:153 html/Ticket/Elements/EditBasics:52 html/Ticket/Elements/ShowBasics:50 lib/RT/Tickets_Overlay.pm:1104
-msgid "Priority"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/Modify.html:64
-msgid "Priority starts at"
-msgstr "Malkovich at"
-
-#: etc/initialdata:25
-msgid "Privileged"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:296 html/User/Prefs.html:200
-#. (loc_fuzzy($msg))
-msgid "Privileged status: %1"
-msgstr "Malkovich Malkovich: %1"
-
-#: html/Admin/Users/index.html:61
-msgid "Privileged users"
-msgstr "Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Projects"
-msgstr "Malkovich"
-
-#: etc/initialdata:23 etc/initialdata:29 etc/initialdata:35 etc/initialdata:59
-msgid "Pseudogroup for internal use"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Elements/QuickCreate:10 html/Elements/Quicksearch:28 html/Search/Elements/PickBasics:94 html/SelfService/Create.html:32 html/Ticket/Create.html:37 html/Ticket/Elements/EditBasics:35 html/Ticket/Elements/ShowBasics:54 html/User/Elements/DelegateRights:79 lib/RT/Tickets_Overlay.pm:945
-msgid "Queue"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/CustomField.html:41 html/Admin/Queues/Scrip.html:49 html/Admin/Queues/Scrips.html:47 html/Admin/Queues/Templates.html:43
-#. ($Queue)
-#. ($id)
-msgid "Queue %1 not found"
-msgstr "Malkovich %1 Malkovich"
-
-#: html/Admin/Queues/Modify.html:42
-msgid "Queue Name"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:300
-msgid "Queue already exists"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:309 lib/RT/Queue_Overlay.pm:315
-msgid "Queue could not be created"
-msgstr "Malkovich not be Malkovich"
-
-#: html/Ticket/Create.html:208
-msgid "Queue could not be loaded."
-msgstr "Malkovich be Malkovich."
-
-#: docs/design_docs/string-extraction-guide.txt:83 lib/RT/Queue_Overlay.pm:319 lib/RT/StyleGuide.pod:789
-msgid "Queue created"
-msgstr "Malkovich"
-
-#: html/SelfService/Display.html:72 lib/RT/CustomField_Overlay.pm:97
-msgid "Queue not found"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/Tabs:37 html/Admin/index.html:34
-msgid "Queues"
-msgstr "Malkovich"
-
-#: html/Elements/Quicksearch:24
-msgid "Quick search"
-msgstr "Malkovich"
-
-#: html/Elements/Login:44
-#. ($RT::VERSION)
-msgid "RT %1"
-msgstr "RT %1"
-
-#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:776
-#. ($RT::VERSION, $RT::rtname)
-msgid "RT %1 for %2"
-msgstr "RT %1 for %2"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1 from <a href=\"http://bestpractical.com\">Best Practical Solutions, LLC</a>."
-msgstr "RT %1 from <a href=\"http://Malkovich.com\">Malkovich Malkovich, LLC</a>."
-
-#: html/Admin/index.html:24 html/Admin/index.html:25
-msgid "RT Administration"
-msgstr "RT Malkovich"
-
-#: html/Elements/Error:41 html/SelfService/Error.html:40
-msgid "RT Error"
-msgstr "RT Malkovich"
-
-#: html/index.html:50 html/index.html:53
-msgid "RT at a glance"
-msgstr "RT at a Malkovich"
-
-#: html/Elements/PageLayout:85
-#. ($RT::rtname)
-msgid "RT for %1"
-msgstr "RT for %1"
-
-#: NOT FOUND IN SOURCE
-msgid "RT is &copy; Copyright 1996-%1 Jesse Vincent <jesse@bestpractical.com>. 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; Malkovich 1996-%1 Malkovich <Malkovich@Malkovich.com>. It is Malkovich Malkovich <a href=\"http://www.gnu.org/copyleft/gpl.html\">Malkovich 2 of the Malkovich Malkovich Malkovich.</a>"
-
-#: html/Admin/Users/Modify.html:57 html/User/Prefs.html:47
-msgid "Real Name"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "RealName"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:628
-#. ($value)
-msgid "Reference by %1 added"
-msgstr "Malkovich by %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:668
-#. ($value)
-msgid "Reference by %1 deleted"
-msgstr "Malkovich by %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:625
-#. ($value)
-msgid "Reference to %1 added"
-msgstr "Malkovich to %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:665
-#. ($value)
-msgid "Reference to %1 deleted"
-msgstr "Malkovich to %1 Malkovich"
-
-#: html/Elements/EditLinks:129 html/Elements/EditLinks:81 html/Elements/ShowLinks:70 html/Ticket/Create.html:185 html/Ticket/Elements/BulkLinks:50
-msgid "Referred to by"
-msgstr "Malkovich to by"
-
-#: html/Elements/EditLinks:125 html/Elements/EditLinks:72 html/Elements/SelectLinkType:27 html/Elements/ShowLinks:60 html/Ticket/Create.html:184 html/Ticket/Elements/BulkLinks:46
-msgid "Refers to"
-msgstr "Malkovich to"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine search"
-msgstr "Malkovich"
-
-#: html/Elements/Refresh:35
-#. ($value/60)
-msgid "Refresh this page every %1 minutes."
-msgstr "Malkovich Malkovich %1 Malkovich."
-
-#: html/Search/Bulk.html:95
-msgid "Remove AdminCc"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:91
-msgid "Remove Cc"
-msgstr "Malkovich Cc"
-
-#: html/Search/Bulk.html:87
-msgid "Remove Requestor"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Elements/ShowTransaction:142 html/Ticket/Elements/Tabs:123
-msgid "Reply"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "Reply to tickets"
-msgstr "Malkovich to Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "ReplyToTicket"
-msgstr "Malkovich"
-
-#: etc/initialdata:44 lib/RT/ACE_Overlay.pm:86
-msgid "Requestor"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor email address"
-msgstr "Malkovich Malkovich"
-
-#: html/SelfService/Create.html:40 html/Ticket/Create.html:55 html/Ticket/Elements/EditPeople:47 html/Ticket/Elements/ShowPeople:30
-msgid "Requestors"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/Modify.html:74
-msgid "Requests should be due in"
-msgstr "Malkovich be due in"
-
-#: html/Elements/Submit:61
-msgid "Reset"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:156 html/User/Prefs.html:63
-msgid "Residence"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/Tabs:133
-msgid "Resolve"
-msgstr "Malkovich"
-
-#: html/Ticket/Update.html:119
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Resolve ticket #%1 (%2)"
-msgstr "Malkovich #%1 (%2)"
-
-#: etc/initialdata:323 html/Elements/SelectDateType:27 lib/RT/Ticket_Overlay.pm:1282
-msgid "Resolved"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Response to requestors"
-msgstr "Malkovich to Malkovich"
-
-#: html/Elements/ListActions:25 html/Search/Elements/NewListActions:25
-msgid "Results"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Results per page"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Users/Modify.html:99 html/User/Prefs.html:94
-msgid "Retype Password"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:612
-msgid "Right Delegated"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:302
-msgid "Right Granted"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:160
-msgid "Right Loaded"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:677 lib/RT/ACE_Overlay.pm:692
-msgid "Right could not be revoked"
-msgstr "Malkovich be Malkovich"
-
-#: html/User/Delegation.html:63
-msgid "Right not found"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:542 lib/RT/ACE_Overlay.pm:637
-msgid "Right not loaded."
-msgstr "Malkovich Malkovich."
-
-#: lib/RT/ACE_Overlay.pm:688
-msgid "Right revoked"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Rights"
-msgstr "Malkovich"
-
-#: lib/RT/Interface/Web.pm:869
-#. ($object_type)
-msgid "Rights could not be granted for %1"
-msgstr "Malkovich Malkovich be Malkovich %1"
-
-#: lib/RT/Interface/Web.pm:899
-#. ($object_type)
-msgid "Rights could not be revoked for %1"
-msgstr "Malkovich Malkovich be Malkovich %1"
-
-#: html/Admin/Global/GroupRights.html:50 html/Admin/Queues/GroupRights.html:52
-msgid "Roles"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:393
-msgid "Sat."
-msgstr "Sat."
-
-#: html/Admin/Global/Template.html:45 html/Admin/Queues/Modify.html:89 html/Admin/Queues/People.html:104 html/Admin/Users/Modify.html:198 html/SelfService/Prefs.html:36 html/Ticket/Modify.html:38 html/Ticket/ModifyAll.html:93 html/Ticket/ModifyDates.html:38 html/Ticket/ModifyLinks.html:38 html/Ticket/ModifyPeople.html:37
-msgid "Save Changes"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/PreviewScrips:79
-msgid "Save changes"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Scrip.html:48 html/Admin/Queues/Scrip.html:54
-#. ($id)
-#. ($ARGS{'id'})
-msgid "Scrip #%1"
-msgstr "Malkovich #%1"
-
-#: lib/RT/Scrip_Overlay.pm:180
-msgid "Scrip Created"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrips:85
-msgid "Scrip deleted"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/QueueTabs:45 html/Admin/Elements/SystemTabs:32 html/Admin/Global/index.html:40
-msgid "Scrips"
-msgstr "Malkovich"
-
-#: html/Admin/Queues/Scrips.html:33
-msgid "Scrips which apply to all queues"
-msgstr "Malkovich Malkovich to Malkovich"
-
-#: html/Elements/SimpleSearch:26 html/Search/Elements/DisplayOptions:73
-msgid "Search"
-msgstr "Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:38
-msgid "Search for approvals"
-msgstr "Malkovich Malkovich"
-
-#: bin/rt-crontool:184
-msgid "Security:"
-msgstr "Malkovich:"
-
-#: lib/RT/Queue_Overlay.pm:68
-msgid "SeeQueue"
-msgstr "Malkovich"
-
-#: html/Admin/Groups/index.html:50
-msgid "Select a group"
-msgstr "Malkovich a Malkovich"
-
-#: html/Admin/Users/index.html:24 html/Admin/Users/index.html:27
-msgid "Select a user"
-msgstr "Malkovich a user"
-
-#: html/Admin/Global/CustomField.html:37 html/Admin/Global/CustomFields.html:35
-msgid "Select custom field"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/GroupTabs:51 html/User/Elements/GroupTabs:49
-msgid "Select group"
-msgstr "Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:427
-msgid "Select multiple values"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:424
-msgid "Select one value"
-msgstr "Malkovich Malkovich"
-
-#: html/Admin/Elements/QueueTabs:66
-msgid "Select queue"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Scrip.html:36 html/Admin/Global/Scrips.html:35 html/Admin/Queues/Scrip.html:39 html/Admin/Queues/Scrips.html:51
-msgid "Select scrip"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Template.html:56 html/Admin/Global/Templates.html:35 html/Admin/Queues/Template.html:54 html/Admin/Queues/Templates.html:46
-msgid "Select template"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/UserTabs:46
-msgid "Select user"
-msgstr "Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:35
-msgid "SelectMultiple"
-msgstr "Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:34
-msgid "SelectSingle"
-msgstr "Malkovich"
-
-#: etc/initialdata:121
-msgid "Send mail to all watchers"
-msgstr "Malkovich to Malkovich"
-
-#: etc/initialdata:117
-msgid "Send mail to all watchers as a \"comment\""
-msgstr "Malkovich to Malkovich as a \"Malkovich\""
-
-#: etc/initialdata:112
-msgid "Send mail to requestors and Ccs"
-msgstr "Malkovich to Malkovich and Ccs"
-
-#: etc/initialdata:107
-msgid "Send mail to requestors and Ccs as a comment"
-msgstr "Malkovich to Malkovich and Ccs as a Malkovich"
-
-#: etc/initialdata:78
-msgid "Sends a message to the requestors"
-msgstr "Malkovich a Malkovich to the Malkovich"
-
-#: etc/initialdata:125 etc/initialdata:129
-msgid "Sends mail to explicitly listed Ccs and Bccs"
-msgstr "Malkovich to Malkovich Malkovich and Bccs"
-
-#: etc/initialdata:102
-msgid "Sends mail to the administrative Ccs"
-msgstr "Malkovich to the Malkovich Malkovich"
-
-#: etc/initialdata:98
-msgid "Sends mail to the administrative Ccs as a comment"
-msgstr "Malkovich to the Malkovich Malkovich as a Malkovich"
-
-#: etc/initialdata:82 etc/initialdata:86
-msgid "Sends mail to the owner"
-msgstr "Malkovich to the Malkovich"
-
-#: lib/RT/Date.pm:419
-msgid "Sep."
-msgstr "Sep."
-
-#: html/Approvals/Elements/PendingMyApproval:43
-msgid "Show approved requests"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Create.html:143 html/Ticket/Create.html:33
-msgid "Show basics"
-msgstr "Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:44
-msgid "Show denied requests"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/Create.html:143 html/Ticket/Create.html:33
-msgid "Show details"
-msgstr "Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:42
-msgid "Show pending requests"
-msgstr "Malkovich Malkovich"
-
-#: html/Approvals/Elements/PendingMyApproval:45
-msgid "Show requests awaiting other approvals"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket private commentary"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket summaries"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:70
-msgid "ShowACL"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:79
-msgid "ShowScrips"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:76
-msgid "ShowTemplate"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:80
-msgid "ShowTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:81
-msgid "ShowTicketComments"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "Sign up as a ticket Requestor or ticket or queue Cc"
-msgstr "Sign up as a Malkovich Malkovich or Malkovich or Malkovich Cc"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "Sign up as a ticket or queue AdminCc"
-msgstr "Sign up as a Malkovich or Malkovich"
-
-#: html/Admin/Users/Modify.html:188 html/User/Prefs.html:145
-msgid "Signature"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:25
-msgid "Single"
-msgstr "Malkovich"
-
-#: html/Elements/Header:62
-msgid "Skip Menu"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/AddCustomFieldValue:27
-msgid "Sort"
-msgstr "Sort"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort results by"
-msgstr "Malkovich by"
-
-#: NOT FOUND IN SOURCE
-msgid "Squelched message recipients"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/Admin/Elements/EditScrip:65
-msgid "Stage"
-msgstr "Malkovich"
-
-#: html/Elements/SelectDateType:26 html/Ticket/Elements/EditDates:31 html/Ticket/Elements/ShowDates:35
-msgid "Started"
-msgstr "Malkovich"
-
-#: html/Elements/SelectDateType:30 html/Ticket/Create.html:165 html/Ticket/Elements/EditDates:26 html/Ticket/Elements/ShowDates:31
-msgid "Starts"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:135 html/User/Prefs.html:123
-msgid "State"
-msgstr "Malkovich"
-
-#: html/Search/Elements/PickBasics:77 html/SelfService/Elements/MyRequests:28 html/SelfService/Update.html:30 html/Ticket/Create.html:41 html/Ticket/Elements/EditBasics:31 html/Ticket/Elements/ShowBasics:30 html/Ticket/Update.html:37 lib/RT/Ticket_Overlay.pm:1276 lib/RT/Tickets_Overlay.pm:970
-msgid "Status"
-msgstr "Malkovich"
-
-#: etc/initialdata:309
-msgid "Status Change"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:505
-#. ($self->loc($self->OldValue), $self->loc($self->NewValue))
-msgid "Status changed from %1 to %2"
-msgstr "Malkovich Malkovich %1 to %2"
-
-#: html/Ticket/Elements/Tabs:148
-msgid "Steal"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "Steal tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "StealTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:581
-#. ($Old->Name)
-msgid "Stolen from %1 "
-msgstr "Malkovich %1 "
-
-#: html/Elements/QuickCreate:7 html/Elements/SelectAttachmentField:25 html/Search/Bulk.html:133 html/SelfService/Create.html:56 html/SelfService/Elements/MyRequests:27 html/SelfService/Update.html:31 html/Ticket/Create.html:83 html/Ticket/Elements/EditBasics:26 html/Ticket/ModifyAll.html:78 html/Ticket/Update.html:58 lib/RT/Ticket_Overlay.pm:1272 lib/RT/Tickets_Overlay.pm:1049
-msgid "Subject"
-msgstr "Malkovich"
-
-#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:795 lib/RT/Transaction_Overlay.pm:603
-#. ($self->Data)
-msgid "Subject changed to %1"
-msgstr "Malkovich to %1"
-
-#: html/Elements/Submit:58
-msgid "Submit"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:749
-msgid "Succeeded"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:394
-msgid "Sun."
-msgstr "Sun."
-
-#: lib/RT/System.pm:53
-msgid "SuperUser"
-msgstr "Malkovich"
-
-#: html/User/Elements/DelegateRights:76
-msgid "System"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectRights:81 lib/RT/ACE_Overlay.pm:566 lib/RT/Interface/Web.pm:868 lib/RT/Interface/Web.pm:898
-msgid "System Error"
-msgstr "Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:615
-msgid "System error. Right not delegated."
-msgstr "Malkovich. Malkovich Malkovich."
-
-#: lib/RT/ACE_Overlay.pm:145 lib/RT/ACE_Overlay.pm:222 lib/RT/ACE_Overlay.pm:305 lib/RT/ACE_Overlay.pm:897
-msgid "System error. Right not granted."
-msgstr "Malkovich. Malkovich Malkovich."
-
-#: html/Admin/Global/GroupRights.html:34 html/Admin/Groups/GroupRights.html:36 html/Admin/Queues/GroupRights.html:35
-msgid "System groups"
-msgstr "Malkovich"
-
-#: etc/initialdata:41 etc/initialdata:47 etc/initialdata:53
-msgid "SystemRolegroup for internal use"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/CurrentUser.pm:334
-msgid "TEST_STRING"
-msgstr "TEST_MALKOVICH"
-
-#: html/Elements/MyRequests:27 html/Ticket/Elements/Tabs:144
-msgid "Take"
-msgstr "Take"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "Take tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "TakeTicket"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:566
-msgid "Taken"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditScrip:57 html/Tools/Offline.html:56
-msgid "Template"
-msgstr "Malkovich"
-
-#: html/Admin/Global/Template.html:90 html/Admin/Queues/Template.html:89
-#. ($TemplateObj->Id())
-msgid "Template #%1"
-msgstr "Malkovich #%1"
-
-#: html/Admin/Elements/EditTemplates:88
-msgid "Template deleted"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Scrip_Overlay.pm:156
-msgid "Template not found"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Template_Overlay.pm:348
-msgid "Template parsed"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/QueueTabs:48 html/Admin/Elements/SystemTabs:35 html/Admin/Global/index.html:44
-msgid "Templates"
-msgstr "Malkovich"
-
-#: lib/RT/Record.pm:740
-msgid "That is already the current value"
-msgstr "That is Malkovich the Malkovich"
-
-#: lib/RT/CustomField_Overlay.pm:248
-msgid "That is not a value for this custom field"
-msgstr "That is not a Malkovich Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2086
-msgid "That is the same value"
-msgstr "That is the Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:287 lib/RT/ACE_Overlay.pm:596
-msgid "That principal already has that right"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:674
-#. ($args{'Type'})
-msgid "That principal is already a %1 for this queue"
-msgstr "Malkovich is Malkovich a %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1527
-#. ($self->loc($args{'Type'}))
-msgid "That principal is already a %1 for this ticket"
-msgstr "Malkovich is Malkovich a %1 Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:773
-#. ($args{'Type'})
-msgid "That principal is not a %1 for this queue"
-msgstr "That Malkovich is not a %1 Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2082
-msgid "That queue does not exist"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3152
-msgid "That ticket has unresolved dependencies"
-msgstr "Malkovich Malkovich Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2956
-msgid "That user already owns that ticket"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2928
-msgid "That user does not exist"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:355
-msgid "That user is already privileged"
-msgstr "Malkovich is Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:376
-msgid "That user is already unprivileged"
-msgstr "Malkovich is Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:368
-msgid "That user is now privileged"
-msgstr "Malkovich is Malkovich"
-
-#: lib/RT/User_Overlay.pm:389
-msgid "That user is now unprivileged"
-msgstr "Malkovich is Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:2949
-msgid "That user may not own tickets in that queue"
-msgstr "Malkovich Malkovich Malkovich in Malkovich"
-
-#: lib/RT/Link_Overlay.pm:200
-msgid "That's not a numerical id"
-msgstr "That's not a Malkovich id"
-
-#: html/SelfService/Display.html:31 html/Ticket/Create.html:149 html/Ticket/Elements/ShowSummary:27
-msgid "The Basics"
-msgstr "The Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:87
-msgid "The CC of a ticket"
-msgstr "The CC of a Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:88
-msgid "The administrative CC of a ticket"
-msgstr "The Malkovich CC of a Malkovich"
-
-#: bin/rt-crontool:194
-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 "The Malkovich Malkovich Malkovich Malkovich Malkovich in the Malkovich 'Malkovich' and Malkovich Malkovich to 99 if they haven't Malkovich in 4 Malkovich:"
-
-#: NOT FOUND IN SOURCE
-msgid "The following commands were not proccessed:\\n\\n"
-msgstr "The Malkovich Malkovich Malkovich Malkovich:\\n\\n"
-
-#: lib/RT/Record.pm:743
-msgid "The new value has been set."
-msgstr "The Malkovich Malkovich."
-
-#: lib/RT/ACE_Overlay.pm:85
-msgid "The owner of a ticket"
-msgstr "The Malkovich of a Malkovich"
-
-#: lib/RT/ACE_Overlay.pm:86
-msgid "The requestor of a ticket"
-msgstr "The Malkovich of a Malkovich"
-
-#: html/Admin/Elements/EditUserComments:25
-msgid "These comments aren't generally visible to the user"
-msgstr "Malkovich aren't Malkovich Malkovich to the user"
-
-#: bin/rt-crontool:185
-msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr "Malkovich Malkovich the user to Malkovich Malkovich Malkovich Malkovich RT."
-
-#: lib/RT/Transaction_Overlay.pm:226
-msgid "This transaction appears to have no content"
-msgstr "Malkovich Malkovich to have no Malkovich"
-
-#: html/Ticket/Elements/ShowRequestor:48
-#. ($rows)
-msgid "This user's %1 highest priority tickets"
-msgstr "Malkovich's %1 Malkovich Malkovich"
-
-#: lib/RT/Date.pm:391
-msgid "Thu."
-msgstr "Thu."
-
-#: html/Ticket/ModifyAll.html:24 html/Ticket/ModifyAll.html:28
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket #%1 Jumbo update: %2"
-msgstr "Malkovich #%1 Malkovich: %2"
-
-#: html/Approvals/Elements/ShowDependency:45
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Ticket #%1: %2"
-msgstr "Malkovich #%1: %2"
-
-#: lib/RT/Ticket_Overlay.pm:696 lib/RT/Ticket_Overlay.pm:720
-#. ($self->Id, $QueueObj->Name)
-msgid "Ticket %1 created in queue '%2'"
-msgstr "Malkovich %1 Malkovich in Malkovich '%2'"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket %1 loaded\\n"
-msgstr "Malkovich %1 Malkovich\\n"
-
-#: html/Search/Bulk.html:216
-#. ($Ticket->Id,$_)
-msgid "Ticket %1: %2"
-msgstr "Malkovich %1: %2"
-
-#: html/Ticket/History.html:24 html/Ticket/History.html:27
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket History # %1 %2"
-msgstr "Malkovich # %1 %2"
-
-#: etc/initialdata:324
-msgid "Ticket Resolved"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket attachment"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1228
-msgid "Ticket content"
-msgstr "Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1274
-msgid "Ticket content type"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:565 lib/RT/Ticket_Overlay.pm:579 lib/RT/Ticket_Overlay.pm:590 lib/RT/Ticket_Overlay.pm:707
-msgid "Ticket could not be created due to an internal error"
-msgstr "Malkovich Malkovich be Malkovich to a Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:497
-msgid "Ticket created"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:502
-msgid "Ticket deleted"
-msgstr "Malkovich"
-
-#: etc/initialdata:310
-msgid "Ticket status changed"
-msgstr "Malkovich Malkovich"
-
-#: html/Elements/Tabs:46
-msgid "Tickets"
-msgstr "Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1452
-#. ($self->loc($args{'TYPE'}), ($args{'BASE'} || $args{'TICKET'}))
-msgid "Tickets %1 %2"
-msgstr "Malkovich %1 %2"
-
-#: lib/RT/Tickets_Overlay.pm:1410
-#. ($self->loc($args{'TYPE'}), ($args{'TARGET'} || $args{'TICKET'}))
-msgid "Tickets %1 by %2"
-msgstr "Malkovich %1 by %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets from %1"
-msgstr "Malkovich %1"
-
-#: html/Approvals/Elements/ShowDependency:26
-msgid "Tickets which depend on this approval:"
-msgstr "Malkovich Malkovich on Malkovich:"
-
-#: html/Search/Elements/PickBasics:70 html/Ticket/Create.html:156 html/Ticket/Elements/EditBasics:47
-msgid "Time Left"
-msgstr "Malkovich"
-
-#: html/Search/Elements/PickBasics:68 html/Ticket/Create.html:155 html/Ticket/Elements/EditBasics:43
-msgid "Time Worked"
-msgstr "Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1201
-msgid "Time left"
-msgstr "Malkovich"
-
-#: html/Elements/Footer:44
-msgid "Time to display"
-msgstr "Time to Malkovich"
-
-#: lib/RT/Tickets_Overlay.pm:1177
-msgid "Time worked"
-msgstr "Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:1277
-msgid "TimeWorked"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:"
-msgstr "To Malkovich a diff of Malkovich:"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:\\n"
-msgstr "To Malkovich a diff of Malkovich:\\n"
-
-#: lib/RT/Ticket_Overlay.pm:1280
-msgid "Told"
-msgstr "Told"
-
-#: etc/initialdata:252
-msgid "Transaction"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:705
-#. ($self->Data)
-msgid "Transaction %1 purged"
-msgstr "Malkovich %1 Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:136
-msgid "Transaction Created"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:92
-msgid "Transaction->Create couldn't, as you didn't specify a ticket id"
-msgstr "Malkovich->Malkovich couldn't, as you didn't Malkovich a Malkovich id"
-
-#: lib/RT/Transaction_Overlay.pm:760
-msgid "Transactions are immutable"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Date.pm:389
-msgid "Tue."
-msgstr "Tue."
-
-#: html/Admin/Elements/EditCustomField:43 html/Ticket/Elements/AddWatchers:32 html/Ticket/Elements/AddWatchers:43 html/Ticket/Elements/AddWatchers:53 lib/RT/Ticket_Overlay.pm:1278 lib/RT/Tickets_Overlay.pm:1021
-msgid "Type"
-msgstr "Type"
-
-#: lib/RT/ScripCondition_Overlay.pm:103
-msgid "Unimplemented"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:67
-msgid "Unix login"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "UnixUsername"
-msgstr "Malkovich"
-
-#: lib/RT/Attachment_Overlay.pm:233 lib/RT/Attachment_Overlay.pm:265
-#. ($self->ContentEncoding)
-msgid "Unknown ContentEncoding %1"
-msgstr "Malkovich Malkovich %1"
-
-#: html/Elements/SelectResultsPerPage:36
-msgid "Unlimited"
-msgstr "Malkovich"
-
-#: etc/initialdata:32
-msgid "Unprivileged"
-msgstr "Malkovich"
-
-#: lib/RT/Transaction_Overlay.pm:562
-msgid "Untaken"
-msgstr "Malkovich"
-
-#: html/Search/Bulk.html:32
-msgid "Update"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ID"
-msgstr "Malkovich ID"
-
-#: html/Search/Bulk.html:127 html/Ticket/ModifyAll.html:65 html/Ticket/Update.html:48
-msgid "Update Type"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Update all these tickets at once"
-msgstr "Malkovich Malkovich at once"
-
-#: NOT FOUND IN SOURCE
-msgid "Update email"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Update name"
-msgstr "Malkovich"
-
-#: lib/RT/Action/CreateTickets.pm:655 lib/RT/Interface/Web.pm:479
-msgid "Update not recorded."
-msgstr "Malkovich Malkovich."
-
-#: html/Search/Bulk.html:78
-msgid "Update selected tickets"
-msgstr "Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "Update signature"
-msgstr "Malkovich Malkovich"
-
-#: html/Ticket/ModifyAll.html:62
-msgid "Update ticket"
-msgstr "Malkovich"
-
-#: html/SelfService/Update.html:24 html/SelfService/Update.html:63
-#. ($Ticket->id)
-msgid "Update ticket #%1"
-msgstr "Malkovich #%1"
-
-#: html/Ticket/Update.html:121
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Update ticket #%1 (%2)"
-msgstr "Malkovich #%1 (%2)"
-
-#: lib/RT/Action/CreateTickets.pm:653 lib/RT/Interface/Web.pm:477
-msgid "Update type was neither correspondence nor comment."
-msgstr "Malkovich Malkovich Malkovich Malkovich Malkovich."
-
-#: html/Elements/SelectDateType:32 html/Ticket/Elements/ShowDates:51 lib/RT/Ticket_Overlay.pm:1281
-msgid "Updated"
-msgstr "Malkovich"
-
-#: etc/initialdata:132 etc/initialdata:206
-msgid "User Defined"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "User ID"
-msgstr "User ID"
-
-#: html/Elements/SelectUsers:25
-msgid "User Id"
-msgstr "User Id"
-
-#: html/Admin/Elements/GroupTabs:46 html/Admin/Elements/QueueTabs:59 html/Admin/Elements/SystemTabs:46 html/Admin/Global/index.html:58
-msgid "User Rights"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:252
-#. ($msg)
-msgid "User could not be created: %1"
-msgstr "Malkovich be Malkovich: %1"
-
-#: lib/RT/User_Overlay.pm:296
-msgid "User created"
-msgstr "Malkovich"
-
-#: html/Admin/Global/GroupRights.html:66 html/Admin/Groups/GroupRights.html:53 html/Admin/Queues/GroupRights.html:68
-msgid "User defined groups"
-msgstr "Malkovich Malkovich"
-
-#: lib/RT/User_Overlay.pm:558 lib/RT/User_Overlay.pm:575
-msgid "User loaded"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "User view"
-msgstr "Malkovich"
-
-#: html/Admin/Users/Modify.html:47 html/Elements/Login:51 html/Ticket/Elements/AddWatchers:34
-msgid "Username"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/SelectNewGroupMembers:25 html/Admin/Elements/Tabs:31 html/Admin/Groups/Members.html:54 html/Admin/Queues/People.html:67 html/Admin/index.html:28 html/User/Groups/Members.html:57
-msgid "Users"
-msgstr "Malkovich"
-
-#: html/Admin/Users/index.html:64
-msgid "Users matching search criteria"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:494
-msgid "Valid Query"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/EditCustomField:56
-msgid "Values"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "Watch"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "WatchAsAdminCc"
-msgstr "Malkovich"
-
-#: html/Admin/Elements/QueueTabs:41
-msgid "Watchers"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "WebEncoding"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:390
-msgid "Wed."
-msgstr "Wed."
-
-#: etc/initialdata:521
-msgid "When a ticket has been approved by all approvers, add correspondence to the original ticket"
-msgstr "When a Malkovich Malkovich by Malkovich, Malkovich Malkovich to the Malkovich"
-
-#: etc/initialdata:485
-msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
-msgstr "When a Malkovich Malkovich by Malkovich, Malkovich Malkovich to the Malkovich"
-
-#: etc/initialdata:146
-msgid "When a ticket is created"
-msgstr "When a Malkovich is Malkovich"
-
-#: etc/initialdata:418
-msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
-msgstr "When a Malkovich is Malkovich, Malkovich the Malkovich and Malkovich of the Malkovich Malkovich Malkovich"
-
-#: etc/initialdata:151
-msgid "When anything happens"
-msgstr "Malkovich Malkovich"
-
-#: etc/initialdata:199
-msgid "Whenever a ticket is resolved"
-msgstr "Malkovich a Malkovich is Malkovich"
-
-#: etc/initialdata:185
-msgid "Whenever a ticket's owner changes"
-msgstr "Malkovich a Malkovich's Malkovich"
-
-#: etc/initialdata:193
-msgid "Whenever a ticket's queue changes"
-msgstr "Malkovich a Malkovich's Malkovich"
-
-#: etc/initialdata:170
-msgid "Whenever a ticket's status changes"
-msgstr "Malkovich a Malkovich's Malkovich"
-
-#: etc/initialdata:207
-msgid "Whenever a user-defined condition occurs"
-msgstr "Malkovich a user-Malkovich Malkovich"
-
-#: etc/initialdata:164
-msgid "Whenever comments come in"
-msgstr "Malkovich Malkovich in"
-
-#: etc/initialdata:157
-msgid "Whenever correspondence comes in"
-msgstr "Malkovich Malkovich Malkovich in"
-
-#: html/Admin/Users/Modify.html:161 html/User/Prefs.html:67
-msgid "Work"
-msgstr "Work"
-
-#: NOT FOUND IN SOURCE
-msgid "WorkPhone"
-msgstr "Malkovich"
-
-#: html/Ticket/Elements/ShowBasics:41 html/Ticket/Update.html:42
-msgid "Worked"
-msgstr "Malkovich"
-
-#: html/autohandler:150
-msgid "XXX CHANGEME You are not an authorized user"
-msgstr "MALKOVICH Malkovich a Malkovich"
-
-#: lib/RT/Ticket_Overlay.pm:3059
-msgid "You already own this ticket"
-msgstr "Malkovich Malkovich Malkovich"
-
-#: html/autohandler:142
-msgid "You are not an authorized user"
-msgstr "Malkovich a Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "You can access it with the Download button on the right."
-msgstr "Malkovich it with the Malkovich on the Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:2941
-msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "Malkovich Malkovich Malkovich Malkovich or Malkovich Malkovich"
-
-#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:760
-#. ($num, $queue)
-msgid "You found %1 tickets in queue %2"
-msgstr "Malkovich %1 Malkovich in Malkovich %2"
-
-#: html/NoAuth/Logout.html:30
-msgid "You have been logged out of RT."
-msgstr "Malkovich Malkovich of RT."
-
-#: html/SelfService/Display.html:79
-msgid "You have no permission to create tickets in that queue."
-msgstr "Malkovich no Malkovich to Malkovich in that Malkovich."
-
-#: lib/RT/Ticket_Overlay.pm:2095
-msgid "You may not create requests in that queue."
-msgstr "Malkovich Malkovich Malkovich in Malkovich."
-
-#: html/NoAuth/Logout.html:34
-msgid "You're welcome to login again"
-msgstr "You're Malkovich to Malkovich"
-
-#: etc/initialdata:502
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr "Malkovich Malkovich Malkovich by %1. Malkovich Malkovich be Malkovich."
-
-#: etc/initialdata:540
-msgid "Your request has been approved."
-msgstr "Malkovich Malkovich Malkovich."
-
-#: etc/initialdata:445
-msgid "Your request was rejected."
-msgstr "Malkovich Malkovich."
-
-#: html/autohandler:177
-msgid "Your username or password is incorrect"
-msgstr "Malkovich or Malkovich is Malkovich"
-
-#: html/Admin/Users/Modify.html:141 html/User/Prefs.html:127
-msgid "Zip"
-msgstr "Zip"
-
-#: html/User/Elements/DelegateRights:58
-#. ($right->PrincipalObj->Object->SelfDescription)
-msgid "as granted to %1"
-msgstr "as Malkovich to %1"
-
-#: html/SelfService/Closed.html:27
-msgid "closed"
-msgstr "Malkovich"
-
-#: html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectMatch:33
-msgid "contains"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "content"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "content-type"
-msgstr "Malkovich-type"
-
-#: html/Admin/Queues/Modify.html:76 lib/RT/Date.pm:319
-msgid "days"
-msgstr "days"
-
-#: lib/RT/Queue_Overlay.pm:64
-msgid "deleted"
-msgstr "Malkovich"
-
-#: html/Search/Elements/PickBasics:33
-msgid "does not match"
-msgstr "Malkovich"
-
-#: html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectMatch:34
-msgid "doesn't contain"
-msgstr "doesn't Malkovich"
-
-#: html/Elements/SelectEqualityOperator:37
-msgid "equal to"
-msgstr "Malkovich to"
-
-#: NOT FOUND IN SOURCE
-msgid "filename"
-msgstr "Malkovich"
-
-#: html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectEqualityOperator:37
-msgid "greater than"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:196
-#. ($self->Name)
-msgid "group '%1'"
-msgstr "Malkovich '%1'"
-
-#: lib/RT/Date.pm:315
-msgid "hours"
-msgstr "Malkovich"
-
-#: html/Elements/SelectBoolean:31 html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectMatch:35 html/Search/Elements/PickBasics:49 html/Search/Elements/PickBasics:80 html/Search/Elements/PickBasics:97 html/Search/Elements/PickCFs:37
-msgid "is"
-msgstr "is"
-
-#: html/Elements/SelectBoolean:35 html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectMatch:36 html/Search/Elements/PickBasics:50 html/Search/Elements/PickBasics:81 html/Search/Elements/PickBasics:98 html/Search/Elements/PickCFs:38
-msgid "isn't"
-msgstr "isn't"
-
-#: html/Elements/SelectCustomFieldOperator:37 html/Elements/SelectEqualityOperator:37
-msgid "less than"
-msgstr "Malkovich"
-
-#: html/Search/Elements/PickBasics:32
-msgid "matches"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:311
-msgid "min"
-msgstr "min"
-
-#: html/Ticket/Update.html:42
-msgid "minutes"
-msgstr "Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "modifications\\n\\n"
-msgstr "Malkovich\\n\\n"
-
-#: lib/RT/Date.pm:327
-msgid "months"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:59
-msgid "new"
-msgstr "new"
-
-#: html/Admin/Elements/EditCustomFields:42
-msgid "no name"
-msgstr "no name"
-
-#: html/Admin/Elements/EditScrips:42
-msgid "no value"
-msgstr "no Malkovich"
-
-#: html/Admin/Elements/EditQueueWatchers:26 html/Ticket/Elements/EditWatchers:27
-msgid "none"
-msgstr "none"
-
-#: html/Elements/SelectEqualityOperator:37
-msgid "not equal to"
-msgstr "Malkovich to"
-
-#: html/SelfService/Elements/MyRequests:61 lib/RT/Queue_Overlay.pm:60
-msgid "open"
-msgstr "open"
-
-#: lib/RT/Group_Overlay.pm:201
-#. ($self->Name, $user->Name)
-msgid "personal group '%1' for user '%2'"
-msgstr "Malkovich '%1' Malkovich '%2'"
-
-#: lib/RT/Group_Overlay.pm:209
-#. ($queue->Name, $self->Type)
-msgid "queue %1 %2"
-msgstr "Malkovich %1 %2"
-
-#: lib/RT/Queue_Overlay.pm:63
-msgid "rejected"
-msgstr "Malkovich"
-
-#: lib/RT/Queue_Overlay.pm:62
-msgid "resolved"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:307
-msgid "sec"
-msgstr "sec"
-
-#: lib/RT/Queue_Overlay.pm:61
-msgid "stalled"
-msgstr "Malkovich"
-
-#: lib/RT/Group_Overlay.pm:204
-#. ($self->Type)
-msgid "system %1"
-msgstr "Malkovich %1"
-
-#: lib/RT/Group_Overlay.pm:215
-#. ($self->Type)
-msgid "system group '%1'"
-msgstr "Malkovich '%1'"
-
-#: html/Elements/Error:42 html/SelfService/Error.html:41
-msgid "the calling component did not specify why"
-msgstr "the Malkovich Malkovich Malkovich Malkovich"
-
-#: NOT FOUND IN SOURCE
-msgid "ticket #%1"
-msgstr "Malkovich #%1"
-
-#: lib/RT/Group_Overlay.pm:212
-#. ($self->Instance, $self->Type)
-msgid "ticket #%1 %2"
-msgstr "Malkovich #%1 %2"
-
-#: lib/RT/Group_Overlay.pm:218
-#. ($self->Id)
-msgid "undescribed group %1"
-msgstr "Malkovich Malkovich %1"
-
-#: lib/RT/Group_Overlay.pm:193
-#. ($user->Object->Name)
-msgid "user %1"
-msgstr "user %1"
-
-#: lib/RT/Date.pm:323
-msgid "weeks"
-msgstr "Malkovich"
-
-#: lib/RT/Date.pm:331
-msgid "years"
-msgstr "Malkovich"
-
diff --git a/rt/lib/RT/I18N/no.po b/rt/lib/RT/I18N/no.po
deleted file mode 100644
index 113239724..000000000
--- a/rt/lib/RT/I18N/no.po
+++ /dev/null
@@ -1,6563 +0,0 @@
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: RT 3.5.x\n"
-"POT-Creation-Date: 2003-04-01 06:06+0200\n"
-"PO-Revision-Date: 2006-12-20 20:59+0100\n"
-"Last-Translator: Ronny Pettersen <ronny.pettersen@edb.com>\n"
-"Language-Team: rt-devel <rt-devel@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:70
-#. ($self->{CurrentSearch}{Object}->Description)
-msgid " %1 deleted."
-msgstr ""
-
-#: html/Widgets/SavedSearch:47
-#. ($self->{CurrentSearch}{Description}, $args->{Description})
-msgid " %1 renamed to %2."
-msgstr ""
-
-#: html/Widgets/SavedSearch:60
-#. ($args->{Description})
-msgid " %1 saved."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "#"
-msgstr "#"
-
-#: NOT FOUND IN SOURCE
-msgid "#%1"
-msgstr "#%1"
-
-#: html/Approvals/Elements/Approve:48 html/Approvals/Elements/ShowDependency:71 html/SelfService/Display.html:46 html/Ticket/Display.html:47 html/Ticket/Display.html:51
-#. ($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:105
-msgid "$1"
-msgstr "$1"
-
-#: lib/RT/Record.pm:940
-#. ($label)
-msgid "$prefix %1"
-msgstr "$prefix %1"
-
-#: lib/RT/URI/fsck_com_rt.pm:256
-#. ($self->ObjectType, $self->Object->Id)
-msgid "%1 #%2"
-msgstr ""
-
-#: lib/RT/Date.pm:365
-#. ($s, $time_unit)
-msgid "%1 %2"
-msgstr "%1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 %2 %3"
-msgstr "%1 %2 %3"
-
-#: lib/RT/Date.pm:401
-#. ($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 %3. %2 %7 %4:%5:%6"
-
-#: lib/RT/Record.pm:1685 lib/RT/Transaction_Overlay.pm:647 lib/RT/Transaction_Overlay.pm:690
-#. ($cf->Name, $new_value->Content)
-#. ($field, $self->NewValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 added"
-msgstr "%1 %2 lagt til"
-
-#: lib/RT/Date.pm:362
-#. ($s, $time_unit)
-msgid "%1 %2 ago"
-msgstr "%1 %2 siden"
-
-#: lib/RT/Record.pm:1692 lib/RT/Transaction_Overlay.pm:654
-#. ($cf->Name, $old_content, $new_value->Content)
-#. ($field, $self->OldValue, $self->NewValue)
-msgid "%1 %2 changed to %3"
-msgstr "%1 %2 ble endret til %3"
-
-#: lib/RT/Record.pm:1689 lib/RT/Transaction_Overlay.pm:650 lib/RT/Transaction_Overlay.pm:696
-#. ($cf->Name, $old_value->Content)
-#. ($field, $self->OldValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 deleted"
-msgstr "%1 %2 slettet"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 %2 of group %3"
-msgstr "%1 %2 av gruppen %3"
-
-#: html/Admin/Elements/EditScrips:65 html/Admin/Elements/ListGlobalScrips:63 html/Ticket/Elements/PreviewScrips:103
-#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
-msgid "%1 %2 with template %3"
-msgstr "%1 %2 med mal %3"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 (%2) %3 this ticket\\n"
-msgstr "%1 (%2) %3 denne saken\\n"
-
-#: html/Ticket/Elements/ShowAttachments:72
-#. ($rev->CreatedAsString, $size, $rev->CreatorObj->Name)
-msgid "%1 (%2) by %3"
-msgstr ""
-
-#: html/SelfService/Update.html:60 html/Ticket/Elements/EditBasics:108 html/Ticket/Update.html:61 html/Ticket/Update.html:63 html/Tools/MyDay.html:66
-#. (loc($DefaultStatus))
-#. (loc($Ticket->Status()))
-#. (loc($TicketObj->Status))
-#. ($TicketObj->OwnerObj->Name())
-msgid "%1 (Unchanged)"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "%1 - %2 shown"
-msgstr "%1 - %2 vist"
-
-#: bin/rt-crontool:237 bin/rt-crontool:244 bin/rt-crontool:250
-#. ("--search-argument", "--search")
-#. ("--condition-argument", "--condition")
-#. ("--action-argument", "--action")
-msgid "%1 - An argument to pass to %2"
-msgstr "%1 - Et parameter til %2"
-
-#: bin/rt-crontool:262
-#. ("--verbose")
-msgid "%1 - Output status updates to STDOUT"
-msgstr "%1 - Viser statusoppdateringer til STDOUT"
-
-#: bin/rt-crontool:253
-#. ("--template-id")
-msgid "%1 - Specify id of the template you want to use"
-msgstr ""
-
-#: bin/rt-crontool:256
-#. ("--transaction")
-msgid "%1 - Specify if you want to use either 'first' or 'last' tarnsaction"
-msgstr ""
-
-#: bin/rt-crontool:247
-#. ("--action")
-msgid "%1 - Specify the action module you want to use"
-msgstr "%1 - Oppgi kommandomodulen du ønsker å bruke"
-
-#: bin/rt-crontool:241
-#. ("--condition")
-msgid "%1 - Specify the condition module you want to use"
-msgstr "%1 - Oppgi betingelsesmodulen du ønsker å bruke"
-
-#: bin/rt-crontool:234
-#. ("--search")
-msgid "%1 - Specify the search module you want to use"
-msgstr "%1 - Oppgi søkemodulen du ønsker å bruke"
-
-#: bin/rt-crontool:259
-#. ("--transaction-type")
-msgid "%1 - Specify the type of a transaction you want to use"
-msgstr ""
-
-#: html/Elements/Footer:56
-#. ('&#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:150
-#. ($self->Id)
-msgid "%1 ScripAction loaded"
-msgstr "%1 KommandoScript lastet"
-
-#: lib/RT/Record.pm:1722
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 added as a value for %2"
-msgstr "%1 ble lagt til som verdi for %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on"
-msgstr "%1 alias trenger en ReferanseId å jobbe mot"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on "
-msgstr "%1 alias trenger en saksnummer å jobbe mot "
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on (from %2) %3"
-msgstr "%1 alias trenger et saksnummer å jobbe mot (fra %2) %3"
-
-#: lib/RT/Link_Overlay.pm:144 lib/RT/Link_Overlay.pm:151
-#. ($args{'Base'})
-#. ($args{'Target'})
-msgid "%1 appears to be a local object, but can't be found in the database"
-msgstr "%1 ser ut til å være et lokalt objekt, men kan ikke finnes i databasen"
-
-#: html/Ticket/Elements/ShowDates:73 lib/RT/Transaction_Overlay.pm:531
-#. ($self->BriefDescription , $self->CreatorObj->Name)
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
-msgid "%1 by %2"
-msgstr "%1 av %2"
-
-#: lib/RT/Transaction_Overlay.pm:788 lib/RT/Transaction_Overlay.pm:797 lib/RT/Transaction_Overlay.pm:800
-#. ($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 ble endret fra %2 til %3"
-
-#: html/Search/Build.html:213
-#. ($Description)
-msgid "%1 copy"
-msgstr "%1 kopi"
-
-#: lib/RT/Record.pm:944
-msgid "%1 could not be set to %2."
-msgstr "%1 kunne ikke settes til %2."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 couldn't init a transaction (%2)\\n"
-msgstr "%1 kunne ikke starte en transaksjon (%2)\\n"
-
-#: lib/RT/Ticket_Overlay.pm:2787
-#. ($self)
-msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr "%1 kunne ikke sette status til løst. RT-basen kan være inkonsistent."
-
-#: lib/RT/Transaction_Overlay.pm:571
-#. ($obj_type)
-msgid "%1 created"
-msgstr "%1 opprettet"
-
-#: lib/RT/Transaction_Overlay.pm:576
-#. ($obj_type)
-msgid "%1 deleted"
-msgstr "%1 slettet"
-
-#: etc/initialdata:593
-msgid "%1 highest priority tickets I own"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I own..."
-msgstr "Mine %1 høyst prioriterte saker..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I requested..."
-msgstr "Mine %1 høyst prioriterte forespørsler..."
-
-#: bin/rt-crontool:229
-#. ($0)
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1 er et verktøy for å behandle saker fra eksterne verktøy, slik som cron."
-
-#: lib/RT/Queue_Overlay.pm:863
-#. ($principal->Object->Name, $args{'Type'})
-msgid "%1 is no longer a %2 for this queue."
-msgstr "%1 er ikke lenger en %2 for denne køen."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 is no longer a %2 for this ticket."
-msgstr "%1 er ikke lenger en %2 for denne saken."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 is no longer a value for custom field %2"
-msgstr "%1 er ikke lenger en verdi for fleksifeltet %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 isn't a valid Queue id."
-msgstr "%1 er ikke et gyldig saksnummer."
-
-#: html/Ticket/Elements/ShowTime:47 html/Ticket/Elements/ShowTime:49
-#. ($minutes)
-msgid "%1 min"
-msgstr "%1 min"
-
-#: etc/initialdata:601
-msgid "%1 newest unowned tickets"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "%1 not shown"
-msgstr "%1 vises ikke"
-
-#: lib/RT/CustomField_Overlay.pm:893
-msgid "%1 objects"
-msgstr ""
-
-#: html/User/Elements/DelegateRights:97
-#. (loc($ObjectType =~ /^RT::(.*)$/))
-msgid "%1 rights"
-msgstr "%1 rettigheter"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 succeeded\\n"
-msgstr "%1 var velykket\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 type unknown for $MessageId"
-msgstr "%1 er ukjent type for $saksnummer"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 type unknown for %2"
-msgstr "%1 er ukjent type for %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 was created without a CurrentUser\\n"
-msgstr "%1 ble opprettet uten en aktiv bruker\\n"
-
-#: lib/RT/Action/ResolveMembers.pm:63
-#. (ref $self)
-msgid "%1 will resolve all members of a resolved group ticket."
-msgstr "%1 vil løse alle medlemmer av en løst gruppesak."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 will stall a [local] BASE if it's dependent [or member] of a linked up request."
-msgstr "%1 vil stoppe en [lokal] BASE hvis den er avhengig av/medlem av en tilkoblet sak."
-
-#: lib/RT/CustomField_Overlay.pm:894
-msgid "%1's %2 objects"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:895
-msgid "%1's %2's %3 objects"
-msgstr ""
-
-#: html/Search/Elements/SearchPrivacy:52 html/Search/Elements/SelectSearchObject:55 html/Search/Elements/SelectSearchesForObjects:57
-#. ($object->Name)
-#. ($Object->Name)
-msgid "%1's saved searches"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:481
-#. ($self)
-msgid "%1: no attachment specified"
-msgstr "%1: ingen vedlegg oppgitt"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:78
-#. ($size)
-msgid "%1b"
-msgstr "%1b"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:75
-#. (int( $size / 102.4 ) / 10)
-msgid "%1k"
-msgstr "%1k"
-
-#: html/Ticket/Elements/ShowTime:49
-#. (sprintf("%.1f",$minutes / 60))
-msgid "%quant(%1,hour)"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:1142
-#. ($args{'Status'})
-msgid "'%1' is an invalid value for status"
-msgstr "'%1' er en ugyldig statusverdi"
-
-#: NOT FOUND IN SOURCE
-msgid "'%1' not a recognized action. "
-msgstr "'%1' er ikke en kjent handling"
-
-#: NOT FOUND IN SOURCE
-msgid "(Check box to delete group member)"
-msgstr "(Merk for å slette gruppemedlem)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Check box to delete scrip)"
-msgstr "(Merk for å slette Scrip)"
-
-#: html/Admin/Elements/EditCustomFieldValues:50 html/Admin/Elements/EditQueueWatchers:50 html/Admin/Elements/EditScrips:56 html/Admin/Elements/EditTemplates:57 html/Admin/Groups/Members.html:73 html/Elements/EditLinks:54 html/Ticket/Elements/EditPeople:67 html/User/Groups/Members.html:76
-msgid "(Check box to delete)"
-msgstr "(Merk for å slette)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Check boxes to delete)"
-msgstr "(Merk boksene for å slette)"
-
-#: html/Ticket/Elements/PreviewScrips:99
-msgid "(Check boxes to disable notifications to the listed recipients)"
-msgstr ""
-
-#: html/Ticket/Elements/PreviewScrips:123
-msgid "(Check boxes to enable notifications to the listed recipients)"
-msgstr ""
-
-#: html/Ticket/Create.html:218
-msgid "(Enter ticket ids or URLs, separated with spaces)"
-msgstr "(Skriv inn referansenummer eller URler, separert med mellomrom)"
-
-#: html/Admin/Queues/Modify.html:75 html/Admin/Queues/Modify.html:81
-#. ($RT::CorrespondAddress)
-#. ($RT::CommentAddress)
-msgid "(If left blank, will default to %1)"
-msgstr "(Settes til standard %1 hvis blank)"
-
-#: NOT FOUND IN SOURCE
-msgid "(No Value)"
-msgstr "(Ingen Verdi)"
-
-#: html/Admin/Elements/EditCustomFields:74 html/Admin/Elements/ListGlobalCustomFields:53
-msgid "(No custom fields)"
-msgstr "(Ingen fleksifelt)"
-
-#: html/Admin/Groups/Members.html:71 html/User/Groups/Members.html:74
-msgid "(No members)"
-msgstr "(Ingen medlemmer)"
-
-#: html/Admin/Elements/EditScrips:53 html/Admin/Elements/ListGlobalScrips:48
-msgid "(No scrips)"
-msgstr "(Ingen scrips)"
-
-#: html/Admin/Elements/EditTemplates:52
-msgid "(No templates)"
-msgstr "(Ingen maler)"
-
-#: html/Admin/Elements/PickCustomFields:47 html/Admin/Elements/PickObjects:47
-msgid "(None)"
-msgstr ""
-
-#: 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 "(Sender en kopi av denne oppdateringen til en kommaseparert liste med epostaddresser. Endrer <b>ikke</b> hvem som vil motta fremtidige oppdatreinger.)"
-
-#: 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 "(Sender en kopi av denne oppdateringen til en kommaseparert liste med epostaddresser. Endrer <b>ikke</b> hvem som vil motta fremtidige oppdateringer.)"
-
-#: html/Ticket/Update.html:90
-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 ""
-
-#: 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 "(Sender en kopi av denne oppdateringen til en kommaseparert liste av administrative epostaddresser. Disse vil <b>vil</b> motta fremtidige oppdateringer.)"
-
-#: html/Ticket/Create.html:103
-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 ""
-
-#: 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 "(Sender en kopi av denne oppdateringen til en komma-separert liste av epostaddresser. Endrer <b>ikke</b> hvem som vil motta fremtidige oppdateringer.)"
-
-#: 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 "(Sender en kopi av denne oppdateringen til en kommaseparert liste med epost-addresser. Endrer <b->ikke</b> hvem som vi motta fremtige utfordrer dere nå."
-
-#: html/Ticket/Update.html:86
-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 ""
-
-#: 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 "(Sender en kopi av dette oppdateringen til en kommaseparert liste med epostaddresser. Disse <b>vill</b> motta fremtidige oppdateringer.)"
-
-#: html/Ticket/Create.html:93
-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:96
-msgid "(Use these fields when you choose 'User Defined' for a condition or action)"
-msgstr ""
-
-#: html/Ticket/Elements/EditWatchers:60 html/Ticket/Elements/ShowUserEntry:53
-msgid "(Will not be sent email)"
-msgstr ""
-
-#: html/Admin/Groups/index.html:57 html/User/Groups/index.html:54
-msgid "(empty)"
-msgstr "(tom)"
-
-#: html/Admin/Users/index.html:60
-msgid "(no name listed)"
-msgstr "(navn ikke oppgitt)"
-
-#: NOT FOUND IN SOURCE
-msgid "(no subject)"
-msgstr "(ingen overskrift)"
-
-#: html/Admin/Elements/SelectRights:72 html/Elements/EditCustomFieldSelect:69 html/Elements/SelectCustomFieldValue:51 html/Elements/ShowCustomFields:54 html/Search/Chart:56 html/Search/Elements/Chart:76 lib/RT/Transaction_Overlay.pm:591
-msgid "(no value)"
-msgstr "(ingen verdi)"
-
-#: html/Admin/Elements/EditCustomFieldValues:47
-msgid "(no values)"
-msgstr ""
-
-#: html/Elements/EditLinks:132 html/Ticket/Elements/BulkLinks:49
-msgid "(only one ticket)"
-msgstr "(bare en sak)"
-
-#: html/Elements/RT__Ticket/ColumnMap:149
-msgid "(pending approval)"
-msgstr "(Venter på godkjenning)"
-
-#: html/Elements/RT__Ticket/ColumnMap:152
-msgid "(pending other Collection)"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "(pending other tickets)"
-msgstr "(venter på andre saker)"
-
-#: NOT FOUND IN SOURCE
-msgid "(requestor's group)"
-msgstr "(kundens gruppe)"
-
-#: html/Admin/Users/Modify.html:71
-msgid "(required)"
-msgstr "(nødvendig)"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "(untitled)"
-msgstr "(ingen tittel)"
-
-#: html/Ticket/Elements/Reminders:133
-msgid "(yyyy/mm/dd)"
-msgstr ""
-
-#: html/Elements/EditCustomFieldSelect:57
-msgid "-"
-msgstr ""
-
-#: bin/rt-crontool:95
-msgid "--transaction argument could be only 'first' or 'last'"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "25 highest priority tickets I own..."
-msgstr "Mine 25 høyst prioriterte saker..."
-
-#: NOT FOUND IN SOURCE
-msgid "25 highest priority tickets I requested..."
-msgstr "Mine 25 høyst priorterte forespørsler..."
-
-#: html/Ticket/Elements/ShowBasics:53
-msgid "<% $Ticket->Status%>"
-msgstr "<% $Ticket-:Status%>"
-
-#: html/Elements/SelectTicketTypes:48
-msgid "<% $_ %>"
-msgstr "<% $_ %>"
-
-#: html/Search/Elements/SelectLinks:48
-msgid "<%$_%>"
-msgstr ""
-
-#: html/Search/Elements/DisplayOptions:73
-msgid "<%$field%>"
-msgstr ""
-
-#: html/Elements/CreateTicket:47
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" class=\"button\" value=\"New ticket in\" />&nbsp;%1"
-msgstr ""
-
-#: docs/design_docs/string-extraction-guide.txt:54 lib/RT/StyleGuide.pod:787
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
-msgstr "<input type=\"submit\" value=\"Ny sak i\">&nbsp;%1"
-
-#: NOT FOUND IN SOURCE
-msgid "??????"
-msgstr "??????"
-
-#: etc/initialdata:218
-msgid "A blank template"
-msgstr "En tom mal"
-
-#: html/Admin/Users/Modify.html:371
-msgid "A password was not set, so user won't be able to login."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "ACE Deleted"
-msgstr "ACE slettet"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE Loaded"
-msgstr "ACE lastet"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE could not be deleted"
-msgstr "ACE kunne ikke slettes"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE could not be found"
-msgstr "fant ikke ACE"
-
-#: lib/RT/ACE_Overlay.pm:174 lib/RT/Principal_Overlay.pm:219
-msgid "ACE not found"
-msgstr "ACE ikke funnet"
-
-#: lib/RT/ACE_Overlay.pm:853
-msgid "ACEs can only be created and deleted."
-msgstr "ACEr kan bare opprettes og slettes."
-
-#: html/Search/Elements/SelectAndOr:46
-msgid "AND"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Aborting to avoid unintended ticket modifications.\\n"
-msgstr "Avbryter for å ungå uånsket saksendring"
-
-#: html/User/Elements/Tabs:53
-msgid "About me"
-msgstr "Om meg"
-
-#: html/Admin/Users/Modify.html:106
-msgid "Access control"
-msgstr "Aksesskontroll"
-
-#: html/Admin/Elements/EditScrip:65
-msgid "Action"
-msgstr "Handling"
-
-#: lib/RT/Scrip_Overlay.pm:172
-#. ($args{'ScripAction'})
-msgid "Action %1 not found"
-msgstr "Handling %1 finnes ikke"
-
-#: NOT FOUND IN SOURCE
-msgid "Action committed."
-msgstr "Handling skrevet."
-
-#: bin/rt-crontool:171
-msgid "Action committed.\\n"
-msgstr ""
-
-#: lib/RT/Scrip_Overlay.pm:168
-msgid "Action is mandatory argument"
-msgstr ""
-
-#: bin/rt-crontool:167
-msgid "Action prepared..."
-msgstr "Handling forberedt"
-
-#: html/Search/Build.html:85
-msgid "Add"
-msgstr ""
-
-#: html/Search/Bulk.html:92
-msgid "Add AdminCc"
-msgstr "Legg til AdminCc"
-
-#: html/Search/Bulk.html:88
-msgid "Add Cc"
-msgstr "Legg til Cc"
-
-#: html/Search/Elements/EditFormat:49
-msgid "Add Columns"
-msgstr ""
-
-#: html/Search/Elements/PickCriteria:46
-msgid "Add Criteria"
-msgstr ""
-
-#: html/Ticket/Create.html:147 html/Ticket/Update.html:116
-msgid "Add More Files"
-msgstr "Legg til flere filer"
-
-#: NOT FOUND IN SOURCE
-msgid "Add Next State"
-msgstr "Legg til neste status"
-
-#: html/Search/Bulk.html:84
-msgid "Add Requestor"
-msgstr "Legg til kunde"
-
-#: html/Admin/Elements/AddCustomFieldValue:46
-msgid "Add Value"
-msgstr "Legg til verdi"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a Scrip to this queue"
-msgstr "Legg til Scrip i denne køen"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a Scrip which will apply to all queues"
-msgstr "Legg til et Scrip som gjelder for alle køer"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a keyword selection to this queue"
-msgstr "Legg til et nøkkelordvalg på denne køen"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a new a global scrip"
-msgstr "Legg til et globalt Scrip"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a scrip to this queue"
-msgstr "Legg til et Scrip til denne køen"
-
-#: html/Admin/Global/Scrip.html:83
-msgid "Add a scrip which will apply to all queues"
-msgstr "Legg til et Scrip som vil gjelde for alle køer"
-
-#: html/Search/Build.html:109 html/Search/Build.html:94
-msgid "Add and Search"
-msgstr ""
-
-#: html/Search/Bulk.html:124
-msgid "Add comments or replies to selected tickets"
-msgstr "Legg til kommentarer eller svar til denne saken"
-
-#: html/Admin/Groups/Members.html:63 html/User/Groups/Members.html:60
-msgid "Add members"
-msgstr "Legg til medlemmer"
-
-#: html/Admin/Queues/People.html:87 html/Ticket/Elements/AddWatchers:49
-msgid "Add new watchers"
-msgstr "Legg til overvåkere"
-
-#: html/Search/Build.html:85
-msgid "Add these terms to your search"
-msgstr ""
-
-#: html/Search/Bulk.html:158
-msgid "Add values"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "Add, delete and modify custom field values for objects"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "AddNextState"
-msgstr "AddNextState"
-
-#: lib/RT/Queue_Overlay.pm:763
-#. ($args{'Type'})
-msgid "Added principal as a %1 for this queue"
-msgstr "La til primær som en %1 for denne køen"
-
-#: lib/RT/Ticket_Overlay.pm:1455
-#. ($self->loc($args{'Type'}))
-msgid "Added principal as a %1 for this ticket"
-msgstr "La til primær som en %1 for denne saken"
-
-#: html/Admin/Users/Modify.html:146 html/User/Prefs.html:133
-msgid "Address1"
-msgstr "Adresse1"
-
-#: html/Admin/Users/Modify.html:151 html/User/Prefs.html:137
-msgid "Address2"
-msgstr "Adresse2"
-
-#: html/Ticket/Create.html:98
-msgid "Admin Cc"
-msgstr "Admin Cc"
-
-#: etc/initialdata:295
-msgid "Admin Comment"
-msgstr "Admin Kommentar"
-
-#: etc/initialdata:274
-msgid "Admin Correspondence"
-msgstr "Admin-korrespondanse"
-
-#: html/Admin/Queues/index.html:46 html/Admin/Queues/index.html:49
-msgid "Admin queues"
-msgstr "Adminkøer"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin users"
-msgstr "Adminbrukere"
-
-#: html/Admin/Global/index.html:47 html/Admin/Global/index.html:49
-msgid "Admin/Global configuration"
-msgstr "Admin/Global konfigurasjon"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Groups"
-msgstr "Admin/Grupper"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Queue/Basics"
-msgstr "Admin/Køer/Grunnleggende"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminAllPersonalGroups"
-msgstr "AdminAllePersonalGrupper"
-
-#: etc/initialdata:56 html/Ticket/Elements/ShowPeople:60 lib/RT/ACE_Overlay.pm:113
-msgid "AdminCc"
-msgstr "AdminCc"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminComment"
-msgstr "AdminKommentar"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminCorrespondence"
-msgstr "AdminKorrespondanse"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "AdminCustomField"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "AdminCustomFields"
-msgstr "AdminFleksifelt"
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "AdminGroup"
-msgstr "AdminGruppe"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "AdminGroupMembership"
-msgstr "AdminGruppeMedlemskap"
-
-#: lib/RT/System.pm:80
-msgid "AdminOwnPersonalGroups"
-msgstr "AdminEgnePersonligeGrupper"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "AdminQueue"
-msgstr "AdminKø"
-
-#: lib/RT/System.pm:81
-msgid "AdminUsers"
-msgstr "AdminBrukere"
-
-#: html/Admin/Queues/People.html:69 html/Ticket/Elements/EditPeople:75
-msgid "Administrative Cc"
-msgstr "Administrativ Cc"
-
-#: NOT FOUND IN SOURCE
-msgid "Admins"
-msgstr "Admin"
-
-#: html/Ticket/Elements/Tabs:216
-msgid "Advanced"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Advanced Search"
-msgstr "Avansert Søk"
-
-#: html/Elements/SelectDateRelation:57
-msgid "After"
-msgstr "Etter"
-
-#: NOT FOUND IN SOURCE
-msgid "Age"
-msgstr "Alder"
-
-#: html/Search/Elements/PickCriteria:52
-msgid "Aggregator"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Alias"
-msgstr "Alias"
-
-#: NOT FOUND IN SOURCE
-msgid "Alias for"
-msgstr "Alias for"
-
-#: etc/initialdata:363
-msgid "All Approvals Passed"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "All Custom Fields"
-msgstr "Alle Fleksifelt"
-
-#: html/Admin/Queues/index.html:75
-msgid "All Queues"
-msgstr "Alle køer"
-
-#: NOT FOUND IN SOURCE
-msgid "Always sends a message to the requestors independent of message sender"
-msgstr "Send alltid en melding til kunden uavhengig av meldingssender"
-
-#: html/Search/Elements/EditQuery:56
-msgid "And/Or"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:73 html/Admin/Elements/CustomFieldTabs:83
-msgid "Applies to"
-msgstr ""
-
-#: html/Search/Edit.html:64
-msgid "Apply"
-msgstr ""
-
-#: html/Search/Edit.html:64
-msgid "Apply your changes"
-msgstr ""
-
-#: html/Elements/Tabs:77
-msgid "Approval"
-msgstr "Godkjennelse"
-
-#: html/Approvals/Display.html:65 html/Approvals/Elements/ShowDependency:63 html/Approvals/index.html:86
-#. ($Ticket->Id, $Ticket->Subject)
-#. ($ticket->id, $msg)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Approval #%1: %2"
-msgstr "Godkjennelse #%1: %2"
-
-#: html/Approvals/index.html:75
-#. ($ticket->Id)
-msgid "Approval #%1: Notes not recorded due to a system error"
-msgstr "Godkjenning # %1: Notater kunne ikke lagres pga. systemfeil"
-
-#: html/Approvals/index.html:73
-#. ($ticket->Id)
-msgid "Approval #%1: Notes recorded"
-msgstr "Godkjenning #%1: Notater lagret"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Details"
-msgstr "Godkjenning - Detaljer"
-
-#: etc/initialdata:351
-msgid "Approval Passed"
-msgstr ""
-
-#: etc/initialdata:374
-msgid "Approval Rejected"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Approval diagram"
-msgstr "Godkjenningsdiagram"
-
-#: html/Approvals/Elements/Approve:69
-msgid "Approve"
-msgstr "Godkjenn"
-
-#: etc/initialdata:504
-msgid "Approver's notes: %1"
-msgstr "Godkjenners notater: %1"
-
-#: lib/RT/Date.pm:444
-msgid "Apr."
-msgstr "Apr."
-
-#: NOT FOUND IN SOURCE
-msgid "April"
-msgstr "April"
-
-#: html/Search/Elements/DisplayOptions:81
-msgid "Asc"
-msgstr ""
-
-#: html/Elements/SelectSortOrder:56
-msgid "Ascending"
-msgstr "Stigende"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "Assign and remove custom fields"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "AssignCustomFields"
-msgstr ""
-
-#: html/Search/Bulk.html:142 html/SelfService/Update.html:87 html/Ticket/ModifyAll.html:115 html/Ticket/Update.html:116
-msgid "Attach"
-msgstr "Legg Ved"
-
-#: html/SelfService/Create.html:92 html/Ticket/Create.html:143
-msgid "Attach file"
-msgstr "Legg ved fil"
-
-#: html/SelfService/Update.html:75 html/Ticket/Create.html:131 html/Ticket/Update.html:94
-msgid "Attached file"
-msgstr "Vedlagt fil"
-
-#: html/Ticket/ShowEmailRecord.html:52 html/Ticket/ShowEmailRecord.html:56 html/Ticket/ShowEmailRecord.html:59
-#. ($Attachment)
-msgid "Attachment '%1' could not be loaded"
-msgstr "Vedlegg '%1' kunne ikke lastes"
-
-#: lib/RT/Transaction_Overlay.pm:489
-msgid "Attachment created"
-msgstr "Vedlegg opprettet"
-
-#: lib/RT/Tickets_Overlay.pm:1945
-msgid "Attachment filename"
-msgstr "Vedleggsnavn"
-
-#: html/Ticket/Elements/ShowAttachments:47
-msgid "Attachments"
-msgstr "Vedlegg"
-
-#: lib/RT/Attributes_Overlay.pm:171
-msgid "Attribute Deleted"
-msgstr ""
-
-#: lib/RT/Date.pm:448
-msgid "Aug."
-msgstr "Aug."
-
-#: NOT FOUND IN SOURCE
-msgid "August"
-msgstr "August"
-
-#: NOT FOUND IN SOURCE
-msgid "AuthSystem"
-msgstr "AutSystem"
-
-#: etc/initialdata:221
-msgid "Autoreply"
-msgstr "Autosvar"
-
-#: etc/initialdata:72
-msgid "Autoreply To Requestors"
-msgstr "Autosvar Til Kunde"
-
-#: NOT FOUND IN SOURCE
-msgid "AutoreplyToRequestors"
-msgstr "AutosvarTilKunde"
-
-#: html/Widgets/SelectionBox:185
-msgid "Available"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Bad PGP Signature: %1\\n"
-msgstr "Ugyldig PGP-signatur: %1\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad attachment id. Couldn't find attachment '%1'\\n"
-msgstr "Ugyldig vedleggsid. Kunne ikke finne vedlegg '%1'\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad data in %1"
-msgstr "Ugyldig data i %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad transaction number for attachment. %1 should be %2\\n"
-msgstr "Ugyldig transaksjonsnummer for vedlegg. %1 skulle vært %2\\n"
-
-#: html/Admin/Elements/CustomFieldTabs:65 html/Admin/Elements/GroupTabs:60 html/Admin/Elements/QueueTabs:60 html/Admin/Elements/UserTabs:58 html/Ticket/Elements/Tabs:113 html/User/Elements/GroupTabs:59
-msgid "Basics"
-msgstr "Detaljer"
-
-#: html/Ticket/Update.html:88
-msgid "Bcc"
-msgstr "Bcc"
-
-#: html/Admin/CustomFields/GroupRights.html:91 html/Admin/CustomFields/UserRights.html:74 html/Admin/Elements/EditScrip:89
-msgid "Be sure to save your changes"
-msgstr "Sørg for å lagre endringene dine"
-
-#: html/Elements/SelectDateRelation:55 lib/RT/CurrentUser.pm:361
-msgid "Before"
-msgstr "Før"
-
-#: NOT FOUND IN SOURCE
-msgid "Begin Approval"
-msgstr "Begynn Godkjenning"
-
-#: html/Elements/Logo:47
-msgid "Best Practical Solutions, LLC corporate logo"
-msgstr ""
-
-#: etc/initialdata:217
-msgid "Blank"
-msgstr "Blank"
-
-#: html/Search/Elements/EditFormat:84
-msgid "Bold"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Bookmarkable URL for this search"
-msgstr "URL som kan brukes som bokmerke for dette søket"
-
-#: html/Search/Results.html:79
-msgid "Bookmarkable link"
-msgstr ""
-
-#: html/Ticket/Elements/ShowHistory:64 html/Ticket/Elements/ShowHistory:69
-msgid "Brief headers"
-msgstr "Begrens headere"
-
-#: html/Ticket/Elements/Tabs:227
-msgid "Bulk Update"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Bulk ticket update"
-msgstr "Masseoppdatering av saker"
-
-#: lib/RT/User_Overlay.pm:1853
-msgid "Can not modify system users"
-msgstr "Kan ikke endre systembrukere"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "Can this principal see this queue"
-msgstr "Kan denne primæren se denne køen"
-
-#: lib/RT/CustomField_Overlay.pm:379
-msgid "Can't add a custom field value without a name"
-msgstr "Kan ikke legge til en verdi for et fleksifelt uten navn"
-
-#: html/Admin/CustomFields/Objects.html:86
-#. ($Class)
-msgid "Can't find a collection class for '%1'"
-msgstr ""
-
-#: html/Search/Build.html:286
-msgid "Can't find a saved search to work with"
-msgstr ""
-
-#: lib/RT/Link_Overlay.pm:159
-msgid "Can't link a ticket to itself"
-msgstr "Kan ikke koble en sak til seg selv"
-
-#: NOT FOUND IN SOURCE
-msgid "Can't merge into a merged ticket. You should never get this error"
-msgstr "Kan ikke flette inn i en flettet sak. Denne meldingen bør ikke forekomme"
-
-#: html/Widgets/SavedSearch:63
-#. (loc($self->{SearchType}))
-msgid "Can't save %1"
-msgstr ""
-
-#: html/Search/Build.html:290
-msgid "Can't save this search"
-msgstr ""
-
-#: lib/RT/Record.pm:1282 lib/RT/Record.pm:1358
-msgid "Can't specifiy both base and target"
-msgstr "Kan ikke spesifisere både base og mål."
-
-#: html/autohandler:204
-#. ($msg)
-msgid "Cannot create user: %1"
-msgstr "Kunne ikke oprette bruker: %1"
-
-#: html/Admin/Elements/AddCustomFieldValue:62 html/Admin/Elements/EditCustomFieldValues:58
-msgid "Category"
-msgstr ""
-
-#: etc/initialdata:50 html/Admin/Queues/People.html:65 html/SelfService/Create.html:71 html/Ticket/Create.html:88 html/Ticket/Elements/EditPeople:72 html/Ticket/Elements/ShowPeople:56 html/Ticket/Update.html:83 lib/RT/ACE_Overlay.pm:112
-msgid "Cc"
-msgstr "Cc"
-
-#: html/SelfService/Prefs.html:52
-msgid "Change password"
-msgstr "Endre passord"
-
-#: html/Elements/Submit:78
-msgid "Check All"
-msgstr ""
-
-#: html/SelfService/Update.html:78 html/Ticket/Create.html:134 html/Ticket/Update.html:97
-msgid "Check box to delete"
-msgstr "Merk for å slette"
-
-#: html/Admin/Elements/SelectRights:55
-msgid "Check box to revoke right"
-msgstr "Merk for å trekke tilbake rettighet"
-
-#: html/Elements/EditLinks:148 html/Elements/EditLinks:85 html/Elements/ShowLinks:78 html/Ticket/Create.html:223 html/Ticket/Elements/BulkLinks:64
-msgid "Children"
-msgstr "Barn"
-
-#: html/NoAuth/js/util.js:201
-msgid "Choose a date"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:156 html/User/Prefs.html:141
-msgid "City"
-msgstr "By"
-
-#: html/Elements/Submit:80
-msgid "Clear All"
-msgstr ""
-
-#: html/Helpers/CalPopup.html:51
-msgid "Close window"
-msgstr ""
-
-#: html/Ticket/Elements/ShowDates:68
-msgid "Closed"
-msgstr "Lukket"
-
-#: NOT FOUND IN SOURCE
-msgid "Closed Tickets"
-msgstr "Lukkede Saker"
-
-#: NOT FOUND IN SOURCE
-msgid "Closed requests"
-msgstr "Lukkede forespørsler"
-
-#: html/SelfService/Closed.html:46 html/SelfService/Elements/Tabs:78
-msgid "Closed tickets"
-msgstr "Lukkede saker"
-
-#: NOT FOUND IN SOURCE
-msgid "Code"
-msgstr "Kode"
-
-#: lib/RT/CustomField_Overlay.pm:89
-msgid "Combobox: Select or enter multiple values"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:90
-msgid "Combobox: Select or enter one value"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:91
-msgid "Combobox: Select or enter up to %1 values"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Command not understood!\\n"
-msgstr "Kunne ikke tolke kommando!\\n"
-
-#: html/Ticket/Elements/ShowTransaction:190 html/Ticket/Elements/Tabs:185
-msgid "Comment"
-msgstr "Kommenter"
-
-#: html/Admin/Queues/Modify.html:79
-msgid "Comment Address"
-msgstr "Kommentaraddresse"
-
-#: NOT FOUND IN SOURCE
-msgid "Comment not recorded"
-msgstr "Kommentaren ble ikke lagret"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "Comment on tickets"
-msgstr "Kommenter saker"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "CommentOnTicket"
-msgstr "KommenterSak"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments"
-msgstr "Kommentarer"
-
-#: html/Ticket/ModifyAll.html:91 html/Ticket/Update.html:75
-msgid "Comments (Not sent to requestors)"
-msgstr "Kommentarer (Ikke send til kunder)"
-
-#: html/Search/Bulk.html:128
-msgid "Comments (not sent to requestors)"
-msgstr "Kommentarer (ikke sendt til kunder)"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments about %1"
-msgstr "Kommentarer til %1"
-
-#: html/Admin/Users/Modify.html:225 html/Ticket/Elements/ShowRequestor:67
-msgid "Comments about this user"
-msgstr "Kommentarer om denne brukeren"
-
-#: lib/RT/Transaction_Overlay.pm:634
-msgid "Comments added"
-msgstr "La til kommentarer "
-
-#: lib/RT/Action/Generic.pm:175
-msgid "Commit Stubbed"
-msgstr "Lagring forkortet"
-
-#: NOT FOUND IN SOURCE
-msgid "Compile Restrictions"
-msgstr "Kompilatorrestriksjoner"
-
-#: html/Admin/Elements/EditScrip:59
-msgid "Condition"
-msgstr "Forutsetning"
-
-#: lib/RT/Scrip_Overlay.pm:184
-msgid "Condition is mandatory argument"
-msgstr ""
-
-#: bin/rt-crontool:151
-msgid "Condition matches..."
-msgstr "Forutsetning gjelder..."
-
-#: lib/RT/Scrip_Overlay.pm:188
-msgid "Condition not found"
-msgstr "Forutsetning ikke funnet"
-
-#: html/Elements/Tabs:84
-msgid "Configuration"
-msgstr "Konfigurasjon"
-
-#: html/SelfService/Prefs.html:54
-msgid "Confirm"
-msgstr "Bekreft"
-
-#: NOT FOUND IN SOURCE
-msgid "ContactInfoSystem"
-msgstr "KontaktInfoSystem"
-
-#: NOT FOUND IN SOURCE
-msgid "Contacted date '%1' could not be parsed"
-msgstr "Kontatdato '%1' kunne ikke tolkes"
-
-#: html/Admin/Elements/ModifyTemplate:65 html/Elements/SelectAttachmentField:48 html/Ticket/ModifyAll.html:119
-msgid "Content"
-msgstr "Innhold"
-
-#: html/Elements/SelectAttachmentField:49
-msgid "Content-Type"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Coould not create group"
-msgstr "Kunne ikke opprette gruppen"
-
-#: html/Search/Elements/EditSearches:65
-msgid "Copy"
-msgstr ""
-
-#: etc/initialdata:286
-msgid "Correspondence"
-msgstr "Korrespondanse"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence Address"
-msgstr "Korrespondanseaddresse"
-
-#: lib/RT/Transaction_Overlay.pm:630
-msgid "Correspondence added"
-msgstr "Korrespondanse lagt til"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence not recorded"
-msgstr "Korrespondansen ble ikke lagret"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value for ticket. "
-msgstr "Kunne ikke legge til nye fleksifeltverdier for saken. "
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value for ticket. %1 "
-msgstr "Kunne ikke legge til nye fleksifeltverdier for saken. %1 "
-
-#: lib/RT/Record.pm:1707
-msgid "Could not add new custom field value. "
-msgstr ""
-
-#: lib/RT/Record.pm:1660
-#. (, $value_msg)
-msgid "Could not add new custom field value. %1 "
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:3048 lib/RT/Ticket_Overlay.pm:3056 lib/RT/Ticket_Overlay.pm:3073
-msgid "Could not change owner. "
-msgstr "Kunne ikke endre eier. "
-
-#: html/Admin/CustomFields/Modify.html:161
-#. ($msg)
-msgid "Could not create CustomField"
-msgstr "Kunne ikke opprette fleksifelt"
-
-#: html/Admin/Elements/EditCustomField:113
-#. ($msg)
-msgid "Could not create CustomField: %1"
-msgstr ""
-
-#: html/User/Groups/Modify.html:98 lib/RT/Group_Overlay.pm:494 lib/RT/Group_Overlay.pm:501
-msgid "Could not create group"
-msgstr "Kunne ikke opprette gruppe"
-
-#: html/Admin/Global/Template.html:96 html/Admin/Queues/Template.html:93
-#. ($msg)
-msgid "Could not create template: %1"
-msgstr "Kunne ikke opprette mal: %1"
-
-#: lib/RT/Ticket_Overlay.pm:1075 lib/RT/Ticket_Overlay.pm:407
-msgid "Could not create ticket. Queue not set"
-msgstr "Kunne ikke opprette sak. Kø ikke satt"
-
-#: lib/RT/User_Overlay.pm:255 lib/RT/User_Overlay.pm:269 lib/RT/User_Overlay.pm:278 lib/RT/User_Overlay.pm:287 lib/RT/User_Overlay.pm:296 lib/RT/User_Overlay.pm:310 lib/RT/User_Overlay.pm:320 lib/RT/User_Overlay.pm:496
-msgid "Could not create user"
-msgstr "Kunne ikke opprette bruker"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create watcher for requestor"
-msgstr "Kunne ikke opprette overvåker for kunde"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find a ticket with id %1"
-msgstr "Kunne ikke finne en sak med id %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find group %1."
-msgstr "Kunne ikke finne gruppen %1."
-
-#: lib/RT/Queue_Overlay.pm:741 lib/RT/Ticket_Overlay.pm:1423
-msgid "Could not find or create that user"
-msgstr "Kunne ikke finne eller lage den brukeren"
-
-#: lib/RT/Queue_Overlay.pm:802 lib/RT/Ticket_Overlay.pm:1504
-msgid "Could not find that principal"
-msgstr "Kunne ikke finne den primæren"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find user %1."
-msgstr "Kunne ikke finne brukeren %1."
-
-#: html/Admin/CustomFields/Objects.html:69
-msgid "Could not load CustomField %1"
-msgstr ""
-
-#: html/Admin/Groups/Members.html:112 html/User/Groups/Members.html:111 html/User/Groups/Modify.html:103
-msgid "Could not load group"
-msgstr "Kunne ikke hente gruppen"
-
-#: lib/RT/SavedSearch.pm:119
-#. ($privacy)
-msgid "Could not load object for %1"
-msgstr ""
-
-#: lib/RT/SavedSearch.pm:197
-msgid "Could not load search attribute"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:761
-#. ($args{'Type'})
-msgid "Could not make that principal a %1 for this queue"
-msgstr "Kunne ikke sette den primæren som %1 for denne køen"
-
-#: lib/RT/Ticket_Overlay.pm:1444
-#. ($self->loc($args{'Type'}))
-msgid "Could not make that principal a %1 for this ticket"
-msgstr "Kunne ikke sette den primæren som %1 for denne saken"
-
-#: lib/RT/Queue_Overlay.pm:860
-#. ($args{'Type'})
-msgid "Could not remove that principal as a %1 for this queue"
-msgstr "Kunne ikke fjerne den primæren som %1 for denne køen"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not remove that principal as a %1 for this ticket"
-msgstr "Knne ikke fjære den primæren som %1 for denne saken"
-
-#: lib/RT/User_Overlay.pm:191
-msgid "Could not set user info"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:159
-msgid "Couldn't add attachment"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:1003
-msgid "Couldn't add member to group"
-msgstr "Kunne ikke legge til medlemmmer i gruppen"
-
-#: lib/RT/Record.pm:1719 lib/RT/Record.pm:1771
-#. ($Msg)
-msgid "Couldn't create a transaction: %1"
-msgstr "Kunne ikke opprette en transaksjon: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't figure out what to do from gpg's reply\\n"
-msgstr "Kunne ikke tolke gpgs svar\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find group\\n"
-msgstr "Kunne ikke finne gruppen\\n"
-
-#: lib/RT/Record.pm:953
-msgid "Couldn't find row"
-msgstr "Kunne ikke finne raden"
-
-#: lib/RT/Group_Overlay.pm:977
-msgid "Couldn't find that principal"
-msgstr "Kunne ikke finne primæren"
-
-#: lib/RT/CustomField_Overlay.pm:409
-msgid "Couldn't find that value"
-msgstr "Kunne ikke finne verdien"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find that watcher"
-msgstr "Kunne ikke finne den overvåkern"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find user\\n"
-msgstr "Kunne ikke finne bruker\\n"
-
-#: lib/RT/CurrentUser.pm:145
-#. ($self->Id)
-msgid "Couldn't load %1 from the users database.\\n"
-msgstr "Kunne ikke laste %1 fra brukerdatabasen.\\n"
-
-#: html/Admin/CustomFields/UserRights.html:149
-#. ($id)
-msgid "Couldn't load Class %1"
-msgstr ""
-
-#: html/Admin/CustomFields/GroupRights.html:107
-#. ($id)
-msgid "Couldn't load CustomField %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load KeywordSelects."
-msgstr "Kunne ikke laste NøkkelordValg."
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load RT config file '%1' %2"
-msgstr "Kunne ikke laste RTs konfigurasjonsfil '%1' %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load Scrips."
-msgstr "Kunne ikke laste Scripsene."
-
-#: lib/RT/Ticket_Overlay.pm:2016
-#. ($self->Id)
-msgid "Couldn't load copy of ticket #%1."
-msgstr ""
-
-#: html/Admin/Groups/GroupRights.html:109 html/Admin/Groups/UserRights.html:96
-#. ($id)
-msgid "Couldn't load group %1"
-msgstr "Kunne ikke laste gruppen %1"
-
-#: lib/RT/Link_Overlay.pm:202 lib/RT/Link_Overlay.pm:211 lib/RT/Link_Overlay.pm:238
-msgid "Couldn't load link"
-msgstr "Kunne ikke laste linken"
-
-#: html/Admin/Elements/ObjectCustomFields:83 html/Admin/Queues/CustomFields.html:59 html/Admin/Users/CustomFields.html:59
-#. ($id)
-msgid "Couldn't load object %1"
-msgstr ""
-
-#: html/Admin/Queues/People.html:142
-#. ($id)
-msgid "Couldn't load queue"
-msgstr "Kunne ikke laste køen"
-
-#: html/Admin/Queues/GroupRights.html:122 html/Admin/Queues/UserRights.html:93
-#. ($id)
-msgid "Couldn't load queue %1"
-msgstr "Kunne ikke laste køen %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load scrip"
-msgstr "Kunne ikke laste scripet"
-
-#: html/Admin/Elements/EditScrip:126 html/Admin/Elements/EditScrip:167
-#. ($id)
-msgid "Couldn't load scrip #%1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load template"
-msgstr "Kunne ikke finne mal"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load that user (%1)"
-msgstr "Kunne ikke laste den brukeren (%1)"
-
-#: html/SelfService/Display.html:158 lib/RT/Action/CreateTickets.pm:680
-#. ($id)
-msgid "Couldn't load ticket '%1'"
-msgstr "Kunne ikke laste saken '%1'"
-
-#: lib/RT/Ticket_Overlay.pm:2643
-#. ($args{'URI'})
-msgid "Couldn't resolve '%1' into a URI."
-msgstr ""
-
-#: html/Admin/Users/Modify.html:173 html/User/Prefs.html:153
-msgid "Country"
-msgstr "Land"
-
-#: html/Admin/Elements/CreateUserCalled:47 html/Admin/Elements/EditCustomField:84 html/Admin/Elements/EditScrip:133 html/Admin/Queues/Template.html:66 html/Elements/QuickCreate:65 html/Ticket/Create.html:168 html/Ticket/Create.html:235
-msgid "Create"
-msgstr "Opprett"
-
-#: etc/initialdata:135
-msgid "Create Tickets"
-msgstr "Opprett Saker"
-
-#: html/Admin/CustomFields/Modify.html:150 html/Admin/Elements/EditCustomField:96
-msgid "Create a CustomField"
-msgstr "Oprett et fleksifelt"
-
-#: html/Admin/Queues/CustomField.html:69
-#. ($QueueObj->Name())
-msgid "Create a CustomField for queue %1"
-msgstr "Opprett et fleksifelt for køen %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a CustomField that applies to all queues"
-msgstr "Opprett et fleksifelt for alle køer"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new Custom Field"
-msgstr "Opprett et nytt fleksifelt"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new global Scrip"
-msgstr "Opprett et globalt Scrip"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new global scrip"
-msgstr "Opprett et nytt globalt scrip"
-
-#: html/Admin/Groups/Modify.html:125 html/Admin/Groups/Modify.html:99
-msgid "Create a new group"
-msgstr "Opprett en ny gruppe"
-
-#: html/User/Groups/Modify.html:113 html/User/Groups/Modify.html:88
-msgid "Create a new personal group"
-msgstr "Opprett en ny personlig gruppe"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new queue"
-msgstr "Opprett en ny kø"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new scrip"
-msgstr "Opprett et nytt scrip"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new template"
-msgstr "Opprett en ny mal"
-
-#: html/Ticket/Create.html:47 html/Ticket/Create.html:51 html/Ticket/Create.html:60
-msgid "Create a new ticket"
-msgstr "Opprett en ny sak"
-
-#: html/Admin/Users/Modify.html:252 html/Admin/Users/Modify.html:314
-msgid "Create a new user"
-msgstr "Opprett en ny bruker"
-
-#: html/Admin/Queues/Modify.html:125
-msgid "Create a queue"
-msgstr "Opprett en ny kø"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a queue called"
-msgstr "Opprett en kø kalt"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a request"
-msgstr "Opprett en forespørsel"
-
-#: html/Admin/Queues/Scrip.html:89
-#. ($QueueObj->Name)
-msgid "Create a scrip for queue %1"
-msgstr "Opprett et scrip for køen %1"
-
-#: html/Admin/Global/Template.html:90 html/Admin/Queues/Template.html:86
-msgid "Create a template"
-msgstr "Opprett en mal"
-
-#: html/SelfService/Create.html:46 html/SelfService/CreateTicketInQueue.html:46
-msgid "Create a ticket"
-msgstr "Opprett en sak"
-
-#: NOT FOUND IN SOURCE
-msgid "Create failed: %1 / %2 / %3 "
-msgstr "Opprettelse feilet: %1 / %2 / %3"
-
-#: NOT FOUND IN SOURCE
-msgid "Create failed: %1/%2/%3"
-msgstr "Opprettelse feilet: %1/%2/%3"
-
-#: etc/initialdata:137
-msgid "Create new tickets based on this scrip's template"
-msgstr "Opprett nye saker basert på dette scripets mal"
-
-#: html/SelfService/Create.html:105
-msgid "Create ticket"
-msgstr "Opprett sak"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "Create tickets in this queue"
-msgstr "Opprett saker i denne køen"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "Create, delete and modify custom fields"
-msgstr "Opprett, slett og modifiser fleksifelt"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "Create, delete and modify queues"
-msgstr "Opprett, slett og endre køer"
-
-#: NOT FOUND IN SOURCE
-msgid "Create, delete and modify the members of any user's personal groups"
-msgstr "Opprett, slett og modifiser medlemmene av en brukers personlige grupper"
-
-#: lib/RT/System.pm:80
-msgid "Create, delete and modify the members of personal groups"
-msgstr "Opprett, slett og modifiser medlemmene av personlige grupper"
-
-#: lib/RT/System.pm:81
-msgid "Create, delete and modify users"
-msgstr "Opprett, slett og modifiser brukere"
-
-#: lib/RT/System.pm:87
-msgid "CreateSavedSearch"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "CreateTicket"
-msgstr "OpprettSak"
-
-#: html/Elements/SelectDateType:47 html/Ticket/Elements/ShowDates:48 lib/RT/Ticket_Overlay.pm:1169
-msgid "Created"
-msgstr "Opprettet"
-
-#: html/Admin/CustomFields/Modify.html:163 html/Admin/Elements/EditCustomField:117
-#. ($CustomFieldObj->Name())
-msgid "Created CustomField %1"
-msgstr "Opprettet Fleksifelt %1"
-
-#: html/Tools/Reports/Elements/Tabs:63
-msgid "Created in a date range"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Created template %1"
-msgstr "Opprettet malen %1"
-
-#: html/Tools/Reports/CreatedByDates.html:52
-msgid "Created tickets in period, grouped by status"
-msgstr ""
-
-#: html/Search/Elements/PickBasics:102
-msgid "Creator"
-msgstr ""
-
-#: html/Elements/EditLinks:49
-msgid "Current Links"
-msgstr "Eksisterende Forhold"
-
-#: html/Admin/Elements/EditScrips:51
-msgid "Current Scrips"
-msgstr "Eksisterende Scrips"
-
-#: html/Admin/Groups/Members.html:60 html/User/Groups/Members.html:63
-msgid "Current members"
-msgstr "Eksisterende medlemmer"
-
-#: html/Admin/Elements/SelectRights:51
-msgid "Current rights"
-msgstr "Eksisterende rettigheter"
-
-#: html/Search/Elements/EditQuery:47
-msgid "Current search"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Current search criteria"
-msgstr "Eksisterende søkekriterier"
-
-#: html/Admin/Queues/People.html:62 html/Ticket/Elements/EditPeople:66
-msgid "Current watchers"
-msgstr "Eksisterende overvåkere"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom Field #%1"
-msgstr "Fleksifeltet #%1"
-
-#: html/Admin/Elements/SystemTabs:61 html/Admin/Elements/Tabs:62 html/Admin/Global/index.html:71 html/Admin/Users/Modify.html:205 html/Admin/index.html:77 html/Ticket/Elements/ShowSummary:56
-msgid "Custom Fields"
-msgstr "Fleksifelt"
-
-#: html/Admin/CustomFields/index.html:60
-#. ($lookup)
-msgid "Custom Fields for %1"
-msgstr ""
-
-#: html/Admin/Elements/EditScrip:107
-msgid "Custom action cleanup code"
-msgstr "Avsluttningskode"
-
-#: html/Admin/Elements/EditScrip:103
-msgid "Custom action preparation code"
-msgstr "Forberedelseskode"
-
-#: html/Admin/Elements/EditScrip:99
-msgid "Custom condition"
-msgstr "Forutsetning"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field %1 %2 %3"
-msgstr "Fleksifeltet %1 %2 %3"
-
-#: lib/RT/Tickets_Overlay.pm:2424
-#. ($CF->Name)
-msgid "Custom field %1 has a value."
-msgstr "Fleksifeltet %1 har en verdi."
-
-#: lib/RT/Tickets_Overlay.pm:2420
-#. ($CF->Name)
-msgid "Custom field %1 has no value."
-msgstr "Fleksifeltet %1 har ingen verdi."
-
-#: lib/RT/Record.pm:1592 lib/RT/Record.pm:1754
-#. ($args{'Field'})
-msgid "Custom field %1 not found"
-msgstr "Fleksifeltet %1 kunne ikke finnes"
-
-#: lib/RT/Report/Tickets.pm:118 lib/RT/Report/Tickets.pm:121
-#. ($cf)
-#. ($obj->Name)
-msgid "Custom field '%1'"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field deleted"
-msgstr "Fleksifeltet slettet"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field not found"
-msgstr "Fleksifeltet kunne ikke finnes"
-
-#: lib/RT/CustomField_Overlay.pm:1157
-#. ($args{'Content'}, $self->Name)
-msgid "Custom field value %1 could not be found for custom field %2"
-msgstr "Verdien %1 for fleksifeltet %2 kunne ikke finnes"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field value changed from %1 to %2"
-msgstr "Fleksifeltets verdi endret fra %1 til %2"
-
-#: lib/RT/CustomField_Overlay.pm:419
-msgid "Custom field value could not be deleted"
-msgstr "Fleksifeltets verdi kunne ikke slettes"
-
-#: lib/RT/CustomField_Overlay.pm:1169
-msgid "Custom field value could not be found"
-msgstr "Fleksifeltets verdi kunne ikke finnes"
-
-#: lib/RT/CustomField_Overlay.pm:1171 lib/RT/CustomField_Overlay.pm:417
-msgid "Custom field value deleted"
-msgstr "Fleksifeltverdi slettet"
-
-#: html/Elements/SelectGroups:51 html/Elements/SelectUsers:51 lib/RT/Transaction_Overlay.pm:638
-msgid "CustomField"
-msgstr "FleksiFelt"
-
-#: html/Prefs/MyRT.html:78 html/Prefs/Quicksearch.html:70 html/Prefs/Search.html:75
-msgid "Customize"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Data error"
-msgstr "Datafeil"
-
-#: html/SelfService/Display.html:61 html/Ticket/Create.html:203 html/Ticket/Elements/ShowSummary:83 html/Ticket/Elements/Tabs:116 html/Ticket/ModifyAll.html:65
-msgid "Dates"
-msgstr "Datoer"
-
-#: lib/RT/Date.pm:452
-msgid "Dec."
-msgstr "Des."
-
-#: NOT FOUND IN SOURCE
-msgid "December"
-msgstr "Desember"
-
-#: NOT FOUND IN SOURCE
-msgid "Default Autoresponse Template"
-msgstr "Standard Autosvarmal"
-
-#: etc/initialdata:222
-msgid "Default Autoresponse template"
-msgstr "Standard Autosvarmal"
-
-#: html/Tools/Offline.html:61
-msgid "Default Queue"
-msgstr ""
-
-#: html/Tools/Offline.html:70
-msgid "Default Requestor"
-msgstr ""
-
-#: etc/initialdata:296
-msgid "Default admin comment template"
-msgstr "Standard Adminkommentarmal"
-
-#: etc/initialdata:275
-msgid "Default admin correspondence template"
-msgstr "Standard Adminkorrespondensemal"
-
-#: etc/initialdata:287
-msgid "Default correspondence template"
-msgstr "Standard korrespondensemal"
-
-#: etc/initialdata:253
-msgid "Default transaction template"
-msgstr "Standard transaksjonsmal"
-
-#: NOT FOUND IN SOURCE
-msgid "Default: %1/%2 changed from %3 to %4"
-msgstr "Standard: %1/%2 endret seg fra %3 til %4"
-
-#: html/User/Delegation.html:46 html/User/Delegation.html:49
-msgid "Delegate rights"
-msgstr "Deleger rettigheter"
-
-#: lib/RT/System.pm:84
-msgid "Delegate specific rights which have been granted to you."
-msgstr "Deleger spesifikke rettigheter som har blitt gitt til deg."
-
-#: lib/RT/System.pm:84
-msgid "DelegateRights"
-msgstr "DelegerRettigheter"
-
-#: html/User/Elements/Tabs:59
-msgid "Delegation"
-msgstr "Delegering"
-
-#: html/Admin/Elements/EditScrips:75 html/Search/Elements/EditFormat:103 html/Search/Elements/EditQuery:57 html/Search/Elements/EditSearches:63 html/Widgets/SelectionBox:204
-msgid "Delete"
-msgstr "Slett"
-
-#: html/Admin/Elements/EditTemplates:79
-msgid "Delete Template"
-msgstr ""
-
-#: lib/RT/SavedSearch.pm:220
-#. ($msg)
-msgid "Delete failed: %1"
-msgstr ""
-
-#: html/Admin/Elements/EditScrips:74
-msgid "Delete selected scrips"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "Delete tickets"
-msgstr "Slett saker"
-
-#: html/Search/Bulk.html:159
-msgid "Delete values"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "DeleteTicket"
-msgstr "SlettSak"
-
-#: lib/RT/SavedSearch.pm:218
-msgid "Deleted search"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object could break referential integrity"
-msgstr "Sletting av dette objektet kan føre til inkonsistens"
-
-#: lib/RT/Queue_Overlay.pm:394
-msgid "Deleting this object would break referential integrity"
-msgstr "Sletting av dette objektet vil føre til inkonsistens"
-
-#: lib/RT/User_Overlay.pm:512
-msgid "Deleting this object would violate referential integrity"
-msgstr "Sletting av dette objektet ville føre til inkonsistens"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object would violate referential integrity."
-msgstr "Sletting av dette objektet ville føre til inkonsisistens."
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object would violate referential integrity. That's bad."
-msgstr "Sletting av dette objektet ville føre til inkonsistens. Det er uheldig."
-
-#: html/Approvals/Elements/Approve:73
-msgid "Deny"
-msgstr "Nekt"
-
-#: html/Elements/EditLinks:140 html/Elements/EditLinks:66 html/Elements/ShowLinks:58 html/Ticket/Create.html:221 html/Ticket/Elements/BulkLinks:56 html/Ticket/Elements/ShowDependencies:53
-msgid "Depended on by"
-msgstr "Avhengighet fra"
-
-#: NOT FOUND IN SOURCE
-msgid "Dependencies: \\n"
-msgstr "Avhengigheter: \\n"
-
-#: lib/RT/Transaction_Overlay.pm:718
-#. ($value)
-msgid "Dependency by %1 added"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:758
-#. ($value)
-msgid "Dependency by %1 deleted"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:715
-#. ($value)
-msgid "Dependency on %1 added"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:755
-#. ($value)
-msgid "Dependency on %1 deleted"
-msgstr ""
-
-#: html/Elements/EditLinks:136 html/Elements/EditLinks:57 html/Elements/SelectLinkType:48 html/Elements/ShowLinks:48 html/Ticket/Create.html:220 html/Ticket/Elements/BulkLinks:52 html/Ticket/Elements/ShowDependencies:46
-msgid "Depends on"
-msgstr "Avhengig av"
-
-#: NOT FOUND IN SOURCE
-msgid "DependsOn"
-msgstr "AvhengigAv"
-
-#: html/Search/Elements/DisplayOptions:86
-msgid "Desc"
-msgstr ""
-
-#: html/Elements/SelectSortOrder:56
-msgid "Descending"
-msgstr "Synkende"
-
-#: html/SelfService/Create.html:100 html/Ticket/Create.html:152
-msgid "Describe the issue below"
-msgstr "Beskriv problemet under"
-
-#: html/Admin/CustomFields/Modify.html:61 html/Admin/Elements/AddCustomFieldValue:57 html/Admin/Elements/EditCustomField:60 html/Admin/Elements/EditCustomFieldValues:56 html/Admin/Elements/EditScrip:55 html/Admin/Elements/ModifyTemplate:57 html/Admin/Groups/Modify.html:71 html/Admin/Queues/Modify.html:69 html/Search/Elements/EditSearches:56 html/User/Groups/Modify.html:70
-msgid "Description"
-msgstr "Beskrivelse"
-
-#: NOT FOUND IN SOURCE
-msgid "Details"
-msgstr "Detaljer"
-
-#: html/Search/Elements/EditFormat:71 html/Ticket/Elements/Tabs:108
-msgid "Display"
-msgstr "Vis"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "Display Access Control List"
-msgstr "Vis Rettigheter"
-
-#: html/Search/Elements/DisplayOptions:46
-msgid "Display Columns"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "Display Scrip templates for this queue"
-msgstr "Vis Scrip-maler for denne køen"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "Display Scrips for this queue"
-msgstr "Vis Scrip-maler for denne køen"
-
-#: html/Ticket/Elements/ShowHistory:59
-msgid "Display mode"
-msgstr "Visningsmodus"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "Display saved searches for this group"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Display ticket #%1"
-msgstr "Vis saken #%1"
-
-#: html/Elements/Footer:61
-msgid "Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
-msgstr ""
-
-#: lib/RT/System.pm:75
-msgid "Do anything and everything"
-msgstr "Gjør hva som helst"
-
-#: html/Elements/Refresh:51
-msgid "Don't refresh this page."
-msgstr "Ikke last denne siden på nytt"
-
-#: NOT FOUND IN SOURCE
-msgid "Don't show search results"
-msgstr "Ikke vis søkeresultat"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "Download"
-msgstr "Last ned"
-
-#: html/Admin/Groups/index.html:61 html/Admin/Users/index.html:64
-msgid "Download as a tab-delimited file"
-msgstr ""
-
-#: html/Elements/SelectDateType:53 html/Ticket/Create.html:209 html/Ticket/Elements/EditDates:66 html/Ticket/Elements/Reminders:133 html/Ticket/Elements/ShowDates:64 lib/RT/Ticket_Overlay.pm:1173
-msgid "Due"
-msgstr "Innen"
-
-#: NOT FOUND IN SOURCE
-msgid "Due date '%1' could not be parsed"
-msgstr "Innendato '%1' kunne ikke tolkes"
-
-#: NOT FOUND IN SOURCE
-msgid "ERROR: Couldn't load ticket '%1': %2.\\n"
-msgstr "FEIL: Kunne ikke laste sak '%1': %2.\\n"
-
-#: html/Elements/Quicksearch:48 html/Elements/ShowSearch:49 html/index.html:107
-msgid "Edit"
-msgstr "Rediger"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Conditions"
-msgstr "Rediger Forhold"
-
-#: html/Search/Bulk.html:149
-msgid "Edit Custom Fields"
-msgstr ""
-
-#: html/Admin/Elements/ObjectCustomFields:92 html/Admin/Queues/CustomFields.html:64 html/Admin/Users/CustomFields.html:64
-#. ($Object->Name)
-msgid "Edit Custom Fields for %1"
-msgstr "Rediger fleksifelt for %1"
-
-#: html/Admin/Global/CustomFields/Groups.html:54
-msgid "Edit Custom Fields for all groups"
-msgstr ""
-
-#: html/Admin/Global/CustomFields/Users.html:54
-msgid "Edit Custom Fields for all users"
-msgstr ""
-
-#: html/Admin/Global/CustomFields/Queue-Tickets.html:54 html/Admin/Global/CustomFields/Queue-Transactions.html:54
-msgid "Edit Custom Fields for tickets in all queues"
-msgstr ""
-
-#: html/Search/Bulk.html:188 html/Ticket/ModifyLinks.html:57
-msgid "Edit Links"
-msgstr "Rediger Forhold"
-
-#: html/Search/Edit.html:68
-msgid "Edit Query"
-msgstr ""
-
-#: html/Ticket/Elements/Tabs:214
-msgid "Edit Search"
-msgstr ""
-
-#: html/Admin/Queues/Templates.html:63
-#. ($QueueObj->Name)
-msgid "Edit Templates for queue %1"
-msgstr "Rediger Maler for køen %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit keywords"
-msgstr "Rediger nøkkelord"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "Edit saved searches for this group"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Edit scrips"
-msgstr "Rediger scrips"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:60 html/Admin/Global/index.html:67
-msgid "Edit system templates"
-msgstr "Rediger systemmal"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit templates for %1"
-msgstr "Rediger maler for %1"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "EditSavedSearches"
-msgstr ""
-
-#: html/Admin/Queues/Modify.html:140
-#. ($QueueObj->Name)
-msgid "Editing Configuration for queue %1"
-msgstr "Rediger Konfigurasjon for køen %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing Configuration for user %1"
-msgstr "Redigerer Konfigurasjonen av brukern %1"
-
-#: html/Admin/CustomFields/Modify.html:167 html/Admin/Elements/EditCustomField:120
-#. ($CustomFieldObj->Name())
-msgid "Editing CustomField %1"
-msgstr "Redigerer Fleksifeltet %1"
-
-#: html/Admin/Groups/Members.html:53
-#. ($Group->Name)
-msgid "Editing membership for group %1"
-msgstr "Redigerer medlemsskap for gruppen %1"
-
-#: html/User/Groups/Members.html:150
-#. ($Group->Name)
-msgid "Editing membership for personal group %1"
-msgstr "Redigerer medlemsskap for den personlige gruppen %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing template %1"
-msgstr "Redigerer malen %1"
-
-#: lib/RT/Record.pm:1295 lib/RT/Record.pm:1372 lib/RT/Ticket_Overlay.pm:2518 lib/RT/Ticket_Overlay.pm:2608
-msgid "Either base or target must be specified"
-msgstr "Enten base eller mål må oppgis"
-
-#: html/Admin/Users/Modify.html:74 html/Ticket/Elements/AddWatchers:77 html/User/Prefs.html:65
-msgid "Email"
-msgstr "Epost"
-
-#: lib/RT/User_Overlay.pm:235
-msgid "Email address in use"
-msgstr "Epostaddresse i bruk"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailAddress"
-msgstr "EpostAddresse"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailEncoding"
-msgstr "EpostFormat"
-
-#: html/Admin/CustomFields/Modify.html:98 html/Admin/Elements/EditCustomField:72
-msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "Aktivt (Fjern merkingen for å deaktivere dette fleksifeltet)"
-
-#: html/Admin/Groups/Modify.html:84 html/User/Groups/Modify.html:74
-msgid "Enabled (Unchecking this box disables this group)"
-msgstr "Aktiv (Fjern merkingen for å deaktivere denne gruppen)"
-
-#: html/Admin/Queues/Modify.html:105
-msgid "Enabled (Unchecking this box disables this queue)"
-msgstr "Aktiv (Fjern merkingen for å deaktivere denne køen)"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Custom Fields"
-msgstr "Aktive Fleksifelt"
-
-#: html/Admin/Queues/index.html:78
-msgid "Enabled Queues"
-msgstr "Aktive Køer"
-
-#: html/Admin/Elements/EditCustomField:136 html/Admin/Groups/Modify.html:150 html/Admin/Users/Modify.html:350 html/User/Groups/Modify.html:138
-#. (loc_fuzzy($msg))
-msgid "Enabled status %1"
-msgstr "Aktiv status %1"
-
-#: html/Admin/CustomFields/Modify.html:185 html/Admin/Queues/Modify.html:162
-#. (loc_fuzzy($msg))
-msgid "Enabled status: %1"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:64
-msgid "Enter multiple values"
-msgstr "Skriv multiple verdier"
-
-#: html/Elements/EditLinks:126
-msgid "Enter objects or URIs to link objects to. Separate multiple entries with spaces."
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:65
-msgid "Enter one value"
-msgstr "Skriv en verdi"
-
-#: html/Elements/EditLinks:123
-msgid "Enter queues or URIs to link queues to. Separate multiple entries with spaces."
-msgstr ""
-
-#: html/Elements/EditLinks:119 html/Search/Bulk.html:189
-msgid "Enter tickets or URIs to link tickets to. Separate multiple entries with spaces."
-msgstr "Skriv saker og/eller URIer som det skal linkes til. Separer dem med mellomrom"
-
-#: lib/RT/CustomField_Overlay.pm:66
-msgid "Enter up to %1 values"
-msgstr ""
-
-#: html/Elements/Login:76 html/SelfService/Error.html:46 html/SelfService/Error.html:47
-msgid "Error"
-msgstr "Feil"
-
-#: NOT FOUND IN SOURCE
-msgid "Error adding watcher"
-msgstr "Feilet ved opprettelse av Overvåker"
-
-#: lib/RT/Queue_Overlay.pm:672
-msgid "Error in parameters to Queue->AddWatcher"
-msgstr "Feil i parameterne til Queue->AddWatcher"
-
-#: NOT FOUND IN SOURCE
-msgid "Error in parameters to Queue->DelWatcher"
-msgstr "Feil i parameterne til Queue->DelWatcher"
-
-#: lib/RT/Queue_Overlay.pm:833
-msgid "Error in parameters to Queue->DeleteWatcher"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:1372
-msgid "Error in parameters to Ticket->AddWatcher"
-msgstr "Feil i parameterne til Ticket->AddWatcher"
-
-#: NOT FOUND IN SOURCE
-msgid "Error in parameters to Ticket->DelWatcher"
-msgstr "Feil i parameterne til Ticket->DelWatcher"
-
-#: lib/RT/Ticket_Overlay.pm:1538
-msgid "Error in parameters to Ticket->DeleteWatcher"
-msgstr ""
-
-#: bin/rt-crontool:285
-msgid "Escalate tickets"
-msgstr ""
-
-#: html/Ticket/Elements/ShowBasics:57
-msgid "Estimated"
-msgstr ""
-
-#: etc/initialdata:20
-msgid "Everyone"
-msgstr "Alle"
-
-#: bin/rt-crontool:271
-msgid "Example:"
-msgstr "Eksempel:"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalAuthId"
-msgstr "EksternAutId"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalContactInfoId"
-msgstr "EksternKontaktInfoId"
-
-#: html/Admin/Users/Modify.html:99
-msgid "Extra info"
-msgstr "Ekstra info"
-
-#: lib/RT/SavedSearch.pm:177
-msgid "Failed to create search attribute"
-msgstr ""
-
-#: lib/RT/User_Overlay.pm:376
-msgid "Failed to find 'Privileged' users pseudogroup."
-msgstr "Kunne ikke finne pseudogruppen 'Privilgerte' brukere."
-
-#: lib/RT/User_Overlay.pm:383
-msgid "Failed to find 'Unprivileged' users pseudogroup"
-msgstr "Kunne ikke finne 'pseudogruppen 'Upriviligerte' brukere"
-
-#: bin/rt-crontool:206
-#. ($modname, $@)
-msgid "Failed to load module %1. (%2)"
-msgstr "Kunne ikke laste modulen %1. (%2)"
-
-#: lib/RT/SavedSearch.pm:152
-#. ($privacy)
-msgid "Failed to load object for %1"
-msgstr ""
-
-#: lib/RT/Date.pm:442
-msgid "Feb."
-msgstr "Feb."
-
-#: NOT FOUND IN SOURCE
-msgid "February"
-msgstr "Februar"
-
-#: html/Elements/SelectAttachmentField:50
-msgid "Filename"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:69
-msgid "Fill in multiple text areas"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:74
-msgid "Fill in multiple wikitext areas"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:70
-msgid "Fill in one text area"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:75
-msgid "Fill in one wikitext area"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:107 html/Admin/CustomFields/Modify.html:118
-msgid "Fill in this field with a URL."
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:71
-msgid "Fill in up to %1 text areas"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:76
-msgid "Fill in up to %1 wikitext areas"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Fin"
-msgstr "End"
-
-#: html/Search/Elements/PickBasics:149 html/Ticket/Create.html:182 html/Ticket/Elements/EditBasics:97 lib/RT/Tickets_Overlay.pm:1841
-msgid "Final Priority"
-msgstr "Endelig Prioritet"
-
-#: lib/RT/Ticket_Overlay.pm:1164
-msgid "FinalPriority"
-msgstr "EndeligPrioritet"
-
-#: NOT FOUND IN SOURCE
-msgid "Find group whose"
-msgstr "Finn grupper hvor"
-
-#: html/Admin/Groups/index.html:72 html/Admin/Queues/People.html:82 html/Ticket/Elements/EditPeople:55
-msgid "Find groups whose"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Find new/open tickets"
-msgstr "Finn nye/åpne saker"
-
-#: html/Admin/Queues/People.html:78 html/Admin/Users/index.html:70 html/Ticket/Elements/EditPeople:51
-msgid "Find people whose"
-msgstr "Finn folk hvor"
-
-#: html/Search/Results.html:147
-msgid "Find tickets"
-msgstr "Finn saker"
-
-#: NOT FOUND IN SOURCE
-msgid "Finish Approval"
-msgstr "Fullfør godkjennelse"
-
-#: html/Ticket/Elements/Tabs:81
-msgid "First"
-msgstr "Først"
-
-#: NOT FOUND IN SOURCE
-msgid "First page"
-msgstr "Første side"
-
-#: docs/design_docs/string-extraction-guide.txt:33 lib/RT/StyleGuide.pod:766
-msgid "Foo Bar Baz"
-msgstr "Foo Bar Baz"
-
-#: docs/design_docs/string-extraction-guide.txt:24 lib/RT/StyleGuide.pod:757
-msgid "Foo!"
-msgstr "Foo!"
-
-#: html/Search/Bulk.html:83
-msgid "Force change"
-msgstr "Tving gjennom endring"
-
-#: html/Search/Elements/EditFormat:52
-msgid "Format"
-msgstr ""
-
-#: html/Search/Results.html:145
-#. ($ticketcount)
-msgid "Found %quant(%1,ticket)"
-msgstr "Fant %quant(%1) sak(er)"
-
-#: lib/RT/Record.pm:956
-msgid "Found Object"
-msgstr "Fant Objektet"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformContactInfo"
-msgstr "FriforkKontaktInfo"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformMultiple"
-msgstr "FriformMultipel"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformSingle"
-msgstr "FriformSingel"
-
-#: lib/RT/Date.pm:421
-msgid "Fri."
-msgstr "Fre."
-
-#: html/Ticket/Elements/ShowHistory:66 html/Ticket/Elements/ShowHistory:72
-msgid "Full headers"
-msgstr "Fulle headere"
-
-#: html/Tools/Offline.html:85
-msgid "Get template from file"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Getting the current user from a pgp sig\\n"
-msgstr "Henter brukerinfo fra pgp signatur\\n"
-
-#: lib/RT/Transaction_Overlay.pm:684
-#. ($New->Name)
-msgid "Given to %1"
-msgstr "Gitt til %1"
-
-#: html/Admin/Elements/Tabs:65 html/Admin/index.html:82
-msgid "Global"
-msgstr "Global"
-
-#: html/Admin/Elements/EditCustomFields:55
-msgid "Global Custom Fields"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Global Keyword Selections"
-msgstr "Globale Nøkkelordvalg"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Scrips"
-msgstr "Globale Scrip"
-
-#: html/Admin/Global/CustomFields/index.html:59
-msgid "Global custom field configuration"
-msgstr ""
-
-#: html/Admin/Global/MyRT.html:48
-#. ($pane)
-msgid "Global portlet %1 saved."
-msgstr ""
-
-#: html/Admin/Elements/SelectTemplate:59
-#. (loc($Template->Name))
-msgid "Global template: %1"
-msgstr "Globale maler: %1"
-
-#: html/Admin/CustomFields/index.html:80 html/Search/Results.html:90 html/Tools/Offline.html:89
-msgid "Go"
-msgstr ""
-
-#: html/Admin/Groups/index.html:67 html/Admin/Groups/index.html:73 html/Admin/Queues/People.html:80 html/Admin/Queues/People.html:84 html/Admin/Queues/index.html:66 html/Admin/Users/index.html:73 html/Elements/RefreshHomepage:48 html/Search/Results.html:74 html/Ticket/Elements/EditPeople:53 html/Ticket/Elements/EditPeople:57
-msgid "Go!"
-msgstr "Start!"
-
-#: NOT FOUND IN SOURCE
-msgid "Good pgp sig from %1\\n"
-msgstr "Gyldig pgp sig fra %1\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Goto page"
-msgstr "Gå til siden"
-
-#: html/Elements/GotoTicket:46 html/SelfService/Elements/GotoTicket:46
-msgid "Goto ticket"
-msgstr "Gå til saken"
-
-#: NOT FOUND IN SOURCE
-msgid "Grand"
-msgstr "Stor"
-
-#: html/Ticket/Elements/AddWatchers:67 html/Ticket/Elements/ShowGroupMembers:55 html/User/Elements/DelegateRights:99
-msgid "Group"
-msgstr "Gruppe"
-
-#: NOT FOUND IN SOURCE
-msgid "Group %1 %2: %3"
-msgstr "Gruppen %1 %2: %3"
-
-#: html/Admin/Elements/CustomFieldTabs:68 html/Admin/Elements/GroupTabs:66 html/Admin/Elements/QueueTabs:82 html/Admin/Elements/SystemTabs:65 html/Admin/Global/index.html:76
-msgid "Group Rights"
-msgstr "Grupperettigheter"
-
-#: lib/RT/Group_Overlay.pm:983
-msgid "Group already has member"
-msgstr "Alt medlem av gruppen"
-
-#: NOT FOUND IN SOURCE
-msgid "Group could not be created."
-msgstr "Gruppen kunne ikke lastes."
-
-#: html/Admin/Groups/Modify.html:109
-#. ($create_msg)
-msgid "Group could not be created: %1"
-msgstr "Gruppen kunne ikke opprettes: %1"
-
-#: lib/RT/Group_Overlay.pm:521
-msgid "Group created"
-msgstr "Gruppen opprettet"
-
-#: lib/RT/Group_Overlay.pm:1155
-msgid "Group has no such member"
-msgstr "Gruppen har ikke det medlemmet"
-
-#: lib/RT/Group_Overlay.pm:963 lib/RT/Queue_Overlay.pm:748 lib/RT/Queue_Overlay.pm:808 lib/RT/Ticket_Overlay.pm:1430 lib/RT/Ticket_Overlay.pm:1510
-msgid "Group not found"
-msgstr "Fant ikke gruppen"
-
-#: NOT FOUND IN SOURCE
-msgid "Group not found.\\n"
-msgstr "Fant ikke gruppen.\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Group not specified.\\n"
-msgstr "Ikke spesifisert gruppe.\\n"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:59 html/Admin/Elements/SelectNewGroupMembers:57 html/Admin/Elements/Tabs:56 html/Admin/Global/CustomFields/index.html:69 html/Admin/Groups/Members.html:86 html/Admin/Queues/People.html:104 html/Admin/Users/Memberships.html:53 html/Admin/index.html:67 html/User/Groups/Members.html:88 lib/RT/CustomField_Overlay.pm:1210
-msgid "Groups"
-msgstr "Grupper"
-
-#: lib/RT/Group_Overlay.pm:989
-msgid "Groups can't be members of their members"
-msgstr "Grupper kan ikke være medlemmer av sine medlemmer"
-
-#: html/Admin/Groups/index.html:86
-msgid "Groups matching search criteria"
-msgstr ""
-
-#: html/Ticket/Elements/ShowRequestor:77
-msgid "Groups this user belongs to"
-msgstr ""
-
-#: lib/RT/Interface/CLI.pm:94 lib/RT/Interface/CLI.pm:94
-msgid "Hello!"
-msgstr "Hallo!"
-
-#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:773
-#. ($name)
-msgid "Hello, %1"
-msgstr "Hallo, %1"
-
-#: html/Admin/Elements/GroupTabs:70 html/Admin/Elements/UserTabs:64 html/Ticket/Elements/ShowHistory:53 html/Ticket/Elements/Tabs:111
-msgid "History"
-msgstr "Historikk"
-
-#: html/Admin/Groups/History.html:62
-#. ($GroupObj->Name)
-msgid "History of the group %1"
-msgstr ""
-
-#: html/Admin/Users/History.html:62
-#. ($UserObj->Name)
-msgid "History of the user %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "HomePhone"
-msgstr "HjemmeTelefon"
-
-#: html/Elements/Tabs:65
-msgid "Homepage"
-msgstr "Hjemmeside"
-
-#: html/Elements/SelectTimeUnits:48
-msgid "Hours"
-msgstr ""
-
-#: lib/RT/Base.pm:119
-#. (6)
-msgid "I have %quant(%1,concrete mixer)."
-msgstr "Jeg har %quant(%1, sementblandere)."
-
-#: NOT FOUND IN SOURCE
-msgid "I have [quant,_1,concrete mixer]."
-msgstr "Jeg har [quant,_1,sementblandere]."
-
-#: html/Search/Build.html:460 lib/RT/Report/Tickets.pm:415
-msgid "I'm lost"
-msgstr ""
-
-#: html/Ticket/Elements/ShowBasics:48 lib/RT/Tickets_Overlay.pm:1766
-msgid "Id"
-msgstr "Id"
-
-#: html/Admin/Users/Modify.html:65 html/User/Prefs.html:60
-msgid "Identity"
-msgstr "Identitet"
-
-#: etc/initialdata:429
-msgid "If an approval is rejected, reject the original and delete pending approvals"
-msgstr "Hvis en godkjenner blir avvist, avvis orginalen, og slett ventende godkjenninger"
-
-#: html/Tools/Offline.html:74
-msgid "If no Requestor is specified, create tickets with this requestor."
-msgstr ""
-
-#: html/Tools/Offline.html:65
-msgid "If no queue is specified, create tickets in this queue."
-msgstr ""
-
-#: bin/rt-crontool:267
-msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
-msgstr "Hvis dette verktøyet var setgid kunne en fiendtlig lokal bruker bruke dette verktøyet for å oppnå administrativ tilgang til RT."
-
-#: html/Admin/Queues/People.html:126 html/Ticket/Modify.html:60 html/Ticket/ModifyAll.html:128 html/Ticket/ModifyPeople.html:60
-msgid "If you've updated anything above, be sure to"
-msgstr "Hvis du har oppdatert noe over, sørg for at"
-
-#: lib/RT/Record.pm:947
-msgid "Illegal value for %1"
-msgstr "Ugyldig verdig for %1"
-
-#: lib/RT/Record.pm:950
-msgid "Immutable field"
-msgstr "Låst felt"
-
-#: NOT FOUND IN SOURCE
-msgid "Include disabled custom fields in listing."
-msgstr "Inkluder deaktiverte fleksifelt i listen."
-
-#: html/Admin/Groups/index.html:65
-msgid "Include disabled groups in listing."
-msgstr ""
-
-#: html/Admin/Queues/index.html:65
-msgid "Include disabled queues in listing."
-msgstr "Inkluder deaktiverte køer i listen."
-
-#: html/Admin/Users/index.html:71
-msgid "Include disabled users in search."
-msgstr "Inkluder deaktiverte brukere i søket."
-
-#: html/Admin/CustomFields/Modify.html:113
-msgid "Include page"
-msgstr ""
-
-#: html/Search/Build.html:486 lib/RT/Report/Tickets.pm:441
-msgid "Incomplete Query"
-msgstr ""
-
-#: html/Search/Build.html:483 lib/RT/Report/Tickets.pm:438
-msgid "Incomplete query"
-msgstr ""
-
-#: html/Search/Elements/PickBasics:148 lib/RT/Tickets_Overlay.pm:1816
-msgid "Initial Priority"
-msgstr "Startprioritet"
-
-#: lib/RT/Ticket_Overlay.pm:1163 lib/RT/Ticket_Overlay.pm:1165
-msgid "InitialPriority"
-msgstr "StartPrioritet"
-
-#: lib/RT/ScripAction_Overlay.pm:133
-msgid "Input error"
-msgstr "Feil i inntasting"
-
-#: html/Elements/ValidateCustomFields:68 lib/RT/CustomField_Overlay.pm:1021 lib/RT/CustomField_Overlay.pm:1162
-#. ($self->FriendlyPattern)
-#. ($CF->FriendlyPattern)
-msgid "Input must match %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Interest noted"
-msgstr "Interesse registrert"
-
-#: lib/RT/Ticket_Overlay.pm:3503
-msgid "Internal Error"
-msgstr "Intern Feil"
-
-#: lib/RT/Record.pm:308
-#. ($id->{error_message})
-msgid "Internal Error: %1"
-msgstr "Intern Feil: %1"
-
-#: lib/RT/Group_Overlay.pm:668
-msgid "Invalid Group Type"
-msgstr "Ugyldig gruppetype"
-
-#: lib/RT/Principal_Overlay.pm:161
-msgid "Invalid Right"
-msgstr "Ugyldige rettigheter"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid Type"
-msgstr "Ugyldig Type"
-
-#: lib/RT/Record.pm:952
-msgid "Invalid data"
-msgstr "Ugyldig data"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid owner. Defaulting to 'nobody'."
-msgstr "Ugydlig eier. Setter til 'nobody'."
-
-#: lib/RT/CustomField_Overlay.pm:207 lib/RT/CustomField_Overlay.pm:678
-#. ($msg)
-msgid "Invalid pattern: %1"
-msgstr ""
-
-#: lib/RT/Scrip_Overlay.pm:157 lib/RT/Template_Overlay.pm:244
-msgid "Invalid queue"
-msgstr "Ugyldig kø"
-
-#: lib/RT/ACE_Overlay.pm:264 lib/RT/ACE_Overlay.pm:273 lib/RT/ACE_Overlay.pm:279 lib/RT/ACE_Overlay.pm:290
-msgid "Invalid right"
-msgstr "Ugyldige rettigheter"
-
-#: lib/RT/Record.pm:283
-#. ($key)
-msgid "Invalid value for %1"
-msgstr "Ugyldig verdi for %1"
-
-#: lib/RT/Record.pm:1610
-msgid "Invalid value for custom field"
-msgstr "Ugyldig verdi for fleksifeltet."
-
-#: lib/RT/Ticket_Overlay.pm:424
-msgid "Invalid value for status"
-msgstr "Ugyldig verdi for status"
-
-#: bin/rt-crontool:268
-msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
-msgstr "Det er ekstremt viktig at ikkepriviligerte brukere ikke har tilgang til dette verktøyet."
-
-#: bin/rt-crontool:269
-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 "Det er anbefalt at du oppretter en upriviligert unixbruker med korrekt gruppemedlemsskap og tilgang til RT for  kjøre dette verktøyet."
-
-#: bin/rt-crontool:231
-msgid "It takes several arguments:"
-msgstr "Det tar flere parametere:"
-
-#: html/Search/Elements/EditFormat:85
-msgid "Italic"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Items pending my approval"
-msgstr "Ting som venter på min godkjenning"
-
-#: lib/RT/Date.pm:441
-msgid "Jan."
-msgstr "Jan."
-
-#: NOT FOUND IN SOURCE
-msgid "January"
-msgstr "Januar"
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "Join or leave this group"
-msgstr "Bli med i eller forlat denne gruppen"
-
-#: lib/RT/Date.pm:447
-msgid "Jul."
-msgstr "Jul."
-
-#: NOT FOUND IN SOURCE
-msgid "July"
-msgstr "Juli"
-
-#: html/Ticket/Elements/Tabs:125
-msgid "Jumbo"
-msgstr "Total"
-
-#: lib/RT/Date.pm:446
-msgid "Jun."
-msgstr "Jun."
-
-#: NOT FOUND IN SOURCE
-msgid "June"
-msgstr "Juni"
-
-#: NOT FOUND IN SOURCE
-msgid "Keyword"
-msgstr "Nøkkelord"
-
-#: NOT FOUND IN SOURCE
-msgid "Lang"
-msgstr "Språk"
-
-#: html/Admin/Users/Modify.html:94 html/User/Prefs.html:76
-msgid "Language"
-msgstr ""
-
-#: html/Search/Elements/EditFormat:79
-msgid "Large"
-msgstr ""
-
-#: html/Ticket/Elements/Tabs:96
-msgid "Last"
-msgstr "Siste"
-
-#: html/Ticket/Elements/EditDates:59 html/Ticket/Elements/ShowDates:60
-msgid "Last Contact"
-msgstr "Siste Kontakt"
-
-#: html/Elements/SelectDateType:50
-msgid "Last Contacted"
-msgstr "Sist kontaktet"
-
-#: NOT FOUND IN SOURCE
-msgid "Last Notified"
-msgstr "Sist Informert"
-
-#: html/Elements/SelectDateType:51
-msgid "Last Updated"
-msgstr "Sist Oppdatert"
-
-#: NOT FOUND IN SOURCE
-msgid "LastUpdated"
-msgstr "SistOppdatert"
-
-#: html/Search/Elements/PickBasics:103
-msgid "LastUpdatedBy"
-msgstr ""
-
-#: html/Ticket/Elements/ShowBasics:68
-msgid "Left"
-msgstr "Igjen"
-
-#: html/Admin/Users/Modify.html:109
-msgid "Let this user access RT"
-msgstr "La denne brukeren få tilgang til RT"
-
-#: html/Admin/Users/Modify.html:113
-msgid "Let this user be granted rights"
-msgstr "La denne brukeren få rettigheter"
-
-#: NOT FOUND IN SOURCE
-msgid "Limiting owner to %1 %2"
-msgstr "Begrenser eier til %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Limiting queue to %1 %2"
-msgstr "Begrenser køen til %1 %2"
-
-#: html/Search/Elements/EditFormat:68
-msgid "Link"
-msgstr ""
-
-#: lib/RT/Record.pm:1306
-msgid "Link already exists"
-msgstr "Lenke finnes alt"
-
-#: lib/RT/Record.pm:1320
-msgid "Link could not be created"
-msgstr "Lenke kunne ikke opprettes"
-
-#: lib/RT/Record.pm:1326
-#. ($TransString)
-msgid "Link created (%1)"
-msgstr "Lenke opprettet (%1)"
-
-#: lib/RT/Record.pm:1387
-#. ($TransString)
-msgid "Link deleted (%1)"
-msgstr "Lenke slettet (%1)"
-
-#: lib/RT/Record.pm:1393
-msgid "Link not found"
-msgstr "Lenke ble ikke funnet"
-
-#: html/Ticket/ModifyLinks.html:46 html/Ticket/ModifyLinks.html:50
-#. ($Ticket->Id)
-msgid "Link ticket #%1"
-msgstr "Knytt sak #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Link ticket %1"
-msgstr "Knytt sak %1"
-
-#: html/Admin/CustomFields/Modify.html:102
-msgid "Link values to"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:700
-msgid "Linking. Permission denied"
-msgstr ""
-
-#: html/Ticket/Create.html:216 html/Ticket/Elements/ShowSummary:89 html/Ticket/Elements/Tabs:120 html/Ticket/ModifyAll.html:78
-msgid "Links"
-msgstr "Lenker"
-
-#: html/Search/Elements/EditSearches:75
-msgid "Load"
-msgstr ""
-
-#: html/Search/Elements/EditSearches:73
-msgid "Load saved search:"
-msgstr ""
-
-#: lib/RT/System.pm:86
-msgid "LoadSavedSearch"
-msgstr ""
-
-#: html/Admin/Tools/Configuration.html:64
-msgid "Loaded perl modules"
-msgstr ""
-
-#: lib/RT/SavedSearch.pm:111
-#. ($self->Name)
-msgid "Loaded search %1"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:138 html/User/Prefs.html:126
-msgid "Location"
-msgstr "Lokasjon"
-
-#: NOT FOUND IN SOURCE
-msgid "Log directory %1 not found or couldn't be written.\\n RT can't run."
-msgstr "Logkatalogen %1 ble ikke funnet eller kunne ikke skrives til.\\nRT kan ikke kjøre."
-
-#: html/Elements/Header:91
-#. ("<span>".$session{'CurrentUser'}->Name."</span>")
-msgid "Logged in as %1"
-msgstr "Logget inn som %1"
-
-#: docs/design_docs/string-extraction-guide.txt:71 html/Elements/Login:100 html/Elements/Login:68 html/Elements/Login:84 lib/RT/StyleGuide.pod:797
-msgid "Login"
-msgstr "Innlogging"
-
-#: html/Elements/Header:101
-msgid "Logout"
-msgstr "Logg av"
-
-#: lib/RT/CustomField_Overlay.pm:932
-msgid "Lookup type mismatch"
-msgstr ""
-
-#: html/Search/Bulk.html:82
-msgid "Make Owner"
-msgstr "Sett Eier"
-
-#: html/Search/Bulk.html:106
-msgid "Make Status"
-msgstr "Sett Status"
-
-#: html/Search/Bulk.html:114
-msgid "Make date Due"
-msgstr "Sett tidsfrist "
-
-#: html/Search/Bulk.html:116
-msgid "Make date Resolved"
-msgstr "Sett løsningsdato"
-
-#: html/Search/Bulk.html:110
-msgid "Make date Started"
-msgstr "Sett startdato"
-
-#: html/Search/Bulk.html:108
-msgid "Make date Starts"
-msgstr "Sett startdato"
-
-#: html/Search/Bulk.html:112
-msgid "Make date Told"
-msgstr "Sett informert dato"
-
-#: html/Search/Bulk.html:102
-msgid "Make priority"
-msgstr "Sett prioritet"
-
-#: html/Search/Bulk.html:104
-msgid "Make queue"
-msgstr "Sett Kø"
-
-#: html/Search/Bulk.html:100
-msgid "Make subject"
-msgstr "Sett Emne"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "Make this group visible to user"
-msgstr ""
-
-#: html/Admin/index.html:78
-msgid "Manage custom fields and custom field values"
-msgstr ""
-
-#: html/Admin/index.html:69
-msgid "Manage groups and group membership"
-msgstr "Sett grupper og gruppemedlemsskap"
-
-#: html/Admin/index.html:85
-msgid "Manage properties and configuration which apply to all queues"
-msgstr "Rediger egenskaper og konfigurasjon som gjelder for alle køer"
-
-#: html/Admin/index.html:74
-msgid "Manage queues and queue-specific properties"
-msgstr "Rediger køer og kø-spesifike egenskaper"
-
-#: html/Admin/index.html:64
-msgid "Manage users and passwords"
-msgstr "Rediger brukere og passord"
-
-#: lib/RT/Date.pm:443
-msgid "Mar."
-msgstr "Mar."
-
-#: NOT FOUND IN SOURCE
-msgid "March"
-msgstr "Mars"
-
-#: NOT FOUND IN SOURCE
-msgid "May"
-msgstr "Mai"
-
-#: lib/RT/Date.pm:445
-msgid "May."
-msgstr "Mai."
-
-#: lib/RT/Transaction_Overlay.pm:731
-#. ($value)
-msgid "Member %1 added"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:771
-#. ($value)
-msgid "Member %1 deleted"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:1000
-msgid "Member added"
-msgstr "Medlem lagt til"
-
-#: lib/RT/Group_Overlay.pm:1162
-msgid "Member deleted"
-msgstr "Medlem slettet"
-
-#: lib/RT/Group_Overlay.pm:1166
-msgid "Member not deleted"
-msgstr "Medlem ikke slettet"
-
-#: html/Elements/SelectLinkType:47
-msgid "Member of"
-msgstr "Medlem av"
-
-#: NOT FOUND IN SOURCE
-msgid "MemberOf"
-msgstr "MedlemAv"
-
-#: html/Admin/Elements/GroupTabs:63 html/User/Elements/GroupTabs:63
-msgid "Members"
-msgstr "Medlemmer"
-
-#: lib/RT/Transaction_Overlay.pm:728
-#. ($value)
-msgid "Membership in %1 added"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:768
-#. ($value)
-msgid "Membership in %1 deleted"
-msgstr ""
-
-#: html/Admin/Elements/UserTabs:61
-msgid "Memberships"
-msgstr ""
-
-#: html/Admin/Users/Memberships.html:60
-#. ($UserObj->Name)
-msgid "Memberships of the user %1"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:2893
-msgid "Merge Successful"
-msgstr "Fletting vellykket"
-
-#: lib/RT/Ticket_Overlay.pm:2780
-msgid "Merge failed. Couldn't set EffectiveId"
-msgstr "Fletting feilet. Kunne ikke sette EffektivId"
-
-#: lib/RT/Ticket_Overlay.pm:2788
-msgid "Merge failed. Couldn't set Status"
-msgstr ""
-
-#: html/Elements/EditLinks:131 html/Ticket/Elements/BulkLinks:48
-msgid "Merge into"
-msgstr "Flett inn i"
-
-#: lib/RT/Transaction_Overlay.pm:734
-#. ($value)
-msgid "Merged into %1"
-msgstr ""
-
-#: html/Search/Bulk.html:143 html/Ticket/Update.html:118
-msgid "Message"
-msgstr "Melding"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:164
-msgid "Message body not shown because it is too large or is not plain text."
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:2451
-msgid "Message could not be recorded"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:2454
-msgid "Message recorded"
-msgstr ""
-
-#: html/Ticket/Elements/PreviewScrips:122
-msgid "Messages about this ticket will not be sent to..."
-msgstr ""
-
-#: html/Elements/SelectTimeUnits:47
-msgid "Minutes"
-msgstr ""
-
-#: html/Search/Build.html:490 lib/RT/Report/Tickets.pm:445
-msgid "Mismatched parentheses"
-msgstr ""
-
-#: lib/RT/Record.pm:954
-msgid "Missing a primary key?: %1"
-msgstr "Mangler en primærnøkkel?: %1"
-
-#: html/Admin/Users/Modify.html:193 html/User/Prefs.html:92
-msgid "Mobile"
-msgstr "Mobil"
-
-#: NOT FOUND IN SOURCE
-msgid "MobilePhone"
-msgstr "MobilTelefon"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "Modify Access Control List"
-msgstr "Endre Tilgangslister"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Custom Field %1"
-msgstr "Endre Fleksifeltet %1"
-
-#: html/Admin/Elements/ObjectCustomFields:96
-#. (loc(lc($FriendlySubTypes)), loc(lc($Types)))
-msgid "Modify Custom Fields which apply to %1 for all %2"
-msgstr ""
-
-#: html/Admin/Elements/ObjectCustomFields:98
-#. (loc(lc($Types)))
-msgid "Modify Custom Fields which apply to all %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Custom Fields which apply to all queues"
-msgstr "Endre Fleksifelt som gjelder for alle køer"
-
-#: html/Admin/Global/GroupRights.html:106 html/Admin/Groups/GroupRights.html:94 html/Admin/Queues/GroupRights.html:107
-msgid "Modify Group Rights"
-msgstr ""
-
-#: html/Admin/Groups/Members.html:105 html/User/Groups/Members.html:101
-msgid "Modify Members"
-msgstr ""
-
-#: html/User/Delegation.html:58
-msgid "Modify Rights"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "Modify Scrip templates for this queue"
-msgstr "Endre Scripmaler for denne køen"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "Modify Scrips for this queue"
-msgstr "Endre Scrips for denne køen"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify System ACLS"
-msgstr "Endre SystemACLer"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Template %1"
-msgstr "Endre Malen %1"
-
-#: html/Admin/Global/UserRights.html:75 html/Admin/Groups/UserRights.html:76 html/Admin/Queues/UserRights.html:75
-msgid "Modify User Rights"
-msgstr ""
-
-#: html/Admin/Queues/CustomField.html:66
-#. ($QueueObj->Name())
-msgid "Modify a CustomField for queue %1"
-msgstr "Endre et fleksifelt for køen %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify a CustomField that applies to all queues"
-msgstr "Endre et fleksifelt som gjelder for alle køer"
-
-#: html/Admin/Queues/Scrip.html:82
-#. ($QueueObj->Name)
-msgid "Modify a scrip for queue %1"
-msgstr "Endre et scrip for køen %1"
-
-#: html/Admin/Global/Scrip.html:75
-msgid "Modify a scrip that applies to all queues"
-msgstr "Endre et scrip som gjelder for alle køer"
-
-#: html/Admin/CustomFields/Objects.html:90
-#. ($CF->Name)
-msgid "Modify associated objects for %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Modify dates for # %1"
-msgstr "Endre datoer for # %1"
-
-#: html/Ticket/ModifyDates.html:46 html/Ticket/ModifyDates.html:50
-#. ($TicketObj->Id)
-msgid "Modify dates for #%1"
-msgstr "Endre datoer for #%1"
-
-#: html/Ticket/ModifyDates.html:57
-#. ($TicketObj->Id)
-msgid "Modify dates for ticket # %1"
-msgstr "Endre datoer for sak # %1"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:65 html/Admin/Global/index.html:72
-msgid "Modify global custom fields"
-msgstr ""
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:70 html/Admin/Global/GroupRights.html:46 html/Admin/Global/GroupRights.html:49 html/Admin/Global/index.html:77
-msgid "Modify global group rights"
-msgstr "Endre globale grupperettigheter"
-
-#: html/Admin/Global/GroupRights.html:54
-msgid "Modify global group rights."
-msgstr "Endre globale grupperettigheter"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global rights for groups"
-msgstr "Endre globale rettigheter for grupper"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global rights for users"
-msgstr "Endre globale rettigheter for brukere"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global scrips"
-msgstr "Endre globale scrips"
-
-#: html/Admin/Global/UserRights.html:46 html/Admin/Global/UserRights.html:49 html/Admin/Global/index.html:81
-msgid "Modify global user rights"
-msgstr "Endre globale brukerrettigheter"
-
-#: html/Admin/Global/UserRights.html:54
-msgid "Modify global user rights."
-msgstr "Endre globale brukerrettigheter"
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "Modify group metadata or delete group"
-msgstr "Endre gruppens metadata eller slette gruppen"
-
-#: html/Admin/CustomFields/GroupRights.html:164
-#. ($CustomFieldObj->Name)
-msgid "Modify group rights for custom field %1"
-msgstr ""
-
-#: html/Admin/Groups/GroupRights.html:46 html/Admin/Groups/GroupRights.html:50 html/Admin/Groups/GroupRights.html:56
-#. ($GroupObj->Name)
-msgid "Modify group rights for group %1"
-msgstr "Endre grupperettigheter for %1 gruppen"
-
-#: html/Admin/Queues/GroupRights.html:46 html/Admin/Queues/GroupRights.html:50
-#. ($QueueObj->Name)
-msgid "Modify group rights for queue %1"
-msgstr "Endre grupperettigheter %1 køen"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "Modify membership roster for this group"
-msgstr "Endre medlemsliste for denne gruppen"
-
-#: lib/RT/System.pm:82
-msgid "Modify one's own RT account"
-msgstr "Endre sin egen RT konto"
-
-#: html/Admin/Queues/People.html:46 html/Admin/Queues/People.html:50
-#. ($QueueObj->Name)
-msgid "Modify people related to queue %1"
-msgstr "Endre hvem som er relatert til %1 køen"
-
-#: html/Ticket/ModifyPeople.html:46 html/Ticket/ModifyPeople.html:50 html/Ticket/ModifyPeople.html:57
-#. ($Ticket->id)
-#. ($Ticket->Id)
-msgid "Modify people related to ticket #%1"
-msgstr "Endre hvem som er relater til sak #%1"
-
-#: html/Admin/Queues/Scrips.html:67
-#. ($QueueObj->Name)
-msgid "Modify scrips for queue %1"
-msgstr "Endre scrips for %1 køen"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:56 html/Admin/Global/Scrips.html:65 html/Admin/Global/index.html:63
-msgid "Modify scrips which apply to all queues"
-msgstr "Endre scrips som gjelder alle køer"
-
-#: html/Admin/Global/Template.html:102 html/Admin/Global/Template.html:46 html/Admin/Global/Template.html:51 html/Admin/Queues/Template.html:99
-#. (loc($TemplateObj->Name()))
-#. ($TemplateObj->id)
-msgid "Modify template %1"
-msgstr "Endre mal %1"
-
-#: html/Admin/Global/Templates.html:65
-msgid "Modify templates which apply to all queues"
-msgstr "Endre maler som gjelder for alle køer"
-
-#: html/Admin/Global/index.html:85
-msgid "Modify the default \"RT at a glance\" view"
-msgstr ""
-
-#: html/Admin/Groups/Modify.html:119 html/User/Groups/Modify.html:107
-#. ($Group->Name)
-msgid "Modify the group %1"
-msgstr "Endre gruppen %1"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "Modify the queue watchers"
-msgstr "Endre overvåkere for køen"
-
-#: html/Admin/Users/Modify.html:309
-#. ($UserObj->Name)
-msgid "Modify the user %1"
-msgstr "Endre brukeren %1"
-
-#: html/Ticket/ModifyAll.html:58
-#. ($Ticket->Id)
-msgid "Modify ticket # %1"
-msgstr "Endre sak # %1"
-
-#: html/Ticket/Modify.html:46 html/Ticket/Modify.html:49 html/Ticket/Modify.html:55
-#. ($TicketObj->Id)
-msgid "Modify ticket #%1"
-msgstr "Endre sak #%1"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "Modify tickets"
-msgstr "Endre saker"
-
-#: html/Admin/CustomFields/UserRights.html:157
-#. ($CustomFieldObj->Name)
-msgid "Modify user rights for custom field %1"
-msgstr ""
-
-#: html/Admin/Groups/UserRights.html:46 html/Admin/Groups/UserRights.html:50 html/Admin/Groups/UserRights.html:56
-#. ($GroupObj->Name)
-msgid "Modify user rights for group %1"
-msgstr "Endre brukerrettigheter for %1 gruppen"
-
-#: html/Admin/Queues/UserRights.html:46 html/Admin/Queues/UserRights.html:50
-#. ($QueueObj->Name)
-msgid "Modify user rights for queue %1"
-msgstr "Endre brukerrettigheter for %1 køen"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify watchers for queue '%1'"
-msgstr "Endre overvåkere for '%1' køen"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "ModifyACL"
-msgstr "EndreACL"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "ModifyCustomField"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "ModifyOwnMembership"
-msgstr "EndreEgetMedlemskap"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "ModifyQueueWatchers"
-msgstr "EndreKøOvervåkere"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "ModifyScrips"
-msgstr "EndreScrips"
-
-#: lib/RT/System.pm:82
-msgid "ModifySelf"
-msgstr "EndreSegSelv"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "ModifyTemplate"
-msgstr "EndreMal"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "ModifyTicket"
-msgstr "EndreSak"
-
-#: lib/RT/Date.pm:417
-msgid "Mon."
-msgstr "Man."
-
-#: html/Ticket/Elements/ShowRequestor:61
-#. ($name)
-msgid "More about %1"
-msgstr "Mer om %1"
-
-#: html/Admin/Elements/PickCustomFields:83
-msgid "Move down"
-msgstr "Flytt ned"
-
-#: html/Admin/Elements/PickCustomFields:75
-msgid "Move up"
-msgstr "Flytt opp"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:48
-msgid "Multiple"
-msgstr "Flere"
-
-#: lib/RT/User_Overlay.pm:226
-msgid "Must specify 'Name' attribute"
-msgstr "Må spesifisere attributten 'Navn'"
-
-#: html/SelfService/Elements/MyRequests:57
-#. ($friendly_status)
-msgid "My %1 tickets"
-msgstr "Mine %1 saker"
-
-#: NOT FOUND IN SOURCE
-msgid "My Approvals"
-msgstr "Mine saker til godkjenning"
-
-#: html/Tools/Elements/Tabs:63
-msgid "My Day"
-msgstr ""
-
-#: html/Approvals/index.html:46 html/Approvals/index.html:47
-msgid "My approvals"
-msgstr "Mine saker til godkjenning"
-
-#: html/Search/Elements/SearchPrivacy:50 html/Search/Elements/SelectSearchObject:53 html/Search/Elements/SelectSearchesForObjects:54
-msgid "My saved searches"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:58 html/Admin/Elements/AddCustomFieldValue:53 html/Admin/Elements/EditCustomField:55 html/Admin/Elements/EditCustomFieldValues:55 html/Admin/Elements/ModifyTemplate:49 html/Admin/Groups/Modify.html:65 html/Search/Bulk.html:157 html/User/Groups/Modify.html:65
-msgid "Name"
-msgstr "Navn"
-
-#: lib/RT/User_Overlay.pm:233
-msgid "Name in use"
-msgstr "Navnet er i bruk"
-
-#: NOT FOUND IN SOURCE
-msgid "Need approval from system administrator"
-msgstr "Trenger godkjennelse fra systemadministrator"
-
-#: html/Ticket/Elements/ShowDates:73
-msgid "Never"
-msgstr "Aldri"
-
-#: NOT FOUND IN SOURCE
-msgid "New"
-msgstr "Ny"
-
-#: html/Elements/EditLinks:117
-msgid "New Links"
-msgstr "Nye forhold"
-
-#: html/Admin/Users/Modify.html:119 html/User/Prefs.html:109
-msgid "New Password"
-msgstr "Nytt Passord"
-
-#: etc/initialdata:332
-msgid "New Pending Approval"
-msgstr "Ny, Venter på Godkjennelse"
-
-#: html/Ticket/Elements/Tabs:212
-msgid "New Search"
-msgstr "Nytt Søk"
-
-#: html/Admin/Elements/CustomFieldTabs:93 html/Admin/Queues/CustomField.html:73
-msgid "New custom field"
-msgstr "Nytt fleksifelt"
-
-#: html/Admin/Elements/GroupTabs:77 html/User/Elements/GroupTabs:73
-msgid "New group"
-msgstr "Ny gruppe"
-
-#: html/SelfService/Prefs.html:53
-msgid "New password"
-msgstr "Nytt passord"
-
-#: lib/RT/User_Overlay.pm:816
-msgid "New password notification sent"
-msgstr "Melding om nytt passord sendt"
-
-#: html/Admin/Elements/QueueTabs:95
-msgid "New queue"
-msgstr "Ny kø"
-
-#: html/Ticket/Elements/Reminders:118
-msgid "New reminder:"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "New request"
-msgstr "Ny forespørsel"
-
-#: html/Admin/Elements/SelectRights:65
-msgid "New rights"
-msgstr "Nye rettigheter"
-
-#: html/Admin/Global/Scrip.html:63 html/Admin/Global/Scrips.html:60 html/Admin/Queues/Scrip.html:71 html/Admin/Queues/Scrips.html:76
-msgid "New scrip"
-msgstr "Nytt scrip"
-
-#: NOT FOUND IN SOURCE
-msgid "New search"
-msgstr "Nytt søk"
-
-#: html/Admin/Global/Template.html:81 html/Admin/Global/Templates.html:60 html/Admin/Queues/Template.html:79 html/Admin/Queues/Templates.html:71
-msgid "New template"
-msgstr "Ny mal"
-
-#: html/SelfService/Elements/Tabs:84 html/SelfService/Elements/Tabs:88
-msgid "New ticket"
-msgstr "Ny sak"
-
-#: lib/RT/Ticket_Overlay.pm:2757
-msgid "New ticket doesn't exist"
-msgstr "Ny sak eksistere ikke"
-
-#: html/Admin/Elements/UserTabs:81
-msgid "New user"
-msgstr "Ny bruker"
-
-#: html/Admin/Elements/CreateUserCalled:47
-msgid "New user called"
-msgstr "Ny bruker kalt"
-
-#: html/Admin/Queues/People.html:76 html/Ticket/Elements/EditPeople:50
-msgid "New watchers"
-msgstr "Ny overvåker"
-
-#: NOT FOUND IN SOURCE
-msgid "New window setting"
-msgstr "Instillinger for nytt vindu"
-
-#: html/Helpers/CalPopup.html:58 html/Ticket/Elements/Tabs:92
-msgid "Next"
-msgstr "Neste"
-
-#: html/Elements/TicketList:104
-msgid "Next Page"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Next page"
-msgstr "Neste side"
-
-#: NOT FOUND IN SOURCE
-msgid "NickName"
-msgstr "KalleNavn"
-
-#: html/Admin/Users/Modify.html:84 html/User/Prefs.html:72
-msgid "Nickname"
-msgstr "Kallenavn"
-
-#: html/Admin/CustomFields/UserRights.html:145
-msgid "No Class defined"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:166 html/Admin/Elements/EditCustomField:119
-msgid "No CustomField"
-msgstr "Ingen FleksiFelt"
-
-#: html/Admin/CustomFields/GroupRights.html:103
-msgid "No CustomField defined"
-msgstr ""
-
-#: html/Admin/Groups/GroupRights.html:105 html/Admin/Groups/UserRights.html:92
-msgid "No Group defined"
-msgstr "Ingen grupper definert"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:482
-msgid "No Query"
-msgstr ""
-
-#: html/Admin/Queues/GroupRights.html:118 html/Admin/Queues/UserRights.html:89
-msgid "No Queue defined"
-msgstr "Ingen kø definert"
-
-#: bin/rt-crontool:73
-msgid "No RT user found. Please consult your RT administrator.\\n"
-msgstr "Ingen RT bruker funnet. Vennligst referer til manualen.\\n"
-
-#: html/Admin/Global/Template.html:100 html/Admin/Queues/Template.html:97
-msgid "No Template"
-msgstr "Ingen Mal"
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket "
-msgstr "Ingen sak oppgitt. Avbryter sak "
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket modifications\\n\\n"
-msgstr "Ingen Sak oppgitt. Avbryter saksendring\\n\\n"
-
-#: html/Approvals/Elements/Approve:77
-msgid "No action"
-msgstr "Ingen handling"
-
-#: lib/RT/Record.pm:949
-msgid "No column specified"
-msgstr "Ingen kolonne spesifisert"
-
-#: NOT FOUND IN SOURCE
-msgid "No command found\\n"
-msgstr "Ingen kommando funnet\\n"
-
-#: html/Ticket/Elements/ShowRequestor:68
-msgid "No comment entered about this user"
-msgstr "Ingen kommentar skrevet om denne brukeren"
-
-#: NOT FOUND IN SOURCE
-msgid "No correspondence attached"
-msgstr "Ingen korrespondanse vedlagt"
-
-#: lib/RT/Action/Generic.pm:185 lib/RT/Condition/Generic.pm:197 lib/RT/Search/ActiveTicketsInQueue.pm:77 lib/RT/Search/Generic.pm:134 lib/RT/Search/Googleish.pm:78
-#. (ref $self)
-msgid "No description for %1"
-msgstr "Ingen beskrivelse for %1"
-
-#: lib/RT/Users_Overlay.pm:190
-msgid "No group specified"
-msgstr "Ingen gruppe spesifisert"
-
-#: html/Admin/Groups/index.html:52
-msgid "No groups matching search criteria found."
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:2393
-msgid "No message attached"
-msgstr ""
-
-#: lib/RT/User_Overlay.pm:1034
-msgid "No password set"
-msgstr "Passordet er ikke satt"
-
-#: lib/RT/Queue_Overlay.pm:361
-msgid "No permission to create queues"
-msgstr "Ingen tilgang til å opprette køer"
-
-#: lib/RT/Ticket_Overlay.pm:420
-#. ($QueueObj->Name)
-msgid "No permission to create tickets in the queue '%1'"
-msgstr "Ikke tilgang til å opprette saker for køen '%1'"
-
-#: lib/RT/User_Overlay.pm:186
-msgid "No permission to create users"
-msgstr "Ikke tilgang til å opprette brukere"
-
-#: html/SelfService/Display.html:167
-msgid "No permission to display that ticket"
-msgstr "Ikke tilgang til å vise den saken"
-
-#: lib/RT/SavedSearch.pm:156
-msgid "No permission to save system-wide searches"
-msgstr ""
-
-#: html/SelfService/Update.html:117
-msgid "No permission to view update ticket"
-msgstr "Ingen tilgang til å se oppdatering av saken"
-
-#: lib/RT/Queue_Overlay.pm:795 lib/RT/Ticket_Overlay.pm:1489
-msgid "No principal specified"
-msgstr "Ingen primær spesifisert"
-
-#: html/Admin/Queues/People.html:175 html/Admin/Queues/People.html:185
-msgid "No principals selected."
-msgstr "Ingen primære spesifisert"
-
-#: html/Admin/Queues/index.html:57
-msgid "No queues matching search criteria found."
-msgstr "Det er ingen køer som matcher søkekriteriet"
-
-#: html/Admin/Elements/SelectRights:106
-msgid "No rights found"
-msgstr "Ingen rettigheter funnet"
-
-#: html/Admin/Elements/SelectRights:53
-msgid "No rights granted."
-msgstr "Ingen rettigheter tildelt"
-
-#: lib/RT/SavedSearch.pm:196
-msgid "No search loaded"
-msgstr ""
-
-#: html/Search/Bulk.html:232
-msgid "No search to operate on."
-msgstr "Ingen søk å behandle"
-
-#: html/Elements/RT__Ticket/ColumnMap:137 html/Search/Results.rdf:78
-msgid "No subject"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "No ticket id specified"
-msgstr "Ingen saksid oppgitt"
-
-#: lib/RT/Transaction_Overlay.pm:528 lib/RT/Transaction_Overlay.pm:565
-msgid "No transaction type specified"
-msgstr "Transaksjonstype ikke spesifisert"
-
-#: NOT FOUND IN SOURCE
-msgid "No user or email address specified"
-msgstr "Ingen bruker eller epostaddresse oppgitt"
-
-#: html/Admin/Users/index.html:55
-msgid "No users matching search criteria found."
-msgstr "Fant ingen brukere som treffer søkekriteriene."
-
-#: NOT FOUND IN SOURCE
-msgid "No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\\n"
-msgstr "Fant ingen gyldig RT bruker. RT cvs handler avstengt. Kontakt din RT administrator.\\n"
-
-#: lib/RT/Record.pm:946
-msgid "No value sent to _Set!\\n"
-msgstr "Ingen verdi sendt til _Set!\\n"
-
-#: html/Elements/QuickCreate:59
-msgid "Nobody"
-msgstr "Ingen"
-
-#: lib/RT/Record.pm:951
-msgid "Nonexistant field?"
-msgstr "Ukjent felt?"
-
-#: html/Search/Chart:71 html/Search/Elements/Chart:88
-msgid "Not Set"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Not logged in"
-msgstr "Ikke logget inn"
-
-#: html/Elements/Header:96
-msgid "Not logged in."
-msgstr "Ikke logget inn."
-
-#: lib/RT/Date.pm:397
-msgid "Not set"
-msgstr "Ikke satt"
-
-#: html/NoAuth/Reminder.html:48
-msgid "Not yet implemented."
-msgstr "Ikke implementert enda."
-
-#: NOT FOUND IN SOURCE
-msgid "Not yet implemented...."
-msgstr "Ikke implementert enda...."
-
-#: html/Approvals/Elements/Approve:81
-msgid "Notes"
-msgstr "Notater"
-
-#: lib/RT/User_Overlay.pm:819
-msgid "Notification could not be sent"
-msgstr "Melding kunne ikke sendes"
-
-#: etc/initialdata:101
-msgid "Notify AdminCcs"
-msgstr "Raporter til AdminCc"
-
-#: etc/initialdata:97
-msgid "Notify AdminCcs as Comment"
-msgstr "Rapporter til AdminCc som kommentar"
-
-#: 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 ""
-
-#: etc/initialdata:128
-msgid "Notify Other Recipients"
-msgstr "Rapporter til andre mottakere"
-
-#: etc/initialdata:124
-msgid "Notify Other Recipients as Comment"
-msgstr "Rapporter til andre mottakere som kommentar"
-
-#: etc/initialdata:85
-msgid "Notify Owner"
-msgstr "Rapporter til eier"
-
-#: etc/initialdata:81
-msgid "Notify Owner as Comment"
-msgstr "Rapportert til eier som kommentar"
-
-#: 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 "Rapporter til Eiere og AdminCc om nye ting som venter på godkjenning"
-
-#: etc/initialdata:77
-msgid "Notify Requestors"
-msgstr "Rapporter til kunde"
-
-#: etc/initialdata:111
-msgid "Notify Requestors and Ccs"
-msgstr "Rapporter til Kunder og Cc"
-
-#: etc/initialdata:106
-msgid "Notify Requestors and Ccs as Comment"
-msgstr "Rapporter til Kunder og Cc som kommentar"
-
-#: etc/initialdata:120
-msgid "Notify Requestors, Ccs and AdminCcs"
-msgstr "Rapporter til Kunder Cc og AdminCc"
-
-#: etc/initialdata:116
-msgid "Notify Requestors, Ccs and AdminCcs as Comment"
-msgstr "Rapporter til Kunder Cc og AdminCc som Kommentar"
-
-#: lib/RT/Date.pm:451
-msgid "Nov."
-msgstr "Nov."
-
-#: NOT FOUND IN SOURCE
-msgid "November"
-msgstr "November"
-
-#: html/Search/Elements/SelectAndOr:47
-msgid "OR"
-msgstr ""
-
-#: lib/RT/Record.pm:322
-msgid "Object could not be created"
-msgstr "Objekter kunne ikke opprettes"
-
-#: lib/RT/Record.pm:123
-msgid "Object could not be deleted"
-msgstr ""
-
-#: lib/RT/Record.pm:341
-msgid "Object created"
-msgstr "Objektet ble opprettet"
-
-#: lib/RT/Record.pm:120
-msgid "Object deleted"
-msgstr ""
-
-#: html/Admin/CustomFields/Objects.html:72 html/Admin/Elements/ObjectCustomFields:63
-#. ($ObjectType)
-#. ($LookupType)
-msgid "Object of type %1 cannot take custom fields"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:967
-msgid "Object type mismatch"
-msgstr ""
-
-#: lib/RT/Date.pm:450
-msgid "Oct."
-msgstr "Okt."
-
-#: NOT FOUND IN SOURCE
-msgid "October"
-msgstr "Oktober"
-
-#: html/Tools/Elements/Tabs:55
-msgid "Offline"
-msgstr ""
-
-#: html/Tools/Offline.html:49
-msgid "Offline edits"
-msgstr ""
-
-#: html/Tools/Offline.html:46
-msgid "Offline upload"
-msgstr ""
-
-#: html/Elements/SelectDateRelation:56
-msgid "On"
-msgstr "Ved"
-
-#: lib/RT/Transaction_Overlay.pm:326
-#. ($self->CreatedAsString(), $self->CreatorObj->Name())
-msgid "On %1, %2 wrote:"
-msgstr ""
-
-#: etc/initialdata:163
-msgid "On Comment"
-msgstr "Ved Kommentar"
-
-#: etc/initialdata:156
-msgid "On Correspond"
-msgstr "Ved Korrespondanse"
-
-#: etc/initialdata:145
-msgid "On Create"
-msgstr "Ved Opprettelse"
-
-#: etc/initialdata:184
-msgid "On Owner Change"
-msgstr "Ved Eierskifte"
-
-#: etc/initialdata:177 etc/upgrade/3.1.17/content:15
-msgid "On Priority Change"
-msgstr ""
-
-#: etc/initialdata:192
-msgid "On Queue Change"
-msgstr "Ved Køendring"
-
-#: etc/initialdata:198
-msgid "On Resolve"
-msgstr "Ved Løsning"
-
-#: etc/initialdata:169
-msgid "On Status Change"
-msgstr "Ved statusendring"
-
-#: etc/initialdata:150
-msgid "On Transaction"
-msgstr "Ved Transaksjon"
-
-#: html/Approvals/Elements/PendingMyApproval:70
-#. ("<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 "Vis kun godkjennelse for saker opprettet etter %1"
-
-#: html/Approvals/Elements/PendingMyApproval:68
-#. ("<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 "Bare vis godkjennelse for saker opprettet før %1"
-
-#: html/Admin/CustomFields/index.html:75
-msgid "Only show custom fields for:"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Open"
-msgstr "Åpne"
-
-#: html/SelfService/index.html:46
-msgid "Open Tickets"
-msgstr ""
-
-#: html/Ticket/Elements/Tabs:160
-msgid "Open it"
-msgstr "Åpne den"
-
-#: NOT FOUND IN SOURCE
-msgid "Open requests"
-msgstr "Åpne forespørsler"
-
-#: html/SelfService/Elements/Tabs:75
-msgid "Open tickets"
-msgstr "Åpne saker"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in a new window"
-msgstr "Åpne saker (fra utlisting) i et nytt vindu"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in another window"
-msgstr "Åpne saker (fra utlisting) it et annet vinud"
-
-#: etc/initialdata:140
-msgid "Open tickets on correspondence"
-msgstr "Åpne saker ved korrespondanse"
-
-#: html/Prefs/MyRT.html:70
-msgid "Options"
-msgstr ""
-
-#: html/Search/Elements/DisplayOptions:59
-msgid "Order by"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Ordering and sorting"
-msgstr "Rekkefølge og sortering"
-
-#: html/Admin/Users/Modify.html:141 html/User/Prefs.html:129
-msgid "Organization"
-msgstr "Organisasjon"
-
-#: html/Approvals/Elements/Approve:53
-#. ($approving->Id, $approving->Subject)
-msgid "Originating ticket: #%1"
-msgstr "Opprinnelig sak: #%1"
-
-#: lib/RT/Transaction_Overlay.pm:622
-msgid "Outgoing email about a comment recorded"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:626
-msgid "Outgoing email recorded"
-msgstr ""
-
-#: html/Admin/Queues/Modify.html:90
-msgid "Over time, priority moves toward"
-msgstr "Over tid beveger prioriteten seg mot"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "Own tickets"
-msgstr "Eie saker"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "OwnTicket"
-msgstr "EieSak"
-
-#: etc/initialdata:38 html/Elements/QuickCreate:56 html/Search/Elements/PickBasics:101 html/Ticket/Create.html:72 html/Ticket/Elements/EditBasics:61 html/Ticket/Elements/EditPeople:64 html/Ticket/Elements/EditPeople:65 html/Ticket/Elements/Reminders:129 html/Ticket/Elements/ShowPeople:48 html/Ticket/Update.html:62 lib/RT/ACE_Overlay.pm:110 lib/RT/Tickets_Overlay.pm:2006
-msgid "Owner"
-msgstr "Eier"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner changed from %1 to %2"
-msgstr "Eier endret fra %1 til %2"
-
-#: lib/RT/Ticket_Overlay.pm:505
-msgid "Owner could not be set."
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:672
-#. ($Old->Name , $New->Name)
-msgid "Owner forcibly changed from %1 to %2"
-msgstr "Eier ble tvunget til å endres fra %1 til %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner is"
-msgstr "Eier er"
-
-#: html/Elements/TicketList:78
-#. ($Page, int($TotalFound/$Rows)+$oddRows)
-msgid "Page %1 of %2"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:198 html/User/Prefs.html:96
-msgid "Pager"
-msgstr "Personsøker"
-
-#: NOT FOUND IN SOURCE
-msgid "PagerPhone"
-msgstr "PersonSøker"
-
-#: NOT FOUND IN SOURCE
-msgid "Parent"
-msgstr "Forelder"
-
-#: html/Elements/EditLinks:144 html/Elements/EditLinks:76 html/Elements/ShowLinks:68 html/Ticket/Create.html:222 html/Ticket/Elements/BulkLinks:60
-msgid "Parents"
-msgstr "Foreldre"
-
-#: html/Elements/Login:95 html/User/Prefs.html:105
-msgid "Password"
-msgstr "Passord"
-
-#: html/NoAuth/Reminder.html:46
-msgid "Password Reminder"
-msgstr "Passordhint"
-
-#: lib/RT/Transaction_Overlay.pm:781 lib/RT/User_Overlay.pm:1045
-msgid "Password changed"
-msgstr ""
-
-#: lib/RT/User_Overlay.pm:1037 lib/RT/User_Overlay.pm:214
-#. ($RT::MinimumPasswordLength)
-msgid "Password needs to be at least %1 characters long"
-msgstr ""
-
-#: lib/RT/User_Overlay.pm:1044
-msgid "Password set"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Password too short"
-msgstr "For kort passord"
-
-#: html/User/Prefs.html:240
-#. (loc_fuzzy($msg))
-msgid "Password: %1"
-msgstr "Passord: %1"
-
-#: lib/RT/User_Overlay.pm:1030
-msgid "Password: Permission Denied"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:364
-msgid "Passwords do not match."
-msgstr "Passordene stemmer ikke overens."
-
-#: html/User/Prefs.html:242
-msgid "Passwords do not match. Your password has not been changed"
-msgstr "Passordene stemmer ikke overrens. Passordet ble ikke endret"
-
-#: html/Ticket/Elements/ShowSummary:62 html/Ticket/Elements/Tabs:119 html/Ticket/ModifyAll.html:72
-msgid "People"
-msgstr "Personer"
-
-#: etc/initialdata:133
-msgid "Perform a user-defined action"
-msgstr "Kjør en brukerdefinert handling"
-
-#: html/Admin/Tools/Configuration.html:94
-msgid "Perl configuration"
-msgstr ""
-
-#: lib/RT/ACE_Overlay.pm:251 lib/RT/ACE_Overlay.pm:257 lib/RT/ACE_Overlay.pm:580 lib/RT/ACE_Overlay.pm:590 lib/RT/ACE_Overlay.pm:600 lib/RT/ACE_Overlay.pm:665 lib/RT/Attribute_Overlay.pm:158 lib/RT/Attribute_Overlay.pm:164 lib/RT/Attribute_Overlay.pm:405 lib/RT/Attribute_Overlay.pm:414 lib/RT/Attribute_Overlay.pm:427 lib/RT/CurrentUser.pm:116 lib/RT/CurrentUser.pm:125 lib/RT/CustomField_Overlay.pm:1017 lib/RT/CustomField_Overlay.pm:1138 lib/RT/CustomField_Overlay.pm:1281 lib/RT/CustomField_Overlay.pm:172 lib/RT/CustomField_Overlay.pm:189 lib/RT/CustomField_Overlay.pm:200 lib/RT/CustomField_Overlay.pm:374 lib/RT/CustomField_Overlay.pm:403 lib/RT/CustomField_Overlay.pm:763 lib/RT/CustomField_Overlay.pm:936 lib/RT/CustomField_Overlay.pm:971 lib/RT/Group_Overlay.pm:1117 lib/RT/Group_Overlay.pm:1121 lib/RT/Group_Overlay.pm:1130 lib/RT/Group_Overlay.pm:1240 lib/RT/Group_Overlay.pm:1244 lib/RT/Group_Overlay.pm:1250 lib/RT/Group_Overlay.pm:445 lib/RT/Group_Overlay.pm:542 lib/RT/Group_Overlay.pm:620 lib/RT/Group_Overlay.pm:628 lib/RT/Group_Overlay.pm:726 lib/RT/Group_Overlay.pm:730 lib/RT/Group_Overlay.pm:736 lib/RT/Group_Overlay.pm:922 lib/RT/Group_Overlay.pm:926 lib/RT/Group_Overlay.pm:939 lib/RT/Queue_Overlay.pm:1054 lib/RT/Queue_Overlay.pm:140 lib/RT/Queue_Overlay.pm:158 lib/RT/Queue_Overlay.pm:657 lib/RT/Queue_Overlay.pm:667 lib/RT/Queue_Overlay.pm:681 lib/RT/Queue_Overlay.pm:819 lib/RT/Queue_Overlay.pm:828 lib/RT/Queue_Overlay.pm:841 lib/RT/Scrip_Overlay.pm:149 lib/RT/Scrip_Overlay.pm:160 lib/RT/Scrip_Overlay.pm:224 lib/RT/Scrip_Overlay.pm:538 lib/RT/Template_Overlay.pm:108 lib/RT/Template_Overlay.pm:277 lib/RT/Ticket_Overlay.pm:1357 lib/RT/Ticket_Overlay.pm:1367 lib/RT/Ticket_Overlay.pm:1381 lib/RT/Ticket_Overlay.pm:1522 lib/RT/Ticket_Overlay.pm:1532 lib/RT/Ticket_Overlay.pm:1546 lib/RT/Ticket_Overlay.pm:1663 lib/RT/Ticket_Overlay.pm:1983 lib/RT/Ticket_Overlay.pm:2126 lib/RT/Ticket_Overlay.pm:2296 lib/RT/Ticket_Overlay.pm:2346 lib/RT/Ticket_Overlay.pm:2525 lib/RT/Ticket_Overlay.pm:2538 lib/RT/Ticket_Overlay.pm:2614 lib/RT/Ticket_Overlay.pm:2627 lib/RT/Ticket_Overlay.pm:2748 lib/RT/Ticket_Overlay.pm:2762 lib/RT/Ticket_Overlay.pm:2990 lib/RT/Ticket_Overlay.pm:3000 lib/RT/Ticket_Overlay.pm:3005 lib/RT/Ticket_Overlay.pm:3224 lib/RT/Ticket_Overlay.pm:3228 lib/RT/Ticket_Overlay.pm:3371 lib/RT/Ticket_Overlay.pm:3497 lib/RT/Transaction_Overlay.pm:516 lib/RT/Transaction_Overlay.pm:523 lib/RT/Transaction_Overlay.pm:551 lib/RT/Transaction_Overlay.pm:558 lib/RT/User_Overlay.pm:1176 lib/RT/User_Overlay.pm:1856 lib/RT/User_Overlay.pm:369 lib/RT/User_Overlay.pm:735 lib/RT/User_Overlay.pm:774
-msgid "Permission Denied"
-msgstr "Ingen Tilgang"
-
-#: lib/RT/Template_Overlay.pm:238 lib/RT/Template_Overlay.pm:247
-msgid "Permission denied"
-msgstr ""
-
-#: lib/RT/Template_Overlay.pm:372
-msgid "Permissions denied"
-msgstr ""
-
-#: html/User/Elements/Tabs:56
-msgid "Personal Groups"
-msgstr "Personlige Grupper"
-
-#: html/User/Groups/index.html:51 html/User/Groups/index.html:61
-msgid "Personal groups"
-msgstr "Personlige grupper"
-
-#: html/User/Elements/DelegateRights:58
-msgid "Personal groups:"
-msgstr "Personlige grupper:"
-
-#: html/Admin/Users/Modify.html:180 html/User/Prefs.html:81
-msgid "Phone numbers"
-msgstr "Telefonnummer"
-
-#: NOT FOUND IN SOURCE
-msgid "Placeholder"
-msgstr "Stedholder"
-
-#: NOT FOUND IN SOURCE
-msgid "Pref"
-msgstr "Pref"
-
-#: html/Elements/Header:93 html/Elements/Tabs:91 html/SelfService/Elements/Tabs:95 html/SelfService/Prefs.html:46 html/User/Prefs.html:46 html/User/Prefs.html:49
-msgid "Preferences"
-msgstr "Instillinger"
-
-#: html/Admin/Users/MyRT.html:75
-#. ($pane, $UserObj->Name)
-msgid "Preferences %1 for user %2 ."
-msgstr ""
-
-#: html/Prefs/MyRT.html:141
-#. ($pane)
-msgid "Preferences saved for %1."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Prefs"
-msgstr "Pref"
-
-#: lib/RT/Action/Generic.pm:195
-msgid "Prepare Stubbed"
-msgstr "Klargjør Forkortet"
-
-#: html/Helpers/CalPopup.html:56 html/Ticket/Elements/Tabs:84
-msgid "Prev"
-msgstr "Forrige"
-
-#: html/Elements/TicketList:101
-msgid "Previous Page"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Previous page"
-msgstr "Forrige side"
-
-#: NOT FOUND IN SOURCE
-msgid "Pri"
-msgstr "Pri"
-
-#: lib/RT/ACE_Overlay.pm:157 lib/RT/ACE_Overlay.pm:239 lib/RT/ACE_Overlay.pm:569
-#. ($args{'PrincipalId'})
-msgid "Principal %1 not found."
-msgstr "Primær %1 ikke funnet."
-
-#: html/Search/Elements/PickBasics:147 html/Ticket/Create.html:181 html/Ticket/Elements/EditBasics:92 html/Ticket/Elements/ShowBasics:72 lib/RT/Tickets_Overlay.pm:1790
-msgid "Priority"
-msgstr "Prioritet"
-
-#: html/Admin/Queues/Modify.html:86
-msgid "Priority starts at"
-msgstr "Prioritet starter på"
-
-#: html/Search/Elements/EditSearches:50
-msgid "Privacy:"
-msgstr ""
-
-#: etc/initialdata:25
-msgid "Privileged"
-msgstr "Priviligert"
-
-#: html/Admin/Users/Modify.html:342 html/User/Prefs.html:231
-#. (loc_fuzzy($msg))
-msgid "Privileged status: %1"
-msgstr "Priviligert status: %1"
-
-#: html/Admin/Users/index.html:102
-msgid "Privileged users"
-msgstr "Priviligerte brukere"
-
-#: etc/initialdata:23 etc/initialdata:29 etc/initialdata:35 etc/initialdata:59
-msgid "Pseudogroup for internal use"
-msgstr "Pseduogruppe for intern bruk"
-
-#: html/Search/Build.html:121
-msgid "Query Builder"
-msgstr ""
-
-#: html/Search/Elements/Chart:101
-msgid "Query:"
-msgstr ""
-
-#: html/Elements/QueueSummary:48 html/Elements/QuickCreate:54 html/Search/Elements/PickBasics:71 html/SelfService/Create.html:54 html/Ticket/Create.html:62 html/Ticket/Elements/EditBasics:57 html/Ticket/Elements/ShowBasics:76 html/Tools/Reports/CreatedByDates.html:85 html/Tools/Reports/ResolvedByDates.html:86 html/Tools/Reports/ResolvedByOwner.html:66 html/User/Elements/DelegateRights:101 lib/RT/Tickets_Overlay.pm:1617
-msgid "Queue"
-msgstr "Kø"
-
-#: html/Admin/Queues/CustomField.html:63 html/Admin/Queues/Scrip.html:61 html/Admin/Queues/Scrips.html:69 html/Admin/Queues/Templates.html:65
-#. ($Queue)
-#. ($id)
-msgid "Queue %1 not found"
-msgstr "Køen %1 kunne ikke finnes"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue '%1' not found\\n"
-msgstr "Køen '%1' ikke funnet\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Keyword Selections"
-msgstr "Nøkkelordvalg for kø"
-
-#: html/Admin/Queues/Modify.html:64
-msgid "Queue Name"
-msgstr "Kønavn"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Scrips"
-msgstr "Køscrip"
-
-#: lib/RT/Queue_Overlay.pm:365
-msgid "Queue already exists"
-msgstr "Køen eksisterer allerede"
-
-#: lib/RT/Queue_Overlay.pm:374 lib/RT/Queue_Overlay.pm:380
-msgid "Queue could not be created"
-msgstr "Køen kunne ikke opprettes"
-
-#: html/Ticket/Create.html:244 lib/t/regression/01ticket_link_searching.t:17
-msgid "Queue could not be loaded."
-msgstr "Køen kunne ikke lastes."
-
-#: docs/design_docs/string-extraction-guide.txt:83 lib/RT/Queue_Overlay.pm:384 lib/RT/StyleGuide.pod:809
-msgid "Queue created"
-msgstr "Køen opprettet"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue is not specified."
-msgstr "Køen er ikke oppgitt."
-
-#: html/SelfService/Display.html:126 lib/RT/CustomField_Overlay.pm:197
-msgid "Queue not found"
-msgstr "Køen ikke funnet"
-
-#: html/Admin/Elements/Tabs:59 html/Admin/index.html:72
-msgid "Queues"
-msgstr "Køer"
-
-#: html/Elements/MyAdminQueues:46
-msgid "Queues I administer"
-msgstr ""
-
-#: html/Elements/MySupportQueues:46
-msgid "Queues I'm an AdminCc for"
-msgstr ""
-
-#: html/Elements/Quicksearch:47 html/Prefs/Elements/Tabs:58 html/Prefs/Quicksearch.html:70
-msgid "Quick search"
-msgstr "Raskt søk"
-
-#: html/Elements/QuickCreate:47
-msgid "Quick ticket creation"
-msgstr ""
-
-#: html/Search/Results.html:81
-msgid "RSS"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1"
-msgstr "RT %1"
-
-#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:796
-#. ($RT::VERSION, $RT::rtname)
-msgid "RT %1 for %2"
-msgstr "RT %1 for %2"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1 from <a href=\"http://bestpractical.com\">Best Practical Solutions, LLC</a>."
-msgstr "RT %1 fra <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"
-msgstr "RT %1. Copyright 1996-%1 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-
-#: 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"
-
-#: html/Admin/index.html:46 html/Admin/index.html:47
-msgid "RT Administration"
-msgstr "RT-administrasjon"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Authentication error."
-msgstr "RT Autentiseringsfeil."
-
-#: NOT FOUND IN SOURCE
-msgid "RT Bounce: %1"
-msgstr "RT Avvisning: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Configuration error"
-msgstr "RT Konfigurasjonsfeil"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Critical error. Message not recorded!"
-msgstr "Kritisk RT feil. Meldingen ble ikke lagret!"
-
-#: html/Elements/Error:63 html/SelfService/Error.html:62
-msgid "RT Error"
-msgstr "RT Feil"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Received mail (%1) from itself."
-msgstr "RT Mottok mail (%1) fra seg selv."
-
-#: NOT FOUND IN SOURCE
-msgid "RT Recieved mail (%1) from itself."
-msgstr "RT Mottok mail (%1) fra seg selv."
-
-#: NOT FOUND IN SOURCE
-msgid "RT Self Service / Closed Tickets"
-msgstr "RT Selvbetjening / Lukkede Saker"
-
-#: html/Admin/Tools/Configuration.html:73
-msgid "RT Variables"
-msgstr ""
-
-#: html/Admin/Elements/SystemTabs:71 html/Admin/Elements/UserTabs:67 html/Admin/Global/MyRT.html:1 html/Admin/Global/MyRT.html:12 html/Admin/Global/MyRT.html:4 html/Admin/Global/index.html:84 html/Admin/Users/MyRT.html:21 html/Prefs/MyRT.html:66 html/Prefs/MyRT.html:78 html/User/Elements/Tabs:65 html/index.html:1 html/index.html:75
-msgid "RT at a glance"
-msgstr "RT oversikt"
-
-#: html/Admin/Users/MyRT.html:30
-#. ($UserObj->Name)
-msgid "RT at a glance for the user %1"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:117
-msgid "RT can include content from another web service when showing this custom field."
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:106
-msgid "RT can make this custom field's values into hyperlinks to another service."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't authenticate you"
-msgstr "RT kunne ikke autentisere deg"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't find requestor via its external database lookup"
-msgstr "RT kunne ikke finne kunde via sitt eksterne databaseoppslag"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't find the queue: %1"
-msgstr "RT kunne ikke finne køen: %1"
-
-#: html/Elements/SetupSessionCookie:100
-msgid "RT couldn't store your session."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't validate this PGP signature. \\n"
-msgstr "RT kunne ikke validere denne PGP signaturen. \\n"
-
-#: html/Elements/Logo:49 html/Elements/PageLayout:172
-#. ($RT::rtname)
-msgid "RT for %1"
-msgstr "RT for %1"
-
-#: NOT FOUND IN SOURCE
-msgid "RT for %1: %2"
-msgstr "RT for %1: %2"
-
-#: NOT FOUND IN SOURCE
-msgid "RT has proccessed your commands"
-msgstr "RT har behandlet dine kommandoer"
-
-#: NOT FOUND IN SOURCE
-msgid "RT is &copy; Copyright 1996-%1 Jesse Vincent &lt;jesse@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 er &copy; Copyright 1996-%1 Jesse Vincent &lt;jesse@bestpractical.com&gt;. Den er distribuert under <a href=\"http://www.gnu.org/copyleft/gpl.html\">Version 2 of the GNU General Public License.</a>"
-
-#: NOT FOUND IN SOURCE
-msgid "RT is &copy; Copyright 1996-2002 Jesse Vincent &lt;jesse@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 er &copy; Copyright 1996-2002 Jesse Vincent &lt;jesse@bestpractical.com&gt;. Den er distribuert under <a href=\"http://www.gnu.org/copyleft/gpl.html\">Version 2 of the GNU General Public License.</a>"
-
-#: NOT FOUND IN SOURCE
-msgid "RT thinks this message may be a bounce"
-msgstr "RT tror denne meldingen kan være en returmail"
-
-#: html/Search/Simple.html:58
-msgid "RT will look for anything else you enter in ticket subjects."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "RT will process this message as if it were unsigned.\\n"
-msgstr "RT vil behandle denne meldingen som om den var usignert"
-
-#: html/Admin/CustomFields/Modify.html:108 html/Admin/CustomFields/Modify.html:119
-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 epost kommandomodus krever PGP autentisering. Meldingen din var enten ikke signert, eller signaturen din kunne ikke bekreftes."
-
-#: html/Admin/Users/Modify.html:79 html/User/Prefs.html:69
-msgid "Real Name"
-msgstr "Ekte Navn"
-
-#: NOT FOUND IN SOURCE
-msgid "RealName"
-msgstr "EkteNavn"
-
-#: lib/RT/Transaction_Overlay.pm:725
-#. ($value)
-msgid "Reference by %1 added"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:765
-#. ($value)
-msgid "Reference by %1 deleted"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:722
-#. ($value)
-msgid "Reference to %1 added"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:762
-#. ($value)
-msgid "Reference to %1 deleted"
-msgstr ""
-
-#: html/Elements/EditLinks:103 html/Elements/EditLinks:156 html/Elements/ShowLinks:92 html/Ticket/Create.html:225 html/Ticket/Elements/BulkLinks:72
-msgid "Referred to by"
-msgstr "Referert til av"
-
-#: html/Elements/EditLinks:152 html/Elements/EditLinks:94 html/Elements/SelectLinkType:49 html/Elements/ShowLinks:82 html/Ticket/Create.html:224 html/Ticket/Elements/BulkLinks:68
-msgid "Refers to"
-msgstr "Refererer til"
-
-#: NOT FOUND IN SOURCE
-msgid "RefersTo"
-msgstr "RefererTil"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine"
-msgstr "Redefiner"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine search"
-msgstr "Redefiner søket"
-
-#: html/Elements/Refresh:57
-#. ($value/60)
-msgid "Refresh this page every %1 minutes."
-msgstr "Last siden på nytt hvert %1 minutt."
-
-#: lib/RT/Transaction_Overlay.pm:811
-#. ($ticket->Subject)
-msgid "Reminder '%1' added"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:824
-#. ($ticket->Subject)
-msgid "Reminder '%1' completed"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:817
-#. ($ticket->Subject)
-msgid "Reminder '%1' reopened"
-msgstr ""
-
-#: html/Ticket/Reminders.html:46
-#. ($Ticket->Id)
-msgid "Reminder ticket #%1"
-msgstr ""
-
-#: html/Elements/MyReminders:48 html/Ticket/Elements/ShowSummary:75 html/Ticket/Elements/Tabs:122 html/Ticket/Reminders.html:52
-msgid "Reminders"
-msgstr ""
-
-#: html/Ticket/Reminders.html:50
-#. ($Ticket->Id)
-msgid "Reminders for ticket #%1"
-msgstr ""
-
-#: html/Search/Bulk.html:94
-msgid "Remove AdminCc"
-msgstr "Fjern AdminCc"
-
-#: html/Search/Bulk.html:90
-msgid "Remove Cc"
-msgstr "Fjern Cc"
-
-#: html/Search/Bulk.html:86
-msgid "Remove Requestor"
-msgstr "Fjern Kunde"
-
-#: html/Ticket/Elements/ShowTransaction:179 html/Ticket/Elements/Tabs:147
-msgid "Reply"
-msgstr "Svar"
-
-#: html/Admin/Queues/Modify.html:72
-msgid "Reply Address"
-msgstr ""
-
-#: html/Search/Bulk.html:129 html/Ticket/ModifyAll.html:94 html/Ticket/Update.html:78
-msgid "Reply to requestors"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "Reply to tickets"
-msgstr "Svar på sak"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "ReplyToTicket"
-msgstr "SvarPåSak"
-
-#: html/Tools/Elements/Tabs:59 html/Tools/Reports/index.html:46 html/Tools/Reports/index.html:47
-msgid "Reports"
-msgstr ""
-
-#: etc/initialdata:44 lib/RT/ACE_Overlay.pm:111
-msgid "Requestor"
-msgstr "Kunde"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor email address"
-msgstr "Kundens epostaddresse"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor(s)"
-msgstr "Kunde(r)"
-
-#: NOT FOUND IN SOURCE
-msgid "RequestorAddresses"
-msgstr "KundeAddresser"
-
-#: html/SelfService/Create.html:63 html/Ticket/Create.html:80 html/Ticket/Elements/EditPeople:69 html/Ticket/Elements/ShowPeople:52
-msgid "Requestors"
-msgstr "Kunder"
-
-#: html/Admin/Queues/Modify.html:96
-msgid "Requests should be due in"
-msgstr "Forespørsler skal være behandlet innen"
-
-#: lib/RT/Attribute_Overlay.pm:146
-#. ('Object')
-msgid "Required parameter '%1' not specified"
-msgstr ""
-
-#: html/Elements/Submit:83
-msgid "Reset"
-msgstr "Reset"
-
-#: html/Admin/Users/MyRT.html:15 html/Prefs/MyRT.html:60
-msgid "Reset to default"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:183 html/User/Prefs.html:84
-msgid "Residence"
-msgstr "Hjemme"
-
-#: html/Ticket/Elements/Tabs:156
-msgid "Resolve"
-msgstr "Løs"
-
-#: html/Ticket/Update.html:156
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Resolve ticket #%1 (%2)"
-msgstr "Løs saknr #%1 (%2)"
-
-#: etc/initialdata:323 html/Elements/SelectDateType:49 lib/RT/Ticket_Overlay.pm:1172
-msgid "Resolved"
-msgstr "Løst"
-
-#: html/Tools/Reports/Elements/Tabs:55
-msgid "Resolved by owner"
-msgstr ""
-
-#: html/Tools/Reports/Elements/Tabs:59
-msgid "Resolved in date range"
-msgstr ""
-
-#: html/Tools/Reports/ResolvedByDates.html:52
-msgid "Resolved tickets in period, grouped by owner"
-msgstr ""
-
-#: html/Tools/Reports/ResolvedByOwner.html:50
-msgid "Resolved tickets, grouped by owner"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Response to requestors"
-msgstr "Svar til kunder"
-
-#: html/Elements/ListActions:46 html/Search/Elements/NewListActions:47
-msgid "Results"
-msgstr "Resultater"
-
-#: NOT FOUND IN SOURCE
-msgid "Results per page"
-msgstr "Resultater per side"
-
-#: html/Admin/Users/Modify.html:126 html/User/Prefs.html:116
-msgid "Retype Password"
-msgstr "Skriv Passord igjen"
-
-#: html/Search/Elements/EditSearches:61
-msgid "Revert"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Right %1 not found for %2 %3 in scope %4 (%5)\\n"
-msgstr "Rettighet %1 kunne ikke finnes for %2 %3 in scope %4 (%5)\\n"
-
-#: lib/RT/ACE_Overlay.pm:630
-msgid "Right Delegated"
-msgstr "Rettighet Deligert"
-
-#: lib/RT/ACE_Overlay.pm:320
-msgid "Right Granted"
-msgstr "Rettighet Tildelt"
-
-#: lib/RT/ACE_Overlay.pm:178
-msgid "Right Loaded"
-msgstr "Rettighet lastet"
-
-#: lib/RT/ACE_Overlay.pm:695 lib/RT/ACE_Overlay.pm:716
-msgid "Right could not be revoked"
-msgstr "Rettigheten kunne ikke trekkes tilbake"
-
-#: html/User/Delegation.html:85
-msgid "Right not found"
-msgstr "Rettighet ikke funnet"
-
-#: lib/RT/ACE_Overlay.pm:560 lib/RT/ACE_Overlay.pm:655
-msgid "Right not loaded."
-msgstr "Rettighet ikke lastet."
-
-#: lib/RT/ACE_Overlay.pm:712
-msgid "Right revoked"
-msgstr "Rettighet fjernet"
-
-#: html/Admin/Elements/UserTabs:70
-msgid "Rights"
-msgstr "Rettigheter"
-
-#: html/Admin/CustomFields/GroupRights.html:129 lib/RT/Interface/Web.pm:961
-#. ($object_type)
-msgid "Rights could not be granted for %1"
-msgstr "Rettigheter kunne ikke tildeles for %1"
-
-#: html/Admin/CustomFields/GroupRights.html:156 lib/RT/Interface/Web.pm:990
-#. ($object_type)
-msgid "Rights could not be revoked for %1"
-msgstr "Rettigheter kunne ikke trekkes tilbake for %1"
-
-#: html/Admin/Global/GroupRights.html:72 html/Admin/Queues/GroupRights.html:74
-msgid "Roles"
-msgstr "Roller"
-
-#: NOT FOUND IN SOURCE
-msgid "RootApproval"
-msgstr "RootGodkjenning"
-
-#: html/Prefs/MyRT.html:72
-msgid "Rows per box"
-msgstr ""
-
-#: html/Search/Elements/DisplayOptions:93
-msgid "Rows per page"
-msgstr ""
-
-#: lib/RT/Date.pm:422
-msgid "Sat."
-msgstr "Lør."
-
-#: html/Prefs/MyRT.html:72 html/Prefs/Quicksearch.html:64 html/Prefs/Search.html:69 html/Prefs/Search.html:69 html/Search/Elements/EditSearches:70 html/Widgets/SelectionBox:211
-msgid "Save"
-msgstr ""
-
-#: html/Admin/Global/Template.html:67 html/Admin/Groups/Modify.html:88 html/Admin/Queues/Modify.html:111 html/Admin/Queues/People.html:126 html/Admin/Users/Modify.html:239 html/Prefs/Quicksearch.html:64 html/Prefs/SearchOptions.html:63 html/SelfService/Prefs.html:58 html/Ticket/Modify.html:60 html/Ticket/ModifyAll.html:127 html/Ticket/ModifyDates.html:60 html/Ticket/ModifyLinks.html:61 html/Ticket/ModifyPeople.html:60 html/User/Groups/Modify.html:77
-msgid "Save Changes"
-msgstr "Lagre Endringer"
-
-#: html/User/Prefs.html:181
-msgid "Save Preferences"
-msgstr ""
-
-#: html/Ticket/Elements/PreviewScrips:131
-msgid "Save changes"
-msgstr "Lage endringer"
-
-#: lib/RT/SavedSearch.pm:173
-#. ($name)
-msgid "Saved search %1"
-msgstr ""
-
-#: html/Admin/Elements/ListGlobalScrips:60 html/Admin/Global/Scrip.html:77 html/Admin/Queues/Scrip.html:84
-#. ($scrip->Id)
-#. ($id)
-msgid "Scrip #%1"
-msgstr "Scrip #%1"
-
-#: lib/RT/Scrip_Overlay.pm:203
-msgid "Scrip Created"
-msgstr "Scrip Opprettet"
-
-#: html/Admin/Elements/EditScrip:52
-msgid "Scrip Fields"
-msgstr ""
-
-#: html/Admin/Elements/EditScrips:109
-msgid "Scrip deleted"
-msgstr "Scrip slettet"
-
-#: html/Admin/Elements/QueueTabs:67 html/Admin/Elements/SystemTabs:54 html/Admin/Global/index.html:62
-msgid "Scrips"
-msgstr "Scrip"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrips for %1\\n"
-msgstr "Scrip for %1\\n"
-
-#: html/Admin/Queues/Scrips.html:55
-msgid "Scrips which apply to all queues"
-msgstr "Scrip som gjelder for alle køer"
-
-#: html/Elements/SimpleSearch:48 html/Search/Simple.html:63
-msgid "Search"
-msgstr "Søk"
-
-#: NOT FOUND IN SOURCE
-msgid "Search Criteria"
-msgstr "Søkekriteria"
-
-#: html/Prefs/SearchOptions.html:47 html/Prefs/SearchOptions.html:50
-msgid "Search Preferences"
-msgstr ""
-
-#: lib/RT/SavedSearch.pm:115
-msgid "Search attribute load failure"
-msgstr ""
-
-#: html/Approvals/Elements/PendingMyApproval:59
-msgid "Search for approvals"
-msgstr "Søk etter godkjenninger"
-
-#: html/Search/Simple.html:67
-msgid "Search for tickets"
-msgstr ""
-
-#: html/Search/Simple.html:55
-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>. RT will look for anything else you enter in ticket bodies and attachments."
-msgstr ""
-
-#: html/User/Elements/Tabs:62
-msgid "Search options"
-msgstr ""
-
-#: html/Search/Chart.html:56
-#. ($PrimaryGroupBy)
-msgid "Search results grouped by %1"
-msgstr ""
-
-#: lib/RT/SavedSearch.pm:203
-#. ($msg)
-msgid "Search update: %1"
-msgstr ""
-
-#: html/Search/Simple.html:57
-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 ""
-
-#: bin/rt-crontool:265
-msgid "Security:"
-msgstr "Sikkerhet:"
-
-#: html/Elements/ShowCustomFields:98
-msgid "See also:"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "See custom fields"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "See exact outgoing email messages and their recipeients"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "See ticket private commentary"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "See ticket summaries"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "SeeCustomField"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "SeeGroup"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "SeeQueue"
-msgstr "SeKø"
-
-#: html/Admin/CustomFields/index.html:46 html/Admin/CustomFields/index.html:49
-msgid "Select a Custom Field"
-msgstr ""
-
-#: html/Admin/Groups/index.html:78
-msgid "Select a group"
-msgstr "Velg en gruppe"
-
-#: html/Admin/Queues/index.html:54
-msgid "Select a queue"
-msgstr "Velg en kø"
-
-#: html/SelfService/CreateTicketInQueue.html:48
-msgid "Select a queue for your new ticket"
-msgstr ""
-
-#: html/Admin/Users/index.html:46 html/Admin/Users/index.html:49 html/Admin/Users/index.html:52
-msgid "Select a user"
-msgstr "Velg en bruker"
-
-#: html/Admin/Elements/CustomFieldTabs:90
-msgid "Select custom field"
-msgstr "Velg fleksifelt"
-
-#: html/Admin/Global/CustomFields/index.html:70
-msgid "Select custom fields for all user groups"
-msgstr ""
-
-#: html/Admin/Global/CustomFields/index.html:65
-msgid "Select custom fields for all users"
-msgstr ""
-
-#: html/Admin/Global/CustomFields/index.html:76
-msgid "Select custom fields for tickets in all queues"
-msgstr ""
-
-#: html/Admin/Global/CustomFields/index.html:83
-msgid "Select custom fields for transactions on tickets in all queues"
-msgstr ""
-
-#: html/Admin/Elements/GroupTabs:75 html/User/Elements/GroupTabs:71
-msgid "Select group"
-msgstr "Velg gruppe"
-
-#: lib/RT/CustomField_Overlay.pm:59
-msgid "Select multiple values"
-msgstr "Velg flere verdier"
-
-#: lib/RT/CustomField_Overlay.pm:60
-msgid "Select one value"
-msgstr "Velg en verdi"
-
-#: html/Admin/Elements/QueueTabs:92
-msgid "Select queue"
-msgstr "Velg kø"
-
-#: html/Prefs/Quicksearch.html:53
-msgid "Select queues to be displayed on the \"RT at a glance\" page"
-msgstr ""
-
-#: html/Admin/Global/Scrip.html:59 html/Admin/Global/Scrips.html:57 html/Admin/Queues/Scrip.html:67 html/Admin/Queues/Scrips.html:73
-msgid "Select scrip"
-msgstr "Velg scrip"
-
-#: html/Admin/Global/Template.html:78 html/Admin/Global/Templates.html:57 html/Admin/Queues/Template.html:76 html/Admin/Queues/Templates.html:68
-msgid "Select template"
-msgstr "Velg mal"
-
-#: lib/RT/CustomField_Overlay.pm:61
-msgid "Select up to %1 values"
-msgstr ""
-
-#: html/Admin/Elements/UserTabs:78
-msgid "Select user"
-msgstr "Velg bruker"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectMultiple"
-msgstr "VelgFlere"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectSingle"
-msgstr "VelgEnkelt"
-
-#: html/Admin/Elements/EditCustomFields:58
-msgid "Selected Custom Fields"
-msgstr ""
-
-#: html/Admin/CustomFields/Objects.html:59
-msgid "Selected objects"
-msgstr ""
-
-#: html/Widgets/SelectionBox:209
-msgid "Selections modified. Please save your changes"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Self Service"
-msgstr "Selvbetjening"
-
-#: etc/initialdata:121
-msgid "Send mail to all watchers"
-msgstr "Send epost til alle overvåkere"
-
-#: etc/initialdata:117
-msgid "Send mail to all watchers as a \"comment\""
-msgstr "Send epost til alle overvåkere som \"kommentar\""
-
-#: etc/initialdata:112
-msgid "Send mail to requestors and Ccs"
-msgstr "Send epost til kunder og Cc"
-
-#: etc/initialdata:107
-msgid "Send mail to requestors and Ccs as a comment"
-msgstr "Send epost til kunder og Cc som kommentar"
-
-#: etc/initialdata:78
-msgid "Sends a message to the requestors"
-msgstr "Sender en melding til kundene"
-
-#: etc/initialdata:125 etc/initialdata:129
-msgid "Sends mail to explicitly listed Ccs and Bccs"
-msgstr "Send epost til eksplisit oppgitte Ccer og Bccer"
-
-#: 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 "Send epost til Administrative Ccer"
-
-#: etc/initialdata:98
-msgid "Sends mail to the administrative Ccs as a comment"
-msgstr "Sender epost til de administrative Ccene som kommentar"
-
-#: etc/initialdata:82 etc/initialdata:86
-msgid "Sends mail to the owner"
-msgstr "Sender epost til eieren"
-
-#: lib/RT/Date.pm:449
-msgid "Sep."
-msgstr "Sep."
-
-#: NOT FOUND IN SOURCE
-msgid "September"
-msgstr "September"
-
-#: html/Ticket/Elements/ShowTransaction:158
-msgid "Show"
-msgstr ""
-
-#: html/Approvals/index.html:52
-msgid "Show Approvals"
-msgstr ""
-
-#: html/Search/Elements/EditFormat:56
-msgid "Show Columns"
-msgstr ""
-
-#: html/Ticket/Elements/Tabs:220
-msgid "Show Results"
-msgstr "Vis Resultater"
-
-#: html/Approvals/Elements/PendingMyApproval:64
-msgid "Show approved requests"
-msgstr "Vis godkjente forespørsler"
-
-#: html/Ticket/Create.html:316
-msgid "Show basics"
-msgstr "Vis basisinfo"
-
-#: html/Approvals/Elements/PendingMyApproval:65
-msgid "Show denied requests"
-msgstr "Vis avviste forespørsler"
-
-#: html/Ticket/Create.html:319
-msgid "Show details"
-msgstr "Vis detaljer"
-
-#: html/Approvals/Elements/PendingMyApproval:63
-msgid "Show pending requests"
-msgstr "Vis ventende forespørsler"
-
-#: html/Approvals/Elements/PendingMyApproval:66
-msgid "Show requests awaiting other approvals"
-msgstr "Vis forespørsler som venter på andre godkjenninger"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket private commentary"
-msgstr "Vis sakens private kommentarer"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket summaries"
-msgstr "Vis sakssammendrag"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "ShowACL"
-msgstr "VisACL"
-
-#: lib/RT/System.pm:85
-msgid "ShowConfigTab"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "ShowOutgoingEmail"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "ShowSavedSearches"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "ShowScrips"
-msgstr "VisScrip"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "ShowTemplate"
-msgstr "VisMal"
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "ShowTicket"
-msgstr "VisSak"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "ShowTicketComments"
-msgstr "VisSaksKommentarer"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Sign up as a ticket Requestor or ticket or queue Cc"
-msgstr "Meld deg på som saksforespørrer eller sak/kø Cc"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "Sign up as a ticket or queue AdminCc"
-msgstr "Meld deg på som sak/kø AdminCc"
-
-#: html/Admin/Users/Modify.html:230 html/User/Prefs.html:168
-msgid "Signature"
-msgstr "Signatur"
-
-#: NOT FOUND IN SOURCE
-msgid "Signed in as %1"
-msgstr "Logget inn som %1"
-
-#: html/Elements/Tabs:68
-msgid "Simple Search"
-msgstr ""
-
-#: html/Admin/Elements/SelectSingleOrMultiple:47
-msgid "Single"
-msgstr "Enkel"
-
-#: html/Search/Elements/EditFormat:75
-msgid "Size"
-msgstr ""
-
-#: html/Elements/Header:89
-msgid "Skip Menu"
-msgstr "Dropp Meny"
-
-#: html/Search/Elements/EditFormat:78
-msgid "Small"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:120
-msgid "Some browsers may only load content from the same domain as your RT server."
-msgstr ""
-
-#: html/Admin/Elements/AddCustomFieldValue:49 html/Admin/Elements/EditCustomFieldValues:54
-msgid "Sort"
-msgstr "Sorter"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort key"
-msgstr "Sorter nøkkel"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort results by"
-msgstr "Sorter resultater etter"
-
-#: NOT FOUND IN SOURCE
-msgid "SortOrder"
-msgstr "SorteringsRekkefølge"
-
-#: html/Admin/Elements/EditScrip:78
-msgid "Stage"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Stalled"
-msgstr "Pauset"
-
-#: NOT FOUND IN SOURCE
-msgid "Start page"
-msgstr "Startside"
-
-#: html/Elements/SelectDateType:48 html/Ticket/Elements/EditDates:53 html/Ticket/Elements/ShowDates:56
-msgid "Started"
-msgstr "Startet"
-
-#: NOT FOUND IN SOURCE
-msgid "Started date '%1' could not be parsed"
-msgstr "Startdato '%1' kunne ikke tolkes"
-
-#: html/Elements/SelectDateType:52 html/Ticket/Create.html:208 html/Ticket/Elements/EditDates:48 html/Ticket/Elements/ShowDates:52
-msgid "Starts"
-msgstr "Starter"
-
-#: NOT FOUND IN SOURCE
-msgid "Starts By"
-msgstr "Starter Etter"
-
-#: NOT FOUND IN SOURCE
-msgid "Starts date '%1' could not be parsed"
-msgstr "Startdato '%1' kunne ikke tolkes"
-
-#: html/Admin/Users/Modify.html:162 html/User/Prefs.html:145
-msgid "State"
-msgstr "Stat"
-
-#: html/Search/Elements/PickBasics:87 html/SelfService/Update.html:57 html/Ticket/Create.html:66 html/Ticket/Elements/EditBasics:53 html/Ticket/Elements/ShowBasics:52 html/Ticket/Update.html:59 lib/RT/Ticket_Overlay.pm:1166 lib/RT/Tickets_Overlay.pm:1651
-msgid "Status"
-msgstr "Status"
-
-#: etc/initialdata:309
-msgid "Status Change"
-msgstr "Statusendring"
-
-#: NOT FOUND IN SOURCE
-msgid "Status changed from %1 to %2"
-msgstr "Status endret fra %1 til %2"
-
-#: NOT FOUND IN SOURCE
-msgid "StatusChange"
-msgstr "EndreStatus"
-
-#: html/Ticket/Elements/Tabs:178
-msgid "Steal"
-msgstr "Stjel"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "Steal tickets"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "StealTicket"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:678
-#. ($Old->Name)
-msgid "Stolen from %1"
-msgstr "Stjålet fra %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Stolen from %1 "
-msgstr "Stjålet fra %1 "
-
-#: html/Search/Elements/EditFormat:81
-msgid "Style"
-msgstr ""
-
-#: html/Elements/QuickCreate:52 html/Elements/SelectAttachmentField:47 html/Search/Bulk.html:132 html/SelfService/Create.html:79 html/SelfService/Update.html:65 html/Ticket/Create.html:108 html/Ticket/Elements/EditBasics:48 html/Ticket/Elements/Reminders:125 html/Ticket/ModifyAll.html:100 html/Ticket/Update.html:82 lib/RT/Ticket_Overlay.pm:1162 lib/RT/Tickets_Overlay.pm:1733
-msgid "Subject"
-msgstr "Emne"
-
-#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:815 lib/RT/Transaction_Overlay.pm:700
-#. ($self->Data)
-msgid "Subject changed to %1"
-msgstr "Endre emne til %1"
-
-#: html/Elements/Submit:75
-msgid "Submit"
-msgstr "Oppdater"
-
-#: NOT FOUND IN SOURCE
-msgid "Submit Workflow"
-msgstr "Send Arbeidsflyt"
-
-#: lib/RT/Group_Overlay.pm:774
-msgid "Succeeded"
-msgstr "Lykkes"
-
-#: lib/RT/Date.pm:423
-msgid "Sun."
-msgstr "Søn."
-
-#: lib/RT/System.pm:75
-msgid "SuperUser"
-msgstr "SuperBruker"
-
-#: html/User/Elements/DelegateRights:98
-msgid "System"
-msgstr "System"
-
-#: html/Admin/Elements/ToolTabs:54 html/Admin/Tools/Configuration.html:48
-msgid "System Configuration"
-msgstr ""
-
-#: html/Admin/CustomFields/GroupRights.html:128 html/Admin/CustomFields/GroupRights.html:155 html/Admin/CustomFields/UserRights.html:128 html/Admin/CustomFields/UserRights.html:98 html/Admin/Elements/SelectRights:106 lib/RT/ACE_Overlay.pm:584 lib/RT/Interface/Web.pm:960 lib/RT/Interface/Web.pm:989
-msgid "System Error"
-msgstr "Systemfeil"
-
-#: NOT FOUND IN SOURCE
-msgid "System Error. Right not granted."
-msgstr "Systemfeil. Rettighet ikke tildelt."
-
-#: NOT FOUND IN SOURCE
-msgid "System Error. right not granted"
-msgstr "Systemfeil. rettigheter ikke tildelt"
-
-#: lib/RT/Transaction_Overlay.pm:224 lib/RT/Transaction_Overlay.pm:230
-#. ($msg)
-msgid "System Error: %1"
-msgstr ""
-
-#: html/Admin/Tools/index.html:47
-msgid "System Tools"
-msgstr ""
-
-#: lib/RT/ACE_Overlay.pm:633
-msgid "System error. Right not delegated."
-msgstr "Systemfeil. Rettighet ikke tildelt."
-
-#: lib/RT/ACE_Overlay.pm:163 lib/RT/ACE_Overlay.pm:228 lib/RT/ACE_Overlay.pm:323 lib/RT/ACE_Overlay.pm:920
-msgid "System error. Right not granted."
-msgstr "Systemfeil. Rettighet ikke tildelt."
-
-#: NOT FOUND IN SOURCE
-msgid "System error. Unable to grant rights."
-msgstr "Systemfeil. Kunne ikke tildele rettigheter."
-
-#: html/Admin/CustomFields/GroupRights.html:58 html/Admin/Global/GroupRights.html:56 html/Admin/Groups/GroupRights.html:58 html/Admin/Queues/GroupRights.html:57
-msgid "System groups"
-msgstr "Systemgrupper"
-
-#: etc/initialdata:41 etc/initialdata:47 etc/initialdata:53
-msgid "SystemRolegroup for internal use"
-msgstr "SystemRollegruppe for intern bruk"
-
-#: lib/RT/CurrentUser.pm:357
-msgid "TEST_STRING"
-msgstr "TEST_STRENG"
-
-#: etc/initialdata:603 html/Search/Elements/EditFormat:72 html/Ticket/Elements/Tabs:170
-msgid "Take"
-msgstr "Ta"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "Take tickets"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "TakeTicket"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:663
-msgid "Taken"
-msgstr "Tatt"
-
-#: html/Admin/Elements/EditScrip:71 html/Tools/Offline.html:78
-msgid "Template"
-msgstr "Mal"
-
-#: html/Admin/Global/Template.html:112 html/Admin/Queues/Template.html:113
-#. ($TemplateObj->Id())
-msgid "Template #%1"
-msgstr "Mal #%1"
-
-#: html/Admin/Elements/EditTemplates:110
-msgid "Template deleted"
-msgstr "Mal slettet"
-
-#: lib/RT/Scrip_Overlay.pm:176
-msgid "Template is mandatory argument"
-msgstr ""
-
-#: lib/RT/Scrip_Overlay.pm:180
-msgid "Template not found"
-msgstr "Kunne ikke finne mal"
-
-#: NOT FOUND IN SOURCE
-msgid "Template not found\\n"
-msgstr "Kunne ikke finne mal\\n"
-
-#: lib/RT/Template_Overlay.pm:343
-msgid "Template parsed"
-msgstr "Mal tolket"
-
-#: lib/RT/Template_Overlay.pm:391
-msgid "Template parsing error"
-msgstr ""
-
-#: html/Admin/Elements/QueueTabs:70 html/Admin/Elements/SystemTabs:57 html/Admin/Global/index.html:66
-msgid "Templates"
-msgstr "Maler"
-
-#: NOT FOUND IN SOURCE
-msgid "Templates for %1\\n"
-msgstr "Maler for %1\\n"
-
-#: lib/RT/CustomField_Overlay.pm:943 lib/RT/Record.pm:945
-msgid "That is already the current value"
-msgstr "Verdien er allerede satt"
-
-#: lib/RT/CustomField_Overlay.pm:412
-msgid "That is not a value for this custom field"
-msgstr "Det er ikke en verdi for dette fleksifeltet"
-
-#: lib/RT/Ticket_Overlay.pm:1994
-msgid "That is the same value"
-msgstr "Det er den samme verdien"
-
-#: lib/RT/ACE_Overlay.pm:305 lib/RT/ACE_Overlay.pm:614
-msgid "That principal already has that right"
-msgstr "Den primæren har allerede den rettigheten"
-
-#: lib/RT/Queue_Overlay.pm:753
-#. ($args{'Type'})
-msgid "That principal is already a %1 for this queue"
-msgstr "Den primæren er allerede en %1 for denne køen"
-
-#: lib/RT/Ticket_Overlay.pm:1435
-#. ($self->loc($args{'Type'}))
-msgid "That principal is already a %1 for this ticket"
-msgstr "Den primæren er allerede en %1 for denne køen"
-
-#: lib/RT/Queue_Overlay.pm:852
-#. ($args{'Type'})
-msgid "That principal is not a %1 for this queue"
-msgstr "Den primæren er ikke en %1 for denne køen"
-
-#: NOT FOUND IN SOURCE
-msgid "That principal is not a %1 for this ticket"
-msgstr "Den primæren er ikke en %1 for denne saken"
-
-#: lib/RT/Ticket_Overlay.pm:1990
-msgid "That queue does not exist"
-msgstr "Den køen eksisterer ikke"
-
-#: lib/RT/Ticket_Overlay.pm:3233
-msgid "That ticket has unresolved dependencies"
-msgstr "Denne saken har uløste avhengigheter"
-
-#: NOT FOUND IN SOURCE
-msgid "That user already has that right"
-msgstr "Den brukeren har allerede den rettigheten"
-
-#: lib/RT/Action/CreateTickets.pm:710 lib/RT/Ticket_Overlay.pm:3037
-msgid "That user already owns that ticket"
-msgstr "Den brukeren eier allerede den saken"
-
-#: lib/RT/Ticket_Overlay.pm:3012
-msgid "That user does not exist"
-msgstr "Den brukeren finnes ikke"
-
-#: lib/RT/User_Overlay.pm:389
-msgid "That user is already privileged"
-msgstr "Den brukeren er allerede priviligert"
-
-#: lib/RT/User_Overlay.pm:410
-msgid "That user is already unprivileged"
-msgstr "Den brukeren er allerede upriviligert"
-
-#: lib/RT/User_Overlay.pm:402
-msgid "That user is now privileged"
-msgstr "Denne brukeren er nå priviligert"
-
-#: lib/RT/User_Overlay.pm:423
-msgid "That user is now unprivileged"
-msgstr "Dette brukeren er nå upriviligert"
-
-#: NOT FOUND IN SOURCE
-msgid "That user is now unprivilegedileged"
-msgstr "Den brukeren er allerede upriviligert"
-
-#: lib/RT/Ticket_Overlay.pm:3031
-msgid "That user may not own tickets in that queue"
-msgstr "Den brukeren kan ikke eie saker i den køen"
-
-#: lib/RT/Link_Overlay.pm:233
-msgid "That's not a numerical id"
-msgstr "Dette er ikke en numerisk id"
-
-#: html/SelfService/Display.html:53 html/Ticket/Create.html:177 html/Ticket/Elements/ShowSummary:49
-msgid "The Basics"
-msgstr "Detaljer"
-
-#: lib/RT/ACE_Overlay.pm:112
-msgid "The CC of a ticket"
-msgstr "CCen til en sak"
-
-#: lib/RT/ACE_Overlay.pm:113
-msgid "The administrative CC of a ticket"
-msgstr "Administrative CCer for en sak"
-
-#: NOT FOUND IN SOURCE
-msgid "The comment has been recorded"
-msgstr "Kommentarer er lagret"
-
-#: bin/rt-crontool:275
-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 "De følgende kommandoene vil finne alle aktive saker i køen 'general' og sette deres prioritet til 99 hvis de ikke har blitt rørt de siste 4 timene:"
-
-#: NOT FOUND IN SOURCE
-msgid "The following commands were not proccessed:\\n\\n"
-msgstr "De følgende kommandoene ble ikke behandlet:\\n\\n"
-
-#: lib/RT/Record.pm:948
-msgid "The new value has been set."
-msgstr "Den nye verdien har blitt satt."
-
-#: lib/RT/ACE_Overlay.pm:110
-msgid "The owner of a ticket"
-msgstr "Eieren av en sak"
-
-#: lib/RT/ACE_Overlay.pm:111
-msgid "The requestor of a ticket"
-msgstr "Forespørren av en sak"
-
-#: html/Admin/Elements/EditUserComments:47
-msgid "These comments aren't generally visible to the user"
-msgstr "Disse kommentarene er generelt ikke synlig for brukeren"
-
-#: lib/RT/CustomField_Overlay.pm:978
-msgid "This custom field does not apply to that object"
-msgstr ""
-
-#: html/Admin/Tools/Configuration.html:50
-msgid "This feature is only available to system administrators"
-msgstr ""
-
-#: html/Ticket/Elements/PreviewScrips:96
-msgid "This message will be sent to..."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "This ticket %1 %2 (%3)\\n"
-msgstr "Denne saken %1 %2 (%3)\\n"
-
-#: bin/rt-crontool:266
-msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr "Dette verktøyet tillater brukeren å kjøre perlmoduler fra inni RT."
-
-#: lib/RT/Transaction_Overlay.pm:301
-msgid "This transaction appears to have no content"
-msgstr "Denne transaksjonen ser ikke ut til å ha noe innhold"
-
-#: html/Ticket/Elements/ShowRequestor:70
-#. ($rows)
-msgid "This user's %1 highest priority tickets"
-msgstr "Denne brukerens %1 høyst prioriterte saker"
-
-#: NOT FOUND IN SOURCE
-msgid "This user's 25 highest priority tickets"
-msgstr "Denne brukerens 23 høys prioriterte saker"
-
-#: lib/RT/Date.pm:420
-msgid "Thu."
-msgstr "Tor."
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket"
-msgstr "Sak"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket # %1 %2"
-msgstr "Sak # %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket # %1 Jumbo update: %2"
-msgstr "Sak $ %1 Jumbo oppdater: %2"
-
-#: html/Ticket/ModifyAll.html:46 html/Ticket/ModifyAll.html:50
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket #%1 Jumbo update: %2"
-msgstr "Sak #%1 Jumbo oppdatering: %2"
-
-#: html/Approvals/Elements/ShowDependency:67
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Ticket #%1: %2"
-msgstr "Sak #%1: %2"
-
-#: lib/RT/Action/CreateTickets.pm:1350 lib/RT/Action/CreateTickets.pm:1359 lib/RT/Action/CreateTickets.pm:605 lib/RT/Action/CreateTickets.pm:729 lib/RT/Action/CreateTickets.pm:741
-#. ($T::Tickets{$template_id}->Id)
-#. ($T::Tickets{$template_id}->id)
-#. ($ticket->Id)
-msgid "Ticket %1"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:755 lib/RT/Ticket_Overlay.pm:775
-#. ($self->Id, $QueueObj->Name)
-msgid "Ticket %1 created in queue '%2'"
-msgstr "Sak %1 opprettet i '%2' køen"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket %1 loaded\\n"
-msgstr "Sak %1 lastet\\n"
-
-#: html/Search/Bulk.html:377
-#. ($Ticket->Id, $_)
-msgid "Ticket %1: %2"
-msgstr "Sak %1: %2"
-
-#: html/Admin/Elements/QueueTabs:74
-msgid "Ticket Custom Fields"
-msgstr ""
-
-#: html/Ticket/History.html:46 html/Ticket/History.html:49
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket History # %1 %2"
-msgstr "Sakshistorikk # %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Id"
-msgstr "SaksId"
-
-#: etc/initialdata:324
-msgid "Ticket Resolved"
-msgstr "Løst Sak"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:69 html/Admin/Global/CustomFields/index.html:81 lib/RT/CustomField_Overlay.pm:1207
-msgid "Ticket Transactions"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket attachment"
-msgstr "Saks-vedlegg"
-
-#: lib/RT/Tickets_Overlay.pm:1920
-msgid "Ticket content"
-msgstr "Saks-innhold"
-
-#: lib/RT/Tickets_Overlay.pm:1969
-msgid "Ticket content type"
-msgstr "Sakens innholdstype"
-
-#: lib/RT/Ticket_Overlay.pm:603 lib/RT/Ticket_Overlay.pm:617 lib/RT/Ticket_Overlay.pm:628 lib/RT/Ticket_Overlay.pm:763
-msgid "Ticket could not be created due to an internal error"
-msgstr "Saken kunne ikke opprettes på grunn av en intern feil"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket created"
-msgstr "Sak opprettet"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket creation failed"
-msgstr "Saksopprettelse feilet"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket deleted"
-msgstr "Sak slettet"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket id not found"
-msgstr "Saksid ikke funnet"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket killed"
-msgstr "Sak drept"
-
-#: html/Ticket/Display.html:55
-msgid "Ticket metadata"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket not found"
-msgstr "Sak ikke funnet"
-
-#: etc/initialdata:310
-msgid "Ticket status changed"
-msgstr "Saksstatus endret"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket watchers"
-msgstr "Saksovervåkere"
-
-#: lib/RT/Search/FromSQL.pm:82
-#. (ref $self)
-msgid "TicketSQL search module"
-msgstr ""
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:64 html/Admin/Global/CustomFields/index.html:75 html/Elements/Tabs:71 html/Search/Elements/Chart:109 lib/RT/CustomField_Overlay.pm:1206
-msgid "Tickets"
-msgstr "Saker"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets %1 %2"
-msgstr "Saker %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets %1 by %2"
-msgstr "Saker %1 av %2"
-
-#: html/Tools/Reports/CreatedByDates.html:86
-msgid "Tickets created after"
-msgstr ""
-
-#: html/Tools/Reports/CreatedByDates.html:88
-msgid "Tickets created before"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets from %1"
-msgstr "Saker fra %1"
-
-#: html/Tools/Reports/ResolvedByDates.html:87
-msgid "Tickets resolved after"
-msgstr ""
-
-#: html/Tools/Reports/ResolvedByDates.html:89
-msgid "Tickets resolved before"
-msgstr ""
-
-#: html/Approvals/Elements/ShowDependency:48
-msgid "Tickets which depend on this approval:"
-msgstr "Saker som er avhengige av denne godkjennelsen:"
-
-#: html/Search/Elements/PickBasics:134 html/Ticket/Create.html:183 html/Ticket/Elements/EditBasics:72
-msgid "Time Estimated"
-msgstr ""
-
-#: html/Search/Elements/PickBasics:135 html/Ticket/Create.html:196 html/Ticket/Elements/EditBasics:85
-msgid "Time Left"
-msgstr "Tid Igjen"
-
-#: html/Search/Elements/PickBasics:133 html/Ticket/Create.html:189 html/Ticket/Elements/EditBasics:78
-msgid "Time Worked"
-msgstr "Arbeidstid"
-
-#: lib/RT/Tickets_Overlay.pm:1891
-msgid "Time left"
-msgstr "Tid igjen"
-
-#: html/Elements/Footer:51
-msgid "Time to display"
-msgstr "Tid å vise"
-
-#: lib/RT/Tickets_Overlay.pm:1866
-msgid "Time worked"
-msgstr "Arbeidstid"
-
-#: NOT FOUND IN SOURCE
-msgid "TimeLeft"
-msgstr "TidIgjen"
-
-#: lib/RT/Ticket_Overlay.pm:1167
-msgid "TimeWorked"
-msgstr "ArbeidsTid"
-
-#: html/Search/Elements/EditFormat:74
-msgid "Title"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:"
-msgstr "For å generere en diff av denne bekreftelsen:"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:\\n"
-msgstr "For å genere en diff av denne bekreftelsen"
-
-#: html/Elements/Footer:62
-#. ('<a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>')
-msgid "To inquire about support, training, custom development or licensing, please contact %1."
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:1170
-msgid "Told"
-msgstr "Fortalt"
-
-#: html/Admin/Elements/Tabs:68 html/Admin/index.html:88 html/Elements/Tabs:74 html/Tools/index.html:46 html/Tools/index.html:49
-msgid "Tools"
-msgstr ""
-
-#: html/Search/Elements/Chart:130
-msgid "Total"
-msgstr ""
-
-#: etc/initialdata:252
-msgid "Transaction"
-msgstr "Transaksjon"
-
-#: lib/RT/Transaction_Overlay.pm:805
-#. ($self->Data)
-msgid "Transaction %1 purged"
-msgstr "Transaksjon %1 slettet"
-
-#: lib/RT/Transaction_Overlay.pm:183
-msgid "Transaction Created"
-msgstr "Transaksjon Opprettet"
-
-#: html/Admin/Elements/QueueTabs:78
-msgid "Transaction Custom Fields"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Transaction->Create couldn't, as you didn't specify a ticket id"
-msgstr "Transaction->Create kunne ikke, siden du ikke spesifiserte en saksid"
-
-#: lib/RT/Transaction_Overlay.pm:128
-msgid "Transaction->Create couldn't, as you didn't specify an object type and id"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:870
-msgid "Transactions are immutable"
-msgstr "Transaksjoner er låst"
-
-#: NOT FOUND IN SOURCE
-msgid "Trying to delete a right: %1"
-msgstr "Prøver å slette en rettighet: %1"
-
-#: lib/RT/Date.pm:418
-msgid "Tue."
-msgstr "Tir."
-
-#: html/Admin/CustomFields/Modify.html:66 html/Admin/Elements/EditCustomField:65 html/Ticket/Elements/AddWatchers:54 html/Ticket/Elements/AddWatchers:65 html/Ticket/Elements/AddWatchers:75 lib/RT/Ticket_Overlay.pm:1168 lib/RT/Tickets_Overlay.pm:1705
-msgid "Type"
-msgstr "Type"
-
-#: lib/RT/ScripCondition_Overlay.pm:128
-msgid "Unimplemented"
-msgstr "Uimplementert"
-
-#: html/Admin/Users/Modify.html:89
-msgid "Unix login"
-msgstr "Unix login"
-
-#: NOT FOUND IN SOURCE
-msgid "UnixUsername"
-msgstr "UnixBrukerNavn"
-
-#: lib/RT/Attachment_Overlay.pm:289 lib/RT/Record.pm:861
-#. ($self->ContentEncoding)
-#. ($ContentEncoding)
-msgid "Unknown ContentEncoding %1"
-msgstr "Ukjent InnholdsFormatering %1"
-
-#: html/Search/Build.html:455 lib/RT/Report/Tickets.pm:410
-msgid "Unknown field: $key"
-msgstr ""
-
-#: html/Elements/SelectResultsPerPage:58
-msgid "Unlimited"
-msgstr "Ubegrenset"
-
-#: html/Search/Elements/SelectSearchesForObjects:64
-msgid "Unnamed search"
-msgstr ""
-
-#: etc/initialdata:32
-msgid "Unprivileged"
-msgstr "Upriviligert"
-
-#: html/Admin/Elements/EditCustomFields:60
-msgid "Unselected Custom Fields"
-msgstr ""
-
-#: html/Admin/CustomFields/Objects.html:61
-msgid "Unselected objects"
-msgstr ""
-
-#: lib/RT/Transaction_Overlay.pm:659
-msgid "Untaken"
-msgstr "Ikke tatt"
-
-#: html/Admin/Elements/EditScrip:128 html/Elements/RT__Ticket/ColumnMap:302 html/Search/Bulk.html:193 html/Search/Bulk.html:75
-msgid "Update"
-msgstr "Oppdater"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ID"
-msgstr "Oppdater ID"
-
-#: html/Ticket/Update.html:135
-msgid "Update Ticket"
-msgstr ""
-
-#: html/Search/Bulk.html:126 html/Ticket/ModifyAll.html:87 html/Ticket/Update.html:72
-msgid "Update Type"
-msgstr "Oppdater Type"
-
-#: NOT FOUND IN SOURCE
-msgid "Update all these tickets at once"
-msgstr "Oppdater alle disse sakene samtidig"
-
-#: NOT FOUND IN SOURCE
-msgid "Update email"
-msgstr "Oppdater epost"
-
-#: html/Search/Bulk.html:200 html/Search/Results.html:78
-msgid "Update multiple tickets"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Update name"
-msgstr "Oppdater navn"
-
-#: lib/RT/Action/CreateTickets.pm:750 lib/RT/Interface/Web.pm:584
-msgid "Update not recorded."
-msgstr "Oppdatering ikke lagret."
-
-#: NOT FOUND IN SOURCE
-msgid "Update selected tickets"
-msgstr "Oppdater valgte saker"
-
-#: NOT FOUND IN SOURCE
-msgid "Update signature"
-msgstr "Oppdater signatur"
-
-#: html/Ticket/ModifyAll.html:84
-msgid "Update ticket"
-msgstr "Oppdater sak"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ticket # %1"
-msgstr "Ooppdater sak # %1"
-
-#: html/SelfService/Update.html:112 html/SelfService/Update.html:47
-#. ($Ticket->id)
-msgid "Update ticket #%1"
-msgstr "Oppdater sak #%1"
-
-#: html/Ticket/Update.html:158
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Update ticket #%1 (%2)"
-msgstr "Oppdater sak #%1 (%2)"
-
-#: lib/RT/Action/CreateTickets.pm:748 lib/RT/Interface/Web.pm:583
-msgid "Update type was neither correspondence nor comment."
-msgstr "Oppdateringstype var verken korrespondanse eller kommentar."
-
-#: html/Elements/SelectDateType:54 html/Ticket/Elements/ShowDates:72 lib/RT/CustomField_Overlay.pm:1284 lib/RT/Ticket_Overlay.pm:1171
-msgid "Updated"
-msgstr "Oppdatert"
-
-#: html/Tools/Offline.html:93
-msgid "Upload"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:84
-msgid "Upload multiple files"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:79
-msgid "Upload multiple images"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:85
-msgid "Upload one file"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:80
-msgid "Upload one image"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:86
-msgid "Upload up to %1 files"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:81
-msgid "Upload up to %1 images"
-msgstr ""
-
-#: html/Tools/Offline.html:93
-msgid "Upload your changes"
-msgstr ""
-
-#: html/Admin/index.html:90
-msgid "Use other RT administrative tools"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "User %1 %2: %3\\n"
-msgstr "Bruker %1 %2: %3\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "User %1 Password: %2\\n"
-msgstr "Bruker %1 Passord: %2\\n"
-
-#: lib/RT/Ticket_Overlay.pm:506
-#. ($args{'Owner'})
-msgid "User '%1' could not be found."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "User '%1' not found"
-msgstr "Brukeren '%1' ble ikke funnet"
-
-#: NOT FOUND IN SOURCE
-msgid "User '%1' not found\\n"
-msgstr "Brukeren '%1' ble ikke funnet"
-
-#: etc/initialdata:132 etc/initialdata:206
-msgid "User Defined"
-msgstr "Bruker Definert"
-
-#: html/Admin/Elements/EditScrip:93
-msgid "User Defined conditions and actions"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "User ID"
-msgstr "BrukerID"
-
-#: NOT FOUND IN SOURCE
-msgid "User Id"
-msgstr "BrukerId"
-
-#: html/Admin/Elements/CustomFieldTabs:72 html/Admin/Elements/GroupTabs:68 html/Admin/Elements/QueueTabs:85 html/Admin/Elements/SystemTabs:68 html/Admin/Global/index.html:80
-msgid "User Rights"
-msgstr "Brukerrettigheter"
-
-#: html/Admin/Users/Modify.html:301
-#. ($msg)
-msgid "User could not be created: %1"
-msgstr "Bruker kunne ikke opprettes: %1"
-
-#: lib/RT/User_Overlay.pm:330
-msgid "User created"
-msgstr "Bruker opprettet"
-
-#: html/Admin/CustomFields/GroupRights.html:74 html/Admin/Global/GroupRights.html:88 html/Admin/Groups/GroupRights.html:75 html/Admin/Queues/GroupRights.html:90
-msgid "User defined groups"
-msgstr "Brukerdefinerte grupper"
-
-#: lib/RT/User_Overlay.pm:592 lib/RT/User_Overlay.pm:612
-msgid "User loaded"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "User notified"
-msgstr "Bruker informert"
-
-#: NOT FOUND IN SOURCE
-msgid "User view"
-msgstr "Brukervisning"
-
-#: html/Admin/Groups/index.html:103
-msgid "User-defined groups"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:69 html/Elements/Login:90 html/Ticket/Elements/AddWatchers:56
-msgid "Username"
-msgstr "Brukernavn"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:55 html/Admin/Elements/SelectNewGroupMembers:47 html/Admin/Elements/Tabs:53 html/Admin/Global/CustomFields/index.html:64 html/Admin/Groups/Members.html:76 html/Admin/Queues/People.html:89 html/Admin/index.html:62 html/User/Groups/Members.html:79 lib/RT/CustomField_Overlay.pm:1208
-msgid "Users"
-msgstr "Brukere"
-
-#: html/Admin/Users/index.html:85
-msgid "Users matching search criteria"
-msgstr "Brukere som treffer søkekriteria"
-
-#: bin/rt-crontool:134
-#. ($transaction->id)
-msgid "Using transaction #%1..."
-msgstr ""
-
-#: lib/RT/Tickets_Overlay_SQL.pm:528
-msgid "Valid Query"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:80
-msgid "Validation"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "ValueOfQueue"
-msgstr "KøVerdi"
-
-#: html/Admin/CustomFields/Modify.html:130 html/Admin/Elements/EditCustomField:78
-msgid "Values"
-msgstr "Verdier"
-
-#: NOT FOUND IN SOURCE
-msgid "VrijevormEnkele"
-msgstr "VrijevormEnkele"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Watch"
-msgstr "Overvåk"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "WatchAsAdminCc"
-msgstr "OvervåkSomAdminCc"
-
-#: NOT FOUND IN SOURCE
-msgid "Watcher loaded"
-msgstr "Overvåker lastet"
-
-#: html/Admin/Elements/QueueTabs:63
-msgid "Watchers"
-msgstr "Overvåkere"
-
-#: NOT FOUND IN SOURCE
-msgid "WebEncoding"
-msgstr "WebFormatering"
-
-#: lib/RT/Date.pm:419
-msgid "Wed."
-msgstr "Ons."
-
-#: html/Tools/MyDay.html:75
-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 "Når en sak har blitt godkjent av alle godkjennere, legg til korrespondanse for den opprinnelige saken"
-
-#: etc/initialdata:485
-msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
-msgstr "Når en sak har blitt godkjent av en godkjenner, legg til korrespondanse til den orginale saken"
-
-#: etc/initialdata:146
-msgid "When a ticket is created"
-msgstr "Når er sak er opprettet"
-
-#: etc/initialdata:418
-msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
-msgstr "Når er godkjennelsessak blir opprettet, gi melding til Eier og AdminCc om saken som venter på deres godkjenning"
-
-#: etc/initialdata:151
-msgid "When anything happens"
-msgstr "Når noe skjer"
-
-#: etc/initialdata:199
-msgid "Whenever a ticket is resolved"
-msgstr "Når en sak er løst"
-
-#: etc/initialdata:185
-msgid "Whenever a ticket's owner changes"
-msgstr "Når en sak får ny eier"
-
-#: 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 "Når en sak flyttes til en ny kø"
-
-#: etc/initialdata:170
-msgid "Whenever a ticket's status changes"
-msgstr "Når en saks status endres"
-
-#: etc/initialdata:207
-msgid "Whenever a user-defined condition occurs"
-msgstr "Når brukerdefinerte forhold intreffer"
-
-#: etc/initialdata:164
-msgid "Whenever comments come in"
-msgstr "Når kommentarer kommer inn"
-
-#: etc/initialdata:157
-msgid "Whenever correspondence comes in"
-msgstr "Når korrespondanse kommer inn"
-
-#: html/Admin/Users/Modify.html:188 html/User/Prefs.html:88
-msgid "Work"
-msgstr "Arbeid"
-
-#: html/Search/Results.html:82
-msgid "Work offline"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "WorkPhone"
-msgstr "ArbeidsTelefon"
-
-#: html/Ticket/Elements/ShowBasics:63 html/Ticket/Update.html:64
-msgid "Worked"
-msgstr "Arbeidet"
-
-#: lib/RT/Ticket_Overlay.pm:3140
-msgid "You already own this ticket"
-msgstr "Du eier allerede denne saken"
-
-#: html/autohandler:214 html/autohandler:222
-msgid "You are not an authorized user"
-msgstr "Du er ikke en autorisert bruker"
-
-#: html/Prefs/Search.html:56
-msgid "You can also edit the predefined search itself"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:3025
-msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "Du kan bare omfordele saker som du eier eller som ikke har en eier"
-
-#: lib/RT/Ticket_Overlay.pm:3021
-msgid "You can only take tickets that are unowned"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "You don't have permission to view that ticket.\\n"
-msgstr "Du har ikke tilgang til å se den saken.\\n"
-
-#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:780
-#. ($num, $queue)
-msgid "You found %1 tickets in queue %2"
-msgstr "Du fant %1 saker i %2 køen"
-
-#: html/NoAuth/Logout.html:52
-msgid "You have been logged out of RT."
-msgstr ""
-
-#: html/SelfService/Display.html:133
-msgid "You have no permission to create tickets in that queue."
-msgstr "Du har ikke tilgang til å opprette saker i den køen."
-
-#: lib/RT/Ticket_Overlay.pm:2003
-msgid "You may not create requests in that queue."
-msgstr "Du kan ikke opprette forespørsler i den køen."
-
-#: html/NoAuth/Logout.html:56
-msgid "You're welcome to login again"
-msgstr "Velkommen tilbake"
-
-#: NOT FOUND IN SOURCE
-msgid "Your %1 requests"
-msgstr "Dine %1 forespørsler"
-
-#: NOT FOUND IN SOURCE
-msgid "Your RT administrator has misconfigured the mail aliases which invoke RT"
-msgstr "Din RT administrastor har feilkonfigurert mail aliasene som kaller RT"
-
-#: etc/initialdata:502
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr "Din forespørsel har blitt godkjent av %1. Andre godkjennelser avventer kanskje fortsatt"
-
-#: etc/initialdata:540
-msgid "Your request has been approved."
-msgstr "Din forespørsel ble godkjent."
-
-#: NOT FOUND IN SOURCE
-msgid "Your request was rejected"
-msgstr "Din forespørsel ble avvist"
-
-#: etc/initialdata:445
-msgid "Your request was rejected."
-msgstr "Din forespørsel ble avvist"
-
-#: html/autohandler:251
-msgid "Your username or password is incorrect"
-msgstr "Ditt brukernavn/passord er ugyldig"
-
-#: html/Admin/Users/Modify.html:168 html/User/Prefs.html:149
-msgid "Zip"
-msgstr "Zip"
-
-#: NOT FOUND IN SOURCE
-msgid "[no subject]"
-msgstr "[ikke noe emne]"
-
-#: lib/RT/System.pm:87
-msgid "allow creation of saved searches"
-msgstr ""
-
-#: lib/RT/System.pm:86
-msgid "allow loading of saved searches"
-msgstr ""
-
-#: html/User/Elements/DelegateRights:80
-#. ($right->PrincipalObj->Object->SelfDescription)
-msgid "as granted to %1"
-msgstr "som tildelt til %1"
-
-#: html/Search/Results.html:83
-msgid "chart"
-msgstr ""
-
-#: html/SelfService/Closed.html:49
-msgid "closed"
-msgstr "lukket"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:55
-msgid "contains"
-msgstr "inneholder"
-
-#: NOT FOUND IN SOURCE
-msgid "content"
-msgstr "innhold"
-
-#: NOT FOUND IN SOURCE
-msgid "content-type"
-msgstr "innholdstype"
-
-#: NOT FOUND IN SOURCE
-msgid "correspondence (probably) not sent"
-msgstr "korrespondanse (sansynligvis) ikke sendt"
-
-#: NOT FOUND IN SOURCE
-msgid "correspondence sent"
-msgstr "korrespondanse sendt"
-
-#: html/Admin/Queues/Modify.html:98 lib/RT/Date.pm:346
-msgid "days"
-msgstr "dager"
-
-#: NOT FOUND IN SOURCE
-msgid "dead"
-msgstr "død"
-
-#: NOT FOUND IN SOURCE
-msgid "delete"
-msgstr "slett"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "deleted"
-msgstr "slettet"
-
-#: html/Search/Elements/PickBasics:61
-msgid "does not match"
-msgstr "treffer ikke"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:56
-msgid "doesn't contain"
-msgstr "inneholder ikke"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "equal to"
-msgstr "lik som"
-
-#: html/Search/Build.html:547
-msgid "error: can't move down"
-msgstr ""
-
-#: html/Search/Build.html:569
-msgid "error: can't move left"
-msgstr ""
-
-#: html/Search/Build.html:528
-msgid "error: can't move up"
-msgstr ""
-
-#: html/Search/Build.html:612
-msgid "error: nothing to delete"
-msgstr ""
-
-#: html/Search/Build.html:533 html/Search/Build.html:552 html/Search/Build.html:574 html/Search/Build.html:603
-msgid "error: nothing to move"
-msgstr ""
-
-#: html/Search/Build.html:630
-msgid "error: nothing to toggle"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "false"
-msgstr "usant"
-
-#: NOT FOUND IN SOURCE
-msgid "filename"
-msgstr "filnavn"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectEqualityOperator:59
-msgid "greater than"
-msgstr "større enn"
-
-#: lib/RT/Group_Overlay.pm:214
-#. ($self->Name)
-msgid "group '%1'"
-msgstr "gruppe '%1'"
-
-#: html/Search/Results.html:88
-#. ($m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy', Query => $Query))
-msgid "grouped by %1"
-msgstr ""
-
-#: lib/RT/Date.pm:342
-msgid "hours"
-msgstr "timer"
-
-#: html/Search/Elements/PickBasics:48
-msgid "id"
-msgstr "id"
-
-#: html/Elements/SelectBoolean:53 html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:57 html/Search/Elements/PickBasics:162 html/Search/Elements/PickBasics:74 html/Search/Elements/PickBasics:90 html/Search/Elements/PickCFs:53
-msgid "is"
-msgstr "er"
-
-#: html/Elements/SelectBoolean:57 html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:58 html/Search/Elements/PickBasics:163 html/Search/Elements/PickBasics:75 html/Search/Elements/PickBasics:91 html/Search/Elements/PickCFs:54
-msgid "isn't"
-msgstr "er ikke"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectEqualityOperator:59
-msgid "less than"
-msgstr "mindre enn"
-
-#: html/Search/Elements/PickBasics:60
-msgid "matches"
-msgstr "treffer"
-
-#: lib/RT/Date.pm:338
-msgid "min"
-msgstr "min"
-
-#: NOT FOUND IN SOURCE
-msgid "minutes"
-msgstr "minutter"
-
-#: NOT FOUND IN SOURCE
-msgid "modifications\\n\\n"
-msgstr "endringer\\n\\n"
-
-#: lib/RT/Date.pm:354
-msgid "months"
-msgstr "måneder"
-
-#: lib/RT/Queue_Overlay.pm:82
-msgid "new"
-msgstr "ny"
-
-#: html/Admin/Elements/PickCustomFields:64 html/Admin/Elements/PickObjects:65
-msgid "no name"
-msgstr ""
-
-#: html/Admin/Elements/EditScrips:64
-msgid "no value"
-msgstr "ingen verdi"
-
-#: html/Admin/Elements/EditQueueWatchers:48 html/Ticket/Elements/EditWatchers:49
-msgid "none"
-msgstr "ingen"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "not equal to"
-msgstr "ikke lik som"
-
-#: NOT FOUND IN SOURCE
-msgid "notlike"
-msgstr "ikkelik"
-
-#: html/SelfService/Elements/MyRequests:82 lib/RT/Queue_Overlay.pm:83
-msgid "open"
-msgstr "åpen"
-
-#: lib/RT/Group_Overlay.pm:219
-#. ($self->Name, $user->Name)
-msgid "personal group '%1' for user '%2'"
-msgstr "personlig gruppe '%1' for bruker '%2'"
-
-#: lib/RT/Group_Overlay.pm:227
-#. ($queue->Name, $self->Type)
-msgid "queue %1 %2"
-msgstr "kø %1 %2"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "rejected"
-msgstr "avvist"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "resolved"
-msgstr "løst"
-
-#: lib/RT/Date.pm:334
-msgid "sec"
-msgstr "sek"
-
-#: lib/RT/System.pm:85
-msgid "show Configuration tab"
-msgstr ""
-
-#: html/Search/Results.html:80
-msgid "spreadsheet"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "stalled"
-msgstr "pauset"
-
-#: html/Search/Results.html:89
-#. ($m->scomp('Elements/SelectChartType', Name => 'ChartStyle'))
-msgid "style: %1"
-msgstr ""
-
-#: html/Prefs/MyRT.html:93
-msgid "summary rows"
-msgstr ""
-
-#: lib/RT/Group_Overlay.pm:222
-#. ($self->Type)
-msgid "system %1"
-msgstr "system %1"
-
-#: lib/RT/Group_Overlay.pm:233
-#. ($self->Type)
-msgid "system group '%1'"
-msgstr "systemgruppe '%1'"
-
-#: html/Elements/Error:64 html/SelfService/Error.html:63
-msgid "the calling component did not specify why"
-msgstr "den kallende komponenten oppga ikke hvorfor"
-
-#: lib/RT/Group_Overlay.pm:230
-#. ($self->Instance, $self->Type)
-msgid "ticket #%1 %2"
-msgstr "sak #%1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "true"
-msgstr "sant"
-
-#: lib/RT/Group_Overlay.pm:236
-#. ($self->Id)
-msgid "undescribed group %1"
-msgstr "ubeskrevet gruppe %1"
-
-#: NOT FOUND IN SOURCE
-msgid "undescripbed group %1"
-msgstr "ubeskrevet gruppe %1"
-
-#: lib/RT/Group_Overlay.pm:211
-#. ($user->Object->Name)
-msgid "user %1"
-msgstr "bruker %1"
-
-#: lib/RT/Date.pm:350
-msgid "weeks"
-msgstr "uker"
-
-#: NOT FOUND IN SOURCE
-msgid "with template %1"
-msgstr "med malen %1"
-
-#: lib/RT/Date.pm:358
-msgid "years"
-msgstr "år"
-
diff --git a/rt/lib/RT/I18N/pt_br.po b/rt/lib/RT/I18N/pt_br.po
deleted file mode 100644
index 98fa2069e..000000000
--- a/rt/lib/RT/I18N/pt_br.po
+++ /dev/null
@@ -1,6528 +0,0 @@
-# translation of pt_br.po to Portugues Brasileiro
-# Header entry was created by KBabel!
-#
-# Fernando Frota Machado de Morais <frota@cecom.ufmg.br>, 2008.
-msgid ""
-msgstr ""
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"MIME-Version: 1.0\n"
-"PO-Revision-Date: 2008-02-23 11:48-0300\n"
-"Project-Id-Version: RT 3.6.x - pt_br\n"
-"Language-Team: Portugues Brasileiro <pt@li.org>\n"
-"X-Generator: KBabel 1.11.4\n"
-"MIME-Version: 1.0\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"Last-Translator: Fernando Frota Machado de Morais <frota@cecom.ufmg.br>\n"
-
-msgid ""
-"RT's email command mode requires PGP authentication. Either you didn't sign "
-"your message, or your signature could not be verified."
-msgstr ""
-"O modo de comandos por e-mail do RT requer autenticação PGP. Ou você não "
-"assinou sua mensagem ou sua assinatura não pôde ser verificada."
-
-#: html/Widgets/SavedSearch:117
-#. ($self->{CurrentSearch}{Object}->Description)
-msgid " %1 deleted."
-msgstr " %1 removido."
-
-#: html/Widgets/SavedSearch:94
-#. ($self->{CurrentSearch}{Description}, $args->{Description})
-msgid " %1 renamed to %2."
-msgstr " %1 renomeado para %2."
-
-#: html/Widgets/SavedSearch:107
-#. ($args->{Description})
-msgid " %1 saved."
-msgstr " %1 salvo."
-
-#: 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)
-#. ($TicketObj->Id, $TicketObj->Subject)
-#. ($Ticket->id, $Ticket->Subject)
-msgid "#%1: %2"
-msgstr ""
-
-#: html/Elements/ShowSearch:116
-msgid "$1"
-msgstr ""
-
-#: lib/RT/Record.pm:957
-#. ($label)
-msgid "$prefix %1"
-msgstr "$prefixo %1"
-
-#: lib/RT/URI/fsck_com_rt.pm:258
-#. ($self->ObjectType, $self->Object->Id)
-msgid "%1 #%2"
-msgstr ""
-
-#: lib/RT/Date.pm:367
-#. ($s, $time_unit)
-msgid "%1 %2"
-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 ""
-
-#: 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 "%1 %2 atrás"
-
-#: 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 mudado 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 removido"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 %2 of group %3"
-msgstr "%1 %2 do grupo %3"
-
-#: 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 "%1 %2 com modelo %3"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 (%2) %3 this ticket\\n"
-msgstr "%1 (%2) %3 este tíquete\\n"
-
-#: 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($TicketObj->Status))
-#. ($TicketObj->OwnerObj->Name())
-#. (loc($DefaultStatus))
-#. (loc($Ticket->Status()))
-msgid "%1 (Unchanged)"
-msgstr "%1 (Sem alteração)"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 - %2 shown"
-msgstr "%1 - %2 apresentados"
-
-#: 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 "%1 - Um argumento para passar para %2"
-
-#: bin/rt-crontool:264
-#. ("--verbose")
-msgid "%1 - Output status updates to STDOUT"
-msgstr "%1 - Mostra atualizações de estado no STDOUT"
-
-#: bin/rt-crontool:255
-#. ("--template-id")
-msgid "%1 - Specify id of the template you want to use"
-msgstr "%1 - Especifique o id do modelo que você quer usar"
-
-#: bin/rt-crontool:258
-#. ("--transaction")
-msgid "%1 - Specify if you want to use either 'first' or 'last' transaction"
-msgstr "%1 - Especifique se você quer usar a 'primeira' ou a 'última' transação"
-
-#: bin/rt-crontool:249
-#. ("--action")
-msgid "%1 - Specify the action module you want to use"
-msgstr "%1 - Especifica o módulo de ação que você quer usar"
-
-#: bin/rt-crontool:243
-#. ("--condition")
-msgid "%1 - Specify the condition module you want to use"
-msgstr "%1 - Especifica o módulo de condição que você quer usar"
-
-#: bin/rt-crontool:236
-#. ("--search")
-msgid "%1 - Specify the search module you want to use"
-msgstr "%1 - Especifica o módulo de busca que você quer usar"
-
-#: bin/rt-crontool:261
-#. ("--transaction-type")
-msgid "%1 - Specify the type of a transaction you want to use"
-msgstr "%1 - Especifique o tipo de transação você 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 "%1 RT %2 Direitos Reservados 1996-%3 %4."
-
-#: lib/RT/ScripAction_Overlay.pm:152
-#. ($self->Id)
-msgid "%1 ScripAction loaded"
-msgstr "ScripAction %1 carregado"
-
-#: lib/RT/Record.pm:1744
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 added as a value for %2"
-msgstr "%1 adicionado como um valor de %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on"
-msgstr "Aliases %1 requerem um TicketId no qual trabalhar"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on "
-msgstr "Aliases %1 requerem um TicketId no qual trabalhar "
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on (from %2) %3"
-msgstr "Aliases %1 requerem um TicketId no qual trabalhar (de %2) %3"
-
-#: 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 "%1 parece ser um objeto local, mas não pode ser encontrado no banco de dados"
-
-#: html/Ticket/Elements/ShowDates:75 lib/RT/Transaction_Overlay.pm:552
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
-#. ($self->BriefDescription , $self->CreatorObj->Name)
-msgid "%1 by %2"
-msgstr "%1 por %2"
-
-#: lib/RT/Transaction_Overlay.pm:809 lib/RT/Transaction_Overlay.pm:818 lib/RT/Transaction_Overlay.pm:821
-#. ($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 mudado de %2 para %3"
-
-#: html/Search/Build.html:215
-#. ($Description)
-msgid "%1 copy"
-msgstr "%1 copiado"
-
-#: lib/RT/Record.pm:961
-msgid "%1 could not be set to %2."
-msgstr "%1 não pôde ser mudado para %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 couldn't init a transaction (%2)\\n"
-msgstr "%1 não pôde iniciar uma transação (%2)\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr ""
-"%1 não pôde definir o estado como resolvido. O banco de dados do RT pode "
-"estar inconsistente."
-
-#: 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 removido"
-
-#: etc/initialdata:593
-msgid "%1 highest priority tickets I own"
-msgstr "Meus %1 tíquetes de mais alta prioridade"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I own..."
-msgstr "%1 tíquetes de mais alta prioridade que eu possuo..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I requested..."
-msgstr "%1 tíquetes de mais alta prioridade que eu requeri..."
-
-#: bin/rt-crontool:231
-#. ($0)
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1 é uma ferramenta que age sobre os tíquetes a partir de uma ferramenta externa de agendamento, como cron."
-
-#: lib/RT/Queue_Overlay.pm:865
-#. ($principal->Object->Name, $args{'Type'})
-msgid "%1 is no longer a %2 for this queue."
-msgstr "%1 não é mais um %2 desta fila."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 is no longer a %2 for this ticket."
-msgstr "%1 não é mais um %2 deste tíquete."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 is no longer a value for custom field %2"
-msgstr "%1 não é mais um valor para o campo personalizado %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 isn't a valid Queue id."
-msgstr "%1 não é um identificador de fila válido."
-
-#: html/Ticket/Elements/ShowTime:49 html/Ticket/Elements/ShowTime:51
-#. ($minutes)
-msgid "%1 min"
-msgstr ""
-
-#: etc/initialdata:601
-msgid "%1 newest unowned tickets"
-msgstr "%1 tíquetes mais recentes sem proprietário"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 not shown"
-msgstr "%1 não mostrado"
-
-#: lib/RT/CustomField_Overlay.pm:896
-msgid "%1 objects"
-msgstr "%1 objetos"
-
-#: html/User/Elements/DelegateRights:99
-#. (loc($ObjectType =~ /^RT::(.*)$/))
-msgid "%1 rights"
-msgstr "%1 direitos"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 succeeded\\n"
-msgstr "%1 teve sucesso\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 type unknown for $MessageId"
-msgstr "Tipo %1 desconhecido para $MessageId"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 type unknown for %2"
-msgstr "Tipo %1 desconhecido para %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 was created without a CurrentUser\\n"
-msgstr "%1 foi criado sem um CurrentUser\\n"
-
-#: lib/RT/Action/ResolveMembers.pm:65
-#. (ref $self)
-msgid "%1 will resolve all members of a resolved group ticket."
-msgstr "%1 resolverá todos os membros de um grupo de tíquetes resolvidos."
-
-#: lib/RT/CustomField_Overlay.pm:897
-msgid "%1's %2 objects"
-msgstr "%1's %2 objetos"
-
-#: lib/RT/CustomField_Overlay.pm:898
-msgid "%1's %2's %3 objects"
-msgstr "%1's %2's %3 objetos"
-
-#: 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 "Primeiras %1 buscas salvas"
-
-#: lib/RT/Transaction_Overlay.pm:502
-#. ($self)
-msgid "%1: no attachment specified"
-msgstr "%1: nenhum arquivo anexo 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 "%quant(%1,hora)"
-
-#: lib/RT/Ticket_Overlay.pm:1144
-#. ($args{'Status'})
-msgid "'%1' is an invalid value for status"
-msgstr "'%1' é um valor inválido para estado "
-
-#: NOT FOUND IN SOURCE
-msgid "'%1' not a recognized action. "
-msgstr "'%1' não é uma ação reconhecida."
-
-#: NOT FOUND IN SOURCE
-msgid "(Check box to delete group member)"
-msgstr "(Marcar caixa para remover o membro do grupo)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Check box to delete scrip)"
-msgstr "(Marcar caixa para remover o scrip)"
-
-#: 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 "(Marcar caixa para remover)"
-
-#: html/Ticket/Elements/PreviewScrips:101
-msgid "(Check boxes to disable notifications to the listed recipients)"
-msgstr "(Marcar caixas para desativar notificações para os destinatários listados)"
-
-#: html/Ticket/Elements/PreviewScrips:125
-msgid "(Check boxes to enable notifications to the listed recipients)"
-msgstr "(Marcar caixas para ativar notificações para os destinatários listados)"
-
-#: html/Ticket/Create.html:220
-msgid "(Enter ticket ids or URLs, separated with spaces)"
-msgstr "(Informar identificação de tíquetes ou URLs, separadas por espaço)"
-
-#: 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 "(Se deixado em branco, será entendido como %)"
-
-#: NOT FOUND IN SOURCE
-msgid "(No Value)"
-msgstr "(Sem Valor)"
-
-#: html/Admin/Elements/EditCustomFields:76 html/Admin/Elements/ListGlobalCustomFields:55
-msgid "(No custom fields)"
-msgstr "(Nenhum campo personalizado)"
-
-#: 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 "(Sem scrips)"
-
-#: html/Admin/Elements/EditTemplates:54
-msgid "(No templates)"
-msgstr "(Nenhum modelo)"
-
-#: html/Admin/Elements/PickCustomFields:49 html/Admin/Elements/PickObjects:49
-msgid "(None)"
-msgstr "(Nenhum)"
-
-#: 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 "(Envia uma cópia oculta desta atualização para uma lista de endereços de e-mails separados por ví­rgula.<strong>Não</strong> altera quem vai receber atualizações futuras.)"
-
-#: 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 "(Envia uma cópia desta atualização para uma lista de endereços de e-mails administrativos separados por ví­rgula. Estas pessoas <strong>vão</strong> receber atualizações futuras.)"
-
-#: 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 "(Envia uma cópia desta atualização para uma lista de endereços de e-mails separados por ví­rgula.<strong>Não</strong> altera quem vai receber atualizações futuras.)"
-
-#: 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 "(Envia uma cópia desta atualização para uma lista de endereços de separados por ví­rgula. Estas pessoas <strong>vão</strong> receber atualizações futuras.)"
-
-#: html/Admin/Elements/EditScrip:98
-msgid "(Use these fields when you choose 'User Defined' for a condition or action)"
-msgstr ""
-"(Use estes campos quando você escolhar 'Definido pelo Usuário' para uma "
-"condição ou ação)"
-
-#: html/Ticket/Elements/EditWatchers:62 html/Ticket/Elements/ShowUserEntry:55
-msgid "(Will not be sent email)"
-msgstr "(Não enviará e-mail)"
-
-#: html/Tools/MyDay.html:53
-#. ($session{'CurrentUser'}->Name)
-msgid "(displaying new and open tickets for %1)"
-msgstr "(mostrando tíquetes novos e abertos pra %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 "(nenhum nome listado)"
-
-#: NOT FOUND IN SOURCE
-msgid "(no subject)"
-msgstr "(Sem assunto)"
-
-#: 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 "(somente um tíquete)"
-
-#: html/Elements/RT__Ticket/ColumnMap:151
-msgid "(pending approval)"
-msgstr "(aprovação pendente)"
-
-#: html/Elements/RT__Ticket/ColumnMap:154
-msgid "(pending other Collection)"
-msgstr "(outra Coleta pendente)"
-
-#: NOT FOUND IN SOURCE
-msgid "(pending other tickets)"
-msgstr "(aguardando outros tíquetes)"
-
-#: NOT FOUND IN SOURCE
-msgid "(requestor's group)"
-msgstr "(grupo do requisitante)"
-
-#: html/Admin/Users/Modify.html:73
-msgid "(required)"
-msgstr "(requerido)"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:84
-msgid "(untitled)"
-msgstr "(sem título)"
-
-#: html/Ticket/Elements/Reminders:135
-msgid "(yyyy/mm/dd)"
-msgstr "(aaaa/mm/dd)"
-
-#: html/Elements/EditCustomFieldSelect:59
-msgid "-"
-msgstr ""
-
-#: bin/rt-crontool:97
-msgid "--transaction argument could be only 'first' or 'last'"
-msgstr "--argumento da transação só pode ser 'first' (primeiro) ou 'last' (último)"
-
-#: NOT FOUND IN SOURCE
-msgid "25 highest priority tickets I own..."
-msgstr "25 tíquetes mais prioritários que possuo..."
-
-#: NOT FOUND IN SOURCE
-msgid "25 highest priority tickets I requested..."
-msgstr "25 tíquetes mais prioritários que requisitei..."
-
-#: html/Ticket/Elements/ShowBasics:55
-msgid "<% $Ticket->Status%>"
-msgstr ""
-
-#: html/Elements/SelectTicketTypes:50
-msgid "<% $_ %>"
-msgstr ""
-
-#: html/Search/Elements/SelectLinks:50
-msgid "<%$_%>"
-msgstr ""
-
-#: html/Search/Elements/DisplayOptions:75
-msgid "<%$field%>"
-msgstr ""
-
-#: 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 tíquete 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 tíquete em\">&nbsp;%1"
-
-#: etc/initialdata:218
-msgid "A blank template"
-msgstr "Um modelo vazio"
-
-#: html/Admin/Users/Modify.html:375
-msgid "A password was not set, so user won't be able to login."
-msgstr "Não foi definida uma senha, o usuário não estará apto a usar o sistema."
-
-#: NOT FOUND IN SOURCE
-msgid "ACE Deleted"
-msgstr "ACE Removida"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE Loaded"
-msgstr "ACE Carregada"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE could not be deleted"
-msgstr "ACE não pôde ser removida"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE could not be found"
-msgstr "ACE não pode ser encontrada"
-
-#: lib/RT/ACE_Overlay.pm:176 lib/RT/Principal_Overlay.pm:221
-msgid "ACE not found"
-msgstr "ACE não encontrado"
-
-#: lib/RT/ACE_Overlay.pm:855
-msgid "ACEs can only be created and deleted."
-msgstr "ACEs só podem ser criados e removidos."
-
-#: html/Search/Elements/SelectAndOr:48
-msgid "AND"
-msgstr "E"
-
-#: NOT FOUND IN SOURCE
-msgid "Aborting to avoid unintended ticket modifications.\\n"
-msgstr "Abortando para evitar modificações indesejadas no tíquete.\\n"
-
-#: 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 "Ação"
-
-#: lib/RT/Scrip_Overlay.pm:174
-#. ($args{'ScripAction'})
-msgid "Action %1 not found"
-msgstr "Ação %1 não encontrada"
-
-#: NOT FOUND IN SOURCE
-msgid "Action committed."
-msgstr "Ação executada."
-
-#: bin/rt-crontool:173
-msgid "Action committed.\\n"
-msgstr "Ação executada.\\n"
-
-#: lib/RT/Scrip_Overlay.pm:170
-msgid "Action is mandatory argument"
-msgstr "Ação é um argumento obrigatório."
-
-#: bin/rt-crontool:169
-msgid "Action prepared..."
-msgstr "Ação preparada..."
-
-#: 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ério"
-
-#: html/Ticket/Create.html:149 html/Ticket/Update.html:118
-msgid "Add More Files"
-msgstr "Adicionar Mais Arquivos"
-
-#: NOT FOUND IN SOURCE
-msgid "Add Next State"
-msgstr "Adicionar Próximo Estado"
-
-#: html/Search/Bulk.html:86
-msgid "Add Requestor"
-msgstr "Adicionar Requisitante"
-
-#: html/Admin/Elements/AddCustomFieldValue:48
-msgid "Add Value"
-msgstr "Adicionar Valor"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a Scrip to this queue"
-msgstr "Adicionar um Scrip a esta fila"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a Scrip which will apply to all queues"
-msgstr "Adicionar um Scrip que será aplicado a todas as filas"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a keyword selection to this queue"
-msgstr "Adicionar uma seleção de teclado a esta fila"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a new a global scrip"
-msgstr "Adicionar um novo scrip global"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a scrip to this queue"
-msgstr "Adicionar um scrip a esta fila"
-
-#: html/Admin/Global/Scrip.html:85
-msgid "Add a scrip which will apply to all queues"
-msgstr "Adicionar um scrip que se aplicará a todas as filas "
-
-#: html/Search/Build.html:111 html/Search/Build.html:96
-msgid "Add and Search"
-msgstr "Adicionar e Buscar"
-
-#: html/Search/Bulk.html:126
-msgid "Add comments or replies to selected tickets"
-msgstr "Adicionar comentários ou respostas aos tíquetes selecionados"
-
-#: 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 observadores"
-
-#: html/Search/Build.html:87
-msgid "Add these terms to your search"
-msgstr "Adicionar estes termos à sua busca"
-
-#: 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 "Adicionar, remover e modificar valores de campos personalizados para objetos"
-
-#: NOT FOUND IN SOURCE
-msgid "AddNextState"
-msgstr "AddNextState"
-
-#: lib/RT/Queue_Overlay.pm:765
-#. ($args{'Type'})
-msgid "Added principal as a %1 for this queue"
-msgstr "Usuário/Grupo adicionado como um %1 desta fila"
-
-#: lib/RT/Ticket_Overlay.pm:1457
-#. ($self->loc($args{'Type'}))
-msgid "Added principal as a %1 for this ticket"
-msgstr "Usuário/Grupo adicionado como um %1 deste tíquete"
-
-#: 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 "Admin Cc"
-
-#: etc/initialdata:295
-msgid "Admin Comment"
-msgstr "Comentário do Administrador"
-
-#: etc/initialdata:274
-msgid "Admin Correspondence"
-msgstr "Correspondência do Administrador"
-
-#: html/Admin/Queues/index.html:48 html/Admin/Queues/index.html:51
-msgid "Admin queues"
-msgstr "Administração de filas"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin users"
-msgstr "Administração de usuários"
-
-#: html/Admin/Global/index.html:49 html/Admin/Global/index.html:51
-msgid "Admin/Global configuration"
-msgstr "Administração da configuração global"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Groups"
-msgstr "Administração de Grupos"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Queue/Basics"
-msgstr "Administração de uma fila"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminAllPersonalGroups"
-msgstr "AdminAllPersonalGroups"
-
-#: etc/initialdata:56 html/Ticket/Elements/ShowPeople:62 lib/RT/ACE_Overlay.pm:115
-msgid "AdminCc"
-msgstr "AdminCc"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminComment"
-msgstr "ComentarioAdministrador"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminCorrespondence"
-msgstr "CorrespondenciaAdministrador"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "AdminCustomField"
-msgstr "AdministrarCampoPersonalizado"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminCustomFields"
-msgstr "AdministrarCamposPersonalizados"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "AdminGroup"
-msgstr "AdministrarGrupo"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "AdminGroupMembership"
-msgstr "AdministrarAfiliacaoGrupop"
-
-#: lib/RT/System.pm:82
-msgid "AdminOwnPersonalGroups"
-msgstr "AdminOwnPersonalGroups"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "AdminQueue"
-msgstr "AdministrarFila"
-
-#: lib/RT/System.pm:83
-msgid "AdminUsers"
-msgstr "AdministrarUsuários"
-
-#: html/Admin/Queues/People.html:71 html/Ticket/Elements/EditPeople:77
-msgid "Administrative Cc"
-msgstr "Cc Administrativo"
-
-#: NOT FOUND IN SOURCE
-msgid "Admins"
-msgstr "Administradores"
-
-#: html/Ticket/Elements/Tabs:218
-msgid "Advanced"
-msgstr "Avançado"
-
-#: NOT FOUND IN SOURCE
-msgid "Advanced Search"
-msgstr "Busca avançada"
-
-#: html/Elements/SelectDateRelation:59
-msgid "After"
-msgstr "Depois de"
-
-#: NOT FOUND IN SOURCE
-msgid "Age"
-msgstr "Idade"
-
-#: html/Search/Elements/PickCriteria:54
-msgid "Aggregator"
-msgstr "Agregador"
-
-#: NOT FOUND IN SOURCE
-msgid "Alias for"
-msgstr "Aliás para"
-
-#: etc/initialdata:363
-msgid "All Approvals Passed"
-msgstr "Todas as Aprovações Concedidas"
-
-#: NOT FOUND IN SOURCE
-msgid "All Custom Fields"
-msgstr "Todos os Campos Personalizados"
-
-#: html/Admin/Queues/index.html:77
-msgid "All Queues"
-msgstr "Todas as filas"
-
-#: NOT FOUND IN SOURCE
-msgid "Always sends a message to the requestors independent of message sender"
-msgstr ""
-"Sempre envia uma mensagem para os requisitantes independentemente do "
-"remetente"
-
-#: 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 suas 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, $msg)
-#. ($Ticket->Id, $Ticket->Subject)
-#. ($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 "Aprovação #%1: Anotações não registradas devido a um erro de sistema"
-
-#: html/Approvals/index.html:75
-#. ($ticket->Id)
-msgid "Approval #%1: Notes recorded"
-msgstr "Aprovação #%1: Anotações registradas"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Details"
-msgstr "Detalhes da Aprovação"
-
-#: etc/initialdata:351
-msgid "Approval Passed"
-msgstr "Aprovação Concedida"
-
-#: etc/initialdata:374
-msgid "Approval Rejected"
-msgstr "Aprovação Rejeitada"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval diagram"
-msgstr "Diagrama da aprovação"
-
-#: html/Approvals/Elements/Approve:71
-msgid "Approve"
-msgstr "Aprove"
-
-#: etc/initialdata:504
-msgid "Approver's notes: %1"
-msgstr "Anotações do aprovador: %1"
-
-#: lib/RT/Date.pm:446
-msgid "Apr."
-msgstr "Abr."
-
-#: NOT FOUND IN SOURCE
-msgid "April"
-msgstr "Abril"
-
-#: html/Search/Elements/DisplayOptions:83
-msgid "Asc"
-msgstr ""
-
-#: html/Elements/SelectSortOrder:58
-msgid "Ascending"
-msgstr "Ascendente"
-
-#: lib/RT/Queue_Overlay.pm:98
-msgid "Assign and remove custom fields"
-msgstr "Definir e remover campos personalizados"
-
-#: lib/RT/Queue_Overlay.pm:98
-msgid "AssignCustomFields"
-msgstr "DefinirCamposPersonalizados"
-
-#: 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 arquivo"
-
-#: html/SelfService/Update.html:77 html/Ticket/Create.html:133 html/Ticket/Update.html:96
-msgid "Attached file"
-msgstr "Arquivo anexado"
-
-#: html/Ticket/ShowEmailRecord.html:54 html/Ticket/ShowEmailRecord.html:58 html/Ticket/ShowEmailRecord.html:61
-#. ($Attachment)
-msgid "Attachment '%1' could not be loaded"
-msgstr "Arquivo anexo '%1' não pôde ser carregado"
-
-#: lib/RT/Transaction_Overlay.pm:510
-msgid "Attachment created"
-msgstr "Arquivo anexo criado"
-
-#: lib/RT/Tickets_Overlay.pm:2061
-msgid "Attachment filename"
-msgstr "Nome do arquivo anexo"
-
-#: html/Ticket/Elements/ShowAttachments:49
-msgid "Attachments"
-msgstr "Arquivos anexos"
-
-#: lib/RT/Attributes_Overlay.pm:173
-msgid "Attribute Deleted"
-msgstr "Atributo Removido"
-
-#: lib/RT/Date.pm:450
-msgid "Aug."
-msgstr "Ago."
-
-#: NOT FOUND IN SOURCE
-msgid "August"
-msgstr "Agosto"
-
-#: NOT FOUND IN SOURCE
-msgid "AuthSystem"
-msgstr "Sistema de autenticação"
-
-#: etc/initialdata:221
-msgid "Autoreply"
-msgstr "RespostaAutomatica"
-
-#: etc/initialdata:72
-msgid "Autoreply To Requestors"
-msgstr "Responder Automaticamente para Requisitantes"
-
-#: NOT FOUND IN SOURCE
-msgid "AutoreplyToRequestors"
-msgstr "AutoreplyToRequestors"
-
-#: html/Widgets/SelectionBox:191
-msgid "Available"
-msgstr "Disponível"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad PGP Signature: %1\\n"
-msgstr "Assinatura PGP inválida: %1\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad attachment id. Couldn't find attachment '%1'\\n"
-msgstr ""
-"Identificador de arquivo anexo inválido. Não foi possível encontrar o arquivo '%"
-"1'\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad data in %1"
-msgstr "Dados inválidos em %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad transaction number for attachment. %1 should be %2\\n"
-msgstr "Número inválido de transação para o arquivo anexo. %1 deveria ser %2\\n"
-
-#: 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 "Básicos"
-
-#: 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 "Não se esqueça de salvar suas alterações"
-
-#: html/Elements/SelectDateRelation:57 lib/RT/CurrentUser.pm:363
-msgid "Before"
-msgstr "Antes de"
-
-#: NOT FOUND IN SOURCE
-msgid "Begin Approval"
-msgstr "Incício da Aprovação"
-
-#: html/Elements/Logo:49
-msgid "Best Practical Solutions, LLC corporate logo"
-msgstr ""
-
-#: etc/initialdata:217
-msgid "Blank"
-msgstr "Vazio"
-
-#: html/Search/Elements/EditFormat:86
-msgid "Bold"
-msgstr "Negrito"
-
-#: NOT FOUND IN SOURCE
-msgid "Bookmarkable URL for this search"
-msgstr "URL para guardar esta busca em Favoritos"
-
-#: html/Search/Results.html:81
-msgid "Bookmarkable link"
-msgstr "Atalho para Favoritos"
-
-#: html/Ticket/Elements/ShowHistory:66 html/Ticket/Elements/ShowHistory:71
-msgid "Brief headers"
-msgstr "Cabeçalhos resumidos"
-
-#: html/Ticket/Elements/Tabs:228
-msgid "Bulk Update"
-msgstr "Atualização em Massa"
-
-#: NOT FOUND IN SOURCE
-msgid "Bulk ticket update"
-msgstr "Atualização de tíquetes em lote"
-
-#: lib/RT/User_Overlay.pm:1855
-msgid "Can not modify system users"
-msgstr "Não é possível modificar os usuários do sistema"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "Can this principal see this queue"
-msgstr "Este Usuário/Grupo pode ver esta fila"
-
-#: lib/RT/CustomField_Overlay.pm:382
-msgid "Can't add a custom field value without a name"
-msgstr "Não é possível adicionar um valor de campo personalizado sem um nome"
-
-#: html/Admin/CustomFields/Objects.html:88
-#. ($Class)
-msgid "Can't find a collection class for '%1'"
-msgstr "Não foi encontrada uma classe de coleta para '%1'"
-
-#: html/Search/Build.html:288
-msgid "Can't find a saved search to work with"
-msgstr "Não foi encontrada uma busca salva para ser trabalhada"
-
-#: lib/RT/Link_Overlay.pm:161
-msgid "Can't link a ticket to itself"
-msgstr "Não é possível vincular um tíquete a ele mesmo"
-
-#: NOT FOUND IN SOURCE
-msgid "Can't merge into a merged ticket. You should never get this error"
-msgstr "Não é possível unir a um tíquete já unido. Você nunca deve obter este erro"
-
-#: html/Widgets/SavedSearch:110
-#. (loc($self->{SearchType}))
-msgid "Can't save %1"
-msgstr "Não é possível salvar %1"
-
-#: html/Search/Build.html:292
-msgid "Can't save this search"
-msgstr "Não é possível salvar esta busca"
-
-#: lib/RT/Record.pm:1304 lib/RT/Record.pm:1380
-msgid "Can't specifiy both base and target"
-msgstr "Não especifique origem e destino simultaneamente"
-
-#: html/autohandler:206
-#. ($msg)
-msgid "Cannot create user: %1"
-msgstr "Não é possível criar o usuário: %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 a senha"
-
-#: html/Elements/Submit:80
-msgid "Check All"
-msgstr "Marcar Tudo"
-
-#: html/SelfService/Update.html:80 html/Ticket/Create.html:136 html/Ticket/Update.html:99
-msgid "Check box to delete"
-msgstr "Marcar caixa para remover"
-
-#: html/Admin/Elements/SelectRights:57
-msgid "Check box to revoke right"
-msgstr "Marcar caixa para revogar o direito de acesso"
-
-#: html/Elements/EditLinks:149 html/Elements/EditLinks:86 html/Elements/ShowLinks:80 html/Ticket/Create.html:225 html/Ticket/Elements/BulkLinks:66
-msgid "Children"
-msgstr "Filhos"
-
-#: html/NoAuth/js/util.js:203
-msgid "Choose a date"
-msgstr "Escolher uma data"
-
-#: html/Admin/Users/Modify.html:159 html/User/Prefs.html:143
-msgid "City"
-msgstr "Cidade"
-
-#: html/Widgets/SelectionBox:214
-msgid "Clear"
-msgstr "Limpar"
-
-#: html/Elements/Submit:82
-msgid "Clear All"
-msgstr "Limpar Tudo"
-
-#: html/Helpers/CalPopup.html:53
-msgid "Close window"
-msgstr "Fechar janela"
-
-#: html/Ticket/Elements/ShowDates:70
-msgid "Closed"
-msgstr "Fechado"
-
-#: NOT FOUND IN SOURCE
-msgid "Closed requests"
-msgstr "Requisições fechadas"
-
-#: html/SelfService/Closed.html:48 html/SelfService/Elements/Tabs:81
-msgid "Closed tickets"
-msgstr "Tíquetes fechados"
-
-#: NOT FOUND IN SOURCE
-msgid "Code"
-msgstr "Código"
-
-#: lib/RT/CustomField_Overlay.pm:91
-msgid "Combobox: Select or enter multiple values"
-msgstr "CaixaCombinada: Selecionar on informar múltiplos valores"
-
-#: lib/RT/CustomField_Overlay.pm:92
-msgid "Combobox: Select or enter one value"
-msgstr "CaixaCombinada: Selecionar ou informar um valor"
-
-#: lib/RT/CustomField_Overlay.pm:93
-msgid "Combobox: Select or enter up to %1 values"
-msgstr "CaixaCombinada: Selecionar ou informar até %1 valores"
-
-#: NOT FOUND IN SOURCE
-msgid "Command not understood!\\n"
-msgstr "Comando não entendido!\\n"
-
-#: html/Ticket/Elements/ShowTransaction:190 html/Ticket/Elements/Tabs:187
-msgid "Comment"
-msgstr "Comentar"
-
-#: html/Admin/Queues/Modify.html:81
-msgid "Comment Address"
-msgstr "Endereço de Comentário"
-
-#: NOT FOUND IN SOURCE
-msgid "Comment not recorded"
-msgstr "Comentário não registrado"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "Comment on tickets"
-msgstr "Comente sobre os tíquetes"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "CommentOnTicket"
-msgstr "CommetarioNoTiquete"
-
-#: 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 enviados aos requisitantes)"
-
-#: html/Search/Bulk.html:130
-msgid "Comments (not sent to requestors)"
-msgstr "Comentários (não enviados aos requisitantes)"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments about %1"
-msgstr "Comentários sobre %1"
-
-#: html/Admin/Users/Modify.html:229 html/Ticket/Elements/ShowRequestor:69
-msgid "Comments about this user"
-msgstr "Comentários sobre este usuário"
-
-#: lib/RT/Transaction_Overlay.pm:655
-msgid "Comments added"
-msgstr "Comentários adicionados"
-
-#: lib/RT/Action/Generic.pm:177
-msgid "Commit Stubbed"
-msgstr "Execução Abortada"
-
-#: NOT FOUND IN SOURCE
-msgid "Compile Restrictions"
-msgstr "Compilar restrições"
-
-#: html/Admin/Elements/EditScrip:61
-msgid "Condition"
-msgstr "Condição"
-
-#: lib/RT/Scrip_Overlay.pm:186
-msgid "Condition is mandatory argument"
-msgstr "Condição é um argumento obrigatório"
-
-#: bin/rt-crontool:153
-msgid "Condition matches..."
-msgstr "Condição satisfeita..."
-
-#: lib/RT/Scrip_Overlay.pm:190
-msgid "Condition not found"
-msgstr "Condição não encontrada"
-
-#: html/Elements/Tabs:87
-msgid "Configuration"
-msgstr "Configuração"
-
-#: html/SelfService/Prefs.html:56
-msgid "Confirm"
-msgstr "Confirmar"
-
-#: NOT FOUND IN SOURCE
-msgid "ContactInfoSystem"
-msgstr "Informação de contato"
-
-#: NOT FOUND IN SOURCE
-msgid "Contacted date '%1' could not be parsed"
-msgstr "Data de contato '%1' não pôde ser entendida"
-
-#: 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 "Tipo-de-Conteúdo"
-
-#: NOT FOUND IN SOURCE
-msgid "Coould not create group"
-msgstr "Não foi possível criar o grupo"
-
-#: html/Search/Elements/EditSearches:67
-msgid "Copy"
-msgstr "Copiar"
-
-#: etc/initialdata:286
-msgid "Correspondence"
-msgstr "Correspondência"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence Address"
-msgstr "Endereço de correspondência"
-
-#: lib/RT/Transaction_Overlay.pm:651
-msgid "Correspondence added"
-msgstr "Correspondência adicionada"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence not recorded"
-msgstr "Correspondência não registrada"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value for ticket. "
-msgstr "Não foi possível adicionar novo valor de campo personalizado para o tíquete. "
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value for ticket. %1 "
-msgstr "Não foi possível adicionar novo valor de campo personalizado para o tíquete. %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value. "
-msgstr "Não foi possível adicionar novo valor do campo personalizado."
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value. %1 "
-msgstr "Não foi possível adicionar novo valor do campo personalizado. %1"
-
-#: lib/RT/Record.pm:1682 lib/RT/Record.pm:1729
-#. ($value_msg)
-msgid "Could not add new custom field value: %1"
-msgstr "Não foi possível adicionar novo valor do campo personalizado: %1"
-
-#: lib/RT/Ticket_Overlay.pm:3071 lib/RT/Ticket_Overlay.pm:3079 lib/RT/Ticket_Overlay.pm:3096
-msgid "Could not change owner. "
-msgstr "Não foi possível mudar o proprietário. "
-
-#: html/Admin/CustomFields/Modify.html:163
-#. ($msg)
-msgid "Could not create CustomField"
-msgstr "Não foi possível criar CampoPersonalizado"
-
-#: html/Admin/Elements/EditCustomField:115
-#. ($msg)
-msgid "Could not create CustomField: %1"
-msgstr "Não foi possível criar CampoPersonalizado: %1"
-
-#: html/User/Groups/Modify.html:100 lib/RT/Group_Overlay.pm:496 lib/RT/Group_Overlay.pm:503
-msgid "Could not create group"
-msgstr "Não foi possível criar o grupo"
-
-#: html/Admin/Global/Template.html:98 html/Admin/Queues/Template.html:95
-#. ($msg)
-msgid "Could not create template: %1"
-msgstr "Não foi possível criar o modelo: %1"
-
-#: lib/RT/Ticket_Overlay.pm:1077 lib/RT/Ticket_Overlay.pm:409
-msgid "Could not create ticket. Queue not set"
-msgstr "Não foi possível criar o tíquete. Fila não definida"
-
-#: 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 o usuário"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create watcher for requestor"
-msgstr "Não foi possível criar um observador para o requisitante"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find a ticket with id %1"
-msgstr "Não foi possível encontrar um tíquete com identificador %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find group %1."
-msgstr "Não foi possível encontrar o grupo %1."
-
-#: lib/RT/Queue_Overlay.pm:743 lib/RT/Ticket_Overlay.pm:1425
-msgid "Could not find or create that user"
-msgstr "Não foi possível encontrar ou criar este usuário"
-
-#: lib/RT/Queue_Overlay.pm:804 lib/RT/Ticket_Overlay.pm:1506
-msgid "Could not find that principal"
-msgstr "Não foi possível encontrar este usuário/grupo"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find user %1."
-msgstr "Não foi possível encontrar o usuário %1."
-
-#: html/Admin/CustomFields/Objects.html:71
-msgid "Could not load CustomField %1"
-msgstr "Não foi possível caarregar CampoPersonalizado %1"
-
-#: html/Admin/Groups/Members.html:114 html/User/Groups/Members.html:113 html/User/Groups/Modify.html:105
-msgid "Could not load group"
-msgstr "Não foi possível carregar o grupo"
-
-#: lib/RT/SavedSearch.pm:121
-#. ($privacy)
-msgid "Could not load object for %1"
-msgstr "Não foi possível carregar objeto para %1"
-
-#: lib/RT/SavedSearch.pm:199
-msgid "Could not load search attribute"
-msgstr "Não foi possível carregar atributo de busca"
-
-#: lib/RT/Queue_Overlay.pm:763
-#. ($args{'Type'})
-msgid "Could not make that principal a %1 for this queue"
-msgstr "Não foi possível fazer deste usuário/grupo um %1 desta fila"
-
-#: lib/RT/Ticket_Overlay.pm:1446
-#. ($self->loc($args{'Type'}))
-msgid "Could not make that principal a %1 for this ticket"
-msgstr "Não foi possível fazer deste usuário/grupo um %1 deste tíquete"
-
-#: lib/RT/Queue_Overlay.pm:862
-#. ($args{'Type'})
-msgid "Could not remove that principal as a %1 for this queue"
-msgstr "Não foi possível remover este usuário/grupo como um %1 desta fila"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not remove that principal as a %1 for this ticket"
-msgstr "Não foi possível remover este usuário/grupo como um %1 deste tíquete"
-
-#: lib/RT/User_Overlay.pm:193
-msgid "Could not set user info"
-msgstr "Não foi possível definir informações sobre usuário"
-
-#: 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 o membro ao 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 transação: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't figure out what to do from gpg's reply\\n"
-msgstr "Não sei o que fazer com a resposta do gpg\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find group\\n"
-msgstr "Não encontrei o grupo\\n"
-
-#: lib/RT/Record.pm:970
-msgid "Couldn't find row"
-msgstr "Não foi possível encontrar o registro"
-
-#: lib/RT/Group_Overlay.pm:979
-msgid "Couldn't find that principal"
-msgstr "Não foi possível encontrar este usuário/grupo"
-
-#: lib/RT/CustomField_Overlay.pm:412
-msgid "Couldn't find that value"
-msgstr "Não foi possível encontrar este valor"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find that watcher"
-msgstr "Não foi possível encontrar este observador"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find user\\n"
-msgstr "Não foi possível encontrar o usuário\\n"
-
-#: lib/RT/CurrentUser.pm:147
-#. ($self->Id)
-msgid "Couldn't load %1 from the users database.\\n"
-msgstr "Não foi possível carregar %1 do banco de dados de usuários.\\n"
-
-#: html/Admin/CustomFields/UserRights.html:151
-#. ($id)
-msgid "Couldn't load Class %1"
-msgstr "Não foi possível carregar Classe %1"
-
-#: html/Admin/CustomFields/GroupRights.html:109
-#. ($id)
-msgid "Couldn't load CustomField %1"
-msgstr "Não foi possível carregar CampoPersonalizado %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load KeywordSelects."
-msgstr "Não foi possível carregar os KeywordSelects."
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load RT config file '%1' %2"
-msgstr "Não foi possível carregar o arquivo de configuração do RT '%1' %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load Scrips."
-msgstr "Não foi possível carregar os Scrips."
-
-#: lib/RT/Ticket_Overlay.pm:2018
-#. ($self->Id)
-msgid "Couldn't load copy of ticket #%1."
-msgstr "Não foi possível carregar cópia do tíquete #%1."
-
-#: html/Admin/Groups/GroupRights.html:111 html/Admin/Groups/UserRights.html:98
-#. ($id)
-msgid "Couldn't load group %1"
-msgstr "Não foi possível carregar o grupo %1"
-
-#: lib/RT/Link_Overlay.pm:204 lib/RT/Link_Overlay.pm:213 lib/RT/Link_Overlay.pm:240
-msgid "Couldn't load link"
-msgstr "Não foi possível carregar o vínculo"
-
-#: 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 "Não foi possível carregar objeto %1"
-
-#: html/Admin/Queues/People.html:144
-#. ($id)
-msgid "Couldn't load queue"
-msgstr "Não foi possível carregar a fila"
-
-#
-#: html/Admin/Queues/GroupRights.html:124 html/Admin/Queues/UserRights.html:95
-#. ($id)
-msgid "Couldn't load queue %1"
-msgstr "Não foi possível carregar a fila %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load scrip"
-msgstr "Não foi possível carregar o scrip"
-
-#: html/Admin/Elements/EditScrip:128 html/Admin/Elements/EditScrip:169
-#. ($id)
-msgid "Couldn't load scrip #%1"
-msgstr "Não foi possível carregar scrip #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load template"
-msgstr "Não foi possível carregar o modelo"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load that user (%1)"
-msgstr "Não foi possível carregar este usuário (%1)"
-
-#
-#: html/SelfService/Display.html:160 lib/RT/Action/CreateTickets.pm:682
-#. ($id)
-msgid "Couldn't load ticket '%1'"
-msgstr "Não foi possível carregar o tíquete '%1'"
-
-#: lib/RT/Ticket_Overlay.pm:2646
-#. ($args{'URI'})
-msgid "Couldn't resolve '%1' into a URI."
-msgstr "Não foi possível resolver '%1' dentro de uma URI."
-
-#: 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/Queues/Template.html:68 html/Elements/QuickCreate:67 html/Ticket/Create.html:170 html/Ticket/Create.html:237
-msgid "Create"
-msgstr "Criar"
-
-#: etc/initialdata:135
-msgid "Create Tickets"
-msgstr "Criar Tíquetes"
-
-#: html/Admin/CustomFields/Modify.html:152 html/Admin/Elements/EditCustomField:98
-msgid "Create a CustomField"
-msgstr "Criar um CampoPersonalizado"
-
-#: html/Admin/Queues/CustomField.html:71
-#. ($QueueObj->Name())
-msgid "Create a CustomField for queue %1"
-msgstr "Criar um Campo Personalizado para a fila %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a CustomField that applies to all queues"
-msgstr "Criar um Campo Personalizado para todas as filas"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new Custom Field"
-msgstr "Criar um novo Campo Personalizado"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new global Scrip"
-msgstr "Criar um novo Scrip global"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new global scrip"
-msgstr "Criar um novo scrip global"
-
-#: html/Admin/Groups/Modify.html:105 html/Admin/Groups/Modify.html:131
-msgid "Create a new group"
-msgstr "Criar um novo grupo"
-
-#: html/User/Groups/Modify.html:115 html/User/Groups/Modify.html:90
-msgid "Create a new personal group"
-msgstr "Criar um novo grupo pessoal"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new queue"
-msgstr "Criar uma nova fila"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new scrip"
-msgstr "Criar um novo scrip"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new template"
-msgstr "Criar um novo modelo"
-
-#: html/Ticket/Create.html:49 html/Ticket/Create.html:53 html/Ticket/Create.html:62
-msgid "Create a new ticket"
-msgstr "Criar um novo tíquete"
-
-#: html/Admin/Users/Modify.html:256 html/Admin/Users/Modify.html:318
-msgid "Create a new user"
-msgstr "Criar um novo usuário"
-
-#: html/Admin/Queues/Modify.html:127
-msgid "Create a queue"
-msgstr "Criar uma fila"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a queue called"
-msgstr "Criar uma fila chamada"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a request"
-msgstr "Criar uma requisição"
-
-#: html/Admin/Queues/Scrip.html:91
-#. ($QueueObj->Name)
-msgid "Create a scrip for queue %1"
-msgstr "Criar um scrip para a fila %1"
-
-#: html/Admin/Global/Template.html:92 html/Admin/Queues/Template.html:88
-msgid "Create a template"
-msgstr "Criar um modelo"
-
-#: html/SelfService/Create.html:48 html/SelfService/CreateTicketInQueue.html:48
-msgid "Create a ticket"
-msgstr "Criar um tíquete"
-
-#: NOT FOUND IN SOURCE
-msgid "Create failed: %1 / %2 / %3 "
-msgstr "Criação falhou: %1 / %2 / %3 "
-
-#: NOT FOUND IN SOURCE
-msgid "Create failed: %1/%2/%3"
-msgstr "Criação falhou: %1/%2/%3"
-
-#
-#: etc/initialdata:137
-msgid "Create new tickets based on this scrip's template"
-msgstr "Criar novos tíquetes baseados no modelo deste scrip"
-
-#: html/SelfService/Create.html:107
-msgid "Create ticket"
-msgstr "Criar um tíquete"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "Create tickets in this queue"
-msgstr "Criar tíquetes nesta fila"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "Create, delete and modify custom fields"
-msgstr "Criar, remover e modificar campos personalizados"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "Create, delete and modify queues"
-msgstr "Criar, remover e modificar filas"
-
-#: NOT FOUND IN SOURCE
-msgid "Create, delete and modify the members of any user's personal groups"
-msgstr "Criar, remover e modificar os membros dos grupos pessoais de qualquer usuário"
-
-#: lib/RT/System.pm:82
-msgid "Create, delete and modify the members of personal groups"
-msgstr "Criar, remover e modificar os membros de grupos pessoais"
-
-#: lib/RT/System.pm:83
-msgid "Create, delete and modify users"
-msgstr "Criar, remover e modificar usuários"
-
-#: lib/RT/System.pm:89
-msgid "CreateSavedSearch"
-msgstr "CriarBuscaSalva"
-
-#
-#: lib/RT/Queue_Overlay.pm:111
-msgid "CreateTicket"
-msgstr "CriarTiquete"
-
-#: 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 "CampoPersonalizado %1 criado"
-
-#: html/Tools/Reports/Elements/Tabs:65
-msgid "Created in a date range"
-msgstr "Criados em um intervalo de datas"
-
-#: NOT FOUND IN SOURCE
-msgid "Created template %1"
-msgstr "Modelo %1 criado"
-
-#: html/Tools/Reports/CreatedByDates.html:54
-msgid "Created tickets in period, grouped by status"
-msgstr "Tíquetes criados no período, agrupados por estado"
-
-#: html/Search/Elements/PickBasics:104
-msgid "Creator"
-msgstr "Criador"
-
-#: html/Elements/EditLinks:51
-msgid "Current Links"
-msgstr "Relações atuais"
-
-#
-#: html/Admin/Elements/EditScrips:53
-msgid "Current Scrips"
-msgstr "Scrips Atuais"
-
-#: html/Admin/Groups/Members.html:62 html/User/Groups/Members.html:65
-msgid "Current members"
-msgstr "Membros atuais"
-
-#: html/Admin/Elements/SelectRights:53
-msgid "Current rights"
-msgstr "Direitos de acesso atuais"
-
-#: html/Search/Elements/EditQuery:49
-msgid "Current search"
-msgstr "Busca atual"
-
-#: NOT FOUND IN SOURCE
-msgid "Current search criteria"
-msgstr "Critério de busca atual"
-
-#: html/Admin/Queues/People.html:64 html/Ticket/Elements/EditPeople:68
-msgid "Current watchers"
-msgstr "Observadores atuais"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom Field #%1"
-msgstr "Campo Personalizado #%1"
-
-#: 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 "Campos Personalizados"
-
-#: html/Admin/CustomFields/index.html:62
-#. ($lookup)
-msgid "Custom Fields for %1"
-msgstr "Campos Personalizados para %1"
-
-#
-#: html/Admin/Elements/EditScrip:109
-msgid "Custom action cleanup code"
-msgstr "Código de finalização de ação personalizada"
-
-#
-#: html/Admin/Elements/EditScrip:105
-msgid "Custom action preparation code"
-msgstr "Código de preparação de ação personalizada"
-
-#
-#: html/Admin/Elements/EditScrip:101
-msgid "Custom condition"
-msgstr "Condição personalizada"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field %1 %2 %3"
-msgstr "Campo personalizado %1 %2 %3"
-
-#
-#: lib/RT/Tickets_Overlay.pm:2540
-#. ($CF->Name)
-msgid "Custom field %1 has a value."
-msgstr "Campo personalizado %1 tem um valor."
-
-#
-#: lib/RT/Tickets_Overlay.pm:2536
-#. ($CF->Name)
-msgid "Custom field %1 has no value."
-msgstr "Campo personalizado %1 não tem valor."
-
-#: lib/RT/Record.pm:1614 lib/RT/Record.pm:1776
-#. ($args{'Field'})
-msgid "Custom field %1 not found"
-msgstr "Campo personalizado %1 não encontrado"
-
-#: lib/RT/Report/Tickets.pm:120 lib/RT/Report/Tickets.pm:123
-#. ($cf)
-#. ($obj->Name)
-msgid "Custom field '%1'"
-msgstr "Campo prsonalizado '%1'"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field deleted"
-msgstr "Campo personalizado removido"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field not found"
-msgstr "Campo personalizado não encontrado"
-
-#: lib/RT/CustomField_Overlay.pm:1160
-#. ($args{'Content'}, $self->Name)
-msgid "Custom field value %1 could not be found for custom field %2"
-msgstr "Valor de campo %1 não pôde ser encontrado para campo personalizado %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field value changed from %1 to %2"
-msgstr "O valor do campo personalizado foi mudado de %1 para %2"
-
-#: lib/RT/CustomField_Overlay.pm:422
-msgid "Custom field value could not be deleted"
-msgstr "Valor do campo personalizado não pôde ser removido"
-
-#: lib/RT/CustomField_Overlay.pm:1172
-msgid "Custom field value could not be found"
-msgstr "Valor de campo personalizado não pôde ser encontrado"
-
-#: lib/RT/CustomField_Overlay.pm:1174 lib/RT/CustomField_Overlay.pm:420
-msgid "Custom field value deleted"
-msgstr "Valor do campo personalizado removido"
-
-#: html/Elements/SelectGroups:53 html/Elements/SelectUsers:53 lib/RT/Transaction_Overlay.pm:659
-msgid "CustomField"
-msgstr "CampoPersonalizado"
-
-#: html/Prefs/MyRT.html:80 html/Prefs/Quicksearch.html:72 html/Prefs/Search.html:77
-msgid "Customize"
-msgstr "Personalizar"
-
-#: NOT FOUND IN SOURCE
-msgid "Data error"
-msgstr "Erro de dado"
-
-#: html/SelfService/Display.html:63 html/Ticket/Create.html:205 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 "Dez."
-
-#: NOT FOUND IN SOURCE
-msgid "December"
-msgstr "Dezembro"
-
-#: NOT FOUND IN SOURCE
-msgid "Default Autoresponse Template"
-msgstr "Modelo Padrão de RespostaAutomatica"
-
-#: etc/initialdata:222
-msgid "Default Autoresponse template"
-msgstr "Modelo Padrão de RespostaAutomatica"
-
-#: html/Tools/Offline.html:63
-msgid "Default Queue"
-msgstr "Fila Padrão"
-
-#: html/Tools/Offline.html:72
-msgid "Default Requestor"
-msgstr "Requisitante Padrão"
-
-#: etc/initialdata:296
-msgid "Default admin comment template"
-msgstr "Modelo padrão de comentário administrativo"
-
-#: etc/initialdata:275
-msgid "Default admin correspondence template"
-msgstr "Modelo padrão de correspondência administrativa"
-
-#: etc/initialdata:287
-msgid "Default correspondence template"
-msgstr "Modelo padrão de correspondência"
-
-#: etc/initialdata:253
-msgid "Default transaction template"
-msgstr "Modelo padrão de transação"
-
-#: NOT FOUND IN SOURCE
-msgid "Default: %1/%2 changed from %3 to %4"
-msgstr "Padrão: %1/%2 mudou de %3 para %4"
-
-#: html/User/Delegation.html:48 html/User/Delegation.html:51
-msgid "Delegate rights"
-msgstr "Delegar direitos de acesso"
-
-#: lib/RT/System.pm:86
-msgid "Delegate specific rights which have been granted to you."
-msgstr "Delegar direitos específicos que foram outorgados a você."
-
-#: lib/RT/System.pm:86
-msgid "DelegateRights"
-msgstr "DelegateRights"
-
-#: html/User/Elements/Tabs:61
-msgid "Delegation"
-msgstr "Delegação"
-
-#: 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 "Remover"
-
-#: html/Admin/Elements/EditTemplates:81
-msgid "Delete Template"
-msgstr "Remover Modelo"
-
-#: lib/RT/SavedSearch.pm:222
-#. ($msg)
-msgid "Delete failed: %1"
-msgstr "Remoção falhou: %1"
-
-#: html/Admin/Elements/EditScrips:76
-msgid "Delete selected scrips"
-msgstr "Remover scrips selecionados"
-
-#: lib/RT/Queue_Overlay.pm:116
-msgid "Delete tickets"
-msgstr "Remover tíquetes"
-
-#: html/Search/Bulk.html:161
-msgid "Delete values"
-msgstr "Remover valores"
-
-#: lib/RT/Queue_Overlay.pm:116
-msgid "DeleteTicket"
-msgstr "DeleteTicket"
-
-#: lib/RT/SavedSearch.pm:220
-msgid "Deleted search"
-msgstr "Busca removida"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object could break referential integrity"
-msgstr "Ao remover este objeto você pode quebrar a integridade referencial"
-
-#: lib/RT/Queue_Overlay.pm:396
-msgid "Deleting this object would break referential integrity"
-msgstr "A remoção deste objeto quebra a integridade referencial"
-
-#: lib/RT/User_Overlay.pm:514
-msgid "Deleting this object would violate referential integrity"
-msgstr "A remoção deste objeto viola a integridade referencial"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object would violate referential integrity."
-msgstr "Remover este objeto violaria a integridade referencial"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object would violate referential integrity. That's bad."
-msgstr "Remover este objeto violaria a integridade referencial. Isto é mau."
-
-#: html/Approvals/Elements/Approve:75
-msgid "Deny"
-msgstr "Negar"
-
-#: html/Elements/EditLinks:141 html/Elements/EditLinks:68 html/Elements/ShowLinks:60 html/Ticket/Create.html:223 html/Ticket/Elements/BulkLinks:58 html/Ticket/Elements/ShowDependencies:55
-msgid "Depended on by"
-msgstr "Dependem deste tíquete"
-
-#: NOT FOUND IN SOURCE
-msgid "Dependencies: \\n"
-msgstr "Dependências: \\n"
-
-#: lib/RT/Transaction_Overlay.pm:739
-#. ($value)
-msgid "Dependency by %1 added"
-msgstr "Dependência por %1 adicionada"
-
-#: lib/RT/Transaction_Overlay.pm:779
-#. ($value)
-msgid "Dependency by %1 deleted"
-msgstr "Dependência por %1 removida"
-
-#: lib/RT/Transaction_Overlay.pm:736
-#. ($value)
-msgid "Dependency on %1 added"
-msgstr "Dependência de %1 adicionada"
-
-#: lib/RT/Transaction_Overlay.pm:776
-#. ($value)
-msgid "Dependency on %1 deleted"
-msgstr "Dependência de %1 removida"
-
-#: html/Elements/EditLinks:137 html/Elements/EditLinks:59 html/Elements/SelectLinkType:50 html/Elements/ShowLinks:50 html/Ticket/Create.html:222 html/Ticket/Elements/BulkLinks:54 html/Ticket/Elements/ShowDependencies:48
-msgid "Depends on"
-msgstr "Depende de"
-
-#: NOT FOUND IN SOURCE
-msgid "DependsOn"
-msgstr "DependeDe"
-
-#: 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 problema 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"
-
-#: NOT FOUND IN SOURCE
-msgid "Details"
-msgstr "Detalhes"
-
-#: 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 "Mostrar Lista de Controle de Acesso"
-
-#: html/Search/Elements/DisplayOptions:48
-msgid "Display Columns"
-msgstr "Mostrar Colunas"
-
-#: lib/RT/Queue_Overlay.pm:101
-msgid "Display Scrip templates for this queue"
-msgstr "Mostrar os modelos de Scrip desta fila"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "Display Scrips for this queue"
-msgstr "Mostrar os Scrips desta fila"
-
-#: html/Ticket/Elements/ShowHistory:61
-msgid "Display mode"
-msgstr "Modo de apresentação"
-
-#: lib/RT/Group_Overlay.pm:170
-msgid "Display saved searches for this group"
-msgstr "Mostrar buscas salvas deste grupo"
-
-#: NOT FOUND IN SOURCE
-msgid "Display ticket #%1"
-msgstr "Apresentar o tíquete #%1"
-
-#: html/Elements/Footer:63
-msgid "Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
-msgstr "Distribuido sob a versão 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> da GNU GPL.</a>"
-
-#: lib/RT/System.pm:77
-msgid "Do anything and everything"
-msgstr "Fazer qualquer coisa"
-
-#: html/Elements/Refresh:53
-msgid "Don't refresh this page."
-msgstr "Não recarregar esta página."
-
-#: NOT FOUND IN SOURCE
-msgid "Don't show search results"
-msgstr "Não mostrar resultados da busca"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:84
-msgid "Download"
-msgstr "Baixar"
-
-#: html/Admin/Groups/index.html:63 html/Admin/Users/index.html:66
-msgid "Download as a tab-delimited file"
-msgstr "Baixar como um arquivo com campos delimitados por tabulação"
-
-#: html/Elements/SelectDateType:55 html/Ticket/Create.html:211 html/Ticket/Elements/EditDates:68 html/Ticket/Elements/Reminders:135 html/Ticket/Elements/ShowDates:66 lib/RT/Ticket_Overlay.pm:1175
-msgid "Due"
-msgstr "Vencido"
-
-#: NOT FOUND IN SOURCE
-msgid "Due date '%1' could not be parsed"
-msgstr "A data de vencimento '%1' não pôde ser entendida"
-
-#: NOT FOUND IN SOURCE
-msgid "ERROR: Couldn't load ticket '%1': %2.\\n"
-msgstr "ERRO: Não foi possível carregar o tíquete '%1': %2.\\n"
-
-#: html/Elements/Quicksearch:50 html/Elements/ShowSearch:51 html/index.html:109
-msgid "Edit"
-msgstr "Editar"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Conditions"
-msgstr "Editar Condições"
-
-#: 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 para %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 usuários"
-
-#: 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 tíquetes em todas as filas"
-
-#: html/Search/Bulk.html:190 html/Ticket/ModifyLinks.html:59
-msgid "Edit Links"
-msgstr "Editar Vínculos"
-
-#: html/Search/Edit.html:70
-msgid "Edit Query"
-msgstr "Editar Consulta"
-
-#: html/Ticket/Elements/Tabs:216
-msgid "Edit Search"
-msgstr "Editar Busca"
-
-#: html/Admin/Queues/Templates.html:65
-#. ($QueueObj->Name)
-msgid "Edit Templates for queue %1"
-msgstr "Editar Modelos para a fila %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit keywords"
-msgstr "Editar palavras chave"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "Edit saved searches for this group"
-msgstr "Editar buscas salvas deste grupo"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit scrips"
-msgstr "Editar scrips"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:62 html/Admin/Global/index.html:69
-msgid "Edit system templates"
-msgstr "Editar os modelos do sistema"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit templates for %1"
-msgstr "Editar os modelos para %1"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "EditSavedSearches"
-msgstr "EditBuscasSalvas"
-
-#: html/Admin/Queues/Modify.html:142
-#. ($QueueObj->Name)
-msgid "Editing Configuration for queue %1"
-msgstr "Editando a configuração para a fila %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing Configuration for user %1"
-msgstr "Editando a configuração para o usuário %1"
-
-#: html/Admin/CustomFields/Modify.html:169 html/Admin/Elements/EditCustomField:122
-#. ($CustomFieldObj->Name())
-msgid "Editing CustomField %1"
-msgstr "Editando o campo %1"
-
-#: html/Admin/Groups/Members.html:55
-#. ($Group->Name)
-msgid "Editing membership for group %1"
-msgstr "Editando afiliados do grupo %1"
-
-#: html/User/Groups/Members.html:152
-#. ($Group->Name)
-msgid "Editing membership for personal group %1"
-msgstr "Editando afiliados do grupo pessoal %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing template %1"
-msgstr "Editando o modelo %1"
-
-#: lib/RT/Record.pm:1317 lib/RT/Record.pm:1394 lib/RT/Ticket_Overlay.pm:2521 lib/RT/Ticket_Overlay.pm:2611
-msgid "Either base or target must be specified"
-msgstr "Você deve especificar a origem ou o destinatário"
-
-#: html/Admin/Users/Modify.html:76 html/Ticket/Elements/AddWatchers:79 html/User/Prefs.html:67
-msgid "Email"
-msgstr "E-mail"
-
-#: lib/RT/User_Overlay.pm:237
-msgid "Email address in use"
-msgstr "O endereço de e-mail já está em uso"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailAddress"
-msgstr "Correio Eletrônico"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailEncoding"
-msgstr "CodificaçãoDeE-mail"
-
-#: html/Admin/CustomFields/Modify.html:100 html/Admin/Elements/EditCustomField:74
-msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "Ativo (Desmarcar esta caixa desativa este campo personalizado)"
-
-#: html/Admin/Groups/Modify.html:89 html/User/Groups/Modify.html:76
-msgid "Enabled (Unchecking this box disables this group)"
-msgstr "Ativo (Desmarcar esta caixa desativa este grupo)"
-
-#: html/Admin/Queues/Modify.html:107
-msgid "Enabled (Unchecking this box disables this queue)"
-msgstr "Ativa (Desmarcar esta caixa desativa esta fila"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Custom Fields"
-msgstr "Campos Personalizados Habilitados"
-
-#: html/Admin/Queues/index.html:80
-msgid "Enabled Queues"
-msgstr "Filas Ativas"
-
-#: 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 "Estado %1 ativado"
-
-#: html/Admin/CustomFields/Modify.html:187 html/Admin/Queues/Modify.html:164
-#. (loc_fuzzy($msg))
-msgid "Enabled status: %1"
-msgstr "Ativado estado: %1"
-
-#: lib/RT/CustomField_Overlay.pm:66
-msgid "Enter multiple values"
-msgstr "Informar valores múltiplos"
-
-#: html/Elements/EditLinks:127
-msgid "Enter objects or URIs to link objects to. Separate multiple entries with spaces."
-msgstr "Informar objetos ou URIs para vincular aos objetos. Separar entradas múltiplas com espaço."
-
-#: lib/RT/CustomField_Overlay.pm:67
-msgid "Enter one value"
-msgstr "Informar um valor"
-
-#: html/Elements/EditLinks:124
-msgid "Enter queues or URIs to link queues to. Separate multiple entries with spaces."
-msgstr "Informar filas ou URIs para ligar às filas. Separar entradas múltiplas com espaço."
-
-#: html/Elements/EditLinks:120 html/Search/Bulk.html:191
-msgid "Enter tickets or URIs to link tickets to. Separate multiple entries with spaces."
-msgstr "Informar identificadores de tíquete ou URIs que levam ao tíquete. Separar entradas mútiplas com espaço."
-
-#: lib/RT/CustomField_Overlay.pm:68
-msgid "Enter up to %1 values"
-msgstr "Informar até %1 valores"
-
-#: html/Elements/Login:78 html/SelfService/Error.html:48 html/SelfService/Error.html:49
-msgid "Error"
-msgstr "Erro"
-
-#: NOT FOUND IN SOURCE
-msgid "Error adding watcher"
-msgstr "Erro ao adicionar um observador"
-
-#: lib/RT/Queue_Overlay.pm:674
-msgid "Error in parameters to Queue->AddWatcher"
-msgstr "Erro nos parâmetros para Queue->AddWatcher"
-
-#: NOT FOUND IN SOURCE
-msgid "Error in parameters to Queue->DelWatcher"
-msgstr "Erro nos parâmetros para Queue->DelWatcher"
-
-#: lib/RT/Queue_Overlay.pm:835
-msgid "Error in parameters to Queue->DeleteWatcher"
-msgstr "Erro em parâmetros para Fila->RemoverObservador"
-
-#: lib/RT/Ticket_Overlay.pm:1374
-msgid "Error in parameters to Ticket->AddWatcher"
-msgstr "Erro nos parâmetros para Ticket->AddWatcher"
-
-#: NOT FOUND IN SOURCE
-msgid "Error in parameters to Ticket->DelWatcher"
-msgstr "Erro nos parâmetros para Ticket->DelWatcher"
-
-#: lib/RT/Ticket_Overlay.pm:1540
-msgid "Error in parameters to Ticket->DeleteWatcher"
-msgstr "Erro em parâmetros para Tíquete->RemoverObservador"
-
-#: bin/rt-crontool:287
-msgid "Escalate tickets"
-msgstr "Escalonar tíquetes"
-
-#: 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 "Falha ao criar atributo de busca"
-
-#: lib/RT/User_Overlay.pm:378
-msgid "Failed to find 'Privileged' users pseudogroup."
-msgstr "Não foi possível encontrar o pseudogrupo de usuários 'Privileged'."
-
-#: lib/RT/User_Overlay.pm:385
-msgid "Failed to find 'Unprivileged' users pseudogroup"
-msgstr "Não foi possível encontrar o pseudogrupo de usuários 'Unprivileged'"
-
-#: bin/rt-crontool:208
-#. ($modname, $@)
-msgid "Failed to load module %1. (%2)"
-msgstr "Falha ao carregar o módulo %1. (%2)"
-
-#: lib/RT/SavedSearch.pm:154
-#. ($privacy)
-msgid "Failed to load object for %1"
-msgstr "Falha ao carregar objeto para %1"
-
-#: lib/RT/Date.pm:444
-msgid "Feb."
-msgstr "Fev."
-
-#: NOT FOUND IN SOURCE
-msgid "February"
-msgstr "Fevereiro"
-
-#: html/Elements/SelectAttachmentField:52
-msgid "Filename"
-msgstr "Nome de arquivo"
-
-#: 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 "Preencher múltiplas áreas de texto wiki"
-
-#: lib/RT/CustomField_Overlay.pm:72
-msgid "Fill in one text area"
-msgstr "Preencher uma única área de texto"
-
-#: lib/RT/CustomField_Overlay.pm:77
-msgid "Fill in one wikitext area"
-msgstr "Preencher uma única [area de texto wiki"
-
-#: html/Admin/CustomFields/Modify.html:109 html/Admin/CustomFields/Modify.html:120
-msgid "Fill in this field with a URL."
-msgstr "Preencher este campo com uma URL."
-
-#: lib/RT/CustomField_Overlay.pm:73
-msgid "Fill in up to %1 text areas"
-msgstr "Preencher até %1 áreas de texto"
-
-#: lib/RT/CustomField_Overlay.pm:78
-msgid "Fill in up to %1 wikitext areas"
-msgstr "Preencher at[e %1 áreas de texto wiki"
-
-#: html/Search/Elements/PickBasics:151 html/Ticket/Create.html:184 html/Ticket/Elements/EditBasics:99 lib/RT/Tickets_Overlay.pm:1957
-msgid "Final Priority"
-msgstr "Prioridade Final"
-
-#: lib/RT/Ticket_Overlay.pm:1166
-msgid "FinalPriority"
-msgstr "PrioridadeFinal"
-
-#: NOT FOUND IN SOURCE
-msgid "Find group whose"
-msgstr "Encontrar grupo que"
-
-#: html/Admin/Groups/index.html:74 html/Admin/Queues/People.html:84 html/Ticket/Elements/EditPeople:57
-msgid "Find groups whose"
-msgstr "Encontrar grupos que"
-
-#: NOT FOUND IN SOURCE
-msgid "Find new/open tickets"
-msgstr "Encontrar tíquetes novos/abertos"
-
-#: html/Admin/Queues/People.html:80 html/Admin/Users/index.html:72 html/Ticket/Elements/EditPeople:53
-msgid "Find people whose"
-msgstr "Encontrar pessoas que"
-
-#: html/Search/Results.html:149
-msgid "Find tickets"
-msgstr "Encontrar tíquetes"
-
-#: NOT FOUND IN SOURCE
-msgid "Finish Approval"
-msgstr "Terminar Aprovação"
-
-#: html/Ticket/Elements/Tabs:83
-msgid "First"
-msgstr "Primeiro"
-
-#: NOT FOUND IN SOURCE
-msgid "First page"
-msgstr "Primeira página"
-
-#: 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ção"
-
-#: html/Search/Elements/EditFormat:54
-msgid "Format"
-msgstr "Formato"
-
-#: html/Search/Results.html:147
-#. ($ticketcount)
-msgid "Found %quant(%1,ticket)"
-msgstr "Encontrado(s) %quant(%1,tíquete(s)"
-
-#: lib/RT/Record.pm:973
-msgid "Found Object"
-msgstr "Objeto Encontrado"
-
-#: lib/RT/Date.pm:423
-msgid "Fri."
-msgstr "Sex."
-
-#: 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 "Pegar modelo do arquivo"
-
-#: NOT FOUND IN SOURCE
-msgid "Getting the current user from a pgp sig\\n"
-msgstr "Obtendo o usuário corrente a partir de uma assinatura pgp\\n"
-
-#: lib/RT/Transaction_Overlay.pm:705
-#. ($New->Name)
-msgid "Given to %1"
-msgstr "Dado a %1"
-
-#: html/Admin/Elements/Tabs:67 html/Admin/index.html:84
-msgid "Global"
-msgstr ""
-
-#: html/Admin/Elements/EditCustomFields:57
-msgid "Global Custom Fields"
-msgstr "Campos Personalizados Globais"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Keyword Selections"
-msgstr "Seleções de Palavras Chave Globais"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Scrips"
-msgstr "Scrips Globais"
-
-#: html/Admin/Global/CustomFields/index.html:61
-msgid "Global custom field configuration"
-msgstr "Configuração de campos personalizados globais"
-
-#: html/Admin/Global/MyRT.html:95
-#. ($pane)
-msgid "Global portlet %1 saved."
-msgstr "Portlet global %1 salvo."
-
-#: html/Admin/Elements/SelectTemplate:61
-#. (loc($Template->Name))
-msgid "Global template: %1"
-msgstr "Modelo global: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Go"
-msgstr "Ir"
-
-#: 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 "Ir!"
-
-#: NOT FOUND IN SOURCE
-msgid "Good pgp sig from %1\\n"
-msgstr "Assinatura pgp válida de %1\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Goto page"
-msgstr "Ir para a página"
-
-#: html/Elements/GotoTicket:48 html/SelfService/Elements/GotoTicket:48
-msgid "Goto ticket"
-msgstr "Ir para o tíquete"
-
-#: html/Ticket/Elements/AddWatchers:69 html/Ticket/Elements/ShowGroupMembers:57 html/User/Elements/DelegateRights:101
-msgid "Group"
-msgstr "Grupo"
-
-#: NOT FOUND IN SOURCE
-msgid "Group %1 %2: %3"
-msgstr "Grupo %1 %2: %3"
-
-#: 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 de Acesso do Grupo"
-
-#: lib/RT/Group_Overlay.pm:985
-msgid "Group already has member"
-msgstr "O grupo já tem um membro"
-
-#: NOT FOUND IN SOURCE
-msgid "Group could not be created."
-msgstr "O grupo não pôde ser criado."
-
-#: html/Admin/Groups/Modify.html:115
-#. ($create_msg)
-msgid "Group could not be created: %1"
-msgstr "O 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 contém este membro"
-
-#: lib/RT/Group_Overlay.pm:965 lib/RT/Queue_Overlay.pm:750 lib/RT/Queue_Overlay.pm:810 lib/RT/Ticket_Overlay.pm:1432 lib/RT/Ticket_Overlay.pm:1512
-msgid "Group not found"
-msgstr "Grupo não encontrado"
-
-#: NOT FOUND IN SOURCE
-msgid "Group not found.\\n"
-msgstr "Grupo não encontrado.\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Group not specified.\\n"
-msgstr "Grupo não especificado.\\n"
-
-#: 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 de seus próprios membros"
-
-#: html/Admin/Groups/index.html:88
-msgid "Groups matching search criteria"
-msgstr "Grupos que satisfazem ao critério de busca"
-
-#: html/Ticket/Elements/ShowRequestor:79
-msgid "Groups this user belongs to"
-msgstr "Grupos a que este usuário 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 usuário %1"
-
-#: NOT FOUND IN SOURCE
-msgid "HomePhone"
-msgstr "Telefone Residencial"
-
-#: html/Elements/Tabs:68
-msgid "Homepage"
-msgstr "Início"
-
-#: html/Elements/SelectTimeUnits:50
-msgid "Hours"
-msgstr "Horas"
-
-#: lib/RT/Base.pm:135
-#. (6)
-msgid "I have %quant(%1,concrete mixer)."
-msgstr "Eu tenho %quant(%1,concrete mixer)."
-
-#: NOT FOUND IN SOURCE
-msgid "I have [quant,_1,concrete mixer]."
-msgstr "Tenho [quant,_1,concrete mixer]."
-
-#: html/Search/Build.html:466 lib/RT/Report/Tickets.pm:417
-msgid "I'm lost"
-msgstr "Estou perdido"
-
-#: html/Ticket/Elements/ShowBasics:50 lib/RT/Tickets_Overlay.pm:1882
-msgid "Id"
-msgstr "Identificador"
-
-#: 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 ""
-"Se uma aprovação não é concedida, rejeitar o original e remover aprovações "
-"pendentes"
-
-#: html/Tools/Offline.html:76
-msgid "If no Requestor is specified, create tickets with this requestor."
-msgstr ""
-"Se nenhum Requisitante for especificado, criar tíquetes com este "
-"requisitante."
-
-#: html/Tools/Offline.html:67
-msgid "If no queue is specified, create tickets in this queue."
-msgstr "Se nenhuma fila for especificada, criar tíquetes nesta fila."
-
-#: 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 "Se esta ferramenta estiver com setgid, um usuário local mal-intecionado pode conseguir acesso administrativo sobre o RT."
-
-#: 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 você alterou qualquer coisa acima, não se esqueça de"
-
-#: lib/RT/Record.pm:964
-msgid "Illegal value for %1"
-msgstr "Valor ilegal para %1"
-
-#: lib/RT/Record.pm:967
-msgid "Immutable field"
-msgstr "Campo imutável"
-
-#: NOT FOUND IN SOURCE
-msgid "Include disabled custom fields in listing."
-msgstr "Incluir campoas personalizados desabilitados na listagem."
-
-#: html/Admin/Groups/index.html:67
-msgid "Include disabled groups in listing."
-msgstr "Incluir grupos inativos na listagem."
-
-#: html/Admin/Queues/index.html:67
-msgid "Include disabled queues in listing."
-msgstr "Incluir filas inativas na listagem."
-
-#: html/Admin/Users/index.html:73
-msgid "Include disabled users in search."
-msgstr "Incluir usuários inativos na busca."
-
-#: html/Admin/CustomFields/Modify.html:115
-msgid "Include page"
-msgstr "Incluir página"
-
-#: html/Search/Build.html:492 lib/RT/Report/Tickets.pm:443
-msgid "Incomplete Query"
-msgstr "Consulta Incompleta"
-
-#: html/Search/Build.html:489 lib/RT/Report/Tickets.pm:440
-msgid "Incomplete query"
-msgstr "Consulta incompleta"
-
-#: html/Search/Elements/PickBasics:150 lib/RT/Tickets_Overlay.pm:1932
-msgid "Initial Priority"
-msgstr "Prioridade Inicial"
-
-#: lib/RT/Ticket_Overlay.pm:1165 lib/RT/Ticket_Overlay.pm:1167
-msgid "InitialPriority"
-msgstr "InitialPriority"
-
-#: lib/RT/ScripAction_Overlay.pm:135
-msgid "Input error"
-msgstr "Erro de entrada"
-
-#: html/Elements/ValidateCustomFields:70 lib/RT/CustomField_Overlay.pm:1024 lib/RT/CustomField_Overlay.pm:1165
-#. ($CF->FriendlyPattern)
-#. ($self->FriendlyPattern)
-msgid "Input must match %1"
-msgstr "Entrada precisa satisfazer %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Interest noted"
-msgstr "Interesse notado"
-
-#: lib/RT/Ticket_Overlay.pm:3531
-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 "Tipo Inválido de Grupo"
-
-#: lib/RT/Principal_Overlay.pm:163
-msgid "Invalid Right"
-msgstr "Direito Inválido"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid Type"
-msgstr "Tipo Inválido"
-
-#: lib/RT/Record.pm:969
-msgid "Invalid data"
-msgstr "Dado inválido"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid owner. Defaulting to 'nobody'."
-msgstr "Proprietário inválido. Usando 'nobody'."
-
-#: 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 "Fila 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 de acesso 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 "Valor inválido para campo personalizado"
-
-#: 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 usuários não privilegiados não tenham permissão para utilizar 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 "Sugere-se a criação de um usuário Unix não privilegiado com a correta filiação a grupo e com acesso ao RT para executar utilizar esta ferramenta."
-
-#: bin/rt-crontool:233
-msgid "It takes several arguments:"
-msgstr "Requer vários argumentos:"
-
-#: html/Search/Elements/EditFormat:87
-msgid "Italic"
-msgstr "Itálico"
-
-#: NOT FOUND IN SOURCE
-msgid "Items pending my approval"
-msgstr "Itens requerendo minha aprovação"
-
-#: lib/RT/Date.pm:443
-msgid "Jan."
-msgstr "Jan."
-
-#: NOT FOUND IN SOURCE
-msgid "January"
-msgstr "Janeiro"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "Join or leave this group"
-msgstr "Entre ou deixe este grupo"
-
-#: lib/RT/Date.pm:449
-msgid "Jul."
-msgstr "Jul."
-
-#: NOT FOUND IN SOURCE
-msgid "July"
-msgstr "Julho"
-
-#: html/Ticket/Elements/Tabs:127
-msgid "Jumbo"
-msgstr "Jumbo"
-
-#: lib/RT/Date.pm:448
-msgid "Jun."
-msgstr "Jun."
-
-#: NOT FOUND IN SOURCE
-msgid "June"
-msgstr "Junho"
-
-#: NOT FOUND IN SOURCE
-msgid "Keyword"
-msgstr "Palavra chave"
-
-#: NOT FOUND IN SOURCE
-msgid "Lang"
-msgstr "Líng"
-
-#: html/Admin/Users/Modify.html:96 html/User/Prefs.html:78
-msgid "Language"
-msgstr "Língua"
-
-#: html/Search/Elements/EditFormat:81
-msgid "Large"
-msgstr "Grande"
-
-#: html/Ticket/Elements/Tabs:98
-msgid "Last"
-msgstr "Último"
-
-#: html/Ticket/Elements/EditDates:61 html/Ticket/Elements/ShowDates:62
-msgid "Last Contact"
-msgstr "Último Contato"
-
-#: html/Elements/SelectDateType:52
-msgid "Last Contacted"
-msgstr "Contactado em"
-
-#: NOT FOUND IN SOURCE
-msgid "Last Notified"
-msgstr "Notificado em"
-
-#: html/Elements/SelectDateType:53
-msgid "Last Updated"
-msgstr "Atualizado em"
-
-#: NOT FOUND IN SOURCE
-msgid "LastUpdated"
-msgstr "LastUpdated"
-
-#: html/Search/Elements/PickBasics:105
-msgid "LastUpdatedBy"
-msgstr "UltimaAtualizacaoPor"
-
-#: html/Ticket/Elements/ShowBasics:70
-msgid "Left"
-msgstr "Resta"
-
-#: html/Admin/Users/Modify.html:111
-msgid "Let this user access RT"
-msgstr "Deixar este usuário acessar RT"
-
-#: html/Admin/Users/Modify.html:115
-msgid "Let this user be granted rights"
-msgstr "Deixar este usuário receber direitos de acesso adicionais"
-
-#: NOT FOUND IN SOURCE
-msgid "Limiting owner to %1 %2"
-msgstr "Limitando proprietário a %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Limiting queue to %1 %2"
-msgstr "Limitando fila a %1 %2"
-
-#: html/Search/Elements/EditFormat:70
-msgid "Link"
-msgstr "Vínculo"
-
-#: lib/RT/Record.pm:1328
-msgid "Link already exists"
-msgstr "O vínculo já existe"
-
-#: lib/RT/Record.pm:1342
-msgid "Link could not be created"
-msgstr "O vínculo não pôde ser criado"
-
-#: lib/RT/Record.pm:1348
-#. ($TransString)
-msgid "Link created (%1)"
-msgstr "Vínculo criado (%1)"
-
-#: lib/RT/Record.pm:1409
-#. ($TransString)
-msgid "Link deleted (%1)"
-msgstr "Vínculo removido (%1)"
-
-#: lib/RT/Record.pm:1415
-msgid "Link not found"
-msgstr "Vínculo não encontrado"
-
-#: html/Ticket/ModifyLinks.html:48 html/Ticket/ModifyLinks.html:52
-#. ($Ticket->Id)
-msgid "Link ticket #%1"
-msgstr "Vincular o tíquete #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Link ticket %1"
-msgstr "Vincular o tíquete %1"
-
-#: html/Admin/CustomFields/Modify.html:104
-msgid "Link values to"
-msgstr "Vincular valores a"
-
-#: lib/RT/Ticket_Overlay.pm:702
-msgid "Linking. Permission denied"
-msgstr "Vinculando. Permissão negada"
-
-#: html/Ticket/Create.html:218 html/Ticket/Elements/ShowSummary:97 html/Ticket/Elements/Tabs:122 html/Ticket/ModifyAll.html:80
-msgid "Links"
-msgstr "Vínculos"
-
-#: html/Search/Elements/EditSearches:77
-msgid "Load"
-msgstr "Carregar"
-
-#: html/Search/Elements/EditSearches:75
-msgid "Load saved search:"
-msgstr "Carregar buscas salvas:"
-
-#: lib/RT/System.pm:88
-msgid "LoadSavedSearch"
-msgstr "CarregarBuscaSalva"
-
-#: 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 "Busca %1 carregada"
-
-#: html/Admin/Users/Modify.html:141 html/User/Prefs.html:128
-msgid "Location"
-msgstr "Localização"
-
-#: NOT FOUND IN SOURCE
-msgid "Log directory %1 not found or couldn't be written.\\n RT can't run."
-msgstr ""
-"O diretório de log %1 não foi encontrado ou não pôde ser alterado.\\n RT não "
-"pode funcionar desta maneira."
-
-#: html/Elements/Header:93
-#. ("<span>".$session{'CurrentUser'}->Name."</span>")
-msgid "Logged in as %1"
-msgstr "Assinado 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 "Tipo de consulta não corresponde"
-
-#: html/Search/Bulk.html:84
-msgid "Make Owner"
-msgstr "Definir como proprietário"
-
-#: html/Search/Bulk.html:108
-msgid "Make Status"
-msgstr "Definir o estado"
-
-#: html/Search/Bulk.html:116
-msgid "Make date Due"
-msgstr "Definir o prazo final"
-
-#: html/Search/Bulk.html:118
-msgid "Make date Resolved"
-msgstr "Definir a data de resolução"
-
-#: html/Search/Bulk.html:112
-msgid "Make date Started"
-msgstr "Definir a data de iniciado"
-
-#: html/Search/Bulk.html:110
-msgid "Make date Starts"
-msgstr "Definir a data início"
-
-#: html/Search/Bulk.html:114
-msgid "Make date Told"
-msgstr "Definir a data de última alteração"
-
-#: html/Search/Bulk.html:104
-msgid "Make priority"
-msgstr "Definir a prioridade"
-
-#: html/Search/Bulk.html:106
-msgid "Make queue"
-msgstr "Definir a fila"
-
-#: html/Search/Bulk.html:102
-msgid "Make subject"
-msgstr "Definir o assunto"
-
-#: lib/RT/Group_Overlay.pm:171
-msgid "Make this group visible to user"
-msgstr "Fazer este grupo visível para o usuário"
-
-#: html/Admin/index.html:80
-msgid "Manage custom fields and custom field values"
-msgstr "Gerenciar campos personalizados e valores de campos personalizados"
-
-#: html/Admin/index.html:71
-msgid "Manage groups and group membership"
-msgstr "Administrar grupos e afiliações"
-
-#: html/Admin/index.html:87
-msgid "Manage properties and configuration which apply to all queues"
-msgstr "Administrar propriedades e configurações aplicáveis a todas as filas"
-
-#: html/Admin/index.html:76
-msgid "Manage queues and queue-specific properties"
-msgstr "Administrar filas e suas propriedades específicas"
-
-#: html/Admin/index.html:66
-msgid "Manage users and passwords"
-msgstr "Administrar usuários e senhas"
-
-#: lib/RT/Date.pm:445
-msgid "Mar."
-msgstr "Mar."
-
-#: NOT FOUND IN SOURCE
-msgid "March"
-msgstr "Março"
-
-#: NOT FOUND IN SOURCE
-msgid "May"
-msgstr "Maio"
-
-#: lib/RT/Date.pm:447
-msgid "May."
-msgstr "Mai."
-
-#: 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 removido"
-
-#: lib/RT/Group_Overlay.pm:1002
-msgid "Member added"
-msgstr "Membro adicionado"
-
-#: lib/RT/Group_Overlay.pm:1164
-msgid "Member deleted"
-msgstr "Membro removido"
-
-#: lib/RT/Group_Overlay.pm:1168
-msgid "Member not deleted"
-msgstr "Membro não removido"
-
-#: html/Elements/SelectLinkType:49
-msgid "Member of"
-msgstr "Membro de"
-
-#: NOT FOUND IN SOURCE
-msgid "MemberOf"
-msgstr "MembroDe"
-
-#: 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 "Filiação em %1 adicionada"
-
-#: lib/RT/Transaction_Overlay.pm:789
-#. ($value)
-msgid "Membership in %1 deleted"
-msgstr "Filiação em %1 removida"
-
-#: html/Admin/Elements/UserTabs:63
-msgid "Memberships"
-msgstr "Filiações"
-
-#: html/Admin/Users/Memberships.html:62
-#. ($UserObj->Name)
-msgid "Memberships of the user %1"
-msgstr "Filiações do usuário %1"
-
-#: lib/RT/Ticket_Overlay.pm:2905
-msgid "Merge Successful"
-msgstr "União bem sucedida"
-
-#: lib/RT/Ticket_Overlay.pm:2783
-msgid "Merge failed. Couldn't set EffectiveId"
-msgstr "União falhou. Não foi possível definir o EffectiveId"
-
-#: lib/RT/Ticket_Overlay.pm:2800
-msgid "Merge failed. Couldn't set Status"
-msgstr "Fusão falhou. Não foi possível definir Estado."
-
-#: html/Elements/EditLinks:132 html/Ticket/Elements/BulkLinks:50
-msgid "Merge into"
-msgstr "Unir a"
-
-#: lib/RT/Transaction_Overlay.pm:755
-#. ($value)
-msgid "Merged into %1"
-msgstr "Unido ao %1"
-
-#: 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 mostrado porque é muito grande ou náo é um texto plano."
-
-#: lib/RT/Ticket_Overlay.pm:2454
-msgid "Message could not be recorded"
-msgstr "Mensagem não pode ser gravada"
-
-#: lib/RT/Ticket_Overlay.pm:2457
-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 tíquete não serão enviadas para..."
-
-#: html/Elements/SelectTimeUnits:49
-msgid "Minutes"
-msgstr "Minutos"
-
-#: html/Search/Build.html:496 lib/RT/Report/Tickets.pm:447
-msgid "Mismatched parentheses"
-msgstr "Parênteses sem correspondente"
-
-#: lib/RT/Record.pm:971
-msgid "Missing a primary key?: %1"
-msgstr "Faltando uma chave primária?: %1"
-
-#: html/Admin/Users/Modify.html:196 html/User/Prefs.html:94
-msgid "Mobile"
-msgstr "Móvel"
-
-#: NOT FOUND IN SOURCE
-msgid "MobilePhone"
-msgstr "Celular"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "Modify Access Control List"
-msgstr "Modificar Lista de Controle de Acesso"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Custom Field %1"
-msgstr "Modificar o campo personalizado %1"
-
-#: html/Admin/Elements/ObjectCustomFields:98
-#. (loc(lc($FriendlySubTypes)), loc(lc($Types)))
-msgid "Modify Custom Fields which apply to %1 for all %2"
-msgstr "Modificar Campos Personalizados que se aplicam a %1 para todos %2"
-
-#: html/Admin/Elements/ObjectCustomFields:100
-#. (loc(lc($Types)))
-msgid "Modify Custom Fields which apply to all %1"
-msgstr "Modificar Campos Personalizados que se aplicam a todos %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Custom Fields which apply to all queues"
-msgstr "Modificar Campos Personalizados que se aplicam a todas as filas"
-
-#: html/Admin/Global/GroupRights.html:108 html/Admin/Groups/GroupRights.html:96 html/Admin/Queues/GroupRights.html:109
-msgid "Modify Group Rights"
-msgstr "Modificar Direitos de Grupo"
-
-#: html/Admin/Groups/Members.html:107 html/User/Groups/Members.html:103
-msgid "Modify Members"
-msgstr "Modificar Membros"
-
-#: html/User/Delegation.html:60
-msgid "Modify Rights"
-msgstr "Modificar Direitos"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "Modify Scrip templates for this queue"
-msgstr "Modificar modelos de Scrip desta fila"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "Modify Scrips for this queue"
-msgstr "Modificar Scrips desta fila"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify System ACLS"
-msgstr "Modificar ACLs do Sistema"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Template %1"
-msgstr "Modificar Esquema %1"
-
-#: html/Admin/Global/UserRights.html:77 html/Admin/Groups/UserRights.html:78 html/Admin/Queues/UserRights.html:77
-msgid "Modify User Rights"
-msgstr "Modificar Direitos de Usuário"
-
-#: html/Admin/Queues/CustomField.html:68
-#. ($QueueObj->Name())
-msgid "Modify a CustomField for queue %1"
-msgstr "Modificar um Campo Personalizado para a fila %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify a CustomField that applies to all queues"
-msgstr "Modificar um Campo Personalizado que se aplica a todas as filas"
-
-#: html/Admin/Queues/Scrip.html:84
-#. ($QueueObj->Name)
-msgid "Modify a scrip for queue %1"
-msgstr "Modificar um scrip para a fila %1"
-
-#: html/Admin/Global/Scrip.html:77
-msgid "Modify a scrip that applies to all queues"
-msgstr "Modificar um scrip aplicável a todas as filas"
-
-#: html/Admin/CustomFields/Objects.html:92
-#. ($CF->Name)
-msgid "Modify associated objects for %1"
-msgstr "Modificar objetos associados a %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify dates for # %1"
-msgstr "Modificar datas para # %1"
-
-#: html/Ticket/ModifyDates.html:48 html/Ticket/ModifyDates.html:52
-#. ($TicketObj->Id)
-msgid "Modify dates for #%1"
-msgstr "Modificar as datas para #%1"
-
-#: html/Ticket/ModifyDates.html:59
-#. ($TicketObj->Id)
-msgid "Modify dates for ticket # %1"
-msgstr "Modificar as datas para o tíquete # %1"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:67 html/Admin/Global/index.html:74
-msgid "Modify global custom fields"
-msgstr "Modificar campos personalizados globais"
-
-#: 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 "Modificar direitos de acesso globais de grupo"
-
-#: html/Admin/Global/GroupRights.html:56
-msgid "Modify global group rights."
-msgstr "Modificar direitos de acesso globais de grupo."
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global rights for groups"
-msgstr "Modificar direitos globais para grupos"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global rights for users"
-msgstr "Modificar direitos globais para usuários"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global scrips"
-msgstr "Modificar scrips 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 "Modificar direitos de acesso globais de usuário"
-
-#: html/Admin/Global/UserRights.html:56
-msgid "Modify global user rights."
-msgstr "Modificar direitos de acesso globais de usuário."
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "Modify group metadata or delete group"
-msgstr "Modificar metadados do grupo ou removê-lo"
-
-#: html/Admin/CustomFields/GroupRights.html:166
-#. ($CustomFieldObj->Name)
-msgid "Modify group rights for custom field %1"
-msgstr "Modificar direitos de grupo para campo personalizado %1"
-
-#: 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 "Modificar os direitos de acesso do grupo %1"
-
-#: html/Admin/Queues/GroupRights.html:48 html/Admin/Queues/GroupRights.html:52
-#. ($QueueObj->Name)
-msgid "Modify group rights for queue %1"
-msgstr "Modificar os direitos de acesso de grupo para a fila %1"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "Modify membership roster for this group"
-msgstr "Modificar afiliados deste grupo"
-
-#: lib/RT/System.pm:84
-msgid "Modify one's own RT account"
-msgstr "Modificar sua própria conta RT"
-
-#: html/Admin/Queues/People.html:48 html/Admin/Queues/People.html:52
-#. ($QueueObj->Name)
-msgid "Modify people related to queue %1"
-msgstr "Modificar as pessoas relacionadas à fila %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 "Modificar as pessoas relacionadas ao tíquete #%1"
-
-#: html/Admin/Queues/Scrips.html:69
-#. ($QueueObj->Name)
-msgid "Modify scrips for queue %1"
-msgstr "Modificar os scrips da fila %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 "Modificar scrips aplicáveis a todas as filas"
-
-#: html/Admin/Global/Template.html:104 html/Admin/Global/Template.html:48 html/Admin/Global/Template.html:53 html/Admin/Queues/Template.html:101
-#. (loc($TemplateObj->Name()))
-#. ($TemplateObj->id)
-msgid "Modify template %1"
-msgstr "Modificar o modelo %1"
-
-#: html/Admin/Global/Templates.html:67
-msgid "Modify templates which apply to all queues"
-msgstr "Modificar modelos que se aplicam a todas as filas"
-
-#: html/Admin/Global/index.html:87
-msgid "Modify the default \"RT at a glance\" view"
-msgstr "Modificar \"RT por alto\" default"
-
-#: html/Admin/Groups/Modify.html:125 html/User/Groups/Modify.html:109
-#. ($Group->Name)
-msgid "Modify the group %1"
-msgstr "Modificar o grupo %1"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "Modify the queue watchers"
-msgstr "Modificar os observadores da fila"
-
-#: html/Admin/Users/Modify.html:313
-#. ($UserObj->Name)
-msgid "Modify the user %1"
-msgstr "Modificar o usuário %1"
-
-#: html/Ticket/ModifyAll.html:60
-#. ($Ticket->Id)
-msgid "Modify ticket # %1"
-msgstr "Modificar o tíquete # %1"
-
-#: html/Ticket/Modify.html:48 html/Ticket/Modify.html:51 html/Ticket/Modify.html:57
-#. ($TicketObj->Id)
-msgid "Modify ticket #%1"
-msgstr "Modificar o tíquete #%1"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "Modify tickets"
-msgstr "Modificar tíquetes"
-
-#: html/Admin/CustomFields/UserRights.html:159
-#. ($CustomFieldObj->Name)
-msgid "Modify user rights for custom field %1"
-msgstr "Modificar direitos de usuário para campo customizado %1"
-
-#: 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 "Modificar os direitos de acesso de usuário 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 "Modificar os direitos de acesso de usuário para a fila %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify watchers for queue '%1'"
-msgstr "Modificar os observadores para a fila '%1'"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "ModifyACL"
-msgstr "ModificarACL"
-
-#: lib/RT/CustomField_Overlay.pm:110
-msgid "ModifyCustomField"
-msgstr "ModificarCampoPersonalizado"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "ModifyOwnMembership"
-msgstr "ModificarFiliaçãoPrópria"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "ModifyQueueWatchers"
-msgstr "ModificarObservadoresdaFila"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "ModifyScrips"
-msgstr "ModificarScrips"
-
-#: lib/RT/System.pm:84
-msgid "ModifySelf"
-msgstr "AutoModificar-se"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "ModifyTemplate"
-msgstr "ModificarModelo"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "ModifyTicket"
-msgstr "ModificarTiquete"
-
-#: lib/RT/Date.pm:419
-msgid "Mon."
-msgstr "Seg."
-
-#: html/Ticket/Elements/ShowRequestor:63
-#. ($name)
-msgid "More about %1"
-msgstr "Mais sobre %1"
-
-#: html/Admin/Elements/PickCustomFields:85
-msgid "Move down"
-msgstr "Descer"
-
-#: html/Admin/Elements/PickCustomFields:77
-msgid "Move up"
-msgstr "Subir"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:50
-msgid "Multiple"
-msgstr "Múltiplo"
-
-#: lib/RT/User_Overlay.pm:228
-msgid "Must specify 'Name' attribute"
-msgstr "Necessário especificar atributo 'Nome'"
-
-#: html/SelfService/Elements/MyRequests:79
-#. ($friendly_status)
-msgid "My %1 tickets"
-msgstr "Meus %1 primeiros tíquetes"
-
-#: NOT FOUND IN SOURCE
-msgid "My Approvals"
-msgstr "Minhas Aprovações"
-
-#: html/Tools/Elements/Tabs:65
-msgid "My Day"
-msgstr "Meu Dia"
-
-#: html/Approvals/index.html:48 html/Approvals/index.html:49
-msgid "My approvals"
-msgstr "Minhas aprovações"
-
-#: html/Search/Elements/SearchPrivacy:52 html/Search/Elements/SelectSearchObject:55 html/Search/Elements/SelectSearchesForObjects:56
-msgid "My saved searches"
-msgstr "Minhas buscas salvas"
-
-#: 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 uso"
-
-#: NOT FOUND IN SOURCE
-msgid "Need approval from system administrator"
-msgstr "Precisa de aprovação do administrador do sistema"
-
-#: html/Ticket/Elements/ShowDates:75
-msgid "Never"
-msgstr "Nunca"
-
-#: NOT FOUND IN SOURCE
-msgid "New"
-msgstr "Novo"
-
-#: html/Elements/EditLinks:118
-msgid "New Links"
-msgstr "Novos Vínculos"
-
-#: html/Admin/Users/Modify.html:121 html/User/Prefs.html:111
-msgid "New Password"
-msgstr "Nova Senha"
-
-#: etc/initialdata:332
-msgid "New Pending Approval"
-msgstr "Nova Aprovação Pendente"
-
-#: html/Ticket/Elements/Tabs:214
-msgid "New Search"
-msgstr "Nova busca"
-
-#: html/Admin/Elements/CustomFieldTabs:95 html/Admin/Queues/CustomField.html:75
-msgid "New custom field"
-msgstr "Novo campo personalizado"
-
-#: 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 senha"
-
-#: lib/RT/User_Overlay.pm:818
-msgid "New password notification sent"
-msgstr "Notificação de nova senha enviada"
-
-#: html/Admin/Elements/QueueTabs:97
-msgid "New queue"
-msgstr "Nova fila"
-
-#: html/Ticket/Elements/Reminders:120
-msgid "New reminder:"
-msgstr "Novo lembrete:"
-
-#: NOT FOUND IN SOURCE
-msgid "New request"
-msgstr "Nova requisição"
-
-#: html/Admin/Elements/SelectRights:67
-msgid "New rights"
-msgstr "Novos direitos de acesso"
-
-#: 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"
-
-#: NOT FOUND IN SOURCE
-msgid "New search"
-msgstr "Nova busca"
-
-#: html/Admin/Global/Template.html:83 html/Admin/Global/Templates.html:62 html/Admin/Queues/Template.html:81 html/Admin/Queues/Templates.html:73
-msgid "New template"
-msgstr "Novo modelo"
-
-#: html/SelfService/Elements/Tabs:87 html/SelfService/Elements/Tabs:91
-msgid "New ticket"
-msgstr "Novo tíquete"
-
-#: lib/RT/Ticket_Overlay.pm:2760
-msgid "New ticket doesn't exist"
-msgstr "O novo tíquete não existe"
-
-#: html/Admin/Elements/UserTabs:83
-msgid "New user"
-msgstr "Novo usuário"
-
-#: html/Admin/Elements/CreateUserCalled:49
-msgid "New user called"
-msgstr "Novo usuário chamado"
-
-#: html/Admin/Queues/People.html:78 html/Ticket/Elements/EditPeople:52
-msgid "New watchers"
-msgstr "Novos observadores"
-
-#: NOT FOUND IN SOURCE
-msgid "New window setting"
-msgstr "Abrir nova janela"
-
-#: 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"
-
-#: NOT FOUND IN SOURCE
-msgid "Next page"
-msgstr "Próxima página"
-
-#: NOT FOUND IN SOURCE
-msgid "NickName"
-msgstr "Apelido"
-
-#: html/Admin/Users/Modify.html:86 html/User/Prefs.html:74
-msgid "Nickname"
-msgstr "Apelido"
-
-#: html/Admin/CustomFields/UserRights.html:147
-msgid "No Class defined"
-msgstr "Nenhuma Classe definida"
-
-#: html/Admin/CustomFields/Modify.html:168 html/Admin/Elements/EditCustomField:121
-msgid "No CustomField"
-msgstr "Não há Campo Personalizado"
-
-#: html/Admin/CustomFields/GroupRights.html:105
-msgid "No CustomField defined"
-msgstr "Nenhum Campo Personalizado definido"
-
-#: html/Admin/Groups/GroupRights.html:107 html/Admin/Groups/UserRights.html:94
-msgid "No Group defined"
-msgstr "Não há Grupo definido"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:484
-msgid "No Query"
-msgstr "Nenhuma Consulta"
-
-#: html/Admin/Queues/GroupRights.html:120 html/Admin/Queues/UserRights.html:91
-msgid "No Queue defined"
-msgstr "Não há Fila definida"
-
-#: bin/rt-crontool:75
-msgid "No RT user found. Please consult your RT administrator.\\n"
-msgstr "Nenhum usuário RT foi encontrado. Favor consultar o administrador do RT.\\n"
-
-#: html/Admin/Global/Template.html:102 html/Admin/Queues/Template.html:99
-msgid "No Template"
-msgstr "Não há Modelo"
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket "
-msgstr "Não há Tíquete especificado. Abortando o tíquete "
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket modifications\\n\\n"
-msgstr "Não há Tíquete especificado. Abortando modificações no tíquete\\n\\n"
-
-#: html/Approvals/Elements/Approve:79
-msgid "No action"
-msgstr "Não há ação"
-
-#: lib/RT/Record.pm:966
-msgid "No column specified"
-msgstr "Não há coluna especificada"
-
-#: NOT FOUND IN SOURCE
-msgid "No command found\\n"
-msgstr "Comando não encontrado\\n"
-
-#: html/Ticket/Elements/ShowRequestor:70
-msgid "No comment entered about this user"
-msgstr "Não há comentário sobre este usuário"
-
-#: NOT FOUND IN SOURCE
-msgid "No correspondence attached"
-msgstr "Não há nenhum arquivo anexado"
-
-#: 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 "Não há descrição para %1"
-
-#: lib/RT/Users_Overlay.pm:192
-msgid "No group specified"
-msgstr "Não há grupo especificado"
-
-#: html/Admin/Groups/index.html:54
-msgid "No groups matching search criteria found."
-msgstr "Nenhum grupo satisfaz o critério de busca."
-
-#: lib/RT/Ticket_Overlay.pm:2395
-msgid "No message attached"
-msgstr "Nenhuma mensagem anexada"
-
-#: lib/RT/User_Overlay.pm:1036
-msgid "No password set"
-msgstr "Não há senha especificada"
-
-#: lib/RT/Queue_Overlay.pm:363
-msgid "No permission to create queues"
-msgstr "Não há permissão para criar filas"
-
-#: lib/RT/Ticket_Overlay.pm:422
-#. ($QueueObj->Name)
-msgid "No permission to create tickets in the queue '%1'"
-msgstr "Sem permissão para criar tíquetes na fila '%1'"
-
-#: lib/RT/User_Overlay.pm:188
-msgid "No permission to create users"
-msgstr "Sem permissão para criar usuários"
-
-#: html/SelfService/Display.html:210
-msgid "No permission to display that ticket"
-msgstr "Sem permissão para mostrar o tíquete"
-
-#: lib/RT/SavedSearch.pm:158
-msgid "No permission to save system-wide searches"
-msgstr "Sem permissão para salvar buscas com abrangência em todo sistema"
-
-#: html/SelfService/Update.html:119
-msgid "No permission to view update ticket"
-msgstr "sem permissão para ver modificar o tíquete"
-
-#: lib/RT/Queue_Overlay.pm:797 lib/RT/Ticket_Overlay.pm:1491
-msgid "No principal specified"
-msgstr "Não há usuário/grupo especificado"
-
-#: html/Admin/Queues/People.html:177 html/Admin/Queues/People.html:187
-msgid "No principals selected."
-msgstr "Não há usuário/grupo selecionado."
-
-#: html/Admin/Queues/index.html:59
-msgid "No queues matching search criteria found."
-msgstr "Nenhuma fila satisfaz o critério de busca."
-
-#: html/Admin/Elements/SelectRights:108
-msgid "No rights found"
-msgstr "Nenhum direito encontrado"
-
-#: html/Admin/Elements/SelectRights:55
-msgid "No rights granted."
-msgstr "Nenhum direito outorgado."
-
-#: lib/RT/SavedSearch.pm:198
-msgid "No search loaded"
-msgstr "Nenhuma busca carregada"
-
-#: html/Search/Bulk.html:234
-msgid "No search to operate on."
-msgstr "Não há busca a realizar"
-
-#: html/Elements/RT__Ticket/ColumnMap:139 html/Search/Results.rdf:80
-msgid "No subject"
-msgstr "Sem assunto"
-
-#: NOT FOUND IN SOURCE
-msgid "No ticket id specified"
-msgstr "Nenhum identificador de tíquete especificado"
-
-#: html/Search/Chart:101
-msgid "No tickets found."
-msgstr "Nenhum tíquete encontrado."
-
-#: lib/RT/Transaction_Overlay.pm:549 lib/RT/Transaction_Overlay.pm:586
-msgid "No transaction type specified"
-msgstr "Não há tipo de transação especificada"
-
-#: NOT FOUND IN SOURCE
-msgid "No user or email address specified"
-msgstr "Não há usuário ou endereço de e-mail especificado"
-
-#: html/Admin/Users/index.html:57
-msgid "No users matching search criteria found."
-msgstr "Nenhum usuário satisfaz o critério de busca."
-
-#: lib/RT/Record.pm:963
-msgid "No value sent to _Set!\\n"
-msgstr "Nenhum valor enviado a _Set!\\n"
-
-#: html/Elements/QuickCreate:61
-msgid "Nobody"
-msgstr "Ninguém"
-
-#: lib/RT/Record.pm:968
-msgid "Nonexistant field?"
-msgstr "Campo inexistente?"
-
-#: html/Search/Chart:149 html/Search/Elements/Chart:90
-msgid "Not Set"
-msgstr "Nao Definido"
-
-#: NOT FOUND IN SOURCE
-msgid "Not logged in"
-msgstr "Não logado"
-
-#: html/Elements/Header:98
-msgid "Not logged in."
-msgstr "Não entrou."
-
-#: lib/RT/Date.pm:399
-msgid "Not set"
-msgstr "Não definido"
-
-#: html/NoAuth/Reminder.html:50
-msgid "Not yet implemented."
-msgstr "Ainda não implementado."
-
-#: NOT FOUND IN SOURCE
-msgid "Not yet implemented...."
-msgstr "Ainda não implementado..."
-
-#: html/Approvals/Elements/Approve:83
-msgid "Notes"
-msgstr "Anotações"
-
-#: lib/RT/User_Overlay.pm:821
-msgid "Notification could not be sent"
-msgstr "A notificação não pôde ser enviada"
-
-#: etc/initialdata:101
-msgid "Notify AdminCcs"
-msgstr "Notificar AdminCcs"
-
-#: 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 "Notificar Ccs"
-
-#: 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 "Notificar Outros Destinatários"
-
-#: etc/initialdata:124
-msgid "Notify Other Recipients as Comment"
-msgstr "Notificar Outros Destinatários 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 "Notificar Proprietário sobre seus tíquetes rejeitados"
-
-#: etc/initialdata:365
-msgid "Notify Owner of their ticket has been approved by all approvers"
-msgstr "Notificar Proprietário que todas as aprovações foram concedidas a seu tíquete"
-
-#: etc/initialdata:353
-msgid "Notify Owner of their ticket has been approved by some approver"
-msgstr "Notificar Proprietário que seu alguma aprovação foi concedida a seu tíquete"
-
-#: etc/initialdata:334
-msgid "Notify Owners and AdminCcs of new items pending their approval"
-msgstr ""
-"Notificar Proprietários e AdminCcs sobre novos itens dependendo de suas "
-"aprovações"
-
-#: etc/initialdata:77
-msgid "Notify Requestors"
-msgstr "Notificar Requisitantes"
-
-#: etc/initialdata:111
-msgid "Notify Requestors and Ccs"
-msgstr "Notificar Requisitantes e Ccs"
-
-#: etc/initialdata:106
-msgid "Notify Requestors and Ccs as Comment"
-msgstr "Notificar Requisitantes e Ccs como Comentário"
-
-#: etc/initialdata:120
-msgid "Notify Requestors, Ccs and AdminCcs"
-msgstr "Notificar Requisitantes, Ccs e AdminCcs"
-
-#: etc/initialdata:116
-msgid "Notify Requestors, Ccs and AdminCcs as Comment"
-msgstr "Notificar Requisitantes, Ccs e AdminCcs como Comentário"
-
-#: lib/RT/Date.pm:453
-msgid "Nov."
-msgstr "Nov."
-
-#: NOT FOUND IN SOURCE
-msgid "November"
-msgstr "Novembro"
-
-#: html/Search/Elements/SelectAndOr:49
-msgid "OR"
-msgstr "OU"
-
-#: lib/RT/Record.pm:329
-msgid "Object could not be created"
-msgstr "Objeto não pôde ser criado"
-
-#: lib/RT/Record.pm:130
-msgid "Object could not be deleted"
-msgstr "Objeto não pode ser removido"
-
-#: lib/RT/Record.pm:348
-msgid "Object created"
-msgstr "Objeto criado"
-
-#: lib/RT/Record.pm:127
-msgid "Object deleted"
-msgstr "Objeto removido"
-
-#: html/Admin/CustomFields/Objects.html:74 html/Admin/Elements/ObjectCustomFields:65
-#. ($ObjectType)
-#. ($LookupType)
-msgid "Object of type %1 cannot take custom fields"
-msgstr "Objeto do tipo %1 não aceitam campos customizados"
-
-#: lib/RT/CustomField_Overlay.pm:970
-msgid "Object type mismatch"
-msgstr "Tipo de objeto não corresponde"
-
-#: lib/RT/Date.pm:452
-msgid "Oct."
-msgstr "Out."
-
-#: NOT FOUND IN SOURCE
-msgid "October"
-msgstr "Outubro"
-
-#: html/Tools/Elements/Tabs:57
-msgid "Offline"
-msgstr "Offline"
-
-#: html/Tools/Offline.html:51
-msgid "Offline edits"
-msgstr "Edições offline"
-
-#: html/Tools/Offline.html:48
-msgid "Offline upload"
-msgstr "Envio offline"
-
-#: 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 "Em %1, %2 escreveu:"
-
-#: etc/initialdata:163
-msgid "On Comment"
-msgstr "Num Comentário"
-
-#: etc/initialdata:156
-msgid "On Correspond"
-msgstr "Numa Correspondência"
-
-#: etc/initialdata:145
-msgid "On Create"
-msgstr "Na Criação"
-
-#: etc/initialdata:184
-msgid "On Owner Change"
-msgstr "Na Mudança de Proprietário"
-
-#: etc/initialdata:177 etc/upgrade/3.1.17/content:15
-msgid "On Priority Change"
-msgstr "Na Mudança de Prioridade"
-
-#: etc/initialdata:192
-msgid "On Queue Change"
-msgstr "Na Mudança de Fila"
-
-#: etc/initialdata:198
-msgid "On Resolve"
-msgstr "Na Resolução"
-
-#: etc/initialdata:169
-msgid "On Status Change"
-msgstr "Na Mudança de Estado"
-
-#: etc/initialdata:150
-msgid "On Transaction"
-msgstr "Numa Transaçã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 "Só mostrar aprovações para requisições criadas depois de %1"
-
-#: 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 "Só mostrar aprovações para requisições criadas antes de %1"
-
-#: html/Admin/CustomFields/index.html:77
-msgid "Only show custom fields for:"
-msgstr "Somente mostrar campos personalizados para:"
-
-#: NOT FOUND IN SOURCE
-msgid "Open"
-msgstr "Aberto"
-
-#: etc/initialdata:139
-msgid "Open Tickets"
-msgstr "Abrir Tíquetes"
-
-#: html/Ticket/Elements/Tabs:162
-msgid "Open it"
-msgstr "Abrir"
-
-#: NOT FOUND IN SOURCE
-msgid "Open requests"
-msgstr "Requisições abertas"
-
-#: html/SelfService/Elements/Tabs:78 html/SelfService/index.html:48
-msgid "Open tickets"
-msgstr "Abrir tíquetes"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in a new window"
-msgstr "Abrir tíquetes (da listagem) em uma nova janela"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in another window"
-msgstr "Abrir tíquetes (da listagem) em outra janela"
-
-#: etc/initialdata:140
-msgid "Open tickets on correspondence"
-msgstr "Abrir tíquetes na correspondência"
-
-#: html/Prefs/MyRT.html:72
-msgid "Options"
-msgstr "Opções"
-
-#: html/Search/Elements/DisplayOptions:61
-msgid "Order by"
-msgstr "Ordenado por"
-
-#: NOT FOUND IN SOURCE
-msgid "Ordering and sorting"
-msgstr "Requisitando e ordenando"
-
-#: 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 "Tíquete originador: #%1"
-
-#: lib/RT/Transaction_Overlay.pm:643
-msgid "Outgoing email about a comment recorded"
-msgstr "E-mail de saida sobre um comentário gravado"
-
-#: lib/RT/Transaction_Overlay.pm:647
-msgid "Outgoing email recorded"
-msgstr "E-mail de saida gravado"
-
-#: html/Admin/Queues/Modify.html:92
-msgid "Over time, priority moves toward"
-msgstr "Após a data, a prioridade tende a"
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "Own tickets"
-msgstr "Próprios tíquetes"
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "OwnTicket"
-msgstr "OwnTicket"
-
-#: 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:2122
-msgid "Owner"
-msgstr "Proprietário"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner changed from %1 to %2"
-msgstr "Proprietário mudou de %1 para %2"
-
-#: lib/RT/Ticket_Overlay.pm:507
-msgid "Owner could not be set."
-msgstr "Proprietário não pode ser definido."
-
-#: lib/RT/Transaction_Overlay.pm:693
-#. ($Old->Name , $New->Name)
-msgid "Owner forcibly changed from %1 to %2"
-msgstr "Proprietário mudado à força de %1 para %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner is"
-msgstr "O proprietário é"
-
-#: 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 "Pager"
-
-#: NOT FOUND IN SOURCE
-msgid "PagerPhone"
-msgstr "Telefone do Pager"
-
-#: NOT FOUND IN SOURCE
-msgid "Parent"
-msgstr "Pai"
-
-#: html/Elements/EditLinks:145 html/Elements/EditLinks:77 html/Elements/ShowLinks:70 html/Ticket/Create.html:224 html/Ticket/Elements/BulkLinks:62
-msgid "Parents"
-msgstr "Pais"
-
-#: html/Elements/Login:97 html/User/Prefs.html:107
-msgid "Password"
-msgstr "Senha"
-
-#: html/NoAuth/Reminder.html:48
-msgid "Password Reminder"
-msgstr "Lembrete de Senha"
-
-#: lib/RT/Transaction_Overlay.pm:802 lib/RT/User_Overlay.pm:1047
-msgid "Password changed"
-msgstr "Senha trocada"
-
-#: 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 "Senhas precisam ter no mínimo %1 caracteres"
-
-#: lib/RT/User_Overlay.pm:1046
-msgid "Password set"
-msgstr "Senha definida"
-
-#: NOT FOUND IN SOURCE
-msgid "Password too short"
-msgstr "Senha muito curta"
-
-#: html/User/Prefs.html:242
-#. (loc_fuzzy($msg))
-msgid "Password: %1"
-msgstr "Senha: %1"
-
-#: lib/RT/User_Overlay.pm:1032
-msgid "Password: Permission Denied"
-msgstr "Senha: Permissão Negada"
-
-#: html/Admin/Users/Modify.html:368
-msgid "Passwords do not match."
-msgstr "Senhas não coincidem."
-
-#: html/User/Prefs.html:244
-msgid "Passwords do not match. Your password has not been changed"
-msgstr "Senhas não coincidem. Sua senha não foi mudada"
-
-#: 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 "Realizar uma ação definida pelo usuário"
-
-#: html/Admin/Tools/Configuration.html:96
-msgid "Perl configuration"
-msgstr "Configuração perl"
-
-#: 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:1056 lib/RT/Queue_Overlay.pm:142 lib/RT/Queue_Overlay.pm:160 lib/RT/Queue_Overlay.pm:659 lib/RT/Queue_Overlay.pm:669 lib/RT/Queue_Overlay.pm:683 lib/RT/Queue_Overlay.pm:821 lib/RT/Queue_Overlay.pm:830 lib/RT/Queue_Overlay.pm:843 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:1359 lib/RT/Ticket_Overlay.pm:1369 lib/RT/Ticket_Overlay.pm:1383 lib/RT/Ticket_Overlay.pm:1524 lib/RT/Ticket_Overlay.pm:1534 lib/RT/Ticket_Overlay.pm:1548 lib/RT/Ticket_Overlay.pm:1665 lib/RT/Ticket_Overlay.pm:1985 lib/RT/Ticket_Overlay.pm:2128 lib/RT/Ticket_Overlay.pm:2298 lib/RT/Ticket_Overlay.pm:2348 lib/RT/Ticket_Overlay.pm:2528 lib/RT/Ticket_Overlay.pm:2541 lib/RT/Ticket_Overlay.pm:2617 lib/RT/Ticket_Overlay.pm:2630 lib/RT/Ticket_Overlay.pm:2751 lib/RT/Ticket_Overlay.pm:2765 lib/RT/Ticket_Overlay.pm:3016 lib/RT/Ticket_Overlay.pm:3027 lib/RT/Ticket_Overlay.pm:3033 lib/RT/Ticket_Overlay.pm:3250 lib/RT/Ticket_Overlay.pm:3254 lib/RT/Ticket_Overlay.pm:3397 lib/RT/Ticket_Overlay.pm:3525 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ões negadas"
-
-#: 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 "Telefones"
-
-#: 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 usuário %2."
-
-#: html/Prefs/MyRT.html:143
-#. ($pane)
-msgid "Preferences saved for %1."
-msgstr "Preferências salvas para %1."
-
-#: NOT FOUND IN SOURCE
-msgid "Prefs"
-msgstr "Prefs"
-
-#: lib/RT/Action/Generic.pm:197
-msgid "Prepare Stubbed"
-msgstr "Preparação Abortada"
-
-#: html/Helpers/CalPopup.html:58 html/Ticket/Elements/Tabs:86
-msgid "Prev"
-msgstr "Anterior"
-
-#: html/Elements/TicketList:105
-msgid "Previous Page"
-msgstr "Página Anterior"
-
-#: NOT FOUND IN SOURCE
-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 "Usuário/Grupo %1 não encontrado."
-
-#: html/Search/Elements/PickBasics:149 html/Ticket/Create.html:183 html/Ticket/Elements/EditBasics:94 html/Ticket/Elements/ShowBasics:74 lib/RT/Tickets_Overlay.pm:1906
-msgid "Priority"
-msgstr "Prioridade"
-
-#: html/Admin/Queues/Modify.html:88
-msgid "Priority starts at"
-msgstr "A prioridade inicia em"
-
-#: html/Search/Elements/EditSearches:52
-msgid "Privacy:"
-msgstr "Privacidade:"
-
-#: etc/initialdata:25
-msgid "Privileged"
-msgstr "Privilegiado"
-
-#: html/Admin/Users/Modify.html:346 html/User/Prefs.html:233
-#. (loc_fuzzy($msg))
-msgid "Privileged status: %1"
-msgstr "Estado privilegiado: %1"
-
-#: html/Admin/Users/index.html:104
-msgid "Privileged users"
-msgstr "Usuários privilegiados"
-
-#: etc/initialdata:23 etc/initialdata:29 etc/initialdata:35 etc/initialdata:59
-msgid "Pseudogroup for internal use"
-msgstr "Falso-grupo para uso interno"
-
-#: html/Search/Build.html:123
-msgid "Query Builder"
-msgstr "Construtor de Consulta"
-
-#: html/Search/Elements/Chart:103
-msgid "Query:"
-msgstr "Consulta:"
-
-#: 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:1733
-msgid "Queue"
-msgstr "Fila"
-
-#: html/Admin/Queues/CustomField.html:65 html/Admin/Queues/Scrip.html:63 html/Admin/Queues/Scrips.html:71 html/Admin/Queues/Templates.html:67
-#. ($id)
-#. ($Queue)
-msgid "Queue %1 not found"
-msgstr "Fila %1 não encontrada"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue '%1' not found\\n"
-msgstr "A fila '%1' não foi encontrada\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Keyword Selections"
-msgstr "Seleções de Palavras-chave da Fila"
-
-#: html/Admin/Queues/Modify.html:66
-msgid "Queue Name"
-msgstr "Nome da Fila"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Scrips"
-msgstr "Scrips da Fila"
-
-#: lib/RT/Queue_Overlay.pm:367
-msgid "Queue already exists"
-msgstr "A fila já existe"
-
-#: lib/RT/Queue_Overlay.pm:376 lib/RT/Queue_Overlay.pm:382
-msgid "Queue could not be created"
-msgstr "A fila não pôde ser criada"
-
-#: html/Ticket/Create.html:318 lib/t/regression/01ticket_link_searching.t:17
-msgid "Queue could not be loaded."
-msgstr "A fila não pôde ser carregada"
-
-#: docs/design_docs/string-extraction-guide.txt:83 lib/RT/Queue_Overlay.pm:386 lib/RT/StyleGuide.pod:807
-msgid "Queue created"
-msgstr "Fila criada"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue is not specified."
-msgstr "A fila não foi especificada."
-
-#: html/SelfService/Display.html:128 lib/RT/CustomField_Overlay.pm:199
-msgid "Queue not found"
-msgstr "Fila não encontrada"
-
-#: html/Admin/Elements/Tabs:61 html/Admin/index.html:74
-msgid "Queues"
-msgstr "Filas"
-
-#: html/Elements/MyAdminQueues:48
-msgid "Queues I administer"
-msgstr "Filas que eu administro"
-
-#: html/Elements/MySupportQueues:48
-msgid "Queues I'm an AdminCc for"
-msgstr "Filas nas quais sou AdminCc"
-
-#: html/Elements/Quicksearch:49 html/Prefs/Elements/Tabs:60 html/Prefs/Quicksearch.html:72
-msgid "Quick search"
-msgstr "Busca rápida"
-
-#: html/Elements/QuickCreate:49
-msgid "Quick ticket creation"
-msgstr "Criação rápida de tíquete"
-
-#: 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"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1. Copyright 1996-%1 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-msgstr ""
-"RT %1. Direitos reservados 1996-%1 Jesse Vincent <jesse\\@bestpractical.com>"
-"\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1. Copyright 1996-2002 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-msgstr ""
-"RT %1. Direitos reservados 1996-2002 Jesse Vincent <jesse\\\\@bestpractical."
-"com>\\\\n"
-
-#: html/Admin/index.html:48 html/Admin/index.html:49
-msgid "RT Administration"
-msgstr "Administração do RT"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Authentication error."
-msgstr "Erro de autenticação no RT."
-
-#: NOT FOUND IN SOURCE
-msgid "RT Bounce: %1"
-msgstr "Ricochete do RT: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Configuration error"
-msgstr "Erro de configuração do RT"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Critical error. Message not recorded!"
-msgstr "Erro crítico no RT. A mensagem não foi registrada!"
-
-#: html/Elements/Error:65 html/SelfService/Error.html:64
-msgid "RT Error"
-msgstr "Erro no RT"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Received mail (%1) from itself."
-msgstr "O RT recebeu e-mail (%1) dele mesmo."
-
-#: NOT FOUND IN SOURCE
-msgid "RT Recieved mail (%1) from itself."
-msgstr "O RT recebeu e-mail (%1) dele mesmo."
-
-#: html/SelfService/Elements/Tabs:72 html/SelfService/Elements/Tabs:74
-msgid "RT Self Service"
-msgstr "Auto-Serviço RT"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Self Service / Closed Tickets"
-msgstr "Auto-serviço do RT / Tíquetes Fechados"
-
-#: html/Admin/Tools/Configuration.html:75
-msgid "RT Variables"
-msgstr "Variáveis RT"
-
-#: 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 por alto"
-
-#: html/Admin/Users/MyRT.html:77
-#. ($UserObj->Name)
-msgid "RT at a glance for the user %1"
-msgstr "RT por alto para o usuário %1"
-
-#: html/Admin/CustomFields/Modify.html:119
-msgid "RT can include content from another web service when showing this custom field."
-msgstr "RT pode incluir o conteúdo de algum outro serviço web quando estiver mostrando este campo personalizado."
-
-#: html/Admin/CustomFields/Modify.html:108
-msgid "RT can make this custom field's values into hyperlinks to another service."
-msgstr ""
-"RT pode transformar estes valores de campo customizado em hiperlinks para "
-"outro serviço."
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't authenticate you"
-msgstr "O RT não pôde autenticá-lo"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't find requestor via its external database lookup"
-msgstr ""
-"O RT não pôde encontrar o requisitante através de consulta ao banco de dados "
-"externo"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't find the queue: %1"
-msgstr "O RT não pôde encontrar a fila: %1"
-
-#: html/Elements/SetupSessionCookie:102
-msgid "RT couldn't store your session."
-msgstr "RT não pode armazenar sua sessão."
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't validate this PGP signature. \\n"
-msgstr "O RT não pôde validar esta assinatura PGP. \\n"
-
-#: html/Elements/Logo:51 html/Elements/PageLayout:176
-#. ($RT::rtname)
-msgid "RT for %1"
-msgstr "RT para %1"
-
-#: NOT FOUND IN SOURCE
-msgid "RT for %1: %2"
-msgstr "RT para %1: %2"
-
-#: NOT FOUND IN SOURCE
-msgid "RT has proccessed your commands"
-msgstr "O RT processou seus comandos"
-
-#: NOT FOUND IN SOURCE
-msgid "RT thinks this message may be a bounce"
-msgstr "O RT crê que esta mensagem seja um ricochete"
-
-#: html/Search/Simple.html:62
-msgid "RT will look for anything else you enter in ticket subjects."
-msgstr ""
-"RT vai procurar por qualquer outra coisa que você informar nos assuntos dos "
-"tíquetes."
-
-#: NOT FOUND IN SOURCE
-msgid "RT will process this message as if it were unsigned.\\n"
-msgstr "O RT vai processar esta mensagem como se não fosse assinada.\\n"
-
-#: 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 "RT vai substituir <tt>__id__</tt> e <tt>__CustomField__</tt> respectivamente com o id do registro e o valor do campo personalizado"
-
-#: html/Admin/Users/Modify.html:81 html/User/Prefs.html:71
-msgid "Real Name"
-msgstr "Nome real"
-
-#: NOT FOUND IN SOURCE
-msgid "RealName"
-msgstr "NomeReal"
-
-#: lib/RT/Transaction_Overlay.pm:746
-#. ($value)
-msgid "Reference by %1 added"
-msgstr "Referenciado por %1 adicionado"
-
-#: lib/RT/Transaction_Overlay.pm:786
-#. ($value)
-msgid "Reference by %1 deleted"
-msgstr "Referenciado por %1 removido"
-
-#: lib/RT/Transaction_Overlay.pm:743
-#. ($value)
-msgid "Reference to %1 added"
-msgstr "Referência a %1 adicionada"
-
-#: lib/RT/Transaction_Overlay.pm:783
-#. ($value)
-msgid "Reference to %1 deleted"
-msgstr "Referência a %1 removida"
-
-#: html/Elements/EditLinks:104 html/Elements/EditLinks:157 html/Elements/ShowLinks:94 html/Ticket/Create.html:227 html/Ticket/Elements/BulkLinks:74
-msgid "Referred to by"
-msgstr "Referenciado por"
-
-#: html/Elements/EditLinks:153 html/Elements/EditLinks:95 html/Elements/SelectLinkType:51 html/Elements/ShowLinks:84 html/Ticket/Create.html:226 html/Ticket/Elements/BulkLinks:70
-msgid "Refers to"
-msgstr "Faz referência a"
-
-#: NOT FOUND IN SOURCE
-msgid "RefersTo"
-msgstr "FazReferenciaA"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine"
-msgstr "Refinar"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine search"
-msgstr "Refinar a busca"
-
-#: html/Elements/Refresh:59
-#. ($value/60)
-msgid "Refresh this page every %1 minutes."
-msgstr "Recarregar esta página a cada %1 minutos."
-
-#: lib/RT/Transaction_Overlay.pm:832
-#. ($ticket->Subject)
-msgid "Reminder '%1' added"
-msgstr "Lembrete '%1' adicionado"
-
-#: lib/RT/Transaction_Overlay.pm:845
-#. ($ticket->Subject)
-msgid "Reminder '%1' completed"
-msgstr "Lembrete '%1' completado"
-
-#: lib/RT/Transaction_Overlay.pm:838
-#. ($ticket->Subject)
-msgid "Reminder '%1' reopened"
-msgstr "Lembrete '%1' reaberto"
-
-#: html/Ticket/Reminders.html:48
-#. ($Ticket->Id)
-msgid "Reminder ticket #%1"
-msgstr "Lembrete tíquete #%1"
-
-#: 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 "Lembretes para tíquete #%1"
-
-#: html/Search/Bulk.html:96
-msgid "Remove AdminCc"
-msgstr "Remover AdminCc"
-
-#: html/Search/Bulk.html:92
-msgid "Remove Cc"
-msgstr "Remover Cc"
-
-#: html/Search/Bulk.html:88
-msgid "Remove Requestor"
-msgstr "Remover Requisitante"
-
-#: html/Ticket/Elements/ShowTransaction:179 html/Ticket/Elements/Tabs:149
-msgid "Reply"
-msgstr "Responder"
-
-#: html/Admin/Queues/Modify.html:74
-msgid "Reply Address"
-msgstr "Endereço para Resposta"
-
-#: html/Search/Bulk.html:131 html/Ticket/ModifyAll.html:96 html/Ticket/Update.html:80
-msgid "Reply to requestors"
-msgstr "Responder para requisitantes"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "Reply to tickets"
-msgstr "Responder aos tíquetes"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "ReplyToTicket"
-msgstr "ReplyToTicket"
-
-#: 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 "Requisitante"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor email address"
-msgstr "Endereço eletrônico do requisitante"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor(s)"
-msgstr "Requisitante(s)"
-
-#: NOT FOUND IN SOURCE
-msgid "RequestorAddresses"
-msgstr "RequestorAddresses"
-
-#: html/SelfService/Create.html:65 html/Ticket/Create.html:82 html/Ticket/Elements/EditPeople:71 html/Ticket/Elements/ShowPeople:54
-msgid "Requestors"
-msgstr "Requisitantes"
-
-#: html/Admin/Queues/Modify.html:98
-msgid "Requests should be due in"
-msgstr "A requisições vencem em"
-
-#: lib/RT/Attribute_Overlay.pm:148
-#. ('Object')
-msgid "Required parameter '%1' not specified"
-msgstr "Parâmetro '%1' requerido e não especificado"
-
-#: html/Elements/Submit:85
-msgid "Reset"
-msgstr "Restaurar"
-
-#: html/Admin/Users/MyRT.html:62 html/Prefs/MyRT.html:62
-msgid "Reset to default"
-msgstr "Voltar para padrão"
-
-#: 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 tíquete #%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 "Resolvidos por proprietário"
-
-#: html/Tools/Reports/Elements/Tabs:61
-msgid "Resolved in date range"
-msgstr "Resolvidos num intervalo de datas"
-
-#: html/Tools/Reports/ResolvedByDates.html:54
-msgid "Resolved tickets in period, grouped by owner"
-msgstr "Tíquetes resolvidos no período, agrupados por proprietário"
-
-#: html/Tools/Reports/ResolvedByOwner.html:52
-msgid "Resolved tickets, grouped by owner"
-msgstr "Tíquetes resolvidos, agrupados por proprietário"
-
-#: NOT FOUND IN SOURCE
-msgid "Response to requestors"
-msgstr "Resposta aos requisitantes"
-
-#: html/Elements/ListActions:48 html/Search/Elements/NewListActions:49
-msgid "Results"
-msgstr "Resultados"
-
-#: NOT FOUND IN SOURCE
-msgid "Results per page"
-msgstr "Resultados por página"
-
-#: html/Admin/Users/Modify.html:128 html/User/Prefs.html:118
-msgid "Retype Password"
-msgstr "Confirmar a Senha"
-
-#: html/Search/Elements/EditSearches:63
-msgid "Revert"
-msgstr "Reverter"
-
-#: NOT FOUND IN SOURCE
-msgid "Right %1 not found for %2 %3 in scope %4 (%5)\\n"
-msgstr "Direito de acesso %1 não encontrado para %2 %3 referente a %4 (%5)\\n"
-
-#: lib/RT/ACE_Overlay.pm:632
-msgid "Right Delegated"
-msgstr "Direito de Acesso Delegado"
-
-#: lib/RT/ACE_Overlay.pm:322
-msgid "Right Granted"
-msgstr "Direito de Acesso Outorgado"
-
-#: lib/RT/ACE_Overlay.pm:180
-msgid "Right Loaded"
-msgstr "Direito de Acesso Carregado"
-
-#: lib/RT/ACE_Overlay.pm:697 lib/RT/ACE_Overlay.pm:718
-msgid "Right could not be revoked"
-msgstr "Direito de acesso não pôde ser revogado"
-
-#: html/User/Delegation.html:87
-msgid "Right not found"
-msgstr "Direito de acesso não encontrado"
-
-#: lib/RT/ACE_Overlay.pm:562 lib/RT/ACE_Overlay.pm:657
-msgid "Right not loaded."
-msgstr "Direito de acesso não carregado."
-
-#: lib/RT/ACE_Overlay.pm:714
-msgid "Right revoked"
-msgstr "Direito de acesso revogado"
-
-#: html/Admin/Elements/UserTabs:72
-msgid "Rights"
-msgstr "Direitos de Acesso"
-
-#: html/Admin/CustomFields/GroupRights.html:131 lib/RT/Interface/Web.pm:987
-#. ($object_type)
-msgid "Rights could not be granted for %1"
-msgstr "Direitos de acesso não puderam ser outorgados a %1"
-
-#: html/Admin/CustomFields/GroupRights.html:158 lib/RT/Interface/Web.pm:1016
-#. ($object_type)
-msgid "Rights could not be revoked for %1"
-msgstr "Direitos de acesso não puderam ser revogados de %1"
-
-#: html/Admin/Global/GroupRights.html:74 html/Admin/Queues/GroupRights.html:76
-msgid "Roles"
-msgstr "Papéis"
-
-#: NOT FOUND IN SOURCE
-msgid "RootApproval"
-msgstr "RootApproval"
-
-#: 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 "Sáb."
-
-#: 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 "Salvar"
-
-#: html/Admin/Global/Template.html:69 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 "Salvar as Alterações"
-
-#: html/User/Prefs.html:183
-msgid "Save Preferences"
-msgstr "Salvar Preferências"
-
-#: html/Ticket/Elements/PreviewScrips:133
-msgid "Save changes"
-msgstr "Salvar as alterações"
-
-#: lib/RT/SavedSearch.pm:175
-#. ($name)
-msgid "Saved search %1"
-msgstr "Busca salva %1"
-
-#: html/Admin/Elements/ListGlobalScrips:62 html/Admin/Global/Scrip.html:79 html/Admin/Queues/Scrip.html:86
-#. ($scrip->Id)
-#. ($id)
-msgid "Scrip #%1"
-msgstr "Scrip #%1"
-
-#: lib/RT/Scrip_Overlay.pm:205
-msgid "Scrip Created"
-msgstr "Scrip Criado"
-
-#: html/Admin/Elements/EditScrip:54
-msgid "Scrip Fields"
-msgstr "Campos de Scrip"
-
-#: html/Admin/Elements/EditScrips:111
-msgid "Scrip deleted"
-msgstr "Scrip removido"
-
-#: html/Admin/Elements/QueueTabs:69 html/Admin/Elements/SystemTabs:56 html/Admin/Global/index.html:64
-msgid "Scrips"
-msgstr "Scrips"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrips for %1\\n"
-msgstr "Scrips para %1\\n"
-
-#: html/Admin/Queues/Scrips.html:57
-msgid "Scrips which apply to all queues"
-msgstr "Scrips aplicáveis a todas as filas"
-
-#: html/Elements/SimpleSearch:50 html/Search/Simple.html:67
-msgid "Search"
-msgstr "Buscar"
-
-#: NOT FOUND IN SOURCE
-msgid "Search Criteria"
-msgstr "Critérios de Busca"
-
-#: html/Prefs/SearchOptions.html:49 html/Prefs/SearchOptions.html:52
-msgid "Search Preferences"
-msgstr "Buscar Preferências"
-
-#: lib/RT/SavedSearch.pm:117
-msgid "Search attribute load failure"
-msgstr "Falha na carga de atributos de busca"
-
-#: html/Approvals/Elements/PendingMyApproval:61
-msgid "Search for approvals"
-msgstr "Buscar por aprovações"
-
-#: html/Search/Simple.html:77
-msgid "Search for tickets"
-msgstr "Busca por tíquetes"
-
-#: 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>. RT will look for anything else you enter in ticket bodies and attachments."
-msgstr "Busca por tí­quetes. Informar <strong>id</strong> por número, <strong>filas</strong> por nome, Proprietários por <strong>nomedeusuário</strong> e Requisitantes por <strong>endereço de e-email</strong>. RT vai procurar por qualquer outra coisa no corpo e anexos dos tí­quetes."
-
-#: html/User/Elements/Tabs:64
-msgid "Search options"
-msgstr "Opções de busca"
-
-#: html/Search/Chart.html:58
-#. ($PrimaryGroupBy)
-msgid "Search results grouped by %1"
-msgstr "Resultados da busca agrupado por %1"
-
-#: lib/RT/SavedSearch.pm:205
-#. ($msg)
-msgid "Search update: %1"
-msgstr "Busca atualizada: %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 "Pesquisar o texto completo de todos os tí­quetes pode gastar muito tempo, mas se você precisa disto, é possível procurar por qualquer palavra no histórico completo do tíquete teclando <b>fulltext:<i>palavra</i></b>."
-
-#: bin/rt-crontool:267
-msgid "Security:"
-msgstr "Segurança:"
-
-#: html/Elements/ShowCustomFields:102
-msgid "See also:"
-msgstr "Ver também:"
-
-#: lib/RT/CustomField_Overlay.pm:107
-msgid "See custom fields"
-msgstr "Ver campos personalizados"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "See exact outgoing email messages and their recipeients"
-msgstr "Ver mensagens de saída e destinatários"
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "See ticket private commentary"
-msgstr "Ver comentários privados do tíquete"
-
-#: lib/RT/Queue_Overlay.pm:105
-msgid "See ticket summaries"
-msgstr "Ver sumários de tíquetes"
-
-#: lib/RT/CustomField_Overlay.pm:107
-msgid "SeeCustomField"
-msgstr "VerCampoPersonalizado"
-
-#: lib/RT/Group_Overlay.pm:171
-msgid "SeeGroup"
-msgstr "VerGrupo"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "SeeQueue"
-msgstr "SeeQueue"
-
-#: html/Admin/CustomFields/index.html:48 html/Admin/CustomFields/index.html:51
-msgid "Select a Custom Field"
-msgstr "Selecionar um Campo Personalizado"
-
-#: html/Admin/Groups/index.html:80
-msgid "Select a group"
-msgstr "Selecionar um grupo"
-
-#: html/Admin/Queues/index.html:56
-msgid "Select a queue"
-msgstr "Selecionar uma fila"
-
-#: html/SelfService/CreateTicketInQueue.html:50
-msgid "Select a queue for your new ticket"
-msgstr "Selecionar uma fila para seu novo tíquete"
-
-#: html/Admin/Users/index.html:48 html/Admin/Users/index.html:51 html/Admin/Users/index.html:54
-msgid "Select a user"
-msgstr "Selecionar um usuário"
-
-#: html/Admin/Elements/CustomFieldTabs:92
-msgid "Select custom field"
-msgstr "Selecionar um campo personalizado"
-
-#: html/Admin/Global/CustomFields/index.html:72
-msgid "Select custom fields for all user groups"
-msgstr "Selecionar campos personalizados para todos grupos de usuário"
-
-#: html/Admin/Global/CustomFields/index.html:67
-msgid "Select custom fields for all users"
-msgstr "Selecionar campos personalizados para todos usuários"
-
-#: html/Admin/Global/CustomFields/index.html:78
-msgid "Select custom fields for tickets in all queues"
-msgstr "Selecionar campos personalizados para todas filas"
-
-#: html/Admin/Global/CustomFields/index.html:85
-msgid "Select custom fields for transactions on tickets in all queues"
-msgstr ""
-"Selecionar campos personalizados para transações em tíquetes de todas as "
-"filas"
-
-#: html/Admin/Elements/GroupTabs:77 html/User/Elements/GroupTabs:73
-msgid "Select group"
-msgstr "Selecionar um grupo"
-
-#: lib/RT/CustomField_Overlay.pm:61
-msgid "Select multiple values"
-msgstr "Selecionar valores múltiplos"
-
-#: lib/RT/CustomField_Overlay.pm:62
-msgid "Select one value"
-msgstr "Selecionar um valor"
-
-#: html/Admin/Elements/QueueTabs:94
-msgid "Select queue"
-msgstr "Selecionar uma fila"
-
-#: html/Prefs/Quicksearch.html:55
-msgid "Select queues to be displayed on the \"RT at a glance\" page"
-msgstr "Selecionar filas a serem mostradas na página \"RT por alto\""
-
-#: 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 "Selecionar um scrip"
-
-#: html/Admin/Global/Template.html:80 html/Admin/Global/Templates.html:59 html/Admin/Queues/Template.html:78 html/Admin/Queues/Templates.html:70
-msgid "Select template"
-msgstr "Selecionar um modelo"
-
-#: lib/RT/CustomField_Overlay.pm:63
-msgid "Select up to %1 values"
-msgstr "Selecionar até %1 valores"
-
-#: html/Admin/Elements/UserTabs:80
-msgid "Select user"
-msgstr "Selecionar um usuário"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectMultiple"
-msgstr "SelectMultiple"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectSingle"
-msgstr "SelectSingle"
-
-#: html/Admin/Elements/EditCustomFields:60
-msgid "Selected Custom Fields"
-msgstr "Selecionar Campos Personalizados"
-
-#: html/Admin/CustomFields/Objects.html:61
-msgid "Selected objects"
-msgstr "Selecionar Objetos"
-
-#: html/Widgets/SelectionBox:220
-msgid "Selections modified. Please save your changes"
-msgstr "Seleções mudadas.Por favor, salve suas alterações"
-
-#: NOT FOUND IN SOURCE
-msgid "Self Service"
-msgstr "Auto-serviço"
-
-#: etc/initialdata:121
-msgid "Send mail to all watchers"
-msgstr "Enviar mensagem a todos os observadores"
-
-#: etc/initialdata:117
-msgid "Send mail to all watchers as a \"comment\""
-msgstr "Enviar mensagem a todos os observadores como um \"comentário\""
-
-#: etc/initialdata:112
-msgid "Send mail to requestors and Ccs"
-msgstr "Enviar mensagem aos requisitantes e Ccs"
-
-#: etc/initialdata:107
-msgid "Send mail to requestors and Ccs as a comment"
-msgstr "Enviar mensagem aos requisitantes e Ccs como um comentário"
-
-#: etc/initialdata:78
-msgid "Sends a message to the requestors"
-msgstr "Envia uma mensagem aos requisitantes"
-
-#: etc/initialdata:125 etc/initialdata:129
-msgid "Sends mail to explicitly listed Ccs and Bccs"
-msgstr "Envia uma mensagem aos Ccs e Bccs explicitamente listados"
-
-#: etc/initialdata:94 etc/upgrade/3.1.17/content:7
-msgid "Sends mail to the Ccs"
-msgstr "Envie mail para os Ccs"
-
-#: etc/initialdata:90 etc/upgrade/3.1.17/content:3
-msgid "Sends mail to the Ccs as a comment"
-msgstr "Envie mail para os Ccs como um comentário"
-
-#: etc/initialdata:102
-msgid "Sends mail to the administrative Ccs"
-msgstr "Envia uma mensagem aos Ccs administrativos"
-
-#: etc/initialdata:98
-msgid "Sends mail to the administrative Ccs as a comment"
-msgstr "Envia uma mensagem aos Ccs administrativos como um comentário"
-
-#: etc/initialdata:82 etc/initialdata:86
-msgid "Sends mail to the owner"
-msgstr "Envia uma mensagem ao proprietário"
-
-#: lib/RT/Date.pm:451
-msgid "Sep."
-msgstr "Set."
-
-#: NOT FOUND IN SOURCE
-msgid "September"
-msgstr "Setembro"
-
-#: html/Ticket/Elements/ShowTransaction:158
-msgid "Show"
-msgstr "Mostrar"
-
-#: NOT FOUND IN SOURCE
-msgid "Show Approvals"
-msgstr "Mostrar Aprovações"
-
-#: html/Search/Elements/EditFormat:58
-msgid "Show Columns"
-msgstr "Mostrar Colunas"
-
-#: html/Ticket/Elements/Tabs:222
-msgid "Show Results"
-msgstr "Mostrar os Resultados"
-
-#: html/Approvals/Elements/PendingMyApproval:66
-msgid "Show approved requests"
-msgstr "Mostrar requisições aprovadas"
-
-#: html/Ticket/Create.html:390
-msgid "Show basics"
-msgstr "Mostrar o sumário"
-
-#: html/Approvals/Elements/PendingMyApproval:67
-msgid "Show denied requests"
-msgstr "Mostrar requisições negadas"
-
-#: html/Ticket/Create.html:393
-msgid "Show details"
-msgstr "Mostrar os detalhes"
-
-#: html/Approvals/Elements/PendingMyApproval:65
-msgid "Show pending requests"
-msgstr "Mostrar requisições pendentes"
-
-#: html/Approvals/Elements/PendingMyApproval:68
-msgid "Show requests awaiting other approvals"
-msgstr "Mostrar requisições aguardando outras aprovações"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket private commentary"
-msgstr "Mostrar comentário privado do tíquete"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket summaries"
-msgstr "Mostrar sumários do tíquete"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "ShowACL"
-msgstr "MostrarACL"
-
-#: lib/RT/System.pm:87
-msgid "ShowConfigTab"
-msgstr "MostarAbaDeConfiguracao"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "ShowOutgoingEmail"
-msgstr "MostrarE-maildeSaida"
-
-#: lib/RT/Group_Overlay.pm:170
-msgid "ShowSavedSearches"
-msgstr "MostrarBuscasSalvas"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "ShowScrips"
-msgstr "MostrarScrips"
-
-#: lib/RT/Queue_Overlay.pm:101
-msgid "ShowTemplate"
-msgstr "MostrarModelo"
-
-#: lib/RT/Queue_Overlay.pm:105
-msgid "ShowTicket"
-msgstr "MostrarTiquete"
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "ShowTicketComments"
-msgstr "MostrarComentariosdeTiquete"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "Sign up as a ticket Requestor or ticket or queue Cc"
-msgstr "Cadastrar como um Requisitante de tíquete ou um Cc de tíquete ou fila"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "Sign up as a ticket or queue AdminCc"
-msgstr "Cadastrar como um AdminCC de tíquete ou fila"
-
-#: html/Admin/Users/Modify.html:234 html/User/Prefs.html:170
-msgid "Signature"
-msgstr "Assinatura"
-
-#: NOT FOUND IN SOURCE
-msgid "Signed in as %1"
-msgstr "Assinado como %1"
-
-#: html/Elements/Tabs:71
-msgid "Simple Search"
-msgstr "Busca Simples"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:49
-msgid "Single"
-msgstr "Único"
-
-#: html/Search/Elements/EditFormat:77
-msgid "Size"
-msgstr "Tamanho"
-
-#: html/Elements/Header:91
-msgid "Skip Menu"
-msgstr "Saltar Menu"
-
-#: 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 ""
-"Alguns navegadores somente carregam conteúdo do mesmo domínio que seu "
-"servidor RT."
-
-#: html/Admin/Elements/AddCustomFieldValue:51 html/Admin/Elements/EditCustomFieldValues:56
-msgid "Sort"
-msgstr "Ordenar"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort key"
-msgstr "Chave de ordenação"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort results by"
-msgstr "Ordenar os resultados por"
-
-#: NOT FOUND IN SOURCE
-msgid "SortOrder"
-msgstr "Ordenação"
-
-#: html/Admin/Elements/EditScrip:80
-msgid "Stage"
-msgstr "Estágio"
-
-#: NOT FOUND IN SOURCE
-msgid "Stalled"
-msgstr "Pendente"
-
-#: NOT FOUND IN SOURCE
-msgid "Start page"
-msgstr "Página inicial"
-
-#: html/Elements/SelectDateType:50 html/Ticket/Elements/EditDates:55 html/Ticket/Elements/ShowDates:58
-msgid "Started"
-msgstr "Iniciado"
-
-#: NOT FOUND IN SOURCE
-msgid "Started date '%1' could not be parsed"
-msgstr "A data de iníciado '%1' não pôde ser compreendida"
-
-#: html/Elements/SelectDateType:54 html/Ticket/Create.html:210 html/Ticket/Elements/EditDates:50 html/Ticket/Elements/ShowDates:54
-msgid "Starts"
-msgstr "Inicia"
-
-#: NOT FOUND IN SOURCE
-msgid "Starts By"
-msgstr "Inicia Por"
-
-#: NOT FOUND IN SOURCE
-msgid "Starts date '%1' could not be parsed"
-msgstr "A data de início '%1' não pôde ser compreendida"
-
-#: 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:1767
-msgid "Status"
-msgstr "Estado"
-
-#: etc/initialdata:309
-msgid "Status Change"
-msgstr "Mudança de Estado"
-
-#: NOT FOUND IN SOURCE
-msgid "Status changed from %1 to %2"
-msgstr "Estado mudado de %1 para %2"
-
-#: NOT FOUND IN SOURCE
-msgid "StatusChange"
-msgstr "MudancadeEstado"
-
-#: html/Ticket/Elements/Tabs:180
-msgid "Steal"
-msgstr "Roubar"
-
-#: lib/RT/Queue_Overlay.pm:119
-msgid "Steal tickets"
-msgstr "Roubar tíquetes"
-
-#: lib/RT/Queue_Overlay.pm:119
-msgid "StealTicket"
-msgstr "RoubarTiquete"
-
-#: lib/RT/Transaction_Overlay.pm:699
-#. ($Old->Name)
-msgid "Stolen from %1"
-msgstr "Roubado de %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Stolen from %1 "
-msgstr "Roubado de %1 "
-
-#: html/Search/Elements/EditFormat:83
-msgid "Style"
-msgstr "Estilo"
-
-#: 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:1849
-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 mudou para %1"
-
-#: html/Elements/Submit:77
-msgid "Submit"
-msgstr "Enviar"
-
-#: NOT FOUND IN SOURCE
-msgid "Submit Workflow"
-msgstr "Enviar Workflow"
-
-#: lib/RT/Group_Overlay.pm:776
-msgid "Succeeded"
-msgstr "Deu certo"
-
-#: lib/RT/Date.pm:425
-msgid "Sun."
-msgstr "Dom."
-
-#: lib/RT/System.pm:77
-msgid "SuperUser"
-msgstr "SuperUsuário"
-
-#: html/User/Elements/DelegateRights:100
-msgid "System"
-msgstr "Sistema"
-
-#: html/Admin/Elements/ToolTabs:56 html/Admin/Tools/Configuration.html:50
-msgid "System Configuration"
-msgstr "Configuração do Sistema"
-
-#: html/Admin/CustomFields/GroupRights.html:130 html/Admin/CustomFields/GroupRights.html:157 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:1015 lib/RT/Interface/Web.pm:986
-msgid "System Error"
-msgstr "Erro do Sistema"
-
-#: NOT FOUND IN SOURCE
-msgid "System Error. Right not granted."
-msgstr "Erro de sistema. Direito não outorgado."
-
-#: NOT FOUND IN SOURCE
-msgid "System Error. right not granted"
-msgstr "Erro de sistema. direito não outorgado"
-
-#: lib/RT/Transaction_Overlay.pm:226 lib/RT/Transaction_Overlay.pm:232
-#. ($msg)
-msgid "System Error: %1"
-msgstr "Erro do Sistema: %1"
-
-#: html/Admin/Tools/index.html:49
-msgid "System Tools"
-msgstr "Ferramentas do Sistema"
-
-#: lib/RT/ACE_Overlay.pm:635
-msgid "System error. Right not delegated."
-msgstr "Erro do sistema. Direito de acesso não delegado."
-
-#: 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 "Erro do sistema. Direito de acesso não outorgado."
-
-#: NOT FOUND IN SOURCE
-msgid "System error. Unable to grant rights."
-msgstr "Erro de sistema. Não é possível outorgar direitos de acesso."
-
-#: 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 do sistema"
-
-#: etc/initialdata:41 etc/initialdata:47 etc/initialdata:53
-msgid "SystemRolegroup for internal use"
-msgstr "SystemRolegroup para uso interno"
-
-#: 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 tíquetes"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "TakeTicket"
-msgstr "TomarTiquete"
-
-#: lib/RT/Transaction_Overlay.pm:684
-msgid "Taken"
-msgstr "Tomado"
-
-#: html/Admin/Elements/EditScrip:73 html/Tools/Offline.html:80
-msgid "Template"
-msgstr "Modelo"
-
-#
-#: html/Admin/Global/Template.html:114 html/Admin/Queues/Template.html:115
-#. ($TemplateObj->Id())
-msgid "Template #%1"
-msgstr "Modelo #%1"
-
-#: html/Admin/Elements/EditTemplates:112
-msgid "Template deleted"
-msgstr "Modelo removido"
-
-#: lib/RT/Scrip_Overlay.pm:178
-msgid "Template is mandatory argument"
-msgstr "Modelo é um argumento obrigatório"
-
-#: lib/RT/Scrip_Overlay.pm:182
-msgid "Template not found"
-msgstr "Modelo não encontrado"
-
-#: NOT FOUND IN SOURCE
-msgid "Template not found\\n"
-msgstr "Modelo não encontrado\\n"
-
-#: lib/RT/Template_Overlay.pm:346
-msgid "Template parsed"
-msgstr "Modelo processado"
-
-#: lib/RT/Template_Overlay.pm:398
-msgid "Template parsing error"
-msgstr "Erro de análise gramatical do modelo"
-
-#: html/Admin/Elements/QueueTabs:72 html/Admin/Elements/SystemTabs:59 html/Admin/Global/index.html:68
-msgid "Templates"
-msgstr "Modelos"
-
-#: NOT FOUND IN SOURCE
-msgid "Templates for %1\\n"
-msgstr "Modelos de %1\\n"
-
-#: lib/RT/CustomField_Overlay.pm:946 lib/RT/Record.pm:962
-msgid "That is already the current value"
-msgstr "Este já é o valor atual"
-
-#: lib/RT/CustomField_Overlay.pm:415
-msgid "That is not a value for this custom field"
-msgstr "Este não é um valor para este campo personalizado"
-
-#: lib/RT/Ticket_Overlay.pm:1996
-msgid "That is the same value"
-msgstr "Este é o mesmo valor"
-
-#: lib/RT/ACE_Overlay.pm:307 lib/RT/ACE_Overlay.pm:616
-msgid "That principal already has that right"
-msgstr "Este usuário/grupo já tem este direito."
-
-#: lib/RT/Queue_Overlay.pm:755
-#. ($args{'Type'})
-msgid "That principal is already a %1 for this queue"
-msgstr "Este usuário/grupo já é um %1 desta fila"
-
-#: lib/RT/Ticket_Overlay.pm:1437
-#. ($self->loc($args{'Type'}))
-msgid "That principal is already a %1 for this ticket"
-msgstr "Este usuário/grupo já é um %1 deste tíquete"
-
-#: lib/RT/Queue_Overlay.pm:854
-#. ($args{'Type'})
-msgid "That principal is not a %1 for this queue"
-msgstr "Este usuário/grupo não é um %1 desta fila"
-
-#: NOT FOUND IN SOURCE
-msgid "That principal is not a %1 for this ticket"
-msgstr "Este principal não é um %1 deste tíquete"
-
-#: lib/RT/Ticket_Overlay.pm:1992
-msgid "That queue does not exist"
-msgstr "Esta fila não existe"
-
-#: lib/RT/Ticket_Overlay.pm:3259
-msgid "That ticket has unresolved dependencies"
-msgstr "Este tíquete tem dependências não resolvidas"
-
-#: NOT FOUND IN SOURCE
-msgid "That user already has that right"
-msgstr "Este usuário já tem este direito de acesso"
-
-#: lib/RT/Action/CreateTickets.pm:712 lib/RT/Ticket_Overlay.pm:3062
-msgid "That user already owns that ticket"
-msgstr "Este usuário já possui este tíquete"
-
-#: lib/RT/Ticket_Overlay.pm:3005
-msgid "That user does not exist"
-msgstr "Este usuário não existe"
-
-#: lib/RT/User_Overlay.pm:391
-msgid "That user is already privileged"
-msgstr "Este usuário já tem privilégios"
-
-#: lib/RT/User_Overlay.pm:412
-msgid "That user is already unprivileged"
-msgstr "Este usuário já não tem privilégios"
-
-#: lib/RT/User_Overlay.pm:404
-msgid "That user is now privileged"
-msgstr "Este usuário agora tem privilégios"
-
-#: lib/RT/User_Overlay.pm:425
-msgid "That user is now unprivileged"
-msgstr "Este usuário agora não tem privilégios"
-
-#: NOT FOUND IN SOURCE
-msgid "That user is now unprivilegedileged"
-msgstr "Este usuário agora é não privilegiado"
-
-#: lib/RT/Ticket_Overlay.pm:3055
-msgid "That user may not own tickets in that queue"
-msgstr "Este usuário não pode possuir tíquetes nesta fila"
-
-#: lib/RT/Link_Overlay.pm:235
-msgid "That's not a numerical id"
-msgstr "Este não é um identificador numérico"
-
-#: html/SelfService/Display.html:55 html/Ticket/Create.html:179 html/Ticket/Elements/ShowSummary:51
-msgid "The Basics"
-msgstr "Sumário"
-
-#: lib/RT/ACE_Overlay.pm:114
-msgid "The CC of a ticket"
-msgstr "O CC de um tíquete"
-
-#: lib/RT/ACE_Overlay.pm:115
-msgid "The administrative CC of a ticket"
-msgstr "O CC administrativo de um tíquete"
-
-#: NOT FOUND IN SOURCE
-msgid "The comment has been recorded"
-msgstr "O comentário foi registrado"
-
-#: 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 "O seguinte comando procurará por todos os tí­quetes ativos na fila 'geral' e alterar sua prioridade para 99 se eles não tiverem sido alterados há 4 horas:"
-
-#: NOT FOUND IN SOURCE
-msgid "The following commands were not proccessed:\\n\\n"
-msgstr "Os seguintes comandos não foram processados:\\n\\n"
-
-#: lib/RT/Record.pm:965
-msgid "The new value has been set."
-msgstr "O novo valor foi atribuído."
-
-#: lib/RT/ACE_Overlay.pm:112
-msgid "The owner of a ticket"
-msgstr "O proprietário de um tíquete"
-
-#: lib/RT/ACE_Overlay.pm:113
-msgid "The requestor of a ticket"
-msgstr "O requisitante de um tíquete"
-
-#: html/Admin/Elements/EditUserComments:49
-msgid "These comments aren't generally visible to the user"
-msgstr "Estes comandos geralmente não estão visíveis para o usuário"
-
-#: lib/RT/CustomField_Overlay.pm:981
-msgid "This custom field does not apply to that object"
-msgstr "Este campo personalizado não se aplica a este objeto"
-
-#: html/Admin/Tools/Configuration.html:52
-msgid "This feature is only available to system administrators"
-msgstr "Esta função só está disponível para administradores do sistema"
-
-#: html/Ticket/Elements/PreviewScrips:98
-msgid "This message will be sent to..."
-msgstr "Esta mensagem será enviada para..."
-
-#: NOT FOUND IN SOURCE
-msgid "This ticket %1 %2 (%3)\\n"
-msgstr "Este tíquete %1 %2 (%3)\\n"
-
-#: bin/rt-crontool:268
-msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr ""
-"Esta ferramenta permite o usuário invocar módulos Perl arbitrários de dentro "
-"do RT."
-
-#: lib/RT/Transaction_Overlay.pm:327
-msgid "This transaction appears to have no content"
-msgstr "Parece que esta transação não tem conteúdo"
-
-#: html/Ticket/Elements/ShowRequestor:72
-#. ($rows)
-msgid "This user's %1 highest priority tickets"
-msgstr "Os %1 tíquetes mais prioritários deste usuário"
-
-#: NOT FOUND IN SOURCE
-msgid "This user's 25 highest priority tickets"
-msgstr "Os 25 tíquetes de mais alta prioridade deste usuário"
-
-#: lib/RT/Date.pm:422
-msgid "Thu."
-msgstr "Qui."
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket"
-msgstr "Tíquete"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket # %1 %2"
-msgstr "Tíquete # %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket # %1 Jumbo update: %2"
-msgstr "Tíquete # %1 atualização jumbo: %2"
-
-#: html/Ticket/ModifyAll.html:48 html/Ticket/ModifyAll.html:52
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket #%1 Jumbo update: %2"
-msgstr "Tíquete #%1 Atualização jumbo: %2"
-
-#: html/Approvals/Elements/ShowDependency:69
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Ticket #%1: %2"
-msgstr "Tíquete #%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 "Tíquete %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 "Tíquete %1 criado na fila '%2'"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket %1 loaded\\n"
-msgstr "Tíquete %1 carregado\\n"
-
-#: html/Search/Bulk.html:379 html/Tools/MyDay.html:103 html/Tools/MyDay.html:94 html/Tools/MyDay.html:97
-#. ($Ticket->Id, $_)
-#. ($id, $msg)
-msgid "Ticket %1: %2"
-msgstr "Tíquete %1: %2"
-
-#: html/Admin/Elements/QueueTabs:76
-msgid "Ticket Custom Fields"
-msgstr "Campos Personalizados do Tíquete"
-
-#: html/Ticket/History.html:48 html/Ticket/History.html:51
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket History # %1 %2"
-msgstr "Histórico do Tíquete # %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Id"
-msgstr "Identificador do tíquete"
-
-#: etc/initialdata:324
-msgid "Ticket Resolved"
-msgstr "Tíquete Resolvido"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:71 html/Admin/Global/CustomFields/index.html:83 lib/RT/CustomField_Overlay.pm:1210
-msgid "Ticket Transactions"
-msgstr "Transações do Tíquete"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket attachment"
-msgstr "Arquivo anexo do tíquete"
-
-#: lib/RT/Tickets_Overlay.pm:2036
-msgid "Ticket content"
-msgstr "Conteúdo do tíquete"
-
-#: lib/RT/Tickets_Overlay.pm:2085
-msgid "Ticket content type"
-msgstr "Tipo do conteúdo do tíquete"
-
-#: 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 "O tíquete não pôde ser criado devido a um erro interno"
-
-#: html/Ticket/Create.html:246
-msgid "Ticket could not be loaded"
-msgstr "Tíquete não pode ser carregado"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket created"
-msgstr "Tíquete criado"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket creation failed"
-msgstr "A criação do tíquete falhou"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket deleted"
-msgstr "Tíquete removido"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket id not found"
-msgstr "Id de tíquete não encontrado"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket killed"
-msgstr "Tíquete destruído"
-
-#: html/Ticket/Display.html:57
-msgid "Ticket metadata"
-msgstr "Metadados do tíquete"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket not found"
-msgstr "Tíquete não encontrado"
-
-#: etc/initialdata:310
-msgid "Ticket status changed"
-msgstr "O estado do tíquete mudou"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket watchers"
-msgstr "Observadores do tíquete"
-
-#: lib/RT/Search/FromSQL.pm:84
-#. (ref $self)
-msgid "TicketSQL search module"
-msgstr "Módulo de busca TiqueteSQL"
-
-#: 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 "Tíquetes"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets %1 %2"
-msgstr "Tíquetes %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets %1 by %2"
-msgstr "Tíquetes %1 por %2"
-
-#: html/Tools/Reports/CreatedByDates.html:88
-msgid "Tickets created after"
-msgstr "Tíquetes criados depois de"
-
-#: html/Tools/Reports/CreatedByDates.html:90
-msgid "Tickets created before"
-msgstr "Tíquetes criados antes de"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets from %1"
-msgstr "Tíquetes de %1"
-
-#: html/Tools/Reports/ResolvedByDates.html:89
-msgid "Tickets resolved after"
-msgstr "Tíquetes resolvidos depois de"
-
-#: html/Tools/Reports/ResolvedByDates.html:91
-msgid "Tickets resolved before"
-msgstr "Tíquetes resolvidos antes de"
-
-#: html/Approvals/Elements/ShowDependency:50
-msgid "Tickets which depend on this approval:"
-msgstr "Tíquetes dependentes desta aprovação:"
-
-#: html/Search/Elements/PickBasics:136 html/Ticket/Create.html:185 html/Ticket/Elements/EditBasics:74
-msgid "Time Estimated"
-msgstr "Tempo Estimado"
-
-#: html/Search/Elements/PickBasics:137 html/Ticket/Create.html:198 html/Ticket/Elements/EditBasics:87 lib/RT/Tickets_Overlay.pm:2007
-msgid "Time Left"
-msgstr "Tempo Restante"
-
-#: html/Search/Elements/PickBasics:135 html/Ticket/Create.html:191 html/Ticket/Elements/EditBasics:80 lib/RT/Tickets_Overlay.pm:1982
-msgid "Time Worked"
-msgstr "Tempo Trabalhado"
-
-#: NOT FOUND IN SOURCE
-msgid "Time left"
-msgstr "Tempo restante"
-
-#: html/Elements/Footer:53
-msgid "Time to display"
-msgstr "Tempo de apresentação"
-
-#: NOT FOUND IN SOURCE
-msgid "Time worked"
-msgstr "Tempo trabalhado"
-
-#: NOT FOUND IN SOURCE
-msgid "TimeLeft"
-msgstr "TempoRestanrte"
-
-#: lib/RT/Ticket_Overlay.pm:1169
-msgid "TimeWorked"
-msgstr "TempoTrabalhado"
-
-#: html/Search/Elements/EditFormat:76
-msgid "Title"
-msgstr "Título"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:"
-msgstr "Para gerar as diferenças desta transação"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:\\n"
-msgstr "Para gerar as diferenças desta transação:\\n"
-
-#: html/Elements/Footer:64
-#. ('<a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>')
-msgid "To inquire about support, training, custom development or licensing, please contact %1."
-msgstr "Para pedir informações sobre suporte, treinamento, desenvolvimento personalizado ou licenciamento, por favor, contacte %1."
-
-#: lib/RT/Ticket_Overlay.pm:1172
-msgid "Told"
-msgstr "Última atualização"
-
-#: 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 "Transação"
-
-#: lib/RT/Transaction_Overlay.pm:826
-#. ($self->Data)
-msgid "Transaction %1 purged"
-msgstr "Transação %1 removida"
-
-#: lib/RT/Transaction_Overlay.pm:185
-msgid "Transaction Created"
-msgstr "Transação Criada"
-
-#: html/Admin/Elements/QueueTabs:80
-msgid "Transaction Custom Fields"
-msgstr "Campos Personalizados da Transação"
-
-#: NOT FOUND IN SOURCE
-msgid "Transaction->Create couldn't, as you didn't specify a ticket id"
-msgstr "Transaction->Create não foi feito, já que você não especificou um id de tíquete"
-
-#: lib/RT/Transaction_Overlay.pm:130
-msgid "Transaction->Create couldn't, as you didn't specify an object type and id"
-msgstr "Transaction->Create não foi feito, já que você não especificou um tipo de objeto e id de tíquete"
-
-#: lib/RT/Transaction_Overlay.pm:891
-msgid "Transactions are immutable"
-msgstr "Transações são imutáveis"
-
-#: NOT FOUND IN SOURCE
-msgid "Trying to delete a right: %1"
-msgstr "Tentando remover um direito de acesso: %1"
-
-#: lib/RT/Date.pm:420
-msgid "Tue."
-msgstr "Ter."
-
-#: 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:1821
-msgid "Type"
-msgstr "Tipo"
-
-#: lib/RT/ScripCondition_Overlay.pm:130
-msgid "Unimplemented"
-msgstr "Não implementado"
-
-#: html/Admin/Users/Modify.html:91
-msgid "Unix login"
-msgstr "Usuário Unix"
-
-#: NOT FOUND IN SOURCE
-msgid "UnixUsername"
-msgstr "NomeUsuárioUnix"
-
-#: lib/RT/Attachment_Overlay.pm:291 lib/RT/Record.pm:863
-#. ($ContentEncoding)
-#. ($self->ContentEncoding)
-msgid "Unknown ContentEncoding %1"
-msgstr "Codificação de conteúdo desconhecida %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Unknown field: $key"
-msgstr "Campo desconhecido: $key"
-
-#: html/Search/Build.html:461 lib/RT/Report/Tickets.pm:412
-#. ($key)
-msgid "Unknown field: %1"
-msgstr "Campo desconhecido: %1"
-
-#: html/Elements/SelectResultsPerPage:60
-msgid "Unlimited"
-msgstr "Ilimitado"
-
-#: html/Search/Elements/SelectSearchesForObjects:66
-msgid "Unnamed search"
-msgstr "Busca sen nome"
-
-#: etc/initialdata:32
-msgid "Unprivileged"
-msgstr "Não privilegiado"
-
-#: html/Admin/Elements/EditCustomFields:62
-msgid "Unselected Custom Fields"
-msgstr "Campos Personalizados não selecionados"
-
-#: html/Admin/CustomFields/Objects.html:63
-msgid "Unselected objects"
-msgstr "Objetos não selecionados"
-
-#: lib/RT/Transaction_Overlay.pm:680
-msgid "Untaken"
-msgstr "Não tomado"
-
-#: html/Admin/Elements/EditScrip:130 html/Elements/RT__Ticket/ColumnMap:304 html/Search/Bulk.html:195 html/Search/Bulk.html:77
-msgid "Update"
-msgstr "Atualizar"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ID"
-msgstr "Identificador de atualização"
-
-#: html/Ticket/Update.html:137
-msgid "Update Ticket"
-msgstr "Atualizar Tíquete"
-
-#: html/Search/Bulk.html:128 html/Ticket/ModifyAll.html:89 html/Ticket/Update.html:74
-msgid "Update Type"
-msgstr "Tipo de atualização"
-
-#: NOT FOUND IN SOURCE
-msgid "Update all these tickets at once"
-msgstr "Atualizar todos estes tíquetes de uma vez"
-
-#: NOT FOUND IN SOURCE
-msgid "Update email"
-msgstr "Atualizar e-mail"
-
-#: html/Search/Bulk.html:202 html/Search/Results.html:80
-msgid "Update multiple tickets"
-msgstr "Atualizar múltiplos tíquetes"
-
-#: NOT FOUND IN SOURCE
-msgid "Update name"
-msgstr "Atualizar nome"
-
-#: lib/RT/Action/CreateTickets.pm:752 lib/RT/Interface/Web.pm:606
-msgid "Update not recorded."
-msgstr "Atualização não registrada."
-
-#: NOT FOUND IN SOURCE
-msgid "Update selected tickets"
-msgstr "Atualizar os tíquetes selecionados"
-
-#: NOT FOUND IN SOURCE
-msgid "Update signature"
-msgstr "Atualizar assinatura"
-
-#: html/Ticket/ModifyAll.html:86
-msgid "Update ticket"
-msgstr "Atualizar o tíquete"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ticket # %1"
-msgstr "Atualizar o tíquete # %1"
-
-#: html/SelfService/Update.html:114 html/SelfService/Update.html:49
-#. ($Ticket->id)
-msgid "Update ticket #%1"
-msgstr "Atualizar o tíquete #%1"
-
-#: html/Ticket/Update.html:160
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Update ticket #%1 (%2)"
-msgstr "Atualizar tíquete #%1 (%2)"
-
-#: lib/RT/Action/CreateTickets.pm:750 lib/RT/Interface/Web.pm:605
-msgid "Update type was neither correspondence nor comment."
-msgstr "O tipo da atualização não foi nem correspondência e nem comentário."
-
-#: html/Elements/SelectDateType:56 html/Ticket/Elements/ShowDates:74 lib/RT/CustomField_Overlay.pm:1287 lib/RT/Ticket_Overlay.pm:1173
-msgid "Updated"
-msgstr "Atualizado"
-
-#: html/Tools/Offline.html:95
-msgid "Upload"
-msgstr "Enviar"
-
-#: lib/RT/CustomField_Overlay.pm:86
-msgid "Upload multiple files"
-msgstr "Enviar múltiplos arquivos"
-
-#: lib/RT/CustomField_Overlay.pm:81
-msgid "Upload multiple images"
-msgstr "Enviar múltiplas imagens"
-
-#: lib/RT/CustomField_Overlay.pm:87
-msgid "Upload one file"
-msgstr "Enviar um arquivo"
-
-#: lib/RT/CustomField_Overlay.pm:82
-msgid "Upload one image"
-msgstr "Enviar uma imagem"
-
-#: lib/RT/CustomField_Overlay.pm:88
-msgid "Upload up to %1 files"
-msgstr "Enviar até %1 arquivos"
-
-#: lib/RT/CustomField_Overlay.pm:83
-msgid "Upload up to %1 images"
-msgstr "Enviar até %1 imagens"
-
-#: html/Tools/Offline.html:95
-msgid "Upload your changes"
-msgstr "Enviar suas alterações"
-
-#: html/Admin/index.html:92
-msgid "Use other RT administrative tools"
-msgstr "Usar outras ferramentas administrativas RT"
-
-#: NOT FOUND IN SOURCE
-msgid "User %1 %2: %3\\n"
-msgstr "Usuário %1 %2: %3\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "User %1 Password: %2\\n"
-msgstr "Usuário %1 Senha: %2\\n"
-
-#: lib/RT/Ticket_Overlay.pm:508
-#. ($args{'Owner'})
-msgid "User '%1' could not be found."
-msgstr "Usuário '%1' não encontrado."
-
-#: NOT FOUND IN SOURCE
-msgid "User '%1' not found"
-msgstr "Usuário '%1' não encontrado"
-
-#: NOT FOUND IN SOURCE
-msgid "User '%1' not found\\n"
-msgstr "Usuário '%1' não encontrado\\n"
-
-#: etc/initialdata:132 etc/initialdata:206
-msgid "User Defined"
-msgstr "Definido pelo Usuário"
-
-#: html/Admin/Elements/EditScrip:95
-msgid "User Defined conditions and actions"
-msgstr "Condições e ações definidas pelo usuário"
-
-#: NOT FOUND IN SOURCE
-msgid "User ID"
-msgstr "Identificador de usuário"
-
-#: NOT FOUND IN SOURCE
-msgid "User Id"
-msgstr "Identificador do usuário"
-
-#: 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 Acesso de Usuário"
-
-#: html/Admin/Users/Modify.html:305
-#. ($msg)
-msgid "User could not be created: %1"
-msgstr "O usuário não pôde ser criado: %1"
-
-#: lib/RT/User_Overlay.pm:332
-msgid "User created"
-msgstr "Usuário 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 "Grupos definidos pelo usuário"
-
-#: lib/RT/User_Overlay.pm:594 lib/RT/User_Overlay.pm:614
-msgid "User loaded"
-msgstr "Usuário carregado"
-
-#: NOT FOUND IN SOURCE
-msgid "User notified"
-msgstr "Usuário notificado"
-
-#: NOT FOUND IN SOURCE
-msgid "User view"
-msgstr "Visualização de usuário"
-
-#: html/Admin/Groups/index.html:105
-msgid "User-defined groups"
-msgstr "Grupos definidos pelo usuário"
-
-#: html/Admin/Users/Modify.html:71 html/Elements/Login:92 html/Ticket/Elements/AddWatchers:58
-msgid "Username"
-msgstr "Nome de usuário"
-
-#: 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 "Usuários"
-
-#: html/Admin/Users/index.html:87
-msgid "Users matching search criteria"
-msgstr "Usuários que satisfazem o critério de busca"
-
-#: bin/rt-crontool:136
-#. ($transaction->id)
-msgid "Using transaction #%1..."
-msgstr "Usando transação #%1"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:530
-msgid "Valid Query"
-msgstr "Consulta Válida"
-
-#: html/Admin/CustomFields/Modify.html:82
-msgid "Validation"
-msgstr "Validação"
-
-#: NOT FOUND IN SOURCE
-msgid "ValueOfQueue"
-msgstr "Valor da fila"
-
-#: html/Admin/CustomFields/Modify.html:132 html/Admin/Elements/EditCustomField:80
-msgid "Values"
-msgstr "Valores"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "Watch"
-msgstr "Observar"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "WatchAsAdminCc"
-msgstr "ObservarcomoAdminCC"
-
-#: NOT FOUND IN SOURCE
-msgid "Watcher loaded"
-msgstr "Observador carregado"
-
-#: html/Admin/Elements/QueueTabs:65
-msgid "Watchers"
-msgstr "Observadores"
-
-#: NOT FOUND IN SOURCE
-msgid "WebEncoding"
-msgstr "Codificação de Web"
-
-#: lib/RT/Date.pm:421
-msgid "Wed."
-msgstr "Qua."
-
-#: html/Tools/MyDay.html:80
-msgid "What I did today"
-msgstr "O que eu fiz hoje"
-
-#: etc/initialdata:521
-msgid "When a ticket has been approved by all approvers, add correspondence to the original ticket"
-msgstr "Quando todas as aprovações de um tí­quete forem concedidas, adicionar uma correspondência ao tí­quete original"
-
-#: etc/initialdata:485
-msgid "When a ticket has been approved by any approver, add correspondence to the original ticket"
-msgstr "Quando uma aprovação for concedida a um tí­quete, adicionar uma correspondência ao tíquete original"
-
-#: etc/initialdata:146
-msgid "When a ticket is created"
-msgstr "Quando um tíquete é criado"
-
-#: etc/initialdata:418
-msgid "When an approval ticket is created, notify the Owner and AdminCc of the item awaiting their approval"
-msgstr "Quando um tíquete de aprovação é criado, notificar o Proprietário e o AdminCc do í­tem aguardando por aprovação"
-
-#: etc/initialdata:151
-msgid "When anything happens"
-msgstr "Quando qualquer coisa acontecer"
-
-#: etc/initialdata:199
-msgid "Whenever a ticket is resolved"
-msgstr "Sempre que um tíquete for resolvido"
-
-#: etc/initialdata:185
-msgid "Whenever a ticket's owner changes"
-msgstr "Sempre que mudar o proprietário de um tíquete"
-
-#: etc/initialdata:178 etc/upgrade/3.1.17/content:16
-msgid "Whenever a ticket's priority changes"
-msgstr "Sempre que a prioridade de um tíquete for mudada"
-
-#: etc/initialdata:193
-msgid "Whenever a ticket's queue changes"
-msgstr "Sempre que um tíquete mudar de fila"
-
-#: etc/initialdata:170
-msgid "Whenever a ticket's status changes"
-msgstr "Sempre que o estado de um tíquete mudar"
-
-#: etc/initialdata:207
-msgid "Whenever a user-defined condition occurs"
-msgstr "Sempre que ocorrer uma condição definida por usuário"
-
-#: etc/initialdata:164
-msgid "Whenever comments come in"
-msgstr "Sempre que um novo comentário é adicionado"
-
-#: etc/initialdata:157
-msgid "Whenever correspondence comes in"
-msgstr "Sempre que uma nova correspondência é adicionada"
-
-#: html/Admin/Users/Modify.html:191 html/User/Prefs.html:90
-msgid "Work"
-msgstr "Trabalho"
-
-#: html/Search/Results.html:84
-msgid "Work offline"
-msgstr "Trabalhar offline"
-
-#: NOT FOUND IN SOURCE
-msgid "WorkPhone"
-msgstr "Telefone de trabalho"
-
-#: html/Ticket/Elements/ShowBasics:65 html/Ticket/Update.html:66 html/Tools/MyDay.html:65
-msgid "Worked"
-msgstr "Trabalhado"
-
-#: lib/RT/Ticket_Overlay.pm:3166
-msgid "You already own this ticket"
-msgstr "Você já é proprietário deste tíquete"
-
-#: html/autohandler:216 html/autohandler:224
-msgid "You are not an authorized user"
-msgstr "Você não é um usuário autorizado"
-
-#: html/Prefs/Search.html:58
-msgid "You can also edit the predefined search itself"
-msgstr "Você também pode editar as buscas pré-definidas"
-
-#: lib/RT/Ticket_Overlay.pm:3048
-msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "Você só pode reatribuir seus próprios tíquetes ou aqueles que não têm dono"
-
-#: lib/RT/Ticket_Overlay.pm:3044
-msgid "You can only take tickets that are unowned"
-msgstr "Você apenas pode pegar tíquetes que não tem dono"
-
-#: NOT FOUND IN SOURCE
-msgid "You don't have permission to view that ticket.\\n"
-msgstr "Você não tem permissão para ver este tíquete.\\n"
-
-#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:778
-#. ($num, $queue)
-msgid "You found %1 tickets in queue %2"
-msgstr "Você encontrou %1 tíquetes na fila %2"
-
-#: html/NoAuth/Logout.html:54
-msgid "You have been logged out of RT."
-msgstr "Você foi desconectado do RT."
-
-#: html/SelfService/Display.html:135
-msgid "You have no permission to create tickets in that queue."
-msgstr "Você não tem permissão para criar tíquetes nesta fila."
-
-#: lib/RT/Ticket_Overlay.pm:2005
-msgid "You may not create requests in that queue."
-msgstr "Você não pode criar requisições nesta fila."
-
-#: html/NoAuth/Logout.html:58
-msgid "You're welcome to login again"
-msgstr "Volte sempre"
-
-#: NOT FOUND IN SOURCE
-msgid "Your %1 requests"
-msgstr "Suas %1 requisições"
-
-#: NOT FOUND IN SOURCE
-msgid "Your RT administrator has misconfigured the mail aliases which invoke RT"
-msgstr ""
-"Seu administrador do RT configurou erradamente os endereços eletrônicos que "
-"invocam o RT"
-
-#: etc/initialdata:502
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr ""
-"Sua requisição foi aprovada por %1. Outras aprovações ainda podem estar "
-"pendentes."
-
-#: etc/initialdata:540
-msgid "Your request has been approved."
-msgstr "Sua requisição foi aprovada."
-
-#: NOT FOUND IN SOURCE
-msgid "Your request was rejected"
-msgstr "Sua requisição foi rejeitada"
-
-#: etc/initialdata:445
-msgid "Your request was rejected."
-msgstr "Sua requisição foi rejeitada."
-
-#: html/autohandler:253
-msgid "Your username or password is incorrect"
-msgstr "Nome de usuário ou senha incorretos"
-
-#: html/Admin/Users/Modify.html:171 html/User/Prefs.html:151
-msgid "Zip"
-msgstr "CEP"
-
-#: NOT FOUND IN SOURCE
-msgid "[no subject]"
-msgstr "[sem assunto]"
-
-#: html/Search/Elements/DisplayOptions:67
-msgid "[none]"
-msgstr "[nenhum]"
-
-#: lib/RT/System.pm:89
-msgid "allow creation of saved searches"
-msgstr "permite a criação de buscas salvas"
-
-#: lib/RT/System.pm:88
-msgid "allow loading of saved searches"
-msgstr "permite a carga de buscas salvas"
-
-#: html/User/Elements/DelegateRights:82
-#. ($right->PrincipalObj->Object->SelfDescription)
-msgid "as granted to %1"
-msgstr "como outorgado a %1"
-
-#: html/Search/Results.html:85
-msgid "chart"
-msgstr "gráfico"
-
-#: html/SelfService/Closed.html:51
-msgid "closed"
-msgstr "fechado"
-
-#: html/Elements/SelectCustomFieldOperator:61 html/Elements/SelectMatch:57
-msgid "contains"
-msgstr "contém"
-
-#: NOT FOUND IN SOURCE
-msgid "content"
-msgstr "conteúdo"
-
-#: NOT FOUND IN SOURCE
-msgid "correspondence (probably) not sent"
-msgstr "correspondência (provavelmente) não enviada"
-
-#: NOT FOUND IN SOURCE
-msgid "correspondence sent"
-msgstr "correspondência enviada"
-
-#: html/Admin/Queues/Modify.html:100 lib/RT/Date.pm:348
-msgid "days"
-msgstr "dias"
-
-#: NOT FOUND IN SOURCE
-msgid "dead"
-msgstr "morto"
-
-#: NOT FOUND IN SOURCE
-msgid "delete"
-msgstr "remover"
-
-#: lib/RT/Queue_Overlay.pm:89
-msgid "deleted"
-msgstr "removido"
-
-#: html/Search/Elements/PickBasics:63
-msgid "does not match"
-msgstr "não satisfaz"
-
-#: 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 "erro: não pode mover para baixo"
-
-#: html/Search/Build.html:575
-msgid "error: can't move left"
-msgstr "erro: não pode mover para a esquerda"
-
-#: html/Search/Build.html:534
-msgid "error: can't move up"
-msgstr "erro: não pode mover para cima"
-
-#: html/Search/Build.html:618
-msgid "error: nothing to delete"
-msgstr "erro: nada para remover"
-
-#: 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 "erro: nada para mover"
-
-#: html/Search/Build.html:636
-msgid "error: nothing to toggle"
-msgstr "erro: nada para alternar"
-
-#: NOT FOUND IN SOURCE
-msgid "false"
-msgstr "falso"
-
-#: NOT FOUND IN SOURCE
-msgid "filename"
-msgstr "nome do arquivo"
-
-#: html/Elements/SelectCustomFieldOperator:61 html/Elements/SelectEqualityOperator:61
-msgid "greater than"
-msgstr "maior 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 "identificador"
-
-#: 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 "menor que"
-
-#: html/Search/Elements/PickBasics:62
-msgid "matches"
-msgstr "satisfazem"
-
-#: lib/RT/Date.pm:340
-msgid "min"
-msgstr ""
-
-#: html/Tools/MyDay.html:65
-msgid "minutes"
-msgstr "minutos"
-
-#: NOT FOUND IN SOURCE
-msgid "modifications\\n\\n"
-msgstr "modificações\\n\\n"
-
-#: 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"
-
-#: NOT FOUND IN SOURCE
-msgid "notlike"
-msgstr "diferente"
-
-#: 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 "grupo pessoal '%1' para o usuário '%2'"
-
-#: lib/RT/Group_Overlay.pm:229
-#. ($queue->Name, $self->Type)
-msgid "queue %1 %2"
-msgstr "fila %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 "seg"
-
-#: lib/RT/System.pm:87
-msgid "show Configuration tab"
-msgstr "mostrar aba de Configuração"
-
-#: html/Search/Results.html:82
-msgid "spreadsheet"
-msgstr "planilha"
-
-#: 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 "Estilo: %1"
-
-#: html/Prefs/MyRT.html:95
-msgid "summary rows"
-msgstr "linhas do sumário"
-
-#: lib/RT/Group_Overlay.pm:224
-#. ($self->Type)
-msgid "system %1"
-msgstr "sistema %1"
-
-#: lib/RT/Group_Overlay.pm:235
-#. ($self->Type)
-msgid "system group '%1'"
-msgstr "grupo do sistema '%1'"
-
-#: html/Elements/Error:66 html/SelfService/Error.html:65
-msgid "the calling component did not specify why"
-msgstr "o componente chamador não especificou por que"
-
-#: lib/RT/Group_Overlay.pm:232
-#. ($self->Instance, $self->Type)
-msgid "ticket #%1 %2"
-msgstr "tíquete #%1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "true"
-msgstr "verdadeiro"
-
-#: lib/RT/Group_Overlay.pm:238
-#. ($self->Id)
-msgid "undescribed group %1"
-msgstr "grupo %1 sem descrição "
-
-#: NOT FOUND IN SOURCE
-msgid "undescripbed group %1"
-msgstr "grupo sem descrição %1"
-
-#: lib/RT/Group_Overlay.pm:213
-#. ($user->Object->Name)
-msgid "user %1"
-msgstr "usuário %1"
-
-#: lib/RT/Date.pm:352
-msgid "weeks"
-msgstr "semanas"
-
-#: NOT FOUND IN SOURCE
-msgid "with template %1"
-msgstr "com modelo %1"
-
-#: lib/RT/Date.pm:360
-msgid "years"
-msgstr "anos"
-
diff --git a/rt/lib/RT/I18N/pt_pt.po b/rt/lib/RT/I18N/pt_pt.po
deleted file mode 100644
index fa32e0e33..000000000
--- a/rt/lib/RT/I18N/pt_pt.po
+++ /dev/null
@@ -1,5194 +0,0 @@
-#
-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@eurotux.com>\n"
-"Language-Team: rt-devel <rt-devel@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@bestpractical.com">sales@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"
-
diff --git a/rt/lib/RT/I18N/zh_cn.po b/rt/lib/RT/I18N/zh_cn.po
deleted file mode 100644
index 23dae6f0b..000000000
--- a/rt/lib/RT/I18N/zh_cn.po
+++ /dev/null
@@ -1,8423 +0,0 @@
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: RT 3.6.x\n"
-"PO-Revision-Date: 2007-12-09 13:05+0800\n"
-"Last-Translator: Audrey Tang <cpan@audreyt.org>\n"
-"Language-Team: rt-devel <rt-devel@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:70
-#. ($self->{CurrentSearch}{Object}->Description)
-msgid " %1 deleted."
-msgstr " 已删除 %1。"
-
-#: html/Widgets/SavedSearch:47
-#. ($self->{CurrentSearch}{Description}, $args->{Description})
-msgid " %1 renamed to %2."
-msgstr " %1 已更名为 %2。"
-
-#: html/Widgets/SavedSearch:60
-#. ($args->{Description})
-msgid " %1 saved."
-msgstr " %1 已储存。"
-
-#: NOT FOUND IN SOURCE
-msgid "#"
-msgstr "#"
-
-#: NOT FOUND IN SOURCE
-msgid "#%1"
-msgstr "#%1"
-
-#: html/Approvals/Elements/Approve:48 html/Approvals/Elements/ShowDependency:71 html/SelfService/Display.html:46 html/Ticket/Display.html:47 html/Ticket/Display.html:51
-#. ($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:105
-msgid "$1"
-msgstr "$1"
-
-#: lib/RT/Record.pm:940
-#. ($label)
-msgid "$prefix %1"
-msgstr "$prefix %1"
-
-#: NOT FOUND IN SOURCE
-msgid "%*(%1,group ticket)"
-msgstr "%*(%1) 件参与的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "%*(%1,ticket) due"
-msgstr "%*(%1) 件限期完成的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "%*(%1,unresolved ticket)"
-msgstr "%*(%1) 件尚未解决的申请单"
-
-#: lib/RT/URI/fsck_com_rt.pm:256
-#. ($self->ObjectType, $self->Object->Id)
-msgid "%1 #%2"
-msgstr "%1 #%2"
-
-#: lib/RT/Date.pm:365
-#. ($s, $time_unit)
-msgid "%1 %2"
-msgstr "%1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 %2 %3"
-msgstr "%1 %2 %3"
-
-#: lib/RT/Date.pm:401
-#. ($self->GetWeekday($wday), $self->GetMonth($mon), map {sprintf "%02d", $_} ($mday, $hour, $min, $sec), ($year+1900))
-msgid "%1 %2 %3 %4:%5:%6 %7"
-msgstr "%7-%2-%3 %4:%5:%6 %1"
-
-#: lib/RT/Record.pm:1685 lib/RT/Transaction_Overlay.pm:647 lib/RT/Transaction_Overlay.pm:690
-#. ($cf->Name, $new_value->Content)
-#. ($field, $self->NewValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 added"
-msgstr "%2 已新增为 %1"
-
-#: lib/RT/Date.pm:362
-#. ($s, $time_unit)
-msgid "%1 %2 ago"
-msgstr "%1 %2 之前"
-
-#: lib/RT/Record.pm:1692 lib/RT/Transaction_Overlay.pm:654
-#. ($cf->Name, $old_content, $new_value->Content)
-#. ($field, $self->OldValue, $self->NewValue)
-msgid "%1 %2 changed to %3"
-msgstr "%1 已从 %2 改为 %3"
-
-#: lib/RT/Record.pm:1689 lib/RT/Transaction_Overlay.pm:650 lib/RT/Transaction_Overlay.pm:696
-#. ($cf->Name, $old_value->Content)
-#. ($field, $self->OldValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 deleted"
-msgstr "%2 已自 %1 删除"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 %2 of group %3"
-msgstr "%3 群组的 %1 %2"
-
-#: html/Admin/Elements/EditScrips:65 html/Admin/Elements/ListGlobalScrips:63 html/Ticket/Elements/PreviewScrips:103
-#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
-msgid "%1 %2 with template %3"
-msgstr "条件:%1 | 动作:%2 | 模板:%3"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 (%2) %3 this ticket\\n"
-msgstr "%1 (%2) %3 这份申请单\\n"
-
-#: html/Ticket/Elements/ShowAttachments:72
-#. ($rev->CreatedAsString, $size, $rev->CreatorObj->Name)
-msgid "%1 (%2) by %3"
-msgstr "%1 (%2) - %3"
-
-#: html/SelfService/Update.html:60 html/Ticket/Elements/EditBasics:108 html/Ticket/Update.html:61 html/Ticket/Update.html:63 html/Tools/MyDay.html:66
-#. (loc($DefaultStatus))
-#. (loc($Ticket->Status()))
-#. (loc($TicketObj->Status))
-#. ($TicketObj->OwnerObj->Name())
-msgid "%1 (Unchanged)"
-msgstr "%1 (未更改)"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 - %2 shown"
-msgstr "显示第 %1 - %2 笔"
-
-#: bin/rt-crontool:237 bin/rt-crontool:244 bin/rt-crontool:250
-#. ("--search-argument", "--search")
-#. ("--condition-argument", "--condition")
-#. ("--action-argument", "--action")
-msgid "%1 - An argument to pass to %2"
-msgstr "%1 - 传递给 %2 的一个参数"
-
-#: bin/rt-crontool:262
-#. ("--verbose")
-msgid "%1 - Output status updates to STDOUT"
-msgstr "%1 - 将更新状态输出到 STDOUT"
-
-#: bin/rt-crontool:253
-#. ("--template-id")
-msgid "%1 - Specify id of the template you want to use"
-msgstr "%1 - 指定欲使用的模板编号"
-
-#: bin/rt-crontool:256
-#. ("--transaction")
-msgid "%1 - Specify if you want to use either 'first' or 'last' tarnsaction"
-msgstr "%1 - 指定欲使用的更动为 'first' (第一项) 或 'last' (最后一项)"
-
-#: bin/rt-crontool:247
-#. ("--action")
-msgid "%1 - Specify the action module you want to use"
-msgstr "%1 - 指定欲使用的动作模块"
-
-#: bin/rt-crontool:241
-#. ("--condition")
-msgid "%1 - Specify the condition module you want to use"
-msgstr "%1 - 指定欲使用的条件模块"
-
-#: bin/rt-crontool:234
-#. ("--search")
-msgid "%1 - Specify the search module you want to use"
-msgstr "%1 - 指定欲使用的查询模块"
-
-#: bin/rt-crontool:259
-#. ("--transaction-type")
-msgid "%1 - Specify the type of a transaction you want to use"
-msgstr "%1 - 指定欲使用的更动类别"
-
-#: html/Elements/Footer:56
-#. ('&#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 "%1 RT %2 版,%4 版权所有,1996-%3。"
-
-#: lib/RT/ScripAction_Overlay.pm:150
-#. ($self->Id)
-msgid "%1 ScripAction loaded"
-msgstr "加载手续 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 Total"
-msgstr "共 %1 笔"
-
-#: lib/RT/Record.pm:1722
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 added as a value for %2"
-msgstr "新增 %1 作为 %2 的值"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on"
-msgstr "别名 %1 需要可用的申请单编号"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on "
-msgstr "别名 %1 需要可用的申请单编号 "
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on (from %2) %3"
-msgstr "别名 %1 需要可用的申请单编号以处理 %3(出自 %2)"
-
-#: lib/RT/Link_Overlay.pm:144 lib/RT/Link_Overlay.pm:151
-#. ($args{'Base'})
-#. ($args{'Target'})
-msgid "%1 appears to be a local object, but can't be found in the database"
-msgstr "%1 看来是个本地对象,却不在数据库里"
-
-#: html/Ticket/Elements/ShowDates:73 lib/RT/Transaction_Overlay.pm:531
-#. ($self->BriefDescription , $self->CreatorObj->Name)
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
-msgid "%1 by %2"
-msgstr "%1 (%2)"
-
-#: lib/RT/Transaction_Overlay.pm:788 lib/RT/Transaction_Overlay.pm:797 lib/RT/Transaction_Overlay.pm:800
-#. ($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 的值从 %2 改为 %3"
-
-#: html/Search/Build.html:213
-#. ($Description)
-msgid "%1 copy"
-msgstr "%1 复制"
-
-#: lib/RT/Record.pm:944
-msgid "%1 could not be set to %2."
-msgstr "无法将 %1 设定为 %2。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 couldn't init a transaction (%2)\\n"
-msgstr "%1 无法初始更新 (%2)\\n"
-
-#: lib/RT/Ticket_Overlay.pm:2787
-#. ($self)
-msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr "%1 无法将现况设成已解决。RT 数据库内容可能不一致。"
-
-#: lib/RT/Transaction_Overlay.pm:571
-#. ($obj_type)
-msgid "%1 created"
-msgstr "已建立 %1"
-
-#: lib/RT/Transaction_Overlay.pm:576
-#. ($obj_type)
-msgid "%1 deleted"
-msgstr "已删除 %1"
-
-#: etc/initialdata:593
-msgid "%1 highest priority tickets I own"
-msgstr "前 %1 份待处理申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I own..."
-msgstr "前 %1 份待处理申请单..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I requested..."
-msgstr "前 %1 份送出的申请单..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets pending my approval..."
-msgstr "前 %1 份待签核申请单..."
-
-#: bin/rt-crontool:229
-#. ($0)
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1 是从外部排程程序(如 cron)来对申请单进行操作的工具。"
-
-#: lib/RT/Queue_Overlay.pm:863
-#. ($principal->Object->Name, $args{'Type'})
-msgid "%1 is no longer a %2 for this queue."
-msgstr "%1 已不再是此表单的 %2。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 is no longer a %2 for this ticket."
-msgstr "%1 已不再是此申请单的 %2。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 is no longer a value for custom field %2"
-msgstr "%1 已不再是自订字段 %2 的值。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 isn't a valid Queue id."
-msgstr "%1 不是一个合法的表单编号。"
-
-#: html/Ticket/Elements/ShowTime:47 html/Ticket/Elements/ShowTime:49
-#. ($minutes)
-msgid "%1 min"
-msgstr "%1 分钟"
-
-#: etc/initialdata:601
-msgid "%1 newest unowned tickets"
-msgstr "前 %1 份待认领的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 not shown"
-msgstr "没有显示 %1"
-
-#: lib/RT/CustomField_Overlay.pm:893
-msgid "%1 objects"
-msgstr "%1 对象"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 recent tickets I own..."
-msgstr "最新 %1 份待处理申请单..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 recent tickets I requested..."
-msgstr "最新 %1 份送出的申请单..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 result(s) found"
-msgstr "找到 %1 项结果"
-
-#: html/User/Elements/DelegateRights:97
-#. (loc($ObjectType =~ /^RT::(.*)$/))
-msgid "%1 rights"
-msgstr "%1权限"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 succeeded\\n"
-msgstr "%1 完成\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 type unknown for $MessageId"
-msgstr "不知道 $MessageID 的 %1 类别"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 type unknown for %2"
-msgstr "不知道 %2 的 %1 类别"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 was created without a CurrentUser\\n"
-msgstr "%1 新增时未指定现行使用者"
-
-#: lib/RT/Action/ResolveMembers.pm:63
-#. (ref $self)
-msgid "%1 will resolve all members of a resolved group ticket."
-msgstr "%1 会解决在已解决群组里成员的申请单。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 will stall a [local] BASE if it's dependent [or member] of a linked up request."
-msgstr "如果 %1 起始申请单依赖于某个链接,或是某个链接的成员,它将会被延宕。"
-
-#: lib/RT/CustomField_Overlay.pm:894
-msgid "%1's %2 objects"
-msgstr "%1 内的 %2 对象"
-
-#: lib/RT/CustomField_Overlay.pm:895
-msgid "%1's %2's %3 objects"
-msgstr "%1 内的 %2 的 %3 对象"
-
-#: html/Search/Elements/SearchPrivacy:52 html/Search/Elements/SelectSearchObject:55 html/Search/Elements/SelectSearchesForObjects:57
-#. ($object->Name)
-#. ($Object->Name)
-msgid "%1's saved searches"
-msgstr "%1 的预存查询"
-
-#: lib/RT/Transaction_Overlay.pm:481
-#. ($self)
-msgid "%1: no attachment specified"
-msgstr "%1:未指定附件"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:78
-#. ($size)
-msgid "%1b"
-msgstr "%1 字节"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:75
-#. (int( $size / 102.4 ) / 10)
-msgid "%1k"
-msgstr "%1k 字节"
-
-#: html/Ticket/Elements/ShowTime:49
-#. (sprintf("%.1f",$minutes / 60))
-msgid "%quant(%1,hour)"
-msgstr "%1 小时"
-
-#: NOT FOUND IN SOURCE
-msgid "%quant(%1,result) found"
-msgstr "找到 %1 项结果"
-
-#: lib/RT/Ticket_Overlay.pm:1142
-#. ($args{'Status'})
-msgid "'%1' is an invalid value for status"
-msgstr "'%1' 不是一个合法的状态值"
-
-#: NOT FOUND IN SOURCE
-msgid "'%1' not a recognized action. "
-msgstr "'%1'为无法辨识的动作。 "
-
-#: NOT FOUND IN SOURCE
-msgid "(Check box to delete group member)"
-msgstr "(点选欲删除的成员)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Check box to delete scrip)"
-msgstr "(点选欲删除的手续)"
-
-#: html/Admin/Elements/EditCustomFieldValues:50 html/Admin/Elements/EditQueueWatchers:50 html/Admin/Elements/EditScrips:56 html/Admin/Elements/EditTemplates:57 html/Admin/Groups/Members.html:73 html/Elements/EditLinks:54 html/Ticket/Elements/EditPeople:67 html/User/Groups/Members.html:76
-msgid "(Check box to delete)"
-msgstr "(点选欲删除的项目)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Check boxes to delete)"
-msgstr "(点选欲删除的项目)"
-
-#: html/Ticket/Elements/PreviewScrips:99
-msgid "(Check boxes to disable notifications to the listed recipients)"
-msgstr "(点选欲停用通知的收件人)"
-
-#: html/Ticket/Elements/PreviewScrips:123
-msgid "(Check boxes to enable notifications to the listed recipients)"
-msgstr "(点选欲启用通知的收件人)"
-
-#: html/Ticket/Create.html:218
-msgid "(Enter ticket ids or URLs, separated with spaces)"
-msgstr "(键入申请单编号或网址,以空白分隔)"
-
-#: html/Admin/Queues/Modify.html:75 html/Admin/Queues/Modify.html:81
-#. ($RT::CorrespondAddress)
-#. ($RT::CommentAddress)
-msgid "(If left blank, will default to %1)"
-msgstr "(如果留白, 则预设为 %1)"
-
-#: NOT FOUND IN SOURCE
-msgid "(No Value)"
-msgstr "(没有值)"
-
-#: html/Admin/Elements/EditCustomFields:74 html/Admin/Elements/ListGlobalCustomFields:53
-msgid "(No custom fields)"
-msgstr "(没有自订字段)"
-
-#: html/Admin/Groups/Members.html:71 html/User/Groups/Members.html:74
-msgid "(No members)"
-msgstr "(没有成员)"
-
-#: html/Admin/Elements/EditScrips:53 html/Admin/Elements/ListGlobalScrips:48
-msgid "(No scrips)"
-msgstr "(没有手续)"
-
-#: html/Admin/Elements/EditTemplates:52
-msgid "(No templates)"
-msgstr "没有模板"
-
-#: NOT FOUND IN SOURCE
-msgid "(No workflows)"
-msgstr "没有流程"
-
-#: html/Admin/Elements/PickCustomFields:47 html/Admin/Elements/PickObjects:47
-msgid "(None)"
-msgstr "(无)"
-
-#: 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 "(送出本份更新的密件副本给名单上以逗号隔开的电子邮件地址。这<b>不会</b>更改后续的收件者名单。)"
-
-#: 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 "(送出本份更新的密件副本给名单上以逗号隔开的电子邮件地址。这<b>不会</b>更改后续的收件者名单。)"
-
-#: html/Ticket/Update.html:90
-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 "(送出本份更新的密件副本给名单上以逗号隔开的电子邮件地址。这<strong>不会</strong>更改后续的收件者名单。)"
-
-#: 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 "(送出本份更新的副本给名单上以逗号隔开的管理员电子邮件地址。这<b>将会</b>更改后续的收件者名单。)"
-
-#: html/Ticket/Create.html:103
-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 "(送出本份更新的副本给名单上以逗号隔开的管理员电子邮件地址。这<strong>将会</strong>更改后续的收件者名单。)"
-
-#: 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 "(送出本份更新的副本给名单上以逗号隔开的电子邮件地址。这<b>不会</b>更改后续的收件者名单。)"
-
-#: 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 "(送出本份更新的副本给名单上以逗号隔开的电子邮件地址。这<b>不会</b>更改后续的收件者名单。)"
-
-#: html/Ticket/Update.html:86
-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 "(送出本份更新的副本给名单上以逗号隔开的电子邮件地址。这<strong>不会</strong>更改后续的收件者名单。)"
-
-#: 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 "(送出本份更新的副本给名单上以逗号隔开的电子邮件地址。这<b>将会</b>更改后续的收件者名单。)"
-
-#: html/Ticket/Create.html:93
-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 "(送出本份更新的副本给名单上以逗号隔开的电子邮件地址。这<strong>将会</strong>更改后续的收件者名单。)"
-
-#: html/Admin/Elements/EditScrip:96
-msgid "(Use these fields when you choose 'User Defined' for a condition or action)"
-msgstr "(当条件或动作设为‘使用者自订’时,请填入这些字段)"
-
-#: html/Ticket/Elements/EditWatchers:60 html/Ticket/Elements/ShowUserEntry:53
-msgid "(Will not be sent email)"
-msgstr "(不会收到邮件)"
-
-#: NOT FOUND IN SOURCE
-msgid "(default delegate)"
-msgstr "(预设代理人)"
-
-#: NOT FOUND IN SOURCE
-msgid "(delete)"
-msgstr "(删除)"
-
-#: html/Admin/Groups/index.html:57 html/User/Groups/index.html:54
-msgid "(empty)"
-msgstr "(空白)"
-
-#: NOT FOUND IN SOURCE
-msgid "(new)"
-msgstr "(新增)"
-
-#: html/Admin/Users/index.html:60
-msgid "(no name listed)"
-msgstr "(没有列出姓名)"
-
-#: NOT FOUND IN SOURCE
-msgid "(no subject)"
-msgstr "(没有主题)"
-
-#: html/Admin/Elements/SelectRights:72 html/Elements/EditCustomFieldSelect:69 html/Elements/SelectCustomFieldValue:51 html/Elements/ShowCustomFields:54 html/Search/Chart:56 html/Search/Elements/Chart:76 lib/RT/Transaction_Overlay.pm:591
-msgid "(no value)"
-msgstr "(无)"
-
-#: html/Admin/Elements/EditCustomFieldValues:47
-msgid "(no values)"
-msgstr "(没有值)"
-
-#: html/Elements/EditLinks:132 html/Ticket/Elements/BulkLinks:49
-msgid "(only one ticket)"
-msgstr "(仅能指定一份申请单)"
-
-#: html/Elements/RT__Ticket/ColumnMap:149
-msgid "(pending approval)"
-msgstr "(等待签核)"
-
-#: html/Elements/RT__Ticket/ColumnMap:152
-msgid "(pending other Collection)"
-msgstr "(等待其它集合)"
-
-#: NOT FOUND IN SOURCE
-msgid "(pending other tickets)"
-msgstr "(等待其它申请单)"
-
-#: NOT FOUND IN SOURCE
-msgid "(requestor's group)"
-msgstr "(申请人所属)"
-
-#: html/Admin/Users/Modify.html:71
-msgid "(required)"
-msgstr "(必填)"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "(untitled)"
-msgstr "(未命名)"
-
-#: html/Ticket/Elements/Reminders:133
-msgid "(yyyy/mm/dd)"
-msgstr "(yyyy/mm/dd)"
-
-#: NOT FOUND IN SOURCE
-msgid "*"
-msgstr "★"
-
-#: html/Elements/EditCustomFieldSelect:57
-msgid "-"
-msgstr "-"
-
-#: bin/rt-crontool:95
-msgid "--transaction argument could be only 'first' or 'last'"
-msgstr "--transaction 的值仅能为 'first' 或 'last'"
-
-#: NOT FOUND IN SOURCE
-msgid ":"
-msgstr ":"
-
-#: html/Ticket/Elements/ShowBasics:53
-msgid "<% $Ticket->Status%>"
-msgstr "<% $Ticket->Status%>"
-
-#: html/Elements/SelectTicketTypes:48
-msgid "<% $_ %>"
-msgstr "<% $_ %>"
-
-#: html/Search/Elements/SelectLinks:48
-msgid "<%$_%>"
-msgstr "<%$_%>"
-
-#: html/Search/Elements/DisplayOptions:73
-msgid "<%$field%>"
-msgstr "<%$field%>"
-
-#: html/Elements/CreateTicket:47
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" class=\"button\" value=\"New ticket in\" />&nbsp;%1"
-msgstr "<input type=\"submit\" class=\"button\" value=\"提出申请单\" />&nbsp;%1"
-
-#: docs/design_docs/string-extraction-guide.txt:54 lib/RT/StyleGuide.pod:787
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
-msgstr "<input type=\"submit\" value=\"提出申请单\">&nbsp;%1"
-
-#: etc/initialdata:218
-msgid "A blank template"
-msgstr "空白模板"
-
-#: html/Admin/Users/Modify.html:371
-msgid "A password was not set, so user won't be able to login."
-msgstr "口令没有设定,因此该使用者将无法登入。"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE Deleted"
-msgstr "ACE 已删除"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE Loaded"
-msgstr "ACE 已加载"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE could not be deleted"
-msgstr "无法删除 ACE"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE could not be found"
-msgstr "找不到 ACE"
-
-#: lib/RT/ACE_Overlay.pm:174 lib/RT/Principal_Overlay.pm:219
-msgid "ACE not found"
-msgstr "找不到 ACE 设定"
-
-#: lib/RT/ACE_Overlay.pm:853
-msgid "ACEs can only be created and deleted."
-msgstr "祇能新增或删除 ACE 设定。"
-
-#: NOT FOUND IN SOURCE
-msgid "ACLEquivalence"
-msgstr "ACLEquivalence"
-
-#: html/Search/Elements/SelectAndOr:46
-msgid "AND"
-msgstr "AND"
-
-#: NOT FOUND IN SOURCE
-msgid "Aborting to avoid unintended ticket modifications.\\n"
-msgstr "离开以免不小心更改到申请单。\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "About Me"
-msgstr "个人信息"
-
-#: html/User/Elements/Tabs:53
-msgid "About me"
-msgstr "个人信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Access Right"
-msgstr "系统使用登录权限"
-
-#: html/Admin/Users/Modify.html:106
-msgid "Access control"
-msgstr "存取权限"
-
-#: html/Admin/Elements/EditScrip:65
-msgid "Action"
-msgstr "动作"
-
-#: lib/RT/Scrip_Overlay.pm:172
-#. ($args{'ScripAction'})
-msgid "Action %1 not found"
-msgstr "动作 %1 找不到"
-
-#: NOT FOUND IN SOURCE
-msgid "Action committed."
-msgstr "动作执行完毕"
-
-#: bin/rt-crontool:171
-msgid "Action committed.\\n"
-msgstr "动作执行完毕。\\n"
-
-#: lib/RT/Scrip_Overlay.pm:168
-msgid "Action is mandatory argument"
-msgstr "动作为必填字段"
-
-#: bin/rt-crontool:167
-msgid "Action prepared..."
-msgstr "动作准备完毕..."
-
-#: NOT FOUND IN SOURCE
-msgid "Activated Date"
-msgstr "申请激活时间"
-
-#: html/Search/Build.html:85
-msgid "Add"
-msgstr "新增"
-
-#: html/Search/Bulk.html:92
-msgid "Add AdminCc"
-msgstr "新增管理员副本收件人"
-
-#: html/Search/Bulk.html:88
-msgid "Add Cc"
-msgstr "新增副本收件人"
-
-#: html/Search/Elements/EditFormat:49
-msgid "Add Columns"
-msgstr "新增字段"
-
-#: html/Search/Elements/PickCriteria:46
-msgid "Add Criteria"
-msgstr "新增条件"
-
-#: NOT FOUND IN SOURCE
-msgid "Add Entry"
-msgstr "新增列"
-
-#: html/Ticket/Create.html:147 html/Ticket/Update.html:116
-msgid "Add More Files"
-msgstr "新增更多附件"
-
-#: NOT FOUND IN SOURCE
-msgid "Add Next State"
-msgstr "新增下一项关卡"
-
-#: html/Search/Bulk.html:84
-msgid "Add Requestor"
-msgstr "新增申请人"
-
-#: html/Admin/Elements/AddCustomFieldValue:46
-msgid "Add Value"
-msgstr "新增字段值"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a Scrip to this queue"
-msgstr "新增此表单的手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a Scrip which will apply to all queues"
-msgstr "新增适用于所有表单的手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a keyword selection to this queue"
-msgstr "新增此表单的关键词"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a new a global scrip"
-msgstr "新增全域手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a scrip to this queue"
-msgstr "新增一道手续到此表单"
-
-#: html/Admin/Global/Scrip.html:83
-msgid "Add a scrip which will apply to all queues"
-msgstr "新增一道用于所有表单的手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Add additional criteria"
-msgstr "新增查询条件"
-
-#: html/Search/Build.html:109 html/Search/Build.html:94
-msgid "Add and Search"
-msgstr "新增并开始查询"
-
-#: html/Search/Bulk.html:124
-msgid "Add comments or replies to selected tickets"
-msgstr "新增评论或回复到指定的申请单"
-
-#: html/Admin/Groups/Members.html:63 html/User/Groups/Members.html:60
-msgid "Add members"
-msgstr "新增成员"
-
-#: html/Admin/Queues/People.html:87 html/Ticket/Elements/AddWatchers:49
-msgid "Add new watchers"
-msgstr "新增视察员"
-
-#: html/Search/Build.html:85
-msgid "Add these terms to your search"
-msgstr "将这些条件加进查询内"
-
-#: html/Search/Bulk.html:158
-msgid "Add values"
-msgstr "新增值"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "Add, delete and modify custom field values for objects"
-msgstr "新增、删除及修改对象的自订字段值"
-
-#: NOT FOUND IN SOURCE
-msgid "AddNextState"
-msgstr "新增下一项关卡"
-
-#: lib/RT/Queue_Overlay.pm:763
-#. ($args{'Type'})
-msgid "Added principal as a %1 for this queue"
-msgstr "单位已新增为此表单的 %1"
-
-#: lib/RT/Ticket_Overlay.pm:1455
-#. ($self->loc($args{'Type'}))
-msgid "Added principal as a %1 for this ticket"
-msgstr "单位已新增为此申请单的 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Additional Hints"
-msgstr "额外提示"
-
-#: html/Admin/Users/Modify.html:146 html/User/Prefs.html:133
-msgid "Address1"
-msgstr "住址"
-
-#: html/Admin/Users/Modify.html:151 html/User/Prefs.html:137
-msgid "Address2"
-msgstr "住址(续)"
-
-#: NOT FOUND IN SOURCE
-msgid "Adjust Blinking Rate"
-msgstr "调整闪烁速度快慢"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin"
-msgstr "管理员"
-
-#: html/Ticket/Create.html:98
-msgid "Admin Cc"
-msgstr "管理员副本"
-
-#: etc/initialdata:295
-msgid "Admin Comment"
-msgstr "管理员评论"
-
-#: etc/initialdata:274
-msgid "Admin Correspondence"
-msgstr "管理员回复"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin Rights"
-msgstr "管理员权限"
-
-#: html/Admin/Queues/index.html:46 html/Admin/Queues/index.html:49
-msgid "Admin queues"
-msgstr "表单管理"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin users"
-msgstr "使用者管理"
-
-#: html/Admin/Global/index.html:47 html/Admin/Global/index.html:49
-msgid "Admin/Global configuration"
-msgstr "管理/全域设定"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Groups"
-msgstr "管理/群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Queue/Basics"
-msgstr "管理/表单/基本信息"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminAddress"
-msgstr "管理员 Email"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminAllPersonalGroups"
-msgstr "管理所有代理人群组"
-
-#: etc/initialdata:56 html/Ticket/Elements/ShowPeople:60 lib/RT/ACE_Overlay.pm:113
-msgid "AdminCc"
-msgstr "管理员副本"
-
-msgid "AdminCc.EmailAddress"
-msgstr "管理员副本: 电子邮件信箱"
-
-msgid "Cc.EmailAddress"
-msgstr "副本: 电子邮件信箱"
-
-msgid "Requestor.EmailAddress"
-msgstr "申请人: 电子邮件信箱"
-
-msgid "Custom.Ownership"
-msgstr "自订: 承办状态"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminComment"
-msgstr "管理员评论"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminCorrespondence"
-msgstr "管理员回复"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "AdminCustomField"
-msgstr "管理自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminCustomFields"
-msgstr "管理自订字段"
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "AdminGroup"
-msgstr "管理群组"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminGroupDescription"
-msgstr "管理群组描述"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "AdminGroupMembership"
-msgstr "管理群组成员"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminGroupName"
-msgstr "管理群组名称"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminGroupPermission"
-msgstr "管理群组权限"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminGroupStatus"
-msgstr "管理群组状态"
-
-#: lib/RT/System.pm:80
-msgid "AdminOwnPersonalGroups"
-msgstr "管理代理人群组"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "AdminQueue"
-msgstr "管理表单"
-
-#: lib/RT/System.pm:81
-msgid "AdminUsers"
-msgstr "管理使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Administrative"
-msgstr "行政类"
-
-#: html/Admin/Queues/People.html:69 html/Ticket/Elements/EditPeople:75
-msgid "Administrative Cc"
-msgstr "管理员副本"
-
-#: NOT FOUND IN SOURCE
-msgid "Admins"
-msgstr "主管"
-
-#: html/Ticket/Elements/Tabs:216
-msgid "Advanced"
-msgstr "进阶"
-
-#: NOT FOUND IN SOURCE
-msgid "Advanced Search"
-msgstr "进阶查询"
-
-#: NOT FOUND IN SOURCE
-msgid "Advanced Search Criteria"
-msgstr "进阶查询条件"
-
-#: html/Elements/SelectDateRelation:57
-msgid "After"
-msgstr "晚于"
-
-#: NOT FOUND IN SOURCE
-msgid "Age"
-msgstr "经历时间"
-
-#: html/Search/Elements/PickCriteria:52
-msgid "Aggregator"
-msgstr "结合方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Alias"
-msgstr "执行其它流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Alias for"
-msgstr "相当于"
-
-#: NOT FOUND IN SOURCE
-msgid "All"
-msgstr "全部"
-
-#: etc/initialdata:363
-msgid "All Approvals Passed"
-msgstr "完成全部签核"
-
-#: NOT FOUND IN SOURCE
-msgid "All Condition"
-msgstr "所有条件"
-
-#: NOT FOUND IN SOURCE
-msgid "All Custom Fields"
-msgstr "所有自订字段"
-
-#: html/Admin/Queues/index.html:75
-msgid "All Queues"
-msgstr "所有表单"
-
-#: NOT FOUND IN SOURCE
-msgid "All Users"
-msgstr "全体员工"
-
-#: NOT FOUND IN SOURCE
-msgid "All done! Now you can proceed to %1."
-msgstr "处理完毕!您现在可以继续进行 %1。"
-
-#: NOT FOUND IN SOURCE
-msgid "Allowance Request"
-msgstr "福利补助申请"
-
-#: NOT FOUND IN SOURCE
-msgid "Always sends a message to the requestors independent of message sender"
-msgstr "无论寄件来源为何,一律寄信给申请人"
-
-#: NOT FOUND IN SOURCE
-msgid "Amount"
-msgstr "数额"
-
-#: html/Search/Elements/EditQuery:56
-msgid "And/Or"
-msgstr "AND/OR"
-
-#: NOT FOUND IN SOURCE
-msgid "Any Condition"
-msgstr "任意条件"
-
-#: NOT FOUND IN SOURCE
-msgid "Applies To"
-msgstr "套用于"
-
-#: html/Admin/CustomFields/Modify.html:73 html/Admin/Elements/CustomFieldTabs:83
-msgid "Applies to"
-msgstr "套用于"
-
-#: html/Search/Edit.html:64
-msgid "Apply"
-msgstr "套用"
-
-#: NOT FOUND IN SOURCE
-msgid "Apply Template"
-msgstr "引用模板"
-
-#: html/Search/Edit.html:64
-msgid "Apply your changes"
-msgstr "套用更动"
-
-#: html/Elements/Tabs:77
-msgid "Approval"
-msgstr "签核"
-
-#: html/Approvals/Display.html:65 html/Approvals/Elements/ShowDependency:63 html/Approvals/index.html:86
-#. ($Ticket->Id, $Ticket->Subject)
-#. ($ticket->id, $msg)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Approval #%1: %2"
-msgstr "签核单 #%1:%2"
-
-#: html/Approvals/index.html:75
-#. ($ticket->Id)
-msgid "Approval #%1: Notes not recorded due to a system error"
-msgstr "签核单 #%1:系统错误,记录失败"
-
-#: html/Approvals/index.html:73
-#. ($ticket->Id)
-msgid "Approval #%1: Notes recorded"
-msgstr "签核单 #%1:记录完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Details"
-msgstr "签核细节"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Due"
-msgstr "签核时限"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Notes"
-msgstr "签核意见"
-
-#: etc/initialdata:351
-msgid "Approval Passed"
-msgstr "完成某项签核"
-
-#: etc/initialdata:374
-msgid "Approval Rejected"
-msgstr "驳回某项签核"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Result"
-msgstr "签核结果"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Status"
-msgstr "核准结果"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Type"
-msgstr "签核种类"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval diagram"
-msgstr "签核流程"
-
-#: html/Approvals/Elements/Approve:69
-msgid "Approve"
-msgstr "核准"
-
-#: NOT FOUND IN SOURCE
-msgid "Approver"
-msgstr "签核人"
-
-#: NOT FOUND IN SOURCE
-msgid "Approver Setting"
-msgstr "执行签核人设定"
-
-#: etc/initialdata:504
-msgid "Approver's notes: %1"
-msgstr "签核备注:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Apr"
-msgstr "四月"
-
-#: lib/RT/Date.pm:444
-msgid "Apr."
-msgstr "04"
-
-#: NOT FOUND IN SOURCE
-msgid "April"
-msgstr "四月"
-
-#: NOT FOUND IN SOURCE
-msgid "Are you sure to delete checked items?"
-msgstr "您确定要删除?"
-
-#: html/Search/Elements/DisplayOptions:81
-msgid "Asc"
-msgstr "递增"
-
-#: html/Elements/SelectSortOrder:56
-msgid "Ascending"
-msgstr "递增"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "Assign and remove custom fields"
-msgstr "指派及移除自订字段"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "AssignCustomFields"
-msgstr "指派自订字段"
-
-#: html/Search/Bulk.html:142 html/SelfService/Update.html:87 html/Ticket/ModifyAll.html:115 html/Ticket/Update.html:116
-msgid "Attach"
-msgstr "附件"
-
-#: html/SelfService/Create.html:92 html/Ticket/Create.html:143
-msgid "Attach file"
-msgstr "附加档案"
-
-#: html/SelfService/Update.html:75 html/Ticket/Create.html:131 html/Ticket/Update.html:94
-msgid "Attached file"
-msgstr "现有附件"
-
-#: html/Ticket/ShowEmailRecord.html:52 html/Ticket/ShowEmailRecord.html:56 html/Ticket/ShowEmailRecord.html:59
-#. ($Attachment)
-msgid "Attachment '%1' could not be loaded"
-msgstr "无法加载附件 '%1'"
-
-#: lib/RT/Transaction_Overlay.pm:489
-msgid "Attachment created"
-msgstr "附件新增完毕"
-
-#: lib/RT/Tickets_Overlay.pm:1945
-msgid "Attachment filename"
-msgstr "附件档名"
-
-#: html/Ticket/Elements/ShowAttachments:47
-msgid "Attachments"
-msgstr "附件"
-
-#: lib/RT/Attributes_Overlay.pm:171
-msgid "Attribute Deleted"
-msgstr "已删除该属性"
-
-#: NOT FOUND IN SOURCE
-msgid "Attributes"
-msgstr "属性"
-
-#: NOT FOUND IN SOURCE
-msgid "Aug"
-msgstr "八月"
-
-#: lib/RT/Date.pm:448
-msgid "Aug."
-msgstr "08"
-
-#: NOT FOUND IN SOURCE
-msgid "August"
-msgstr "八月"
-
-#: NOT FOUND IN SOURCE
-msgid "AuthSystem"
-msgstr "认证方式"
-
-#: NOT FOUND IN SOURCE
-msgid "AutoReject"
-msgstr "自动驳回表单"
-
-#: NOT FOUND IN SOURCE
-msgid "AutoResolve"
-msgstr "自动完成表单处理"
-
-#: etc/initialdata:221
-msgid "Autoreply"
-msgstr "自动回复"
-
-#: etc/initialdata:72
-msgid "Autoreply To Requestors"
-msgstr "自动对申请人回复"
-
-#: NOT FOUND IN SOURCE
-msgid "AutoreplyToRequestors"
-msgstr "自动对申请人回复"
-
-#: html/Widgets/SelectionBox:185
-msgid "Available"
-msgstr "可用"
-
-#: NOT FOUND IN SOURCE
-msgid "Available Columns"
-msgstr "可用的字段:"
-
-#: NOT FOUND IN SOURCE
-msgid "Available Rights:"
-msgstr "权限项目列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Back to Homepage"
-msgstr "回到首页"
-
-#: NOT FOUND IN SOURCE
-msgid "Back to Previous"
-msgstr "回上页"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad PGP Signature: %1\\n"
-msgstr "错误的 PGP 签章:%1\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad attachment id. Couldn't find attachment '%1'\\n"
-msgstr "错误的附件编号。无法找到附件 '%1'\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad data in %1"
-msgstr "%1 的数据错误"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad transaction number for attachment. %1 should be %2\\n"
-msgstr "附件的处理号码错误。%1 应为 %2\\n"
-
-#: html/Admin/Elements/CustomFieldTabs:65 html/Admin/Elements/GroupTabs:60 html/Admin/Elements/QueueTabs:60 html/Admin/Elements/UserTabs:58 html/Ticket/Elements/Tabs:113 html/User/Elements/GroupTabs:59
-msgid "Basics"
-msgstr "基本信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Batch Approval"
-msgstr "批次签核"
-
-#: html/Ticket/Update.html:88
-msgid "Bcc"
-msgstr "密件副本"
-
-#: html/Admin/CustomFields/GroupRights.html:91 html/Admin/CustomFields/UserRights.html:74 html/Admin/Elements/EditScrip:89
-msgid "Be sure to save your changes"
-msgstr "请别忘了储存修改。"
-
-#: html/Elements/SelectDateRelation:55 lib/RT/CurrentUser.pm:361
-msgid "Before"
-msgstr "早于"
-
-#: NOT FOUND IN SOURCE
-msgid "Begin Approval"
-msgstr "开始签核"
-
-#: NOT FOUND IN SOURCE
-msgid "Begin From "
-msgstr "起始日"
-
-#: html/Elements/Logo:47
-msgid "Best Practical Solutions, LLC corporate logo"
-msgstr "Best Practical Solutions, LLC 公司识别图案"
-
-#: NOT FOUND IN SOURCE
-msgid "Binary"
-msgstr "档案"
-
-#: NOT FOUND IN SOURCE
-msgid "Birthday"
-msgstr "生日"
-
-#: etc/initialdata:217
-msgid "Blank"
-msgstr "空白模板"
-
-#: html/Search/Elements/EditFormat:84
-msgid "Bold"
-msgstr "粗体"
-
-#: NOT FOUND IN SOURCE
-msgid "Bookmarkable URL for this search"
-msgstr "将查询结果转为可放入书签的网址"
-
-#: html/Search/Results.html:79
-msgid "Bookmarkable link"
-msgstr "可放入书签的网址"
-
-#: html/Ticket/Elements/ShowHistory:64 html/Ticket/Elements/ShowHistory:69
-msgid "Brief headers"
-msgstr "精简标头档"
-
-#: html/Ticket/Elements/Tabs:227
-msgid "Bulk Update"
-msgstr "整批更新"
-
-#: NOT FOUND IN SOURCE
-msgid "Bulk ticket update"
-msgstr "整批更新申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Business Unit"
-msgstr "事业部"
-
-#: NOT FOUND IN SOURCE
-msgid "Business Unit:"
-msgstr "事业部:"
-
-#: lib/RT/User_Overlay.pm:1853
-msgid "Can not modify system users"
-msgstr "无法更改系统使用者"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "Can this principal see this queue"
-msgstr "该单位是否能查阅此表单"
-
-#: lib/RT/CustomField_Overlay.pm:379
-msgid "Can't add a custom field value without a name"
-msgstr "不能新增没有名称的自订字段值"
-
-#: html/Admin/CustomFields/Objects.html:86
-#. ($Class)
-msgid "Can't find a collection class for '%1'"
-msgstr "找不到‘%1’的集合类别"
-
-#: html/Search/Build.html:286
-msgid "Can't find a saved search to work with"
-msgstr "找不到预存查询"
-
-#: lib/RT/Link_Overlay.pm:159
-msgid "Can't link a ticket to itself"
-msgstr "申请单不能链接自己。"
-
-#: NOT FOUND IN SOURCE
-msgid "Can't merge into a merged ticket. You should never get this error"
-msgstr "不能整合进已整合过的申请单。这个错误不该发生。"
-
-#: html/Widgets/SavedSearch:63
-#. (loc($self->{SearchType}))
-msgid "Can't save %1"
-msgstr "无法储存 %1"
-
-#: html/Search/Build.html:290
-msgid "Can't save this search"
-msgstr "无法储存此项查询"
-
-#: lib/RT/Record.pm:1282 lib/RT/Record.pm:1358
-msgid "Can't specifiy both base and target"
-msgstr "不能同时指定起始申请单与目的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Cancel"
-msgstr "取消"
-
-#: html/autohandler:204
-#. ($msg)
-msgid "Cannot create user: %1"
-msgstr "无法新增使用者:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Cannot login: Your system clock differs from server's by %1 seconds!"
-msgstr "您的系统时钟和服务器相差 %1 秒,无法登入!"
-
-#: NOT FOUND IN SOURCE
-msgid "Card No."
-msgstr "卡号"
-
-#: NOT FOUND IN SOURCE
-msgid "Categories"
-msgstr "分类管理"
-
-#: html/Admin/Elements/AddCustomFieldValue:62 html/Admin/Elements/EditCustomFieldValues:58
-msgid "Category"
-msgstr "分类"
-
-#: etc/initialdata:50 html/Admin/Queues/People.html:65 html/SelfService/Create.html:71 html/Ticket/Create.html:88 html/Ticket/Elements/EditPeople:72 html/Ticket/Elements/ShowPeople:56 html/Ticket/Update.html:83 lib/RT/ACE_Overlay.pm:112
-msgid "Cc"
-msgstr "副本"
-
-#: NOT FOUND IN SOURCE
-msgid "Cc Type"
-msgstr "副本类别"
-
-#: NOT FOUND IN SOURCE
-msgid "Chairperson's Office"
-msgstr "董事长室"
-
-#: NOT FOUND IN SOURCE
-msgid "Change Ticket"
-msgstr "修改申请单"
-
-#: html/SelfService/Prefs.html:52
-msgid "Change password"
-msgstr "更改口令"
-
-#: NOT FOUND IN SOURCE
-msgid "ChangeOwnerUI"
-msgstr "可否选择表单承办人"
-
-#: html/Elements/Submit:78
-msgid "Check All"
-msgstr "全部选取"
-
-#: html/SelfService/Update.html:78 html/Ticket/Create.html:134 html/Ticket/Update.html:97
-msgid "Check box to delete"
-msgstr "选择欲删除的项目"
-
-#: html/Admin/Elements/SelectRights:55
-msgid "Check box to revoke right"
-msgstr "选择欲撤消的权利"
-
-#: html/Elements/EditLinks:148 html/Elements/EditLinks:85 html/Elements/ShowLinks:78 html/Ticket/Create.html:223 html/Ticket/Elements/BulkLinks:64
-msgid "Children"
-msgstr "子申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Chinese Name"
-msgstr "中文姓名"
-
-#: NOT FOUND IN SOURCE
-msgid "Chinese/English"
-msgstr "中英文"
-
-#: html/NoAuth/js/util.js:201
-msgid "Choose a date"
-msgstr "选择日期"
-
-#: html/Admin/Users/Modify.html:156 html/User/Prefs.html:141
-msgid "City"
-msgstr "所在城市"
-
-#: NOT FOUND IN SOURCE
-msgid "ClassicUI"
-msgstr "传统接口"
-
-#: html/Elements/Submit:80
-msgid "Clear All"
-msgstr "全部清除"
-
-#: html/Helpers/CalPopup.html:51
-msgid "Close window"
-msgstr "关闭窗口"
-
-#: html/Ticket/Elements/ShowDates:68
-msgid "Closed"
-msgstr "已解决"
-
-#: NOT FOUND IN SOURCE
-msgid "Closed Tickets"
-msgstr "已解决的申请单"
-
-#: html/SelfService/Closed.html:46 html/SelfService/Elements/Tabs:78
-msgid "Closed tickets"
-msgstr "已解决的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Code"
-msgstr "执行程序码"
-
-#: lib/RT/CustomField_Overlay.pm:89
-msgid "Combobox: Select or enter multiple values"
-msgstr "下拉文字框:选择或键入多重项目"
-
-#: lib/RT/CustomField_Overlay.pm:90
-msgid "Combobox: Select or enter one value"
-msgstr "下拉文字框:选择或键入单一项目"
-
-#: lib/RT/CustomField_Overlay.pm:91
-msgid "Combobox: Select or enter up to %1 values"
-msgstr "下拉文字框:选择或键入最多 %1 个项目"
-
-#: NOT FOUND IN SOURCE
-msgid "Command not understood!\\n"
-msgstr "指令无法辨识!\\n"
-
-#: html/Ticket/Elements/ShowTransaction:190 html/Ticket/Elements/Tabs:185
-msgid "Comment"
-msgstr "评论"
-
-#: html/Admin/Queues/Modify.html:79
-msgid "Comment Address"
-msgstr "评论电子邮件地址"
-
-#: NOT FOUND IN SOURCE
-msgid "Comment not recorded"
-msgstr "评论未被纪录"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "Comment on tickets"
-msgstr "对申请单提出评论"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "CommentOnTicket"
-msgstr "评论申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments"
-msgstr "评论"
-
-#: html/Ticket/ModifyAll.html:91 html/Ticket/Update.html:75
-msgid "Comments (Not sent to requestors)"
-msgstr "评论(不送给申请人)"
-
-#: html/Search/Bulk.html:128
-msgid "Comments (not sent to requestors)"
-msgstr "评论(不送给申请人)"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments about %1"
-msgstr "对 %1 的评论"
-
-#: html/Admin/Users/Modify.html:225 html/Ticket/Elements/ShowRequestor:67
-msgid "Comments about this user"
-msgstr "使用者描述"
-
-#: lib/RT/Transaction_Overlay.pm:634
-msgid "Comments added"
-msgstr "新增评论完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "Commit"
-msgstr "确认"
-
-#: lib/RT/Action/Generic.pm:175
-msgid "Commit Stubbed"
-msgstr "消除更动完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "Company Name"
-msgstr "公司名称"
-
-#: NOT FOUND IN SOURCE
-msgid "CompanySpecific"
-msgstr "各公司独立显示"
-
-#: NOT FOUND IN SOURCE
-msgid "Compile Restrictions"
-msgstr "设定查询条件"
-
-#: html/Admin/Elements/EditScrip:59
-msgid "Condition"
-msgstr "条件"
-
-#: lib/RT/Scrip_Overlay.pm:184
-msgid "Condition is mandatory argument"
-msgstr "条件是必填字段"
-
-#: bin/rt-crontool:151
-msgid "Condition matches..."
-msgstr "符合条件..."
-
-#: lib/RT/Scrip_Overlay.pm:188
-msgid "Condition not found"
-msgstr "未找到符合的现况"
-
-#: html/Elements/Tabs:84
-msgid "Configuration"
-msgstr "设定"
-
-#: html/SelfService/Prefs.html:54
-msgid "Confirm"
-msgstr "确认口令"
-
-#: NOT FOUND IN SOURCE
-msgid "Confirm Password"
-msgstr "口令确认"
-
-#: NOT FOUND IN SOURCE
-msgid "Confirm Submit"
-msgstr "确定送出"
-
-#: NOT FOUND IN SOURCE
-msgid "Contact System Administrator"
-msgstr "连络系统管理员"
-
-#: NOT FOUND IN SOURCE
-msgid "ContactInfoSystem"
-msgstr "连络信息系统"
-
-#: NOT FOUND IN SOURCE
-msgid "Contacted date '%1' could not be parsed"
-msgstr "无法解读联络日期 '%1'"
-
-#: html/Admin/Elements/ModifyTemplate:65 html/Elements/SelectAttachmentField:48 html/Ticket/ModifyAll.html:119
-msgid "Content"
-msgstr "内容"
-
-#: html/Elements/SelectAttachmentField:49
-msgid "Content-Type"
-msgstr "内容类型"
-
-#: NOT FOUND IN SOURCE
-msgid "Coould not create group"
-msgstr "无法新增群组"
-
-#: html/Search/Elements/EditSearches:65
-msgid "Copy"
-msgstr "复制"
-
-#: NOT FOUND IN SOURCE
-msgid "Copy Field From:"
-msgstr "欲复制字段:"
-
-#: etc/initialdata:286
-msgid "Correspondence"
-msgstr "回复"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence Address"
-msgstr "申请单回复地址"
-
-#: lib/RT/Transaction_Overlay.pm:630
-msgid "Correspondence added"
-msgstr "新增申请单回复"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence not recorded"
-msgstr "未纪录申请单回复"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value for ticket. "
-msgstr "不能新增自订字段的值。"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value for ticket. %1 "
-msgstr "不能新增自订字段的值。%1 "
-
-#: lib/RT/Record.pm:1707
-msgid "Could not add new custom field value. "
-msgstr "不能新增自订字段的值。"
-
-#: lib/RT/Record.pm:1660
-#. (, $value_msg)
-msgid "Could not add new custom field value. %1 "
-msgstr "不能新增自订字段的值。%1 "
-
-#: lib/RT/Ticket_Overlay.pm:3048 lib/RT/Ticket_Overlay.pm:3056 lib/RT/Ticket_Overlay.pm:3073
-msgid "Could not change owner. "
-msgstr "不能更改承办人。"
-
-#: html/Admin/CustomFields/Modify.html:161
-#. ($msg)
-msgid "Could not create CustomField"
-msgstr "无法新增自订字段"
-
-#: html/Admin/Elements/EditCustomField:113
-#. ($msg)
-msgid "Could not create CustomField: %1"
-msgstr "无法新增自订字段:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create Scrip"
-msgstr "无法建立讯息通知"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create Template"
-msgstr "无法建立通知模板"
-
-#: html/User/Groups/Modify.html:98 lib/RT/Group_Overlay.pm:494 lib/RT/Group_Overlay.pm:501
-msgid "Could not create group"
-msgstr "无法新增群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create item"
-msgstr "无法新增项目"
-
-#: html/Admin/Global/Template.html:96 html/Admin/Queues/Template.html:93
-#. ($msg)
-msgid "Could not create template: %1"
-msgstr "无法新增模板:%1"
-
-#: lib/RT/Ticket_Overlay.pm:1075 lib/RT/Ticket_Overlay.pm:407
-msgid "Could not create ticket. Queue not set"
-msgstr "无法新增申请单。尚未指定表单。"
-
-#: lib/RT/User_Overlay.pm:255 lib/RT/User_Overlay.pm:269 lib/RT/User_Overlay.pm:278 lib/RT/User_Overlay.pm:287 lib/RT/User_Overlay.pm:296 lib/RT/User_Overlay.pm:310 lib/RT/User_Overlay.pm:320 lib/RT/User_Overlay.pm:496
-msgid "Could not create user"
-msgstr "无法新增使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create watcher for requestor"
-msgstr "无法为申请人新增视察员"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create workflow: %1"
-msgstr "无法新增流程:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find a ticket with id %1"
-msgstr "找不到编号 %1 的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find group %1."
-msgstr "找不到群组 %1。"
-
-#: lib/RT/Queue_Overlay.pm:741 lib/RT/Ticket_Overlay.pm:1423
-msgid "Could not find or create that user"
-msgstr "找不到或无法新增该名使用者"
-
-#: lib/RT/Queue_Overlay.pm:802 lib/RT/Ticket_Overlay.pm:1504
-msgid "Could not find that principal"
-msgstr "找不到该单位"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find user %1."
-msgstr "找不到使用者 %1。"
-
-#: html/Admin/CustomFields/Objects.html:69
-msgid "Could not load CustomField %1"
-msgstr "无法加载字段 %1"
-
-#: html/Admin/Groups/Members.html:112 html/User/Groups/Members.html:111 html/User/Groups/Modify.html:103
-msgid "Could not load group"
-msgstr "无法加载群组"
-
-#: lib/RT/SavedSearch.pm:119
-#. ($privacy)
-msgid "Could not load object for %1"
-msgstr "无法为 %1 加载对象"
-
-#: lib/RT/SavedSearch.pm:197
-msgid "Could not load search attribute"
-msgstr "无法加载查询属性"
-
-#: lib/RT/Queue_Overlay.pm:761
-#. ($args{'Type'})
-msgid "Could not make that principal a %1 for this queue"
-msgstr "无法将该单位设为此表单的 %1。"
-
-#: lib/RT/Ticket_Overlay.pm:1444
-#. ($self->loc($args{'Type'}))
-msgid "Could not make that principal a %1 for this ticket"
-msgstr "无法将该单位设为此申请单的 %1。"
-
-#: lib/RT/Queue_Overlay.pm:860
-#. ($args{'Type'})
-msgid "Could not remove that principal as a %1 for this queue"
-msgstr "无法将单位 %1 从表单移除。"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not remove that principal as a %1 for this ticket"
-msgstr "无法将单位 %1 从申请单移除。"
-
-#: lib/RT/User_Overlay.pm:191
-msgid "Could not set user info"
-msgstr "无法设定使用者信息"
-
-#: lib/RT/Transaction_Overlay.pm:159
-msgid "Couldn't add attachment"
-msgstr "无法新增附件"
-
-#: lib/RT/Group_Overlay.pm:1003
-msgid "Couldn't add member to group"
-msgstr "无法新增成员至群组"
-
-#: lib/RT/Record.pm:1719 lib/RT/Record.pm:1771
-#. ($Msg)
-msgid "Couldn't create a transaction: %1"
-msgstr "无法新增更动报告"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't figure out what to do from gpg's reply\\n"
-msgstr "无法从 gpg 回函辨识出该采取的行动\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find group\\n"
-msgstr "找不到群组\\n"
-
-#: lib/RT/Record.pm:953
-msgid "Couldn't find row"
-msgstr "找不到此列数据"
-
-#: lib/RT/Group_Overlay.pm:977
-msgid "Couldn't find that principal"
-msgstr "找不到该单位"
-
-#: lib/RT/CustomField_Overlay.pm:409
-msgid "Couldn't find that value"
-msgstr "找不到该值"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find that watcher"
-msgstr "找不到该视察员"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find user\\n"
-msgstr "找不到使用者\\n"
-
-#: lib/RT/CurrentUser.pm:145
-#. ($self->Id)
-msgid "Couldn't load %1 from the users database.\\n"
-msgstr "无法从使用者数据库加载 %1。\\n"
-
-#: html/Admin/CustomFields/UserRights.html:149
-#. ($id)
-msgid "Couldn't load Class %1"
-msgstr "无法加载类别 %1"
-
-#: html/Admin/CustomFields/GroupRights.html:107
-#. ($id)
-msgid "Couldn't load CustomField %1"
-msgstr "无法加载自订字段 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load KeywordSelects."
-msgstr "无法加载 KeywordSelects。"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load RT config file '%1' %2"
-msgstr "无法加载 RT 设定档 '%1' %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load Scrips."
-msgstr "无法加载手续。"
-
-#: lib/RT/Ticket_Overlay.pm:2016
-#. ($self->Id)
-msgid "Couldn't load copy of ticket #%1."
-msgstr "无法加载申请单 %1 的复本。"
-
-#: html/Admin/Groups/GroupRights.html:109 html/Admin/Groups/UserRights.html:96
-#. ($id)
-msgid "Couldn't load group %1"
-msgstr "无法加载手续 %1"
-
-#: lib/RT/Link_Overlay.pm:202 lib/RT/Link_Overlay.pm:211 lib/RT/Link_Overlay.pm:238
-msgid "Couldn't load link"
-msgstr "无法加载链接。"
-
-#: html/Admin/Elements/ObjectCustomFields:83 html/Admin/Queues/CustomFields.html:59 html/Admin/Users/CustomFields.html:59
-#. ($id)
-msgid "Couldn't load object %1"
-msgstr "无法加载对象 %1"
-
-#: html/Admin/Queues/People.html:142
-#. ($id)
-msgid "Couldn't load queue"
-msgstr "无法加载表单"
-
-#: html/Admin/Queues/GroupRights.html:122 html/Admin/Queues/UserRights.html:93
-#. ($id)
-msgid "Couldn't load queue %1"
-msgstr "无法加载表单 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load scrip"
-msgstr "无法加载手续"
-
-#: html/Admin/Elements/EditScrip:126 html/Admin/Elements/EditScrip:167
-#. ($id)
-msgid "Couldn't load scrip #%1"
-msgstr "无法加载手续 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load template"
-msgstr "无法加载模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load that user (%1)"
-msgstr "无法加载该名使用者(%1)"
-
-#: html/SelfService/Display.html:158 lib/RT/Action/CreateTickets.pm:680
-#. ($id)
-msgid "Couldn't load ticket '%1'"
-msgstr "无法加载申请单 '%1'"
-
-#: lib/RT/Ticket_Overlay.pm:2643
-#. ($args{'URI'})
-msgid "Couldn't resolve '%1' into a URI."
-msgstr "无法将‘%1’解读为网址"
-
-#: html/Admin/Users/Modify.html:173 html/User/Prefs.html:153
-msgid "Country"
-msgstr "国家"
-
-#: html/Admin/Elements/CreateUserCalled:47 html/Admin/Elements/EditCustomField:84 html/Admin/Elements/EditScrip:133 html/Admin/Queues/Template.html:66 html/Elements/QuickCreate:65 html/Ticket/Create.html:168 html/Ticket/Create.html:235
-msgid "Create"
-msgstr "新增"
-
-#: NOT FOUND IN SOURCE
-msgid "Create Subgroup:"
-msgstr "新增子群组:"
-
-#: etc/initialdata:135
-msgid "Create Tickets"
-msgstr "新增申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Create User:"
-msgstr "新增成员:"
-
-#: html/Admin/CustomFields/Modify.html:150 html/Admin/Elements/EditCustomField:96
-msgid "Create a CustomField"
-msgstr "新增自订字段"
-
-#: html/Admin/Queues/CustomField.html:69
-#. ($QueueObj->Name())
-msgid "Create a CustomField for queue %1"
-msgstr "为 %1 表单新增自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a CustomField that applies to all queues"
-msgstr "为 %1 表单新增自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new Custom Field"
-msgstr "新增自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new global Scrip"
-msgstr "新增全域手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new global scrip"
-msgstr "新增全域手续"
-
-#: html/Admin/Groups/Modify.html:125 html/Admin/Groups/Modify.html:99
-msgid "Create a new group"
-msgstr "新增群组"
-
-#: html/User/Groups/Modify.html:113 html/User/Groups/Modify.html:88
-msgid "Create a new personal group"
-msgstr "新增代理人群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new queue"
-msgstr "新增表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new scrip"
-msgstr "新增手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new template"
-msgstr "新增模板"
-
-#: html/Ticket/Create.html:47 html/Ticket/Create.html:51 html/Ticket/Create.html:60
-msgid "Create a new ticket"
-msgstr "新增申请单"
-
-#: html/Admin/Users/Modify.html:252 html/Admin/Users/Modify.html:314
-msgid "Create a new user"
-msgstr "新增使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new workflow"
-msgstr "新增流程"
-
-#: html/Admin/Queues/Modify.html:125
-msgid "Create a queue"
-msgstr "新增表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a queue called"
-msgstr "新增表单名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a request"
-msgstr "提出申请"
-
-#: html/Admin/Queues/Scrip.html:89
-#. ($QueueObj->Name)
-msgid "Create a scrip for queue %1"
-msgstr "为 %1 表单新增手续"
-
-#: html/Admin/Global/Template.html:90 html/Admin/Queues/Template.html:86
-msgid "Create a template"
-msgstr "新增模板"
-
-#: html/SelfService/Create.html:46 html/SelfService/CreateTicketInQueue.html:46
-msgid "Create a ticket"
-msgstr "提出申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a workflow"
-msgstr "新增流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Create failed: %1 / %2 / %3 "
-msgstr "新增失败:%1 / %2 / %3"
-
-#: NOT FOUND IN SOURCE
-msgid "Create failed: %1/%2/%3"
-msgstr "新增失败:%1/%2/%3"
-
-#: NOT FOUND IN SOURCE
-msgid "Create new item"
-msgstr "建立新项目"
-
-#: etc/initialdata:137
-msgid "Create new tickets based on this scrip's template"
-msgstr "依据此项手续内的模版,新增申请单"
-
-#: html/SelfService/Create.html:105
-msgid "Create ticket"
-msgstr "新增申请单"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "Create tickets in this queue"
-msgstr "在此表单中新增申请单"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "Create, delete and modify custom fields"
-msgstr "新增、删除及更改自订字段"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "Create, delete and modify queues"
-msgstr "新增、删除及更改表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Create, delete and modify the members of any user's personal groups"
-msgstr "新增、删除及更改任何使用者的代理人群组"
-
-#: lib/RT/System.pm:80
-msgid "Create, delete and modify the members of personal groups"
-msgstr "新增、删除及更改代理人群组"
-
-#: lib/RT/System.pm:81
-msgid "Create, delete and modify users"
-msgstr "新增、删除及更改使用者"
-
-#: lib/RT/System.pm:87
-msgid "CreateSavedSearch"
-msgstr "新增预存查询"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "CreateTicket"
-msgstr "新增申请单"
-
-#: html/Elements/SelectDateType:47 html/Ticket/Elements/ShowDates:48 lib/RT/Ticket_Overlay.pm:1169
-msgid "Created"
-msgstr "新增日"
-
-#: html/Admin/CustomFields/Modify.html:163 html/Admin/Elements/EditCustomField:117
-#. ($CustomFieldObj->Name())
-msgid "Created CustomField %1"
-msgstr "自订字段 %1 新增成功"
-
-#: html/Tools/Reports/Elements/Tabs:63
-msgid "Created in a date range"
-msgstr "在指定日期内建立"
-
-#: NOT FOUND IN SOURCE
-msgid "Created template %1"
-msgstr "模板 %1 新增成功"
-
-#: html/Tools/Reports/CreatedByDates.html:52
-msgid "Created tickets in period, grouped by status"
-msgstr "在指定日期内建立的申请单,依状态分组"
-
-#: NOT FOUND IN SOURCE
-msgid "Created workflow %1"
-msgstr "流程 %1 新增成功"
-
-#: html/Search/Elements/PickBasics:102
-msgid "Creator"
-msgstr "建立者"
-
-#: NOT FOUND IN SOURCE
-msgid "Currency"
-msgstr "币别"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Approval Info"
-msgstr "截至目前签核信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Custom Fields"
-msgstr "现有自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Groups:"
-msgstr "现有群组列表:"
-
-#: html/Elements/EditLinks:49
-msgid "Current Links"
-msgstr "现有关系"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Rights:"
-msgstr "现有权限:"
-
-#: html/Admin/Elements/EditScrips:51
-msgid "Current Scrips"
-msgstr "现有手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Status"
-msgstr "目前状态"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Templates"
-msgstr "现有模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Watchers"
-msgstr "现有视察员"
-
-#: html/Admin/Groups/Members.html:60 html/User/Groups/Members.html:63
-msgid "Current members"
-msgstr "现有成员"
-
-#: html/Admin/Elements/SelectRights:51
-msgid "Current rights"
-msgstr "现有权限"
-
-#: html/Search/Elements/EditQuery:47
-msgid "Current search"
-msgstr "现有查询条件"
-
-#: NOT FOUND IN SOURCE
-msgid "Current search criteria"
-msgstr "现有查询条件"
-
-#: html/Admin/Queues/People.html:62 html/Ticket/Elements/EditPeople:66
-msgid "Current watchers"
-msgstr "现有视察员"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom Field #%1"
-msgstr "自订字段 #%1"
-
-#: html/Admin/Elements/SystemTabs:61 html/Admin/Elements/Tabs:62 html/Admin/Global/index.html:71 html/Admin/Users/Modify.html:205 html/Admin/index.html:77 html/Ticket/Elements/ShowSummary:56
-msgid "Custom Fields"
-msgstr "自订字段"
-
-#: html/Admin/CustomFields/index.html:60
-#. ($lookup)
-msgid "Custom Fields for %1"
-msgstr "%1 的自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom Fields which apply to all queues"
-msgstr "适用于所有表单的自订字段"
-
-#: html/Admin/Elements/EditScrip:107
-msgid "Custom action cleanup code"
-msgstr "动作后执行程序"
-
-#: html/Admin/Elements/EditScrip:103
-msgid "Custom action preparation code"
-msgstr "动作前执行程序"
-
-#: html/Admin/Elements/EditScrip:99
-msgid "Custom condition"
-msgstr "自订条件"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field %1 %2 %3"
-msgstr "自订字段 %1 %2 %3"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field %1 does not apply to this object"
-msgstr "自订字段 %1 不适用于此对象"
-
-#: lib/RT/Tickets_Overlay.pm:2424
-#. ($CF->Name)
-msgid "Custom field %1 has a value."
-msgstr "自订字段 %1 已有值"
-
-#: lib/RT/Tickets_Overlay.pm:2420
-#. ($CF->Name)
-msgid "Custom field %1 has no value."
-msgstr "自订字段 %1 没有值"
-
-#: lib/RT/Record.pm:1592 lib/RT/Record.pm:1754
-#. ($args{'Field'})
-msgid "Custom field %1 not found"
-msgstr "找不到自订字段 %1"
-
-#: lib/RT/Report/Tickets.pm:118 lib/RT/Report/Tickets.pm:121
-#. ($cf)
-#. ($obj->Name)
-msgid "Custom field '%1'"
-msgstr "自订字段‘%1’"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field deleted"
-msgstr "自订字段已删除"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field not found"
-msgstr "找不到自订字段"
-
-#: lib/RT/CustomField_Overlay.pm:1157
-#. ($args{'Content'}, $self->Name)
-msgid "Custom field value %1 could not be found for custom field %2"
-msgstr "无法从自订字段 %2 中找到 %1 这个字段值"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field value changed from %1 to %2"
-msgstr "自订字段值从 %1 改为 %2"
-
-#: lib/RT/CustomField_Overlay.pm:419
-msgid "Custom field value could not be deleted"
-msgstr "无法删除自订字段值"
-
-#: lib/RT/CustomField_Overlay.pm:1169
-msgid "Custom field value could not be found"
-msgstr "找不到自订字段值"
-
-#: lib/RT/CustomField_Overlay.pm:1171 lib/RT/CustomField_Overlay.pm:417
-msgid "Custom field value deleted"
-msgstr "自订字段值删除成功"
-
-#: html/Elements/SelectGroups:51 html/Elements/SelectUsers:51 lib/RT/Transaction_Overlay.pm:638
-msgid "CustomField"
-msgstr "自订字段"
-
-#: html/Prefs/MyRT.html:78 html/Prefs/Quicksearch.html:70 html/Prefs/Search.html:75
-msgid "Customize"
-msgstr "自订"
-
-#: NOT FOUND IN SOURCE
-msgid "Data error"
-msgstr "数据错误"
-
-#: NOT FOUND IN SOURCE
-msgid "DatabaseBindRemote"
-msgstr "容许外部联机"
-
-#: NOT FOUND IN SOURCE
-msgid "DatabaseName"
-msgstr "MySQL数据库"
-
-#: NOT FOUND IN SOURCE
-msgid "Date of Departure"
-msgstr "出发日期"
-
-#: html/SelfService/Display.html:61 html/Ticket/Create.html:203 html/Ticket/Elements/ShowSummary:83 html/Ticket/Elements/Tabs:116 html/Ticket/ModifyAll.html:65
-msgid "Dates"
-msgstr "日期"
-
-#: NOT FOUND IN SOURCE
-msgid "Dec"
-msgstr "十二月"
-
-#: lib/RT/Date.pm:452
-msgid "Dec."
-msgstr "12"
-
-#: NOT FOUND IN SOURCE
-msgid "December"
-msgstr "十二月"
-
-#: NOT FOUND IN SOURCE
-msgid "Default Approval"
-msgstr "预设签核"
-
-#: NOT FOUND IN SOURCE
-msgid "Default Autoresponse Template"
-msgstr "预设自动响应模板"
-
-#: etc/initialdata:222
-msgid "Default Autoresponse template"
-msgstr "预设自动响应模板"
-
-#: html/Tools/Offline.html:61
-msgid "Default Queue"
-msgstr "预设表单"
-
-#: html/Tools/Offline.html:70
-msgid "Default Requestor"
-msgstr "预设申请人"
-
-#: NOT FOUND IN SOURCE
-msgid "Default Value"
-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 "预设更动模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Default: %1/%2 changed from %3 to %4"
-msgstr "预设:%1/%2 已自 %3 改为 %4"
-
-#: NOT FOUND IN SOURCE
-msgid "DefaultApproval"
-msgstr "预设签核"
-
-#: html/User/Delegation.html:46 html/User/Delegation.html:49
-msgid "Delegate rights"
-msgstr "代理人权限"
-
-#: lib/RT/System.pm:84
-msgid "Delegate specific rights which have been granted to you."
-msgstr "将拥有的权限委托他人代理"
-
-#: lib/RT/System.pm:84
-msgid "DelegateRights"
-msgstr "设定代理人"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegated Approval"
-msgstr "代理签核"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegated Queue"
-msgstr "代理表单名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegated Queue:"
-msgstr "代理表单:"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegated Type"
-msgstr "代理表单种类"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates"
-msgstr "代理人"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Enabled Status"
-msgstr "代理激活状态"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Info"
-msgstr "代理人信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Period"
-msgstr "代理期间"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Permission Setting"
-msgstr "代理权限设定"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Permission:"
-msgstr "代理权限:"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Setting"
-msgstr "代理人设定"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Status"
-msgstr "代理状态"
-
-#: html/User/Elements/Tabs:59
-msgid "Delegation"
-msgstr "代理人权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegation Groups"
-msgstr "代理人群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegation Rights"
-msgstr "代理人权限"
-
-#: html/Admin/Elements/EditScrips:75 html/Search/Elements/EditFormat:103 html/Search/Elements/EditQuery:57 html/Search/Elements/EditSearches:63 html/Widgets/SelectionBox:204
-msgid "Delete"
-msgstr "删除"
-
-#: html/Admin/Elements/EditTemplates:79
-msgid "Delete Template"
-msgstr "删除模板"
-
-#: lib/RT/SavedSearch.pm:220
-#. ($msg)
-msgid "Delete failed: %1"
-msgstr "删除失败:%1"
-
-#: html/Admin/Elements/EditScrips:74
-msgid "Delete selected scrips"
-msgstr "删除指定的手续"
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "Delete tickets"
-msgstr "删除申请单"
-
-#: html/Search/Bulk.html:159
-msgid "Delete values"
-msgstr "删除值"
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "DeleteTicket"
-msgstr "删除申请单"
-
-#: lib/RT/SavedSearch.pm:218
-msgid "Deleted search"
-msgstr "已删除的搜寻"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object could break referential integrity"
-msgstr "删除此对象可能破坏参考完整性"
-
-#: lib/RT/Queue_Overlay.pm:394
-msgid "Deleting this object would break referential integrity"
-msgstr "删除此对象可能破坏参考完整性"
-
-#: lib/RT/User_Overlay.pm:512
-msgid "Deleting this object would violate referential integrity"
-msgstr "删除此对象会违反参考完整性"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object would violate referential integrity."
-msgstr "删除此对象会违反参考完整性"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object would violate referential integrity. That's bad."
-msgstr "删除此对象会违反参考完整性"
-
-#: html/Approvals/Elements/Approve:73
-msgid "Deny"
-msgstr "驳回"
-
-#: NOT FOUND IN SOURCE
-msgid "Department"
-msgstr "部门"
-
-#: NOT FOUND IN SOURCE
-msgid "Department ID"
-msgstr "部门代码"
-
-#: NOT FOUND IN SOURCE
-msgid "Department Name"
-msgstr "部门名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Department's"
-msgstr "部门之"
-
-#: NOT FOUND IN SOURCE
-msgid "Departure Details"
-msgstr "差旅明细"
-
-#: NOT FOUND IN SOURCE
-msgid "Departure From"
-msgstr "差旅起始日"
-
-#: NOT FOUND IN SOURCE
-msgid "Departure Request"
-msgstr "请假单"
-
-#: NOT FOUND IN SOURCE
-msgid "Departure Until"
-msgstr "差旅截止日"
-
-#: html/Elements/EditLinks:140 html/Elements/EditLinks:66 html/Elements/ShowLinks:58 html/Ticket/Create.html:221 html/Ticket/Elements/BulkLinks:56 html/Ticket/Elements/ShowDependencies:53
-msgid "Depended on by"
-msgstr "可接续处理的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Dependencies: \\n"
-msgstr "附属性:\\n"
-
-#: lib/RT/Transaction_Overlay.pm:718
-#. ($value)
-msgid "Dependency by %1 added"
-msgstr "已加入可接续处理的申请单 %1"
-
-#: lib/RT/Transaction_Overlay.pm:758
-#. ($value)
-msgid "Dependency by %1 deleted"
-msgstr "已移除可接续处理的申请单 %1"
-
-#: lib/RT/Transaction_Overlay.pm:715
-#. ($value)
-msgid "Dependency on %1 added"
-msgstr "已加入需先处理的申请单 %1"
-
-#: lib/RT/Transaction_Overlay.pm:755
-#. ($value)
-msgid "Dependency on %1 deleted"
-msgstr "已移除需先处理的申请单 %1"
-
-#: html/Elements/EditLinks:136 html/Elements/EditLinks:57 html/Elements/SelectLinkType:48 html/Elements/ShowLinks:48 html/Ticket/Create.html:220 html/Ticket/Elements/BulkLinks:52 html/Ticket/Elements/ShowDependencies:46
-msgid "Depends on"
-msgstr "需先处理"
-
-#: NOT FOUND IN SOURCE
-msgid "DependsOn"
-msgstr "需先处理"
-
-#: html/Search/Elements/DisplayOptions:86
-msgid "Desc"
-msgstr "递减"
-
-#: html/Elements/SelectSortOrder:56
-msgid "Descending"
-msgstr "递减"
-
-#: html/SelfService/Create.html:100 html/Ticket/Create.html:152
-msgid "Describe the issue below"
-msgstr "在以下字段描述主题"
-
-#: html/Admin/CustomFields/Modify.html:61 html/Admin/Elements/AddCustomFieldValue:57 html/Admin/Elements/EditCustomField:60 html/Admin/Elements/EditCustomFieldValues:56 html/Admin/Elements/EditScrip:55 html/Admin/Elements/ModifyTemplate:57 html/Admin/Groups/Modify.html:71 html/Admin/Queues/Modify.html:69 html/Search/Elements/EditSearches:56 html/User/Groups/Modify.html:70
-msgid "Description"
-msgstr "描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Description of Responsibility"
-msgstr "经办业务说明"
-
-#: NOT FOUND IN SOURCE
-msgid "Description:"
-msgstr "描述:"
-
-#: NOT FOUND IN SOURCE
-msgid "Details"
-msgstr "细节"
-
-#: NOT FOUND IN SOURCE
-msgid "Direct"
-msgstr "直接"
-
-#: NOT FOUND IN SOURCE
-msgid "Disability"
-msgstr "残障身分"
-
-#: NOT FOUND IN SOURCE
-msgid "Disability Type"
-msgstr "残障类别"
-
-#: NOT FOUND IN SOURCE
-msgid "Disabled"
-msgstr "停用"
-
-#: html/Search/Elements/EditFormat:71 html/Ticket/Elements/Tabs:108
-msgid "Display"
-msgstr "显示内容"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "Display Access Control List"
-msgstr "显示权限控制清单"
-
-#: html/Search/Elements/DisplayOptions:46
-msgid "Display Columns"
-msgstr "显示字段"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "Display Scrip templates for this queue"
-msgstr "显示此表单的模板"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "Display Scrips for this queue"
-msgstr "显示此表单的手续"
-
-#: html/Ticket/Elements/ShowHistory:59
-msgid "Display mode"
-msgstr "显示模式"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "Display saved searches for this group"
-msgstr "显示此群组的预存查询"
-
-#: NOT FOUND IN SOURCE
-msgid "Display ticket #%1"
-msgstr "显示第%1号申请单"
-
-#: html/Elements/Footer:61
-msgid "Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
-msgstr "依 <a href=\"http://www.gnu.org/copyleft/gpl.html\">GNU 通用公共授权</a> 第二版散布。"
-
-#: lib/RT/System.pm:75
-msgid "Do anything and everything"
-msgstr "允许一切操作"
-
-#: html/Elements/Refresh:51
-msgid "Don't refresh this page."
-msgstr "不更新此页面。"
-
-#: NOT FOUND IN SOURCE
-msgid "Don't show search results"
-msgstr "不显示查询结果"
-
-#: NOT FOUND IN SOURCE
-msgid "Done"
-msgstr "完成"
-
-#: NOT FOUND IN SOURCE
-msgid "Down"
-msgstr "下一页"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "Download"
-msgstr "下载"
-
-#: html/Admin/Groups/index.html:61 html/Admin/Users/index.html:64
-msgid "Download as a tab-delimited file"
-msgstr "下载以 Tab 分隔的档案"
-
-#: NOT FOUND IN SOURCE
-msgid "Dr."
-msgstr "博士"
-
-#: html/Elements/SelectDateType:53 html/Ticket/Create.html:209 html/Ticket/Elements/EditDates:66 html/Ticket/Elements/Reminders:133 html/Ticket/Elements/ShowDates:64 lib/RT/Ticket_Overlay.pm:1173
-msgid "Due"
-msgstr "到期日"
-
-#: NOT FOUND IN SOURCE
-msgid "Due Date"
-msgstr "截止日"
-
-#: NOT FOUND IN SOURCE
-msgid "Due date '%1' could not be parsed"
-msgstr "无法解读日期 '%1'"
-
-#: NOT FOUND IN SOURCE
-msgid "ERROR: Couldn't load ticket '%1': %2.\\n"
-msgstr "无法加载申请单 '%1':%2.\\n"
-
-#: html/Elements/Quicksearch:48 html/Elements/ShowSearch:49 html/index.html:107
-msgid "Edit"
-msgstr "编辑"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Conditions"
-msgstr "编辑前置条件"
-
-#: html/Search/Bulk.html:149
-msgid "Edit Custom Fields"
-msgstr "编辑自订字段"
-
-#: html/Admin/Elements/ObjectCustomFields:92 html/Admin/Queues/CustomFields.html:64 html/Admin/Users/CustomFields.html:64
-#. ($Object->Name)
-msgid "Edit Custom Fields for %1"
-msgstr "编辑 %1 的自订字段"
-
-#: html/Admin/Global/CustomFields/Groups.html:54
-msgid "Edit Custom Fields for all groups"
-msgstr "编辑适用于所有群组的自订字段"
-
-#: html/Admin/Global/CustomFields/Users.html:54
-msgid "Edit Custom Fields for all users"
-msgstr "编辑适用于所有使用者的自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Custom Fields for queue %1"
-msgstr "编辑表单 %1 的自订字段"
-
-#: html/Admin/Global/CustomFields/Queue-Tickets.html:54 html/Admin/Global/CustomFields/Queue-Transactions.html:54
-msgid "Edit Custom Fields for tickets in all queues"
-msgstr "编辑适用于所有表单内申请单的自订字段"
-
-#: html/Search/Bulk.html:188 html/Ticket/ModifyLinks.html:57
-msgid "Edit Links"
-msgstr "编辑申请单关系"
-
-#: html/Search/Edit.html:68
-msgid "Edit Query"
-msgstr "编辑查询"
-
-#: html/Ticket/Elements/Tabs:214
-msgid "Edit Search"
-msgstr "编辑查询"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Subgroups"
-msgstr "新增/维护子群组"
-
-#: html/Admin/Queues/Templates.html:63
-#. ($QueueObj->Name)
-msgid "Edit Templates for queue %1"
-msgstr "编辑表单 %1 的模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Workflows for queue %1"
-msgstr "编辑表单 %1 的流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit keywords"
-msgstr "编辑关键词"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "Edit saved searches for this group"
-msgstr "编辑此群组的预存查询"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit scrips"
-msgstr "编辑手续"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:60 html/Admin/Global/index.html:67
-msgid "Edit system templates"
-msgstr "编辑全域模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit system workflows"
-msgstr "编辑全域流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit templates for %1"
-msgstr "编辑 %1 的模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit workflows for %1"
-msgstr "编辑 %1 的流程"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "EditSavedSearches"
-msgstr "编辑预存查询"
-
-#: html/Admin/Queues/Modify.html:140
-#. ($QueueObj->Name)
-msgid "Editing Configuration for queue %1"
-msgstr "编辑表单 %1 的设定"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing Configuration for user %1"
-msgstr "编辑使用者 %1 的设定"
-
-#: html/Admin/CustomFields/Modify.html:167 html/Admin/Elements/EditCustomField:120
-#. ($CustomFieldObj->Name())
-msgid "Editing CustomField %1"
-msgstr "编辑自订字段 %1"
-
-#: html/Admin/Groups/Members.html:53
-#. ($Group->Name)
-msgid "Editing membership for group %1"
-msgstr "编辑群组 %1 的成员信息"
-
-#: html/User/Groups/Members.html:150
-#. ($Group->Name)
-msgid "Editing membership for personal group %1"
-msgstr "编辑代理人群组 %1 的成员信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing template %1"
-msgstr "编辑模板 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing workflow %1"
-msgstr "编辑流程 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Education"
-msgstr "最高学历"
-
-#: NOT FOUND IN SOURCE
-msgid "EffectiveId"
-msgstr "有效编号"
-
-#: lib/RT/Record.pm:1295 lib/RT/Record.pm:1372 lib/RT/Ticket_Overlay.pm:2518 lib/RT/Ticket_Overlay.pm:2608
-msgid "Either base or target must be specified"
-msgstr "需要指定起始申请单或目的申请单"
-
-#: html/Admin/Users/Modify.html:74 html/Ticket/Elements/AddWatchers:77 html/User/Prefs.html:65
-msgid "Email"
-msgstr "电子邮件信箱"
-
-#: NOT FOUND IN SOURCE
-msgid "Email Address"
-msgstr "电子邮件信箱"
-
-#: lib/RT/User_Overlay.pm:235
-msgid "Email address in use"
-msgstr "此电子邮件信箱已被使用"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailAddress"
-msgstr "电子邮件信箱地址"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailEncoding"
-msgstr "电子邮件文字编码方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Embark Date"
-msgstr "外籍员工入境日"
-
-#: NOT FOUND IN SOURCE
-msgid "Embarked Date"
-msgstr "抵达日期"
-
-#: NOT FOUND IN SOURCE
-msgid "Embarked Location"
-msgstr "抵达地点"
-
-#: NOT FOUND IN SOURCE
-msgid "Enable Delegates"
-msgstr "代理激活"
-
-#: html/Admin/CustomFields/Modify.html:98 html/Admin/Elements/EditCustomField:72
-msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "启用(取消勾选将停用此自订字段)"
-
-#: html/Admin/Groups/Modify.html:84 html/User/Groups/Modify.html:74
-msgid "Enabled (Unchecking this box disables this group)"
-msgstr "启用(取消勾选将停用此群组)"
-
-#: html/Admin/Queues/Modify.html:105
-msgid "Enabled (Unchecking this box disables this queue)"
-msgstr "启用(取消勾选将停用此表单)"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Custom Fields"
-msgstr "已启用的自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Date"
-msgstr "启用日期"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Date:"
-msgstr "激活日期:"
-
-#: html/Admin/Queues/index.html:78
-msgid "Enabled Queues"
-msgstr "已启用的表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Status"
-msgstr "启用状态"
-
-#: html/Admin/Elements/EditCustomField:136 html/Admin/Groups/Modify.html:150 html/Admin/Users/Modify.html:350 html/User/Groups/Modify.html:138
-#. (loc_fuzzy($msg))
-msgid "Enabled status %1"
-msgstr "启用状态 %1"
-
-#: html/Admin/CustomFields/Modify.html:185 html/Admin/Queues/Modify.html:162
-#. (loc_fuzzy($msg))
-msgid "Enabled status: %1"
-msgstr "启用状态: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "End of Trial"
-msgstr "试用期满日"
-
-#: NOT FOUND IN SOURCE
-msgid "English Name"
-msgstr "英文姓名"
-
-#: lib/RT/CustomField_Overlay.pm:64
-msgid "Enter multiple values"
-msgstr "键入多重项目"
-
-#: html/Elements/EditLinks:126
-msgid "Enter objects or URIs to link objects to. Separate multiple entries with spaces."
-msgstr "键入欲将对象连结至的对象或 URI。项目之间请以空白隔开。"
-
-#: NOT FOUND IN SOURCE
-msgid "Enter one or more conditions below to search for users"
-msgstr "键入下列单一或复式条件,查询用户数据"
-
-#: lib/RT/CustomField_Overlay.pm:65
-msgid "Enter one value"
-msgstr "键入单一项目"
-
-#: html/Elements/EditLinks:123
-msgid "Enter queues or URIs to link queues to. Separate multiple entries with spaces."
-msgstr "键入欲将表单连结至的对象或 URI。项目之间请以空白隔开。"
-
-#: html/Elements/EditLinks:119 html/Search/Bulk.html:189
-msgid "Enter tickets or URIs to link tickets to. Separate multiple entries with spaces."
-msgstr "键入申请单可链接到的申请单编号或网址。项目之间请以空白隔开。"
-
-#: lib/RT/CustomField_Overlay.pm:66
-msgid "Enter up to %1 values"
-msgstr "键入最多 %1 个项目"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryBoolean"
-msgstr "是非填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryDate"
-msgstr "日期填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryExternal"
-msgstr "系统填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryFreeform"
-msgstr "输入填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryMultiple"
-msgstr "多选填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryNumber"
-msgstr "数值填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntrySelect"
-msgstr "单选填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryTime"
-msgstr "时间填表"
-
-#: html/Elements/Login:76 html/SelfService/Error.html:46 html/SelfService/Error.html:47
-msgid "Error"
-msgstr "错误"
-
-#: NOT FOUND IN SOURCE
-msgid "Error adding watcher"
-msgstr "新增视察员失败"
-
-#: lib/RT/Queue_Overlay.pm:672
-msgid "Error in parameters to Queue->AddWatcher"
-msgstr "表单->新增视察员的参数有误"
-
-#: lib/RT/Queue_Overlay.pm:833
-msgid "Error in parameters to Queue->DeleteWatcher"
-msgstr "表单->删除视察员的参数有误"
-
-#: lib/RT/Ticket_Overlay.pm:1372
-msgid "Error in parameters to Ticket->AddWatcher"
-msgstr "申请单->新增视察员的参数有误"
-
-#: lib/RT/Ticket_Overlay.pm:1538
-msgid "Error in parameters to Ticket->DeleteWatcher"
-msgstr "申请单->删除视察员的参数有误"
-
-#: bin/rt-crontool:285
-msgid "Escalate tickets"
-msgstr "调整申请单优先等级"
-
-#: NOT FOUND IN SOURCE
-msgid "Estimate"
-msgstr "预计"
-
-#: html/Ticket/Elements/ShowBasics:57
-msgid "Estimated"
-msgstr "预计"
-
-#: etc/initialdata:20
-msgid "Everyone"
-msgstr "所有人"
-
-#: bin/rt-crontool:271
-msgid "Example:"
-msgstr "范例:"
-
-#: NOT FOUND IN SOURCE
-msgid "Existing user renamed from %1 to %2"
-msgstr "现有使用者 %1 已改名为 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Export"
-msgstr "汇出"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalAuthId"
-msgstr "外部认证帐号"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalContactInfoId"
-msgstr "外部联络方式帐号"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalDatabaseDSN"
-msgstr "外部数据库连结字符串"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalDatabasePass"
-msgstr "外部数据库口令"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalDatabaseUser"
-msgstr "外部数据库用户"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalURL"
-msgstr "外部接口网址"
-
-#: html/Admin/Users/Modify.html:99
-msgid "Extra info"
-msgstr "备注"
-
-#: lib/RT/SavedSearch.pm:177
-msgid "Failed to create search attribute"
-msgstr "查询属性建立失败"
-
-#: lib/RT/User_Overlay.pm:376
-msgid "Failed to find 'Privileged' users pseudogroup."
-msgstr "找不到‘内部成员’虚拟群组的使用者。"
-
-#: lib/RT/User_Overlay.pm:383
-msgid "Failed to find 'Unprivileged' users pseudogroup"
-msgstr "找不到‘非内部成员’虚拟群组的使用者。"
-
-#: bin/rt-crontool:206
-#. ($modname, $@)
-msgid "Failed to load module %1. (%2)"
-msgstr "无法加载模块 %1。(%2)"
-
-#: lib/RT/SavedSearch.pm:152
-#. ($privacy)
-msgid "Failed to load object for %1"
-msgstr "无法为 %1 加载对象。"
-
-#: NOT FOUND IN SOURCE
-msgid "Feb"
-msgstr "二月"
-
-#: lib/RT/Date.pm:442
-msgid "Feb."
-msgstr "02"
-
-#: NOT FOUND IN SOURCE
-msgid "February"
-msgstr "二月"
-
-#: NOT FOUND IN SOURCE
-msgid "Female"
-msgstr "女"
-
-#: NOT FOUND IN SOURCE
-msgid "Field Content:"
-msgstr "字段内容:"
-
-#: NOT FOUND IN SOURCE
-msgid "Field Description"
-msgstr "字段描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Field Name"
-msgstr "字段名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Field Type"
-msgstr "字段类别"
-
-#: html/Elements/SelectAttachmentField:50
-msgid "Filename"
-msgstr "档名"
-
-#: lib/RT/CustomField_Overlay.pm:69
-msgid "Fill in multiple text areas"
-msgstr "填入多个文字框"
-
-#: lib/RT/CustomField_Overlay.pm:74
-msgid "Fill in multiple wikitext areas"
-msgstr "填入多个 Wiki 文字框"
-
-#: lib/RT/CustomField_Overlay.pm:70
-msgid "Fill in one text area"
-msgstr "填入一个文字框"
-
-#: lib/RT/CustomField_Overlay.pm:75
-msgid "Fill in one wikitext area"
-msgstr "填入一个 Wiki 文字框"
-
-#: html/Admin/CustomFields/Modify.html:107 html/Admin/CustomFields/Modify.html:118
-msgid "Fill in this field with a URL."
-msgstr "填入一个网址"
-
-#: lib/RT/CustomField_Overlay.pm:71
-msgid "Fill in up to %1 text areas"
-msgstr "填入最多 %1 个文字框"
-
-#: lib/RT/CustomField_Overlay.pm:76
-msgid "Fill in up to %1 wikitext areas"
-msgstr "填入最多 %1 个 Wiki 文字框"
-
-#: NOT FOUND IN SOURCE
-msgid "Filter"
-msgstr "筛选"
-
-#: NOT FOUND IN SOURCE
-msgid "Filter people"
-msgstr "对象筛选"
-
-#: NOT FOUND IN SOURCE
-msgid "Filtered list:"
-msgstr "筛选列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Fin"
-msgstr "最终"
-
-#: html/Search/Elements/PickBasics:149 html/Ticket/Create.html:182 html/Ticket/Elements/EditBasics:97 lib/RT/Tickets_Overlay.pm:1841
-msgid "Final Priority"
-msgstr "最终顺位"
-
-#: lib/RT/Ticket_Overlay.pm:1164
-msgid "FinalPriority"
-msgstr "最终顺位"
-
-#: NOT FOUND IN SOURCE
-msgid "Financial Department:"
-msgstr "财务部:"
-
-#: NOT FOUND IN SOURCE
-msgid "Find group whose"
-msgstr "寻找群组的"
-
-#: html/Admin/Groups/index.html:72 html/Admin/Queues/People.html:82 html/Ticket/Elements/EditPeople:55
-msgid "Find groups whose"
-msgstr "寻找群组的"
-
-#: NOT FOUND IN SOURCE
-msgid "Find new/open tickets"
-msgstr "寻找/开启申请单"
-
-#: html/Admin/Queues/People.html:78 html/Admin/Users/index.html:70 html/Ticket/Elements/EditPeople:51
-msgid "Find people whose"
-msgstr "寻找人员的"
-
-#: NOT FOUND IN SOURCE
-msgid "Find queues whose"
-msgstr "寻找表单的"
-
-#: html/Search/Results.html:147
-msgid "Find tickets"
-msgstr "寻找申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Finish Approval"
-msgstr "签核完毕"
-
-#: html/Ticket/Elements/Tabs:81
-msgid "First"
-msgstr "第一项"
-
-#: NOT FOUND IN SOURCE
-msgid "First page"
-msgstr "第一页"
-
-#: NOT FOUND IN SOURCE
-msgid "First-"
-msgstr "一"
-
-#: NOT FOUND IN SOURCE
-msgid "First-level Admins"
-msgstr "一阶主管"
-
-#: NOT FOUND IN SOURCE
-msgid "First-level Users"
-msgstr "一阶主管员工"
-
-#: NOT FOUND IN SOURCE
-msgid "Fixed shift"
-msgstr "固定班"
-
-#: docs/design_docs/string-extraction-guide.txt:33 lib/RT/StyleGuide.pod:766
-msgid "Foo Bar Baz"
-msgstr "甲 乙 丙"
-
-#: docs/design_docs/string-extraction-guide.txt:24 lib/RT/StyleGuide.pod:757
-msgid "Foo!"
-msgstr "甲!"
-
-#: html/Search/Bulk.html:83
-msgid "Force change"
-msgstr "强制更换"
-
-#: NOT FOUND IN SOURCE
-msgid "Form Processing"
-msgstr "电子表单作业区"
-
-#: html/Search/Elements/EditFormat:52
-msgid "Format"
-msgstr "格式"
-
-#: html/Search/Results.html:145
-#. ($ticketcount)
-msgid "Found %quant(%1,ticket)"
-msgstr "找到 %1 张申请单"
-
-#: lib/RT/Record.pm:956
-msgid "Found Object"
-msgstr "已找到对象"
-
-#: NOT FOUND IN SOURCE
-msgid "Fourth-"
-msgstr "四"
-
-#: NOT FOUND IN SOURCE
-msgid "Freeform"
-msgstr "输入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformContactInfo"
-msgstr "联络方式"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformDate"
-msgstr "日期输入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformExternal"
-msgstr "系统字段"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformMultiple"
-msgstr "多重输入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformNumber"
-msgstr "数值输入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformPassword"
-msgstr "口令输入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformSingle"
-msgstr "单一输入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformTime"
-msgstr "时间输入"
-
-#: NOT FOUND IN SOURCE
-msgid "Fri"
-msgstr "星期五"
-
-#: lib/RT/Date.pm:421
-msgid "Fri."
-msgstr "星期五"
-
-#: html/Ticket/Elements/ShowHistory:66 html/Ticket/Elements/ShowHistory:72
-msgid "Full headers"
-msgstr "完整标头档"
-
-#: NOT FOUND IN SOURCE
-msgid "Gecos"
-msgstr "登入帐号"
-
-#: NOT FOUND IN SOURCE
-msgid "Gender"
-msgstr "性别"
-
-#: html/Tools/Offline.html:85
-msgid "Get template from file"
-msgstr "取出档案里的模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Getting the current user from a pgp sig\\n"
-msgstr "取得目前使用者的 pgp 签章\\n"
-
-#: lib/RT/Transaction_Overlay.pm:684
-#. ($New->Name)
-msgid "Given to %1"
-msgstr "交予 %1"
-
-#: html/Admin/Elements/Tabs:65 html/Admin/index.html:82
-msgid "Global"
-msgstr "全域设定"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Approval"
-msgstr "全域签核"
-
-#: html/Admin/Elements/EditCustomFields:55
-msgid "Global Custom Fields"
-msgstr "全域自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Keyword Selections"
-msgstr "全域关键词选取"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Rights:"
-msgstr "拥有全域权限列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Scrips"
-msgstr "全域手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Setup"
-msgstr "全域设定"
-
-#: html/Admin/Global/CustomFields/index.html:59
-msgid "Global custom field configuration"
-msgstr "全域自订字段设定"
-
-#: html/Admin/Global/MyRT.html:48
-#. ($pane)
-msgid "Global portlet %1 saved."
-msgstr "成功储存全域入口组件 %1。"
-
-#: html/Admin/Elements/SelectTemplate:59
-#. (loc($Template->Name))
-msgid "Global template: %1"
-msgstr "全域模板:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "GlobalApproval"
-msgstr "全域签核"
-
-#: html/Admin/CustomFields/index.html:80 html/Search/Results.html:90 html/Tools/Offline.html:89
-msgid "Go"
-msgstr "执行"
-
-#: html/Admin/Groups/index.html:67 html/Admin/Groups/index.html:73 html/Admin/Queues/People.html:80 html/Admin/Queues/People.html:84 html/Admin/Queues/index.html:66 html/Admin/Users/index.html:73 html/Elements/RefreshHomepage:48 html/Search/Results.html:74 html/Ticket/Elements/EditPeople:53 html/Ticket/Elements/EditPeople:57
-msgid "Go!"
-msgstr "执行"
-
-#: NOT FOUND IN SOURCE
-msgid "Good pgp sig from %1\\n"
-msgstr "%1 的 pgp 签章是正确的\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Goto page"
-msgstr "到页面"
-
-#: html/Elements/GotoTicket:46 html/SelfService/Elements/GotoTicket:46
-msgid "Goto ticket"
-msgstr "跳到申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Grand"
-msgstr "上"
-
-#: html/Ticket/Elements/AddWatchers:67 html/Ticket/Elements/ShowGroupMembers:55 html/User/Elements/DelegateRights:99
-msgid "Group"
-msgstr "群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Group %1 %2: %3"
-msgstr "群组 %1 %2:%3"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Admin"
-msgstr "群组管理员"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Description"
-msgstr "群组描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Management"
-msgstr "群组管理"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Members"
-msgstr "群组成员"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Name"
-msgstr "群组名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Name:"
-msgstr "群组名称:"
-
-#: html/Admin/Elements/CustomFieldTabs:68 html/Admin/Elements/GroupTabs:66 html/Admin/Elements/QueueTabs:82 html/Admin/Elements/SystemTabs:65 html/Admin/Global/index.html:76
-msgid "Group Rights"
-msgstr "群组权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Rights:"
-msgstr "拥有群组权限列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Setup"
-msgstr "群组设定"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Status"
-msgstr "群组状态"
-
-#: lib/RT/Group_Overlay.pm:983
-msgid "Group already has member"
-msgstr "群组内已有此成员"
-
-#: NOT FOUND IN SOURCE
-msgid "Group could not be created."
-msgstr "无法新增群组"
-
-#: html/Admin/Groups/Modify.html:109
-#. ($create_msg)
-msgid "Group could not be created: %1"
-msgstr "无法新增群组:%1"
-
-#: lib/RT/Group_Overlay.pm:521
-msgid "Group created"
-msgstr "群组新增完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "Group created: %1"
-msgstr "群组 %1 新增完毕"
-
-#: lib/RT/Group_Overlay.pm:1155
-msgid "Group has no such member"
-msgstr "群组没有这个成员"
-
-#: lib/RT/Group_Overlay.pm:963 lib/RT/Queue_Overlay.pm:748 lib/RT/Queue_Overlay.pm:808 lib/RT/Ticket_Overlay.pm:1430 lib/RT/Ticket_Overlay.pm:1510
-msgid "Group not found"
-msgstr "找不到群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Group not found.\\n"
-msgstr "找不到群组。\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Group not specified.\\n"
-msgstr "未指定群组。\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Group redescribed from %1 to %2"
-msgstr "群组描述 %1 已改为 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Group renamed from %1 to %2"
-msgstr "群组 %1 已改名为 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Group with Queue Rights"
-msgstr "拥有表单权限群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Group's"
-msgstr "群组之"
-
-#: NOT FOUND IN SOURCE
-msgid "Group:"
-msgstr "群组:"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:59 html/Admin/Elements/SelectNewGroupMembers:57 html/Admin/Elements/Tabs:56 html/Admin/Global/CustomFields/index.html:69 html/Admin/Groups/Members.html:86 html/Admin/Queues/People.html:104 html/Admin/Users/Memberships.html:53 html/Admin/index.html:67 html/User/Groups/Members.html:88 lib/RT/CustomField_Overlay.pm:1210
-msgid "Groups"
-msgstr "群组"
-
-#: lib/RT/Group_Overlay.pm:989
-msgid "Groups can't be members of their members"
-msgstr "不能将群组设为群组内成员"
-
-#: html/Admin/Groups/index.html:86
-msgid "Groups matching search criteria"
-msgstr "符合查询条件的群组"
-
-#: html/Ticket/Elements/ShowRequestor:77
-msgid "Groups this user belongs to"
-msgstr "使用者所属的群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Groups with Global Rights"
-msgstr "拥有全域权限群组"
-
-#: NOT FOUND IN SOURCE
-msgid "HRMSDefined"
-msgstr "组织架构"
-
-#: NOT FOUND IN SOURCE
-msgid "HTML Attributes"
-msgstr "HTML 属性"
-
-#: NOT FOUND IN SOURCE
-msgid "Health Insurance"
-msgstr "健保补助身份"
-
-#: lib/RT/Interface/CLI.pm:94 lib/RT/Interface/CLI.pm:94
-msgid "Hello!"
-msgstr "嗨!"
-
-#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:773
-#. ($name)
-msgid "Hello, %1"
-msgstr "嗨,%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Help"
-msgstr "说明"
-
-#: NOT FOUND IN SOURCE
-msgid "Help Desks"
-msgstr "各项业务窗口"
-
-#: NOT FOUND IN SOURCE
-msgid "Hidden"
-msgstr "隐藏"
-
-#: html/Admin/Elements/GroupTabs:70 html/Admin/Elements/UserTabs:64 html/Ticket/Elements/ShowHistory:53 html/Ticket/Elements/Tabs:111
-msgid "History"
-msgstr "纪录"
-
-#: html/Admin/Groups/History.html:62
-#. ($GroupObj->Name)
-msgid "History of the group %1"
-msgstr "群组 %1 的纪录"
-
-#: html/Admin/Users/History.html:62
-#. ($UserObj->Name)
-msgid "History of the user %1"
-msgstr "使用者 %1 的纪录"
-
-#: NOT FOUND IN SOURCE
-msgid "HomePhone"
-msgstr "住处电话"
-
-#: html/Elements/Tabs:65
-msgid "Homepage"
-msgstr "主页"
-
-#: NOT FOUND IN SOURCE
-msgid "Hotel Expense"
-msgstr "住宿费"
-
-#: html/Elements/SelectTimeUnits:48
-msgid "Hours"
-msgstr "小时"
-
-#: lib/RT/Base.pm:119
-#. (6)
-msgid "I have %quant(%1,concrete mixer)."
-msgstr "我有 %quant(%1,份固体搅拌器)。"
-
-#: html/Search/Build.html:460 lib/RT/Report/Tickets.pm:415
-msgid "I'm lost"
-msgstr "我昏了"
-
-#: NOT FOUND IN SOURCE
-msgid "ID Number"
-msgstr "身分证号"
-
-#: NOT FOUND IN SOURCE
-msgid "ID Type"
-msgstr "身分类别"
-
-#: html/Ticket/Elements/ShowBasics:48 lib/RT/Tickets_Overlay.pm:1766
-msgid "Id"
-msgstr "编号"
-
-#: html/Admin/Users/Modify.html:65 html/User/Prefs.html:60
-msgid "Identity"
-msgstr "身份"
-
-#: etc/initialdata:429
-msgid "If an approval is rejected, reject the original and delete pending approvals"
-msgstr "若签核单遭到驳回,则连带驳回原申请单,并删除其它相关的待签核事项"
-
-#: html/Tools/Offline.html:74
-msgid "If no Requestor is specified, create tickets with this requestor."
-msgstr "若没有指定申请者,则以此使用者作为申请者"
-
-#: html/Tools/Offline.html:65
-msgid "If no queue is specified, create tickets in this queue."
-msgstr "申请单若没有指定表单,则将它新增在此表单内"
-
-#: bin/rt-crontool:267
-msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
-msgstr "如果此工具程序为 setgid,恶意的本地端用户即能由此取得 RT 的管理员权限。"
-
-#: html/Admin/Queues/People.html:126 html/Ticket/Modify.html:60 html/Ticket/ModifyAll.html:128 html/Ticket/ModifyPeople.html:60
-msgid "If you've updated anything above, be sure to"
-msgstr "若您已更新以上数据,请记得按一下"
-
-#: lib/RT/Record.pm:947
-msgid "Illegal value for %1"
-msgstr "%1 的值错误"
-
-#: NOT FOUND IN SOURCE
-msgid "Image"
-msgstr "图片"
-
-#: lib/RT/Record.pm:950
-msgid "Immutable field"
-msgstr "此字段值不可更动"
-
-#: NOT FOUND IN SOURCE
-msgid "Import"
-msgstr "汇入"
-
-#: NOT FOUND IN SOURCE
-msgid "Include disabled custom fields in listing."
-msgstr "列出停用的自订字段"
-
-#: html/Admin/Groups/index.html:65
-msgid "Include disabled groups in listing."
-msgstr "列出停用的群组"
-
-#: html/Admin/Queues/index.html:65
-msgid "Include disabled queues in listing."
-msgstr "列出停用的表单"
-
-#: html/Admin/Users/index.html:71
-msgid "Include disabled users in search."
-msgstr "列出停用的使用者"
-
-#: html/Admin/CustomFields/Modify.html:113
-msgid "Include page"
-msgstr "引入页面"
-
-#: html/Search/Build.html:486 lib/RT/Report/Tickets.pm:441
-msgid "Incomplete Query"
-msgstr "不完整的查询"
-
-#: html/Search/Build.html:483 lib/RT/Report/Tickets.pm:438
-msgid "Incomplete query"
-msgstr "不完整的查询"
-
-#: NOT FOUND IN SOURCE
-msgid "Indirect Employee"
-msgstr "直接/间接员工"
-
-#: html/Search/Elements/PickBasics:148 lib/RT/Tickets_Overlay.pm:1816
-msgid "Initial Priority"
-msgstr "初始优先顺位"
-
-#: lib/RT/Ticket_Overlay.pm:1163 lib/RT/Ticket_Overlay.pm:1165
-msgid "InitialPriority"
-msgstr "初始优先顺位"
-
-#: lib/RT/ScripAction_Overlay.pm:133
-msgid "Input error"
-msgstr "输入错误"
-
-#: html/Elements/ValidateCustomFields:68 lib/RT/CustomField_Overlay.pm:1021 lib/RT/CustomField_Overlay.pm:1162
-#. ($self->FriendlyPattern)
-#. ($CF->FriendlyPattern)
-msgid "Input must match %1"
-msgstr "输入必须符合 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Interest noted"
-msgstr "登记成功"
-
-#: lib/RT/Ticket_Overlay.pm:3503
-msgid "Internal Error"
-msgstr "内部错误"
-
-#: lib/RT/Record.pm:308
-#. ($id->{error_message})
-msgid "Internal Error: %1"
-msgstr "内部错误:%1"
-
-#: lib/RT/Group_Overlay.pm:668
-msgid "Invalid Group Type"
-msgstr "错误的群组类别"
-
-#: lib/RT/Principal_Overlay.pm:161
-msgid "Invalid Right"
-msgstr "错误的权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid Type"
-msgstr "错误的类型"
-
-#: lib/RT/Record.pm:952
-msgid "Invalid data"
-msgstr "错误的数据"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid owner. Defaulting to 'nobody'."
-msgstr "错误的承办人。改为预设承办人‘nobody’。"
-
-#: lib/RT/CustomField_Overlay.pm:207 lib/RT/CustomField_Overlay.pm:678
-#. ($msg)
-msgid "Invalid pattern: %1"
-msgstr "不合理的样式:%1"
-
-#: lib/RT/Scrip_Overlay.pm:157 lib/RT/Template_Overlay.pm:244
-msgid "Invalid queue"
-msgstr "错误的表单"
-
-#: lib/RT/ACE_Overlay.pm:264 lib/RT/ACE_Overlay.pm:273 lib/RT/ACE_Overlay.pm:279 lib/RT/ACE_Overlay.pm:290
-msgid "Invalid right"
-msgstr "错误的权限"
-
-#: lib/RT/Record.pm:283
-#. ($key)
-msgid "Invalid value for %1"
-msgstr "%1 的值错误"
-
-#: lib/RT/Record.pm:1610
-msgid "Invalid value for custom field"
-msgstr "错误的自订字段值"
-
-#: lib/RT/Ticket_Overlay.pm:424
-msgid "Invalid value for status"
-msgstr "错误的状态值"
-
-#: NOT FOUND IN SOURCE
-msgid "IssueStatement"
-msgstr "送出陈述"
-
-#: bin/rt-crontool:268
-msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
-msgstr "请绝对不要让未具权限的使用者执行此工具程序。"
-
-#: bin/rt-crontool:269
-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 "建议您新增一个隶属于正确群组的低权限系统使用者,并以该身份执行此工具程序。"
-
-#: bin/rt-crontool:231
-msgid "It takes several arguments:"
-msgstr "它接受下列参数:"
-
-#: html/Search/Elements/EditFormat:85
-msgid "Italic"
-msgstr "斜体"
-
-#: NOT FOUND IN SOURCE
-msgid "Item Name"
-msgstr "品名"
-
-#: NOT FOUND IN SOURCE
-msgid "Items"
-msgstr "笔"
-
-#: NOT FOUND IN SOURCE
-msgid "Items pending my approval"
-msgstr "待签核项目"
-
-#: NOT FOUND IN SOURCE
-msgid "Jan"
-msgstr "一月"
-
-#: lib/RT/Date.pm:441
-msgid "Jan."
-msgstr "01"
-
-#: NOT FOUND IN SOURCE
-msgid "January"
-msgstr "一月"
-
-#: NOT FOUND IN SOURCE
-msgid "Job"
-msgstr "职称"
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "Join or leave this group"
-msgstr "加入或离开此群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Jul"
-msgstr "七月"
-
-#: lib/RT/Date.pm:447
-msgid "Jul."
-msgstr "07"
-
-#: NOT FOUND IN SOURCE
-msgid "July"
-msgstr "七月"
-
-#: html/Ticket/Elements/Tabs:125
-msgid "Jumbo"
-msgstr "全部信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Jun"
-msgstr "六月"
-
-#: lib/RT/Date.pm:446
-msgid "Jun."
-msgstr "06"
-
-#: NOT FOUND IN SOURCE
-msgid "June"
-msgstr "六月"
-
-#: NOT FOUND IN SOURCE
-msgid "Keyword"
-msgstr "关键词"
-
-#: NOT FOUND IN SOURCE
-msgid "LabelAttachments"
-msgstr "附件卷标"
-
-#: NOT FOUND IN SOURCE
-msgid "LabelContent"
-msgstr "内容卷标"
-
-#: NOT FOUND IN SOURCE
-msgid "LabelSubject"
-msgstr "主题卷标"
-
-#: NOT FOUND IN SOURCE
-msgid "LabelURL"
-msgstr "链接卷标"
-
-#: NOT FOUND IN SOURCE
-msgid "Lang"
-msgstr "使用语言"
-
-#: html/Admin/Users/Modify.html:94 html/User/Prefs.html:76
-msgid "Language"
-msgstr "语言"
-
-#: html/Search/Elements/EditFormat:79
-msgid "Large"
-msgstr "大"
-
-#: html/Ticket/Elements/Tabs:96
-msgid "Last"
-msgstr "上次更新"
-
-#: html/Ticket/Elements/EditDates:59 html/Ticket/Elements/ShowDates:60
-msgid "Last Contact"
-msgstr "上次联络"
-
-#: html/Elements/SelectDateType:50
-msgid "Last Contacted"
-msgstr "上次联络日期"
-
-#: NOT FOUND IN SOURCE
-msgid "Last Notified"
-msgstr "上次通知"
-
-#: html/Elements/SelectDateType:51
-msgid "Last Updated"
-msgstr "上次更新"
-
-#: NOT FOUND IN SOURCE
-msgid "LastUpdated"
-msgstr "上次更新"
-
-#: html/Search/Elements/PickBasics:103
-msgid "LastUpdatedBy"
-msgstr "上次更新者"
-
-#: html/Ticket/Elements/ShowBasics:68
-msgid "Left"
-msgstr "剩馀时间"
-
-#: html/Admin/Users/Modify.html:109
-msgid "Let this user access RT"
-msgstr "允许这名使用者登入"
-
-#: html/Admin/Users/Modify.html:113
-msgid "Let this user be granted rights"
-msgstr "内部成员(具有个人权限)"
-
-#: NOT FOUND IN SOURCE
-msgid "Limiting owner to %1 %2"
-msgstr "限制承办人为 %1 到%2"
-
-#: NOT FOUND IN SOURCE
-msgid "Limiting queue to %1 %2"
-msgstr "限制表单为 %1 到 %2"
-
-#: html/Search/Elements/EditFormat:68
-msgid "Link"
-msgstr "链接"
-
-#: NOT FOUND IN SOURCE
-msgid "Link a Queue"
-msgstr "申请表单连结"
-
-#: lib/RT/Record.pm:1306
-msgid "Link already exists"
-msgstr "此链接已存在"
-
-#: lib/RT/Record.pm:1320
-msgid "Link could not be created"
-msgstr "无法新增链接"
-
-#: lib/RT/Record.pm:1326
-#. ($TransString)
-msgid "Link created (%1)"
-msgstr "链接(%1)新增完毕"
-
-#: lib/RT/Record.pm:1387
-#. ($TransString)
-msgid "Link deleted (%1)"
-msgstr "链接(%1)删除完毕"
-
-#: lib/RT/Record.pm:1393
-msgid "Link not found"
-msgstr "找不到链接"
-
-#: html/Ticket/ModifyLinks.html:46 html/Ticket/ModifyLinks.html:50
-#. ($Ticket->Id)
-msgid "Link ticket #%1"
-msgstr "链接申请单 #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Link ticket %1"
-msgstr "链接申请单 %1"
-
-#: html/Admin/CustomFields/Modify.html:102
-msgid "Link values to"
-msgstr "将值连结至"
-
-#: lib/RT/Ticket_Overlay.pm:700
-msgid "Linking. Permission denied"
-msgstr "连结中。权限不足"
-
-#: html/Ticket/Create.html:216 html/Ticket/Elements/ShowSummary:89 html/Ticket/Elements/Tabs:120 html/Ticket/ModifyAll.html:78
-msgid "Links"
-msgstr "链接"
-
-#: NOT FOUND IN SOURCE
-msgid "List All Users"
-msgstr "列出所有用户数据"
-
-#: html/Search/Elements/EditSearches:75
-msgid "Load"
-msgstr "加载"
-
-#: html/Search/Elements/EditSearches:73
-msgid "Load saved search:"
-msgstr "加载预存查询:"
-
-#: lib/RT/System.pm:86
-msgid "LoadSavedSearch"
-msgstr "加载预存查询"
-
-#: html/Admin/Tools/Configuration.html:64
-msgid "Loaded perl modules"
-msgstr "已加载的 Perl 模块"
-
-#: lib/RT/SavedSearch.pm:111
-#. ($self->Name)
-msgid "Loaded search %1"
-msgstr "已加载查询 %1"
-
-#: html/Admin/Users/Modify.html:138 html/User/Prefs.html:126
-msgid "Location"
-msgstr "位置"
-
-#: NOT FOUND IN SOURCE
-msgid "Log directory %1 not found or couldn't be written.\\n RT can't run."
-msgstr "登入目录 %1 找不到或无法写入\\n。无法执行 RT。"
-
-#: NOT FOUND IN SOURCE
-msgid "LogToFile"
-msgstr "纪录等级"
-
-#: NOT FOUND IN SOURCE
-msgid "LogToFileNamed"
-msgstr "纪录档名"
-
-#: html/Elements/Header:91
-#. ("<span>".$session{'CurrentUser'}->Name."</span>")
-msgid "Logged in as %1"
-msgstr "使用者:%1"
-
-#: docs/design_docs/string-extraction-guide.txt:71 html/Elements/Login:100 html/Elements/Login:68 html/Elements/Login:84 lib/RT/StyleGuide.pod:797
-msgid "Login"
-msgstr "登入"
-
-#: html/Elements/Header:101
-msgid "Logout"
-msgstr "注销"
-
-#: NOT FOUND IN SOURCE
-msgid "Long-term contractor"
-msgstr "长期契约员工"
-
-#: lib/RT/CustomField_Overlay.pm:932
-msgid "Lookup type mismatch"
-msgstr "对应的类别不符"
-
-#: html/Search/Bulk.html:82
-msgid "Make Owner"
-msgstr "新增承办人"
-
-#: html/Search/Bulk.html:106
-msgid "Make Status"
-msgstr "新增现况"
-
-#: html/Search/Bulk.html:114
-msgid "Make date Due"
-msgstr "新增到期日"
-
-#: html/Search/Bulk.html:116
-msgid "Make date Resolved"
-msgstr "新增解决日期"
-
-#: html/Search/Bulk.html:110
-msgid "Make date Started"
-msgstr "新增实际起始日期"
-
-#: html/Search/Bulk.html:108
-msgid "Make date Starts"
-msgstr "新增应起始日期"
-
-#: html/Search/Bulk.html:112
-msgid "Make date Told"
-msgstr "新增报告日期"
-
-#: html/Search/Bulk.html:102
-msgid "Make priority"
-msgstr "新增优先顺位"
-
-#: html/Search/Bulk.html:104
-msgid "Make queue"
-msgstr "新增表单"
-
-#: html/Search/Bulk.html:100
-msgid "Make subject"
-msgstr "新增主题"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "Make this group visible to user"
-msgstr "让此群组能被使用者看见"
-
-#: NOT FOUND IN SOURCE
-msgid "Male"
-msgstr "男"
-
-#: html/Admin/index.html:78
-msgid "Manage custom fields and custom field values"
-msgstr "管理自订字段及字段值"
-
-#: html/Admin/index.html:69
-msgid "Manage groups and group membership"
-msgstr "管理群组及所属成员"
-
-#: html/Admin/index.html:85
-msgid "Manage properties and configuration which apply to all queues"
-msgstr "管理适用于所有表单的属性与设定"
-
-#: html/Admin/index.html:74
-msgid "Manage queues and queue-specific properties"
-msgstr "管理各表单及相关属性"
-
-#: html/Admin/index.html:64
-msgid "Manage users and passwords"
-msgstr "管理使用者与口令"
-
-#: NOT FOUND IN SOURCE
-msgid "Manager"
-msgstr "经理"
-
-#: NOT FOUND IN SOURCE
-msgid "Mar"
-msgstr "三月"
-
-#: lib/RT/Date.pm:443
-msgid "Mar."
-msgstr "03"
-
-#: NOT FOUND IN SOURCE
-msgid "March"
-msgstr "三月"
-
-#: NOT FOUND IN SOURCE
-msgid "Marketing Department"
-msgstr "行销部"
-
-#: NOT FOUND IN SOURCE
-msgid "Match Pattern"
-msgstr "符合样式"
-
-#: NOT FOUND IN SOURCE
-msgid "May"
-msgstr "五月"
-
-#: lib/RT/Date.pm:445
-msgid "May."
-msgstr "05"
-
-#: lib/RT/Transaction_Overlay.pm:731
-#. ($value)
-msgid "Member %1 added"
-msgstr "成员 %1 新增完毕"
-
-#: lib/RT/Transaction_Overlay.pm:771
-#. ($value)
-msgid "Member %1 deleted"
-msgstr "成员 %1 删除完毕"
-
-#: lib/RT/Group_Overlay.pm:1000
-msgid "Member added"
-msgstr "新增成员完毕"
-
-#: lib/RT/Group_Overlay.pm:1162
-msgid "Member deleted"
-msgstr "成员已删除"
-
-#: lib/RT/Group_Overlay.pm:1166
-msgid "Member not deleted"
-msgstr "成员未删除"
-
-#: html/Elements/SelectLinkType:47
-msgid "Member of"
-msgstr "隶属于"
-
-#: NOT FOUND IN SOURCE
-msgid "Member since"
-msgstr "注册日期"
-
-#: NOT FOUND IN SOURCE
-msgid "MemberOf"
-msgstr "隶属于"
-
-#: html/Admin/Elements/GroupTabs:63 html/User/Elements/GroupTabs:63
-msgid "Members"
-msgstr "成员"
-
-#: lib/RT/Transaction_Overlay.pm:728
-#. ($value)
-msgid "Membership in %1 added"
-msgstr "所属群组 %1 加入完毕"
-
-#: lib/RT/Transaction_Overlay.pm:768
-#. ($value)
-msgid "Membership in %1 deleted"
-msgstr "所属群组 %1 移除完毕"
-
-#: html/Admin/Elements/UserTabs:61
-msgid "Memberships"
-msgstr "所属群组"
-
-#: html/Admin/Users/Memberships.html:60
-#. ($UserObj->Name)
-msgid "Memberships of the user %1"
-msgstr "使用者 %1 的所属群组"
-
-#: lib/RT/Ticket_Overlay.pm:2893
-msgid "Merge Successful"
-msgstr "整合完毕"
-
-#: lib/RT/Ticket_Overlay.pm:2780
-msgid "Merge failed. Couldn't set EffectiveId"
-msgstr "整合失败。无法设定 EffectiveId"
-
-#: lib/RT/Ticket_Overlay.pm:2788
-msgid "Merge failed. Couldn't set Status"
-msgstr "整合失败。无法设定 Status"
-
-#: html/Elements/EditLinks:131 html/Ticket/Elements/BulkLinks:48
-msgid "Merge into"
-msgstr "整合进"
-
-#: lib/RT/Transaction_Overlay.pm:734
-#. ($value)
-msgid "Merged into %1"
-msgstr "已整合进 %1"
-
-#: html/Search/Bulk.html:143 html/Ticket/Update.html:118
-msgid "Message"
-msgstr "讯息"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:164
-msgid "Message body not shown because it is too large or is not plain text."
-msgstr "信件内文不是纯文字,因此无法显示。"
-
-#: lib/RT/Ticket_Overlay.pm:2451
-msgid "Message could not be recorded"
-msgstr "无法纪录讯息"
-
-#: lib/RT/Ticket_Overlay.pm:2454
-msgid "Message recorded"
-msgstr "讯息纪录成功"
-
-#: html/Ticket/Elements/PreviewScrips:122
-msgid "Messages about this ticket will not be sent to..."
-msgstr "此申请单的相关讯息不会寄送给..."
-
-#: html/Elements/SelectTimeUnits:47
-msgid "Minutes"
-msgstr "分钟"
-
-#: NOT FOUND IN SOURCE
-msgid "Misc. Expense"
-msgstr "杂费"
-
-#: html/Search/Build.html:490 lib/RT/Report/Tickets.pm:445
-msgid "Mismatched parentheses"
-msgstr "未对齐的括号"
-
-#: lib/RT/Record.pm:954
-msgid "Missing a primary key?: %1"
-msgstr "缺少主键值?(%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Missing mandatory fields"
-msgstr "缺少必填字段"
-
-#: html/Admin/Users/Modify.html:193 html/User/Prefs.html:92
-msgid "Mobile"
-msgstr "行动电话"
-
-#: NOT FOUND IN SOURCE
-msgid "MobilePhone"
-msgstr "行动电话"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "Modify Access Control List"
-msgstr "更改权限控制清单"
-
-#: html/Admin/Elements/ObjectCustomFields:96
-#. (loc(lc($FriendlySubTypes)), loc(lc($Types)))
-msgid "Modify Custom Fields which apply to %1 for all %2"
-msgstr "更改适用于 %1 内所有 %2 的自订字段"
-
-#: html/Admin/Elements/ObjectCustomFields:98
-#. (loc(lc($Types)))
-msgid "Modify Custom Fields which apply to all %1"
-msgstr "更改适用于所有%1的自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Custom Fields which apply to all queues"
-msgstr "更改适用于所有表单的自订字段"
-
-#: html/Admin/Global/GroupRights.html:106 html/Admin/Groups/GroupRights.html:94 html/Admin/Queues/GroupRights.html:107
-msgid "Modify Group Rights"
-msgstr "更改群组权限"
-
-#: html/Admin/Groups/Members.html:105 html/User/Groups/Members.html:101
-msgid "Modify Members"
-msgstr "更改成员"
-
-#: html/User/Delegation.html:58
-msgid "Modify Rights"
-msgstr "更改权限"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "Modify Scrip templates for this queue"
-msgstr "更改此表单的模板"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "Modify Scrips for this queue"
-msgstr "更改此表单的手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify System ACLS"
-msgstr "更改系统权限清单"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Template %1"
-msgstr "更改模板 %1"
-
-#: html/Admin/Global/UserRights.html:75 html/Admin/Groups/UserRights.html:76 html/Admin/Queues/UserRights.html:75
-msgid "Modify User Rights"
-msgstr "更改使用者权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Workflow"
-msgstr "更改流程"
-
-#: html/Admin/Queues/CustomField.html:66
-#. ($QueueObj->Name())
-msgid "Modify a CustomField for queue %1"
-msgstr "更改 %1 表单内的自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify a CustomField that applies to all queues"
-msgstr "更改适用于所有表单的自订字段"
-
-#: html/Admin/Queues/Scrip.html:82
-#. ($QueueObj->Name)
-msgid "Modify a scrip for queue %1"
-msgstr "更改 %1 表单内的手续"
-
-#: html/Admin/Global/Scrip.html:75
-msgid "Modify a scrip that applies to all queues"
-msgstr "更改适用于所有表单的手续"
-
-#: html/Admin/CustomFields/Objects.html:90
-#. ($CF->Name)
-msgid "Modify associated objects for %1"
-msgstr "更改适用 %1 的对象"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify dates for # %1"
-msgstr "更改 # %1 的日期"
-
-#: html/Ticket/ModifyDates.html:46 html/Ticket/ModifyDates.html:50
-#. ($TicketObj->Id)
-msgid "Modify dates for #%1"
-msgstr "更改 #%1 的日期"
-
-#: html/Ticket/ModifyDates.html:57
-#. ($TicketObj->Id)
-msgid "Modify dates for ticket # %1"
-msgstr "更改申请单 # %1 的日期"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:65 html/Admin/Global/index.html:72
-msgid "Modify global custom fields"
-msgstr "更改全域自订字段"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:70 html/Admin/Global/GroupRights.html:46 html/Admin/Global/GroupRights.html:49 html/Admin/Global/index.html:77
-msgid "Modify global group rights"
-msgstr "更改全域设定的群组权限"
-
-#: html/Admin/Global/GroupRights.html:54
-msgid "Modify global group rights."
-msgstr "更改全域设定的群组权限。"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global rights for groups"
-msgstr "更改全域设定的群组权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global rights for users"
-msgstr "更改全域设定的使用者权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global scrips"
-msgstr "更改全域手续"
-
-#: html/Admin/Global/UserRights.html:46 html/Admin/Global/UserRights.html:49 html/Admin/Global/index.html:81
-msgid "Modify global user rights"
-msgstr "更改全域设定的使用者权限"
-
-#: html/Admin/Global/UserRights.html:54
-msgid "Modify global user rights."
-msgstr "更改全域设定的使用者权限。"
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "Modify group metadata or delete group"
-msgstr "更改群组数据及删除群组"
-
-#: html/Admin/CustomFields/GroupRights.html:164
-#. ($CustomFieldObj->Name)
-msgid "Modify group rights for custom field %1"
-msgstr "更改自订字段 %1 的群组权限"
-
-#: html/Admin/Groups/GroupRights.html:46 html/Admin/Groups/GroupRights.html:50 html/Admin/Groups/GroupRights.html:56
-#. ($GroupObj->Name)
-msgid "Modify group rights for group %1"
-msgstr "更改群组 %1 的群组权限"
-
-#: html/Admin/Queues/GroupRights.html:46 html/Admin/Queues/GroupRights.html:50
-#. ($QueueObj->Name)
-msgid "Modify group rights for queue %1"
-msgstr "更改表单 %1 的群组权限"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "Modify membership roster for this group"
-msgstr "更改此群组的成员名单"
-
-#: lib/RT/System.pm:82
-msgid "Modify one's own RT account"
-msgstr "更改个人的帐号信息"
-
-#: html/Admin/Queues/People.html:46 html/Admin/Queues/People.html:50
-#. ($QueueObj->Name)
-msgid "Modify people related to queue %1"
-msgstr "更改链接到表单 %1 的人员"
-
-#: html/Ticket/ModifyPeople.html:46 html/Ticket/ModifyPeople.html:50 html/Ticket/ModifyPeople.html:57
-#. ($Ticket->id)
-#. ($Ticket->Id)
-msgid "Modify people related to ticket #%1"
-msgstr "更改申请单 #%1 链接到的人员"
-
-#: html/Admin/Queues/Scrips.html:67
-#. ($QueueObj->Name)
-msgid "Modify scrips for queue %1"
-msgstr "更改表单 %1 的手续"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:56 html/Admin/Global/Scrips.html:65 html/Admin/Global/index.html:63
-msgid "Modify scrips which apply to all queues"
-msgstr "更改适用于所有表单的手续"
-
-#: html/Admin/Global/Template.html:102 html/Admin/Global/Template.html:46 html/Admin/Global/Template.html:51 html/Admin/Queues/Template.html:99
-#. (loc($TemplateObj->Name()))
-#. ($TemplateObj->id)
-msgid "Modify template %1"
-msgstr "更改模板 %1"
-
-#: html/Admin/Global/Templates.html:65
-msgid "Modify templates which apply to all queues"
-msgstr "更改适用于所有表单的模板"
-
-#: html/Admin/Global/index.html:85
-msgid "Modify the default \"RT at a glance\" view"
-msgstr "更改预设的‘RT 一览’检视"
-
-#: html/Admin/Groups/Modify.html:119 html/User/Groups/Modify.html:107
-#. ($Group->Name)
-msgid "Modify the group %1"
-msgstr "更改群组 %1"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "Modify the queue watchers"
-msgstr "更改表单视察员"
-
-#: html/Admin/Users/Modify.html:309
-#. ($UserObj->Name)
-msgid "Modify the user %1"
-msgstr "更改使用者 %1"
-
-#: html/Ticket/ModifyAll.html:58
-#. ($Ticket->Id)
-msgid "Modify ticket # %1"
-msgstr "更改申请单 # %1"
-
-#: html/Ticket/Modify.html:46 html/Ticket/Modify.html:49 html/Ticket/Modify.html:55
-#. ($TicketObj->Id)
-msgid "Modify ticket #%1"
-msgstr "更改申请单 # %1"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "Modify tickets"
-msgstr "更改申请单"
-
-#: html/Admin/CustomFields/UserRights.html:157
-#. ($CustomFieldObj->Name)
-msgid "Modify user rights for custom field %1"
-msgstr "更改自订字段 %1 的使用者权限"
-
-#: html/Admin/Groups/UserRights.html:46 html/Admin/Groups/UserRights.html:50 html/Admin/Groups/UserRights.html:56
-#. ($GroupObj->Name)
-msgid "Modify user rights for group %1"
-msgstr "更改群组 %1 的使用者权限"
-
-#: html/Admin/Queues/UserRights.html:46 html/Admin/Queues/UserRights.html:50
-#. ($QueueObj->Name)
-msgid "Modify user rights for queue %1"
-msgstr "更改表单 %1 的使用者权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify watchers for queue '%1'"
-msgstr "更改 '%1' 的视察员"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify workflow %1"
-msgstr "更改流程 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify workflows which apply to all queues"
-msgstr "更改适用于所有表单的流程"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "ModifyACL"
-msgstr "更改权限清单"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "ModifyCustomField"
-msgstr "更改自订字段"
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "ModifyOwnMembership"
-msgstr "更改自己是否属于某群组"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "ModifyQueueWatchers"
-msgstr "更改表单视察员"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "ModifyScrips"
-msgstr "更改手续"
-
-#: lib/RT/System.pm:82
-msgid "ModifySelf"
-msgstr "更改个人帐号"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "ModifyTemplate"
-msgstr "更改模板"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "ModifyTicket"
-msgstr "更改申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Mon"
-msgstr "星期一"
-
-#: lib/RT/Date.pm:417
-msgid "Mon."
-msgstr "星期一"
-
-#: NOT FOUND IN SOURCE
-msgid "More"
-msgstr "更多"
-
-#: html/Ticket/Elements/ShowRequestor:61
-#. ($name)
-msgid "More about %1"
-msgstr "关于 %1 的进一步信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Morning Shift"
-msgstr "早班"
-
-#: NOT FOUND IN SOURCE
-msgid "Move"
-msgstr "移动"
-
-#: NOT FOUND IN SOURCE
-msgid "Move All"
-msgstr "全移"
-
-#: html/Admin/Elements/PickCustomFields:83
-msgid "Move down"
-msgstr "下移"
-
-#: html/Admin/Elements/PickCustomFields:75
-msgid "Move up"
-msgstr "上移"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:48
-msgid "Multiple"
-msgstr "多重"
-
-#: lib/RT/User_Overlay.pm:226
-msgid "Must specify 'Name' attribute"
-msgstr "必须指定 'Name' 的属性"
-
-#: html/SelfService/Elements/MyRequests:57
-#. ($friendly_status)
-msgid "My %1 tickets"
-msgstr "我的 %1 申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "My Approvals"
-msgstr "表单签核"
-
-#: html/Tools/Elements/Tabs:63
-msgid "My Day"
-msgstr "今日事"
-
-#: NOT FOUND IN SOURCE
-msgid "My Requests"
-msgstr "表单申请追踪"
-
-#: NOT FOUND IN SOURCE
-msgid "My Tickets"
-msgstr "表单处理"
-
-#: html/Approvals/index.html:46 html/Approvals/index.html:47
-msgid "My approvals"
-msgstr "表单签核"
-
-#: html/Search/Elements/SearchPrivacy:50 html/Search/Elements/SelectSearchObject:53 html/Search/Elements/SelectSearchesForObjects:54
-msgid "My saved searches"
-msgstr "我的预存查询"
-
-#: html/Admin/CustomFields/Modify.html:58 html/Admin/Elements/AddCustomFieldValue:53 html/Admin/Elements/EditCustomField:55 html/Admin/Elements/EditCustomFieldValues:55 html/Admin/Elements/ModifyTemplate:49 html/Admin/Groups/Modify.html:65 html/Search/Bulk.html:157 html/User/Groups/Modify.html:65
-msgid "Name"
-msgstr "名称"
-
-#: lib/RT/User_Overlay.pm:233
-msgid "Name in use"
-msgstr "帐号已有人使用"
-
-#: NOT FOUND IN SOURCE
-msgid "Nationality"
-msgstr "国籍"
-
-#: NOT FOUND IN SOURCE
-msgid "Need approval from system administrator"
-msgstr "需先由系统管理员进行批准"
-
-#: html/Ticket/Elements/ShowDates:73
-msgid "Never"
-msgstr "从未更动"
-
-#: NOT FOUND IN SOURCE
-msgid "New"
-msgstr "新建立"
-
-#: html/Elements/EditLinks:117
-msgid "New Links"
-msgstr "新增关系"
-
-#: html/Admin/Users/Modify.html:119 html/User/Prefs.html:109
-msgid "New Password"
-msgstr "新的口令"
-
-#: etc/initialdata:332
-msgid "New Pending Approval"
-msgstr "新的待签核事项"
-
-#: NOT FOUND IN SOURCE
-msgid "New Query"
-msgstr "新增查询"
-
-#: NOT FOUND IN SOURCE
-msgid "New Request"
-msgstr "表单申请"
-
-#: html/Ticket/Elements/Tabs:212
-msgid "New Search"
-msgstr "新增查询"
-
-#: NOT FOUND IN SOURCE
-msgid "New Watchers"
-msgstr "新增视察员"
-
-#: html/Admin/Elements/CustomFieldTabs:93 html/Admin/Queues/CustomField.html:73
-msgid "New custom field"
-msgstr "新增自订字段"
-
-#: html/Admin/Elements/GroupTabs:77 html/User/Elements/GroupTabs:73
-msgid "New group"
-msgstr "新增群组"
-
-#: html/SelfService/Prefs.html:53
-msgid "New password"
-msgstr "新的口令"
-
-#: lib/RT/User_Overlay.pm:816
-msgid "New password notification sent"
-msgstr "送出新口令通知"
-
-#: html/Admin/Elements/QueueTabs:95
-msgid "New queue"
-msgstr "新增表单"
-
-#: html/Ticket/Elements/Reminders:118
-msgid "New reminder:"
-msgstr "新增提醒项目:"
-
-#: NOT FOUND IN SOURCE
-msgid "New request"
-msgstr "提出申请单"
-
-#: html/Admin/Elements/SelectRights:65
-msgid "New rights"
-msgstr "新增权限"
-
-#: html/Admin/Global/Scrip.html:63 html/Admin/Global/Scrips.html:60 html/Admin/Queues/Scrip.html:71 html/Admin/Queues/Scrips.html:76
-msgid "New scrip"
-msgstr "新增手续"
-
-#: NOT FOUND IN SOURCE
-msgid "New search"
-msgstr "重新查询"
-
-#: html/Admin/Global/Template.html:81 html/Admin/Global/Templates.html:60 html/Admin/Queues/Template.html:79 html/Admin/Queues/Templates.html:71
-msgid "New template"
-msgstr "新增模板"
-
-#: html/SelfService/Elements/Tabs:84 html/SelfService/Elements/Tabs:88
-msgid "New ticket"
-msgstr "提出申请单"
-
-#: lib/RT/Ticket_Overlay.pm:2757
-msgid "New ticket doesn't exist"
-msgstr "没有新申请单"
-
-#: html/Admin/Elements/UserTabs:81
-msgid "New user"
-msgstr "新增使用者"
-
-#: html/Admin/Elements/CreateUserCalled:47
-msgid "New user called"
-msgstr "新使用者名字"
-
-#: html/Admin/Queues/People.html:76 html/Ticket/Elements/EditPeople:50
-msgid "New watchers"
-msgstr "新视察员"
-
-#: NOT FOUND IN SOURCE
-msgid "New window setting"
-msgstr "更新窗口设定"
-
-#: NOT FOUND IN SOURCE
-msgid "New workflow"
-msgstr "新增流程"
-
-#: html/Helpers/CalPopup.html:58 html/Ticket/Elements/Tabs:92
-msgid "Next"
-msgstr "下一项"
-
-#: html/Elements/TicketList:104
-msgid "Next Page"
-msgstr "下一页"
-
-#: NOT FOUND IN SOURCE
-msgid "Next page"
-msgstr "下一页"
-
-#: NOT FOUND IN SOURCE
-msgid "NickName"
-msgstr "昵称"
-
-#: html/Admin/Users/Modify.html:84 html/User/Prefs.html:72
-msgid "Nickname"
-msgstr "昵称"
-
-#: NOT FOUND IN SOURCE
-msgid "Night Shift"
-msgstr "小夜班"
-
-#: NOT FOUND IN SOURCE
-msgid "No"
-msgstr "否"
-
-#: html/Admin/CustomFields/UserRights.html:145
-msgid "No Class defined"
-msgstr "尚未定义类别"
-
-#: html/Admin/CustomFields/Modify.html:166 html/Admin/Elements/EditCustomField:119
-msgid "No CustomField"
-msgstr "无自订字段"
-
-#: html/Admin/CustomFields/GroupRights.html:103
-msgid "No CustomField defined"
-msgstr "尚未定义自订字段"
-
-#: html/Admin/Groups/GroupRights.html:105 html/Admin/Groups/UserRights.html:92
-msgid "No Group defined"
-msgstr "尚未定义群组"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:482
-msgid "No Query"
-msgstr "没有查询"
-
-#: html/Admin/Queues/GroupRights.html:118 html/Admin/Queues/UserRights.html:89
-msgid "No Queue defined"
-msgstr "尚未定义表单"
-
-#: bin/rt-crontool:73
-msgid "No RT user found. Please consult your RT administrator.\\n"
-msgstr "找不到 RT 使用者。请向 RT 管理员查询。\\n"
-
-#: html/Admin/Global/Template.html:100 html/Admin/Queues/Template.html:97
-msgid "No Template"
-msgstr "没有模板"
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket "
-msgstr "未指定申请单。退出申请单 "
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket modifications\\n\\n"
-msgstr "未指定申请单。退出申请单更改\\n\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "No Workflow"
-msgstr "没有流程"
-
-#: html/Approvals/Elements/Approve:77
-msgid "No action"
-msgstr "暂不处理"
-
-#: lib/RT/Record.pm:949
-msgid "No column specified"
-msgstr "未指定字段"
-
-#: NOT FOUND IN SOURCE
-msgid "No command found\\n"
-msgstr "找不到命令"
-
-#: html/Ticket/Elements/ShowRequestor:68
-msgid "No comment entered about this user"
-msgstr "没有对这名使用者的评论"
-
-#: NOT FOUND IN SOURCE
-msgid "No correspondence attached"
-msgstr "没有附上申请单回复"
-
-#: lib/RT/Action/Generic.pm:185 lib/RT/Condition/Generic.pm:197 lib/RT/Search/ActiveTicketsInQueue.pm:77 lib/RT/Search/Generic.pm:134 lib/RT/Search/Googleish.pm:78
-#. (ref $self)
-msgid "No description for %1"
-msgstr "没有对 %1 的描述"
-
-#: lib/RT/Users_Overlay.pm:190
-msgid "No group specified"
-msgstr "未指定群组"
-
-#: html/Admin/Groups/index.html:52
-msgid "No groups matching search criteria found."
-msgstr "找不到符合查询条件的群组。"
-
-#: lib/RT/Ticket_Overlay.pm:2393
-msgid "No message attached"
-msgstr "没有附上讯息"
-
-#: lib/RT/User_Overlay.pm:1034
-msgid "No password set"
-msgstr "没有设定口令"
-
-#: lib/RT/Queue_Overlay.pm:361
-msgid "No permission to create queues"
-msgstr "没有新增表单的权限"
-
-#: lib/RT/Ticket_Overlay.pm:420
-#. ($QueueObj->Name)
-msgid "No permission to create tickets in the queue '%1'"
-msgstr "没有在表单 '%1' 新增申请单的权限"
-
-#: lib/RT/User_Overlay.pm:186
-msgid "No permission to create users"
-msgstr "没有新增使用者的权限"
-
-#: html/SelfService/Display.html:167
-msgid "No permission to display that ticket"
-msgstr "没有显示该申请单的权限"
-
-#: lib/RT/SavedSearch.pm:156
-msgid "No permission to save system-wide searches"
-msgstr "没有储存全域预存查询的权限"
-
-#: html/SelfService/Update.html:117
-msgid "No permission to view update ticket"
-msgstr "没有检视申请单更新的权限"
-
-#: lib/RT/Queue_Overlay.pm:795 lib/RT/Ticket_Overlay.pm:1489
-msgid "No principal specified"
-msgstr "未指定单位"
-
-#: html/Admin/Queues/People.html:175 html/Admin/Queues/People.html:185
-msgid "No principals selected."
-msgstr "未指定单位。"
-
-#: NOT FOUND IN SOURCE
-msgid "No protocol specified in %1"
-msgstr "%1 内未指定协议"
-
-#: html/Admin/Queues/index.html:57
-msgid "No queues matching search criteria found."
-msgstr "找不到符合查询条件的表单。"
-
-#: html/Admin/Elements/SelectRights:106
-msgid "No rights found"
-msgstr "找不到权限"
-
-#: html/Admin/Elements/SelectRights:53
-msgid "No rights granted."
-msgstr "没有选定权限"
-
-#: lib/RT/SavedSearch.pm:196
-msgid "No search loaded"
-msgstr "尚未加载查询"
-
-#: html/Search/Bulk.html:232
-msgid "No search to operate on."
-msgstr "没有要进行的查询"
-
-#: html/Elements/RT__Ticket/ColumnMap:137 html/Search/Results.rdf:78
-msgid "No subject"
-msgstr "没有标题"
-
-#: NOT FOUND IN SOURCE
-msgid "No ticket id specified"
-msgstr "未指定申请单编号"
-
-#: lib/RT/Transaction_Overlay.pm:528 lib/RT/Transaction_Overlay.pm:565
-msgid "No transaction type specified"
-msgstr "未指定更动报告类别"
-
-#: NOT FOUND IN SOURCE
-msgid "No user or email address specified"
-msgstr "未指定使用者或电子邮件地址"
-
-#: html/Admin/Users/index.html:55
-msgid "No users matching search criteria found."
-msgstr "找不到符合查询条件的使用者。"
-
-#: NOT FOUND IN SOURCE
-msgid "No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\\n"
-msgstr "找不到合格的 RT 使用者。RT cvs 处理器已停用。请向 RT 管理者询问。\\n"
-
-#: lib/RT/Record.pm:946
-msgid "No value sent to _Set!\\n"
-msgstr "_Set 没有收到任何值!\\n"
-
-#: html/Elements/QuickCreate:59
-msgid "Nobody"
-msgstr "没有人"
-
-#: lib/RT/Record.pm:951
-msgid "Nonexistant field?"
-msgstr "字段不存在?"
-
-#: NOT FOUND IN SOURCE
-msgid "Normal Users"
-msgstr "一般用户群组"
-
-#: html/Search/Chart:71 html/Search/Elements/Chart:88
-msgid "Not Set"
-msgstr "未设定"
-
-#: NOT FOUND IN SOURCE
-msgid "Not configured to fetch the content from a %1 in %2"
-msgstr "未设定成从 %2 内撷取 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Not logged in"
-msgstr "尚未登入"
-
-#: html/Elements/Header:96
-msgid "Not logged in."
-msgstr "尚未登入"
-
-#: lib/RT/Date.pm:397
-msgid "Not set"
-msgstr "尚未设定"
-
-#: html/NoAuth/Reminder.html:48
-msgid "Not yet implemented."
-msgstr "尚未完工。"
-
-#: NOT FOUND IN SOURCE
-msgid "Not yet implemented...."
-msgstr "尚未完工..."
-
-#: html/Approvals/Elements/Approve:81
-msgid "Notes"
-msgstr "备注"
-
-#: NOT FOUND IN SOURCE
-msgid "Notes:"
-msgstr "备注:"
-
-#: lib/RT/User_Overlay.pm:819
-msgid "Notification could not be sent"
-msgstr "无法送出通知"
-
-#: etc/initialdata:101
-msgid "Notify AdminCcs"
-msgstr "通知管理员副本收件人"
-
-#: etc/initialdata:97
-msgid "Notify AdminCcs as Comment"
-msgstr "以评论方式通知管理员副本收件人"
-
-#: 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 "以评论方式通知副本收件人"
-
-#: etc/initialdata:128
-msgid "Notify Other Recipients"
-msgstr "通知其它收件人"
-
-#: etc/initialdata:124
-msgid "Notify Other Recipients as Comment"
-msgstr "以评论方式通知其它收件人"
-
-#: etc/initialdata:85
-msgid "Notify Owner"
-msgstr "通知承办人"
-
-#: etc/initialdata:81
-msgid "Notify Owner as Comment"
-msgstr "以评论方式通知承办人"
-
-#: 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 "通知申请人"
-
-#: etc/initialdata:111
-msgid "Notify Requestors and Ccs"
-msgstr "通知申请人及副本收件人"
-
-#: etc/initialdata:106
-msgid "Notify Requestors and Ccs as Comment"
-msgstr "以评论方式通知申请人及副本收件人"
-
-#: etc/initialdata:120
-msgid "Notify Requestors, Ccs and AdminCcs"
-msgstr "通知申请人、副本及管理员副本收件人"
-
-#: etc/initialdata:116
-msgid "Notify Requestors, Ccs and AdminCcs as Comment"
-msgstr "以评论方式通知申请人、副本及管理员副本收件人"
-
-#: NOT FOUND IN SOURCE
-msgid "Notify people:"
-msgstr "通知对象"
-
-#: NOT FOUND IN SOURCE
-msgid "Nov"
-msgstr "十一月"
-
-#: lib/RT/Date.pm:451
-msgid "Nov."
-msgstr "11"
-
-#: NOT FOUND IN SOURCE
-msgid "November"
-msgstr "十一月"
-
-#: NOT FOUND IN SOURCE
-msgid "OIN104"
-msgstr "104eHRMS 接口"
-
-#: NOT FOUND IN SOURCE
-msgid "OK"
-msgstr "确定"
-
-#: html/Search/Elements/SelectAndOr:47
-msgid "OR"
-msgstr "OR"
-
-#: lib/RT/Record.pm:322
-msgid "Object could not be created"
-msgstr "无法新增对象"
-
-#: lib/RT/Record.pm:123
-msgid "Object could not be deleted"
-msgstr "无法删除对象"
-
-#: lib/RT/Record.pm:341
-msgid "Object created"
-msgstr "对象新增完毕"
-
-#: lib/RT/Record.pm:120
-msgid "Object deleted"
-msgstr "对象删除完毕"
-
-#: html/Admin/CustomFields/Objects.html:72 html/Admin/Elements/ObjectCustomFields:63
-#. ($ObjectType)
-#. ($LookupType)
-msgid "Object of type %1 cannot take custom fields"
-msgstr "自订字段不适用于类别为 %1 的对象"
-
-#: lib/RT/CustomField_Overlay.pm:967
-msgid "Object type mismatch"
-msgstr "对象类别不符"
-
-#: NOT FOUND IN SOURCE
-msgid "Occupation Status"
-msgstr "在职状态"
-
-#: NOT FOUND IN SOURCE
-msgid "Oct"
-msgstr "十月"
-
-#: lib/RT/Date.pm:450
-msgid "Oct."
-msgstr "10"
-
-#: NOT FOUND IN SOURCE
-msgid "October"
-msgstr "十月"
-
-#: NOT FOUND IN SOURCE
-msgid "Office Phone"
-msgstr "办公室电话"
-
-#: html/Tools/Elements/Tabs:55
-msgid "Offline"
-msgstr "离线"
-
-#: html/Tools/Offline.html:49
-msgid "Offline edits"
-msgstr "离线编辑"
-
-#: html/Tools/Offline.html:46
-msgid "Offline upload"
-msgstr "离线上载"
-
-#: html/Elements/SelectDateRelation:56
-msgid "On"
-msgstr "等于"
-
-#: lib/RT/Transaction_Overlay.pm:326
-#. ($self->CreatedAsString(), $self->CreatorObj->Name())
-msgid "On %1, %2 wrote:"
-msgstr "在 %1 时,%2 写到:"
-
-#: NOT FOUND IN SOURCE
-msgid "On Change"
-msgstr "更改申请单时"
-
-#: etc/initialdata:163
-msgid "On Comment"
-msgstr "评论时"
-
-#: etc/initialdata:156
-msgid "On Correspond"
-msgstr "回复申请单时"
-
-#: etc/initialdata:145
-msgid "On Create"
-msgstr "新增申请单时"
-
-#: etc/initialdata:184
-msgid "On Owner Change"
-msgstr "承办人改变时"
-
-#: etc/initialdata:177 etc/upgrade/3.1.17/content:15
-msgid "On Priority Change"
-msgstr "优先顺位改变时"
-
-#: etc/initialdata:192
-msgid "On Queue Change"
-msgstr "表单改变时"
-
-#: etc/initialdata:198
-msgid "On Resolve"
-msgstr "解决申请单时"
-
-#: etc/initialdata:169
-msgid "On Status Change"
-msgstr "现况改变时"
-
-#: etc/initialdata:150
-msgid "On Transaction"
-msgstr "发生更动时"
-
-#: html/Approvals/Elements/PendingMyApproval:70
-#. ("<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 "仅显示 %1 之后新增的申请单"
-
-#: html/Approvals/Elements/PendingMyApproval:68
-#. ("<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 "仅显示 %1 之前新增的申请单"
-
-#: html/Admin/CustomFields/index.html:75
-msgid "Only show custom fields for:"
-msgstr "仅显示适用于下列项目的自订字段:"
-
-#: NOT FOUND IN SOURCE
-msgid "Open"
-msgstr "开启"
-
-#: html/SelfService/index.html:46
-msgid "Open Tickets"
-msgstr "开启申请单"
-
-#: html/Ticket/Elements/Tabs:160
-msgid "Open it"
-msgstr "开启"
-
-#: html/SelfService/Elements/Tabs:75
-msgid "Open tickets"
-msgstr "开启的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in a new window"
-msgstr "在新窗口开启(列表的)申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in another window"
-msgstr "在另一个窗口开启(列表的)申请单"
-
-#: etc/initialdata:140
-msgid "Open tickets on correspondence"
-msgstr "收到回复时即开启申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Opened Tickets"
-msgstr "已申请运行中表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Opinion"
-msgstr "意见"
-
-#: NOT FOUND IN SOURCE
-msgid "Option Description"
-msgstr "选项描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Option Name"
-msgstr "选项名称"
-
-#: html/Prefs/MyRT.html:70
-msgid "Options"
-msgstr "选项"
-
-#: html/Search/Elements/DisplayOptions:59
-msgid "Order by"
-msgstr "排序方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Ordering and sorting"
-msgstr "顺序与排序方式"
-
-#: html/Admin/Users/Modify.html:141 html/User/Prefs.html:129
-msgid "Organization"
-msgstr "组织名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Organization:"
-msgstr "组织:"
-
-#: html/Approvals/Elements/Approve:53
-#. ($approving->Id, $approving->Subject)
-msgid "Originating ticket: #%1"
-msgstr "原申请单:#%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Other comma-delimited email addresses"
-msgstr "其它e-mail帐号 (仅e-mail通知;多笔帐号请用逗号','区隔)"
-
-#: NOT FOUND IN SOURCE
-msgid "Out of range"
-msgstr "期限外"
-
-#: lib/RT/Transaction_Overlay.pm:622
-msgid "Outgoing email about a comment recorded"
-msgstr "已纪录发送的评论邮件"
-
-#: lib/RT/Transaction_Overlay.pm:626
-msgid "Outgoing email recorded"
-msgstr "已纪录发送的邮件"
-
-#: html/Admin/Queues/Modify.html:90
-msgid "Over time, priority moves toward"
-msgstr "优先顺位随时间增加调整为"
-
-#: NOT FOUND IN SOURCE
-msgid "Override current custom fields with fields from %1"
-msgstr "以 %1 表单的自订字段取代现有字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Override global rights"
-msgstr "取代全域权限"
-
-#: NOT FOUND IN SOURCE
-msgid "OverrideGlobalACL status %1"
-msgstr "取代全域权限 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Overview"
-msgstr "总览"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "Own tickets"
-msgstr "承办申请单"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "OwnTicket"
-msgstr "承办申请单"
-
-#: etc/initialdata:38 html/Elements/QuickCreate:56 html/Search/Elements/PickBasics:101 html/Ticket/Create.html:72 html/Ticket/Elements/EditBasics:61 html/Ticket/Elements/EditPeople:64 html/Ticket/Elements/EditPeople:65 html/Ticket/Elements/Reminders:129 html/Ticket/Elements/ShowPeople:48 html/Ticket/Update.html:62 lib/RT/ACE_Overlay.pm:110 lib/RT/Tickets_Overlay.pm:2006
-msgid "Owner"
-msgstr "承办人"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner changed from %1 to %2"
-msgstr "承办人已从 %1 改为 %2"
-
-#: lib/RT/Ticket_Overlay.pm:505
-msgid "Owner could not be set."
-msgstr "无法设定承办人。"
-
-#: lib/RT/Transaction_Overlay.pm:672
-#. ($Old->Name , $New->Name)
-msgid "Owner forcibly changed from %1 to %2"
-msgstr "强制将承办人从 %1 改为 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner is"
-msgstr "承办人"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner's Phone"
-msgstr "承办人电话"
-
-#: NOT FOUND IN SOURCE
-msgid "Page #"
-msgstr " "
-
-#: html/Elements/TicketList:78
-#. ($Page, int($TotalFound/$Rows)+$oddRows)
-msgid "Page %1 of %2"
-msgstr "第 %1/%2 页"
-
-#: html/Admin/Users/Modify.html:198 html/User/Prefs.html:96
-msgid "Pager"
-msgstr "呼叫器"
-
-#: NOT FOUND IN SOURCE
-msgid "PagerPhone"
-msgstr "呼叫器号码"
-
-#: NOT FOUND IN SOURCE
-msgid "Parameter"
-msgstr "呼叫参数"
-
-#: NOT FOUND IN SOURCE
-msgid "Parent"
-msgstr "上级"
-
-#: html/Elements/EditLinks:144 html/Elements/EditLinks:76 html/Elements/ShowLinks:68 html/Ticket/Create.html:222 html/Ticket/Elements/BulkLinks:60
-msgid "Parents"
-msgstr "母申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Park Space"
-msgstr "停车位申请"
-
-#: html/Elements/Login:95 html/User/Prefs.html:105
-msgid "Password"
-msgstr "口令"
-
-#: html/NoAuth/Reminder.html:46
-msgid "Password Reminder"
-msgstr "口令提示"
-
-#: lib/RT/Transaction_Overlay.pm:781 lib/RT/User_Overlay.pm:1045
-msgid "Password changed"
-msgstr "口令更改完毕"
-
-#: lib/RT/User_Overlay.pm:1037 lib/RT/User_Overlay.pm:214
-#. ($RT::MinimumPasswordLength)
-msgid "Password needs to be at least %1 characters long"
-msgstr "口令长度至少必须为 %1 个字元"
-
-#: lib/RT/User_Overlay.pm:1044
-msgid "Password set"
-msgstr "口令已设定"
-
-#: NOT FOUND IN SOURCE
-msgid "Password too short"
-msgstr "口令太短"
-
-#: html/User/Prefs.html:240
-#. (loc_fuzzy($msg))
-msgid "Password: %1"
-msgstr "口令:%1"
-
-#: lib/RT/User_Overlay.pm:1030
-msgid "Password: Permission Denied"
-msgstr "口令:权限不足"
-
-#: html/Admin/Users/Modify.html:364
-msgid "Passwords do not match."
-msgstr "口令确认失败。"
-
-#: html/User/Prefs.html:242
-msgid "Passwords do not match. Your password has not been changed"
-msgstr "口令确认失败。您的口令并未改变。"
-
-#: NOT FOUND IN SOURCE
-msgid "Pelase select a queue"
-msgstr "请选择表单名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Pending Approval"
-msgstr "等待签核"
-
-#: html/Ticket/Elements/ShowSummary:62 html/Ticket/Elements/Tabs:119 html/Ticket/ModifyAll.html:72
-msgid "People"
-msgstr "人员"
-
-#: NOT FOUND IN SOURCE
-msgid "People with Queue Rights"
-msgstr "拥有表单权限人员"
-
-#: etc/initialdata:133
-msgid "Perform a user-defined action"
-msgstr "执行使用者自订的动作"
-
-#: html/Admin/Tools/Configuration.html:94
-msgid "Perl configuration"
-msgstr "Perl 设定"
-
-#: lib/RT/ACE_Overlay.pm:251 lib/RT/ACE_Overlay.pm:257 lib/RT/ACE_Overlay.pm:580 lib/RT/ACE_Overlay.pm:590 lib/RT/ACE_Overlay.pm:600 lib/RT/ACE_Overlay.pm:665 lib/RT/Attribute_Overlay.pm:158 lib/RT/Attribute_Overlay.pm:164 lib/RT/Attribute_Overlay.pm:405 lib/RT/Attribute_Overlay.pm:414 lib/RT/Attribute_Overlay.pm:427 lib/RT/CurrentUser.pm:116 lib/RT/CurrentUser.pm:125 lib/RT/CustomField_Overlay.pm:1017 lib/RT/CustomField_Overlay.pm:1138 lib/RT/CustomField_Overlay.pm:1281 lib/RT/CustomField_Overlay.pm:172 lib/RT/CustomField_Overlay.pm:189 lib/RT/CustomField_Overlay.pm:200 lib/RT/CustomField_Overlay.pm:374 lib/RT/CustomField_Overlay.pm:403 lib/RT/CustomField_Overlay.pm:763 lib/RT/CustomField_Overlay.pm:936 lib/RT/CustomField_Overlay.pm:971 lib/RT/Group_Overlay.pm:1117 lib/RT/Group_Overlay.pm:1121 lib/RT/Group_Overlay.pm:1130 lib/RT/Group_Overlay.pm:1240 lib/RT/Group_Overlay.pm:1244 lib/RT/Group_Overlay.pm:1250 lib/RT/Group_Overlay.pm:445 lib/RT/Group_Overlay.pm:542 lib/RT/Group_Overlay.pm:620 lib/RT/Group_Overlay.pm:628 lib/RT/Group_Overlay.pm:726 lib/RT/Group_Overlay.pm:730 lib/RT/Group_Overlay.pm:736 lib/RT/Group_Overlay.pm:922 lib/RT/Group_Overlay.pm:926 lib/RT/Group_Overlay.pm:939 lib/RT/Queue_Overlay.pm:1054 lib/RT/Queue_Overlay.pm:140 lib/RT/Queue_Overlay.pm:158 lib/RT/Queue_Overlay.pm:657 lib/RT/Queue_Overlay.pm:667 lib/RT/Queue_Overlay.pm:681 lib/RT/Queue_Overlay.pm:819 lib/RT/Queue_Overlay.pm:828 lib/RT/Queue_Overlay.pm:841 lib/RT/Scrip_Overlay.pm:149 lib/RT/Scrip_Overlay.pm:160 lib/RT/Scrip_Overlay.pm:224 lib/RT/Scrip_Overlay.pm:538 lib/RT/Template_Overlay.pm:108 lib/RT/Template_Overlay.pm:277 lib/RT/Ticket_Overlay.pm:1357 lib/RT/Ticket_Overlay.pm:1367 lib/RT/Ticket_Overlay.pm:1381 lib/RT/Ticket_Overlay.pm:1522 lib/RT/Ticket_Overlay.pm:1532 lib/RT/Ticket_Overlay.pm:1546 lib/RT/Ticket_Overlay.pm:1663 lib/RT/Ticket_Overlay.pm:1983 lib/RT/Ticket_Overlay.pm:2126 lib/RT/Ticket_Overlay.pm:2296 lib/RT/Ticket_Overlay.pm:2346 lib/RT/Ticket_Overlay.pm:2525 lib/RT/Ticket_Overlay.pm:2538 lib/RT/Ticket_Overlay.pm:2614 lib/RT/Ticket_Overlay.pm:2627 lib/RT/Ticket_Overlay.pm:2748 lib/RT/Ticket_Overlay.pm:2762 lib/RT/Ticket_Overlay.pm:2990 lib/RT/Ticket_Overlay.pm:3000 lib/RT/Ticket_Overlay.pm:3005 lib/RT/Ticket_Overlay.pm:3224 lib/RT/Ticket_Overlay.pm:3228 lib/RT/Ticket_Overlay.pm:3371 lib/RT/Ticket_Overlay.pm:3497 lib/RT/Transaction_Overlay.pm:516 lib/RT/Transaction_Overlay.pm:523 lib/RT/Transaction_Overlay.pm:551 lib/RT/Transaction_Overlay.pm:558 lib/RT/User_Overlay.pm:1176 lib/RT/User_Overlay.pm:1856 lib/RT/User_Overlay.pm:369 lib/RT/User_Overlay.pm:735 lib/RT/User_Overlay.pm:774
-msgid "Permission Denied"
-msgstr "权限不足"
-
-#: NOT FOUND IN SOURCE
-msgid "Permission Settings"
-msgstr "权限设定"
-
-#: lib/RT/Template_Overlay.pm:238 lib/RT/Template_Overlay.pm:247
-msgid "Permission denied"
-msgstr "权限不足"
-
-#: lib/RT/Template_Overlay.pm:372
-msgid "Permissions denied"
-msgstr "权限不足"
-
-#: NOT FOUND IN SOURCE
-msgid "Permitted Queues:"
-msgstr "拥有权限表单列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Personal"
-msgstr "代理人群组"
-
-#: html/User/Elements/Tabs:56
-msgid "Personal Groups"
-msgstr "代理人群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Personal Homepage"
-msgstr "个人首页"
-
-#: NOT FOUND IN SOURCE
-msgid "Personal Todo"
-msgstr "私人待办事项"
-
-#: html/User/Groups/index.html:51 html/User/Groups/index.html:61
-msgid "Personal groups"
-msgstr "代理人群组"
-
-#: html/User/Elements/DelegateRights:58
-msgid "Personal groups:"
-msgstr "代理人群组:"
-
-#: NOT FOUND IN SOURCE
-msgid "PersonalHomepage"
-msgstr "个人首页"
-
-#: NOT FOUND IN SOURCE
-msgid "Phase 1: Create/Rename Groups (%1)"
-msgstr "第一阶段:群组建立及改名 (%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Phase 2: Disable/Enable Groups (%1)"
-msgstr "第二阶段:群组停用及启用 (%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Phase 3: Create/Rename Users (%1)"
-msgstr "第三阶段:使用者建立及改名 (%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Phase 4: Disable/Enable Users (%1)"
-msgstr "第四阶段:使用者停用及启用 (%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Phone"
-msgstr "电话"
-
-#: NOT FOUND IN SOURCE
-msgid "Phone number"
-msgstr "电话号码"
-
-#: html/Admin/Users/Modify.html:180 html/User/Prefs.html:81
-msgid "Phone numbers"
-msgstr "电话号码"
-
-#: NOT FOUND IN SOURCE
-msgid "Pick"
-msgstr "挑选"
-
-#: NOT FOUND IN SOURCE
-msgid "Place of Departure"
-msgstr "出发地点"
-
-#: NOT FOUND IN SOURCE
-msgid "Placeholder"
-msgstr "尚未完工"
-
-#: NOT FOUND IN SOURCE
-msgid "Please Select"
-msgstr "请选择"
-
-#: NOT FOUND IN SOURCE
-msgid "Please check items to be deleted first."
-msgstr "请先选中要删除的对象"
-
-#: NOT FOUND IN SOURCE
-msgid "Please select a group"
-msgstr "请选择群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Please select a queue's workflow"
-msgstr "请选择表单流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Please select one of the category types above."
-msgstr "请从上面选择一项分类。"
-
-#: NOT FOUND IN SOURCE
-msgid "Please select role"
-msgstr "请选择角色"
-
-#: NOT FOUND IN SOURCE
-msgid "Policy"
-msgstr "经营规章"
-
-#: NOT FOUND IN SOURCE
-msgid "Position"
-msgstr "职务"
-
-#: NOT FOUND IN SOURCE
-msgid "Position Level"
-msgstr "职等"
-
-#: NOT FOUND IN SOURCE
-msgid "Position Name"
-msgstr "职务名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Position Number"
-msgstr "职务代码"
-
-#: NOT FOUND IN SOURCE
-msgid "Position Rank"
-msgstr "职级"
-
-#: NOT FOUND IN SOURCE
-msgid "Pref"
-msgstr "偏好"
-
-#: html/Elements/Header:93 html/Elements/Tabs:91 html/SelfService/Elements/Tabs:95 html/SelfService/Prefs.html:46 html/User/Prefs.html:46 html/User/Prefs.html:49
-msgid "Preferences"
-msgstr "偏好"
-
-#: html/Admin/Users/MyRT.html:75
-#. ($pane, $UserObj->Name)
-msgid "Preferences %1 for user %2 ."
-msgstr "使用者 %2 的 %1 偏好。"
-
-#: html/Prefs/MyRT.html:141
-#. ($pane)
-msgid "Preferences saved for %1."
-msgstr "成功储存 %1 的偏好。"
-
-#: NOT FOUND IN SOURCE
-msgid "Prefs"
-msgstr "个人信息"
-
-#: lib/RT/Action/Generic.pm:195
-msgid "Prepare Stubbed"
-msgstr "预备动作完毕"
-
-#: html/Helpers/CalPopup.html:56 html/Ticket/Elements/Tabs:84
-msgid "Prev"
-msgstr "上一项"
-
-#: html/Elements/TicketList:101
-msgid "Previous Page"
-msgstr "上一页"
-
-#: NOT FOUND IN SOURCE
-msgid "Previous page"
-msgstr "前一页"
-
-#: NOT FOUND IN SOURCE
-msgid "Pri"
-msgstr "优先顺位"
-
-#: lib/RT/ACE_Overlay.pm:157 lib/RT/ACE_Overlay.pm:239 lib/RT/ACE_Overlay.pm:569
-#. ($args{'PrincipalId'})
-msgid "Principal %1 not found."
-msgstr "找不到单位 %1。"
-
-#: html/Search/Elements/PickBasics:147 html/Ticket/Create.html:181 html/Ticket/Elements/EditBasics:92 html/Ticket/Elements/ShowBasics:72 lib/RT/Tickets_Overlay.pm:1790
-msgid "Priority"
-msgstr "优先顺位"
-
-#: html/Admin/Queues/Modify.html:86
-msgid "Priority starts at"
-msgstr "优先顺位起始值"
-
-#: html/Search/Elements/EditSearches:50
-msgid "Privacy:"
-msgstr "隐私设定:"
-
-#: etc/initialdata:25
-msgid "Privileged"
-msgstr "内部成员"
-
-#: html/Admin/Users/Modify.html:342 html/User/Prefs.html:231
-#. (loc_fuzzy($msg))
-msgid "Privileged status: %1"
-msgstr "内部成员状态:%1"
-
-#: html/Admin/Users/index.html:102
-msgid "Privileged users"
-msgstr "内部成员"
-
-#: NOT FOUND IN SOURCE
-msgid "Process Status"
-msgstr "处理状态"
-
-#: NOT FOUND IN SOURCE
-msgid "Project"
-msgstr "项目"
-
-#: NOT FOUND IN SOURCE
-msgid "Project Name"
-msgstr "项目名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Projects"
-msgstr "项目"
-
-#: etc/initialdata:23 etc/initialdata:29 etc/initialdata:35 etc/initialdata:59
-msgid "Pseudogroup for internal use"
-msgstr "内部用的虚拟群组"
-
-#: NOT FOUND IN SOURCE
-msgid "Public Description"
-msgstr "公开说明"
-
-#: NOT FOUND IN SOURCE
-msgid "Public Info"
-msgstr "公开信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Public Service"
-msgstr "公共事务区"
-
-#: NOT FOUND IN SOURCE
-msgid "Purging stale data: %1"
-msgstr "移除过期数据: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Query"
-msgstr "查询"
-
-#: html/Search/Build.html:121
-msgid "Query Builder"
-msgstr "建立查询"
-
-#: html/Search/Elements/Chart:101
-msgid "Query:"
-msgstr "查询:"
-
-#: html/Elements/QueueSummary:48 html/Elements/QuickCreate:54 html/Search/Elements/PickBasics:71 html/SelfService/Create.html:54 html/Ticket/Create.html:62 html/Ticket/Elements/EditBasics:57 html/Ticket/Elements/ShowBasics:76 html/Tools/Reports/CreatedByDates.html:85 html/Tools/Reports/ResolvedByDates.html:86 html/Tools/Reports/ResolvedByOwner.html:66 html/User/Elements/DelegateRights:101 lib/RT/Tickets_Overlay.pm:1617
-msgid "Queue"
-msgstr "表单"
-
-#: html/Admin/Queues/CustomField.html:63 html/Admin/Queues/Scrip.html:61 html/Admin/Queues/Scrips.html:69 html/Admin/Queues/Templates.html:65
-#. ($Queue)
-#. ($id)
-msgid "Queue %1 not found"
-msgstr "找不到表单 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue '%1' not found\\n"
-msgstr "找不到表单 '%1'\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Keyword Selections"
-msgstr "表单关键词选取"
-
-#: html/Admin/Queues/Modify.html:64
-msgid "Queue Name"
-msgstr "表单名称"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Owner"
-msgstr "业务承办人"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Priority"
-msgstr "优先等级"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Rights"
-msgstr "表单权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Scrips"
-msgstr "表单手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Setup"
-msgstr "表单设定"
-
-#: lib/RT/Queue_Overlay.pm:365
-msgid "Queue already exists"
-msgstr "表单已存在"
-
-#: lib/RT/Queue_Overlay.pm:374 lib/RT/Queue_Overlay.pm:380
-msgid "Queue could not be created"
-msgstr "无法新增表单"
-
-#: html/Ticket/Create.html:244 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:384 lib/RT/StyleGuide.pod:809
-msgid "Queue created"
-msgstr "表单新增完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue is not specified."
-msgstr "未指定表单。"
-
-#: html/SelfService/Display.html:126 lib/RT/CustomField_Overlay.pm:197
-msgid "Queue not found"
-msgstr "找不到表单"
-
-#: html/Admin/Elements/Tabs:59 html/Admin/index.html:72
-msgid "Queues"
-msgstr "表单"
-
-#: html/Elements/MyAdminQueues:46
-msgid "Queues I administer"
-msgstr "由我管理的表单"
-
-#: html/Elements/MySupportQueues:46
-msgid "Queues I'm an AdminCc for"
-msgstr "管理员副本有我的表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Quick Search"
-msgstr "表单现况"
-
-#: html/Elements/Quicksearch:47 html/Prefs/Elements/Tabs:58 html/Prefs/Quicksearch.html:70
-msgid "Quick search"
-msgstr "表单一览"
-
-#: html/Elements/QuickCreate:47
-msgid "Quick ticket creation"
-msgstr "快速建立申请单"
-
-#: html/Search/Results.html:81
-msgid "RSS"
-msgstr "RSS"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1"
-msgstr "RT %1"
-
-#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:796
-#. ($RT::VERSION, $RT::rtname)
-msgid "RT %1 for %2"
-msgstr "%2:RT %1 版"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1 from <a href=\"http://bestpractical.com\">Best Practical Solutions, LLC</a>."
-msgstr "RT %1 版,<a href=\"http://bestpractical.com\">Best Practical Solutions 公司</a>出品。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1. Copyright 1996-%1 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-msgstr "RT %1。版权所有 1996-%1 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1. Copyright 1996-2002 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-msgstr "RT %1。版权所有 1996-2002 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-
-#: html/Admin/index.html:46 html/Admin/index.html:47
-msgid "RT Administration"
-msgstr "RT 管理页面"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Authentication error."
-msgstr "RT 认证错误。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Bounce: %1"
-msgstr "RT 退信:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Configuration error"
-msgstr "RT 设定错误"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Critical error. Message not recorded!"
-msgstr "RT 致命错误。讯息未被纪录。"
-
-#: html/Elements/Error:63 html/SelfService/Error.html:62
-msgid "RT Error"
-msgstr "RT 错误"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Received mail (%1) from itself."
-msgstr "RT 收到从自己寄出的邮件 (%1)。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Recieved mail (%1) from itself."
-msgstr "RT 收到从自己寄出的邮件 (%1)。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Self Service"
-msgstr "RT 自助服务"
-
-#: html/Admin/Tools/Configuration.html:73
-msgid "RT Variables"
-msgstr "RT 的变数"
-
-#: html/Admin/Elements/SystemTabs:71 html/Admin/Elements/UserTabs:67 html/Admin/Global/MyRT.html:1 html/Admin/Global/MyRT.html:12 html/Admin/Global/MyRT.html:4 html/Admin/Global/index.html:84 html/Admin/Users/MyRT.html:21 html/Prefs/MyRT.html:66 html/Prefs/MyRT.html:78 html/User/Elements/Tabs:65 html/index.html:1 html/index.html:75
-msgid "RT at a glance"
-msgstr "RT 一览"
-
-#: html/Admin/Users/MyRT.html:30
-#. ($UserObj->Name)
-msgid "RT at a glance for the user %1"
-msgstr "使用者 %1 的 RT 一览"
-
-#: html/Admin/CustomFields/Modify.html:117
-msgid "RT can include content from another web service when showing this custom field."
-msgstr "RT 可于显示此自订字段时引入其它网站的内容"
-
-#: html/Admin/CustomFields/Modify.html:106
-msgid "RT can make this custom field's values into hyperlinks to another service."
-msgstr "RT 可将此自订字段的值视为连往其它网站的超链接"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't authenticate you"
-msgstr "RT 无法认证您的身份"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't find requestor via its external database lookup"
-msgstr "RT 无法从外部数据库查询找到申请人信息"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't find the queue: %1"
-msgstr "RT 找不到表单:%1"
-
-#: html/Elements/SetupSessionCookie:100
-msgid "RT couldn't store your session."
-msgstr "RT 无法储存您的登入阶段。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't validate this PGP signature. \\n"
-msgstr "RT 无法确认这个 PGP 签章。\\n"
-
-#: html/Elements/Logo:49 html/Elements/PageLayout:172
-#. ($RT::rtname)
-msgid "RT for %1"
-msgstr "%1 专用流程系统"
-
-#: NOT FOUND IN SOURCE
-msgid "RT for %1: %2"
-msgstr "%1 专用 RT 系统:%2"
-
-#: NOT FOUND IN SOURCE
-msgid "RT has proccessed your commands"
-msgstr "RT 已执行您的命令"
-
-#: NOT FOUND IN SOURCE
-msgid "RT is &copy; Copyright 1996-%1 Jesse Vincent &lt;jesse@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 版权所有 1996-%1 Jesse Vincent &lt;jesse@bestpractical.com&gt;。<br>本软体依 <a href=\"http://www.gnu.org/copyleft/gpl.html\">GNU 通用公共授权第二版</a> 散布。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT thinks this message may be a bounce"
-msgstr "RT 认为这可能是退信"
-
-#: html/Search/Simple.html:58
-msgid "RT will look for anything else you enter in ticket subjects."
-msgstr "RT 会在申请单主旨内搜寻将您键入的任何其它字样"
-
-#: NOT FOUND IN SOURCE
-msgid "RT will process this message as if it were unsigned.\\n"
-msgstr "RT 以未签章方式处理这封邮件。\\n"
-
-#: html/Admin/CustomFields/Modify.html:108 html/Admin/CustomFields/Modify.html:119
-msgid "RT will replace <tt>__id__</tt> and <tt>__CustomField__</tt> with the record id and custom field value, respectively"
-msgstr "RT 会将 <tt>__id__</tt> 及 <tt>__CustomField__</tt> 置换成纪录编号及自订字段"
-
-#: 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 的电子邮件命令模式须要 PGP 认证。您可能没有签章,或是您的签章无法辨识。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT::Queue-Role"
-msgstr "表单运行角色"
-
-#: NOT FOUND IN SOURCE
-msgid "RT::System-Role"
-msgstr "系统运行角色"
-
-#: NOT FOUND IN SOURCE
-msgid "RT::Ticket-Role"
-msgstr "申请单运行角色"
-
-#: NOT FOUND IN SOURCE
-msgid "RT_System"
-msgstr "系统讯息"
-
-#: NOT FOUND IN SOURCE
-msgid "Read Only"
-msgstr "只读"
-
-#: html/Admin/Users/Modify.html:79 html/User/Prefs.html:69
-msgid "Real Name"
-msgstr "真实姓名"
-
-#: NOT FOUND IN SOURCE
-msgid "RealName"
-msgstr "真实姓名"
-
-#: NOT FOUND IN SOURCE
-msgid "Really reject this ticket?"
-msgstr "您确定要驳回这张申请单吗?"
-
-#: lib/RT/Transaction_Overlay.pm:725
-#. ($value)
-msgid "Reference by %1 added"
-msgstr "已加入 %1 为参考本申请单"
-
-#: lib/RT/Transaction_Overlay.pm:765
-#. ($value)
-msgid "Reference by %1 deleted"
-msgstr "已移除 %1 为参考本申请单"
-
-#: lib/RT/Transaction_Overlay.pm:722
-#. ($value)
-msgid "Reference to %1 added"
-msgstr "已加入参考申请单 %1"
-
-#: lib/RT/Transaction_Overlay.pm:762
-#. ($value)
-msgid "Reference to %1 deleted"
-msgstr "已移除参考申请单 %1"
-
-#: html/Elements/EditLinks:103 html/Elements/EditLinks:156 html/Elements/ShowLinks:92 html/Ticket/Create.html:225 html/Ticket/Elements/BulkLinks:72
-msgid "Referred to by"
-msgstr "被参考"
-
-#: html/Elements/EditLinks:152 html/Elements/EditLinks:94 html/Elements/SelectLinkType:49 html/Elements/ShowLinks:82 html/Ticket/Create.html:224 html/Ticket/Elements/BulkLinks:68
-msgid "Refers to"
-msgstr "参考"
-
-#: NOT FOUND IN SOURCE
-msgid "RefersTo"
-msgstr "参考"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine"
-msgstr "在结果范围内查询"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine search"
-msgstr "调整查询条件"
-
-#: NOT FOUND IN SOURCE
-msgid "Refresh"
-msgstr "更新"
-
-#: html/Elements/Refresh:57
-#. ($value/60)
-msgid "Refresh this page every %1 minutes."
-msgstr "每 %1 分钟更新页面"
-
-#: lib/RT/Transaction_Overlay.pm:811
-#. ($ticket->Subject)
-msgid "Reminder '%1' added"
-msgstr "已建立提醒项目‘%1’"
-
-#: lib/RT/Transaction_Overlay.pm:824
-#. ($ticket->Subject)
-msgid "Reminder '%1' completed"
-msgstr "已完成提醒项目‘%1’"
-
-#: lib/RT/Transaction_Overlay.pm:817
-#. ($ticket->Subject)
-msgid "Reminder '%1' reopened"
-msgstr "已重新开启提醒项目‘%1’"
-
-#: html/Ticket/Reminders.html:46
-#. ($Ticket->Id)
-msgid "Reminder ticket #%1"
-msgstr "提醒项目 #%1"
-
-#: html/Elements/MyReminders:48 html/Ticket/Elements/ShowSummary:75 html/Ticket/Elements/Tabs:122 html/Ticket/Reminders.html:52
-msgid "Reminders"
-msgstr "提醒项目"
-
-#: html/Ticket/Reminders.html:50
-#. ($Ticket->Id)
-msgid "Reminders for ticket #%1"
-msgstr "申请单 #%1 的提醒项目"
-
-#: NOT FOUND IN SOURCE
-msgid "Remove"
-msgstr "移除"
-
-#: html/Search/Bulk.html:94
-msgid "Remove AdminCc"
-msgstr "移除管理员副本"
-
-#: html/Search/Bulk.html:90
-msgid "Remove Cc"
-msgstr "移除副本"
-
-#: html/Search/Bulk.html:86
-msgid "Remove Requestor"
-msgstr "移除申请人"
-
-#: html/Ticket/Elements/ShowTransaction:179 html/Ticket/Elements/Tabs:147
-msgid "Reply"
-msgstr "回复"
-
-#: html/Admin/Queues/Modify.html:72
-msgid "Reply Address"
-msgstr "回复地址"
-
-#: html/Search/Bulk.html:129 html/Ticket/ModifyAll.html:94 html/Ticket/Update.html:78
-msgid "Reply to requestors"
-msgstr "回复申请人"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "Reply to tickets"
-msgstr "对申请单进行回复"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "ReplyToTicket"
-msgstr "回复申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Report to Duty"
-msgstr "上下班刷卡"
-
-#: NOT FOUND IN SOURCE
-msgid "Reported on"
-msgstr "到职日期"
-
-#: html/Tools/Elements/Tabs:59 html/Tools/Reports/index.html:46 html/Tools/Reports/index.html:47
-msgid "Reports"
-msgstr "报表"
-
-#: etc/initialdata:44 lib/RT/ACE_Overlay.pm:111
-msgid "Requestor"
-msgstr "申请人"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor email address"
-msgstr "申请人电子邮件信箱地址"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor's"
-msgstr "申请人所属之第上"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor's Dept."
-msgstr "申请人所属部门之"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor's Phone"
-msgstr "申请人电话"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor(s)"
-msgstr "申请人"
-
-#: NOT FOUND IN SOURCE
-msgid "RequestorAddresses"
-msgstr "申请人地址"
-
-#: html/SelfService/Create.html:63 html/Ticket/Create.html:80 html/Ticket/Elements/EditPeople:69 html/Ticket/Elements/ShowPeople:52
-msgid "Requestors"
-msgstr "申请人"
-
-#: html/Admin/Queues/Modify.html:96
-msgid "Requests should be due in"
-msgstr "申请单处理期限"
-
-#: lib/RT/Attribute_Overlay.pm:146
-#. ('Object')
-msgid "Required parameter '%1' not specified"
-msgstr "未指定必要的参数‘%1’"
-
-#: html/Elements/Submit:83
-msgid "Reset"
-msgstr "重设"
-
-#: html/Admin/Users/MyRT.html:15 html/Prefs/MyRT.html:60
-msgid "Reset to default"
-msgstr "重设为预设值"
-
-#: html/Admin/Users/Modify.html:183 html/User/Prefs.html:84
-msgid "Residence"
-msgstr "住处"
-
-#: NOT FOUND IN SOURCE
-msgid "Resolution"
-msgstr "解决状态"
-
-#: html/Ticket/Elements/Tabs:156
-msgid "Resolve"
-msgstr "解决"
-
-#: html/Ticket/Update.html:156
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Resolve ticket #%1 (%2)"
-msgstr "解决申请单 #%1 (%2)"
-
-#: etc/initialdata:323 html/Elements/SelectDateType:49 lib/RT/Ticket_Overlay.pm:1172
-msgid "Resolved"
-msgstr "已解决"
-
-#: html/Tools/Reports/Elements/Tabs:55
-msgid "Resolved by owner"
-msgstr "已由承办人解决"
-
-#: html/Tools/Reports/Elements/Tabs:59
-msgid "Resolved in date range"
-msgstr "已在指定日期内解决"
-
-#: html/Tools/Reports/ResolvedByDates.html:52
-msgid "Resolved tickets in period, grouped by owner"
-msgstr "已在指定日期内内解决,依承办人分组"
-
-#: html/Tools/Reports/ResolvedByOwner.html:50
-msgid "Resolved tickets, grouped by owner"
-msgstr "已解决的申请单,依承办人分组"
-
-#: NOT FOUND IN SOURCE
-msgid "Response to requestors"
-msgstr "回复申请人"
-
-#: NOT FOUND IN SOURCE
-msgid "Responsibility Type"
-msgstr "责任区分"
-
-#: html/Elements/ListActions:46 html/Search/Elements/NewListActions:47
-msgid "Results"
-msgstr "结果"
-
-#: NOT FOUND IN SOURCE
-msgid "Results per page"
-msgstr "每页列出几笔结果"
-
-#: html/Admin/Users/Modify.html:126 html/User/Prefs.html:116
-msgid "Retype Password"
-msgstr "再次输入口令"
-
-#: html/Search/Elements/EditSearches:61
-msgid "Revert"
-msgstr "复原"
-
-#: NOT FOUND IN SOURCE
-msgid "Right %1 not found for %2 %3 in scope %4 (%5)\\n"
-msgstr "在 %4 (%5) 的范围内找不到 %2 %3 的 %1 权限\\n"
-
-#: lib/RT/ACE_Overlay.pm:630
-msgid "Right Delegated"
-msgstr "权限代理完毕"
-
-#: lib/RT/ACE_Overlay.pm:320
-msgid "Right Granted"
-msgstr "权限设定完毕"
-
-#: lib/RT/ACE_Overlay.pm:178
-msgid "Right Loaded"
-msgstr "权限加载完毕"
-
-#: lib/RT/ACE_Overlay.pm:695 lib/RT/ACE_Overlay.pm:716
-msgid "Right could not be revoked"
-msgstr "无法撤消权限"
-
-#: html/User/Delegation.html:85
-msgid "Right not found"
-msgstr "找不到权限"
-
-#: lib/RT/ACE_Overlay.pm:560 lib/RT/ACE_Overlay.pm:655
-msgid "Right not loaded."
-msgstr "权限并未加载。"
-
-#: lib/RT/ACE_Overlay.pm:712
-msgid "Right revoked"
-msgstr "权限撤消完毕"
-
-#: html/Admin/Elements/UserTabs:70
-msgid "Rights"
-msgstr "权限及代理人"
-
-#: html/Admin/CustomFields/GroupRights.html:129 lib/RT/Interface/Web.pm:961
-#. ($object_type)
-msgid "Rights could not be granted for %1"
-msgstr "无法将权限赋予 %1"
-
-#: html/Admin/CustomFields/GroupRights.html:156 lib/RT/Interface/Web.pm:990
-#. ($object_type)
-msgid "Rights could not be revoked for %1"
-msgstr "无法撤消 %1 的权限"
-
-#: NOT FOUND IN SOURCE
-msgid "Role Members"
-msgstr "角色成员"
-
-#: NOT FOUND IN SOURCE
-msgid "Role Name"
-msgstr "角色名称"
-
-#: html/Admin/Global/GroupRights.html:72 html/Admin/Queues/GroupRights.html:74
-msgid "Roles"
-msgstr "角色"
-
-#: NOT FOUND IN SOURCE
-msgid "RootApproval"
-msgstr "交由系统管理员签核"
-
-#: html/Prefs/MyRT.html:72
-msgid "Rows per box"
-msgstr "每格笔数"
-
-#: html/Search/Elements/DisplayOptions:93
-msgid "Rows per page"
-msgstr "每页笔数"
-
-#: NOT FOUND IN SOURCE
-msgid "Run Approval"
-msgstr "签核执行"
-
-#: NOT FOUND IN SOURCE
-msgid "SMTPDebug"
-msgstr "SMTP 侦错纪录"
-
-#: NOT FOUND IN SOURCE
-msgid "SMTPFrom"
-msgstr "SMTP 寄件地址"
-
-#: NOT FOUND IN SOURCE
-msgid "SMTPServer"
-msgstr "SMTP 服务器"
-
-#: NOT FOUND IN SOURCE
-msgid "Sat"
-msgstr "星期六"
-
-#: lib/RT/Date.pm:422
-msgid "Sat."
-msgstr "星期六"
-
-#: html/Prefs/MyRT.html:72 html/Prefs/Quicksearch.html:64 html/Prefs/Search.html:69 html/Prefs/Search.html:69 html/Search/Elements/EditSearches:70 html/Widgets/SelectionBox:211
-msgid "Save"
-msgstr "储存"
-
-#: html/Admin/Global/Template.html:67 html/Admin/Groups/Modify.html:88 html/Admin/Queues/Modify.html:111 html/Admin/Queues/People.html:126 html/Admin/Users/Modify.html:239 html/Prefs/Quicksearch.html:64 html/Prefs/SearchOptions.html:63 html/SelfService/Prefs.html:58 html/Ticket/Modify.html:60 html/Ticket/ModifyAll.html:127 html/Ticket/ModifyDates.html:60 html/Ticket/ModifyLinks.html:61 html/Ticket/ModifyPeople.html:60 html/User/Groups/Modify.html:77
-msgid "Save Changes"
-msgstr "储存更改"
-
-#: html/User/Prefs.html:181
-msgid "Save Preferences"
-msgstr "储存偏好"
-
-#: html/Ticket/Elements/PreviewScrips:131
-msgid "Save changes"
-msgstr "储存更改"
-
-#: lib/RT/SavedSearch.pm:173
-#. ($name)
-msgid "Saved search %1"
-msgstr "成功储存查询:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Saved searches"
-msgstr "预存查询"
-
-#: html/Admin/Elements/ListGlobalScrips:60 html/Admin/Global/Scrip.html:77 html/Admin/Queues/Scrip.html:84
-#. ($scrip->Id)
-#. ($id)
-msgid "Scrip #%1"
-msgstr "手续 #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrip Action"
-msgstr "讯息通知动作"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrip Condition"
-msgstr "讯息通知条件"
-
-#: lib/RT/Scrip_Overlay.pm:203
-msgid "Scrip Created"
-msgstr "手续新增完毕"
-
-#: html/Admin/Elements/EditScrip:52
-msgid "Scrip Fields"
-msgstr "手续字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrip Name"
-msgstr "讯息名称"
-
-#: html/Admin/Elements/EditScrips:109
-msgid "Scrip deleted"
-msgstr "手续删除完毕"
-
-#: html/Admin/Elements/QueueTabs:67 html/Admin/Elements/SystemTabs:54 html/Admin/Global/index.html:62
-msgid "Scrips"
-msgstr "手续"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrips "
-msgstr "讯息通知"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrips for %1\\n"
-msgstr "%1 的手续\\n"
-
-#: html/Admin/Queues/Scrips.html:55
-msgid "Scrips which apply to all queues"
-msgstr "适用于所有表单的手续"
-
-#: html/Elements/SimpleSearch:48 html/Search/Simple.html:63
-msgid "Search"
-msgstr "查询"
-
-#: NOT FOUND IN SOURCE
-msgid "Search Criteria"
-msgstr "查询条件"
-
-#: html/Prefs/SearchOptions.html:47 html/Prefs/SearchOptions.html:50
-msgid "Search Preferences"
-msgstr "搜寻偏好"
-
-#: lib/RT/SavedSearch.pm:115
-msgid "Search attribute load failure"
-msgstr "搜寻属性加载失败"
-
-#: html/Approvals/Elements/PendingMyApproval:59
-msgid "Search for approvals"
-msgstr "签核单查询"
-
-#: html/Search/Simple.html:67
-msgid "Search for tickets"
-msgstr "申请单查询"
-
-#: html/Search/Simple.html:55
-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>. RT will look for anything else you enter in ticket bodies and attachments."
-msgstr "搜寻申请单。请键入<strong>编号</strong>、<strong>表单名称</strong>、承办人的<strong>使用者名称</strong>、或申请人的<strong>电子邮件地址</strong>。以上格式之外的文字,则会在申请单内文及附件内检索。"
-
-#: html/User/Elements/Tabs:62
-msgid "Search options"
-msgstr "搜寻选项"
-
-#: html/Search/Chart.html:56
-#. ($PrimaryGroupBy)
-msgid "Search results grouped by %1"
-msgstr "搜寻结果,依 %1 分组"
-
-#: lib/RT/SavedSearch.pm:203
-#. ($msg)
-msgid "Search update: %1"
-msgstr "更新查询:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Searches can't be associated with that kind of object"
-msgstr "不能对此类对象进行查询"
-
-#: html/Search/Simple.html:57
-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 "对所有申请单的全文进行检索,可能会需要很久的时间。但如果您真的有需要,可键入 <b>fulltext:<i>文字</i></b> 来搜寻申请单的所有纪录。"
-
-#: NOT FOUND IN SOURCE
-msgid "Second-"
-msgstr "二"
-
-#: NOT FOUND IN SOURCE
-msgid "Second-level Users"
-msgstr "二阶主管员工"
-
-#: bin/rt-crontool:265
-msgid "Security:"
-msgstr "安全性:"
-
-#: html/Elements/ShowCustomFields:98
-msgid "See also:"
-msgstr "参见:"
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "See custom fields"
-msgstr "查阅自订字段"
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "See exact outgoing email messages and their recipeients"
-msgstr "查阅送出的电子邮件及收件人"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "See ticket private commentary"
-msgstr "查阅申请单内的私人评论"
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "See ticket summaries"
-msgstr "查阅申请单总览"
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "SeeCustomField"
-msgstr "查阅自订字段"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "SeeGroup"
-msgstr "查阅群组"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "SeeQueue"
-msgstr "查阅表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Select"
-msgstr "选择"
-
-#: NOT FOUND IN SOURCE
-msgid "Select All"
-msgstr "全选"
-
-#: html/Admin/CustomFields/index.html:46 html/Admin/CustomFields/index.html:49
-msgid "Select a Custom Field"
-msgstr "选择自订字段"
-
-#: html/Admin/Groups/index.html:78
-msgid "Select a group"
-msgstr "选择群组"
-
-#: html/Admin/Queues/index.html:54
-msgid "Select a queue"
-msgstr "选择表单"
-
-#: html/SelfService/CreateTicketInQueue.html:48
-msgid "Select a queue for your new ticket"
-msgstr "为您新的申请单选择一个表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Select a queue to link to"
-msgstr "请选择欲连结表单"
-
-#: html/Admin/Users/index.html:46 html/Admin/Users/index.html:49 html/Admin/Users/index.html:52
-msgid "Select a user"
-msgstr "选择使用者"
-
-#: html/Admin/Elements/CustomFieldTabs:90
-msgid "Select custom field"
-msgstr "选择自订字段"
-
-#: html/Admin/Global/CustomFields/index.html:70
-msgid "Select custom fields for all user groups"
-msgstr "选择适用于所有使用者群组的自订字段"
-
-#: html/Admin/Global/CustomFields/index.html:65
-msgid "Select custom fields for all users"
-msgstr "选择适用于所有使用者的自订字段"
-
-#: html/Admin/Global/CustomFields/index.html:76
-msgid "Select custom fields for tickets in all queues"
-msgstr "选择适用于所有表单内申请单的自订字段"
-
-#: html/Admin/Global/CustomFields/index.html:83
-msgid "Select custom fields for transactions on tickets in all queues"
-msgstr "选择适用于所有表单内申请单之更动的自订字段"
-
-#: html/Admin/Elements/GroupTabs:75 html/User/Elements/GroupTabs:71
-msgid "Select group"
-msgstr "选择群组"
-
-#: lib/RT/CustomField_Overlay.pm:59
-msgid "Select multiple values"
-msgstr "选择多重项目"
-
-#: lib/RT/CustomField_Overlay.pm:60
-msgid "Select one value"
-msgstr "选择单一项目"
-
-#: html/Admin/Elements/QueueTabs:92
-msgid "Select queue"
-msgstr "选择表单"
-
-#: html/Prefs/Quicksearch.html:53
-msgid "Select queues to be displayed on the \"RT at a glance\" page"
-msgstr "选择要在‘RT 一览’页面显示的表单"
-
-#: html/Admin/Global/Scrip.html:59 html/Admin/Global/Scrips.html:57 html/Admin/Queues/Scrip.html:67 html/Admin/Queues/Scrips.html:73
-msgid "Select scrip"
-msgstr "选择手续"
-
-#: html/Admin/Global/Template.html:78 html/Admin/Global/Templates.html:57 html/Admin/Queues/Template.html:76 html/Admin/Queues/Templates.html:68
-msgid "Select template"
-msgstr "选择模板"
-
-#: lib/RT/CustomField_Overlay.pm:61
-msgid "Select up to %1 values"
-msgstr "选择最多 %1 个值"
-
-#: html/Admin/Elements/UserTabs:78
-msgid "Select user"
-msgstr "选择使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Select workflow"
-msgstr "选择流程"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectExternal"
-msgstr "系统选项"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectMultiple"
-msgstr "多重选项"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectSingle"
-msgstr "单一选项"
-
-#: html/Admin/Elements/EditCustomFields:58
-msgid "Selected Custom Fields"
-msgstr "已选取的自订字段"
-
-#: html/Admin/CustomFields/Objects.html:59
-msgid "Selected objects"
-msgstr "已选取的对象"
-
-#: NOT FOUND IN SOURCE
-msgid "Selected users:"
-msgstr "已选取的使用者:"
-
-#: html/Widgets/SelectionBox:209
-msgid "Selections modified. Please save your changes"
-msgstr "选取的项目已更改。请储存您的更动"
-
-#: NOT FOUND IN SOURCE
-msgid "Self Service"
-msgstr "自助服务"
-
-#: etc/initialdata:121
-msgid "Send mail to all watchers"
-msgstr "寄信给所有视察员"
-
-#: etc/initialdata:117
-msgid "Send mail to all watchers as a \"comment\""
-msgstr "以评论方式寄信给所有视察员"
-
-#: 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 "寄信给申请人"
-
-#: NOT FOUND IN SOURCE
-msgid "Sep"
-msgstr "九月"
-
-#: lib/RT/Date.pm:449
-msgid "Sep."
-msgstr "09"
-
-#: NOT FOUND IN SOURCE
-msgid "September"
-msgstr "九月"
-
-#: NOT FOUND IN SOURCE
-msgid "Setting %1's 'Disabled' property to %2"
-msgstr "%1 的‘停用’属性已设为 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Shift Type"
-msgstr "班别属性"
-
-#: html/Ticket/Elements/ShowTransaction:158
-msgid "Show"
-msgstr "显示"
-
-#: html/Approvals/index.html:52
-msgid "Show Approvals"
-msgstr "显示待签核申请单"
-
-#: html/Search/Elements/EditFormat:56
-msgid "Show Columns"
-msgstr "显示字段"
-
-#: html/Ticket/Elements/Tabs:220
-msgid "Show Results"
-msgstr "显示结果"
-
-#: html/Approvals/Elements/PendingMyApproval:64
-msgid "Show approved requests"
-msgstr "显示已批准的签核单"
-
-#: html/Ticket/Create.html:316
-msgid "Show basics"
-msgstr "显示基本信息"
-
-#: html/Approvals/Elements/PendingMyApproval:65
-msgid "Show denied requests"
-msgstr "显示已驳回的签核单"
-
-#: html/Ticket/Create.html:319
-msgid "Show details"
-msgstr "显示细节"
-
-#: html/Approvals/Elements/PendingMyApproval:63
-msgid "Show pending requests"
-msgstr "显示待处理的签核单"
-
-#: html/Approvals/Elements/PendingMyApproval:66
-msgid "Show requests awaiting other approvals"
-msgstr "显示尚待他人批准的签核单"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket private commentary"
-msgstr "显示申请单内的私人评论"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket summaries"
-msgstr "显示申请单摘要"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "ShowACL"
-msgstr "显示权限清单"
-
-#: lib/RT/System.pm:85
-msgid "ShowConfigTab"
-msgstr "显示设定页签"
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "ShowOutgoingEmail"
-msgstr "显示寄送邮件"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "ShowSavedSearches"
-msgstr "显示预存查询"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "ShowScrips"
-msgstr "显示手续"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "ShowTemplate"
-msgstr "显示模板"
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "ShowTicket"
-msgstr "显示申请单"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "ShowTicketComments"
-msgstr "显示申请单的评论"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Sign up as a ticket Requestor or ticket or queue Cc"
-msgstr "登记成为申请人或副本收件人"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "Sign up as a ticket or queue AdminCc"
-msgstr "登记成为管理员副本收件人"
-
-#: html/Admin/Users/Modify.html:230 html/User/Prefs.html:168
-msgid "Signature"
-msgstr "签名档"
-
-#: NOT FOUND IN SOURCE
-msgid "Signed in as %1"
-msgstr "使用者:%1"
-
-#: html/Elements/Tabs:68
-msgid "Simple Search"
-msgstr "简易查询"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:47
-msgid "Single"
-msgstr "单一"
-
-#: html/Search/Elements/EditFormat:75
-msgid "Size"
-msgstr "大小"
-
-#: html/Elements/Header:89
-msgid "Skip Menu"
-msgstr "略过选单"
-
-#: html/Search/Elements/EditFormat:78
-msgid "Small"
-msgstr "小"
-
-#: html/Admin/CustomFields/Modify.html:120
-msgid "Some browsers may only load content from the same domain as your RT server."
-msgstr "某些浏览器只允许加载和 RT 服务器同一个网域的内容。"
-
-#: html/Admin/Elements/AddCustomFieldValue:49 html/Admin/Elements/EditCustomFieldValues:54
-msgid "Sort"
-msgstr "顺序"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort key"
-msgstr "排序方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort results by"
-msgstr "结果排序方式"
-
-#: NOT FOUND IN SOURCE
-msgid "SortOrder"
-msgstr "排序顺序"
-
-#: html/Admin/Elements/EditScrip:78
-msgid "Stage"
-msgstr "关卡"
-
-#: NOT FOUND IN SOURCE
-msgid "Stage Action"
-msgstr "关卡运行动作"
-
-#: NOT FOUND IN SOURCE
-msgid "Stage Condition"
-msgstr "关卡运行条件"
-
-#: NOT FOUND IN SOURCE
-msgid "Stalled"
-msgstr "延宕"
-
-#: NOT FOUND IN SOURCE
-msgid "Start page"
-msgstr "首页"
-
-#: html/Elements/SelectDateType:48 html/Ticket/Elements/EditDates:53 html/Ticket/Elements/ShowDates:56
-msgid "Started"
-msgstr "实际起始日"
-
-#: NOT FOUND IN SOURCE
-msgid "Started date '%1' could not be parsed"
-msgstr "无法解读起始日期 '%1"
-
-#: html/Elements/SelectDateType:52 html/Ticket/Create.html:208 html/Ticket/Elements/EditDates:48 html/Ticket/Elements/ShowDates:52
-msgid "Starts"
-msgstr "应起始日"
-
-msgid "StartsRelative"
-msgstr "应起始日(相对值)"
-
-msgid "StartedRelative"
-msgstr "实际起始日(相对值)"
-
-msgid "CreatedRelative"
-msgstr "实际新增日(相对值)"
-
-msgid "LastUpdatedRelative"
-msgstr "上次更新(相对值)"
-
-msgid "ToldRelative"
-msgstr "告知日(相对值)"
-
-msgid "DueRelative"
-msgstr "到期日(相对值)"
-
-msgid "ResolvedRelative"
-msgstr "解决日(相对值)"
-
-msgid "ReferredToBy"
-msgstr "被参考"
-
-msgid "DependedOnBy"
-msgstr "可接续处理"
-
-#: NOT FOUND IN SOURCE
-msgid "Starts By"
-msgstr "应起始日"
-
-#: NOT FOUND IN SOURCE
-msgid "Starts date '%1' could not be parsed"
-msgstr "无法解读起始日期 '%1"
-
-#: html/Admin/Users/Modify.html:162 html/User/Prefs.html:145
-msgid "State"
-msgstr "州"
-
-#: html/Search/Elements/PickBasics:87 html/SelfService/Update.html:57 html/Ticket/Create.html:66 html/Ticket/Elements/EditBasics:53 html/Ticket/Elements/ShowBasics:52 html/Ticket/Update.html:59 lib/RT/Ticket_Overlay.pm:1166 lib/RT/Tickets_Overlay.pm:1651
-msgid "Status"
-msgstr "现况"
-
-msgid "ExtendedStatus"
-msgstr "额外现况"
-
-#: etc/initialdata:309
-msgid "Status Change"
-msgstr "现况改变时"
-
-#: NOT FOUND IN SOURCE
-msgid "Status changed from %1 to %2"
-msgstr "现况从 %1 改为 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "StatusChange"
-msgstr "现况改变时"
-
-#: html/Ticket/Elements/Tabs:178
-msgid "Steal"
-msgstr "强制更换承办人"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "Steal tickets"
-msgstr "强制承办申请单"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "StealTicket"
-msgstr "强制承办申请单"
-
-#: lib/RT/Transaction_Overlay.pm:678
-#. ($Old->Name)
-msgid "Stolen from %1"
-msgstr "承办人从 %1 强制更换"
-
-#: NOT FOUND IN SOURCE
-msgid "Stolen from %1 "
-msgstr "承办人从 %1 强制更换 "
-
-#: html/Search/Elements/EditFormat:81
-msgid "Style"
-msgstr "样式"
-
-#: NOT FOUND IN SOURCE
-msgid "Subgroup"
-msgstr "子群组"
-
-#: html/Elements/QuickCreate:52 html/Elements/SelectAttachmentField:47 html/Search/Bulk.html:132 html/SelfService/Create.html:79 html/SelfService/Update.html:65 html/Ticket/Create.html:108 html/Ticket/Elements/EditBasics:48 html/Ticket/Elements/Reminders:125 html/Ticket/ModifyAll.html:100 html/Ticket/Update.html:82 lib/RT/Ticket_Overlay.pm:1162 lib/RT/Tickets_Overlay.pm:1733
-msgid "Subject"
-msgstr "主题"
-
-#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:815 lib/RT/Transaction_Overlay.pm:700
-#. ($self->Data)
-msgid "Subject changed to %1"
-msgstr "标题已改为 %1"
-
-#: html/Elements/Submit:75
-msgid "Submit"
-msgstr "送出"
-
-#: NOT FOUND IN SOURCE
-msgid "Submit Workflow"
-msgstr "送出流程"
-
-#: lib/RT/Group_Overlay.pm:774
-msgid "Succeeded"
-msgstr "设定成功"
-
-#: NOT FOUND IN SOURCE
-msgid "Sun"
-msgstr "星期日"
-
-#: lib/RT/Date.pm:423
-msgid "Sun."
-msgstr "星期日"
-
-#: lib/RT/System.pm:75
-msgid "SuperUser"
-msgstr "系统管理员"
-
-#: NOT FOUND IN SOURCE
-msgid "Sync now"
-msgstr "执行同步"
-
-#: NOT FOUND IN SOURCE
-msgid "Sync104HRMS"
-msgstr "自动同步104HRMS"
-
-#: NOT FOUND IN SOURCE
-msgid "Synchronizing HRMS data. This may take a while..."
-msgstr "正在同步化 HRMS 人事系统数据。请稍待..."
-
-#: html/User/Elements/DelegateRights:98
-msgid "System"
-msgstr "系统"
-
-#: html/Admin/Elements/ToolTabs:54 html/Admin/Tools/Configuration.html:48
-msgid "System Configuration"
-msgstr "系统设定"
-
-#: NOT FOUND IN SOURCE
-msgid "System Defined"
-msgstr "系统定义"
-
-#: html/Admin/CustomFields/GroupRights.html:128 html/Admin/CustomFields/GroupRights.html:155 html/Admin/CustomFields/UserRights.html:128 html/Admin/CustomFields/UserRights.html:98 html/Admin/Elements/SelectRights:106 lib/RT/ACE_Overlay.pm:584 lib/RT/Interface/Web.pm:960 lib/RT/Interface/Web.pm:989
-msgid "System Error"
-msgstr "系统错误"
-
-#: NOT FOUND IN SOURCE
-msgid "System Error. Right not granted."
-msgstr "系统错误。设定权限失败。"
-
-#: NOT FOUND IN SOURCE
-msgid "System Error. right not granted"
-msgstr "系统错误。设定权限失败。"
-
-#: lib/RT/Transaction_Overlay.pm:224 lib/RT/Transaction_Overlay.pm:230
-#. ($msg)
-msgid "System Error: %1"
-msgstr "系统错误:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "System Rights"
-msgstr "系统权限"
-
-#: html/Admin/Tools/index.html:47
-msgid "System Tools"
-msgstr "系统工具"
-
-#: lib/RT/ACE_Overlay.pm:633
-msgid "System error. Right not delegated."
-msgstr "系统错误。权限代理失败。"
-
-#: lib/RT/ACE_Overlay.pm:163 lib/RT/ACE_Overlay.pm:228 lib/RT/ACE_Overlay.pm:323 lib/RT/ACE_Overlay.pm:920
-msgid "System error. Right not granted."
-msgstr "系统错误。设定权限失败。"
-
-#: NOT FOUND IN SOURCE
-msgid "System error. Unable to grant rights."
-msgstr "系统错误。无法设定权限。"
-
-#: html/Admin/CustomFields/GroupRights.html:58 html/Admin/Global/GroupRights.html:56 html/Admin/Groups/GroupRights.html:58 html/Admin/Queues/GroupRights.html:57
-msgid "System groups"
-msgstr "系统群组"
-
-#: NOT FOUND IN SOURCE
-msgid "SystemInternal"
-msgstr "系统内部用"
-
-#: etc/initialdata:41 etc/initialdata:47 etc/initialdata:53
-msgid "SystemRolegroup for internal use"
-msgstr "内部使用的系统角色群组"
-
-#: lib/RT/CurrentUser.pm:357
-msgid "TEST_STRING"
-msgstr "TEST_STRING"
-
-#: NOT FOUND IN SOURCE
-msgid "TabbedUI"
-msgstr "页签接口"
-
-#: etc/initialdata:603 html/Search/Elements/EditFormat:72 html/Ticket/Elements/Tabs:170
-msgid "Take"
-msgstr "受理"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "Take tickets"
-msgstr "自行承办申请单"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "TakeTicket"
-msgstr "自行承办申请单"
-
-#: lib/RT/Transaction_Overlay.pm:663
-msgid "Taken"
-msgstr "已受理"
-
-#: NOT FOUND IN SOURCE
-msgid "Task"
-msgstr "工作事项"
-
-#: html/Admin/Elements/EditScrip:71 html/Tools/Offline.html:78
-msgid "Template"
-msgstr "模板"
-
-#: html/Admin/Global/Template.html:112 html/Admin/Queues/Template.html:113
-#. ($TemplateObj->Id())
-msgid "Template #%1"
-msgstr "模板 #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Template Content"
-msgstr "通知模板内容"
-
-#: NOT FOUND IN SOURCE
-msgid "Template Description"
-msgstr "通知模板描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Template Name"
-msgstr "通知模板名称"
-
-#: html/Admin/Elements/EditTemplates:110
-msgid "Template deleted"
-msgstr "模板已删除"
-
-#: lib/RT/Scrip_Overlay.pm:176
-msgid "Template is mandatory argument"
-msgstr "模板是必填字段"
-
-#: lib/RT/Scrip_Overlay.pm:180
-msgid "Template not found"
-msgstr "找不到模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Template not found\\n"
-msgstr "找不到模板\\n"
-
-#: lib/RT/Template_Overlay.pm:343
-msgid "Template parsed"
-msgstr "模板剖析完毕"
-
-#: lib/RT/Template_Overlay.pm:391
-msgid "Template parsing error"
-msgstr "模板剖析错误"
-
-#: html/Admin/Elements/QueueTabs:70 html/Admin/Elements/SystemTabs:57 html/Admin/Global/index.html:66
-msgid "Templates"
-msgstr "模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Templates "
-msgstr "通知模板"
-
-#: NOT FOUND IN SOURCE
-msgid "Templates for %1\\n"
-msgstr "找不到 %1 的模板\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Text"
-msgstr "文字"
-
-#: lib/RT/CustomField_Overlay.pm:943 lib/RT/Record.pm:945
-msgid "That is already the current value"
-msgstr "已经是目前字段的值"
-
-#: lib/RT/CustomField_Overlay.pm:412
-msgid "That is not a value for this custom field"
-msgstr "这不是该自订字段的值"
-
-#: lib/RT/Ticket_Overlay.pm:1994
-msgid "That is the same value"
-msgstr "同样的值"
-
-#: lib/RT/ACE_Overlay.pm:305 lib/RT/ACE_Overlay.pm:614
-msgid "That principal already has that right"
-msgstr "这项单位已经拥有该权限"
-
-#: lib/RT/Queue_Overlay.pm:753
-#. ($args{'Type'})
-msgid "That principal is already a %1 for this queue"
-msgstr "这项单位已经是这个表单的 %1"
-
-#: lib/RT/Ticket_Overlay.pm:1435
-#. ($self->loc($args{'Type'}))
-msgid "That principal is already a %1 for this ticket"
-msgstr "这项单位已经是这份申请单的 %1"
-
-#: lib/RT/Queue_Overlay.pm:852
-#. ($args{'Type'})
-msgid "That principal is not a %1 for this queue"
-msgstr "这项单位不是这个表单的 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "That principal is not a %1 for this ticket"
-msgstr "这项单位不是这份申请单的 %1"
-
-#: lib/RT/Ticket_Overlay.pm:1990
-msgid "That queue does not exist"
-msgstr "此表单不存在"
-
-#: lib/RT/Ticket_Overlay.pm:3233
-msgid "That ticket has unresolved dependencies"
-msgstr "这份申请单有尚未解决的附属申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "That user already has that right"
-msgstr "使用者已具有该项权限"
-
-#: lib/RT/Action/CreateTickets.pm:710 lib/RT/Ticket_Overlay.pm:3037
-msgid "That user already owns that ticket"
-msgstr "该使用者已经承办这份申请单"
-
-#: lib/RT/Ticket_Overlay.pm:3012
-msgid "That user does not exist"
-msgstr "使用者不存在"
-
-#: lib/RT/User_Overlay.pm:389
-msgid "That user is already privileged"
-msgstr "这名使用者已经是内部成员"
-
-#: lib/RT/User_Overlay.pm:410
-msgid "That user is already unprivileged"
-msgstr "这名使用者属于非内部成员群组"
-
-#: lib/RT/User_Overlay.pm:402
-msgid "That user is now privileged"
-msgstr "使用者加入内部成员群组完毕"
-
-#: lib/RT/User_Overlay.pm:423
-msgid "That user is now unprivileged"
-msgstr "这名使用者已加入非内部成员群组"
-
-#: NOT FOUND IN SOURCE
-msgid "That user is now unprivilegedileged"
-msgstr "这名使用者已加入非内部成员群组"
-
-#: lib/RT/Ticket_Overlay.pm:3031
-msgid "That user may not own tickets in that queue"
-msgstr "使用者可能没有承办表单里的申请单"
-
-#: lib/RT/Link_Overlay.pm:233
-msgid "That's not a numerical id"
-msgstr "这不是一个数字编号"
-
-#: html/SelfService/Display.html:53 html/Ticket/Create.html:177 html/Ticket/Elements/ShowSummary:49
-msgid "The Basics"
-msgstr "基本信息"
-
-#: lib/RT/ACE_Overlay.pm:112
-msgid "The CC of a ticket"
-msgstr "申请单的副本收件人"
-
-#: lib/RT/ACE_Overlay.pm:113
-msgid "The administrative CC of a ticket"
-msgstr "申请单的管理员副本收件人"
-
-#: NOT FOUND IN SOURCE
-msgid "The comment has been recorded"
-msgstr "评论已被纪录"
-
-#: bin/rt-crontool:275
-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 "下列命令会找到 'general' 表单内所有运作中的申请单,并将其中 4 小时内未处理的申请单优先程度设为 99:"
-
-#: NOT FOUND IN SOURCE
-msgid "The following commands were not proccessed:\\n\\n"
-msgstr "以下命令未被执行:\\n\\n"
-
-#: lib/RT/Record.pm:948
-msgid "The new value has been set."
-msgstr "新的字段值设定完成。"
-
-#: lib/RT/ACE_Overlay.pm:110
-msgid "The owner of a ticket"
-msgstr "申请单的承办人"
-
-#: lib/RT/ACE_Overlay.pm:111
-msgid "The requestor of a ticket"
-msgstr "申请单的申请人"
-
-#: html/Admin/Elements/EditUserComments:47
-msgid "These comments aren't generally visible to the user"
-msgstr "该使用者不会看见这些评论"
-
-#: NOT FOUND IN SOURCE
-msgid "Third-"
-msgstr "三"
-
-#: lib/RT/CustomField_Overlay.pm:978
-msgid "This custom field does not apply to that object"
-msgstr "此自订字段不适用于该对象"
-
-#: html/Admin/Tools/Configuration.html:50
-msgid "This feature is only available to system administrators"
-msgstr "此项功能仅限系统管理员使用"
-
-#: html/Ticket/Elements/PreviewScrips:96
-msgid "This message will be sent to..."
-msgstr "此讯息会寄给..."
-
-#: NOT FOUND IN SOURCE
-msgid "This ticket %1 %2 (%3)\\n"
-msgstr "申请单 %1 %2 (%3)\\n"
-
-#: bin/rt-crontool:266
-msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr "此工具程序会让使用者经由 RT 执行任意命令。"
-
-#: lib/RT/Transaction_Overlay.pm:301
-msgid "This transaction appears to have no content"
-msgstr "此项更动报告没有内容"
-
-#: html/Ticket/Elements/ShowRequestor:70
-#. ($rows)
-msgid "This user's %1 highest priority tickets"
-msgstr "使用者送出的前 %1 份优先处理申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "This user's 25 highest priority tickets"
-msgstr "使用者送出的前 25 份优先处理申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Thu"
-msgstr "星期四"
-
-#: lib/RT/Date.pm:420
-msgid "Thu."
-msgstr "星期四"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket"
-msgstr "申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket # %1 %2"
-msgstr "申请单 # %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket # %1 Jumbo update: %2"
-msgstr "更新申请单 # %1 的全部信息:%2"
-
-#: html/Ticket/ModifyAll.html:46 html/Ticket/ModifyAll.html:50
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket #%1 Jumbo update: %2"
-msgstr "更新申请单 #%1 的全部信息:%2"
-
-#: html/Approvals/Elements/ShowDependency:67
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Ticket #%1: %2"
-msgstr "申请单 #%1: %2"
-
-#: lib/RT/Action/CreateTickets.pm:1350 lib/RT/Action/CreateTickets.pm:1359 lib/RT/Action/CreateTickets.pm:605 lib/RT/Action/CreateTickets.pm:729 lib/RT/Action/CreateTickets.pm:741
-#. ($T::Tickets{$template_id}->Id)
-#. ($T::Tickets{$template_id}->id)
-#. ($ticket->Id)
-msgid "Ticket %1"
-msgstr "申请单 %1"
-
-#: lib/RT/Ticket_Overlay.pm:755 lib/RT/Ticket_Overlay.pm:775
-#. ($self->Id, $QueueObj->Name)
-msgid "Ticket %1 created in queue '%2'"
-msgstr "申请单 #%1 成功新增于 '%2' 表单"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket %1 loaded\\n"
-msgstr "加载申请单 %1\\n"
-
-#: html/Search/Bulk.html:377
-#. ($Ticket->Id, $_)
-msgid "Ticket %1: %2"
-msgstr "申请单 %1:%2"
-
-#: html/Admin/Elements/QueueTabs:74
-msgid "Ticket Custom Fields"
-msgstr "申请单的自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Due"
-msgstr "表单处理期限"
-
-#: html/Ticket/History.html:46 html/Ticket/History.html:49
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket History # %1 %2"
-msgstr "申请单处理纪录 # %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket ID"
-msgstr "单号"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Id"
-msgstr "申请单编号"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Processing Due"
-msgstr "表单运行期限"
-
-#: etc/initialdata:324
-msgid "Ticket Resolved"
-msgstr "申请单已解决"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:69 html/Admin/Global/CustomFields/index.html:81 lib/RT/CustomField_Overlay.pm:1207
-msgid "Ticket Transactions"
-msgstr "申请单的更动"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Type"
-msgstr "表单种类"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket attachment"
-msgstr "申请单附件"
-
-#: lib/RT/Tickets_Overlay.pm:1920
-msgid "Ticket content"
-msgstr "申请单内容"
-
-#: lib/RT/Tickets_Overlay.pm:1969
-msgid "Ticket content type"
-msgstr "申请单内容类别"
-
-#: lib/RT/Ticket_Overlay.pm:603 lib/RT/Ticket_Overlay.pm:617 lib/RT/Ticket_Overlay.pm:628 lib/RT/Ticket_Overlay.pm:763
-msgid "Ticket could not be created due to an internal error"
-msgstr "内部错误,无法新增申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket created"
-msgstr "申请单新增完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket creation failed"
-msgstr "申请单新增失败"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket deleted"
-msgstr "申请单删除完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket id not found"
-msgstr "找不到申请单编号"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket killed"
-msgstr "申请单删除完毕"
-
-#: html/Ticket/Display.html:55
-msgid "Ticket metadata"
-msgstr "申请单的描述信息"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket not found"
-msgstr "找不到申请单"
-
-#: etc/initialdata:310
-msgid "Ticket status changed"
-msgstr "申请单现况已改变"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket watchers"
-msgstr "申请单视察员"
-
-#: lib/RT/Search/FromSQL.pm:82
-#. (ref $self)
-msgid "TicketSQL search module"
-msgstr "TicketSQL 查询模块"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:64 html/Admin/Global/CustomFields/index.html:75 html/Elements/Tabs:71 html/Search/Elements/Chart:109 lib/RT/CustomField_Overlay.pm:1206
-msgid "Tickets"
-msgstr "申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets %1 %2"
-msgstr "申请单 %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets %1 by %2"
-msgstr "申请单 %1 (%2)"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets I own"
-msgstr "待处理的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets I requested"
-msgstr "送出的申请单"
-
-msgid "CreatedBy"
-msgstr "建立人"
-
-#: html/Tools/Reports/CreatedByDates.html:86
-msgid "Tickets created after"
-msgstr "申请单建立起始日"
-
-#: html/Tools/Reports/CreatedByDates.html:88
-msgid "Tickets created before"
-msgstr "申请单建立截止日"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets from %1"
-msgstr "%1 的申请单"
-
-#: html/Tools/Reports/ResolvedByDates.html:87
-msgid "Tickets resolved after"
-msgstr "申请单解决起始日"
-
-#: html/Tools/Reports/ResolvedByDates.html:89
-msgid "Tickets resolved before"
-msgstr "申请单解决截止日"
-
-#: html/Approvals/Elements/ShowDependency:48
-msgid "Tickets which depend on this approval:"
-msgstr "批准之后,可接续处理:"
-
-#: html/Search/Elements/PickBasics:134 html/Ticket/Create.html:183 html/Ticket/Elements/EditBasics:72
-msgid "Time Estimated"
-msgstr "预计时间"
-
-msgid "TimeEstimated"
-msgstr "预计时间"
-
-#: html/Search/Elements/PickBasics:135 html/Ticket/Create.html:196 html/Ticket/Elements/EditBasics:85
-msgid "Time Left"
-msgstr "剩馀时间"
-
-#: html/Search/Elements/PickBasics:133 html/Ticket/Create.html:189 html/Ticket/Elements/EditBasics:78
-msgid "Time Worked"
-msgstr "处理时间"
-
-#: lib/RT/Tickets_Overlay.pm:1891
-msgid "Time left"
-msgstr "剩馀时间"
-
-#: html/Elements/Footer:51
-msgid "Time to display"
-msgstr "显示时间"
-
-#: lib/RT/Tickets_Overlay.pm:1866
-msgid "Time worked"
-msgstr "已处理时间"
-
-#: NOT FOUND IN SOURCE
-msgid "TimeLeft"
-msgstr "剩馀时间"
-
-#: lib/RT/Ticket_Overlay.pm:1167
-msgid "TimeWorked"
-msgstr "已处理时间"
-
-#: html/Search/Elements/EditFormat:74
-msgid "Title"
-msgstr "标题"
-
-msgid "QueueName"
-msgstr "表单名称"
-
-msgid "OwnerName"
-msgstr "承办人名称"
-
-msgid "<blank>"
-msgstr "<留空>"
-
-msgid "NEWLINE"
-msgstr "(换列)"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:"
-msgstr "产生这次更动的差异档:"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:\\n"
-msgstr "产生这次更动的差异档:\\n"
-
-#: html/Elements/Footer:62
-#. ('<a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>')
-msgid "To inquire about support, training, custom development or licensing, please contact %1."
-msgstr "如果有支持、教育训练及定制开发的需要,请连络 %1。"
-
-#: NOT FOUND IN SOURCE
-msgid "Todo"
-msgstr "待办事项"
-
-#: lib/RT/Ticket_Overlay.pm:1170
-msgid "Told"
-msgstr "告知日"
-
-#: html/Admin/Elements/Tabs:68 html/Admin/index.html:88 html/Elements/Tabs:74 html/Tools/index.html:46 html/Tools/index.html:49
-msgid "Tools"
-msgstr "工具"
-
-#: html/Search/Elements/Chart:130
-msgid "Total"
-msgstr "页"
-
-#: etc/initialdata:252
-msgid "Transaction"
-msgstr "更动"
-
-#: lib/RT/Transaction_Overlay.pm:805
-#. ($self->Data)
-msgid "Transaction %1 purged"
-msgstr "清除更动报告 %1"
-
-#: lib/RT/Transaction_Overlay.pm:183
-msgid "Transaction Created"
-msgstr "更动报告已新增"
-
-#: html/Admin/Elements/QueueTabs:78
-msgid "Transaction Custom Fields"
-msgstr "更动的自订字段"
-
-#: NOT FOUND IN SOURCE
-msgid "Transaction->Create couldn't, as you didn't specify a ticket id"
-msgstr "未指定申请单编号,无法新增更动"
-
-#: lib/RT/Transaction_Overlay.pm:128
-msgid "Transaction->Create couldn't, as you didn't specify an object type and id"
-msgstr "未指定对象类别及编号,无法新增更动"
-
-#: NOT FOUND IN SOURCE
-msgid "TransactionBatch"
-msgstr "批次更动时"
-
-#: NOT FOUND IN SOURCE
-msgid "TransactionCreate"
-msgstr "新增更动时"
-
-#: lib/RT/Transaction_Overlay.pm:870
-msgid "Transactions are immutable"
-msgstr "不可更改更动报告"
-
-#: NOT FOUND IN SOURCE
-msgid "Transfer to"
-msgstr "移交给"
-
-#: NOT FOUND IN SOURCE
-msgid "Trying to delete a right: %1"
-msgstr "试图删除某项权限:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Tue"
-msgstr "星期二"
-
-#: lib/RT/Date.pm:418
-msgid "Tue."
-msgstr "星期二"
-
-#: html/Admin/CustomFields/Modify.html:66 html/Admin/Elements/EditCustomField:65 html/Ticket/Elements/AddWatchers:54 html/Ticket/Elements/AddWatchers:65 html/Ticket/Elements/AddWatchers:75 lib/RT/Ticket_Overlay.pm:1168 lib/RT/Tickets_Overlay.pm:1705
-msgid "Type"
-msgstr "类别"
-
-#: lib/RT/ScripCondition_Overlay.pm:128
-msgid "Unimplemented"
-msgstr "尚无实作"
-
-#: html/Admin/Users/Modify.html:89
-msgid "Unix login"
-msgstr "外部系统登入帐号"
-
-#: NOT FOUND IN SOURCE
-msgid "UnixUsername"
-msgstr "外部系统登入帐号"
-
-#: lib/RT/Attachment_Overlay.pm:289 lib/RT/Record.pm:861
-#. ($self->ContentEncoding)
-#. ($ContentEncoding)
-msgid "Unknown ContentEncoding %1"
-msgstr "不可解的内容文字编码方式 %1"
-
-#: html/Search/Build.html:455 lib/RT/Report/Tickets.pm:410
-msgid "Unknown field: %1"
-msgstr "未知的字段:%1"
-
-#: html/Elements/SelectResultsPerPage:58
-msgid "Unlimited"
-msgstr "全数显示"
-
-#: html/Search/Elements/SelectSearchesForObjects:64
-msgid "Unnamed search"
-msgstr "未命名的查询"
-
-#: etc/initialdata:32
-msgid "Unprivileged"
-msgstr "非内部成员"
-
-#: html/Admin/Elements/EditCustomFields:60
-msgid "Unselected Custom Fields"
-msgstr "未选取的自订字段"
-
-#: html/Admin/CustomFields/Objects.html:61
-msgid "Unselected objects"
-msgstr "未选取的对象"
-
-#: lib/RT/Transaction_Overlay.pm:659
-msgid "Untaken"
-msgstr "未被受理"
-
-#: NOT FOUND IN SOURCE
-msgid "Untitled search"
-msgstr "未命名的查询"
-
-#: NOT FOUND IN SOURCE
-msgid "Up"
-msgstr "上一页"
-
-#: html/Admin/Elements/EditScrip:128 html/Elements/RT__Ticket/ColumnMap:302 html/Search/Bulk.html:193 html/Search/Bulk.html:75
-msgid "Update"
-msgstr "处理"
-
-#: NOT FOUND IN SOURCE
-msgid "Update All"
-msgstr "全部更新"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ID"
-msgstr "更新编号"
-
-#: html/Ticket/Update.html:135
-msgid "Update Ticket"
-msgstr "更新申请单"
-
-#: html/Search/Bulk.html:126 html/Ticket/ModifyAll.html:87 html/Ticket/Update.html:72
-msgid "Update Type"
-msgstr "更新类别"
-
-#: NOT FOUND IN SOURCE
-msgid "Update all these tickets at once"
-msgstr "整批更新申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Update email"
-msgstr "更新电子邮件信箱"
-
-#: html/Search/Bulk.html:200 html/Search/Results.html:78
-msgid "Update multiple tickets"
-msgstr "批次更新申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Update name"
-msgstr "更新帐号"
-
-#: lib/RT/Action/CreateTickets.pm:750 lib/RT/Interface/Web.pm:584
-msgid "Update not recorded."
-msgstr "更新未被记录"
-
-#: NOT FOUND IN SOURCE
-msgid "Update selected tickets"
-msgstr "更新选择的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Update signature"
-msgstr "更新签章"
-
-#: html/Ticket/ModifyAll.html:84
-msgid "Update ticket"
-msgstr "更新申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ticket # %1"
-msgstr "更新申请单 # %1"
-
-#: html/SelfService/Update.html:112 html/SelfService/Update.html:47
-#. ($Ticket->id)
-msgid "Update ticket #%1"
-msgstr "更新申请单 #%1"
-
-#: html/Ticket/Update.html:158
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Update ticket #%1 (%2)"
-msgstr "更新申请单 #%1 (%2)"
-
-#: lib/RT/Action/CreateTickets.pm:748 lib/RT/Interface/Web.pm:583
-msgid "Update type was neither correspondence nor comment."
-msgstr "更新的内容并非申请单回复也不是评论"
-
-#: html/Elements/SelectDateType:54 html/Ticket/Elements/ShowDates:72 lib/RT/CustomField_Overlay.pm:1284 lib/RT/Ticket_Overlay.pm:1171
-msgid "Updated"
-msgstr "前次更新"
-
-#: html/Tools/Offline.html:93
-msgid "Upload"
-msgstr "上载"
-
-#: lib/RT/CustomField_Overlay.pm:84
-msgid "Upload multiple files"
-msgstr "上载多个档案"
-
-#: lib/RT/CustomField_Overlay.pm:79
-msgid "Upload multiple images"
-msgstr "上载多份图片"
-
-#: lib/RT/CustomField_Overlay.pm:85
-msgid "Upload one file"
-msgstr "上载一个档案"
-
-#: lib/RT/CustomField_Overlay.pm:80
-msgid "Upload one image"
-msgstr "上载一份图片"
-
-#: lib/RT/CustomField_Overlay.pm:86
-msgid "Upload up to %1 files"
-msgstr "上载最多 %1 个档案"
-
-#: lib/RT/CustomField_Overlay.pm:81
-msgid "Upload up to %1 images"
-msgstr "上载最多 %1 份图片"
-
-#: html/Tools/Offline.html:93
-msgid "Upload your changes"
-msgstr "上载您的更动"
-
-#: html/Admin/index.html:90
-msgid "Use other RT administrative tools"
-msgstr "使用其它的 RT 管理工具"
-
-#: NOT FOUND IN SOURCE
-msgid "User"
-msgstr "使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "User %1 %2: %3\\n"
-msgstr "使用者 %1 %2:%3\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "User %1 Password: %2\\n"
-msgstr "使用者 %1 口令:%2\\n"
-
-#: lib/RT/Ticket_Overlay.pm:506
-#. ($args{'Owner'})
-msgid "User '%1' could not be found."
-msgstr "找不到使用者 '%1'。"
-
-#: NOT FOUND IN SOURCE
-msgid "User '%1' not found"
-msgstr "找不到使用者 '%1'"
-
-#: NOT FOUND IN SOURCE
-msgid "User '%1' not found\\n"
-msgstr "找不到使用者 '%1'\\n"
-
-#: etc/initialdata:132 etc/initialdata:206
-msgid "User Defined"
-msgstr "使用者自订"
-
-#: html/Admin/Elements/EditScrip:93
-msgid "User Defined conditions and actions"
-msgstr "使用者自订的条件及动作"
-
-#: NOT FOUND IN SOURCE
-msgid "User ID"
-msgstr "使用者 ID"
-
-#: NOT FOUND IN SOURCE
-msgid "User Id"
-msgstr "使用者 ID"
-
-#: NOT FOUND IN SOURCE
-msgid "User Number"
-msgstr "员工编号"
-
-#: html/Admin/Elements/CustomFieldTabs:72 html/Admin/Elements/GroupTabs:68 html/Admin/Elements/QueueTabs:85 html/Admin/Elements/SystemTabs:68 html/Admin/Global/index.html:80
-msgid "User Rights"
-msgstr "使用者权限"
-
-#: NOT FOUND IN SOURCE
-msgid "User Setup"
-msgstr "使用者设定"
-
-#: NOT FOUND IN SOURCE
-msgid "User Shift"
-msgstr "员工班别"
-
-#: NOT FOUND IN SOURCE
-msgid "User asked for an unknown update type for custom field %1 for %2 object #%3"
-msgstr "使用者试图在 %2 对象 #%3 的自订字段 %1 上执行未知的更新操作"
-
-#: html/Admin/Users/Modify.html:301
-#. ($msg)
-msgid "User could not be created: %1"
-msgstr "无法新增使用者:%1"
-
-#: lib/RT/User_Overlay.pm:330
-msgid "User created"
-msgstr "使用者新增完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "User created: %1"
-msgstr "使用者 %1 新增完毕"
-
-#: NOT FOUND IN SOURCE
-msgid "User created: %1 (%2)"
-msgstr "使用者 %1 (%2) 新增完毕"
-
-#: html/Admin/CustomFields/GroupRights.html:74 html/Admin/Global/GroupRights.html:88 html/Admin/Groups/GroupRights.html:75 html/Admin/Queues/GroupRights.html:90
-msgid "User defined groups"
-msgstr "使用者定义的群组"
-
-#: lib/RT/User_Overlay.pm:592 lib/RT/User_Overlay.pm:612
-msgid "User loaded"
-msgstr "已加载使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "User notified"
-msgstr "已通知使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "User renamed from %1 to %2"
-msgstr "使用者 %1 已改名为 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "User view"
-msgstr "使用者私人数据"
-
-#: html/Admin/Groups/index.html:103
-msgid "User-defined groups"
-msgstr "使用者自定群组"
-
-#: NOT FOUND IN SOURCE
-msgid "UserDefined"
-msgstr "使用者自定"
-
-#: html/Admin/Users/Modify.html:69 html/Elements/Login:90 html/Ticket/Elements/AddWatchers:56
-msgid "Username"
-msgstr "帐号"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:55 html/Admin/Elements/SelectNewGroupMembers:47 html/Admin/Elements/Tabs:53 html/Admin/Global/CustomFields/index.html:64 html/Admin/Groups/Members.html:76 html/Admin/Queues/People.html:89 html/Admin/index.html:62 html/User/Groups/Members.html:79 lib/RT/CustomField_Overlay.pm:1208
-msgid "Users"
-msgstr "使用者"
-
-#: html/Admin/Users/index.html:85
-msgid "Users matching search criteria"
-msgstr "符合查询条件的使用者"
-
-#: bin/rt-crontool:134
-#. ($transaction->id)
-msgid "Using transaction #%1..."
-msgstr "使用更动 #%1..."
-
-#: lib/RT/Tickets_Overlay_SQL.pm:528
-msgid "Valid Query"
-msgstr "合理的查询"
-
-#: html/Admin/CustomFields/Modify.html:80
-msgid "Validation"
-msgstr "验证"
-
-#: NOT FOUND IN SOURCE
-msgid "ValueOfQueue"
-msgstr "选择表单"
-
-#: html/Admin/CustomFields/Modify.html:130 html/Admin/Elements/EditCustomField:78
-msgid "Values"
-msgstr "字段值"
-
-#: NOT FOUND IN SOURCE
-msgid "View log"
-msgstr "检视纪录档"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Watch"
-msgstr "视察"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "WatchAsAdminCc"
-msgstr "以管理员副本收件人身份视察"
-
-#: NOT FOUND IN SOURCE
-msgid "Watcher loaded"
-msgstr "成功加载视察员信息"
-
-#: html/Admin/Elements/QueueTabs:63
-msgid "Watchers"
-msgstr "视察员"
-
-#: NOT FOUND IN SOURCE
-msgid "WebEncoding"
-msgstr "网页文字编码方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Wed"
-msgstr "星期三"
-
-#: lib/RT/Date.pm:419
-msgid "Wed."
-msgstr "星期三"
-
-#: html/Tools/MyDay.html:75
-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 "新增申请单时"
-
-#: 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 "当任何事情发生时"
-
-#: etc/initialdata:199
-msgid "Whenever a ticket is resolved"
-msgstr "当申请单解决时"
-
-#: 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:188 html/User/Prefs.html:88
-msgid "Work"
-msgstr "公司"
-
-#: html/Search/Results.html:82
-msgid "Work offline"
-msgstr "离线工作"
-
-#: NOT FOUND IN SOURCE
-msgid "WorkPhone"
-msgstr "公司电话"
-
-#: html/Ticket/Elements/ShowBasics:63 html/Ticket/Update.html:64
-msgid "Worked"
-msgstr "处理时间"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflow #%1"
-msgstr "流程 #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflow Begin"
-msgstr "流程开始"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflow End"
-msgstr "流程结束"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflow deleted"
-msgstr "流程已删除"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflows"
-msgstr "流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Writable"
-msgstr "可读写"
-
-#: NOT FOUND IN SOURCE
-msgid "XXX CHANGEME You are not an authorized user"
-msgstr "XXX CHANGEME 您是未经授权的使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Yes"
-msgstr "是"
-
-#: lib/RT/Ticket_Overlay.pm:3140
-msgid "You already own this ticket"
-msgstr "您已是这份申请单的承办人"
-
-#: html/autohandler:214 html/autohandler:222
-msgid "You are not an authorized user"
-msgstr "您不是被授权的使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "You can access it with the Download button on the right."
-msgstr "您可以按右方的‘下载’键来取得。"
-
-#: html/Prefs/Search.html:56
-msgid "You can also edit the predefined search itself"
-msgstr "您也可以直接编辑预先定义的搜寻方式"
-
-#: lib/RT/Ticket_Overlay.pm:3025
-msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "祇能重新指派您所承办或是没有承办人的申请单"
-
-#: lib/RT/Ticket_Overlay.pm:3021
-msgid "You can only take tickets that are unowned"
-msgstr "您祇能受理尚无承办人的申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "You don't have permission to view that ticket.\\n"
-msgstr "您没有看那份申请单的权限。\\n"
-
-#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:780
-#. ($num, $queue)
-msgid "You found %1 tickets in queue %2"
-msgstr "您会在表单 %2 找到 %1 的申请单"
-
-#: html/NoAuth/Logout.html:52
-msgid "You have been logged out of RT."
-msgstr "您已注销 RT。"
-
-#: html/SelfService/Display.html:133
-msgid "You have no permission to create tickets in that queue."
-msgstr "您没有在该表单新增申请单的权限。"
-
-#: lib/RT/Ticket_Overlay.pm:2003
-msgid "You may not create requests in that queue."
-msgstr "您不能在该表单中提出申请。"
-
-#: NOT FOUND IN SOURCE
-msgid "You need to restart the Request Tracker service for saved changes to take effect."
-msgstr "您必须重新激活 Request Tracker 服务,储存的更动才会生效。"
-
-#: html/NoAuth/Logout.html:56
-msgid "You're welcome to login again"
-msgstr "欢迎下次再来"
-
-#: NOT FOUND IN SOURCE
-msgid "Your %1 requests"
-msgstr "您提出的 %1 申请单"
-
-#: NOT FOUND IN SOURCE
-msgid "Your RT administrator has misconfigured the mail aliases which invoke RT"
-msgstr "RT 管理员可能设错了由 RT 寄出的邮件收件人标头档"
-
-#: etc/initialdata:502
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr "申请单已由 %1 批准。可能还有其它待签核的步骤。"
-
-#: etc/initialdata:540
-msgid "Your request has been approved."
-msgstr "您的申请单已完成签核程序。"
-
-#: NOT FOUND IN SOURCE
-msgid "Your request was rejected"
-msgstr "您的申请单已被驳回"
-
-#: NOT FOUND IN SOURCE
-msgid "Your request was rejected by %1."
-msgstr "您的申请单已被 %1 驳回。"
-
-#: etc/initialdata:445
-msgid "Your request was rejected."
-msgstr "您的申请单已被驳回。"
-
-#: html/autohandler:251
-msgid "Your username or password is incorrect"
-msgstr "您的帐号或口令有误"
-
-#: html/Admin/Users/Modify.html:168 html/User/Prefs.html:149
-msgid "Zip"
-msgstr "邮政编码"
-
-#: NOT FOUND IN SOURCE
-msgid "[no subject]"
-msgstr "[没有标题]"
-
-msgid "[none]"
-msgstr "[无]"
-
-#: NOT FOUND IN SOURCE
-msgid "ago"
-msgstr "过期"
-
-#: NOT FOUND IN SOURCE
-msgid "alert"
-msgstr "急讯"
-
-#: lib/RT/System.pm:87
-msgid "allow creation of saved searches"
-msgstr "允许建立预存查询"
-
-#: lib/RT/System.pm:86
-msgid "allow loading of saved searches"
-msgstr "允许加载预存查询"
-
-#: NOT FOUND IN SOURCE
-msgid "approving"
-msgstr "待签核"
-
-#: html/User/Elements/DelegateRights:80
-#. ($right->PrincipalObj->Object->SelfDescription)
-msgid "as granted to %1"
-msgstr "权限同 %1"
-
-#: html/Search/Results.html:83
-msgid "chart"
-msgstr "图表"
-
-#: html/SelfService/Closed.html:49
-msgid "closed"
-msgstr "已解决"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:55
-msgid "contains"
-msgstr "包含"
-
-#: NOT FOUND IN SOURCE
-msgid "content"
-msgstr "内容"
-
-#: NOT FOUND IN SOURCE
-msgid "content-type"
-msgstr "类型"
-
-#: NOT FOUND IN SOURCE
-msgid "correspondence (probably) not sent"
-msgstr "申请单回复(可能)未送出"
-
-#: NOT FOUND IN SOURCE
-msgid "correspondence sent"
-msgstr "申请单回复已送出"
-
-#: NOT FOUND IN SOURCE
-msgid "critical"
-msgstr "严重"
-
-#: html/Admin/Queues/Modify.html:98 lib/RT/Date.pm:346
-msgid "days"
-msgstr "天"
-
-#: NOT FOUND IN SOURCE
-msgid "dead"
-msgstr "拒绝处理"
-
-#: NOT FOUND IN SOURCE
-msgid "debug"
-msgstr "侦错"
-
-#: NOT FOUND IN SOURCE
-msgid "delete"
-msgstr "删除"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "deleted"
-msgstr "已删除"
-
-#: html/Search/Elements/PickBasics:61
-msgid "does not match"
-msgstr "不符合"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:56
-msgid "doesn't contain"
-msgstr "不包含"
-
-#: NOT FOUND IN SOURCE
-msgid "email address"
-msgstr "电子邮件信箱"
-
-#: NOT FOUND IN SOURCE
-msgid "emergency"
-msgstr "危难"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "equal to"
-msgstr "等于"
-
-#: NOT FOUND IN SOURCE
-msgid "error"
-msgstr "错误"
-
-#: html/Search/Build.html:547
-msgid "error: can't move down"
-msgstr "错误:无法下移"
-
-#: html/Search/Build.html:569
-msgid "error: can't move left"
-msgstr "错误:无法左移"
-
-#: html/Search/Build.html:528
-msgid "error: can't move up"
-msgstr "错误:无法上移"
-
-#: html/Search/Build.html:612
-msgid "error: nothing to delete"
-msgstr "错误:没有可删除的对象"
-
-#: html/Search/Build.html:533 html/Search/Build.html:552 html/Search/Build.html:574 html/Search/Build.html:603
-msgid "error: nothing to move"
-msgstr "错误:没有可移动的对象"
-
-#: html/Search/Build.html:630
-msgid "error: nothing to toggle"
-msgstr "错误:没有可切换的对象"
-
-#: NOT FOUND IN SOURCE
-msgid "false"
-msgstr "假"
-
-#: NOT FOUND IN SOURCE
-msgid "filename"
-msgstr "档名"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectEqualityOperator:59
-msgid "greater than"
-msgstr "大于"
-
-#: lib/RT/Group_Overlay.pm:214
-#. ($self->Name)
-msgid "group '%1'"
-msgstr "群组 '%1'"
-
-#: html/Search/Results.html:88
-#. ($m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy', Query => $Query))
-msgid "grouped by %1"
-msgstr "依 %1 分组"
-
-#: lib/RT/Date.pm:342
-msgid "hours"
-msgstr "小时"
-
-#: html/Search/Elements/PickBasics:48
-msgid "id"
-msgstr "编号"
-
-#: NOT FOUND IN SOURCE
-msgid "info"
-msgstr "信息"
-
-#: html/Elements/SelectBoolean:53 html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:57 html/Search/Elements/PickBasics:162 html/Search/Elements/PickBasics:74 html/Search/Elements/PickBasics:90 html/Search/Elements/PickCFs:53
-msgid "is"
-msgstr "是"
-
-#: html/Elements/SelectBoolean:57 html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:58 html/Search/Elements/PickBasics:163 html/Search/Elements/PickBasics:75 html/Search/Elements/PickBasics:91 html/Search/Elements/PickCFs:54
-msgid "isn't"
-msgstr "不是"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectEqualityOperator:59
-msgid "less than"
-msgstr "小于"
-
-#: NOT FOUND IN SOURCE
-msgid "level Admin"
-msgstr "层主管"
-
-#: html/Search/Elements/PickBasics:60
-msgid "matches"
-msgstr "符合"
-
-#: lib/RT/Date.pm:338
-msgid "min"
-msgstr "分"
-
-#: NOT FOUND IN SOURCE
-msgid "minutes"
-msgstr "分钟"
-
-#: NOT FOUND IN SOURCE
-msgid "modifications\\n\\n"
-msgstr "更改\\n\\n"
-
-#: lib/RT/Date.pm:354
-msgid "months"
-msgstr "月"
-
-#: lib/RT/Queue_Overlay.pm:82
-msgid "new"
-msgstr "新建立"
-
-#: html/Admin/Elements/PickCustomFields:64 html/Admin/Elements/PickObjects:65
-msgid "no name"
-msgstr "没有名称"
-
-#: html/Admin/Elements/EditScrips:64
-msgid "no value"
-msgstr "没有值"
-
-#: html/Admin/Elements/EditQueueWatchers:48 html/Ticket/Elements/EditWatchers:49
-msgid "none"
-msgstr "无"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "not equal to"
-msgstr "不等于"
-
-#: NOT FOUND IN SOURCE
-msgid "notice"
-msgstr "提示"
-
-#: NOT FOUND IN SOURCE
-msgid "notlike"
-msgstr "不符合"
-
-#: NOT FOUND IN SOURCE
-msgid "number"
-msgstr "号"
-
-#: html/SelfService/Elements/MyRequests:82 lib/RT/Queue_Overlay.pm:83
-msgid "open"
-msgstr "开启"
-
-#: NOT FOUND IN SOURCE
-msgid "opened"
-msgstr "已开启"
-
-#: lib/RT/Group_Overlay.pm:219
-#. ($self->Name, $user->Name)
-msgid "personal group '%1' for user '%2'"
-msgstr "使用者‘%2’的‘%1’代理人群组"
-
-#: lib/RT/Group_Overlay.pm:227
-#. ($queue->Name, $self->Type)
-msgid "queue %1 %2"
-msgstr "表单 %1 %2"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "rejected"
-msgstr "已驳回"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "resolved"
-msgstr "已处理"
-
-#: NOT FOUND IN SOURCE
-msgid "rtname"
-msgstr "服务器名称"
-
-#: lib/RT/Date.pm:334
-msgid "sec"
-msgstr "秒"
-
-#: lib/RT/System.pm:85
-msgid "show Configuration tab"
-msgstr "显示设定页签"
-
-#: html/Search/Results.html:80
-msgid "spreadsheet"
-msgstr "电子表格"
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "stalled"
-msgstr "延宕"
-
-#: html/Search/Results.html:89
-#. ($m->scomp('Elements/SelectChartType', Name => 'ChartStyle'))
-msgid "style: %1"
-msgstr "样式:%1"
-
-#: html/Prefs/MyRT.html:93
-msgid "summary rows"
-msgstr "加总列"
-
-#: lib/RT/Group_Overlay.pm:222
-#. ($self->Type)
-msgid "system %1"
-msgstr "系统 %1"
-
-#: lib/RT/Group_Overlay.pm:233
-#. ($self->Type)
-msgid "system group '%1'"
-msgstr "系统群组 '%1'"
-
-#: html/Elements/Error:64 html/SelfService/Error.html:63
-msgid "the calling component did not specify why"
-msgstr "呼叫组件未指明原因"
-
-#: NOT FOUND IN SOURCE
-msgid "ticket #%1"
-msgstr "申请单 #%1"
-
-#: lib/RT/Group_Overlay.pm:230
-#. ($self->Instance, $self->Type)
-msgid "ticket #%1 %2"
-msgstr "申请单 #%1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "till"
-msgstr "至"
-
-#: NOT FOUND IN SOURCE
-msgid "to"
-msgstr "到"
-
-#: NOT FOUND IN SOURCE
-msgid "true"
-msgstr "真"
-
-#: lib/RT/Group_Overlay.pm:236
-#. ($self->Id)
-msgid "undescribed group %1"
-msgstr "没有描述的群组 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "unresolved"
-msgstr "未处理"
-
-#: lib/RT/Group_Overlay.pm:211
-#. ($user->Object->Name)
-msgid "user %1"
-msgstr "使用者 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "warning"
-msgstr "警告"
-
-#: lib/RT/Date.pm:350
-msgid "weeks"
-msgstr "周"
-
-#: NOT FOUND IN SOURCE
-msgid "with template %1"
-msgstr "模板:%1"
-
-#: lib/RT/Date.pm:358
-msgid "years"
-msgstr "年"
-
-msgid "Press 'Esc' to close this window."
-msgstr "按 'Esc' 键可关闭本窗口。"
-
-msgid "HasMember"
-msgstr "拥有成员"
-
-msgid "LinkedTo"
-msgstr "连结至"
-
-msgid "Watcher"
-msgstr "视察员"
-
-msgid "(displaying new and open tickets for %1)"
-msgstr "(显示 %1 名下新建立及开启中的申请单)"
diff --git a/rt/lib/RT/I18N/zh_tw.po b/rt/lib/RT/I18N/zh_tw.po
deleted file mode 100644
index 7552a6bdf..000000000
--- a/rt/lib/RT/I18N/zh_tw.po
+++ /dev/null
@@ -1,8360 +0,0 @@
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: RT 3.6.x\n"
-"PO-Revision-Date: 2007-12-09 13:05+0800\n"
-"Last-Translator: Audrey Tang <cpan@audreyt.org>\n"
-"Language-Team: rt-devel <rt-devel@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:70
-#. ($self->{CurrentSearch}{Object}->Description)
-msgid " %1 deleted."
-msgstr ""
-
-#: html/Widgets/SavedSearch:47
-#. ($self->{CurrentSearch}{Description}, $args->{Description})
-msgid " %1 renamed to %2."
-msgstr ""
-
-#: html/Widgets/SavedSearch:60
-#. ($args->{Description})
-msgid " %1 saved."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "#"
-msgstr "#"
-
-#: NOT FOUND IN SOURCE
-msgid "#%1"
-msgstr "#%1"
-
-#: html/Approvals/Elements/Approve:48 html/Approvals/Elements/ShowDependency:71 html/SelfService/Display.html:46 html/Ticket/Display.html:47 html/Ticket/Display.html:51
-#. ($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:105
-msgid "$1"
-msgstr "$1"
-
-#: lib/RT/Record.pm:940
-#. ($label)
-msgid "$prefix %1"
-msgstr "$prefix %1"
-
-#: NOT FOUND IN SOURCE
-msgid "%*(%1,group ticket)"
-msgstr "%*(%1) 件參與的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "%*(%1,ticket) due"
-msgstr "%*(%1) 件限期完成的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "%*(%1,unresolved ticket)"
-msgstr "%*(%1) 件尚未解決的申請單"
-
-#: lib/RT/URI/fsck_com_rt.pm:256
-#. ($self->ObjectType, $self->Object->Id)
-msgid "%1 #%2"
-msgstr "%1 #%2"
-
-#: lib/RT/Date.pm:365
-#. ($s, $time_unit)
-msgid "%1 %2"
-msgstr "%1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 %2 %3"
-msgstr "%1 %2 %3"
-
-#: lib/RT/Date.pm:401
-#. ($self->GetWeekday($wday), $self->GetMonth($mon), map {sprintf "%02d", $_} ($mday, $hour, $min, $sec), ($year+1900))
-msgid "%1 %2 %3 %4:%5:%6 %7"
-msgstr "%7-%2-%3 %4:%5:%6 %1"
-
-#: lib/RT/Record.pm:1685 lib/RT/Transaction_Overlay.pm:647 lib/RT/Transaction_Overlay.pm:690
-#. ($cf->Name, $new_value->Content)
-#. ($field, $self->NewValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 added"
-msgstr "%2 已新增為 %1"
-
-#: lib/RT/Date.pm:362
-#. ($s, $time_unit)
-msgid "%1 %2 ago"
-msgstr "%1 %2 之前"
-
-#: lib/RT/Record.pm:1692 lib/RT/Transaction_Overlay.pm:654
-#. ($cf->Name, $old_content, $new_value->Content)
-#. ($field, $self->OldValue, $self->NewValue)
-msgid "%1 %2 changed to %3"
-msgstr "%1 已從 %2 改為 %3"
-
-#: lib/RT/Record.pm:1689 lib/RT/Transaction_Overlay.pm:650 lib/RT/Transaction_Overlay.pm:696
-#. ($cf->Name, $old_value->Content)
-#. ($field, $self->OldValue)
-#. ($self->Field, $principal->Object->Name)
-msgid "%1 %2 deleted"
-msgstr "%2 已自 %1 刪除"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 %2 of group %3"
-msgstr "%3 群組的 %1 %2"
-
-#: html/Admin/Elements/EditScrips:65 html/Admin/Elements/ListGlobalScrips:63 html/Ticket/Elements/PreviewScrips:103
-#. (loc($scrip->ConditionObj->Name), loc($scrip->ActionObj->Name), loc($scrip->TemplateObj->Name))
-msgid "%1 %2 with template %3"
-msgstr "條件:%1 | 動作:%2 | 範本:%3"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 (%2) %3 this ticket\\n"
-msgstr "%1 (%2) %3 這份申請單\\n"
-
-#: html/Ticket/Elements/ShowAttachments:72
-#. ($rev->CreatedAsString, $size, $rev->CreatorObj->Name)
-msgid "%1 (%2) by %3"
-msgstr "%1 (%2) - %3"
-
-#: html/SelfService/Update.html:60 html/Ticket/Elements/EditBasics:108 html/Ticket/Update.html:61 html/Ticket/Update.html:63 html/Tools/MyDay.html:66
-#. (loc($DefaultStatus))
-#. (loc($Ticket->Status()))
-#. (loc($TicketObj->Status))
-#. ($TicketObj->OwnerObj->Name())
-msgid "%1 (Unchanged)"
-msgstr "%1 (未更改)"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 - %2 shown"
-msgstr "顯示第 %1 - %2 筆"
-
-#: bin/rt-crontool:237 bin/rt-crontool:244 bin/rt-crontool:250
-#. ("--search-argument", "--search")
-#. ("--condition-argument", "--condition")
-#. ("--action-argument", "--action")
-msgid "%1 - An argument to pass to %2"
-msgstr "%1 - 傳遞給 %2 的一個參數"
-
-#: bin/rt-crontool:262
-#. ("--verbose")
-msgid "%1 - Output status updates to STDOUT"
-msgstr "%1 - 將更新狀態輸出到 STDOUT"
-
-#: bin/rt-crontool:253
-#. ("--template-id")
-msgid "%1 - Specify id of the template you want to use"
-msgstr "%1 - 指定欲使用的範本編號"
-
-#: bin/rt-crontool:256
-#. ("--transaction")
-msgid "%1 - Specify if you want to use either 'first' or 'last' tarnsaction"
-msgstr "%1 - 指定欲使用的更動為 'first' (第一項) 或 'last' (最後一項)"
-
-#: bin/rt-crontool:247
-#. ("--action")
-msgid "%1 - Specify the action module you want to use"
-msgstr "%1 - 指定欲使用的動作模組"
-
-#: bin/rt-crontool:241
-#. ("--condition")
-msgid "%1 - Specify the condition module you want to use"
-msgstr "%1 - 指定欲使用的條件模組"
-
-#: bin/rt-crontool:234
-#. ("--search")
-msgid "%1 - Specify the search module you want to use"
-msgstr "%1 - 指定欲使用的查詢模組"
-
-#: bin/rt-crontool:259
-#. ("--transaction-type")
-msgid "%1 - Specify the type of a transaction you want to use"
-msgstr "%1 - 指定欲使用的更動類別"
-
-#: html/Elements/Footer:56
-#. ('&#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 "%1 RT %2 版,%4 版權所有,1996-%3。"
-
-#: lib/RT/ScripAction_Overlay.pm:150
-#. ($self->Id)
-msgid "%1 ScripAction loaded"
-msgstr "載入手續 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 Total"
-msgstr "共 %1 筆"
-
-#: lib/RT/Record.pm:1722
-#. ($args{'Value'}, $cf->Name)
-msgid "%1 added as a value for %2"
-msgstr "新增 %1 作為 %2 的值"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on"
-msgstr "別名 %1 需要可用的申請單編號"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on "
-msgstr "別名 %1 需要可用的申請單編號 "
-
-#: NOT FOUND IN SOURCE
-msgid "%1 aliases require a TicketId to work on (from %2) %3"
-msgstr "別名 %1 需要可用的申請單編號以處理 %3(出自 %2)"
-
-#: lib/RT/Link_Overlay.pm:144 lib/RT/Link_Overlay.pm:151
-#. ($args{'Base'})
-#. ($args{'Target'})
-msgid "%1 appears to be a local object, but can't be found in the database"
-msgstr "%1 看來是個本地物件,卻不在資料庫裡"
-
-#: html/Ticket/Elements/ShowDates:73 lib/RT/Transaction_Overlay.pm:531
-#. ($self->BriefDescription , $self->CreatorObj->Name)
-#. ($Ticket->LastUpdatedAsString, $Ticket->LastUpdatedByObj->Name)
-msgid "%1 by %2"
-msgstr "%1 (%2)"
-
-#: lib/RT/Transaction_Overlay.pm:788 lib/RT/Transaction_Overlay.pm:797 lib/RT/Transaction_Overlay.pm:800
-#. ($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 的值從 %2 改為 %3"
-
-#: html/Search/Build.html:213
-#. ($Description)
-msgid "%1 copy"
-msgstr "%1 複製"
-
-#: lib/RT/Record.pm:944
-msgid "%1 could not be set to %2."
-msgstr "無法將 %1 設定為 %2。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 couldn't init a transaction (%2)\\n"
-msgstr "%1 無法初始更新 (%2)\\n"
-
-#: lib/RT/Ticket_Overlay.pm:2787
-#. ($self)
-msgid "%1 couldn't set status to resolved. RT's Database may be inconsistent."
-msgstr "%1 無法將現況設成已解決。RT 資料庫內容可能不一致。"
-
-#: lib/RT/Transaction_Overlay.pm:571
-#. ($obj_type)
-msgid "%1 created"
-msgstr "已建立 %1"
-
-#: lib/RT/Transaction_Overlay.pm:576
-#. ($obj_type)
-msgid "%1 deleted"
-msgstr "已刪除 %1"
-
-#: etc/initialdata:593
-msgid "%1 highest priority tickets I own"
-msgstr "前 %1 份待處理申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I own..."
-msgstr "前 %1 份待處理申請單..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets I requested..."
-msgstr "前 %1 份送出的申請單..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 highest priority tickets pending my approval..."
-msgstr "前 %1 份待簽核申請單..."
-
-#: bin/rt-crontool:229
-#. ($0)
-msgid "%1 is a tool to act on tickets from an external scheduling tool, such as cron."
-msgstr "%1 是從外部排程程式(如 cron)來對申請單進行操作的工具。"
-
-#: lib/RT/Queue_Overlay.pm:863
-#. ($principal->Object->Name, $args{'Type'})
-msgid "%1 is no longer a %2 for this queue."
-msgstr "%1 已不再是此表單的 %2。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 is no longer a %2 for this ticket."
-msgstr "%1 已不再是此申請單的 %2。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 is no longer a value for custom field %2"
-msgstr "%1 已不再是自訂欄位 %2 的值。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 isn't a valid Queue id."
-msgstr "%1 不是一個合法的表單編號。"
-
-#: html/Ticket/Elements/ShowTime:47 html/Ticket/Elements/ShowTime:49
-#. ($minutes)
-msgid "%1 min"
-msgstr "%1 分鐘"
-
-#: etc/initialdata:601
-msgid "%1 newest unowned tickets"
-msgstr "前 %1 份待認領的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 not shown"
-msgstr "沒有顯示 %1"
-
-#: lib/RT/CustomField_Overlay.pm:893
-msgid "%1 objects"
-msgstr "%1 物件"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 recent tickets I own..."
-msgstr "最新 %1 份待處理申請單..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 recent tickets I requested..."
-msgstr "最新 %1 份送出的申請單..."
-
-#: NOT FOUND IN SOURCE
-msgid "%1 result(s) found"
-msgstr "找到 %1 項結果"
-
-#: html/User/Elements/DelegateRights:97
-#. (loc($ObjectType =~ /^RT::(.*)$/))
-msgid "%1 rights"
-msgstr "%1權限"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 succeeded\\n"
-msgstr "%1 完成\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 type unknown for $MessageId"
-msgstr "不知道 $MessageID 的 %1 類別"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 type unknown for %2"
-msgstr "不知道 %2 的 %1 類別"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 was created without a CurrentUser\\n"
-msgstr "%1 新增時未指定現行使用者"
-
-#: lib/RT/Action/ResolveMembers.pm:63
-#. (ref $self)
-msgid "%1 will resolve all members of a resolved group ticket."
-msgstr "%1 會解決在已解決群組裡成員的申請單。"
-
-#: NOT FOUND IN SOURCE
-msgid "%1 will stall a [local] BASE if it's dependent [or member] of a linked up request."
-msgstr "如果 %1 起始申請單依賴於某個鏈結,或是某個鏈結的成員,它將會被延宕。"
-
-#: lib/RT/CustomField_Overlay.pm:894
-msgid "%1's %2 objects"
-msgstr "%1 內的 %2 物件"
-
-#: lib/RT/CustomField_Overlay.pm:895
-msgid "%1's %2's %3 objects"
-msgstr "%1 內的 %2 的 %3 物件"
-
-#: html/Search/Elements/SearchPrivacy:52 html/Search/Elements/SelectSearchObject:55 html/Search/Elements/SelectSearchesForObjects:57
-#. ($object->Name)
-#. ($Object->Name)
-msgid "%1's saved searches"
-msgstr "%1 已儲存的查詢"
-
-#: lib/RT/Transaction_Overlay.pm:481
-#. ($self)
-msgid "%1: no attachment specified"
-msgstr "%1:未指定附件"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:78
-#. ($size)
-msgid "%1b"
-msgstr "%1 位元組"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:75
-#. (int( $size / 102.4 ) / 10)
-msgid "%1k"
-msgstr "%1k 位元組"
-
-#: html/Ticket/Elements/ShowTime:49
-#. (sprintf("%.1f",$minutes / 60))
-msgid "%quant(%1,hour)"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "%quant(%1,result) found"
-msgstr "找到 %1 項結果"
-
-#: lib/RT/Ticket_Overlay.pm:1142
-#. ($args{'Status'})
-msgid "'%1' is an invalid value for status"
-msgstr "'%1' 不是一個合法的狀態值"
-
-#: NOT FOUND IN SOURCE
-msgid "'%1' not a recognized action. "
-msgstr "'%1'為無法辨識的動作。 "
-
-#: NOT FOUND IN SOURCE
-msgid "(Check box to delete group member)"
-msgstr "(點選欲刪除的成員)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Check box to delete scrip)"
-msgstr "(點選欲刪除的手續)"
-
-#: html/Admin/Elements/EditCustomFieldValues:50 html/Admin/Elements/EditQueueWatchers:50 html/Admin/Elements/EditScrips:56 html/Admin/Elements/EditTemplates:57 html/Admin/Groups/Members.html:73 html/Elements/EditLinks:54 html/Ticket/Elements/EditPeople:67 html/User/Groups/Members.html:76
-msgid "(Check box to delete)"
-msgstr "(點選欲刪除的項目)"
-
-#: NOT FOUND IN SOURCE
-msgid "(Check boxes to delete)"
-msgstr "(點選欲刪除的項目)"
-
-#: html/Ticket/Elements/PreviewScrips:99
-msgid "(Check boxes to disable notifications to the listed recipients)"
-msgstr "(點選欲停用通知的收件人)"
-
-#: html/Ticket/Elements/PreviewScrips:123
-msgid "(Check boxes to enable notifications to the listed recipients)"
-msgstr "(點選欲啟用通知的收件人)"
-
-#: html/Ticket/Create.html:218
-msgid "(Enter ticket ids or URLs, separated with spaces)"
-msgstr "(鍵入申請單編號或網址,以空白分隔)"
-
-#: html/Admin/Queues/Modify.html:75 html/Admin/Queues/Modify.html:81
-#. ($RT::CorrespondAddress)
-#. ($RT::CommentAddress)
-msgid "(If left blank, will default to %1)"
-msgstr "(如果留白, 則預設為 %1)"
-
-#: NOT FOUND IN SOURCE
-msgid "(No Value)"
-msgstr "(沒有值)"
-
-#: html/Admin/Elements/EditCustomFields:74 html/Admin/Elements/ListGlobalCustomFields:53
-msgid "(No custom fields)"
-msgstr "(沒有自訂欄位)"
-
-#: html/Admin/Groups/Members.html:71 html/User/Groups/Members.html:74
-msgid "(No members)"
-msgstr "(沒有成員)"
-
-#: html/Admin/Elements/EditScrips:53 html/Admin/Elements/ListGlobalScrips:48
-msgid "(No scrips)"
-msgstr "(沒有手續)"
-
-#: html/Admin/Elements/EditTemplates:52
-msgid "(No templates)"
-msgstr "沒有範本"
-
-#: NOT FOUND IN SOURCE
-msgid "(No workflows)"
-msgstr "沒有流程"
-
-#: html/Admin/Elements/PickCustomFields:47 html/Admin/Elements/PickObjects:47
-msgid "(None)"
-msgstr "(無)"
-
-#: 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 "(送出本份更新的密件副本給名單上以逗號隔開的電子郵件位址。這<b>不會</b>更改後續的收件者名單。)"
-
-#: 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 "(送出本份更新的密件副本給名單上以逗號隔開的電子郵件位址。這<b>不會</b>更改後續的收件者名單。)"
-
-#: html/Ticket/Update.html:90
-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 ""
-
-#: 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 "(送出本份更新的副本給名單上以逗號隔開的管理員電子郵件位址。這<b>將會</b>更改後續的收件者名單。)"
-
-#: html/Ticket/Create.html:103
-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 ""
-
-#: 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 "(送出本份更新的副本給名單上以逗號隔開的電子郵件位址。這<b>不會</b>更改後續的收件者名單。)"
-
-#: 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 "(送出本份更新的副本給名單上以逗號隔開的電子郵件位址。這<b>不會</b>更改後續的收件者名單。)"
-
-#: html/Ticket/Update.html:86
-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 ""
-
-#: 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 "(送出本份更新的副本給名單上以逗號隔開的電子郵件位址。這<b>將會</b>更改後續的收件者名單。)"
-
-#: html/Ticket/Create.html:93
-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:96
-msgid "(Use these fields when you choose 'User Defined' for a condition or action)"
-msgstr "(當條件或動作設為「使用者自訂」時,請填入這些欄位)"
-
-#: html/Ticket/Elements/EditWatchers:60 html/Ticket/Elements/ShowUserEntry:53
-msgid "(Will not be sent email)"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "(default delegate)"
-msgstr "(預設代理人)"
-
-#: NOT FOUND IN SOURCE
-msgid "(delete)"
-msgstr "(刪除)"
-
-#: html/Admin/Groups/index.html:57 html/User/Groups/index.html:54
-msgid "(empty)"
-msgstr "(空白)"
-
-#: NOT FOUND IN SOURCE
-msgid "(new)"
-msgstr "(新增)"
-
-#: html/Admin/Users/index.html:60
-msgid "(no name listed)"
-msgstr "(沒有列出姓名)"
-
-#: NOT FOUND IN SOURCE
-msgid "(no subject)"
-msgstr "(沒有主題)"
-
-#: html/Admin/Elements/SelectRights:72 html/Elements/EditCustomFieldSelect:69 html/Elements/SelectCustomFieldValue:51 html/Elements/ShowCustomFields:54 html/Search/Chart:56 html/Search/Elements/Chart:76 lib/RT/Transaction_Overlay.pm:591
-msgid "(no value)"
-msgstr "(無)"
-
-#: html/Admin/Elements/EditCustomFieldValues:47
-msgid "(no values)"
-msgstr "(沒有值)"
-
-#: html/Elements/EditLinks:132 html/Ticket/Elements/BulkLinks:49
-msgid "(only one ticket)"
-msgstr "(僅能指定一份申請單)"
-
-#: html/Elements/RT__Ticket/ColumnMap:149
-msgid "(pending approval)"
-msgstr "(等待簽核)"
-
-#: html/Elements/RT__Ticket/ColumnMap:152
-msgid "(pending other Collection)"
-msgstr "(等待其他集合)"
-
-#: NOT FOUND IN SOURCE
-msgid "(pending other tickets)"
-msgstr "(等待其他申請單)"
-
-#: NOT FOUND IN SOURCE
-msgid "(requestor's group)"
-msgstr "(申請人所屬)"
-
-#: html/Admin/Users/Modify.html:71
-msgid "(required)"
-msgstr "(必填)"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "(untitled)"
-msgstr "(未命名)"
-
-#: html/Ticket/Elements/Reminders:133
-msgid "(yyyy/mm/dd)"
-msgstr "(yyyy/mm/dd)"
-
-#: NOT FOUND IN SOURCE
-msgid "*"
-msgstr "★"
-
-#: html/Elements/EditCustomFieldSelect:57
-msgid "-"
-msgstr "-"
-
-#: bin/rt-crontool:95
-msgid "--transaction argument could be only 'first' or 'last'"
-msgstr "--transaction 的值僅能為 'first' 或 'last'"
-
-#: NOT FOUND IN SOURCE
-msgid ":"
-msgstr ":"
-
-#: html/Ticket/Elements/ShowBasics:53
-msgid "<% $Ticket->Status%>"
-msgstr "<% $Ticket->Status%>"
-
-#: html/Elements/SelectTicketTypes:48
-msgid "<% $_ %>"
-msgstr "<% $_ %>"
-
-#: html/Search/Elements/SelectLinks:48
-msgid "<%$_%>"
-msgstr "<%$_%>"
-
-#: html/Search/Elements/DisplayOptions:73
-msgid "<%$field%>"
-msgstr "<%$field%>"
-
-#: html/Elements/CreateTicket:47
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" class=\"button\" value=\"New ticket in\" />&nbsp;%1"
-msgstr "<input type=\"submit\" class=\"button\" value=\"提出申請單\" />&nbsp;%1"
-
-#: docs/design_docs/string-extraction-guide.txt:54 lib/RT/StyleGuide.pod:787
-#. ($m->scomp('/Elements/SelectNewTicketQueue'))
-msgid "<input type=\"submit\" value=\"New ticket in\">&nbsp;%1"
-msgstr "<input type=\"submit\" value=\"提出申請單\">&nbsp;%1"
-
-#: etc/initialdata:218
-msgid "A blank template"
-msgstr "空白範本"
-
-#: html/Admin/Users/Modify.html:371
-msgid "A password was not set, so user won't be able to login."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "ACE Deleted"
-msgstr "ACE 已刪除"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE Loaded"
-msgstr "ACE 已載入"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE could not be deleted"
-msgstr "無法刪除 ACE"
-
-#: NOT FOUND IN SOURCE
-msgid "ACE could not be found"
-msgstr "找不到 ACE"
-
-#: lib/RT/ACE_Overlay.pm:174 lib/RT/Principal_Overlay.pm:219
-msgid "ACE not found"
-msgstr "找不到 ACE 設定"
-
-#: lib/RT/ACE_Overlay.pm:853
-msgid "ACEs can only be created and deleted."
-msgstr "祇能新增或刪除 ACE 設定。"
-
-#: NOT FOUND IN SOURCE
-msgid "ACLEquivalence"
-msgstr "ACLEquivalence"
-
-#: html/Search/Elements/SelectAndOr:46
-msgid "AND"
-msgstr "AND"
-
-#: NOT FOUND IN SOURCE
-msgid "Aborting to avoid unintended ticket modifications.\\n"
-msgstr "離開以免不小心更改到申請單。\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "About Me"
-msgstr "個人資訊"
-
-#: html/User/Elements/Tabs:53
-msgid "About me"
-msgstr "個人資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Access Right"
-msgstr "系統使用登錄權限"
-
-#: html/Admin/Users/Modify.html:106
-msgid "Access control"
-msgstr "存取權限"
-
-#: html/Admin/Elements/EditScrip:65
-msgid "Action"
-msgstr "動作"
-
-#: lib/RT/Scrip_Overlay.pm:172
-#. ($args{'ScripAction'})
-msgid "Action %1 not found"
-msgstr "動作 %1 找不到"
-
-#: NOT FOUND IN SOURCE
-msgid "Action committed."
-msgstr "動作執行完畢"
-
-#: bin/rt-crontool:171
-msgid "Action committed.\\n"
-msgstr "動作執行完畢。\\n"
-
-#: lib/RT/Scrip_Overlay.pm:168
-msgid "Action is mandatory argument"
-msgstr ""
-
-#: bin/rt-crontool:167
-msgid "Action prepared..."
-msgstr "動作準備完畢..."
-
-#: NOT FOUND IN SOURCE
-msgid "Activated Date"
-msgstr "申請啟動時間"
-
-#: html/Search/Build.html:85
-msgid "Add"
-msgstr "新增"
-
-#: html/Search/Bulk.html:92
-msgid "Add AdminCc"
-msgstr "新增管理員副本收件人"
-
-#: html/Search/Bulk.html:88
-msgid "Add Cc"
-msgstr "新增副本收件人"
-
-#: html/Search/Elements/EditFormat:49
-msgid "Add Columns"
-msgstr ""
-
-#: html/Search/Elements/PickCriteria:46
-msgid "Add Criteria"
-msgstr "新增條件"
-
-#: NOT FOUND IN SOURCE
-msgid "Add Entry"
-msgstr "新增列"
-
-#: html/Ticket/Create.html:147 html/Ticket/Update.html:116
-msgid "Add More Files"
-msgstr "新增更多附件"
-
-#: NOT FOUND IN SOURCE
-msgid "Add Next State"
-msgstr "新增下一項關卡"
-
-#: html/Search/Bulk.html:84
-msgid "Add Requestor"
-msgstr "新增申請人"
-
-#: html/Admin/Elements/AddCustomFieldValue:46
-msgid "Add Value"
-msgstr "新增欄位值"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a Scrip to this queue"
-msgstr "新增此表單的手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a Scrip which will apply to all queues"
-msgstr "新增適用於所有表單的手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a keyword selection to this queue"
-msgstr "新增此表單的關鍵字"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a new a global scrip"
-msgstr "新增全域手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Add a scrip to this queue"
-msgstr "新增一道手續到此表單"
-
-#: html/Admin/Global/Scrip.html:83
-msgid "Add a scrip which will apply to all queues"
-msgstr "新增一道用於所有表單的手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Add additional criteria"
-msgstr "新增查詢條件"
-
-#: html/Search/Build.html:109 html/Search/Build.html:94
-msgid "Add and Search"
-msgstr ""
-
-#: html/Search/Bulk.html:124
-msgid "Add comments or replies to selected tickets"
-msgstr "新增評論或回覆到指定的申請單"
-
-#: html/Admin/Groups/Members.html:63 html/User/Groups/Members.html:60
-msgid "Add members"
-msgstr "新增成員"
-
-#: html/Admin/Queues/People.html:87 html/Ticket/Elements/AddWatchers:49
-msgid "Add new watchers"
-msgstr "新增視察員"
-
-#: html/Search/Build.html:85
-msgid "Add these terms to your search"
-msgstr ""
-
-#: html/Search/Bulk.html:158
-msgid "Add values"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "Add, delete and modify custom field values for objects"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "AddNextState"
-msgstr "新增下一項關卡"
-
-#: lib/RT/Queue_Overlay.pm:763
-#. ($args{'Type'})
-msgid "Added principal as a %1 for this queue"
-msgstr "單位已新增為此表單的 %1"
-
-#: lib/RT/Ticket_Overlay.pm:1455
-#. ($self->loc($args{'Type'}))
-msgid "Added principal as a %1 for this ticket"
-msgstr "單位已新增為此申請單的 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Additional Hints"
-msgstr "額外提示"
-
-#: html/Admin/Users/Modify.html:146 html/User/Prefs.html:133
-msgid "Address1"
-msgstr "住址"
-
-#: html/Admin/Users/Modify.html:151 html/User/Prefs.html:137
-msgid "Address2"
-msgstr "住址(續)"
-
-#: NOT FOUND IN SOURCE
-msgid "Adjust Blinking Rate"
-msgstr "調整閃爍速度快慢"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin"
-msgstr "管理員"
-
-#: html/Ticket/Create.html:98
-msgid "Admin Cc"
-msgstr "管理員副本"
-
-#: etc/initialdata:295
-msgid "Admin Comment"
-msgstr "管理員評論"
-
-#: etc/initialdata:274
-msgid "Admin Correspondence"
-msgstr "管理員回覆"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin Rights"
-msgstr "管理員權限"
-
-#: html/Admin/Queues/index.html:46 html/Admin/Queues/index.html:49
-msgid "Admin queues"
-msgstr "表單管理"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin users"
-msgstr "使用者管理"
-
-#: html/Admin/Global/index.html:47 html/Admin/Global/index.html:49
-msgid "Admin/Global configuration"
-msgstr "管理/全域設定"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Groups"
-msgstr "管理/群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Admin/Queue/Basics"
-msgstr "管理/表單/基本資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminAddress"
-msgstr "管理員 Email"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminAllPersonalGroups"
-msgstr "管理所有代理人群組"
-
-#: etc/initialdata:56 html/Ticket/Elements/ShowPeople:60 lib/RT/ACE_Overlay.pm:113
-msgid "AdminCc"
-msgstr "管理員副本"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminComment"
-msgstr "管理員評論"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminCorrespondence"
-msgstr "管理員回覆"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "AdminCustomField"
-msgstr "管理自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminCustomFields"
-msgstr "管理自訂欄位"
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "AdminGroup"
-msgstr "管理群組"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminGroupDescription"
-msgstr "管理群組描述"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "AdminGroupMembership"
-msgstr "管理群組成員"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminGroupName"
-msgstr "管理群組名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminGroupPermission"
-msgstr "管理群組權限"
-
-#: NOT FOUND IN SOURCE
-msgid "AdminGroupStatus"
-msgstr "管理群組狀態"
-
-#: lib/RT/System.pm:80
-msgid "AdminOwnPersonalGroups"
-msgstr "管理代理人群組"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "AdminQueue"
-msgstr "管理表單"
-
-#: lib/RT/System.pm:81
-msgid "AdminUsers"
-msgstr "管理使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Administrative"
-msgstr "行政類"
-
-#: html/Admin/Queues/People.html:69 html/Ticket/Elements/EditPeople:75
-msgid "Administrative Cc"
-msgstr "管理員副本"
-
-#: NOT FOUND IN SOURCE
-msgid "Admins"
-msgstr "主管"
-
-#: html/Ticket/Elements/Tabs:216
-msgid "Advanced"
-msgstr "進階"
-
-#: NOT FOUND IN SOURCE
-msgid "Advanced Search"
-msgstr "進階查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "Advanced Search Criteria"
-msgstr "進階查詢條件"
-
-#: html/Elements/SelectDateRelation:57
-msgid "After"
-msgstr "晚於"
-
-#: NOT FOUND IN SOURCE
-msgid "Age"
-msgstr "經歷時間"
-
-#: html/Search/Elements/PickCriteria:52
-msgid "Aggregator"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Alias"
-msgstr "執行其他流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Alias for"
-msgstr "相當於"
-
-#: NOT FOUND IN SOURCE
-msgid "All"
-msgstr "全部"
-
-#: etc/initialdata:363
-msgid "All Approvals Passed"
-msgstr "完成全部簽核"
-
-#: NOT FOUND IN SOURCE
-msgid "All Condition"
-msgstr "所有條件"
-
-#: NOT FOUND IN SOURCE
-msgid "All Custom Fields"
-msgstr "所有自訂欄位"
-
-#: html/Admin/Queues/index.html:75
-msgid "All Queues"
-msgstr "所有表單"
-
-#: NOT FOUND IN SOURCE
-msgid "All Users"
-msgstr "全體員工"
-
-#: NOT FOUND IN SOURCE
-msgid "All done! Now you can proceed to %1."
-msgstr "處理完畢!您現在可以繼續進行 %1。"
-
-#: NOT FOUND IN SOURCE
-msgid "Allowance Request"
-msgstr "福利補助申請"
-
-#: NOT FOUND IN SOURCE
-msgid "Always sends a message to the requestors independent of message sender"
-msgstr "無論寄件來源為何,一律寄信給申請人"
-
-#: NOT FOUND IN SOURCE
-msgid "Amount"
-msgstr "數額"
-
-#: html/Search/Elements/EditQuery:56
-msgid "And/Or"
-msgstr "AND/OR"
-
-#: NOT FOUND IN SOURCE
-msgid "Any Condition"
-msgstr "任意條件"
-
-#: NOT FOUND IN SOURCE
-msgid "Applies To"
-msgstr "套用於"
-
-#: html/Admin/CustomFields/Modify.html:73 html/Admin/Elements/CustomFieldTabs:83
-msgid "Applies to"
-msgstr "套用於"
-
-#: html/Search/Edit.html:64
-msgid "Apply"
-msgstr "套用"
-
-#: NOT FOUND IN SOURCE
-msgid "Apply Template"
-msgstr "引用範本"
-
-#: html/Search/Edit.html:64
-msgid "Apply your changes"
-msgstr "套用更動"
-
-#: html/Elements/Tabs:77
-msgid "Approval"
-msgstr "簽核"
-
-#: html/Approvals/Display.html:65 html/Approvals/Elements/ShowDependency:63 html/Approvals/index.html:86
-#. ($Ticket->Id, $Ticket->Subject)
-#. ($ticket->id, $msg)
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Approval #%1: %2"
-msgstr "簽核單 #%1:%2"
-
-#: html/Approvals/index.html:75
-#. ($ticket->Id)
-msgid "Approval #%1: Notes not recorded due to a system error"
-msgstr "簽核單 #%1:系統錯誤,記錄失敗"
-
-#: html/Approvals/index.html:73
-#. ($ticket->Id)
-msgid "Approval #%1: Notes recorded"
-msgstr "簽核單 #%1:記錄完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Details"
-msgstr "簽核細節"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Due"
-msgstr "簽核時限"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Notes"
-msgstr "簽核意見"
-
-#: etc/initialdata:351
-msgid "Approval Passed"
-msgstr "完成某項簽核"
-
-#: etc/initialdata:374
-msgid "Approval Rejected"
-msgstr "駁回某項簽核"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Result"
-msgstr "簽核結果"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Status"
-msgstr "核准結果"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval Type"
-msgstr "簽核種類"
-
-#: NOT FOUND IN SOURCE
-msgid "Approval diagram"
-msgstr "簽核流程"
-
-#: html/Approvals/Elements/Approve:69
-msgid "Approve"
-msgstr "核准"
-
-#: NOT FOUND IN SOURCE
-msgid "Approver"
-msgstr "簽核人"
-
-#: NOT FOUND IN SOURCE
-msgid "Approver Setting"
-msgstr "執行簽核人設定"
-
-#: etc/initialdata:504
-msgid "Approver's notes: %1"
-msgstr "簽核備註:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Apr"
-msgstr "四月"
-
-#: lib/RT/Date.pm:444
-msgid "Apr."
-msgstr "04"
-
-#: NOT FOUND IN SOURCE
-msgid "April"
-msgstr "四月"
-
-#: NOT FOUND IN SOURCE
-msgid "Are you sure to delete checked items?"
-msgstr "您確定要刪除?"
-
-#: html/Search/Elements/DisplayOptions:81
-msgid "Asc"
-msgstr ""
-
-#: html/Elements/SelectSortOrder:56
-msgid "Ascending"
-msgstr "遞增"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "Assign and remove custom fields"
-msgstr "指派及移除自訂欄位"
-
-#: lib/RT/Queue_Overlay.pm:96
-msgid "AssignCustomFields"
-msgstr "指派自訂欄位"
-
-#: html/Search/Bulk.html:142 html/SelfService/Update.html:87 html/Ticket/ModifyAll.html:115 html/Ticket/Update.html:116
-msgid "Attach"
-msgstr "附件"
-
-#: html/SelfService/Create.html:92 html/Ticket/Create.html:143
-msgid "Attach file"
-msgstr "附加檔案"
-
-#: html/SelfService/Update.html:75 html/Ticket/Create.html:131 html/Ticket/Update.html:94
-msgid "Attached file"
-msgstr "現有附件"
-
-#: html/Ticket/ShowEmailRecord.html:52 html/Ticket/ShowEmailRecord.html:56 html/Ticket/ShowEmailRecord.html:59
-#. ($Attachment)
-msgid "Attachment '%1' could not be loaded"
-msgstr "無法載入附件 '%1'"
-
-#: lib/RT/Transaction_Overlay.pm:489
-msgid "Attachment created"
-msgstr "附件新增完畢"
-
-#: lib/RT/Tickets_Overlay.pm:1945
-msgid "Attachment filename"
-msgstr "附件檔名"
-
-#: html/Ticket/Elements/ShowAttachments:47
-msgid "Attachments"
-msgstr "附件"
-
-#: lib/RT/Attributes_Overlay.pm:171
-msgid "Attribute Deleted"
-msgstr "已刪除該屬性"
-
-#: NOT FOUND IN SOURCE
-msgid "Attributes"
-msgstr "屬性"
-
-#: NOT FOUND IN SOURCE
-msgid "Aug"
-msgstr "八月"
-
-#: lib/RT/Date.pm:448
-msgid "Aug."
-msgstr "08"
-
-#: NOT FOUND IN SOURCE
-msgid "August"
-msgstr "八月"
-
-#: NOT FOUND IN SOURCE
-msgid "AuthSystem"
-msgstr "認證方式"
-
-#: NOT FOUND IN SOURCE
-msgid "AutoReject"
-msgstr "自動駁回表單"
-
-#: NOT FOUND IN SOURCE
-msgid "AutoResolve"
-msgstr "自動完成表單處理"
-
-#: etc/initialdata:221
-msgid "Autoreply"
-msgstr "自動回覆"
-
-#: etc/initialdata:72
-msgid "Autoreply To Requestors"
-msgstr "自動對申請人回覆"
-
-#: NOT FOUND IN SOURCE
-msgid "AutoreplyToRequestors"
-msgstr "自動對申請人回覆"
-
-#: html/Widgets/SelectionBox:185
-msgid "Available"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Available Columns"
-msgstr "可用的欄位:"
-
-#: NOT FOUND IN SOURCE
-msgid "Available Rights:"
-msgstr "權限項目列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Back to Homepage"
-msgstr "回到首頁"
-
-#: NOT FOUND IN SOURCE
-msgid "Back to Previous"
-msgstr "回上頁"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad PGP Signature: %1\\n"
-msgstr "錯誤的 PGP 簽章:%1\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad attachment id. Couldn't find attachment '%1'\\n"
-msgstr "錯誤的附件編號。無法找到附件 '%1'\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad data in %1"
-msgstr "%1 的資料錯誤"
-
-#: NOT FOUND IN SOURCE
-msgid "Bad transaction number for attachment. %1 should be %2\\n"
-msgstr "附件的處理號碼錯誤。%1 應為 %2\\n"
-
-#: html/Admin/Elements/CustomFieldTabs:65 html/Admin/Elements/GroupTabs:60 html/Admin/Elements/QueueTabs:60 html/Admin/Elements/UserTabs:58 html/Ticket/Elements/Tabs:113 html/User/Elements/GroupTabs:59
-msgid "Basics"
-msgstr "基本資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Batch Approval"
-msgstr "批次簽核"
-
-#: html/Ticket/Update.html:88
-msgid "Bcc"
-msgstr "密件副本"
-
-#: html/Admin/CustomFields/GroupRights.html:91 html/Admin/CustomFields/UserRights.html:74 html/Admin/Elements/EditScrip:89
-msgid "Be sure to save your changes"
-msgstr "請別忘了儲存修改。"
-
-#: html/Elements/SelectDateRelation:55 lib/RT/CurrentUser.pm:361
-msgid "Before"
-msgstr "早於"
-
-#: NOT FOUND IN SOURCE
-msgid "Begin Approval"
-msgstr "開始簽核"
-
-#: NOT FOUND IN SOURCE
-msgid "Begin From "
-msgstr "起始日"
-
-#: html/Elements/Logo:47
-msgid "Best Practical Solutions, LLC corporate logo"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Binary"
-msgstr "檔案"
-
-#: NOT FOUND IN SOURCE
-msgid "Birthday"
-msgstr "生日"
-
-#: etc/initialdata:217
-msgid "Blank"
-msgstr "空白範本"
-
-#: html/Search/Elements/EditFormat:84
-msgid "Bold"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Bookmarkable URL for this search"
-msgstr "將查詢結果轉為可放入書籤的網址"
-
-#: html/Search/Results.html:79
-msgid "Bookmarkable link"
-msgstr "可放入書籤的網址"
-
-#: html/Ticket/Elements/ShowHistory:64 html/Ticket/Elements/ShowHistory:69
-msgid "Brief headers"
-msgstr "精簡標頭檔"
-
-#: html/Ticket/Elements/Tabs:227
-msgid "Bulk Update"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Bulk ticket update"
-msgstr "更新整批申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Business Unit"
-msgstr "事業部"
-
-#: NOT FOUND IN SOURCE
-msgid "Business Unit:"
-msgstr "事業部:"
-
-#: lib/RT/User_Overlay.pm:1853
-msgid "Can not modify system users"
-msgstr "無法更改系統使用者"
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "Can this principal see this queue"
-msgstr "該單位是否能查閱此表單"
-
-#: lib/RT/CustomField_Overlay.pm:379
-msgid "Can't add a custom field value without a name"
-msgstr "不能新增沒有名稱的自訂欄位值"
-
-#: html/Admin/CustomFields/Objects.html:86
-#. ($Class)
-msgid "Can't find a collection class for '%1'"
-msgstr ""
-
-#: html/Search/Build.html:286
-msgid "Can't find a saved search to work with"
-msgstr "找不到已儲存的查詢"
-
-#: lib/RT/Link_Overlay.pm:159
-msgid "Can't link a ticket to itself"
-msgstr "申請單不能鏈結自己。"
-
-#: NOT FOUND IN SOURCE
-msgid "Can't merge into a merged ticket. You should never get this error"
-msgstr "不能整合進已整合過的申請單。這個錯誤不該發生。"
-
-#: html/Widgets/SavedSearch:63
-#. (loc($self->{SearchType}))
-msgid "Can't save %1"
-msgstr "無法儲存 %1"
-
-#: html/Search/Build.html:290
-msgid "Can't save this search"
-msgstr "無法儲存此項查詢"
-
-#: lib/RT/Record.pm:1282 lib/RT/Record.pm:1358
-msgid "Can't specifiy both base and target"
-msgstr "不能同時指定起始申請單與目的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Cancel"
-msgstr "取消"
-
-#: html/autohandler:204
-#. ($msg)
-msgid "Cannot create user: %1"
-msgstr "無法新增使用者:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Cannot login: Your system clock differs from server's by %1 seconds!"
-msgstr "您的系統時鐘和伺服器相差 %1 秒,無法登入!"
-
-#: NOT FOUND IN SOURCE
-msgid "Card No."
-msgstr "卡號"
-
-#: NOT FOUND IN SOURCE
-msgid "Categories"
-msgstr "分類管理"
-
-#: html/Admin/Elements/AddCustomFieldValue:62 html/Admin/Elements/EditCustomFieldValues:58
-msgid "Category"
-msgstr "分類"
-
-#: etc/initialdata:50 html/Admin/Queues/People.html:65 html/SelfService/Create.html:71 html/Ticket/Create.html:88 html/Ticket/Elements/EditPeople:72 html/Ticket/Elements/ShowPeople:56 html/Ticket/Update.html:83 lib/RT/ACE_Overlay.pm:112
-msgid "Cc"
-msgstr "副本"
-
-#: NOT FOUND IN SOURCE
-msgid "Cc Type"
-msgstr "副本類別"
-
-#: NOT FOUND IN SOURCE
-msgid "Chairperson's Office"
-msgstr "董事長室"
-
-#: NOT FOUND IN SOURCE
-msgid "Change Ticket"
-msgstr "修改申請單"
-
-#: html/SelfService/Prefs.html:52
-msgid "Change password"
-msgstr "更改密碼"
-
-#: NOT FOUND IN SOURCE
-msgid "ChangeOwnerUI"
-msgstr "可否選擇表單承辦人"
-
-#: html/Elements/Submit:78
-msgid "Check All"
-msgstr "全部選取"
-
-#: html/SelfService/Update.html:78 html/Ticket/Create.html:134 html/Ticket/Update.html:97
-msgid "Check box to delete"
-msgstr "選擇欲刪除的項目"
-
-#: html/Admin/Elements/SelectRights:55
-msgid "Check box to revoke right"
-msgstr "選擇欲撤消的權利"
-
-#: html/Elements/EditLinks:148 html/Elements/EditLinks:85 html/Elements/ShowLinks:78 html/Ticket/Create.html:223 html/Ticket/Elements/BulkLinks:64
-msgid "Children"
-msgstr "子申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Chinese Name"
-msgstr "中文姓名"
-
-#: NOT FOUND IN SOURCE
-msgid "Chinese/English"
-msgstr "中英文"
-
-#: html/NoAuth/js/util.js:201
-msgid "Choose a date"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:156 html/User/Prefs.html:141
-msgid "City"
-msgstr "所在城市"
-
-#: NOT FOUND IN SOURCE
-msgid "ClassicUI"
-msgstr "傳統介面"
-
-#: html/Elements/Submit:80
-msgid "Clear All"
-msgstr "全部清除"
-
-#: html/Helpers/CalPopup.html:51
-msgid "Close window"
-msgstr "關閉視窗"
-
-#: html/Ticket/Elements/ShowDates:68
-msgid "Closed"
-msgstr "已解決"
-
-#: NOT FOUND IN SOURCE
-msgid "Closed Tickets"
-msgstr "已解決的申請單"
-
-#: html/SelfService/Closed.html:46 html/SelfService/Elements/Tabs:78
-msgid "Closed tickets"
-msgstr "已解決的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Code"
-msgstr "執行程式碼"
-
-#: lib/RT/CustomField_Overlay.pm:89
-msgid "Combobox: Select or enter multiple values"
-msgstr "下拉文字框:選擇或鍵入多重項目"
-
-#: lib/RT/CustomField_Overlay.pm:90
-msgid "Combobox: Select or enter one value"
-msgstr "下拉文字框:選擇或鍵入單一項目"
-
-#: lib/RT/CustomField_Overlay.pm:91
-msgid "Combobox: Select or enter up to %1 values"
-msgstr "下拉文字框:選擇或鍵入最多 %1 個項目"
-
-#: NOT FOUND IN SOURCE
-msgid "Command not understood!\\n"
-msgstr "指令無法辨識!\\n"
-
-#: html/Ticket/Elements/ShowTransaction:190 html/Ticket/Elements/Tabs:185
-msgid "Comment"
-msgstr "評論"
-
-#: html/Admin/Queues/Modify.html:79
-msgid "Comment Address"
-msgstr "評論電子郵件地址"
-
-#: NOT FOUND IN SOURCE
-msgid "Comment not recorded"
-msgstr "評論未被紀錄"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "Comment on tickets"
-msgstr "對申請單提出評論"
-
-#: lib/RT/Queue_Overlay.pm:111
-msgid "CommentOnTicket"
-msgstr "評論申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments"
-msgstr "評論"
-
-#: html/Ticket/ModifyAll.html:91 html/Ticket/Update.html:75
-msgid "Comments (Not sent to requestors)"
-msgstr "評論(不送給申請人)"
-
-#: html/Search/Bulk.html:128
-msgid "Comments (not sent to requestors)"
-msgstr "評論(不送給申請人)"
-
-#: NOT FOUND IN SOURCE
-msgid "Comments about %1"
-msgstr "對 %1 的評論"
-
-#: html/Admin/Users/Modify.html:225 html/Ticket/Elements/ShowRequestor:67
-msgid "Comments about this user"
-msgstr "使用者描述"
-
-#: lib/RT/Transaction_Overlay.pm:634
-msgid "Comments added"
-msgstr "新增評論完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "Commit"
-msgstr "確認"
-
-#: lib/RT/Action/Generic.pm:175
-msgid "Commit Stubbed"
-msgstr "消除更動完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "Company Name"
-msgstr "公司名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "CompanySpecific"
-msgstr "各公司獨立顯示"
-
-#: NOT FOUND IN SOURCE
-msgid "Compile Restrictions"
-msgstr "設定查詢條件"
-
-#: html/Admin/Elements/EditScrip:59
-msgid "Condition"
-msgstr "條件"
-
-#: lib/RT/Scrip_Overlay.pm:184
-msgid "Condition is mandatory argument"
-msgstr "條件是必填欄位"
-
-#: bin/rt-crontool:151
-msgid "Condition matches..."
-msgstr "符合條件..."
-
-#: lib/RT/Scrip_Overlay.pm:188
-msgid "Condition not found"
-msgstr "未找到符合的現況"
-
-#: html/Elements/Tabs:84
-msgid "Configuration"
-msgstr "設定"
-
-#: html/SelfService/Prefs.html:54
-msgid "Confirm"
-msgstr "確認密碼"
-
-#: NOT FOUND IN SOURCE
-msgid "Confirm Password"
-msgstr "密碼確認"
-
-#: NOT FOUND IN SOURCE
-msgid "Confirm Submit"
-msgstr "確定送出"
-
-#: NOT FOUND IN SOURCE
-msgid "Contact System Administrator"
-msgstr "連絡系統管理員"
-
-#: NOT FOUND IN SOURCE
-msgid "ContactInfoSystem"
-msgstr "連絡資訊系統"
-
-#: NOT FOUND IN SOURCE
-msgid "Contacted date '%1' could not be parsed"
-msgstr "無法解讀聯絡日期 '%1'"
-
-#: html/Admin/Elements/ModifyTemplate:65 html/Elements/SelectAttachmentField:48 html/Ticket/ModifyAll.html:119
-msgid "Content"
-msgstr "內容"
-
-#: html/Elements/SelectAttachmentField:49
-msgid "Content-Type"
-msgstr "內容類型"
-
-#: NOT FOUND IN SOURCE
-msgid "Coould not create group"
-msgstr "無法新增群組"
-
-#: html/Search/Elements/EditSearches:65
-msgid "Copy"
-msgstr "複製"
-
-#: NOT FOUND IN SOURCE
-msgid "Copy Field From:"
-msgstr "欲複製欄位:"
-
-#: etc/initialdata:286
-msgid "Correspondence"
-msgstr "回覆"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence Address"
-msgstr "申請單回覆地址"
-
-#: lib/RT/Transaction_Overlay.pm:630
-msgid "Correspondence added"
-msgstr "新增申請單回覆"
-
-#: NOT FOUND IN SOURCE
-msgid "Correspondence not recorded"
-msgstr "未紀錄申請單回覆"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value for ticket. "
-msgstr "不能新增自訂欄位的值。"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not add new custom field value for ticket. %1 "
-msgstr "不能新增自訂欄位的值。%1 "
-
-#: lib/RT/Record.pm:1707
-msgid "Could not add new custom field value. "
-msgstr "不能新增自訂欄位的值。"
-
-#: lib/RT/Record.pm:1660
-#. (, $value_msg)
-msgid "Could not add new custom field value. %1 "
-msgstr "不能新增自訂欄位的值。%1 "
-
-#: lib/RT/Ticket_Overlay.pm:3048 lib/RT/Ticket_Overlay.pm:3056 lib/RT/Ticket_Overlay.pm:3073
-msgid "Could not change owner. "
-msgstr "不能更改承辦人。"
-
-#: html/Admin/CustomFields/Modify.html:161
-#. ($msg)
-msgid "Could not create CustomField"
-msgstr "無法新增自訂欄位"
-
-#: html/Admin/Elements/EditCustomField:113
-#. ($msg)
-msgid "Could not create CustomField: %1"
-msgstr "無法新增自訂欄位:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create Scrip"
-msgstr "無法建立訊息通知"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create Template"
-msgstr "無法建立通知範本"
-
-#: html/User/Groups/Modify.html:98 lib/RT/Group_Overlay.pm:494 lib/RT/Group_Overlay.pm:501
-msgid "Could not create group"
-msgstr "無法新增群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create item"
-msgstr "無法新增項目"
-
-#: html/Admin/Global/Template.html:96 html/Admin/Queues/Template.html:93
-#. ($msg)
-msgid "Could not create template: %1"
-msgstr "無法新增範本:%1"
-
-#: lib/RT/Ticket_Overlay.pm:1075 lib/RT/Ticket_Overlay.pm:407
-msgid "Could not create ticket. Queue not set"
-msgstr "無法新增申請單。尚未指定表單。"
-
-#: lib/RT/User_Overlay.pm:255 lib/RT/User_Overlay.pm:269 lib/RT/User_Overlay.pm:278 lib/RT/User_Overlay.pm:287 lib/RT/User_Overlay.pm:296 lib/RT/User_Overlay.pm:310 lib/RT/User_Overlay.pm:320 lib/RT/User_Overlay.pm:496
-msgid "Could not create user"
-msgstr "無法新增使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create watcher for requestor"
-msgstr "無法為申請人新增視察員"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not create workflow: %1"
-msgstr "無法新增流程:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find a ticket with id %1"
-msgstr "找不到編號 %1 的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find group %1."
-msgstr "找不到群組 %1。"
-
-#: lib/RT/Queue_Overlay.pm:741 lib/RT/Ticket_Overlay.pm:1423
-msgid "Could not find or create that user"
-msgstr "找不到或無法新增該名使用者"
-
-#: lib/RT/Queue_Overlay.pm:802 lib/RT/Ticket_Overlay.pm:1504
-msgid "Could not find that principal"
-msgstr "找不到該單位"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not find user %1."
-msgstr "找不到使用者 %1。"
-
-#: html/Admin/CustomFields/Objects.html:69
-msgid "Could not load CustomField %1"
-msgstr "無法載入欄位 %1"
-
-#: html/Admin/Groups/Members.html:112 html/User/Groups/Members.html:111 html/User/Groups/Modify.html:103
-msgid "Could not load group"
-msgstr "無法載入群組"
-
-#: lib/RT/SavedSearch.pm:119
-#. ($privacy)
-msgid "Could not load object for %1"
-msgstr "無法為 %1 載入物件"
-
-#: lib/RT/SavedSearch.pm:197
-msgid "Could not load search attribute"
-msgstr "無法載入查詢屬性"
-
-#: lib/RT/Queue_Overlay.pm:761
-#. ($args{'Type'})
-msgid "Could not make that principal a %1 for this queue"
-msgstr "無法將該單位設為此表單的 %1。"
-
-#: lib/RT/Ticket_Overlay.pm:1444
-#. ($self->loc($args{'Type'}))
-msgid "Could not make that principal a %1 for this ticket"
-msgstr "無法將該單位設為此申請單的 %1。"
-
-#: lib/RT/Queue_Overlay.pm:860
-#. ($args{'Type'})
-msgid "Could not remove that principal as a %1 for this queue"
-msgstr "無法將單位 %1 從表單移除。"
-
-#: NOT FOUND IN SOURCE
-msgid "Could not remove that principal as a %1 for this ticket"
-msgstr "無法將單位 %1 從申請單移除。"
-
-#: lib/RT/User_Overlay.pm:191
-msgid "Could not set user info"
-msgstr "無法設定使用者資訊"
-
-#: lib/RT/Transaction_Overlay.pm:159
-msgid "Couldn't add attachment"
-msgstr "無法新增附件"
-
-#: lib/RT/Group_Overlay.pm:1003
-msgid "Couldn't add member to group"
-msgstr "無法新增成員至群組"
-
-#: lib/RT/Record.pm:1719 lib/RT/Record.pm:1771
-#. ($Msg)
-msgid "Couldn't create a transaction: %1"
-msgstr "無法新增更動報告"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't figure out what to do from gpg's reply\\n"
-msgstr "無法從 gpg 回函辨識出該採取的行動\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find group\\n"
-msgstr "找不到群組\\n"
-
-#: lib/RT/Record.pm:953
-msgid "Couldn't find row"
-msgstr "找不到此列資料"
-
-#: lib/RT/Group_Overlay.pm:977
-msgid "Couldn't find that principal"
-msgstr "找不到該單位"
-
-#: lib/RT/CustomField_Overlay.pm:409
-msgid "Couldn't find that value"
-msgstr "找不到該值"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find that watcher"
-msgstr "找不到該視察員"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't find user\\n"
-msgstr "找不到使用者\\n"
-
-#: lib/RT/CurrentUser.pm:145
-#. ($self->Id)
-msgid "Couldn't load %1 from the users database.\\n"
-msgstr "無法從使用者資料庫載入 %1。\\n"
-
-#: html/Admin/CustomFields/UserRights.html:149
-#. ($id)
-msgid "Couldn't load Class %1"
-msgstr "無法載入類別 %1"
-
-#: html/Admin/CustomFields/GroupRights.html:107
-#. ($id)
-msgid "Couldn't load CustomField %1"
-msgstr "無法載入自訂欄位 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load KeywordSelects."
-msgstr "無法載入 KeywordSelects。"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load RT config file '%1' %2"
-msgstr "無法載入 RT 設定檔 '%1' %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load Scrips."
-msgstr "無法載入手續。"
-
-#: lib/RT/Ticket_Overlay.pm:2016
-#. ($self->Id)
-msgid "Couldn't load copy of ticket #%1."
-msgstr ""
-
-#: html/Admin/Groups/GroupRights.html:109 html/Admin/Groups/UserRights.html:96
-#. ($id)
-msgid "Couldn't load group %1"
-msgstr "無法載入手續 %1"
-
-#: lib/RT/Link_Overlay.pm:202 lib/RT/Link_Overlay.pm:211 lib/RT/Link_Overlay.pm:238
-msgid "Couldn't load link"
-msgstr "無法載入鏈結。"
-
-#: html/Admin/Elements/ObjectCustomFields:83 html/Admin/Queues/CustomFields.html:59 html/Admin/Users/CustomFields.html:59
-#. ($id)
-msgid "Couldn't load object %1"
-msgstr "無法載入物件 %1"
-
-#: html/Admin/Queues/People.html:142
-#. ($id)
-msgid "Couldn't load queue"
-msgstr "無法載入表單"
-
-#: html/Admin/Queues/GroupRights.html:122 html/Admin/Queues/UserRights.html:93
-#. ($id)
-msgid "Couldn't load queue %1"
-msgstr "無法載入表單 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load scrip"
-msgstr "無法載入手續"
-
-#: html/Admin/Elements/EditScrip:126 html/Admin/Elements/EditScrip:167
-#. ($id)
-msgid "Couldn't load scrip #%1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load template"
-msgstr "無法載入範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Couldn't load that user (%1)"
-msgstr "無法載入該名使用者(%1)"
-
-#: html/SelfService/Display.html:158 lib/RT/Action/CreateTickets.pm:680
-#. ($id)
-msgid "Couldn't load ticket '%1'"
-msgstr "無法載入申請單 '%1'"
-
-#: lib/RT/Ticket_Overlay.pm:2643
-#. ($args{'URI'})
-msgid "Couldn't resolve '%1' into a URI."
-msgstr ""
-
-#: html/Admin/Users/Modify.html:173 html/User/Prefs.html:153
-msgid "Country"
-msgstr "國家"
-
-#: html/Admin/Elements/CreateUserCalled:47 html/Admin/Elements/EditCustomField:84 html/Admin/Elements/EditScrip:133 html/Admin/Queues/Template.html:66 html/Elements/QuickCreate:65 html/Ticket/Create.html:168 html/Ticket/Create.html:235
-msgid "Create"
-msgstr "新增"
-
-#: NOT FOUND IN SOURCE
-msgid "Create Subgroup:"
-msgstr "新增子群組:"
-
-#: etc/initialdata:135
-msgid "Create Tickets"
-msgstr "新增申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Create User:"
-msgstr "新增成員:"
-
-#: html/Admin/CustomFields/Modify.html:150 html/Admin/Elements/EditCustomField:96
-msgid "Create a CustomField"
-msgstr "新增自訂欄位"
-
-#: html/Admin/Queues/CustomField.html:69
-#. ($QueueObj->Name())
-msgid "Create a CustomField for queue %1"
-msgstr "為 %1 表單新增自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a CustomField that applies to all queues"
-msgstr "為 %1 表單新增自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new Custom Field"
-msgstr "新增自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new global Scrip"
-msgstr "新增全域手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new global scrip"
-msgstr "新增全域手續"
-
-#: html/Admin/Groups/Modify.html:125 html/Admin/Groups/Modify.html:99
-msgid "Create a new group"
-msgstr "新增群組"
-
-#: html/User/Groups/Modify.html:113 html/User/Groups/Modify.html:88
-msgid "Create a new personal group"
-msgstr "新增代理人群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new queue"
-msgstr "新增表單"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new scrip"
-msgstr "新增手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new template"
-msgstr "新增範本"
-
-#: html/Ticket/Create.html:47 html/Ticket/Create.html:51 html/Ticket/Create.html:60
-msgid "Create a new ticket"
-msgstr "新增申請單"
-
-#: html/Admin/Users/Modify.html:252 html/Admin/Users/Modify.html:314
-msgid "Create a new user"
-msgstr "新增使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a new workflow"
-msgstr "新增流程"
-
-#: html/Admin/Queues/Modify.html:125
-msgid "Create a queue"
-msgstr "新增表單"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a queue called"
-msgstr "新增表單名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a request"
-msgstr "提出申請"
-
-#: html/Admin/Queues/Scrip.html:89
-#. ($QueueObj->Name)
-msgid "Create a scrip for queue %1"
-msgstr "為 %1 表單新增手續"
-
-#: html/Admin/Global/Template.html:90 html/Admin/Queues/Template.html:86
-msgid "Create a template"
-msgstr "新增範本"
-
-#: html/SelfService/Create.html:46 html/SelfService/CreateTicketInQueue.html:46
-msgid "Create a ticket"
-msgstr "提出申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Create a workflow"
-msgstr "新增流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Create failed: %1 / %2 / %3 "
-msgstr "新增失敗:%1 / %2 / %3"
-
-#: NOT FOUND IN SOURCE
-msgid "Create failed: %1/%2/%3"
-msgstr "新增失敗:%1/%2/%3"
-
-#: NOT FOUND IN SOURCE
-msgid "Create new item"
-msgstr "建立新項目"
-
-#: etc/initialdata:137
-msgid "Create new tickets based on this scrip's template"
-msgstr "依據此項手續內的模版,新增申請單"
-
-#: html/SelfService/Create.html:105
-msgid "Create ticket"
-msgstr "新增申請單"
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "Create tickets in this queue"
-msgstr "在此表單中新增申請單"
-
-#: lib/RT/CustomField_Overlay.pm:106
-msgid "Create, delete and modify custom fields"
-msgstr "新增、刪除及更改自訂欄位"
-
-#: lib/RT/Queue_Overlay.pm:92
-msgid "Create, delete and modify queues"
-msgstr "新增、刪除及更改表單"
-
-#: NOT FOUND IN SOURCE
-msgid "Create, delete and modify the members of any user's personal groups"
-msgstr "新增、刪除及更改任何使用者的代理人群組"
-
-#: lib/RT/System.pm:80
-msgid "Create, delete and modify the members of personal groups"
-msgstr "新增、刪除及更改代理人群組"
-
-#: lib/RT/System.pm:81
-msgid "Create, delete and modify users"
-msgstr "新增、刪除及更改使用者"
-
-#: lib/RT/System.pm:87
-msgid "CreateSavedSearch"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:109
-msgid "CreateTicket"
-msgstr "新增申請單"
-
-#: html/Elements/SelectDateType:47 html/Ticket/Elements/ShowDates:48 lib/RT/Ticket_Overlay.pm:1169
-msgid "Created"
-msgstr "新增日"
-
-#: html/Admin/CustomFields/Modify.html:163 html/Admin/Elements/EditCustomField:117
-#. ($CustomFieldObj->Name())
-msgid "Created CustomField %1"
-msgstr "自訂欄位 %1 新增成功"
-
-#: html/Tools/Reports/Elements/Tabs:63
-msgid "Created in a date range"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Created template %1"
-msgstr "範本 %1 新增成功"
-
-#: html/Tools/Reports/CreatedByDates.html:52
-msgid "Created tickets in period, grouped by status"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Created workflow %1"
-msgstr "流程 %1 新增成功"
-
-#: html/Search/Elements/PickBasics:102
-msgid "Creator"
-msgstr "建立者"
-
-#: NOT FOUND IN SOURCE
-msgid "Currency"
-msgstr "幣別"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Approval Info"
-msgstr "截至目前簽核資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Custom Fields"
-msgstr "現有自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Groups:"
-msgstr "現有群組列表:"
-
-#: html/Elements/EditLinks:49
-msgid "Current Links"
-msgstr "現有關係"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Rights:"
-msgstr "現有權限:"
-
-#: html/Admin/Elements/EditScrips:51
-msgid "Current Scrips"
-msgstr "現有手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Status"
-msgstr "目前狀態"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Templates"
-msgstr "現有範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Current Watchers"
-msgstr "現有視察員"
-
-#: html/Admin/Groups/Members.html:60 html/User/Groups/Members.html:63
-msgid "Current members"
-msgstr "現有成員"
-
-#: html/Admin/Elements/SelectRights:51
-msgid "Current rights"
-msgstr "現有權限"
-
-#: html/Search/Elements/EditQuery:47
-msgid "Current search"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Current search criteria"
-msgstr "現有查詢條件"
-
-#: html/Admin/Queues/People.html:62 html/Ticket/Elements/EditPeople:66
-msgid "Current watchers"
-msgstr "現有視察員"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom Field #%1"
-msgstr "自訂欄位 #%1"
-
-#: html/Admin/Elements/SystemTabs:61 html/Admin/Elements/Tabs:62 html/Admin/Global/index.html:71 html/Admin/Users/Modify.html:205 html/Admin/index.html:77 html/Ticket/Elements/ShowSummary:56
-msgid "Custom Fields"
-msgstr "自訂欄位"
-
-#: html/Admin/CustomFields/index.html:60
-#. ($lookup)
-msgid "Custom Fields for %1"
-msgstr "%1 的自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom Fields which apply to all queues"
-msgstr "適用於所有表單的自訂欄位"
-
-#: html/Admin/Elements/EditScrip:107
-msgid "Custom action cleanup code"
-msgstr "動作後執行程式"
-
-#: html/Admin/Elements/EditScrip:103
-msgid "Custom action preparation code"
-msgstr "動作前執行程式"
-
-#: html/Admin/Elements/EditScrip:99
-msgid "Custom condition"
-msgstr "自訂條件"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field %1 %2 %3"
-msgstr "自訂欄位 %1 %2 %3"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field %1 does not apply to this object"
-msgstr "自訂欄位 %1 不適用於此物件"
-
-#: lib/RT/Tickets_Overlay.pm:2424
-#. ($CF->Name)
-msgid "Custom field %1 has a value."
-msgstr "自訂欄位 %1 已有值"
-
-#: lib/RT/Tickets_Overlay.pm:2420
-#. ($CF->Name)
-msgid "Custom field %1 has no value."
-msgstr "自訂欄位 %1 沒有值"
-
-#: lib/RT/Record.pm:1592 lib/RT/Record.pm:1754
-#. ($args{'Field'})
-msgid "Custom field %1 not found"
-msgstr "找不到自訂欄位 %1"
-
-#: lib/RT/Report/Tickets.pm:118 lib/RT/Report/Tickets.pm:121
-#. ($cf)
-#. ($obj->Name)
-msgid "Custom field '%1'"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field deleted"
-msgstr "自訂欄位已刪除"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field not found"
-msgstr "找不到自訂欄位"
-
-#: lib/RT/CustomField_Overlay.pm:1157
-#. ($args{'Content'}, $self->Name)
-msgid "Custom field value %1 could not be found for custom field %2"
-msgstr "無法從自訂欄位 %2 中找到 %1 這個欄位值"
-
-#: NOT FOUND IN SOURCE
-msgid "Custom field value changed from %1 to %2"
-msgstr "自訂欄位值從 %1 改為 %2"
-
-#: lib/RT/CustomField_Overlay.pm:419
-msgid "Custom field value could not be deleted"
-msgstr "無法刪除自訂欄位值"
-
-#: lib/RT/CustomField_Overlay.pm:1169
-msgid "Custom field value could not be found"
-msgstr "找不到自訂欄位值"
-
-#: lib/RT/CustomField_Overlay.pm:1171 lib/RT/CustomField_Overlay.pm:417
-msgid "Custom field value deleted"
-msgstr "自訂欄位值刪除成功"
-
-#: html/Elements/SelectGroups:51 html/Elements/SelectUsers:51 lib/RT/Transaction_Overlay.pm:638
-msgid "CustomField"
-msgstr "自訂欄位"
-
-#: html/Prefs/MyRT.html:78 html/Prefs/Quicksearch.html:70 html/Prefs/Search.html:75
-msgid "Customize"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Data error"
-msgstr "資料錯誤"
-
-#: NOT FOUND IN SOURCE
-msgid "DatabaseBindRemote"
-msgstr "容許外部連線"
-
-#: NOT FOUND IN SOURCE
-msgid "DatabaseName"
-msgstr "MySQL資料庫"
-
-#: NOT FOUND IN SOURCE
-msgid "Date of Departure"
-msgstr "出發日期"
-
-#: html/SelfService/Display.html:61 html/Ticket/Create.html:203 html/Ticket/Elements/ShowSummary:83 html/Ticket/Elements/Tabs:116 html/Ticket/ModifyAll.html:65
-msgid "Dates"
-msgstr "日期"
-
-#: NOT FOUND IN SOURCE
-msgid "Dec"
-msgstr "十二月"
-
-#: lib/RT/Date.pm:452
-msgid "Dec."
-msgstr "12"
-
-#: NOT FOUND IN SOURCE
-msgid "December"
-msgstr "十二月"
-
-#: NOT FOUND IN SOURCE
-msgid "Default Approval"
-msgstr "預設簽核"
-
-#: NOT FOUND IN SOURCE
-msgid "Default Autoresponse Template"
-msgstr "預設自動回應範本"
-
-#: etc/initialdata:222
-msgid "Default Autoresponse template"
-msgstr "預設自動回應範本"
-
-#: html/Tools/Offline.html:61
-msgid "Default Queue"
-msgstr "預設表單"
-
-#: html/Tools/Offline.html:70
-msgid "Default Requestor"
-msgstr "預設申請人"
-
-#: NOT FOUND IN SOURCE
-msgid "Default Value"
-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 "預設更動範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Default: %1/%2 changed from %3 to %4"
-msgstr "預設:%1/%2 已自 %3 改為 %4"
-
-#: NOT FOUND IN SOURCE
-msgid "DefaultApproval"
-msgstr "預設簽核"
-
-#: html/User/Delegation.html:46 html/User/Delegation.html:49
-msgid "Delegate rights"
-msgstr "代理人權限"
-
-#: lib/RT/System.pm:84
-msgid "Delegate specific rights which have been granted to you."
-msgstr "將擁有的權限委託他人代理"
-
-#: lib/RT/System.pm:84
-msgid "DelegateRights"
-msgstr "設定代理人"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegated Approval"
-msgstr "代理簽核"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegated Queue"
-msgstr "代理表單名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegated Queue:"
-msgstr "代理表單:"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegated Type"
-msgstr "代理表單種類"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates"
-msgstr "代理人"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Enabled Status"
-msgstr "代理啟動狀態"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Info"
-msgstr "代理人資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Period"
-msgstr "代理期間"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Permission Setting"
-msgstr "代理權限設定"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Permission:"
-msgstr "代理權限:"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Setting"
-msgstr "代理人設定"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegates Status"
-msgstr "代理狀態"
-
-#: html/User/Elements/Tabs:59
-msgid "Delegation"
-msgstr "代理人權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegation Groups"
-msgstr "代理人群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Delegation Rights"
-msgstr "代理人權限"
-
-#: html/Admin/Elements/EditScrips:75 html/Search/Elements/EditFormat:103 html/Search/Elements/EditQuery:57 html/Search/Elements/EditSearches:63 html/Widgets/SelectionBox:204
-msgid "Delete"
-msgstr "刪除"
-
-#: html/Admin/Elements/EditTemplates:79
-msgid "Delete Template"
-msgstr "刪除範本"
-
-#: lib/RT/SavedSearch.pm:220
-#. ($msg)
-msgid "Delete failed: %1"
-msgstr ""
-
-#: html/Admin/Elements/EditScrips:74
-msgid "Delete selected scrips"
-msgstr "刪除指定的手續"
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "Delete tickets"
-msgstr "刪除申請單"
-
-#: html/Search/Bulk.html:159
-msgid "Delete values"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:114
-msgid "DeleteTicket"
-msgstr "刪除申請單"
-
-#: lib/RT/SavedSearch.pm:218
-msgid "Deleted search"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object could break referential integrity"
-msgstr "刪除此物件可能破壞參考完整性"
-
-#: lib/RT/Queue_Overlay.pm:394
-msgid "Deleting this object would break referential integrity"
-msgstr "刪除此物件可能破壞參考完整性"
-
-#: lib/RT/User_Overlay.pm:512
-msgid "Deleting this object would violate referential integrity"
-msgstr "刪除此物件會違反參考完整性"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object would violate referential integrity."
-msgstr "刪除此物件會違反參考完整性"
-
-#: NOT FOUND IN SOURCE
-msgid "Deleting this object would violate referential integrity. That's bad."
-msgstr "刪除此物件會違反參考完整性"
-
-#: html/Approvals/Elements/Approve:73
-msgid "Deny"
-msgstr "駁回"
-
-#: NOT FOUND IN SOURCE
-msgid "Department"
-msgstr "部門"
-
-#: NOT FOUND IN SOURCE
-msgid "Department ID"
-msgstr "部門代碼"
-
-#: NOT FOUND IN SOURCE
-msgid "Department Name"
-msgstr "部門名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Department's"
-msgstr "部門之"
-
-#: NOT FOUND IN SOURCE
-msgid "Departure Details"
-msgstr "差旅明細"
-
-#: NOT FOUND IN SOURCE
-msgid "Departure From"
-msgstr "差旅起始日"
-
-#: NOT FOUND IN SOURCE
-msgid "Departure Request"
-msgstr "請假單"
-
-#: NOT FOUND IN SOURCE
-msgid "Departure Until"
-msgstr "差旅截止日"
-
-#: html/Elements/EditLinks:140 html/Elements/EditLinks:66 html/Elements/ShowLinks:58 html/Ticket/Create.html:221 html/Ticket/Elements/BulkLinks:56 html/Ticket/Elements/ShowDependencies:53
-msgid "Depended on by"
-msgstr "可接續處理的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Dependencies: \\n"
-msgstr "附屬性:\\n"
-
-#: lib/RT/Transaction_Overlay.pm:718
-#. ($value)
-msgid "Dependency by %1 added"
-msgstr "已加入可接續處理的申請單 %1"
-
-#: lib/RT/Transaction_Overlay.pm:758
-#. ($value)
-msgid "Dependency by %1 deleted"
-msgstr "已移除可接續處理的申請單 %1"
-
-#: lib/RT/Transaction_Overlay.pm:715
-#. ($value)
-msgid "Dependency on %1 added"
-msgstr "已加入需先處理的申請單 %1"
-
-#: lib/RT/Transaction_Overlay.pm:755
-#. ($value)
-msgid "Dependency on %1 deleted"
-msgstr "已移除需先處理的申請單 %1"
-
-#: html/Elements/EditLinks:136 html/Elements/EditLinks:57 html/Elements/SelectLinkType:48 html/Elements/ShowLinks:48 html/Ticket/Create.html:220 html/Ticket/Elements/BulkLinks:52 html/Ticket/Elements/ShowDependencies:46
-msgid "Depends on"
-msgstr "需先處理"
-
-#: NOT FOUND IN SOURCE
-msgid "DependsOn"
-msgstr "需先處理"
-
-#: html/Search/Elements/DisplayOptions:86
-msgid "Desc"
-msgstr ""
-
-#: html/Elements/SelectSortOrder:56
-msgid "Descending"
-msgstr "遞減"
-
-#: html/SelfService/Create.html:100 html/Ticket/Create.html:152
-msgid "Describe the issue below"
-msgstr "在以下欄位描述主題"
-
-#: html/Admin/CustomFields/Modify.html:61 html/Admin/Elements/AddCustomFieldValue:57 html/Admin/Elements/EditCustomField:60 html/Admin/Elements/EditCustomFieldValues:56 html/Admin/Elements/EditScrip:55 html/Admin/Elements/ModifyTemplate:57 html/Admin/Groups/Modify.html:71 html/Admin/Queues/Modify.html:69 html/Search/Elements/EditSearches:56 html/User/Groups/Modify.html:70
-msgid "Description"
-msgstr "描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Description of Responsibility"
-msgstr "經辦業務說明"
-
-#: NOT FOUND IN SOURCE
-msgid "Description:"
-msgstr "描述:"
-
-#: NOT FOUND IN SOURCE
-msgid "Details"
-msgstr "細節"
-
-#: NOT FOUND IN SOURCE
-msgid "Direct"
-msgstr "直接"
-
-#: NOT FOUND IN SOURCE
-msgid "Disability"
-msgstr "殘障身分"
-
-#: NOT FOUND IN SOURCE
-msgid "Disability Type"
-msgstr "殘障類別"
-
-#: NOT FOUND IN SOURCE
-msgid "Disabled"
-msgstr "停用"
-
-#: html/Search/Elements/EditFormat:71 html/Ticket/Elements/Tabs:108
-msgid "Display"
-msgstr "顯示內容"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "Display Access Control List"
-msgstr "顯示權限控制清單"
-
-#: html/Search/Elements/DisplayOptions:46
-msgid "Display Columns"
-msgstr "顯示欄位"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "Display Scrip templates for this queue"
-msgstr "顯示此表單的範本"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "Display Scrips for this queue"
-msgstr "顯示此表單的手續"
-
-#: html/Ticket/Elements/ShowHistory:59
-msgid "Display mode"
-msgstr "顯示模式"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "Display saved searches for this group"
-msgstr "顯示此群組已儲存的查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "Display ticket #%1"
-msgstr "顯示第%1號申請單"
-
-#: html/Elements/Footer:61
-msgid "Distributed under version 2 <a href=\"http://www.gnu.org/copyleft/gpl.html\"> of the GNU GPL.</a>"
-msgstr "依 <a href=\"http://www.gnu.org/copyleft/gpl.html\">GNU 通用公共授權</a> 第二版散布。"
-
-#: lib/RT/System.pm:75
-msgid "Do anything and everything"
-msgstr "允許一切操作"
-
-#: html/Elements/Refresh:51
-msgid "Don't refresh this page."
-msgstr "不更新此頁面。"
-
-#: NOT FOUND IN SOURCE
-msgid "Don't show search results"
-msgstr "不顯示查詢結果"
-
-#: NOT FOUND IN SOURCE
-msgid "Done"
-msgstr "完成"
-
-#: NOT FOUND IN SOURCE
-msgid "Down"
-msgstr "下一頁"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:82
-msgid "Download"
-msgstr "下載"
-
-#: html/Admin/Groups/index.html:61 html/Admin/Users/index.html:64
-msgid "Download as a tab-delimited file"
-msgstr "下載以 Tab 分隔的檔案"
-
-#: NOT FOUND IN SOURCE
-msgid "Dr."
-msgstr "博士"
-
-#: html/Elements/SelectDateType:53 html/Ticket/Create.html:209 html/Ticket/Elements/EditDates:66 html/Ticket/Elements/Reminders:133 html/Ticket/Elements/ShowDates:64 lib/RT/Ticket_Overlay.pm:1173
-msgid "Due"
-msgstr "到期日"
-
-#: NOT FOUND IN SOURCE
-msgid "Due Date"
-msgstr "截止日"
-
-#: NOT FOUND IN SOURCE
-msgid "Due date '%1' could not be parsed"
-msgstr "無法解讀日期 '%1'"
-
-#: NOT FOUND IN SOURCE
-msgid "ERROR: Couldn't load ticket '%1': %2.\\n"
-msgstr "無法載入申請單 '%1':%2.\\n"
-
-#: html/Elements/Quicksearch:48 html/Elements/ShowSearch:49 html/index.html:107
-msgid "Edit"
-msgstr "編輯"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Conditions"
-msgstr "編輯前置條件"
-
-#: html/Search/Bulk.html:149
-msgid "Edit Custom Fields"
-msgstr ""
-
-#: html/Admin/Elements/ObjectCustomFields:92 html/Admin/Queues/CustomFields.html:64 html/Admin/Users/CustomFields.html:64
-#. ($Object->Name)
-msgid "Edit Custom Fields for %1"
-msgstr "編輯 %1 的自訂欄位"
-
-#: html/Admin/Global/CustomFields/Groups.html:54
-msgid "Edit Custom Fields for all groups"
-msgstr ""
-
-#: html/Admin/Global/CustomFields/Users.html:54
-msgid "Edit Custom Fields for all users"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Custom Fields for queue %1"
-msgstr "編輯表單 %1 的自訂欄位"
-
-#: html/Admin/Global/CustomFields/Queue-Tickets.html:54 html/Admin/Global/CustomFields/Queue-Transactions.html:54
-msgid "Edit Custom Fields for tickets in all queues"
-msgstr ""
-
-#: html/Search/Bulk.html:188 html/Ticket/ModifyLinks.html:57
-msgid "Edit Links"
-msgstr "編輯申請單關係"
-
-#: html/Search/Edit.html:68
-msgid "Edit Query"
-msgstr "編輯查詢"
-
-#: html/Ticket/Elements/Tabs:214
-msgid "Edit Search"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Subgroups"
-msgstr "新增/維護子群組"
-
-#: html/Admin/Queues/Templates.html:63
-#. ($QueueObj->Name)
-msgid "Edit Templates for queue %1"
-msgstr "編輯表單 %1 的範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit Workflows for queue %1"
-msgstr "編輯表單 %1 的流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit keywords"
-msgstr "編輯關鍵字"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "Edit saved searches for this group"
-msgstr "編輯此群組已儲存的查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit scrips"
-msgstr "編輯手續"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:60 html/Admin/Global/index.html:67
-msgid "Edit system templates"
-msgstr "編輯全域範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit system workflows"
-msgstr "編輯全域流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit templates for %1"
-msgstr "編輯 %1 的範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Edit workflows for %1"
-msgstr "編輯 %1 的流程"
-
-#: lib/RT/Group_Overlay.pm:167
-msgid "EditSavedSearches"
-msgstr "編輯已儲存的查詢"
-
-#: html/Admin/Queues/Modify.html:140
-#. ($QueueObj->Name)
-msgid "Editing Configuration for queue %1"
-msgstr "編輯表單 %1 的設定"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing Configuration for user %1"
-msgstr "編輯使用者 %1 的設定"
-
-#: html/Admin/CustomFields/Modify.html:167 html/Admin/Elements/EditCustomField:120
-#. ($CustomFieldObj->Name())
-msgid "Editing CustomField %1"
-msgstr "編輯自訂欄位 %1"
-
-#: html/Admin/Groups/Members.html:53
-#. ($Group->Name)
-msgid "Editing membership for group %1"
-msgstr "編輯群組 %1 的成員資訊"
-
-#: html/User/Groups/Members.html:150
-#. ($Group->Name)
-msgid "Editing membership for personal group %1"
-msgstr "編輯代理人群組 %1 的成員資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing template %1"
-msgstr "編輯範本 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Editing workflow %1"
-msgstr "編輯流程 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Education"
-msgstr "最高學歷"
-
-#: NOT FOUND IN SOURCE
-msgid "EffectiveId"
-msgstr "有效編號"
-
-#: lib/RT/Record.pm:1295 lib/RT/Record.pm:1372 lib/RT/Ticket_Overlay.pm:2518 lib/RT/Ticket_Overlay.pm:2608
-msgid "Either base or target must be specified"
-msgstr "需要指定起始申請單或目的申請單"
-
-#: html/Admin/Users/Modify.html:74 html/Ticket/Elements/AddWatchers:77 html/User/Prefs.html:65
-msgid "Email"
-msgstr "電子郵件信箱"
-
-#: NOT FOUND IN SOURCE
-msgid "Email Address"
-msgstr "電子郵件信箱"
-
-#: lib/RT/User_Overlay.pm:235
-msgid "Email address in use"
-msgstr "此電子郵件信箱已被使用"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailAddress"
-msgstr "電子郵件信箱位址"
-
-#: NOT FOUND IN SOURCE
-msgid "EmailEncoding"
-msgstr "電子郵件文字編碼方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Embark Date"
-msgstr "外籍員工入境日"
-
-#: NOT FOUND IN SOURCE
-msgid "Embarked Date"
-msgstr "抵達日期"
-
-#: NOT FOUND IN SOURCE
-msgid "Embarked Location"
-msgstr "抵達地點"
-
-#: NOT FOUND IN SOURCE
-msgid "Enable Delegates"
-msgstr "代理啟動"
-
-#: html/Admin/CustomFields/Modify.html:98 html/Admin/Elements/EditCustomField:72
-msgid "Enabled (Unchecking this box disables this custom field)"
-msgstr "啟用(取消勾選將停用此自訂欄位)"
-
-#: html/Admin/Groups/Modify.html:84 html/User/Groups/Modify.html:74
-msgid "Enabled (Unchecking this box disables this group)"
-msgstr "啟用(取消勾選將停用此群組)"
-
-#: html/Admin/Queues/Modify.html:105
-msgid "Enabled (Unchecking this box disables this queue)"
-msgstr "啟用(取消勾選將停用此表單)"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Custom Fields"
-msgstr "已啟用的自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Date"
-msgstr "啟用日期"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Date:"
-msgstr "啟動日期:"
-
-#: html/Admin/Queues/index.html:78
-msgid "Enabled Queues"
-msgstr "已啟用的表單"
-
-#: NOT FOUND IN SOURCE
-msgid "Enabled Status"
-msgstr "啟用狀態"
-
-#: html/Admin/Elements/EditCustomField:136 html/Admin/Groups/Modify.html:150 html/Admin/Users/Modify.html:350 html/User/Groups/Modify.html:138
-#. (loc_fuzzy($msg))
-msgid "Enabled status %1"
-msgstr "啟用狀態 %1"
-
-#: html/Admin/CustomFields/Modify.html:185 html/Admin/Queues/Modify.html:162
-#. (loc_fuzzy($msg))
-msgid "Enabled status: %1"
-msgstr "啟用狀態: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "End of Trial"
-msgstr "試用期滿日"
-
-#: NOT FOUND IN SOURCE
-msgid "English Name"
-msgstr "英文姓名"
-
-#: lib/RT/CustomField_Overlay.pm:64
-msgid "Enter multiple values"
-msgstr "鍵入多重項目"
-
-#: html/Elements/EditLinks:126
-msgid "Enter objects or URIs to link objects to. Separate multiple entries with spaces."
-msgstr "鍵入欲將物件連結至的物件或 URI。項目之間請以空白隔開。"
-
-#: NOT FOUND IN SOURCE
-msgid "Enter one or more conditions below to search for users"
-msgstr "鍵入下列單一或複式條件,查詢用戶資料"
-
-#: lib/RT/CustomField_Overlay.pm:65
-msgid "Enter one value"
-msgstr "鍵入單一項目"
-
-#: html/Elements/EditLinks:123
-msgid "Enter queues or URIs to link queues to. Separate multiple entries with spaces."
-msgstr "鍵入欲將表單連結至的物件或 URI。項目之間請以空白隔開。"
-
-#: html/Elements/EditLinks:119 html/Search/Bulk.html:189
-msgid "Enter tickets or URIs to link tickets to. Separate multiple entries with spaces."
-msgstr "鍵入申請單可鏈結到的申請單編號或網址。項目之間請以空白隔開。"
-
-#: lib/RT/CustomField_Overlay.pm:66
-msgid "Enter up to %1 values"
-msgstr "鍵入最多 %1 個項目"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryBoolean"
-msgstr "是非填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryDate"
-msgstr "日期填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryExternal"
-msgstr "系統填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryFreeform"
-msgstr "輸入填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryMultiple"
-msgstr "多選填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryNumber"
-msgstr "數值填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntrySelect"
-msgstr "單選填表"
-
-#: NOT FOUND IN SOURCE
-msgid "EntryTime"
-msgstr "時間填表"
-
-#: html/Elements/Login:76 html/SelfService/Error.html:46 html/SelfService/Error.html:47
-msgid "Error"
-msgstr "錯誤"
-
-#: NOT FOUND IN SOURCE
-msgid "Error adding watcher"
-msgstr "新增視察員失敗"
-
-#: lib/RT/Queue_Overlay.pm:672
-msgid "Error in parameters to Queue->AddWatcher"
-msgstr "表單->新增視察員的參數有誤"
-
-#: lib/RT/Queue_Overlay.pm:833
-msgid "Error in parameters to Queue->DeleteWatcher"
-msgstr "表單->刪除視察員的參數有誤"
-
-#: lib/RT/Ticket_Overlay.pm:1372
-msgid "Error in parameters to Ticket->AddWatcher"
-msgstr "申請單->新增視察員的參數有誤"
-
-#: lib/RT/Ticket_Overlay.pm:1538
-msgid "Error in parameters to Ticket->DeleteWatcher"
-msgstr "申請單->刪除視察員的參數有誤"
-
-#: bin/rt-crontool:285
-msgid "Escalate tickets"
-msgstr "調整申請單優先等級"
-
-#: NOT FOUND IN SOURCE
-msgid "Estimate"
-msgstr "預計"
-
-#: html/Ticket/Elements/ShowBasics:57
-msgid "Estimated"
-msgstr "預計"
-
-#: etc/initialdata:20
-msgid "Everyone"
-msgstr "所有人"
-
-#: bin/rt-crontool:271
-msgid "Example:"
-msgstr "範例:"
-
-#: NOT FOUND IN SOURCE
-msgid "Existing user renamed from %1 to %2"
-msgstr "現有使用者 %1 已改名為 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Export"
-msgstr "匯出"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalAuthId"
-msgstr "外部認證帳號"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalContactInfoId"
-msgstr "外部聯絡方式帳號"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalDatabaseDSN"
-msgstr "外部資料庫連結字串"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalDatabasePass"
-msgstr "外部資料庫密碼"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalDatabaseUser"
-msgstr "外部資料庫用戶"
-
-#: NOT FOUND IN SOURCE
-msgid "ExternalURL"
-msgstr "外部介面網址"
-
-#: html/Admin/Users/Modify.html:99
-msgid "Extra info"
-msgstr "備註"
-
-#: lib/RT/SavedSearch.pm:177
-msgid "Failed to create search attribute"
-msgstr "查詢屬性建立失敗"
-
-#: lib/RT/User_Overlay.pm:376
-msgid "Failed to find 'Privileged' users pseudogroup."
-msgstr "找不到「內部成員」虛擬群組的使用者。"
-
-#: lib/RT/User_Overlay.pm:383
-msgid "Failed to find 'Unprivileged' users pseudogroup"
-msgstr "找不到「非內部成員」虛擬群組的使用者。"
-
-#: bin/rt-crontool:206
-#. ($modname, $@)
-msgid "Failed to load module %1. (%2)"
-msgstr "無法載入模組 %1. (%2)"
-
-#: lib/RT/SavedSearch.pm:152
-#. ($privacy)
-msgid "Failed to load object for %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Feb"
-msgstr "二月"
-
-#: lib/RT/Date.pm:442
-msgid "Feb."
-msgstr "02"
-
-#: NOT FOUND IN SOURCE
-msgid "February"
-msgstr "二月"
-
-#: NOT FOUND IN SOURCE
-msgid "Female"
-msgstr "女"
-
-#: NOT FOUND IN SOURCE
-msgid "Field Content:"
-msgstr "欄位內容:"
-
-#: NOT FOUND IN SOURCE
-msgid "Field Description"
-msgstr "欄位描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Field Name"
-msgstr "欄位名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Field Type"
-msgstr "欄位類別"
-
-#: html/Elements/SelectAttachmentField:50
-msgid "Filename"
-msgstr "檔名"
-
-#: lib/RT/CustomField_Overlay.pm:69
-msgid "Fill in multiple text areas"
-msgstr "填入多個文字框"
-
-#: lib/RT/CustomField_Overlay.pm:74
-msgid "Fill in multiple wikitext areas"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:70
-msgid "Fill in one text area"
-msgstr "填入一個文字框"
-
-#: lib/RT/CustomField_Overlay.pm:75
-msgid "Fill in one wikitext area"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:107 html/Admin/CustomFields/Modify.html:118
-msgid "Fill in this field with a URL."
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:71
-msgid "Fill in up to %1 text areas"
-msgstr "填入最多 %1 個文字框"
-
-#: lib/RT/CustomField_Overlay.pm:76
-msgid "Fill in up to %1 wikitext areas"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Filter"
-msgstr "篩選"
-
-#: NOT FOUND IN SOURCE
-msgid "Filter people"
-msgstr "對象篩選"
-
-#: NOT FOUND IN SOURCE
-msgid "Filtered list:"
-msgstr "篩選列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Fin"
-msgstr "最終"
-
-#: html/Search/Elements/PickBasics:149 html/Ticket/Create.html:182 html/Ticket/Elements/EditBasics:97 lib/RT/Tickets_Overlay.pm:1841
-msgid "Final Priority"
-msgstr "最終順位"
-
-#: lib/RT/Ticket_Overlay.pm:1164
-msgid "FinalPriority"
-msgstr "最終順位"
-
-#: NOT FOUND IN SOURCE
-msgid "Financial Department:"
-msgstr "財務部:"
-
-#: NOT FOUND IN SOURCE
-msgid "Find group whose"
-msgstr "尋找群組的"
-
-#: html/Admin/Groups/index.html:72 html/Admin/Queues/People.html:82 html/Ticket/Elements/EditPeople:55
-msgid "Find groups whose"
-msgstr "尋找群組的"
-
-#: NOT FOUND IN SOURCE
-msgid "Find new/open tickets"
-msgstr "尋找/開啟申請單"
-
-#: html/Admin/Queues/People.html:78 html/Admin/Users/index.html:70 html/Ticket/Elements/EditPeople:51
-msgid "Find people whose"
-msgstr "尋找人員的"
-
-#: NOT FOUND IN SOURCE
-msgid "Find queues whose"
-msgstr "尋找表單的"
-
-#: html/Search/Results.html:147
-msgid "Find tickets"
-msgstr "尋找申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Finish Approval"
-msgstr "簽核完畢"
-
-#: html/Ticket/Elements/Tabs:81
-msgid "First"
-msgstr "第一項"
-
-#: NOT FOUND IN SOURCE
-msgid "First page"
-msgstr "第一頁"
-
-#: NOT FOUND IN SOURCE
-msgid "First-"
-msgstr "一"
-
-#: NOT FOUND IN SOURCE
-msgid "First-level Admins"
-msgstr "一階主管"
-
-#: NOT FOUND IN SOURCE
-msgid "First-level Users"
-msgstr "一階主管員工"
-
-#: NOT FOUND IN SOURCE
-msgid "Fixed shift"
-msgstr "固定班"
-
-#: docs/design_docs/string-extraction-guide.txt:33 lib/RT/StyleGuide.pod:766
-msgid "Foo Bar Baz"
-msgstr "甲 乙 丙"
-
-#: docs/design_docs/string-extraction-guide.txt:24 lib/RT/StyleGuide.pod:757
-msgid "Foo!"
-msgstr "甲!"
-
-#: html/Search/Bulk.html:83
-msgid "Force change"
-msgstr "強制更換"
-
-#: NOT FOUND IN SOURCE
-msgid "Form Processing"
-msgstr "電子表單作業區"
-
-#: html/Search/Elements/EditFormat:52
-msgid "Format"
-msgstr ""
-
-#: html/Search/Results.html:145
-#. ($ticketcount)
-msgid "Found %quant(%1,ticket)"
-msgstr "找到 %1 張申請單"
-
-#: lib/RT/Record.pm:956
-msgid "Found Object"
-msgstr "已找到物件"
-
-#: NOT FOUND IN SOURCE
-msgid "Fourth-"
-msgstr "四"
-
-#: NOT FOUND IN SOURCE
-msgid "Freeform"
-msgstr "輸入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformContactInfo"
-msgstr "聯絡方式"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformDate"
-msgstr "日期輸入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformExternal"
-msgstr "系統欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformMultiple"
-msgstr "多重輸入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformNumber"
-msgstr "數值輸入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformPassword"
-msgstr "密碼輸入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformSingle"
-msgstr "單一輸入"
-
-#: NOT FOUND IN SOURCE
-msgid "FreeformTime"
-msgstr "時間輸入"
-
-#: NOT FOUND IN SOURCE
-msgid "Fri"
-msgstr "星期五"
-
-#: lib/RT/Date.pm:421
-msgid "Fri."
-msgstr "星期五"
-
-#: html/Ticket/Elements/ShowHistory:66 html/Ticket/Elements/ShowHistory:72
-msgid "Full headers"
-msgstr "完整標頭檔"
-
-#: NOT FOUND IN SOURCE
-msgid "Gecos"
-msgstr "登入帳號"
-
-#: NOT FOUND IN SOURCE
-msgid "Gender"
-msgstr "性別"
-
-#: html/Tools/Offline.html:85
-msgid "Get template from file"
-msgstr "取出檔案裡的範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Getting the current user from a pgp sig\\n"
-msgstr "取得目前使用者的 pgp 簽章\\n"
-
-#: lib/RT/Transaction_Overlay.pm:684
-#. ($New->Name)
-msgid "Given to %1"
-msgstr "交予 %1"
-
-#: html/Admin/Elements/Tabs:65 html/Admin/index.html:82
-msgid "Global"
-msgstr "全域設定"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Approval"
-msgstr "全域簽核"
-
-#: html/Admin/Elements/EditCustomFields:55
-msgid "Global Custom Fields"
-msgstr "全域自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Keyword Selections"
-msgstr "全域關鍵字選取"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Rights:"
-msgstr "擁有全域權限列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Scrips"
-msgstr "全域手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Global Setup"
-msgstr "全域設定"
-
-#: html/Admin/Global/CustomFields/index.html:59
-msgid "Global custom field configuration"
-msgstr ""
-
-#: html/Admin/Global/MyRT.html:48
-#. ($pane)
-msgid "Global portlet %1 saved."
-msgstr ""
-
-#: html/Admin/Elements/SelectTemplate:59
-#. (loc($Template->Name))
-msgid "Global template: %1"
-msgstr "全域範本:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "GlobalApproval"
-msgstr "全域簽核"
-
-#: html/Admin/CustomFields/index.html:80 html/Search/Results.html:90 html/Tools/Offline.html:89
-msgid "Go"
-msgstr "執行"
-
-#: html/Admin/Groups/index.html:67 html/Admin/Groups/index.html:73 html/Admin/Queues/People.html:80 html/Admin/Queues/People.html:84 html/Admin/Queues/index.html:66 html/Admin/Users/index.html:73 html/Elements/RefreshHomepage:48 html/Search/Results.html:74 html/Ticket/Elements/EditPeople:53 html/Ticket/Elements/EditPeople:57
-msgid "Go!"
-msgstr "執行"
-
-#: NOT FOUND IN SOURCE
-msgid "Good pgp sig from %1\\n"
-msgstr "%1 的 pgp 簽章是正確的\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Goto page"
-msgstr "到頁面"
-
-#: html/Elements/GotoTicket:46 html/SelfService/Elements/GotoTicket:46
-msgid "Goto ticket"
-msgstr "跳到申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Grand"
-msgstr "上"
-
-#: html/Ticket/Elements/AddWatchers:67 html/Ticket/Elements/ShowGroupMembers:55 html/User/Elements/DelegateRights:99
-msgid "Group"
-msgstr "群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Group %1 %2: %3"
-msgstr "群組 %1 %2:%3"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Admin"
-msgstr "群組管理員"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Description"
-msgstr "群組描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Management"
-msgstr "群組管理"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Members"
-msgstr "群組成員"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Name"
-msgstr "群組名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Name:"
-msgstr "群組名稱:"
-
-#: html/Admin/Elements/CustomFieldTabs:68 html/Admin/Elements/GroupTabs:66 html/Admin/Elements/QueueTabs:82 html/Admin/Elements/SystemTabs:65 html/Admin/Global/index.html:76
-msgid "Group Rights"
-msgstr "群組權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Rights:"
-msgstr "擁有群組權限列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Setup"
-msgstr "群組設定"
-
-#: NOT FOUND IN SOURCE
-msgid "Group Status"
-msgstr "群組狀態"
-
-#: lib/RT/Group_Overlay.pm:983
-msgid "Group already has member"
-msgstr "群組內已有此成員"
-
-#: NOT FOUND IN SOURCE
-msgid "Group could not be created."
-msgstr "無法新增群組"
-
-#: html/Admin/Groups/Modify.html:109
-#. ($create_msg)
-msgid "Group could not be created: %1"
-msgstr "無法新增群組:%1"
-
-#: lib/RT/Group_Overlay.pm:521
-msgid "Group created"
-msgstr "群組新增完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "Group created: %1"
-msgstr "群組 %1 新增完畢"
-
-#: lib/RT/Group_Overlay.pm:1155
-msgid "Group has no such member"
-msgstr "群組沒有這個成員"
-
-#: lib/RT/Group_Overlay.pm:963 lib/RT/Queue_Overlay.pm:748 lib/RT/Queue_Overlay.pm:808 lib/RT/Ticket_Overlay.pm:1430 lib/RT/Ticket_Overlay.pm:1510
-msgid "Group not found"
-msgstr "找不到群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Group not found.\\n"
-msgstr "找不到群組。\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Group not specified.\\n"
-msgstr "未指定群組。\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Group redescribed from %1 to %2"
-msgstr "群組描述 %1 已改為 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Group renamed from %1 to %2"
-msgstr "群組 %1 已改名為 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Group with Queue Rights"
-msgstr "擁有表單權限群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Group's"
-msgstr "群組之"
-
-#: NOT FOUND IN SOURCE
-msgid "Group:"
-msgstr "群組:"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:59 html/Admin/Elements/SelectNewGroupMembers:57 html/Admin/Elements/Tabs:56 html/Admin/Global/CustomFields/index.html:69 html/Admin/Groups/Members.html:86 html/Admin/Queues/People.html:104 html/Admin/Users/Memberships.html:53 html/Admin/index.html:67 html/User/Groups/Members.html:88 lib/RT/CustomField_Overlay.pm:1210
-msgid "Groups"
-msgstr "群組"
-
-#: lib/RT/Group_Overlay.pm:989
-msgid "Groups can't be members of their members"
-msgstr "不能將群組設為群組內成員"
-
-#: html/Admin/Groups/index.html:86
-msgid "Groups matching search criteria"
-msgstr "符合查詢條件的群組"
-
-#: html/Ticket/Elements/ShowRequestor:77
-msgid "Groups this user belongs to"
-msgstr "使用者所屬的群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Groups with Global Rights"
-msgstr "擁有全域權限群組"
-
-#: NOT FOUND IN SOURCE
-msgid "HRMSDefined"
-msgstr "組織架構"
-
-#: NOT FOUND IN SOURCE
-msgid "HTML Attributes"
-msgstr "HTML 屬性"
-
-#: NOT FOUND IN SOURCE
-msgid "Health Insurance"
-msgstr "健保補助身份"
-
-#: lib/RT/Interface/CLI.pm:94 lib/RT/Interface/CLI.pm:94
-msgid "Hello!"
-msgstr "嗨!"
-
-#: docs/design_docs/string-extraction-guide.txt:40 lib/RT/StyleGuide.pod:773
-#. ($name)
-msgid "Hello, %1"
-msgstr "嗨,%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Help"
-msgstr "說明"
-
-#: NOT FOUND IN SOURCE
-msgid "Help Desks"
-msgstr "各項業務窗口"
-
-#: NOT FOUND IN SOURCE
-msgid "Hidden"
-msgstr "隱藏"
-
-#: html/Admin/Elements/GroupTabs:70 html/Admin/Elements/UserTabs:64 html/Ticket/Elements/ShowHistory:53 html/Ticket/Elements/Tabs:111
-msgid "History"
-msgstr "紀錄"
-
-#: html/Admin/Groups/History.html:62
-#. ($GroupObj->Name)
-msgid "History of the group %1"
-msgstr "群組 %1 的紀錄"
-
-#: html/Admin/Users/History.html:62
-#. ($UserObj->Name)
-msgid "History of the user %1"
-msgstr "使用者 %1 的紀錄"
-
-#: NOT FOUND IN SOURCE
-msgid "HomePhone"
-msgstr "住處電話"
-
-#: html/Elements/Tabs:65
-msgid "Homepage"
-msgstr "主頁"
-
-#: NOT FOUND IN SOURCE
-msgid "Hotel Expense"
-msgstr "住宿費"
-
-#: html/Elements/SelectTimeUnits:48
-msgid "Hours"
-msgstr ""
-
-#: lib/RT/Base.pm:119
-#. (6)
-msgid "I have %quant(%1,concrete mixer)."
-msgstr "我有 %quant(%1,份固體攪拌器)。"
-
-#: html/Search/Build.html:460 lib/RT/Report/Tickets.pm:415
-msgid "I'm lost"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "ID Number"
-msgstr "身分證號"
-
-#: NOT FOUND IN SOURCE
-msgid "ID Type"
-msgstr "身分類別"
-
-#: html/Ticket/Elements/ShowBasics:48 lib/RT/Tickets_Overlay.pm:1766
-msgid "Id"
-msgstr "編號"
-
-#: html/Admin/Users/Modify.html:65 html/User/Prefs.html:60
-msgid "Identity"
-msgstr "身份"
-
-#: etc/initialdata:429
-msgid "If an approval is rejected, reject the original and delete pending approvals"
-msgstr "若簽核單遭到駁回,則連帶駁回原申請單,並刪除其他相關的待簽核事項"
-
-#: html/Tools/Offline.html:74
-msgid "If no Requestor is specified, create tickets with this requestor."
-msgstr "若沒有指定申請者,則以此使用者作為申請者"
-
-#: html/Tools/Offline.html:65
-msgid "If no queue is specified, create tickets in this queue."
-msgstr "申請單若沒有指定表單,則將它新增在此表單內"
-
-#: bin/rt-crontool:267
-msgid "If this tool were setgid, a hostile local user could use this tool to gain administrative access to RT."
-msgstr "如果此工具程式為 setgid,惡意的本地端用戶即能由此取得 RT 的管理員權限。"
-
-#: html/Admin/Queues/People.html:126 html/Ticket/Modify.html:60 html/Ticket/ModifyAll.html:128 html/Ticket/ModifyPeople.html:60
-msgid "If you've updated anything above, be sure to"
-msgstr "若您已更新以上資料,請記得按一下"
-
-#: lib/RT/Record.pm:947
-msgid "Illegal value for %1"
-msgstr "%1 的值錯誤"
-
-#: NOT FOUND IN SOURCE
-msgid "Image"
-msgstr "圖片"
-
-#: lib/RT/Record.pm:950
-msgid "Immutable field"
-msgstr "此欄位值不可更動"
-
-#: NOT FOUND IN SOURCE
-msgid "Import"
-msgstr "匯入"
-
-#: NOT FOUND IN SOURCE
-msgid "Include disabled custom fields in listing."
-msgstr "列出停用的自訂欄位"
-
-#: html/Admin/Groups/index.html:65
-msgid "Include disabled groups in listing."
-msgstr "列出停用的群組"
-
-#: html/Admin/Queues/index.html:65
-msgid "Include disabled queues in listing."
-msgstr "列出停用的表單"
-
-#: html/Admin/Users/index.html:71
-msgid "Include disabled users in search."
-msgstr "列出停用的使用者"
-
-#: html/Admin/CustomFields/Modify.html:113
-msgid "Include page"
-msgstr ""
-
-#: html/Search/Build.html:486 lib/RT/Report/Tickets.pm:441
-msgid "Incomplete Query"
-msgstr ""
-
-#: html/Search/Build.html:483 lib/RT/Report/Tickets.pm:438
-msgid "Incomplete query"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Indirect Employee"
-msgstr "直接/間接員工"
-
-#: html/Search/Elements/PickBasics:148 lib/RT/Tickets_Overlay.pm:1816
-msgid "Initial Priority"
-msgstr "初始優先順位"
-
-#: lib/RT/Ticket_Overlay.pm:1163 lib/RT/Ticket_Overlay.pm:1165
-msgid "InitialPriority"
-msgstr "初始優先順位"
-
-#: lib/RT/ScripAction_Overlay.pm:133
-msgid "Input error"
-msgstr "輸入錯誤"
-
-#: html/Elements/ValidateCustomFields:68 lib/RT/CustomField_Overlay.pm:1021 lib/RT/CustomField_Overlay.pm:1162
-#. ($self->FriendlyPattern)
-#. ($CF->FriendlyPattern)
-msgid "Input must match %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Interest noted"
-msgstr "登記成功"
-
-#: lib/RT/Ticket_Overlay.pm:3503
-msgid "Internal Error"
-msgstr "內部錯誤"
-
-#: lib/RT/Record.pm:308
-#. ($id->{error_message})
-msgid "Internal Error: %1"
-msgstr "內部錯誤:%1"
-
-#: lib/RT/Group_Overlay.pm:668
-msgid "Invalid Group Type"
-msgstr "錯誤的群組類別"
-
-#: lib/RT/Principal_Overlay.pm:161
-msgid "Invalid Right"
-msgstr "錯誤的權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid Type"
-msgstr "錯誤的類型"
-
-#: lib/RT/Record.pm:952
-msgid "Invalid data"
-msgstr "錯誤的資料"
-
-#: NOT FOUND IN SOURCE
-msgid "Invalid owner. Defaulting to 'nobody'."
-msgstr "錯誤的承辦人。改為預設承辦人「nobody」。"
-
-#: lib/RT/CustomField_Overlay.pm:207 lib/RT/CustomField_Overlay.pm:678
-#. ($msg)
-msgid "Invalid pattern: %1"
-msgstr ""
-
-#: lib/RT/Scrip_Overlay.pm:157 lib/RT/Template_Overlay.pm:244
-msgid "Invalid queue"
-msgstr "錯誤的表單"
-
-#: lib/RT/ACE_Overlay.pm:264 lib/RT/ACE_Overlay.pm:273 lib/RT/ACE_Overlay.pm:279 lib/RT/ACE_Overlay.pm:290
-msgid "Invalid right"
-msgstr "錯誤的權限"
-
-#: lib/RT/Record.pm:283
-#. ($key)
-msgid "Invalid value for %1"
-msgstr "%1 的值錯誤"
-
-#: lib/RT/Record.pm:1610
-msgid "Invalid value for custom field"
-msgstr "錯誤的自訂欄位值"
-
-#: lib/RT/Ticket_Overlay.pm:424
-msgid "Invalid value for status"
-msgstr "錯誤的狀態值"
-
-#: NOT FOUND IN SOURCE
-msgid "IssueStatement"
-msgstr "送出陳述"
-
-#: bin/rt-crontool:268
-msgid "It is incredibly important that nonprivileged users not be allowed to run this tool."
-msgstr "請絕對不要讓未具權限的使用者執行此工具程式。"
-
-#: bin/rt-crontool:269
-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 "建議您新增一個隸屬於正確群組的低權限系統使用者,並以該身份執行此工具程式。"
-
-#: bin/rt-crontool:231
-msgid "It takes several arguments:"
-msgstr "它接受下列參數:"
-
-#: html/Search/Elements/EditFormat:85
-msgid "Italic"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Item Name"
-msgstr "品名"
-
-#: NOT FOUND IN SOURCE
-msgid "Items"
-msgstr "筆"
-
-#: NOT FOUND IN SOURCE
-msgid "Items pending my approval"
-msgstr "待簽核項目"
-
-#: NOT FOUND IN SOURCE
-msgid "Jan"
-msgstr "一月"
-
-#: lib/RT/Date.pm:441
-msgid "Jan."
-msgstr "01"
-
-#: NOT FOUND IN SOURCE
-msgid "January"
-msgstr "一月"
-
-#: NOT FOUND IN SOURCE
-msgid "Job"
-msgstr "職稱"
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "Join or leave this group"
-msgstr "加入或離開此群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Jul"
-msgstr "七月"
-
-#: lib/RT/Date.pm:447
-msgid "Jul."
-msgstr "07"
-
-#: NOT FOUND IN SOURCE
-msgid "July"
-msgstr "七月"
-
-#: html/Ticket/Elements/Tabs:125
-msgid "Jumbo"
-msgstr "全部資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Jun"
-msgstr "六月"
-
-#: lib/RT/Date.pm:446
-msgid "Jun."
-msgstr "06"
-
-#: NOT FOUND IN SOURCE
-msgid "June"
-msgstr "六月"
-
-#: NOT FOUND IN SOURCE
-msgid "Keyword"
-msgstr "關鍵字"
-
-#: NOT FOUND IN SOURCE
-msgid "LabelAttachments"
-msgstr "附件標籤"
-
-#: NOT FOUND IN SOURCE
-msgid "LabelContent"
-msgstr "內容標籤"
-
-#: NOT FOUND IN SOURCE
-msgid "LabelSubject"
-msgstr "主題標籤"
-
-#: NOT FOUND IN SOURCE
-msgid "LabelURL"
-msgstr "鏈結標籤"
-
-#: NOT FOUND IN SOURCE
-msgid "Lang"
-msgstr "使用語言"
-
-#: html/Admin/Users/Modify.html:94 html/User/Prefs.html:76
-msgid "Language"
-msgstr "語言"
-
-#: html/Search/Elements/EditFormat:79
-msgid "Large"
-msgstr ""
-
-#: html/Ticket/Elements/Tabs:96
-msgid "Last"
-msgstr "上次更新"
-
-#: html/Ticket/Elements/EditDates:59 html/Ticket/Elements/ShowDates:60
-msgid "Last Contact"
-msgstr "上次聯絡"
-
-#: html/Elements/SelectDateType:50
-msgid "Last Contacted"
-msgstr "上次聯絡日期"
-
-#: NOT FOUND IN SOURCE
-msgid "Last Notified"
-msgstr "上次通知"
-
-#: html/Elements/SelectDateType:51
-msgid "Last Updated"
-msgstr "上次更新"
-
-#: NOT FOUND IN SOURCE
-msgid "LastUpdated"
-msgstr "上次更新"
-
-#: html/Search/Elements/PickBasics:103
-msgid "LastUpdatedBy"
-msgstr "上次更新者"
-
-#: html/Ticket/Elements/ShowBasics:68
-msgid "Left"
-msgstr "剩餘時間"
-
-#: html/Admin/Users/Modify.html:109
-msgid "Let this user access RT"
-msgstr "允許這名使用者登入"
-
-#: html/Admin/Users/Modify.html:113
-msgid "Let this user be granted rights"
-msgstr "內部成員(具有個人權限)"
-
-#: NOT FOUND IN SOURCE
-msgid "Limiting owner to %1 %2"
-msgstr "限制承辦人為 %1 到%2"
-
-#: NOT FOUND IN SOURCE
-msgid "Limiting queue to %1 %2"
-msgstr "限制表單為 %1 到 %2"
-
-#: html/Search/Elements/EditFormat:68
-msgid "Link"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Link a Queue"
-msgstr "申請表單連結"
-
-#: lib/RT/Record.pm:1306
-msgid "Link already exists"
-msgstr "此鏈結已存在"
-
-#: lib/RT/Record.pm:1320
-msgid "Link could not be created"
-msgstr "無法新增鏈結"
-
-#: lib/RT/Record.pm:1326
-#. ($TransString)
-msgid "Link created (%1)"
-msgstr "鏈結(%1)新增完畢"
-
-#: lib/RT/Record.pm:1387
-#. ($TransString)
-msgid "Link deleted (%1)"
-msgstr "鏈結(%1)刪除完畢"
-
-#: lib/RT/Record.pm:1393
-msgid "Link not found"
-msgstr "找不到鏈結"
-
-#: html/Ticket/ModifyLinks.html:46 html/Ticket/ModifyLinks.html:50
-#. ($Ticket->Id)
-msgid "Link ticket #%1"
-msgstr "鏈結申請單 #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Link ticket %1"
-msgstr "鏈結申請單 %1"
-
-#: html/Admin/CustomFields/Modify.html:102
-msgid "Link values to"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:700
-msgid "Linking. Permission denied"
-msgstr ""
-
-#: html/Ticket/Create.html:216 html/Ticket/Elements/ShowSummary:89 html/Ticket/Elements/Tabs:120 html/Ticket/ModifyAll.html:78
-msgid "Links"
-msgstr "鏈結"
-
-#: NOT FOUND IN SOURCE
-msgid "List All Users"
-msgstr "列出所有用戶資料"
-
-#: html/Search/Elements/EditSearches:75
-msgid "Load"
-msgstr "載入"
-
-#: html/Search/Elements/EditSearches:73
-msgid "Load saved search:"
-msgstr "載入已儲存的查詢:"
-
-#: lib/RT/System.pm:86
-msgid "LoadSavedSearch"
-msgstr ""
-
-#: html/Admin/Tools/Configuration.html:64
-msgid "Loaded perl modules"
-msgstr "已載入的 Perl 模組"
-
-#: lib/RT/SavedSearch.pm:111
-#. ($self->Name)
-msgid "Loaded search %1"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:138 html/User/Prefs.html:126
-msgid "Location"
-msgstr "位置"
-
-#: NOT FOUND IN SOURCE
-msgid "Log directory %1 not found or couldn't be written.\\n RT can't run."
-msgstr "登入目錄 %1 找不到或無法寫入\\n。無法執行 RT。"
-
-#: NOT FOUND IN SOURCE
-msgid "LogToFile"
-msgstr "紀錄等級"
-
-#: NOT FOUND IN SOURCE
-msgid "LogToFileNamed"
-msgstr "紀錄檔名"
-
-#: html/Elements/Header:91
-#. ("<span>".$session{'CurrentUser'}->Name."</span>")
-msgid "Logged in as %1"
-msgstr "使用者:%1"
-
-#: docs/design_docs/string-extraction-guide.txt:71 html/Elements/Login:100 html/Elements/Login:68 html/Elements/Login:84 lib/RT/StyleGuide.pod:797
-msgid "Login"
-msgstr "登入"
-
-#: html/Elements/Header:101
-msgid "Logout"
-msgstr "登出"
-
-#: NOT FOUND IN SOURCE
-msgid "Long-term contractor"
-msgstr "長期契約員工"
-
-#: lib/RT/CustomField_Overlay.pm:932
-msgid "Lookup type mismatch"
-msgstr "對應的類別不符"
-
-#: html/Search/Bulk.html:82
-msgid "Make Owner"
-msgstr "新增承辦人"
-
-#: html/Search/Bulk.html:106
-msgid "Make Status"
-msgstr "新增現況"
-
-#: html/Search/Bulk.html:114
-msgid "Make date Due"
-msgstr "新增到期日"
-
-#: html/Search/Bulk.html:116
-msgid "Make date Resolved"
-msgstr "新增解決日期"
-
-#: html/Search/Bulk.html:110
-msgid "Make date Started"
-msgstr "新增實際起始日期"
-
-#: html/Search/Bulk.html:108
-msgid "Make date Starts"
-msgstr "新增應起始日期"
-
-#: html/Search/Bulk.html:112
-msgid "Make date Told"
-msgstr "新增報告日期"
-
-#: html/Search/Bulk.html:102
-msgid "Make priority"
-msgstr "新增優先順位"
-
-#: html/Search/Bulk.html:104
-msgid "Make queue"
-msgstr "新增表單"
-
-#: html/Search/Bulk.html:100
-msgid "Make subject"
-msgstr "新增主題"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "Make this group visible to user"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Male"
-msgstr "男"
-
-#: html/Admin/index.html:78
-msgid "Manage custom fields and custom field values"
-msgstr "管理自訂欄位及欄位值"
-
-#: html/Admin/index.html:69
-msgid "Manage groups and group membership"
-msgstr "管理群組及所屬成員"
-
-#: html/Admin/index.html:85
-msgid "Manage properties and configuration which apply to all queues"
-msgstr "管理適用於所有表單的屬性與設定"
-
-#: html/Admin/index.html:74
-msgid "Manage queues and queue-specific properties"
-msgstr "管理各表單及相關屬性"
-
-#: html/Admin/index.html:64
-msgid "Manage users and passwords"
-msgstr "管理使用者與密碼"
-
-#: NOT FOUND IN SOURCE
-msgid "Manager"
-msgstr "經理"
-
-#: NOT FOUND IN SOURCE
-msgid "Mar"
-msgstr "三月"
-
-#: lib/RT/Date.pm:443
-msgid "Mar."
-msgstr "03"
-
-#: NOT FOUND IN SOURCE
-msgid "March"
-msgstr "三月"
-
-#: NOT FOUND IN SOURCE
-msgid "Marketing Department"
-msgstr "行銷部"
-
-#: NOT FOUND IN SOURCE
-msgid "Match Pattern"
-msgstr "符合樣式"
-
-#: NOT FOUND IN SOURCE
-msgid "May"
-msgstr "五月"
-
-#: lib/RT/Date.pm:445
-msgid "May."
-msgstr "05"
-
-#: lib/RT/Transaction_Overlay.pm:731
-#. ($value)
-msgid "Member %1 added"
-msgstr "成員 %1 新增完畢"
-
-#: lib/RT/Transaction_Overlay.pm:771
-#. ($value)
-msgid "Member %1 deleted"
-msgstr "成員 %1 刪除完畢"
-
-#: lib/RT/Group_Overlay.pm:1000
-msgid "Member added"
-msgstr "新增成員完畢"
-
-#: lib/RT/Group_Overlay.pm:1162
-msgid "Member deleted"
-msgstr "成員已刪除"
-
-#: lib/RT/Group_Overlay.pm:1166
-msgid "Member not deleted"
-msgstr "成員未刪除"
-
-#: html/Elements/SelectLinkType:47
-msgid "Member of"
-msgstr "隸屬於"
-
-#: NOT FOUND IN SOURCE
-msgid "Member since"
-msgstr "註冊日期"
-
-#: NOT FOUND IN SOURCE
-msgid "MemberOf"
-msgstr "隸屬於"
-
-#: html/Admin/Elements/GroupTabs:63 html/User/Elements/GroupTabs:63
-msgid "Members"
-msgstr "成員"
-
-#: lib/RT/Transaction_Overlay.pm:728
-#. ($value)
-msgid "Membership in %1 added"
-msgstr "所屬群組 %1 加入完畢"
-
-#: lib/RT/Transaction_Overlay.pm:768
-#. ($value)
-msgid "Membership in %1 deleted"
-msgstr "所屬群組 %1 移除完畢"
-
-#: html/Admin/Elements/UserTabs:61
-msgid "Memberships"
-msgstr "所屬群組"
-
-#: html/Admin/Users/Memberships.html:60
-#. ($UserObj->Name)
-msgid "Memberships of the user %1"
-msgstr "使用者 %1 的所屬群組"
-
-#: lib/RT/Ticket_Overlay.pm:2893
-msgid "Merge Successful"
-msgstr "整合完畢"
-
-#: lib/RT/Ticket_Overlay.pm:2780
-msgid "Merge failed. Couldn't set EffectiveId"
-msgstr "整合失敗。無法設定 EffectiveId"
-
-#: lib/RT/Ticket_Overlay.pm:2788
-msgid "Merge failed. Couldn't set Status"
-msgstr ""
-
-#: html/Elements/EditLinks:131 html/Ticket/Elements/BulkLinks:48
-msgid "Merge into"
-msgstr "整合進"
-
-#: lib/RT/Transaction_Overlay.pm:734
-#. ($value)
-msgid "Merged into %1"
-msgstr "已整合進 %1"
-
-#: html/Search/Bulk.html:143 html/Ticket/Update.html:118
-msgid "Message"
-msgstr "訊息"
-
-#: html/Ticket/Elements/ShowTransactionAttachments:164
-msgid "Message body not shown because it is too large or is not plain text."
-msgstr "信件內文不是純文字,因此無法顯示。"
-
-#: lib/RT/Ticket_Overlay.pm:2451
-msgid "Message could not be recorded"
-msgstr "無法紀錄訊息"
-
-#: lib/RT/Ticket_Overlay.pm:2454
-msgid "Message recorded"
-msgstr "訊息紀錄成功"
-
-#: html/Ticket/Elements/PreviewScrips:122
-msgid "Messages about this ticket will not be sent to..."
-msgstr "此申請單的相關訊息不會寄送給..."
-
-#: html/Elements/SelectTimeUnits:47
-msgid "Minutes"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Misc. Expense"
-msgstr "雜費"
-
-#: html/Search/Build.html:490 lib/RT/Report/Tickets.pm:445
-msgid "Mismatched parentheses"
-msgstr "未對齊的括號"
-
-#: lib/RT/Record.pm:954
-msgid "Missing a primary key?: %1"
-msgstr "缺少主鍵值?(%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Missing mandatory fields"
-msgstr "缺少必填欄位"
-
-#: html/Admin/Users/Modify.html:193 html/User/Prefs.html:92
-msgid "Mobile"
-msgstr "行動電話"
-
-#: NOT FOUND IN SOURCE
-msgid "MobilePhone"
-msgstr "行動電話"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "Modify Access Control List"
-msgstr "更改權限控制清單"
-
-#: html/Admin/Elements/ObjectCustomFields:96
-#. (loc(lc($FriendlySubTypes)), loc(lc($Types)))
-msgid "Modify Custom Fields which apply to %1 for all %2"
-msgstr "更改適用於 %1 內所有 %2 的自訂欄位"
-
-#: html/Admin/Elements/ObjectCustomFields:98
-#. (loc(lc($Types)))
-msgid "Modify Custom Fields which apply to all %1"
-msgstr "更改適用於所有%1的自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Custom Fields which apply to all queues"
-msgstr "更改適用於所有表單的自訂欄位"
-
-#: html/Admin/Global/GroupRights.html:106 html/Admin/Groups/GroupRights.html:94 html/Admin/Queues/GroupRights.html:107
-msgid "Modify Group Rights"
-msgstr "更改群組權限"
-
-#: html/Admin/Groups/Members.html:105 html/User/Groups/Members.html:101
-msgid "Modify Members"
-msgstr "更改成員"
-
-#: html/User/Delegation.html:58
-msgid "Modify Rights"
-msgstr "更改權限"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "Modify Scrip templates for this queue"
-msgstr "更改此表單的範本"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "Modify Scrips for this queue"
-msgstr "更改此表單的手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify System ACLS"
-msgstr "更改系統權限清單"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Template %1"
-msgstr "更改範本 %1"
-
-#: html/Admin/Global/UserRights.html:75 html/Admin/Groups/UserRights.html:76 html/Admin/Queues/UserRights.html:75
-msgid "Modify User Rights"
-msgstr "更改使用者權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify Workflow"
-msgstr "更改流程"
-
-#: html/Admin/Queues/CustomField.html:66
-#. ($QueueObj->Name())
-msgid "Modify a CustomField for queue %1"
-msgstr "更改 %1 表單內的自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify a CustomField that applies to all queues"
-msgstr "更改適用於所有表單的自訂欄位"
-
-#: html/Admin/Queues/Scrip.html:82
-#. ($QueueObj->Name)
-msgid "Modify a scrip for queue %1"
-msgstr "更改 %1 表單內的手續"
-
-#: html/Admin/Global/Scrip.html:75
-msgid "Modify a scrip that applies to all queues"
-msgstr "更改適用於所有表單的手續"
-
-#: html/Admin/CustomFields/Objects.html:90
-#. ($CF->Name)
-msgid "Modify associated objects for %1"
-msgstr "更改適用 %1 的物件"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify dates for # %1"
-msgstr "更改 # %1 的日期"
-
-#: html/Ticket/ModifyDates.html:46 html/Ticket/ModifyDates.html:50
-#. ($TicketObj->Id)
-msgid "Modify dates for #%1"
-msgstr "更改 #%1 的日期"
-
-#: html/Ticket/ModifyDates.html:57
-#. ($TicketObj->Id)
-msgid "Modify dates for ticket # %1"
-msgstr "更改申請單 # %1 的日期"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:65 html/Admin/Global/index.html:72
-msgid "Modify global custom fields"
-msgstr "更改全域自訂欄位"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:70 html/Admin/Global/GroupRights.html:46 html/Admin/Global/GroupRights.html:49 html/Admin/Global/index.html:77
-msgid "Modify global group rights"
-msgstr "更改全域設定的群組權限"
-
-#: html/Admin/Global/GroupRights.html:54
-msgid "Modify global group rights."
-msgstr "更改全域設定的群組權限。"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global rights for groups"
-msgstr "更改全域設定的群組權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global rights for users"
-msgstr "更改全域設定的使用者權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify global scrips"
-msgstr "更改全域手續"
-
-#: html/Admin/Global/UserRights.html:46 html/Admin/Global/UserRights.html:49 html/Admin/Global/index.html:81
-msgid "Modify global user rights"
-msgstr "更改全域設定的使用者權限"
-
-#: html/Admin/Global/UserRights.html:54
-msgid "Modify global user rights."
-msgstr "更改全域設定的使用者權限。"
-
-#: lib/RT/Group_Overlay.pm:163
-msgid "Modify group metadata or delete group"
-msgstr "更改群組資料及刪除群組"
-
-#: html/Admin/CustomFields/GroupRights.html:164
-#. ($CustomFieldObj->Name)
-msgid "Modify group rights for custom field %1"
-msgstr "更改自訂欄位 %1 的群組權限"
-
-#: html/Admin/Groups/GroupRights.html:46 html/Admin/Groups/GroupRights.html:50 html/Admin/Groups/GroupRights.html:56
-#. ($GroupObj->Name)
-msgid "Modify group rights for group %1"
-msgstr "更改群組 %1 的群組權限"
-
-#: html/Admin/Queues/GroupRights.html:46 html/Admin/Queues/GroupRights.html:50
-#. ($QueueObj->Name)
-msgid "Modify group rights for queue %1"
-msgstr "更改表單 %1 的群組權限"
-
-#: lib/RT/Group_Overlay.pm:165
-msgid "Modify membership roster for this group"
-msgstr "更改此群組的成員名單"
-
-#: lib/RT/System.pm:82
-msgid "Modify one's own RT account"
-msgstr "更改個人的帳號資訊"
-
-#: html/Admin/Queues/People.html:46 html/Admin/Queues/People.html:50
-#. ($QueueObj->Name)
-msgid "Modify people related to queue %1"
-msgstr "更改鏈結到表單 %1 的人員"
-
-#: html/Ticket/ModifyPeople.html:46 html/Ticket/ModifyPeople.html:50 html/Ticket/ModifyPeople.html:57
-#. ($Ticket->id)
-#. ($Ticket->Id)
-msgid "Modify people related to ticket #%1"
-msgstr "更改申請單 #%1 鏈結到的人員"
-
-#: html/Admin/Queues/Scrips.html:67
-#. ($QueueObj->Name)
-msgid "Modify scrips for queue %1"
-msgstr "更改表單 %1 的手續"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:56 html/Admin/Global/Scrips.html:65 html/Admin/Global/index.html:63
-msgid "Modify scrips which apply to all queues"
-msgstr "更改適用於所有表單的手續"
-
-#: html/Admin/Global/Template.html:102 html/Admin/Global/Template.html:46 html/Admin/Global/Template.html:51 html/Admin/Queues/Template.html:99
-#. (loc($TemplateObj->Name()))
-#. ($TemplateObj->id)
-msgid "Modify template %1"
-msgstr "更改範本 %1"
-
-#: html/Admin/Global/Templates.html:65
-msgid "Modify templates which apply to all queues"
-msgstr "更改適用於所有表單的範本"
-
-#: html/Admin/Global/index.html:85
-msgid "Modify the default \"RT at a glance\" view"
-msgstr "更改預設的「RT 一覽」檢視"
-
-#: html/Admin/Groups/Modify.html:119 html/User/Groups/Modify.html:107
-#. ($Group->Name)
-msgid "Modify the group %1"
-msgstr "更改群組 %1"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "Modify the queue watchers"
-msgstr "更改表單視察員"
-
-#: html/Admin/Users/Modify.html:309
-#. ($UserObj->Name)
-msgid "Modify the user %1"
-msgstr "更改使用者 %1"
-
-#: html/Ticket/ModifyAll.html:58
-#. ($Ticket->Id)
-msgid "Modify ticket # %1"
-msgstr "更改申請單 # %1"
-
-#: html/Ticket/Modify.html:46 html/Ticket/Modify.html:49 html/Ticket/Modify.html:55
-#. ($TicketObj->Id)
-msgid "Modify ticket #%1"
-msgstr "更改申請單 # %1"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "Modify tickets"
-msgstr "更改申請單"
-
-#: html/Admin/CustomFields/UserRights.html:157
-#. ($CustomFieldObj->Name)
-msgid "Modify user rights for custom field %1"
-msgstr "更改自訂欄位 %1 的使用者權限"
-
-#: html/Admin/Groups/UserRights.html:46 html/Admin/Groups/UserRights.html:50 html/Admin/Groups/UserRights.html:56
-#. ($GroupObj->Name)
-msgid "Modify user rights for group %1"
-msgstr "更改群組 %1 的使用者權限"
-
-#: html/Admin/Queues/UserRights.html:46 html/Admin/Queues/UserRights.html:50
-#. ($QueueObj->Name)
-msgid "Modify user rights for queue %1"
-msgstr "更改表單 %1 的使用者權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify watchers for queue '%1'"
-msgstr "更改 '%1' 的視察員"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify workflow %1"
-msgstr "更改流程 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Modify workflows which apply to all queues"
-msgstr "更改適用於所有表單的流程"
-
-#: lib/RT/Queue_Overlay.pm:94
-msgid "ModifyACL"
-msgstr "更改權限清單"
-
-#: lib/RT/CustomField_Overlay.pm:108
-msgid "ModifyCustomField"
-msgstr "更改自訂欄位"
-
-#: lib/RT/Group_Overlay.pm:166
-msgid "ModifyOwnMembership"
-msgstr "更改自己是否屬於某群組"
-
-#: lib/RT/Queue_Overlay.pm:95
-msgid "ModifyQueueWatchers"
-msgstr "更改表單視察員"
-
-#: lib/RT/Queue_Overlay.pm:100
-msgid "ModifyScrips"
-msgstr "更改手續"
-
-#: lib/RT/System.pm:82
-msgid "ModifySelf"
-msgstr "更改個人帳號"
-
-#: lib/RT/Queue_Overlay.pm:97
-msgid "ModifyTemplate"
-msgstr "更改範本"
-
-#: lib/RT/Queue_Overlay.pm:113
-msgid "ModifyTicket"
-msgstr "更改申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Mon"
-msgstr "星期一"
-
-#: lib/RT/Date.pm:417
-msgid "Mon."
-msgstr "星期一"
-
-#: NOT FOUND IN SOURCE
-msgid "More"
-msgstr "更多"
-
-#: html/Ticket/Elements/ShowRequestor:61
-#. ($name)
-msgid "More about %1"
-msgstr "關於 %1 的進一步資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Morning Shift"
-msgstr "早班"
-
-#: NOT FOUND IN SOURCE
-msgid "Move"
-msgstr "移動"
-
-#: NOT FOUND IN SOURCE
-msgid "Move All"
-msgstr "全移"
-
-#: html/Admin/Elements/PickCustomFields:83
-msgid "Move down"
-msgstr "下移"
-
-#: html/Admin/Elements/PickCustomFields:75
-msgid "Move up"
-msgstr "上移"
-
-#: html/Admin/Elements/SelectSingleOrMultiple:48
-msgid "Multiple"
-msgstr "多重"
-
-#: lib/RT/User_Overlay.pm:226
-msgid "Must specify 'Name' attribute"
-msgstr "必須指定 'Name' 的屬性"
-
-#: html/SelfService/Elements/MyRequests:57
-#. ($friendly_status)
-msgid "My %1 tickets"
-msgstr "我的 %1 申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "My Approvals"
-msgstr "表單簽核"
-
-#: html/Tools/Elements/Tabs:63
-msgid "My Day"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "My Requests"
-msgstr "表單申請追蹤"
-
-#: NOT FOUND IN SOURCE
-msgid "My Tickets"
-msgstr "表單處理"
-
-#: html/Approvals/index.html:46 html/Approvals/index.html:47
-msgid "My approvals"
-msgstr "表單簽核"
-
-#: html/Search/Elements/SearchPrivacy:50 html/Search/Elements/SelectSearchObject:53 html/Search/Elements/SelectSearchesForObjects:54
-msgid "My saved searches"
-msgstr "我已儲存的查詢"
-
-#: html/Admin/CustomFields/Modify.html:58 html/Admin/Elements/AddCustomFieldValue:53 html/Admin/Elements/EditCustomField:55 html/Admin/Elements/EditCustomFieldValues:55 html/Admin/Elements/ModifyTemplate:49 html/Admin/Groups/Modify.html:65 html/Search/Bulk.html:157 html/User/Groups/Modify.html:65
-msgid "Name"
-msgstr "名稱"
-
-#: lib/RT/User_Overlay.pm:233
-msgid "Name in use"
-msgstr "帳號已有人使用"
-
-#: NOT FOUND IN SOURCE
-msgid "Nationality"
-msgstr "國籍"
-
-#: NOT FOUND IN SOURCE
-msgid "Need approval from system administrator"
-msgstr "需先由系統管理員進行批准"
-
-#: html/Ticket/Elements/ShowDates:73
-msgid "Never"
-msgstr "從未更動"
-
-#: NOT FOUND IN SOURCE
-msgid "New"
-msgstr "新建立"
-
-#: html/Elements/EditLinks:117
-msgid "New Links"
-msgstr "新增關係"
-
-#: html/Admin/Users/Modify.html:119 html/User/Prefs.html:109
-msgid "New Password"
-msgstr "新的密碼"
-
-#: etc/initialdata:332
-msgid "New Pending Approval"
-msgstr "新的待簽核事項"
-
-#: NOT FOUND IN SOURCE
-msgid "New Query"
-msgstr "新增查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "New Request"
-msgstr "表單申請"
-
-#: html/Ticket/Elements/Tabs:212
-msgid "New Search"
-msgstr "新增查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "New Watchers"
-msgstr "新增視察員"
-
-#: html/Admin/Elements/CustomFieldTabs:93 html/Admin/Queues/CustomField.html:73
-msgid "New custom field"
-msgstr "新增自訂欄位"
-
-#: html/Admin/Elements/GroupTabs:77 html/User/Elements/GroupTabs:73
-msgid "New group"
-msgstr "新增群組"
-
-#: html/SelfService/Prefs.html:53
-msgid "New password"
-msgstr "新的密碼"
-
-#: lib/RT/User_Overlay.pm:816
-msgid "New password notification sent"
-msgstr "送出新密碼通知"
-
-#: html/Admin/Elements/QueueTabs:95
-msgid "New queue"
-msgstr "新增表單"
-
-#: html/Ticket/Elements/Reminders:118
-msgid "New reminder:"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "New request"
-msgstr "提出申請單"
-
-#: html/Admin/Elements/SelectRights:65
-msgid "New rights"
-msgstr "新增權限"
-
-#: html/Admin/Global/Scrip.html:63 html/Admin/Global/Scrips.html:60 html/Admin/Queues/Scrip.html:71 html/Admin/Queues/Scrips.html:76
-msgid "New scrip"
-msgstr "新增手續"
-
-#: NOT FOUND IN SOURCE
-msgid "New search"
-msgstr "重新查詢"
-
-#: html/Admin/Global/Template.html:81 html/Admin/Global/Templates.html:60 html/Admin/Queues/Template.html:79 html/Admin/Queues/Templates.html:71
-msgid "New template"
-msgstr "新增範本"
-
-#: html/SelfService/Elements/Tabs:84 html/SelfService/Elements/Tabs:88
-msgid "New ticket"
-msgstr "提出申請單"
-
-#: lib/RT/Ticket_Overlay.pm:2757
-msgid "New ticket doesn't exist"
-msgstr "沒有新申請單"
-
-#: html/Admin/Elements/UserTabs:81
-msgid "New user"
-msgstr "新增使用者"
-
-#: html/Admin/Elements/CreateUserCalled:47
-msgid "New user called"
-msgstr "新使用者名字"
-
-#: html/Admin/Queues/People.html:76 html/Ticket/Elements/EditPeople:50
-msgid "New watchers"
-msgstr "新視察員"
-
-#: NOT FOUND IN SOURCE
-msgid "New window setting"
-msgstr "更新視窗設定"
-
-#: NOT FOUND IN SOURCE
-msgid "New workflow"
-msgstr "新增流程"
-
-#: html/Helpers/CalPopup.html:58 html/Ticket/Elements/Tabs:92
-msgid "Next"
-msgstr "下一項"
-
-#: html/Elements/TicketList:104
-msgid "Next Page"
-msgstr "下一頁"
-
-#: NOT FOUND IN SOURCE
-msgid "Next page"
-msgstr "下一頁"
-
-#: NOT FOUND IN SOURCE
-msgid "NickName"
-msgstr "暱稱"
-
-#: html/Admin/Users/Modify.html:84 html/User/Prefs.html:72
-msgid "Nickname"
-msgstr "暱稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Night Shift"
-msgstr "小夜班"
-
-#: NOT FOUND IN SOURCE
-msgid "No"
-msgstr "否"
-
-#: html/Admin/CustomFields/UserRights.html:145
-msgid "No Class defined"
-msgstr "尚未定義類別"
-
-#: html/Admin/CustomFields/Modify.html:166 html/Admin/Elements/EditCustomField:119
-msgid "No CustomField"
-msgstr "無自訂欄位"
-
-#: html/Admin/CustomFields/GroupRights.html:103
-msgid "No CustomField defined"
-msgstr "尚未定義自訂欄位"
-
-#: html/Admin/Groups/GroupRights.html:105 html/Admin/Groups/UserRights.html:92
-msgid "No Group defined"
-msgstr "尚未定義群組"
-
-#: lib/RT/Tickets_Overlay_SQL.pm:482
-msgid "No Query"
-msgstr "沒有查詢"
-
-#: html/Admin/Queues/GroupRights.html:118 html/Admin/Queues/UserRights.html:89
-msgid "No Queue defined"
-msgstr "尚未定義表單"
-
-#: bin/rt-crontool:73
-msgid "No RT user found. Please consult your RT administrator.\\n"
-msgstr "找不到 RT 使用者。請向 RT 管理員查詢。\\n"
-
-#: html/Admin/Global/Template.html:100 html/Admin/Queues/Template.html:97
-msgid "No Template"
-msgstr "沒有範本"
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket "
-msgstr "未指定申請單。退出申請單 "
-
-#: NOT FOUND IN SOURCE
-msgid "No Ticket specified. Aborting ticket modifications\\n\\n"
-msgstr "未指定申請單。退出申請單更改\\n\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "No Workflow"
-msgstr "沒有流程"
-
-#: html/Approvals/Elements/Approve:77
-msgid "No action"
-msgstr "暫不處理"
-
-#: lib/RT/Record.pm:949
-msgid "No column specified"
-msgstr "未指定欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "No command found\\n"
-msgstr "找不到命令"
-
-#: html/Ticket/Elements/ShowRequestor:68
-msgid "No comment entered about this user"
-msgstr "沒有對這名使用者的評論"
-
-#: NOT FOUND IN SOURCE
-msgid "No correspondence attached"
-msgstr "沒有附上申請單回覆"
-
-#: lib/RT/Action/Generic.pm:185 lib/RT/Condition/Generic.pm:197 lib/RT/Search/ActiveTicketsInQueue.pm:77 lib/RT/Search/Generic.pm:134 lib/RT/Search/Googleish.pm:78
-#. (ref $self)
-msgid "No description for %1"
-msgstr "沒有對 %1 的描述"
-
-#: lib/RT/Users_Overlay.pm:190
-msgid "No group specified"
-msgstr "未指定群組"
-
-#: html/Admin/Groups/index.html:52
-msgid "No groups matching search criteria found."
-msgstr "找不到符合查詢條件的群組。"
-
-#: lib/RT/Ticket_Overlay.pm:2393
-msgid "No message attached"
-msgstr "沒有附上訊息"
-
-#: lib/RT/User_Overlay.pm:1034
-msgid "No password set"
-msgstr "沒有設定密碼"
-
-#: lib/RT/Queue_Overlay.pm:361
-msgid "No permission to create queues"
-msgstr "沒有新增表單的權限"
-
-#: lib/RT/Ticket_Overlay.pm:420
-#. ($QueueObj->Name)
-msgid "No permission to create tickets in the queue '%1'"
-msgstr "沒有在表單 '%1' 新增申請單的權限"
-
-#: lib/RT/User_Overlay.pm:186
-msgid "No permission to create users"
-msgstr "沒有新增使用者的權限"
-
-#: html/SelfService/Display.html:167
-msgid "No permission to display that ticket"
-msgstr "沒有顯示該申請單的權限"
-
-#: lib/RT/SavedSearch.pm:156
-msgid "No permission to save system-wide searches"
-msgstr "沒有儲存全域預存查詢的權限"
-
-#: html/SelfService/Update.html:117
-msgid "No permission to view update ticket"
-msgstr "沒有檢視申請單更新的權限"
-
-#: lib/RT/Queue_Overlay.pm:795 lib/RT/Ticket_Overlay.pm:1489
-msgid "No principal specified"
-msgstr "未指定單位"
-
-#: html/Admin/Queues/People.html:175 html/Admin/Queues/People.html:185
-msgid "No principals selected."
-msgstr "未指定單位。"
-
-#: NOT FOUND IN SOURCE
-msgid "No protocol specified in %1"
-msgstr "%1 內未指定協定"
-
-#: html/Admin/Queues/index.html:57
-msgid "No queues matching search criteria found."
-msgstr "找不到符合查詢條件的表單。"
-
-#: html/Admin/Elements/SelectRights:106
-msgid "No rights found"
-msgstr "找不到權限"
-
-#: html/Admin/Elements/SelectRights:53
-msgid "No rights granted."
-msgstr "沒有選定權限"
-
-#: lib/RT/SavedSearch.pm:196
-msgid "No search loaded"
-msgstr "尚未載入查詢"
-
-#: html/Search/Bulk.html:232
-msgid "No search to operate on."
-msgstr "沒有要進行的查詢"
-
-#: html/Elements/RT__Ticket/ColumnMap:137 html/Search/Results.rdf:78
-msgid "No subject"
-msgstr "沒有標題"
-
-#: NOT FOUND IN SOURCE
-msgid "No ticket id specified"
-msgstr "未指定申請單編號"
-
-#: lib/RT/Transaction_Overlay.pm:528 lib/RT/Transaction_Overlay.pm:565
-msgid "No transaction type specified"
-msgstr "未指定更動報告類別"
-
-#: NOT FOUND IN SOURCE
-msgid "No user or email address specified"
-msgstr "未指定使用者或電子郵件地址"
-
-#: html/Admin/Users/index.html:55
-msgid "No users matching search criteria found."
-msgstr "找不到符合查詢條件的使用者。"
-
-#: NOT FOUND IN SOURCE
-msgid "No valid RT user found. RT cvs handler disengaged. Please consult your RT administrator.\\n"
-msgstr "找不到合格的 RT 使用者。RT cvs 處理器已停用。請向 RT 管理者詢問。\\n"
-
-#: lib/RT/Record.pm:946
-msgid "No value sent to _Set!\\n"
-msgstr "_Set 沒有收到任何值!\\n"
-
-#: html/Elements/QuickCreate:59
-msgid "Nobody"
-msgstr "沒有人"
-
-#: lib/RT/Record.pm:951
-msgid "Nonexistant field?"
-msgstr "欄位不存在?"
-
-#: NOT FOUND IN SOURCE
-msgid "Normal Users"
-msgstr "一般用戶群組"
-
-#: html/Search/Chart:71 html/Search/Elements/Chart:88
-msgid "Not Set"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Not configured to fetch the content from a %1 in %2"
-msgstr "未設定成從 %2 內擷取 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Not logged in"
-msgstr "尚未登入"
-
-#: html/Elements/Header:96
-msgid "Not logged in."
-msgstr "尚未登入"
-
-#: lib/RT/Date.pm:397
-msgid "Not set"
-msgstr "尚未設定"
-
-#: html/NoAuth/Reminder.html:48
-msgid "Not yet implemented."
-msgstr "尚未完工。"
-
-#: NOT FOUND IN SOURCE
-msgid "Not yet implemented...."
-msgstr "尚未完工..."
-
-#: html/Approvals/Elements/Approve:81
-msgid "Notes"
-msgstr "備註"
-
-#: NOT FOUND IN SOURCE
-msgid "Notes:"
-msgstr "備註:"
-
-#: lib/RT/User_Overlay.pm:819
-msgid "Notification could not be sent"
-msgstr "無法送出通知"
-
-#: etc/initialdata:101
-msgid "Notify AdminCcs"
-msgstr "通知管理員副本收件人"
-
-#: etc/initialdata:97
-msgid "Notify AdminCcs as Comment"
-msgstr "以評論方式通知管理員副本收件人"
-
-#: 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 "以評論方式通知副本收件人"
-
-#: etc/initialdata:128
-msgid "Notify Other Recipients"
-msgstr "通知其他收件人"
-
-#: etc/initialdata:124
-msgid "Notify Other Recipients as Comment"
-msgstr "以評論方式通知其他收件人"
-
-#: etc/initialdata:85
-msgid "Notify Owner"
-msgstr "通知承辦人"
-
-#: etc/initialdata:81
-msgid "Notify Owner as Comment"
-msgstr "以評論方式通知承辦人"
-
-#: 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 "通知申請人"
-
-#: etc/initialdata:111
-msgid "Notify Requestors and Ccs"
-msgstr "通知申請人及副本收件人"
-
-#: etc/initialdata:106
-msgid "Notify Requestors and Ccs as Comment"
-msgstr "以評論方式通知申請人及副本收件人"
-
-#: etc/initialdata:120
-msgid "Notify Requestors, Ccs and AdminCcs"
-msgstr "通知申請人、副本及管理員副本收件人"
-
-#: etc/initialdata:116
-msgid "Notify Requestors, Ccs and AdminCcs as Comment"
-msgstr "以評論方式通知申請人、副本及管理員副本收件人"
-
-#: NOT FOUND IN SOURCE
-msgid "Notify people:"
-msgstr "通知對象"
-
-#: NOT FOUND IN SOURCE
-msgid "Nov"
-msgstr "十一月"
-
-#: lib/RT/Date.pm:451
-msgid "Nov."
-msgstr "11"
-
-#: NOT FOUND IN SOURCE
-msgid "November"
-msgstr "十一月"
-
-#: NOT FOUND IN SOURCE
-msgid "OIN104"
-msgstr "104eHRMS 介面"
-
-#: NOT FOUND IN SOURCE
-msgid "OK"
-msgstr "確定"
-
-#: html/Search/Elements/SelectAndOr:47
-msgid "OR"
-msgstr "OR"
-
-#: lib/RT/Record.pm:322
-msgid "Object could not be created"
-msgstr "無法新增物件"
-
-#: lib/RT/Record.pm:123
-msgid "Object could not be deleted"
-msgstr ""
-
-#: lib/RT/Record.pm:341
-msgid "Object created"
-msgstr "物件新增完畢"
-
-#: lib/RT/Record.pm:120
-msgid "Object deleted"
-msgstr ""
-
-#: html/Admin/CustomFields/Objects.html:72 html/Admin/Elements/ObjectCustomFields:63
-#. ($ObjectType)
-#. ($LookupType)
-msgid "Object of type %1 cannot take custom fields"
-msgstr "自訂欄位不適用於類別為 %1 的物件"
-
-#: lib/RT/CustomField_Overlay.pm:967
-msgid "Object type mismatch"
-msgstr "物件類別不符"
-
-#: NOT FOUND IN SOURCE
-msgid "Occupation Status"
-msgstr "在職狀態"
-
-#: NOT FOUND IN SOURCE
-msgid "Oct"
-msgstr "十月"
-
-#: lib/RT/Date.pm:450
-msgid "Oct."
-msgstr "10"
-
-#: NOT FOUND IN SOURCE
-msgid "October"
-msgstr "十月"
-
-#: NOT FOUND IN SOURCE
-msgid "Office Phone"
-msgstr "辦公室電話"
-
-#: html/Tools/Elements/Tabs:55
-msgid "Offline"
-msgstr "離線"
-
-#: html/Tools/Offline.html:49
-msgid "Offline edits"
-msgstr "離線編輯"
-
-#: html/Tools/Offline.html:46
-msgid "Offline upload"
-msgstr "離線上載"
-
-#: html/Elements/SelectDateRelation:56
-msgid "On"
-msgstr "等於"
-
-#: lib/RT/Transaction_Overlay.pm:326
-#. ($self->CreatedAsString(), $self->CreatorObj->Name())
-msgid "On %1, %2 wrote:"
-msgstr "在 %1 時,%2 寫到:"
-
-#: NOT FOUND IN SOURCE
-msgid "On Change"
-msgstr "更改申請單時"
-
-#: etc/initialdata:163
-msgid "On Comment"
-msgstr "評論時"
-
-#: etc/initialdata:156
-msgid "On Correspond"
-msgstr "回覆申請單時"
-
-#: etc/initialdata:145
-msgid "On Create"
-msgstr "新增申請單時"
-
-#: etc/initialdata:184
-msgid "On Owner Change"
-msgstr "承辦人改變時"
-
-#: etc/initialdata:177 etc/upgrade/3.1.17/content:15
-msgid "On Priority Change"
-msgstr "優先順位改變時"
-
-#: etc/initialdata:192
-msgid "On Queue Change"
-msgstr "表單改變時"
-
-#: etc/initialdata:198
-msgid "On Resolve"
-msgstr "解決申請單時"
-
-#: etc/initialdata:169
-msgid "On Status Change"
-msgstr "現況改變時"
-
-#: etc/initialdata:150
-msgid "On Transaction"
-msgstr "發生更動時"
-
-#: html/Approvals/Elements/PendingMyApproval:70
-#. ("<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 "僅顯示 %1 之後新增的申請單"
-
-#: html/Approvals/Elements/PendingMyApproval:68
-#. ("<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 "僅顯示 %1 之前新增的申請單"
-
-#: html/Admin/CustomFields/index.html:75
-msgid "Only show custom fields for:"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Open"
-msgstr "開啟"
-
-#: html/SelfService/index.html:46
-msgid "Open Tickets"
-msgstr ""
-
-#: html/Ticket/Elements/Tabs:160
-msgid "Open it"
-msgstr "開啟"
-
-#: html/SelfService/Elements/Tabs:75
-msgid "Open tickets"
-msgstr "開啟的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in a new window"
-msgstr "在新視窗開啟(列表的)申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Open tickets (from listing) in another window"
-msgstr "在另一個視窗開啟(列表的)申請單"
-
-#: etc/initialdata:140
-msgid "Open tickets on correspondence"
-msgstr "收到回覆時即開啟申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Opened Tickets"
-msgstr "已申請運行中表單"
-
-#: NOT FOUND IN SOURCE
-msgid "Opinion"
-msgstr "意見"
-
-#: NOT FOUND IN SOURCE
-msgid "Option Description"
-msgstr "選項描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Option Name"
-msgstr "選項名稱"
-
-#: html/Prefs/MyRT.html:70
-msgid "Options"
-msgstr ""
-
-#: html/Search/Elements/DisplayOptions:59
-msgid "Order by"
-msgstr "排序方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Ordering and sorting"
-msgstr "順序與排序方式"
-
-#: html/Admin/Users/Modify.html:141 html/User/Prefs.html:129
-msgid "Organization"
-msgstr "組織名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Organization:"
-msgstr "組織:"
-
-#: html/Approvals/Elements/Approve:53
-#. ($approving->Id, $approving->Subject)
-msgid "Originating ticket: #%1"
-msgstr "原申請單:#%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Other comma-delimited email addresses"
-msgstr "其他e-mail帳號 (僅e-mail通知;多筆帳號請用逗號','區隔)"
-
-#: NOT FOUND IN SOURCE
-msgid "Out of range"
-msgstr "期限外"
-
-#: lib/RT/Transaction_Overlay.pm:622
-msgid "Outgoing email about a comment recorded"
-msgstr "已紀錄發送的評論郵件"
-
-#: lib/RT/Transaction_Overlay.pm:626
-msgid "Outgoing email recorded"
-msgstr "已紀錄發送的郵件"
-
-#: html/Admin/Queues/Modify.html:90
-msgid "Over time, priority moves toward"
-msgstr "優先順位隨時間增加調整為"
-
-#: NOT FOUND IN SOURCE
-msgid "Override current custom fields with fields from %1"
-msgstr "以 %1 表單的自訂欄位取代現有欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Override global rights"
-msgstr "取代全域權限"
-
-#: NOT FOUND IN SOURCE
-msgid "OverrideGlobalACL status %1"
-msgstr "取代全域權限 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Overview"
-msgstr "總覽"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "Own tickets"
-msgstr "承辦申請單"
-
-#: lib/RT/Queue_Overlay.pm:112
-msgid "OwnTicket"
-msgstr "承辦申請單"
-
-#: etc/initialdata:38 html/Elements/QuickCreate:56 html/Search/Elements/PickBasics:101 html/Ticket/Create.html:72 html/Ticket/Elements/EditBasics:61 html/Ticket/Elements/EditPeople:64 html/Ticket/Elements/EditPeople:65 html/Ticket/Elements/Reminders:129 html/Ticket/Elements/ShowPeople:48 html/Ticket/Update.html:62 lib/RT/ACE_Overlay.pm:110 lib/RT/Tickets_Overlay.pm:2006
-msgid "Owner"
-msgstr "承辦人"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner changed from %1 to %2"
-msgstr "承辦人已從 %1 改為 %2"
-
-#: lib/RT/Ticket_Overlay.pm:505
-msgid "Owner could not be set."
-msgstr "無法設定承辦人。"
-
-#: lib/RT/Transaction_Overlay.pm:672
-#. ($Old->Name , $New->Name)
-msgid "Owner forcibly changed from %1 to %2"
-msgstr "強制將承辦人從 %1 改為 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner is"
-msgstr "承辦人"
-
-#: NOT FOUND IN SOURCE
-msgid "Owner's Phone"
-msgstr "承辦人電話"
-
-#: NOT FOUND IN SOURCE
-msgid "Page #"
-msgstr " "
-
-#: html/Elements/TicketList:78
-#. ($Page, int($TotalFound/$Rows)+$oddRows)
-msgid "Page %1 of %2"
-msgstr "第 %1/%2 頁"
-
-#: html/Admin/Users/Modify.html:198 html/User/Prefs.html:96
-msgid "Pager"
-msgstr "呼叫器"
-
-#: NOT FOUND IN SOURCE
-msgid "PagerPhone"
-msgstr "呼叫器號碼"
-
-#: NOT FOUND IN SOURCE
-msgid "Parameter"
-msgstr "呼叫參數"
-
-#: NOT FOUND IN SOURCE
-msgid "Parent"
-msgstr "上級"
-
-#: html/Elements/EditLinks:144 html/Elements/EditLinks:76 html/Elements/ShowLinks:68 html/Ticket/Create.html:222 html/Ticket/Elements/BulkLinks:60
-msgid "Parents"
-msgstr "母申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Park Space"
-msgstr "停車位申請"
-
-#: html/Elements/Login:95 html/User/Prefs.html:105
-msgid "Password"
-msgstr "密碼"
-
-#: html/NoAuth/Reminder.html:46
-msgid "Password Reminder"
-msgstr "密碼提示"
-
-#: lib/RT/Transaction_Overlay.pm:781 lib/RT/User_Overlay.pm:1045
-msgid "Password changed"
-msgstr ""
-
-#: lib/RT/User_Overlay.pm:1037 lib/RT/User_Overlay.pm:214
-#. ($RT::MinimumPasswordLength)
-msgid "Password needs to be at least %1 characters long"
-msgstr "密碼長度至少必須為 %1 個字元"
-
-#: lib/RT/User_Overlay.pm:1044
-msgid "Password set"
-msgstr "密碼已設定"
-
-#: NOT FOUND IN SOURCE
-msgid "Password too short"
-msgstr "密碼太短"
-
-#: html/User/Prefs.html:240
-#. (loc_fuzzy($msg))
-msgid "Password: %1"
-msgstr "密碼:%1"
-
-#: lib/RT/User_Overlay.pm:1030
-msgid "Password: Permission Denied"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:364
-msgid "Passwords do not match."
-msgstr "密碼確認失敗。"
-
-#: html/User/Prefs.html:242
-msgid "Passwords do not match. Your password has not been changed"
-msgstr "密碼確認失敗。您的密碼並未改變。"
-
-#: NOT FOUND IN SOURCE
-msgid "Pelase select a queue"
-msgstr "請選擇表單名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Pending Approval"
-msgstr "等待簽核"
-
-#: html/Ticket/Elements/ShowSummary:62 html/Ticket/Elements/Tabs:119 html/Ticket/ModifyAll.html:72
-msgid "People"
-msgstr "人員"
-
-#: NOT FOUND IN SOURCE
-msgid "People with Queue Rights"
-msgstr "擁有表單權限人員"
-
-#: etc/initialdata:133
-msgid "Perform a user-defined action"
-msgstr "執行使用者自訂的動作"
-
-#: html/Admin/Tools/Configuration.html:94
-msgid "Perl configuration"
-msgstr "Perl 設定"
-
-#: lib/RT/ACE_Overlay.pm:251 lib/RT/ACE_Overlay.pm:257 lib/RT/ACE_Overlay.pm:580 lib/RT/ACE_Overlay.pm:590 lib/RT/ACE_Overlay.pm:600 lib/RT/ACE_Overlay.pm:665 lib/RT/Attribute_Overlay.pm:158 lib/RT/Attribute_Overlay.pm:164 lib/RT/Attribute_Overlay.pm:405 lib/RT/Attribute_Overlay.pm:414 lib/RT/Attribute_Overlay.pm:427 lib/RT/CurrentUser.pm:116 lib/RT/CurrentUser.pm:125 lib/RT/CustomField_Overlay.pm:1017 lib/RT/CustomField_Overlay.pm:1138 lib/RT/CustomField_Overlay.pm:1281 lib/RT/CustomField_Overlay.pm:172 lib/RT/CustomField_Overlay.pm:189 lib/RT/CustomField_Overlay.pm:200 lib/RT/CustomField_Overlay.pm:374 lib/RT/CustomField_Overlay.pm:403 lib/RT/CustomField_Overlay.pm:763 lib/RT/CustomField_Overlay.pm:936 lib/RT/CustomField_Overlay.pm:971 lib/RT/Group_Overlay.pm:1117 lib/RT/Group_Overlay.pm:1121 lib/RT/Group_Overlay.pm:1130 lib/RT/Group_Overlay.pm:1240 lib/RT/Group_Overlay.pm:1244 lib/RT/Group_Overlay.pm:1250 lib/RT/Group_Overlay.pm:445 lib/RT/Group_Overlay.pm:542 lib/RT/Group_Overlay.pm:620 lib/RT/Group_Overlay.pm:628 lib/RT/Group_Overlay.pm:726 lib/RT/Group_Overlay.pm:730 lib/RT/Group_Overlay.pm:736 lib/RT/Group_Overlay.pm:922 lib/RT/Group_Overlay.pm:926 lib/RT/Group_Overlay.pm:939 lib/RT/Queue_Overlay.pm:1054 lib/RT/Queue_Overlay.pm:140 lib/RT/Queue_Overlay.pm:158 lib/RT/Queue_Overlay.pm:657 lib/RT/Queue_Overlay.pm:667 lib/RT/Queue_Overlay.pm:681 lib/RT/Queue_Overlay.pm:819 lib/RT/Queue_Overlay.pm:828 lib/RT/Queue_Overlay.pm:841 lib/RT/Scrip_Overlay.pm:149 lib/RT/Scrip_Overlay.pm:160 lib/RT/Scrip_Overlay.pm:224 lib/RT/Scrip_Overlay.pm:538 lib/RT/Template_Overlay.pm:108 lib/RT/Template_Overlay.pm:277 lib/RT/Ticket_Overlay.pm:1357 lib/RT/Ticket_Overlay.pm:1367 lib/RT/Ticket_Overlay.pm:1381 lib/RT/Ticket_Overlay.pm:1522 lib/RT/Ticket_Overlay.pm:1532 lib/RT/Ticket_Overlay.pm:1546 lib/RT/Ticket_Overlay.pm:1663 lib/RT/Ticket_Overlay.pm:1983 lib/RT/Ticket_Overlay.pm:2126 lib/RT/Ticket_Overlay.pm:2296 lib/RT/Ticket_Overlay.pm:2346 lib/RT/Ticket_Overlay.pm:2525 lib/RT/Ticket_Overlay.pm:2538 lib/RT/Ticket_Overlay.pm:2614 lib/RT/Ticket_Overlay.pm:2627 lib/RT/Ticket_Overlay.pm:2748 lib/RT/Ticket_Overlay.pm:2762 lib/RT/Ticket_Overlay.pm:2990 lib/RT/Ticket_Overlay.pm:3000 lib/RT/Ticket_Overlay.pm:3005 lib/RT/Ticket_Overlay.pm:3224 lib/RT/Ticket_Overlay.pm:3228 lib/RT/Ticket_Overlay.pm:3371 lib/RT/Ticket_Overlay.pm:3497 lib/RT/Transaction_Overlay.pm:516 lib/RT/Transaction_Overlay.pm:523 lib/RT/Transaction_Overlay.pm:551 lib/RT/Transaction_Overlay.pm:558 lib/RT/User_Overlay.pm:1176 lib/RT/User_Overlay.pm:1856 lib/RT/User_Overlay.pm:369 lib/RT/User_Overlay.pm:735 lib/RT/User_Overlay.pm:774
-msgid "Permission Denied"
-msgstr "權限不足"
-
-#: NOT FOUND IN SOURCE
-msgid "Permission Settings"
-msgstr "權限設定"
-
-#: lib/RT/Template_Overlay.pm:238 lib/RT/Template_Overlay.pm:247
-msgid "Permission denied"
-msgstr ""
-
-#: lib/RT/Template_Overlay.pm:372
-msgid "Permissions denied"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Permitted Queues:"
-msgstr "擁有權限表單列表:"
-
-#: NOT FOUND IN SOURCE
-msgid "Personal"
-msgstr "代理人群組"
-
-#: html/User/Elements/Tabs:56
-msgid "Personal Groups"
-msgstr "代理人群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Personal Homepage"
-msgstr "個人首頁"
-
-#: NOT FOUND IN SOURCE
-msgid "Personal Todo"
-msgstr "私人待辦事項"
-
-#: html/User/Groups/index.html:51 html/User/Groups/index.html:61
-msgid "Personal groups"
-msgstr "代理人群組"
-
-#: html/User/Elements/DelegateRights:58
-msgid "Personal groups:"
-msgstr "代理人群組:"
-
-#: NOT FOUND IN SOURCE
-msgid "PersonalHomepage"
-msgstr "個人首頁"
-
-#: NOT FOUND IN SOURCE
-msgid "Phase 1: Create/Rename Groups (%1)"
-msgstr "第一階段:群組建立及改名 (%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Phase 2: Disable/Enable Groups (%1)"
-msgstr "第二階段:群組停用及啟用 (%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Phase 3: Create/Rename Users (%1)"
-msgstr "第三階段:使用者建立及改名 (%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Phase 4: Disable/Enable Users (%1)"
-msgstr "第四階段:使用者停用及啟用 (%1)"
-
-#: NOT FOUND IN SOURCE
-msgid "Phone"
-msgstr "電話"
-
-#: NOT FOUND IN SOURCE
-msgid "Phone number"
-msgstr "電話號碼"
-
-#: html/Admin/Users/Modify.html:180 html/User/Prefs.html:81
-msgid "Phone numbers"
-msgstr "電話號碼"
-
-#: NOT FOUND IN SOURCE
-msgid "Pick"
-msgstr "挑選"
-
-#: NOT FOUND IN SOURCE
-msgid "Place of Departure"
-msgstr "出發地點"
-
-#: NOT FOUND IN SOURCE
-msgid "Placeholder"
-msgstr "尚未完工"
-
-#: NOT FOUND IN SOURCE
-msgid "Please Select"
-msgstr "請選擇"
-
-#: NOT FOUND IN SOURCE
-msgid "Please check items to be deleted first."
-msgstr "請先選中要刪除的對象"
-
-#: NOT FOUND IN SOURCE
-msgid "Please select a group"
-msgstr "請選擇群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Please select a queue's workflow"
-msgstr "請選擇表單流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Please select one of the category types above."
-msgstr "請從上面選擇一項分類。"
-
-#: NOT FOUND IN SOURCE
-msgid "Please select role"
-msgstr "請選擇角色"
-
-#: NOT FOUND IN SOURCE
-msgid "Policy"
-msgstr "經營規章"
-
-#: NOT FOUND IN SOURCE
-msgid "Position"
-msgstr "職務"
-
-#: NOT FOUND IN SOURCE
-msgid "Position Level"
-msgstr "職等"
-
-#: NOT FOUND IN SOURCE
-msgid "Position Name"
-msgstr "職務名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Position Number"
-msgstr "職務代碼"
-
-#: NOT FOUND IN SOURCE
-msgid "Position Rank"
-msgstr "職級"
-
-#: NOT FOUND IN SOURCE
-msgid "Pref"
-msgstr "偏好"
-
-#: html/Elements/Header:93 html/Elements/Tabs:91 html/SelfService/Elements/Tabs:95 html/SelfService/Prefs.html:46 html/User/Prefs.html:46 html/User/Prefs.html:49
-msgid "Preferences"
-msgstr "偏好"
-
-#: html/Admin/Users/MyRT.html:75
-#. ($pane, $UserObj->Name)
-msgid "Preferences %1 for user %2 ."
-msgstr "使用者 %2 的 %1 偏好。"
-
-#: html/Prefs/MyRT.html:141
-#. ($pane)
-msgid "Preferences saved for %1."
-msgstr "成功儲存 %1 的偏好。"
-
-#: NOT FOUND IN SOURCE
-msgid "Prefs"
-msgstr "個人資訊"
-
-#: lib/RT/Action/Generic.pm:195
-msgid "Prepare Stubbed"
-msgstr "預備動作完畢"
-
-#: html/Helpers/CalPopup.html:56 html/Ticket/Elements/Tabs:84
-msgid "Prev"
-msgstr "上一項"
-
-#: html/Elements/TicketList:101
-msgid "Previous Page"
-msgstr "上一頁"
-
-#: NOT FOUND IN SOURCE
-msgid "Previous page"
-msgstr "前一頁"
-
-#: NOT FOUND IN SOURCE
-msgid "Pri"
-msgstr "優先順位"
-
-#: lib/RT/ACE_Overlay.pm:157 lib/RT/ACE_Overlay.pm:239 lib/RT/ACE_Overlay.pm:569
-#. ($args{'PrincipalId'})
-msgid "Principal %1 not found."
-msgstr "找不到單位 %1。"
-
-#: html/Search/Elements/PickBasics:147 html/Ticket/Create.html:181 html/Ticket/Elements/EditBasics:92 html/Ticket/Elements/ShowBasics:72 lib/RT/Tickets_Overlay.pm:1790
-msgid "Priority"
-msgstr "優先順位"
-
-#: html/Admin/Queues/Modify.html:86
-msgid "Priority starts at"
-msgstr "優先順位起始值"
-
-#: html/Search/Elements/EditSearches:50
-msgid "Privacy:"
-msgstr "隱私設定:"
-
-#: etc/initialdata:25
-msgid "Privileged"
-msgstr "內部成員"
-
-#: html/Admin/Users/Modify.html:342 html/User/Prefs.html:231
-#. (loc_fuzzy($msg))
-msgid "Privileged status: %1"
-msgstr "內部成員狀態:%1"
-
-#: html/Admin/Users/index.html:102
-msgid "Privileged users"
-msgstr "內部成員"
-
-#: NOT FOUND IN SOURCE
-msgid "Process Status"
-msgstr "處理狀態"
-
-#: NOT FOUND IN SOURCE
-msgid "Project"
-msgstr "專案"
-
-#: NOT FOUND IN SOURCE
-msgid "Project Name"
-msgstr "專案名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Projects"
-msgstr "專案"
-
-#: etc/initialdata:23 etc/initialdata:29 etc/initialdata:35 etc/initialdata:59
-msgid "Pseudogroup for internal use"
-msgstr "內部用的虛擬群組"
-
-#: NOT FOUND IN SOURCE
-msgid "Public Description"
-msgstr "公開說明"
-
-#: NOT FOUND IN SOURCE
-msgid "Public Info"
-msgstr "公開資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Public Service"
-msgstr "公共事務區"
-
-#: NOT FOUND IN SOURCE
-msgid "Purging stale data: %1"
-msgstr "移除過期資料: %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Query"
-msgstr "查詢"
-
-#: html/Search/Build.html:121
-msgid "Query Builder"
-msgstr "建立查詢"
-
-#: html/Search/Elements/Chart:101
-msgid "Query:"
-msgstr ""
-
-#: html/Elements/QueueSummary:48 html/Elements/QuickCreate:54 html/Search/Elements/PickBasics:71 html/SelfService/Create.html:54 html/Ticket/Create.html:62 html/Ticket/Elements/EditBasics:57 html/Ticket/Elements/ShowBasics:76 html/Tools/Reports/CreatedByDates.html:85 html/Tools/Reports/ResolvedByDates.html:86 html/Tools/Reports/ResolvedByOwner.html:66 html/User/Elements/DelegateRights:101 lib/RT/Tickets_Overlay.pm:1617
-msgid "Queue"
-msgstr "表單"
-
-#: html/Admin/Queues/CustomField.html:63 html/Admin/Queues/Scrip.html:61 html/Admin/Queues/Scrips.html:69 html/Admin/Queues/Templates.html:65
-#. ($Queue)
-#. ($id)
-msgid "Queue %1 not found"
-msgstr "找不到表單 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue '%1' not found\\n"
-msgstr "找不到表單 '%1'\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Keyword Selections"
-msgstr "表單關鍵字選取"
-
-#: html/Admin/Queues/Modify.html:64
-msgid "Queue Name"
-msgstr "表單名稱"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Owner"
-msgstr "業務承辦人"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Priority"
-msgstr "優先等級"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Rights"
-msgstr "表單權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Scrips"
-msgstr "表單手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue Setup"
-msgstr "表單設定"
-
-#: lib/RT/Queue_Overlay.pm:365
-msgid "Queue already exists"
-msgstr "表單已存在"
-
-#: lib/RT/Queue_Overlay.pm:374 lib/RT/Queue_Overlay.pm:380
-msgid "Queue could not be created"
-msgstr "無法新增表單"
-
-#: html/Ticket/Create.html:244 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:384 lib/RT/StyleGuide.pod:809
-msgid "Queue created"
-msgstr "表單新增完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "Queue is not specified."
-msgstr "未指定表單。"
-
-#: html/SelfService/Display.html:126 lib/RT/CustomField_Overlay.pm:197
-msgid "Queue not found"
-msgstr "找不到表單"
-
-#: html/Admin/Elements/Tabs:59 html/Admin/index.html:72
-msgid "Queues"
-msgstr "表單"
-
-#: html/Elements/MyAdminQueues:46
-msgid "Queues I administer"
-msgstr ""
-
-#: html/Elements/MySupportQueues:46
-msgid "Queues I'm an AdminCc for"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Quick Search"
-msgstr "表單現況"
-
-#: html/Elements/Quicksearch:47 html/Prefs/Elements/Tabs:58 html/Prefs/Quicksearch.html:70
-msgid "Quick search"
-msgstr "表單一覽"
-
-#: html/Elements/QuickCreate:47
-msgid "Quick ticket creation"
-msgstr "快速建立申請單"
-
-#: html/Search/Results.html:81
-msgid "RSS"
-msgstr "RSS"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1"
-msgstr "RT %1"
-
-#: docs/design_docs/string-extraction-guide.txt:70 lib/RT/StyleGuide.pod:796
-#. ($RT::VERSION, $RT::rtname)
-msgid "RT %1 for %2"
-msgstr "%2:RT %1 版"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1 from <a href=\"http://bestpractical.com\">Best Practical Solutions, LLC</a>."
-msgstr "RT %1 版,<a href=\"http://bestpractical.com\">Best Practical Solutions 公司</a>出品。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1. Copyright 1996-%1 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-msgstr "RT %1。版權所有 1996-%1 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "RT %1. Copyright 1996-2002 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-msgstr "RT %1。版權所有 1996-2002 Jesse Vincent <jesse\\@bestpractical.com>\\n"
-
-#: html/Admin/index.html:46 html/Admin/index.html:47
-msgid "RT Administration"
-msgstr "RT 管理頁面"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Authentication error."
-msgstr "RT 認證錯誤。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Bounce: %1"
-msgstr "RT 退信:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Configuration error"
-msgstr "RT 設定錯誤"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Critical error. Message not recorded!"
-msgstr "RT 致命錯誤。訊息未被紀錄。"
-
-#: html/Elements/Error:63 html/SelfService/Error.html:62
-msgid "RT Error"
-msgstr "RT 錯誤"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Received mail (%1) from itself."
-msgstr "RT 收到從自己寄出的郵件 (%1)。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Recieved mail (%1) from itself."
-msgstr "RT 收到從自己寄出的郵件 (%1)。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT Self Service / Closed Tickets"
-msgstr "RT 自助服務/已解決的申請單"
-
-#: html/Admin/Tools/Configuration.html:73
-msgid "RT Variables"
-msgstr "RT 的變數"
-
-#: html/Admin/Elements/SystemTabs:71 html/Admin/Elements/UserTabs:67 html/Admin/Global/MyRT.html:1 html/Admin/Global/MyRT.html:12 html/Admin/Global/MyRT.html:4 html/Admin/Global/index.html:84 html/Admin/Users/MyRT.html:21 html/Prefs/MyRT.html:66 html/Prefs/MyRT.html:78 html/User/Elements/Tabs:65 html/index.html:1 html/index.html:75
-msgid "RT at a glance"
-msgstr "RT 一覽"
-
-#: html/Admin/Users/MyRT.html:30
-#. ($UserObj->Name)
-msgid "RT at a glance for the user %1"
-msgstr "使用者 %1 的 RT 一覽"
-
-#: html/Admin/CustomFields/Modify.html:117
-msgid "RT can include content from another web service when showing this custom field."
-msgstr "RT 可於顯示此自訂欄位時引入其他網站的內容"
-
-#: html/Admin/CustomFields/Modify.html:106
-msgid "RT can make this custom field's values into hyperlinks to another service."
-msgstr "RT 可將此自訂欄位的值視為連往其他網站的超鏈結"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't authenticate you"
-msgstr "RT 無法認證您的身份"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't find requestor via its external database lookup"
-msgstr "RT 無法從外部資料庫查詢找到申請人資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't find the queue: %1"
-msgstr "RT 找不到表單:%1"
-
-#: html/Elements/SetupSessionCookie:100
-msgid "RT couldn't store your session."
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "RT couldn't validate this PGP signature. \\n"
-msgstr "RT 無法確認這個 PGP 簽章。\\n"
-
-#: html/Elements/Logo:49 html/Elements/PageLayout:172
-#. ($RT::rtname)
-msgid "RT for %1"
-msgstr "%1 專用流程系統"
-
-#: NOT FOUND IN SOURCE
-msgid "RT for %1: %2"
-msgstr "%1 專用 RT 系統:%2"
-
-#: NOT FOUND IN SOURCE
-msgid "RT has proccessed your commands"
-msgstr "RT 已執行您的命令"
-
-#: NOT FOUND IN SOURCE
-msgid "RT is &copy; Copyright 1996-%1 Jesse Vincent &lt;jesse@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 版權所有 1996-%1 Jesse Vincent &lt;jesse@bestpractical.com&gt;。<br>本軟體依 <a href=\"http://www.gnu.org/copyleft/gpl.html\">GNU 通用公共授權第二版</a> 散佈。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT thinks this message may be a bounce"
-msgstr "RT 認為這可能是退信"
-
-#: html/Search/Simple.html:58
-msgid "RT will look for anything else you enter in ticket subjects."
-msgstr "RT 會在申請單主旨內搜尋將您鍵入的任何其他字樣"
-
-#: NOT FOUND IN SOURCE
-msgid "RT will process this message as if it were unsigned.\\n"
-msgstr "RT 以未簽章方式處理這封郵件。\\n"
-
-#: html/Admin/CustomFields/Modify.html:108 html/Admin/CustomFields/Modify.html:119
-msgid "RT will replace <tt>__id__</tt> and <tt>__CustomField__</tt> with the record id and custom field value, respectively"
-msgstr "RT 會將 <tt>__id__</tt> 及 <tt>__CustomField__</tt> 置換成紀錄編號及自訂欄位"
-
-#: 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 的電子郵件命令模式須要 PGP 認證。您可能沒有簽章,或是您的簽章無法辨識。"
-
-#: NOT FOUND IN SOURCE
-msgid "RT::Queue-Role"
-msgstr "表單運行角色"
-
-#: NOT FOUND IN SOURCE
-msgid "RT::System-Role"
-msgstr "系統運行角色"
-
-#: NOT FOUND IN SOURCE
-msgid "RT::Ticket-Role"
-msgstr "申請單運行角色"
-
-#: NOT FOUND IN SOURCE
-msgid "RT_System"
-msgstr "系統訊息"
-
-#: NOT FOUND IN SOURCE
-msgid "Read Only"
-msgstr "唯讀"
-
-#: html/Admin/Users/Modify.html:79 html/User/Prefs.html:69
-msgid "Real Name"
-msgstr "真實姓名"
-
-#: NOT FOUND IN SOURCE
-msgid "RealName"
-msgstr "真實姓名"
-
-#: NOT FOUND IN SOURCE
-msgid "Really reject this ticket?"
-msgstr "您確定要駁回這張申請單嗎?"
-
-#: lib/RT/Transaction_Overlay.pm:725
-#. ($value)
-msgid "Reference by %1 added"
-msgstr "已加入 %1 為參考本申請單"
-
-#: lib/RT/Transaction_Overlay.pm:765
-#. ($value)
-msgid "Reference by %1 deleted"
-msgstr "已移除 %1 為參考本申請單"
-
-#: lib/RT/Transaction_Overlay.pm:722
-#. ($value)
-msgid "Reference to %1 added"
-msgstr "已加入參考申請單 %1"
-
-#: lib/RT/Transaction_Overlay.pm:762
-#. ($value)
-msgid "Reference to %1 deleted"
-msgstr "已移除參考申請單 %1"
-
-#: html/Elements/EditLinks:103 html/Elements/EditLinks:156 html/Elements/ShowLinks:92 html/Ticket/Create.html:225 html/Ticket/Elements/BulkLinks:72
-msgid "Referred to by"
-msgstr "被參考"
-
-#: html/Elements/EditLinks:152 html/Elements/EditLinks:94 html/Elements/SelectLinkType:49 html/Elements/ShowLinks:82 html/Ticket/Create.html:224 html/Ticket/Elements/BulkLinks:68
-msgid "Refers to"
-msgstr "參考"
-
-#: NOT FOUND IN SOURCE
-msgid "RefersTo"
-msgstr "參考"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine"
-msgstr "在結果範圍內查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "Refine search"
-msgstr "調整查詢條件"
-
-#: NOT FOUND IN SOURCE
-msgid "Refresh"
-msgstr "更新"
-
-#: html/Elements/Refresh:57
-#. ($value/60)
-msgid "Refresh this page every %1 minutes."
-msgstr "每 %1 分鐘更新頁面"
-
-#: lib/RT/Transaction_Overlay.pm:811
-#. ($ticket->Subject)
-msgid "Reminder '%1' added"
-msgstr "已建立提醒項目「%1」"
-
-#: lib/RT/Transaction_Overlay.pm:824
-#. ($ticket->Subject)
-msgid "Reminder '%1' completed"
-msgstr "已完成提醒項目「%1」"
-
-#: lib/RT/Transaction_Overlay.pm:817
-#. ($ticket->Subject)
-msgid "Reminder '%1' reopened"
-msgstr "已重新開啟提醒項目「%1」"
-
-#: html/Ticket/Reminders.html:46
-#. ($Ticket->Id)
-msgid "Reminder ticket #%1"
-msgstr "提醒項目 #%1"
-
-#: html/Elements/MyReminders:48 html/Ticket/Elements/ShowSummary:75 html/Ticket/Elements/Tabs:122 html/Ticket/Reminders.html:52
-msgid "Reminders"
-msgstr ""
-
-#: html/Ticket/Reminders.html:50
-#. ($Ticket->Id)
-msgid "Reminders for ticket #%1"
-msgstr "申請單 #%1 的提醒項目"
-
-#: NOT FOUND IN SOURCE
-msgid "Remove"
-msgstr "移除"
-
-#: html/Search/Bulk.html:94
-msgid "Remove AdminCc"
-msgstr "移除管理員副本"
-
-#: html/Search/Bulk.html:90
-msgid "Remove Cc"
-msgstr "移除副本"
-
-#: html/Search/Bulk.html:86
-msgid "Remove Requestor"
-msgstr "移除申請人"
-
-#: html/Ticket/Elements/ShowTransaction:179 html/Ticket/Elements/Tabs:147
-msgid "Reply"
-msgstr "回覆"
-
-#: html/Admin/Queues/Modify.html:72
-msgid "Reply Address"
-msgstr "回覆地址"
-
-#: html/Search/Bulk.html:129 html/Ticket/ModifyAll.html:94 html/Ticket/Update.html:78
-msgid "Reply to requestors"
-msgstr "回覆申請人"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "Reply to tickets"
-msgstr "對申請單進行回覆"
-
-#: lib/RT/Queue_Overlay.pm:110
-msgid "ReplyToTicket"
-msgstr "回覆申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Report to Duty"
-msgstr "上下班刷卡"
-
-#: NOT FOUND IN SOURCE
-msgid "Reported on"
-msgstr "到職日期"
-
-#: html/Tools/Elements/Tabs:59 html/Tools/Reports/index.html:46 html/Tools/Reports/index.html:47
-msgid "Reports"
-msgstr ""
-
-#: etc/initialdata:44 lib/RT/ACE_Overlay.pm:111
-msgid "Requestor"
-msgstr "申請人"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor email address"
-msgstr "申請人電子郵件信箱位址"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor's"
-msgstr "申請人所屬之第上"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor's Dept."
-msgstr "申請人所屬部門之"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor's Phone"
-msgstr "申請人電話"
-
-#: NOT FOUND IN SOURCE
-msgid "Requestor(s)"
-msgstr "申請人"
-
-#: NOT FOUND IN SOURCE
-msgid "RequestorAddresses"
-msgstr "申請人地址"
-
-#: html/SelfService/Create.html:63 html/Ticket/Create.html:80 html/Ticket/Elements/EditPeople:69 html/Ticket/Elements/ShowPeople:52
-msgid "Requestors"
-msgstr "申請人"
-
-#: html/Admin/Queues/Modify.html:96
-msgid "Requests should be due in"
-msgstr "申請單處理期限"
-
-#: lib/RT/Attribute_Overlay.pm:146
-#. ('Object')
-msgid "Required parameter '%1' not specified"
-msgstr "未指定必要的參數「%1」"
-
-#: html/Elements/Submit:83
-msgid "Reset"
-msgstr "重設"
-
-#: html/Admin/Users/MyRT.html:15 html/Prefs/MyRT.html:60
-msgid "Reset to default"
-msgstr ""
-
-#: html/Admin/Users/Modify.html:183 html/User/Prefs.html:84
-msgid "Residence"
-msgstr "住處"
-
-#: NOT FOUND IN SOURCE
-msgid "Resolution"
-msgstr "解決狀態"
-
-#: html/Ticket/Elements/Tabs:156
-msgid "Resolve"
-msgstr "解決"
-
-#: html/Ticket/Update.html:156
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Resolve ticket #%1 (%2)"
-msgstr "解決申請單 #%1 (%2)"
-
-#: etc/initialdata:323 html/Elements/SelectDateType:49 lib/RT/Ticket_Overlay.pm:1172
-msgid "Resolved"
-msgstr "已解決"
-
-#: html/Tools/Reports/Elements/Tabs:55
-msgid "Resolved by owner"
-msgstr ""
-
-#: html/Tools/Reports/Elements/Tabs:59
-msgid "Resolved in date range"
-msgstr ""
-
-#: html/Tools/Reports/ResolvedByDates.html:52
-msgid "Resolved tickets in period, grouped by owner"
-msgstr ""
-
-#: html/Tools/Reports/ResolvedByOwner.html:50
-msgid "Resolved tickets, grouped by owner"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Response to requestors"
-msgstr "回覆申請人"
-
-#: NOT FOUND IN SOURCE
-msgid "Responsibility Type"
-msgstr "責任區分"
-
-#: html/Elements/ListActions:46 html/Search/Elements/NewListActions:47
-msgid "Results"
-msgstr "結果"
-
-#: NOT FOUND IN SOURCE
-msgid "Results per page"
-msgstr "每頁列出幾筆結果"
-
-#: html/Admin/Users/Modify.html:126 html/User/Prefs.html:116
-msgid "Retype Password"
-msgstr "再次輸入密碼"
-
-#: html/Search/Elements/EditSearches:61
-msgid "Revert"
-msgstr "復原"
-
-#: NOT FOUND IN SOURCE
-msgid "Right %1 not found for %2 %3 in scope %4 (%5)\\n"
-msgstr "在 %4 (%5) 的範圍內找不到 %2 %3 的 %1 權限\\n"
-
-#: lib/RT/ACE_Overlay.pm:630
-msgid "Right Delegated"
-msgstr "權限代理完畢"
-
-#: lib/RT/ACE_Overlay.pm:320
-msgid "Right Granted"
-msgstr "權限設定完畢"
-
-#: lib/RT/ACE_Overlay.pm:178
-msgid "Right Loaded"
-msgstr "權限載入完畢"
-
-#: lib/RT/ACE_Overlay.pm:695 lib/RT/ACE_Overlay.pm:716
-msgid "Right could not be revoked"
-msgstr "無法撤消權限"
-
-#: html/User/Delegation.html:85
-msgid "Right not found"
-msgstr "找不到權限"
-
-#: lib/RT/ACE_Overlay.pm:560 lib/RT/ACE_Overlay.pm:655
-msgid "Right not loaded."
-msgstr "權限並未載入。"
-
-#: lib/RT/ACE_Overlay.pm:712
-msgid "Right revoked"
-msgstr "權限撤消完畢"
-
-#: html/Admin/Elements/UserTabs:70
-msgid "Rights"
-msgstr "權限及代理人"
-
-#: html/Admin/CustomFields/GroupRights.html:129 lib/RT/Interface/Web.pm:961
-#. ($object_type)
-msgid "Rights could not be granted for %1"
-msgstr "無法將權限賦予 %1"
-
-#: html/Admin/CustomFields/GroupRights.html:156 lib/RT/Interface/Web.pm:990
-#. ($object_type)
-msgid "Rights could not be revoked for %1"
-msgstr "無法撤消 %1 的權限"
-
-#: NOT FOUND IN SOURCE
-msgid "Role Members"
-msgstr "角色成員"
-
-#: NOT FOUND IN SOURCE
-msgid "Role Name"
-msgstr "角色名稱"
-
-#: html/Admin/Global/GroupRights.html:72 html/Admin/Queues/GroupRights.html:74
-msgid "Roles"
-msgstr "角色"
-
-#: NOT FOUND IN SOURCE
-msgid "RootApproval"
-msgstr "交由系統管理員簽核"
-
-#: html/Prefs/MyRT.html:72
-msgid "Rows per box"
-msgstr ""
-
-#: html/Search/Elements/DisplayOptions:93
-msgid "Rows per page"
-msgstr "每頁筆數"
-
-#: NOT FOUND IN SOURCE
-msgid "Run Approval"
-msgstr "簽核執行"
-
-#: NOT FOUND IN SOURCE
-msgid "SMTPDebug"
-msgstr "SMTP 偵錯紀錄"
-
-#: NOT FOUND IN SOURCE
-msgid "SMTPFrom"
-msgstr "SMTP 寄件位址"
-
-#: NOT FOUND IN SOURCE
-msgid "SMTPServer"
-msgstr "SMTP 伺服器"
-
-#: NOT FOUND IN SOURCE
-msgid "Sat"
-msgstr "星期六"
-
-#: lib/RT/Date.pm:422
-msgid "Sat."
-msgstr "星期六"
-
-#: html/Prefs/MyRT.html:72 html/Prefs/Quicksearch.html:64 html/Prefs/Search.html:69 html/Prefs/Search.html:69 html/Search/Elements/EditSearches:70 html/Widgets/SelectionBox:211
-msgid "Save"
-msgstr "儲存"
-
-#: html/Admin/Global/Template.html:67 html/Admin/Groups/Modify.html:88 html/Admin/Queues/Modify.html:111 html/Admin/Queues/People.html:126 html/Admin/Users/Modify.html:239 html/Prefs/Quicksearch.html:64 html/Prefs/SearchOptions.html:63 html/SelfService/Prefs.html:58 html/Ticket/Modify.html:60 html/Ticket/ModifyAll.html:127 html/Ticket/ModifyDates.html:60 html/Ticket/ModifyLinks.html:61 html/Ticket/ModifyPeople.html:60 html/User/Groups/Modify.html:77
-msgid "Save Changes"
-msgstr "儲存更改"
-
-#: html/User/Prefs.html:181
-msgid "Save Preferences"
-msgstr "儲存偏好"
-
-#: html/Ticket/Elements/PreviewScrips:131
-msgid "Save changes"
-msgstr "儲存更改"
-
-#: lib/RT/SavedSearch.pm:173
-#. ($name)
-msgid "Saved search %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Saved searches"
-msgstr "已儲存的查詢"
-
-#: html/Admin/Elements/ListGlobalScrips:60 html/Admin/Global/Scrip.html:77 html/Admin/Queues/Scrip.html:84
-#. ($scrip->Id)
-#. ($id)
-msgid "Scrip #%1"
-msgstr "手續 #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrip Action"
-msgstr "訊息通知動作"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrip Condition"
-msgstr "訊息通知條件"
-
-#: lib/RT/Scrip_Overlay.pm:203
-msgid "Scrip Created"
-msgstr "手續新增完畢"
-
-#: html/Admin/Elements/EditScrip:52
-msgid "Scrip Fields"
-msgstr "手續欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrip Name"
-msgstr "訊息名稱"
-
-#: html/Admin/Elements/EditScrips:109
-msgid "Scrip deleted"
-msgstr "手續刪除完畢"
-
-#: html/Admin/Elements/QueueTabs:67 html/Admin/Elements/SystemTabs:54 html/Admin/Global/index.html:62
-msgid "Scrips"
-msgstr "手續"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrips "
-msgstr "訊息通知"
-
-#: NOT FOUND IN SOURCE
-msgid "Scrips for %1\\n"
-msgstr "%1 的手續\\n"
-
-#: html/Admin/Queues/Scrips.html:55
-msgid "Scrips which apply to all queues"
-msgstr "適用於所有表單的手續"
-
-#: html/Elements/SimpleSearch:48 html/Search/Simple.html:63
-msgid "Search"
-msgstr "查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "Search Criteria"
-msgstr "查詢條件"
-
-#: html/Prefs/SearchOptions.html:47 html/Prefs/SearchOptions.html:50
-msgid "Search Preferences"
-msgstr ""
-
-#: lib/RT/SavedSearch.pm:115
-msgid "Search attribute load failure"
-msgstr "搜尋屬性載入失敗"
-
-#: html/Approvals/Elements/PendingMyApproval:59
-msgid "Search for approvals"
-msgstr "簽核單查詢"
-
-#: html/Search/Simple.html:67
-msgid "Search for tickets"
-msgstr ""
-
-#: html/Search/Simple.html:55
-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>. RT will look for anything else you enter in ticket bodies and attachments."
-msgstr "搜尋申請單。請鍵入<strong>編號</strong>、<strong>表單名稱</strong>、承辦人的<strong>使用者名稱</strong>、或申請人的<strong>電子郵件地址</strong>。以上格式之外的文字,則會在申請單內文及附件內檢索。"
-
-#: html/User/Elements/Tabs:62
-msgid "Search options"
-msgstr ""
-
-#: html/Search/Chart.html:56
-#. ($PrimaryGroupBy)
-msgid "Search results grouped by %1"
-msgstr "搜尋結果,依 %1 分組"
-
-#: lib/RT/SavedSearch.pm:203
-#. ($msg)
-msgid "Search update: %1"
-msgstr "更新查詢:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Searches can't be associated with that kind of object"
-msgstr "不能對此類物件進行查詢"
-
-#: html/Search/Simple.html:57
-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 "對所有申請單的全文進行檢索,可能會需要很久的時間。但如果您真的有需要,可鍵入 <b>fulltext:<i>文字</i></b> 來搜尋申請單的所有紀錄。"
-
-#: NOT FOUND IN SOURCE
-msgid "Second-"
-msgstr "二"
-
-#: NOT FOUND IN SOURCE
-msgid "Second-level Users"
-msgstr "二階主管員工"
-
-#: bin/rt-crontool:265
-msgid "Security:"
-msgstr "安全性:"
-
-#: html/Elements/ShowCustomFields:98
-msgid "See also:"
-msgstr ""
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "See custom fields"
-msgstr "查閱自訂欄位"
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "See exact outgoing email messages and their recipeients"
-msgstr "查閱送出的電子郵件及收件人"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "See ticket private commentary"
-msgstr "查閱申請單內的私人評論"
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "See ticket summaries"
-msgstr "查閱申請單總覽"
-
-#: lib/RT/CustomField_Overlay.pm:105
-msgid "SeeCustomField"
-msgstr "查閱自訂欄位"
-
-#: lib/RT/Group_Overlay.pm:169
-msgid "SeeGroup"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:91
-msgid "SeeQueue"
-msgstr "查閱表單"
-
-#: NOT FOUND IN SOURCE
-msgid "Select"
-msgstr "選擇"
-
-#: NOT FOUND IN SOURCE
-msgid "Select All"
-msgstr "全選"
-
-#: html/Admin/CustomFields/index.html:46 html/Admin/CustomFields/index.html:49
-msgid "Select a Custom Field"
-msgstr "選擇自訂欄位"
-
-#: html/Admin/Groups/index.html:78
-msgid "Select a group"
-msgstr "選擇群組"
-
-#: html/Admin/Queues/index.html:54
-msgid "Select a queue"
-msgstr "選擇表單"
-
-#: html/SelfService/CreateTicketInQueue.html:48
-msgid "Select a queue for your new ticket"
-msgstr "為您新的申請單選擇一個表單"
-
-#: NOT FOUND IN SOURCE
-msgid "Select a queue to link to"
-msgstr "請選擇欲連結表單"
-
-#: html/Admin/Users/index.html:46 html/Admin/Users/index.html:49 html/Admin/Users/index.html:52
-msgid "Select a user"
-msgstr "選擇使用者"
-
-#: html/Admin/Elements/CustomFieldTabs:90
-msgid "Select custom field"
-msgstr "選擇自訂欄位"
-
-#: html/Admin/Global/CustomFields/index.html:70
-msgid "Select custom fields for all user groups"
-msgstr "選擇適用於所有使用者群組的自訂欄位"
-
-#: html/Admin/Global/CustomFields/index.html:65
-msgid "Select custom fields for all users"
-msgstr "選擇適用於所有使用者的自訂欄位"
-
-#: html/Admin/Global/CustomFields/index.html:76
-msgid "Select custom fields for tickets in all queues"
-msgstr "選擇適用於所有表單內申請單的自訂欄位"
-
-#: html/Admin/Global/CustomFields/index.html:83
-msgid "Select custom fields for transactions on tickets in all queues"
-msgstr "選擇適用於所有表單內申請單之更動的自訂欄位"
-
-#: html/Admin/Elements/GroupTabs:75 html/User/Elements/GroupTabs:71
-msgid "Select group"
-msgstr "選擇群組"
-
-#: lib/RT/CustomField_Overlay.pm:59
-msgid "Select multiple values"
-msgstr "選擇多重項目"
-
-#: lib/RT/CustomField_Overlay.pm:60
-msgid "Select one value"
-msgstr "選擇單一項目"
-
-#: html/Admin/Elements/QueueTabs:92
-msgid "Select queue"
-msgstr "選擇表單"
-
-#: html/Prefs/Quicksearch.html:53
-msgid "Select queues to be displayed on the \"RT at a glance\" page"
-msgstr ""
-
-#: html/Admin/Global/Scrip.html:59 html/Admin/Global/Scrips.html:57 html/Admin/Queues/Scrip.html:67 html/Admin/Queues/Scrips.html:73
-msgid "Select scrip"
-msgstr "選擇手續"
-
-#: html/Admin/Global/Template.html:78 html/Admin/Global/Templates.html:57 html/Admin/Queues/Template.html:76 html/Admin/Queues/Templates.html:68
-msgid "Select template"
-msgstr "選擇範本"
-
-#: lib/RT/CustomField_Overlay.pm:61
-msgid "Select up to %1 values"
-msgstr "選擇最多 %1 個值"
-
-#: html/Admin/Elements/UserTabs:78
-msgid "Select user"
-msgstr "選擇使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Select workflow"
-msgstr "選擇流程"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectExternal"
-msgstr "系統選項"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectMultiple"
-msgstr "多重選項"
-
-#: NOT FOUND IN SOURCE
-msgid "SelectSingle"
-msgstr "單一選項"
-
-#: html/Admin/Elements/EditCustomFields:58
-msgid "Selected Custom Fields"
-msgstr "已選取的自訂欄位"
-
-#: html/Admin/CustomFields/Objects.html:59
-msgid "Selected objects"
-msgstr "已選取的物件"
-
-#: NOT FOUND IN SOURCE
-msgid "Selected users:"
-msgstr "已選取的使用者:"
-
-#: html/Widgets/SelectionBox:209
-msgid "Selections modified. Please save your changes"
-msgstr "選取的項目已更改。請儲存您的更動"
-
-#: NOT FOUND IN SOURCE
-msgid "Self Service"
-msgstr "自助服務"
-
-#: etc/initialdata:121
-msgid "Send mail to all watchers"
-msgstr "寄信給所有視察員"
-
-#: etc/initialdata:117
-msgid "Send mail to all watchers as a \"comment\""
-msgstr "以評論方式寄信給所有視察員"
-
-#: 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 "寄信給申請人"
-
-#: NOT FOUND IN SOURCE
-msgid "Sep"
-msgstr "九月"
-
-#: lib/RT/Date.pm:449
-msgid "Sep."
-msgstr "09"
-
-#: NOT FOUND IN SOURCE
-msgid "September"
-msgstr "九月"
-
-#: NOT FOUND IN SOURCE
-msgid "Setting %1's 'Disabled' property to %2"
-msgstr "%1 的「停用」屬性已設為 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Shift Type"
-msgstr "班別屬性"
-
-#: html/Ticket/Elements/ShowTransaction:158
-msgid "Show"
-msgstr "顯示"
-
-#: html/Approvals/index.html:52
-msgid "Show Approvals"
-msgstr "顯示待簽核申請單"
-
-#: html/Search/Elements/EditFormat:56
-msgid "Show Columns"
-msgstr "顯示欄位"
-
-#: html/Ticket/Elements/Tabs:220
-msgid "Show Results"
-msgstr "顯示結果"
-
-#: html/Approvals/Elements/PendingMyApproval:64
-msgid "Show approved requests"
-msgstr "顯示已批准的簽核單"
-
-#: html/Ticket/Create.html:316
-msgid "Show basics"
-msgstr "顯示基本資訊"
-
-#: html/Approvals/Elements/PendingMyApproval:65
-msgid "Show denied requests"
-msgstr "顯示已駁回的簽核單"
-
-#: html/Ticket/Create.html:319
-msgid "Show details"
-msgstr "顯示細節"
-
-#: html/Approvals/Elements/PendingMyApproval:63
-msgid "Show pending requests"
-msgstr "顯示待處理的簽核單"
-
-#: html/Approvals/Elements/PendingMyApproval:66
-msgid "Show requests awaiting other approvals"
-msgstr "顯示尚待他人批准的簽核單"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket private commentary"
-msgstr "顯示申請單內的私人評論"
-
-#: NOT FOUND IN SOURCE
-msgid "Show ticket summaries"
-msgstr "顯示申請單摘要"
-
-#: lib/RT/Queue_Overlay.pm:93
-msgid "ShowACL"
-msgstr "顯示權限清單"
-
-#: lib/RT/System.pm:85
-msgid "ShowConfigTab"
-msgstr ""
-
-#: lib/RT/Queue_Overlay.pm:106
-msgid "ShowOutgoingEmail"
-msgstr "顯示寄送郵件"
-
-#: lib/RT/Group_Overlay.pm:168
-msgid "ShowSavedSearches"
-msgstr "顯示已儲存的查詢"
-
-#: lib/RT/Queue_Overlay.pm:102
-msgid "ShowScrips"
-msgstr "顯示手續"
-
-#: lib/RT/Queue_Overlay.pm:99
-msgid "ShowTemplate"
-msgstr "顯示範本"
-
-#: lib/RT/Queue_Overlay.pm:103
-msgid "ShowTicket"
-msgstr "顯示申請單"
-
-#: lib/RT/Queue_Overlay.pm:104
-msgid "ShowTicketComments"
-msgstr "顯示申請單的評論"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Sign up as a ticket Requestor or ticket or queue Cc"
-msgstr "登記成為申請人或副本收件人"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "Sign up as a ticket or queue AdminCc"
-msgstr "登記成為管理員副本收件人"
-
-#: html/Admin/Users/Modify.html:230 html/User/Prefs.html:168
-msgid "Signature"
-msgstr "簽名檔"
-
-#: NOT FOUND IN SOURCE
-msgid "Signed in as %1"
-msgstr "使用者:%1"
-
-#: html/Elements/Tabs:68
-msgid "Simple Search"
-msgstr ""
-
-#: html/Admin/Elements/SelectSingleOrMultiple:47
-msgid "Single"
-msgstr "單一"
-
-#: html/Search/Elements/EditFormat:75
-msgid "Size"
-msgstr ""
-
-#: html/Elements/Header:89
-msgid "Skip Menu"
-msgstr "略過選單"
-
-#: html/Search/Elements/EditFormat:78
-msgid "Small"
-msgstr ""
-
-#: html/Admin/CustomFields/Modify.html:120
-msgid "Some browsers may only load content from the same domain as your RT server."
-msgstr "某些瀏覽器只允許載入和 RT 伺服器同一個網域的內容。"
-
-#: html/Admin/Elements/AddCustomFieldValue:49 html/Admin/Elements/EditCustomFieldValues:54
-msgid "Sort"
-msgstr "順序"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort key"
-msgstr "排序方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Sort results by"
-msgstr "結果排序方式"
-
-#: NOT FOUND IN SOURCE
-msgid "SortOrder"
-msgstr "排序順序"
-
-#: html/Admin/Elements/EditScrip:78
-msgid "Stage"
-msgstr "關卡"
-
-#: NOT FOUND IN SOURCE
-msgid "Stage Action"
-msgstr "關卡運行動作"
-
-#: NOT FOUND IN SOURCE
-msgid "Stage Condition"
-msgstr "關卡運行條件"
-
-#: NOT FOUND IN SOURCE
-msgid "Stalled"
-msgstr "延宕"
-
-#: NOT FOUND IN SOURCE
-msgid "Start page"
-msgstr "首頁"
-
-#: html/Elements/SelectDateType:48 html/Ticket/Elements/EditDates:53 html/Ticket/Elements/ShowDates:56
-msgid "Started"
-msgstr "實際起始日"
-
-#: NOT FOUND IN SOURCE
-msgid "Started date '%1' could not be parsed"
-msgstr "無法解讀起始日期 '%1"
-
-#: html/Elements/SelectDateType:52 html/Ticket/Create.html:208 html/Ticket/Elements/EditDates:48 html/Ticket/Elements/ShowDates:52
-msgid "Starts"
-msgstr "應起始日"
-
-#: NOT FOUND IN SOURCE
-msgid "Starts By"
-msgstr "應起始日"
-
-#: NOT FOUND IN SOURCE
-msgid "Starts date '%1' could not be parsed"
-msgstr "無法解讀起始日期 '%1"
-
-#: html/Admin/Users/Modify.html:162 html/User/Prefs.html:145
-msgid "State"
-msgstr "州"
-
-#: html/Search/Elements/PickBasics:87 html/SelfService/Update.html:57 html/Ticket/Create.html:66 html/Ticket/Elements/EditBasics:53 html/Ticket/Elements/ShowBasics:52 html/Ticket/Update.html:59 lib/RT/Ticket_Overlay.pm:1166 lib/RT/Tickets_Overlay.pm:1651
-msgid "Status"
-msgstr "現況"
-
-#: etc/initialdata:309
-msgid "Status Change"
-msgstr "現況改變時"
-
-#: NOT FOUND IN SOURCE
-msgid "Status changed from %1 to %2"
-msgstr "現況從 %1 改為 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "StatusChange"
-msgstr "現況改變時"
-
-#: html/Ticket/Elements/Tabs:178
-msgid "Steal"
-msgstr "強制更換承辦人"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "Steal tickets"
-msgstr "強制承辦申請單"
-
-#: lib/RT/Queue_Overlay.pm:117
-msgid "StealTicket"
-msgstr "強制承辦申請單"
-
-#: lib/RT/Transaction_Overlay.pm:678
-#. ($Old->Name)
-msgid "Stolen from %1"
-msgstr "承辦人從 %1 強制更換"
-
-#: NOT FOUND IN SOURCE
-msgid "Stolen from %1 "
-msgstr "承辦人從 %1 強制更換 "
-
-#: html/Search/Elements/EditFormat:81
-msgid "Style"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Subgroup"
-msgstr "子群組"
-
-#: html/Elements/QuickCreate:52 html/Elements/SelectAttachmentField:47 html/Search/Bulk.html:132 html/SelfService/Create.html:79 html/SelfService/Update.html:65 html/Ticket/Create.html:108 html/Ticket/Elements/EditBasics:48 html/Ticket/Elements/Reminders:125 html/Ticket/ModifyAll.html:100 html/Ticket/Update.html:82 lib/RT/Ticket_Overlay.pm:1162 lib/RT/Tickets_Overlay.pm:1733
-msgid "Subject"
-msgstr "主題"
-
-#: docs/design_docs/string-extraction-guide.txt:89 lib/RT/StyleGuide.pod:815 lib/RT/Transaction_Overlay.pm:700
-#. ($self->Data)
-msgid "Subject changed to %1"
-msgstr "標題已改為 %1"
-
-#: html/Elements/Submit:75
-msgid "Submit"
-msgstr "送出"
-
-#: NOT FOUND IN SOURCE
-msgid "Submit Workflow"
-msgstr "送出流程"
-
-#: lib/RT/Group_Overlay.pm:774
-msgid "Succeeded"
-msgstr "設定成功"
-
-#: NOT FOUND IN SOURCE
-msgid "Sun"
-msgstr "星期日"
-
-#: lib/RT/Date.pm:423
-msgid "Sun."
-msgstr "星期日"
-
-#: lib/RT/System.pm:75
-msgid "SuperUser"
-msgstr "系統管理員"
-
-#: NOT FOUND IN SOURCE
-msgid "Sync now"
-msgstr "執行同步"
-
-#: NOT FOUND IN SOURCE
-msgid "Sync104HRMS"
-msgstr "自動同步104HRMS"
-
-#: NOT FOUND IN SOURCE
-msgid "Synchronizing HRMS data. This may take a while..."
-msgstr "正在同步化 HRMS 人事系統資料。請稍待..."
-
-#: html/User/Elements/DelegateRights:98
-msgid "System"
-msgstr "系統"
-
-#: html/Admin/Elements/ToolTabs:54 html/Admin/Tools/Configuration.html:48
-msgid "System Configuration"
-msgstr "系統設定"
-
-#: NOT FOUND IN SOURCE
-msgid "System Defined"
-msgstr "系統定義"
-
-#: html/Admin/CustomFields/GroupRights.html:128 html/Admin/CustomFields/GroupRights.html:155 html/Admin/CustomFields/UserRights.html:128 html/Admin/CustomFields/UserRights.html:98 html/Admin/Elements/SelectRights:106 lib/RT/ACE_Overlay.pm:584 lib/RT/Interface/Web.pm:960 lib/RT/Interface/Web.pm:989
-msgid "System Error"
-msgstr "系統錯誤"
-
-#: NOT FOUND IN SOURCE
-msgid "System Error. Right not granted."
-msgstr "系統錯誤。設定權限失敗。"
-
-#: NOT FOUND IN SOURCE
-msgid "System Error. right not granted"
-msgstr "系統錯誤。設定權限失敗。"
-
-#: lib/RT/Transaction_Overlay.pm:224 lib/RT/Transaction_Overlay.pm:230
-#. ($msg)
-msgid "System Error: %1"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "System Rights"
-msgstr "系統權限"
-
-#: html/Admin/Tools/index.html:47
-msgid "System Tools"
-msgstr "系統工具"
-
-#: lib/RT/ACE_Overlay.pm:633
-msgid "System error. Right not delegated."
-msgstr "系統錯誤。權限代理失敗。"
-
-#: lib/RT/ACE_Overlay.pm:163 lib/RT/ACE_Overlay.pm:228 lib/RT/ACE_Overlay.pm:323 lib/RT/ACE_Overlay.pm:920
-msgid "System error. Right not granted."
-msgstr "系統錯誤。設定權限失敗。"
-
-#: NOT FOUND IN SOURCE
-msgid "System error. Unable to grant rights."
-msgstr "系統錯誤。無法設定權限。"
-
-#: html/Admin/CustomFields/GroupRights.html:58 html/Admin/Global/GroupRights.html:56 html/Admin/Groups/GroupRights.html:58 html/Admin/Queues/GroupRights.html:57
-msgid "System groups"
-msgstr "系統群組"
-
-#: NOT FOUND IN SOURCE
-msgid "SystemInternal"
-msgstr "系統內部用"
-
-#: etc/initialdata:41 etc/initialdata:47 etc/initialdata:53
-msgid "SystemRolegroup for internal use"
-msgstr "內部使用的系統角色群組"
-
-#: lib/RT/CurrentUser.pm:357
-msgid "TEST_STRING"
-msgstr "TEST_STRING"
-
-#: NOT FOUND IN SOURCE
-msgid "TabbedUI"
-msgstr "頁籤介面"
-
-#: etc/initialdata:603 html/Search/Elements/EditFormat:72 html/Ticket/Elements/Tabs:170
-msgid "Take"
-msgstr "受理"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "Take tickets"
-msgstr "自行承辦申請單"
-
-#: lib/RT/Queue_Overlay.pm:115
-msgid "TakeTicket"
-msgstr "自行承辦申請單"
-
-#: lib/RT/Transaction_Overlay.pm:663
-msgid "Taken"
-msgstr "已受理"
-
-#: NOT FOUND IN SOURCE
-msgid "Task"
-msgstr "工作事項"
-
-#: html/Admin/Elements/EditScrip:71 html/Tools/Offline.html:78
-msgid "Template"
-msgstr "範本"
-
-#: html/Admin/Global/Template.html:112 html/Admin/Queues/Template.html:113
-#. ($TemplateObj->Id())
-msgid "Template #%1"
-msgstr "範本 #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Template Content"
-msgstr "通知範本內容"
-
-#: NOT FOUND IN SOURCE
-msgid "Template Description"
-msgstr "通知範本描述"
-
-#: NOT FOUND IN SOURCE
-msgid "Template Name"
-msgstr "通知範本名稱"
-
-#: html/Admin/Elements/EditTemplates:110
-msgid "Template deleted"
-msgstr "範本已刪除"
-
-#: lib/RT/Scrip_Overlay.pm:176
-msgid "Template is mandatory argument"
-msgstr ""
-
-#: lib/RT/Scrip_Overlay.pm:180
-msgid "Template not found"
-msgstr "找不到範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Template not found\\n"
-msgstr "找不到範本\\n"
-
-#: lib/RT/Template_Overlay.pm:343
-msgid "Template parsed"
-msgstr "範本剖析完畢"
-
-#: lib/RT/Template_Overlay.pm:391
-msgid "Template parsing error"
-msgstr ""
-
-#: html/Admin/Elements/QueueTabs:70 html/Admin/Elements/SystemTabs:57 html/Admin/Global/index.html:66
-msgid "Templates"
-msgstr "範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Templates "
-msgstr "通知範本"
-
-#: NOT FOUND IN SOURCE
-msgid "Templates for %1\\n"
-msgstr "找不到 %1 的範本\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "Text"
-msgstr "文字"
-
-#: lib/RT/CustomField_Overlay.pm:943 lib/RT/Record.pm:945
-msgid "That is already the current value"
-msgstr "已經是目前欄位的值"
-
-#: lib/RT/CustomField_Overlay.pm:412
-msgid "That is not a value for this custom field"
-msgstr "這不是該自訂欄位的值"
-
-#: lib/RT/Ticket_Overlay.pm:1994
-msgid "That is the same value"
-msgstr "同樣的值"
-
-#: lib/RT/ACE_Overlay.pm:305 lib/RT/ACE_Overlay.pm:614
-msgid "That principal already has that right"
-msgstr "這項單位已經擁有該權限"
-
-#: lib/RT/Queue_Overlay.pm:753
-#. ($args{'Type'})
-msgid "That principal is already a %1 for this queue"
-msgstr "這項單位已經是這個表單的 %1"
-
-#: lib/RT/Ticket_Overlay.pm:1435
-#. ($self->loc($args{'Type'}))
-msgid "That principal is already a %1 for this ticket"
-msgstr "這項單位已經是這份申請單的 %1"
-
-#: lib/RT/Queue_Overlay.pm:852
-#. ($args{'Type'})
-msgid "That principal is not a %1 for this queue"
-msgstr "這項單位不是這個表單的 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "That principal is not a %1 for this ticket"
-msgstr "這項單位不是這份申請單的 %1"
-
-#: lib/RT/Ticket_Overlay.pm:1990
-msgid "That queue does not exist"
-msgstr "此表單不存在"
-
-#: lib/RT/Ticket_Overlay.pm:3233
-msgid "That ticket has unresolved dependencies"
-msgstr "這份申請單有尚未解決的附屬申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "That user already has that right"
-msgstr "使用者已具有該項權限"
-
-#: lib/RT/Action/CreateTickets.pm:710 lib/RT/Ticket_Overlay.pm:3037
-msgid "That user already owns that ticket"
-msgstr "該使用者已經承辦這份申請單"
-
-#: lib/RT/Ticket_Overlay.pm:3012
-msgid "That user does not exist"
-msgstr "使用者不存在"
-
-#: lib/RT/User_Overlay.pm:389
-msgid "That user is already privileged"
-msgstr "這名使用者已經是內部成員"
-
-#: lib/RT/User_Overlay.pm:410
-msgid "That user is already unprivileged"
-msgstr "這名使用者屬於非內部成員群組"
-
-#: lib/RT/User_Overlay.pm:402
-msgid "That user is now privileged"
-msgstr "使用者加入內部成員群組完畢"
-
-#: lib/RT/User_Overlay.pm:423
-msgid "That user is now unprivileged"
-msgstr "這名使用者已加入非內部成員群組"
-
-#: NOT FOUND IN SOURCE
-msgid "That user is now unprivilegedileged"
-msgstr "這名使用者已加入非內部成員群組"
-
-#: lib/RT/Ticket_Overlay.pm:3031
-msgid "That user may not own tickets in that queue"
-msgstr "使用者可能沒有承辦表單裡的申請單"
-
-#: lib/RT/Link_Overlay.pm:233
-msgid "That's not a numerical id"
-msgstr "這不是一個數字編號"
-
-#: html/SelfService/Display.html:53 html/Ticket/Create.html:177 html/Ticket/Elements/ShowSummary:49
-msgid "The Basics"
-msgstr "基本資訊"
-
-#: lib/RT/ACE_Overlay.pm:112
-msgid "The CC of a ticket"
-msgstr "申請單的副本收件人"
-
-#: lib/RT/ACE_Overlay.pm:113
-msgid "The administrative CC of a ticket"
-msgstr "申請單的管理員副本收件人"
-
-#: NOT FOUND IN SOURCE
-msgid "The comment has been recorded"
-msgstr "評論已被紀錄"
-
-#: bin/rt-crontool:275
-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 "下列命令會找到 'general' 表單內所有運作中的申請單,並將其中 4 小時內未處理的申請單優先程度設為 99:"
-
-#: NOT FOUND IN SOURCE
-msgid "The following commands were not proccessed:\\n\\n"
-msgstr "以下命令未被執行:\\n\\n"
-
-#: lib/RT/Record.pm:948
-msgid "The new value has been set."
-msgstr "新的欄位值設定完成。"
-
-#: lib/RT/ACE_Overlay.pm:110
-msgid "The owner of a ticket"
-msgstr "申請單的承辦人"
-
-#: lib/RT/ACE_Overlay.pm:111
-msgid "The requestor of a ticket"
-msgstr "申請單的申請人"
-
-#: html/Admin/Elements/EditUserComments:47
-msgid "These comments aren't generally visible to the user"
-msgstr "該使用者不會看見這些評論"
-
-#: NOT FOUND IN SOURCE
-msgid "Third-"
-msgstr "三"
-
-#: lib/RT/CustomField_Overlay.pm:978
-msgid "This custom field does not apply to that object"
-msgstr "此自訂欄位不適用於該物件"
-
-#: html/Admin/Tools/Configuration.html:50
-msgid "This feature is only available to system administrators"
-msgstr "此項功能僅限系統管理員使用"
-
-#: html/Ticket/Elements/PreviewScrips:96
-msgid "This message will be sent to..."
-msgstr "此訊息會寄給..."
-
-#: NOT FOUND IN SOURCE
-msgid "This ticket %1 %2 (%3)\\n"
-msgstr "申請單 %1 %2 (%3)\\n"
-
-#: bin/rt-crontool:266
-msgid "This tool allows the user to run arbitrary perl modules from within RT."
-msgstr "此工具程式會讓使用者經由 RT 執行任意命令。"
-
-#: lib/RT/Transaction_Overlay.pm:301
-msgid "This transaction appears to have no content"
-msgstr "此項更動報告沒有內容"
-
-#: html/Ticket/Elements/ShowRequestor:70
-#. ($rows)
-msgid "This user's %1 highest priority tickets"
-msgstr "使用者送出的前 %1 份優先處理申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "This user's 25 highest priority tickets"
-msgstr "使用者送出的前 25 份優先處理申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Thu"
-msgstr "星期四"
-
-#: lib/RT/Date.pm:420
-msgid "Thu."
-msgstr "星期四"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket"
-msgstr "申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket # %1 %2"
-msgstr "申請單 # %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket # %1 Jumbo update: %2"
-msgstr "更新申請單 # %1 的全部資訊:%2"
-
-#: html/Ticket/ModifyAll.html:46 html/Ticket/ModifyAll.html:50
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket #%1 Jumbo update: %2"
-msgstr "更新申請單 #%1 的全部資訊:%2"
-
-#: html/Approvals/Elements/ShowDependency:67
-#. ($link->BaseObj->Id, $link->BaseObj->Subject)
-msgid "Ticket #%1: %2"
-msgstr "申請單 #%1: %2"
-
-#: lib/RT/Action/CreateTickets.pm:1350 lib/RT/Action/CreateTickets.pm:1359 lib/RT/Action/CreateTickets.pm:605 lib/RT/Action/CreateTickets.pm:729 lib/RT/Action/CreateTickets.pm:741
-#. ($T::Tickets{$template_id}->Id)
-#. ($T::Tickets{$template_id}->id)
-#. ($ticket->Id)
-msgid "Ticket %1"
-msgstr "申請單 %1"
-
-#: lib/RT/Ticket_Overlay.pm:755 lib/RT/Ticket_Overlay.pm:775
-#. ($self->Id, $QueueObj->Name)
-msgid "Ticket %1 created in queue '%2'"
-msgstr "申請單 #%1 成功新增於 '%2' 表單"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket %1 loaded\\n"
-msgstr "載入申請單 %1\\n"
-
-#: html/Search/Bulk.html:377
-#. ($Ticket->Id, $_)
-msgid "Ticket %1: %2"
-msgstr "申請單 %1:%2"
-
-#: html/Admin/Elements/QueueTabs:74
-msgid "Ticket Custom Fields"
-msgstr "申請單的自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Due"
-msgstr "表單處理期限"
-
-#: html/Ticket/History.html:46 html/Ticket/History.html:49
-#. ($Ticket->Id, $Ticket->Subject)
-msgid "Ticket History # %1 %2"
-msgstr "申請單處理紀錄 # %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket ID"
-msgstr "單號"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Id"
-msgstr "申請單編號"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Processing Due"
-msgstr "表單運行期限"
-
-#: etc/initialdata:324
-msgid "Ticket Resolved"
-msgstr "申請單已解決"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:69 html/Admin/Global/CustomFields/index.html:81 lib/RT/CustomField_Overlay.pm:1207
-msgid "Ticket Transactions"
-msgstr "申請單的更動"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket Type"
-msgstr "表單種類"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket attachment"
-msgstr "申請單附件"
-
-#: lib/RT/Tickets_Overlay.pm:1920
-msgid "Ticket content"
-msgstr "申請單內容"
-
-#: lib/RT/Tickets_Overlay.pm:1969
-msgid "Ticket content type"
-msgstr "申請單內容類別"
-
-#: lib/RT/Ticket_Overlay.pm:603 lib/RT/Ticket_Overlay.pm:617 lib/RT/Ticket_Overlay.pm:628 lib/RT/Ticket_Overlay.pm:763
-msgid "Ticket could not be created due to an internal error"
-msgstr "內部錯誤,無法新增申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket created"
-msgstr "申請單新增完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket creation failed"
-msgstr "申請單新增失敗"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket deleted"
-msgstr "申請單刪除完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket id not found"
-msgstr "找不到申請單編號"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket killed"
-msgstr "申請單刪除完畢"
-
-#: html/Ticket/Display.html:55
-msgid "Ticket metadata"
-msgstr "申請單的描述資訊"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket not found"
-msgstr "找不到申請單"
-
-#: etc/initialdata:310
-msgid "Ticket status changed"
-msgstr "申請單現況已改變"
-
-#: NOT FOUND IN SOURCE
-msgid "Ticket watchers"
-msgstr "申請單視察員"
-
-#: lib/RT/Search/FromSQL.pm:82
-#. (ref $self)
-msgid "TicketSQL search module"
-msgstr ""
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:64 html/Admin/Global/CustomFields/index.html:75 html/Elements/Tabs:71 html/Search/Elements/Chart:109 lib/RT/CustomField_Overlay.pm:1206
-msgid "Tickets"
-msgstr "申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets %1 %2"
-msgstr "申請單 %1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets %1 by %2"
-msgstr "申請單 %1 (%2)"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets I own"
-msgstr "待處理的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets I requested"
-msgstr "送出的申請單"
-
-#: html/Tools/Reports/CreatedByDates.html:86
-msgid "Tickets created after"
-msgstr ""
-
-#: html/Tools/Reports/CreatedByDates.html:88
-msgid "Tickets created before"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "Tickets from %1"
-msgstr "%1 的申請單"
-
-#: html/Tools/Reports/ResolvedByDates.html:87
-msgid "Tickets resolved after"
-msgstr ""
-
-#: html/Tools/Reports/ResolvedByDates.html:89
-msgid "Tickets resolved before"
-msgstr ""
-
-#: html/Approvals/Elements/ShowDependency:48
-msgid "Tickets which depend on this approval:"
-msgstr "批准之後,可接續處理:"
-
-#: html/Search/Elements/PickBasics:134 html/Ticket/Create.html:183 html/Ticket/Elements/EditBasics:72
-msgid "Time Estimated"
-msgstr "預計時間"
-
-#: html/Search/Elements/PickBasics:135 html/Ticket/Create.html:196 html/Ticket/Elements/EditBasics:85
-msgid "Time Left"
-msgstr "剩餘時間"
-
-#: html/Search/Elements/PickBasics:133 html/Ticket/Create.html:189 html/Ticket/Elements/EditBasics:78
-msgid "Time Worked"
-msgstr "處理時間"
-
-#: lib/RT/Tickets_Overlay.pm:1891
-msgid "Time left"
-msgstr "剩餘時間"
-
-#: html/Elements/Footer:51
-msgid "Time to display"
-msgstr "顯示時間"
-
-#: lib/RT/Tickets_Overlay.pm:1866
-msgid "Time worked"
-msgstr "已處理時間"
-
-#: NOT FOUND IN SOURCE
-msgid "TimeLeft"
-msgstr "剩餘時間"
-
-#: lib/RT/Ticket_Overlay.pm:1167
-msgid "TimeWorked"
-msgstr "已處理時間"
-
-#: html/Search/Elements/EditFormat:74
-msgid "Title"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:"
-msgstr "產生這次更動的差異檔:"
-
-#: NOT FOUND IN SOURCE
-msgid "To generate a diff of this commit:\\n"
-msgstr "產生這次更動的差異檔:\\n"
-
-#: html/Elements/Footer:62
-#. ('<a href="mailto:sales@bestpractical.com">sales@bestpractical.com</a>')
-msgid "To inquire about support, training, custom development or licensing, please contact %1."
-msgstr "如果有支援、教育訓練及定製開發的需要,請連絡 %1。"
-
-#: NOT FOUND IN SOURCE
-msgid "Todo"
-msgstr "待辦事項"
-
-#: lib/RT/Ticket_Overlay.pm:1170
-msgid "Told"
-msgstr "告知日期"
-
-#: html/Admin/Elements/Tabs:68 html/Admin/index.html:88 html/Elements/Tabs:74 html/Tools/index.html:46 html/Tools/index.html:49
-msgid "Tools"
-msgstr "工具"
-
-#: html/Search/Elements/Chart:130
-msgid "Total"
-msgstr "頁"
-
-#: etc/initialdata:252
-msgid "Transaction"
-msgstr "更動"
-
-#: lib/RT/Transaction_Overlay.pm:805
-#. ($self->Data)
-msgid "Transaction %1 purged"
-msgstr "清除更動報告 %1"
-
-#: lib/RT/Transaction_Overlay.pm:183
-msgid "Transaction Created"
-msgstr "更動報告已新增"
-
-#: html/Admin/Elements/QueueTabs:78
-msgid "Transaction Custom Fields"
-msgstr "更動的自訂欄位"
-
-#: NOT FOUND IN SOURCE
-msgid "Transaction->Create couldn't, as you didn't specify a ticket id"
-msgstr "未指定申請單編號,無法新增更動"
-
-#: lib/RT/Transaction_Overlay.pm:128
-msgid "Transaction->Create couldn't, as you didn't specify an object type and id"
-msgstr "未指定物件類別及編號,無法新增更動"
-
-#: NOT FOUND IN SOURCE
-msgid "TransactionBatch"
-msgstr "批次更動時"
-
-#: NOT FOUND IN SOURCE
-msgid "TransactionCreate"
-msgstr "新增更動時"
-
-#: lib/RT/Transaction_Overlay.pm:870
-msgid "Transactions are immutable"
-msgstr "不可更改更動報告"
-
-#: NOT FOUND IN SOURCE
-msgid "Transfer to"
-msgstr "移交給"
-
-#: NOT FOUND IN SOURCE
-msgid "Trying to delete a right: %1"
-msgstr "試圖刪除某項權限:%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Tue"
-msgstr "星期二"
-
-#: lib/RT/Date.pm:418
-msgid "Tue."
-msgstr "星期二"
-
-#: html/Admin/CustomFields/Modify.html:66 html/Admin/Elements/EditCustomField:65 html/Ticket/Elements/AddWatchers:54 html/Ticket/Elements/AddWatchers:65 html/Ticket/Elements/AddWatchers:75 lib/RT/Ticket_Overlay.pm:1168 lib/RT/Tickets_Overlay.pm:1705
-msgid "Type"
-msgstr "類別"
-
-#: lib/RT/ScripCondition_Overlay.pm:128
-msgid "Unimplemented"
-msgstr "尚無實作"
-
-#: html/Admin/Users/Modify.html:89
-msgid "Unix login"
-msgstr "外部系統登入帳號"
-
-#: NOT FOUND IN SOURCE
-msgid "UnixUsername"
-msgstr "外部系統登入帳號"
-
-#: lib/RT/Attachment_Overlay.pm:289 lib/RT/Record.pm:861
-#. ($self->ContentEncoding)
-#. ($ContentEncoding)
-msgid "Unknown ContentEncoding %1"
-msgstr "不可解的內容文字編碼方式 %1"
-
-#: html/Search/Build.html:455 lib/RT/Report/Tickets.pm:410
-msgid "Unknown field: $key"
-msgstr ""
-
-#: html/Elements/SelectResultsPerPage:58
-msgid "Unlimited"
-msgstr "全數顯示"
-
-#: html/Search/Elements/SelectSearchesForObjects:64
-msgid "Unnamed search"
-msgstr "未命名的查詢"
-
-#: etc/initialdata:32
-msgid "Unprivileged"
-msgstr "非內部成員"
-
-#: html/Admin/Elements/EditCustomFields:60
-msgid "Unselected Custom Fields"
-msgstr "未選取的自訂欄位"
-
-#: html/Admin/CustomFields/Objects.html:61
-msgid "Unselected objects"
-msgstr "未選取的物件"
-
-#: lib/RT/Transaction_Overlay.pm:659
-msgid "Untaken"
-msgstr "未被受理"
-
-#: NOT FOUND IN SOURCE
-msgid "Untitled search"
-msgstr "未命名的查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "Up"
-msgstr "上一頁"
-
-#: html/Admin/Elements/EditScrip:128 html/Elements/RT__Ticket/ColumnMap:302 html/Search/Bulk.html:193 html/Search/Bulk.html:75
-msgid "Update"
-msgstr "處理"
-
-#: NOT FOUND IN SOURCE
-msgid "Update All"
-msgstr "全部更新"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ID"
-msgstr "更新編號"
-
-#: html/Ticket/Update.html:135
-msgid "Update Ticket"
-msgstr "更新申請單"
-
-#: html/Search/Bulk.html:126 html/Ticket/ModifyAll.html:87 html/Ticket/Update.html:72
-msgid "Update Type"
-msgstr "更新類別"
-
-#: NOT FOUND IN SOURCE
-msgid "Update all these tickets at once"
-msgstr "整批更新申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Update email"
-msgstr "更新電子郵件信箱"
-
-#: html/Search/Bulk.html:200 html/Search/Results.html:78
-msgid "Update multiple tickets"
-msgstr "批次更新申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Update name"
-msgstr "更新帳號"
-
-#: lib/RT/Action/CreateTickets.pm:750 lib/RT/Interface/Web.pm:584
-msgid "Update not recorded."
-msgstr "更新未被記錄"
-
-#: NOT FOUND IN SOURCE
-msgid "Update selected tickets"
-msgstr "更新選擇的申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Update signature"
-msgstr "更新簽章"
-
-#: html/Ticket/ModifyAll.html:84
-msgid "Update ticket"
-msgstr "更新申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Update ticket # %1"
-msgstr "更新申請單 # %1"
-
-#: html/SelfService/Update.html:112 html/SelfService/Update.html:47
-#. ($Ticket->id)
-msgid "Update ticket #%1"
-msgstr "更新申請單 #%1"
-
-#: html/Ticket/Update.html:158
-#. ($TicketObj->id, $TicketObj->Subject)
-msgid "Update ticket #%1 (%2)"
-msgstr "更新申請單 #%1 (%2)"
-
-#: lib/RT/Action/CreateTickets.pm:748 lib/RT/Interface/Web.pm:583
-msgid "Update type was neither correspondence nor comment."
-msgstr "更新的內容並非申請單回覆也不是評論"
-
-#: html/Elements/SelectDateType:54 html/Ticket/Elements/ShowDates:72 lib/RT/CustomField_Overlay.pm:1284 lib/RT/Ticket_Overlay.pm:1171
-msgid "Updated"
-msgstr "前次更新"
-
-#: html/Tools/Offline.html:93
-msgid "Upload"
-msgstr "上載"
-
-#: lib/RT/CustomField_Overlay.pm:84
-msgid "Upload multiple files"
-msgstr "上載多個檔案"
-
-#: lib/RT/CustomField_Overlay.pm:79
-msgid "Upload multiple images"
-msgstr "上載多份圖片"
-
-#: lib/RT/CustomField_Overlay.pm:85
-msgid "Upload one file"
-msgstr "上載一個檔案"
-
-#: lib/RT/CustomField_Overlay.pm:80
-msgid "Upload one image"
-msgstr "上載一份圖片"
-
-#: lib/RT/CustomField_Overlay.pm:86
-msgid "Upload up to %1 files"
-msgstr "上載最多 %1 個檔案"
-
-#: lib/RT/CustomField_Overlay.pm:81
-msgid "Upload up to %1 images"
-msgstr "上載最多 %1 份圖片"
-
-#: html/Tools/Offline.html:93
-msgid "Upload your changes"
-msgstr "上載您的更動"
-
-#: html/Admin/index.html:90
-msgid "Use other RT administrative tools"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "User"
-msgstr "使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "User %1 %2: %3\\n"
-msgstr "使用者 %1 %2:%3\\n"
-
-#: NOT FOUND IN SOURCE
-msgid "User %1 Password: %2\\n"
-msgstr "使用者 %1 密碼:%2\\n"
-
-#: lib/RT/Ticket_Overlay.pm:506
-#. ($args{'Owner'})
-msgid "User '%1' could not be found."
-msgstr "找不到使用者 '%1'。"
-
-#: NOT FOUND IN SOURCE
-msgid "User '%1' not found"
-msgstr "找不到使用者 '%1'"
-
-#: NOT FOUND IN SOURCE
-msgid "User '%1' not found\\n"
-msgstr "找不到使用者 '%1'\\n"
-
-#: etc/initialdata:132 etc/initialdata:206
-msgid "User Defined"
-msgstr "使用者自訂"
-
-#: html/Admin/Elements/EditScrip:93
-msgid "User Defined conditions and actions"
-msgstr "使用者自訂的條件及動作"
-
-#: NOT FOUND IN SOURCE
-msgid "User ID"
-msgstr "使用者 ID"
-
-#: NOT FOUND IN SOURCE
-msgid "User Id"
-msgstr "使用者 ID"
-
-#: NOT FOUND IN SOURCE
-msgid "User Number"
-msgstr "員工編號"
-
-#: html/Admin/Elements/CustomFieldTabs:72 html/Admin/Elements/GroupTabs:68 html/Admin/Elements/QueueTabs:85 html/Admin/Elements/SystemTabs:68 html/Admin/Global/index.html:80
-msgid "User Rights"
-msgstr "使用者權限"
-
-#: NOT FOUND IN SOURCE
-msgid "User Setup"
-msgstr "使用者設定"
-
-#: NOT FOUND IN SOURCE
-msgid "User Shift"
-msgstr "員工班別"
-
-#: NOT FOUND IN SOURCE
-msgid "User asked for an unknown update type for custom field %1 for %2 object #%3"
-msgstr "使用者試圖在 %2 物件 #%3 的自訂欄位 %1 上執行未知的更新操作"
-
-#: html/Admin/Users/Modify.html:301
-#. ($msg)
-msgid "User could not be created: %1"
-msgstr "無法新增使用者:%1"
-
-#: lib/RT/User_Overlay.pm:330
-msgid "User created"
-msgstr "使用者新增完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "User created: %1"
-msgstr "使用者 %1 新增完畢"
-
-#: NOT FOUND IN SOURCE
-msgid "User created: %1 (%2)"
-msgstr "使用者 %1 (%2) 新增完畢"
-
-#: html/Admin/CustomFields/GroupRights.html:74 html/Admin/Global/GroupRights.html:88 html/Admin/Groups/GroupRights.html:75 html/Admin/Queues/GroupRights.html:90
-msgid "User defined groups"
-msgstr "使用者定義的群組"
-
-#: lib/RT/User_Overlay.pm:592 lib/RT/User_Overlay.pm:612
-msgid "User loaded"
-msgstr "已載入使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "User notified"
-msgstr "已通知使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "User renamed from %1 to %2"
-msgstr "使用者 %1 已改名為 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "User view"
-msgstr "使用者私人資料"
-
-#: html/Admin/Groups/index.html:103
-msgid "User-defined groups"
-msgstr "使用者自定群組"
-
-#: NOT FOUND IN SOURCE
-msgid "UserDefined"
-msgstr "使用者自定"
-
-#: html/Admin/Users/Modify.html:69 html/Elements/Login:90 html/Ticket/Elements/AddWatchers:56
-msgid "Username"
-msgstr "帳號"
-
-#: html/Admin/Elements/GlobalCustomFieldTabs:55 html/Admin/Elements/SelectNewGroupMembers:47 html/Admin/Elements/Tabs:53 html/Admin/Global/CustomFields/index.html:64 html/Admin/Groups/Members.html:76 html/Admin/Queues/People.html:89 html/Admin/index.html:62 html/User/Groups/Members.html:79 lib/RT/CustomField_Overlay.pm:1208
-msgid "Users"
-msgstr "使用者"
-
-#: html/Admin/Users/index.html:85
-msgid "Users matching search criteria"
-msgstr "符合查詢條件的使用者"
-
-#: bin/rt-crontool:134
-#. ($transaction->id)
-msgid "Using transaction #%1..."
-msgstr "使用更動 #%1..."
-
-#: lib/RT/Tickets_Overlay_SQL.pm:528
-msgid "Valid Query"
-msgstr "合理的查詢"
-
-#: html/Admin/CustomFields/Modify.html:80
-msgid "Validation"
-msgstr "驗證"
-
-#: NOT FOUND IN SOURCE
-msgid "ValueOfQueue"
-msgstr "選擇表單"
-
-#: html/Admin/CustomFields/Modify.html:130 html/Admin/Elements/EditCustomField:78
-msgid "Values"
-msgstr "欄位值"
-
-#: NOT FOUND IN SOURCE
-msgid "View log"
-msgstr "檢視紀錄檔"
-
-#: lib/RT/Queue_Overlay.pm:107
-msgid "Watch"
-msgstr "視察"
-
-#: lib/RT/Queue_Overlay.pm:108
-msgid "WatchAsAdminCc"
-msgstr "以管理員副本收件人身份視察"
-
-#: NOT FOUND IN SOURCE
-msgid "Watcher loaded"
-msgstr "成功載入視察員資訊"
-
-#: html/Admin/Elements/QueueTabs:63
-msgid "Watchers"
-msgstr "視察員"
-
-#: NOT FOUND IN SOURCE
-msgid "WebEncoding"
-msgstr "網頁文字編碼方式"
-
-#: NOT FOUND IN SOURCE
-msgid "Wed"
-msgstr "星期三"
-
-#: lib/RT/Date.pm:419
-msgid "Wed."
-msgstr "星期三"
-
-#: html/Tools/MyDay.html:75
-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 "新增申請單時"
-
-#: 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 "當任何事情發生時"
-
-#: etc/initialdata:199
-msgid "Whenever a ticket is resolved"
-msgstr "當申請單解決時"
-
-#: 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:188 html/User/Prefs.html:88
-msgid "Work"
-msgstr "公司"
-
-#: html/Search/Results.html:82
-msgid "Work offline"
-msgstr "離線工作"
-
-#: NOT FOUND IN SOURCE
-msgid "WorkPhone"
-msgstr "公司電話"
-
-#: html/Ticket/Elements/ShowBasics:63 html/Ticket/Update.html:64
-msgid "Worked"
-msgstr "處理時間"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflow #%1"
-msgstr "流程 #%1"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflow Begin"
-msgstr "流程開始"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflow End"
-msgstr "流程結束"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflow deleted"
-msgstr "流程已刪除"
-
-#: NOT FOUND IN SOURCE
-msgid "Workflows"
-msgstr "流程"
-
-#: NOT FOUND IN SOURCE
-msgid "Writable"
-msgstr "可讀寫"
-
-#: NOT FOUND IN SOURCE
-msgid "XXX CHANGEME You are not an authorized user"
-msgstr "XXX CHANGEME 您是未經授權的使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "Yes"
-msgstr "是"
-
-#: lib/RT/Ticket_Overlay.pm:3140
-msgid "You already own this ticket"
-msgstr "您已是這份申請單的承辦人"
-
-#: html/autohandler:214 html/autohandler:222
-msgid "You are not an authorized user"
-msgstr "您不是被授權的使用者"
-
-#: NOT FOUND IN SOURCE
-msgid "You can access it with the Download button on the right."
-msgstr "您可以按右方的「下載」鍵來取得。"
-
-#: html/Prefs/Search.html:56
-msgid "You can also edit the predefined search itself"
-msgstr ""
-
-#: lib/RT/Ticket_Overlay.pm:3025
-msgid "You can only reassign tickets that you own or that are unowned"
-msgstr "祇能重新指派您所承辦或是沒有承辦人的申請單"
-
-#: lib/RT/Ticket_Overlay.pm:3021
-msgid "You can only take tickets that are unowned"
-msgstr ""
-
-#: NOT FOUND IN SOURCE
-msgid "You don't have permission to view that ticket.\\n"
-msgstr "您沒有看那份申請單的權限。\\n"
-
-#: docs/design_docs/string-extraction-guide.txt:47 lib/RT/StyleGuide.pod:780
-#. ($num, $queue)
-msgid "You found %1 tickets in queue %2"
-msgstr "您會在表單 %2 找到 %1 的申請單"
-
-#: html/NoAuth/Logout.html:52
-msgid "You have been logged out of RT."
-msgstr "您已登出 RT。"
-
-#: html/SelfService/Display.html:133
-msgid "You have no permission to create tickets in that queue."
-msgstr "您沒有在該表單新增申請單的權限。"
-
-#: lib/RT/Ticket_Overlay.pm:2003
-msgid "You may not create requests in that queue."
-msgstr "您不能在該表單中提出申請。"
-
-#: NOT FOUND IN SOURCE
-msgid "You need to restart the Request Tracker service for saved changes to take effect."
-msgstr "您必須重新啟動 Request Tracker 服務,儲存的更動纔會生效。"
-
-#: html/NoAuth/Logout.html:56
-msgid "You're welcome to login again"
-msgstr "歡迎下次再來"
-
-#: NOT FOUND IN SOURCE
-msgid "Your %1 requests"
-msgstr "您提出的 %1 申請單"
-
-#: NOT FOUND IN SOURCE
-msgid "Your RT administrator has misconfigured the mail aliases which invoke RT"
-msgstr "RT 管理員可能設錯了由 RT 寄出的郵件收件人標頭檔"
-
-#: etc/initialdata:502
-msgid "Your request has been approved by %1. Other approvals may still be pending."
-msgstr "申請單已由 %1 批准。可能還有其他待簽核的步驟。"
-
-#: etc/initialdata:540
-msgid "Your request has been approved."
-msgstr "您的申請單已完成簽核程序。"
-
-#: NOT FOUND IN SOURCE
-msgid "Your request was rejected"
-msgstr "您的申請單已被駁回"
-
-#: NOT FOUND IN SOURCE
-msgid "Your request was rejected by %1."
-msgstr "您的申請單已被 %1 駁回。"
-
-#: etc/initialdata:445
-msgid "Your request was rejected."
-msgstr "您的申請單已被駁回。"
-
-#: html/autohandler:251
-msgid "Your username or password is incorrect"
-msgstr "您的帳號或密碼有誤"
-
-#: html/Admin/Users/Modify.html:168 html/User/Prefs.html:149
-msgid "Zip"
-msgstr "郵遞區號"
-
-#: NOT FOUND IN SOURCE
-msgid "[no subject]"
-msgstr "[沒有標題]"
-
-#: NOT FOUND IN SOURCE
-msgid "ago"
-msgstr "過期"
-
-#: NOT FOUND IN SOURCE
-msgid "alert"
-msgstr "急訊"
-
-#: lib/RT/System.pm:87
-msgid "allow creation of saved searches"
-msgstr "允許建立預存查詢"
-
-#: lib/RT/System.pm:86
-msgid "allow loading of saved searches"
-msgstr "允許載入預存查詢"
-
-#: NOT FOUND IN SOURCE
-msgid "approving"
-msgstr "待簽核"
-
-#: html/User/Elements/DelegateRights:80
-#. ($right->PrincipalObj->Object->SelfDescription)
-msgid "as granted to %1"
-msgstr "權限同 %1"
-
-#: html/Search/Results.html:83
-msgid "chart"
-msgstr ""
-
-#: html/SelfService/Closed.html:49
-msgid "closed"
-msgstr "已解決"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:55
-msgid "contains"
-msgstr "包含"
-
-#: NOT FOUND IN SOURCE
-msgid "content"
-msgstr "內容"
-
-#: NOT FOUND IN SOURCE
-msgid "content-type"
-msgstr "類型"
-
-#: NOT FOUND IN SOURCE
-msgid "correspondence (probably) not sent"
-msgstr "申請單回覆(可能)未送出"
-
-#: NOT FOUND IN SOURCE
-msgid "correspondence sent"
-msgstr "申請單回覆已送出"
-
-#: NOT FOUND IN SOURCE
-msgid "critical"
-msgstr "嚴重"
-
-#: html/Admin/Queues/Modify.html:98 lib/RT/Date.pm:346
-msgid "days"
-msgstr "天"
-
-#: NOT FOUND IN SOURCE
-msgid "dead"
-msgstr "拒絕處理"
-
-#: NOT FOUND IN SOURCE
-msgid "debug"
-msgstr "偵錯"
-
-#: NOT FOUND IN SOURCE
-msgid "delete"
-msgstr "刪除"
-
-#: lib/RT/Queue_Overlay.pm:87
-msgid "deleted"
-msgstr "已刪除"
-
-#: html/Search/Elements/PickBasics:61
-msgid "does not match"
-msgstr "不符合"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:56
-msgid "doesn't contain"
-msgstr "不包含"
-
-#: NOT FOUND IN SOURCE
-msgid "email address"
-msgstr "電子郵件信箱"
-
-#: NOT FOUND IN SOURCE
-msgid "emergency"
-msgstr "危難"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "equal to"
-msgstr "等於"
-
-#: NOT FOUND IN SOURCE
-msgid "error"
-msgstr "錯誤"
-
-#: html/Search/Build.html:547
-msgid "error: can't move down"
-msgstr "錯誤:無法下移"
-
-#: html/Search/Build.html:569
-msgid "error: can't move left"
-msgstr "錯誤:無法左移"
-
-#: html/Search/Build.html:528
-msgid "error: can't move up"
-msgstr "錯誤:無法上移"
-
-#: html/Search/Build.html:612
-msgid "error: nothing to delete"
-msgstr "錯誤:沒有可刪除的對象"
-
-#: html/Search/Build.html:533 html/Search/Build.html:552 html/Search/Build.html:574 html/Search/Build.html:603
-msgid "error: nothing to move"
-msgstr "錯誤:沒有可移動的對象"
-
-#: html/Search/Build.html:630
-msgid "error: nothing to toggle"
-msgstr "錯誤:沒有可切換的對象"
-
-#: NOT FOUND IN SOURCE
-msgid "false"
-msgstr "假"
-
-#: NOT FOUND IN SOURCE
-msgid "filename"
-msgstr "檔名"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectEqualityOperator:59
-msgid "greater than"
-msgstr "大於"
-
-#: lib/RT/Group_Overlay.pm:214
-#. ($self->Name)
-msgid "group '%1'"
-msgstr "群組 '%1'"
-
-#: html/Search/Results.html:88
-#. ($m->scomp('Elements/SelectGroupBy', Name => 'PrimaryGroupBy', Query => $Query))
-msgid "grouped by %1"
-msgstr "依 %1 分組"
-
-#: lib/RT/Date.pm:342
-msgid "hours"
-msgstr "小時"
-
-#: html/Search/Elements/PickBasics:48
-msgid "id"
-msgstr "編號"
-
-#: NOT FOUND IN SOURCE
-msgid "info"
-msgstr "資訊"
-
-#: html/Elements/SelectBoolean:53 html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:57 html/Search/Elements/PickBasics:162 html/Search/Elements/PickBasics:74 html/Search/Elements/PickBasics:90 html/Search/Elements/PickCFs:53
-msgid "is"
-msgstr "是"
-
-#: html/Elements/SelectBoolean:57 html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectMatch:58 html/Search/Elements/PickBasics:163 html/Search/Elements/PickBasics:75 html/Search/Elements/PickBasics:91 html/Search/Elements/PickCFs:54
-msgid "isn't"
-msgstr "不是"
-
-#: html/Elements/SelectCustomFieldOperator:59 html/Elements/SelectEqualityOperator:59
-msgid "less than"
-msgstr "小於"
-
-#: NOT FOUND IN SOURCE
-msgid "level Admin"
-msgstr "層主管"
-
-#: html/Search/Elements/PickBasics:60
-msgid "matches"
-msgstr "符合"
-
-#: lib/RT/Date.pm:338
-msgid "min"
-msgstr "分"
-
-#: NOT FOUND IN SOURCE
-msgid "minutes"
-msgstr "分鐘"
-
-#: NOT FOUND IN SOURCE
-msgid "modifications\\n\\n"
-msgstr "更改\\n\\n"
-
-#: lib/RT/Date.pm:354
-msgid "months"
-msgstr "月"
-
-#: lib/RT/Queue_Overlay.pm:82
-msgid "new"
-msgstr "新建立"
-
-#: html/Admin/Elements/PickCustomFields:64 html/Admin/Elements/PickObjects:65
-msgid "no name"
-msgstr "沒有名稱"
-
-#: html/Admin/Elements/EditScrips:64
-msgid "no value"
-msgstr "沒有值"
-
-#: html/Admin/Elements/EditQueueWatchers:48 html/Ticket/Elements/EditWatchers:49
-msgid "none"
-msgstr "無"
-
-#: html/Elements/SelectEqualityOperator:59
-msgid "not equal to"
-msgstr "不等於"
-
-#: NOT FOUND IN SOURCE
-msgid "notice"
-msgstr "提示"
-
-#: NOT FOUND IN SOURCE
-msgid "notlike"
-msgstr "不符合"
-
-#: NOT FOUND IN SOURCE
-msgid "number"
-msgstr "號"
-
-#: html/SelfService/Elements/MyRequests:82 lib/RT/Queue_Overlay.pm:83
-msgid "open"
-msgstr "開啟"
-
-#: NOT FOUND IN SOURCE
-msgid "opened"
-msgstr "已開啟"
-
-#: lib/RT/Group_Overlay.pm:219
-#. ($self->Name, $user->Name)
-msgid "personal group '%1' for user '%2'"
-msgstr "使用者「%2」的「%1」代理人群組"
-
-#: lib/RT/Group_Overlay.pm:227
-#. ($queue->Name, $self->Type)
-msgid "queue %1 %2"
-msgstr "表單 %1 %2"
-
-#: lib/RT/Queue_Overlay.pm:86
-msgid "rejected"
-msgstr "已駁回"
-
-#: lib/RT/Queue_Overlay.pm:85
-msgid "resolved"
-msgstr "已處理"
-
-#: NOT FOUND IN SOURCE
-msgid "rtname"
-msgstr "伺服器名稱"
-
-#: lib/RT/Date.pm:334
-msgid "sec"
-msgstr "秒"
-
-#: lib/RT/System.pm:85
-msgid "show Configuration tab"
-msgstr "顯示設定頁籤"
-
-#: html/Search/Results.html:80
-msgid "spreadsheet"
-msgstr "試算表"
-
-#: lib/RT/Queue_Overlay.pm:84
-msgid "stalled"
-msgstr "延宕"
-
-#: html/Search/Results.html:89
-#. ($m->scomp('Elements/SelectChartType', Name => 'ChartStyle'))
-msgid "style: %1"
-msgstr ""
-
-#: html/Prefs/MyRT.html:93
-msgid "summary rows"
-msgstr "加總列"
-
-#: lib/RT/Group_Overlay.pm:222
-#. ($self->Type)
-msgid "system %1"
-msgstr "系統 %1"
-
-#: lib/RT/Group_Overlay.pm:233
-#. ($self->Type)
-msgid "system group '%1'"
-msgstr "系統群組 '%1'"
-
-#: html/Elements/Error:64 html/SelfService/Error.html:63
-msgid "the calling component did not specify why"
-msgstr "呼叫元件未指明原因"
-
-#: NOT FOUND IN SOURCE
-msgid "ticket #%1"
-msgstr "申請單 #%1"
-
-#: lib/RT/Group_Overlay.pm:230
-#. ($self->Instance, $self->Type)
-msgid "ticket #%1 %2"
-msgstr "申請單 #%1 %2"
-
-#: NOT FOUND IN SOURCE
-msgid "till"
-msgstr "至"
-
-#: NOT FOUND IN SOURCE
-msgid "to"
-msgstr "到"
-
-#: NOT FOUND IN SOURCE
-msgid "true"
-msgstr "真"
-
-#: lib/RT/Group_Overlay.pm:236
-#. ($self->Id)
-msgid "undescribed group %1"
-msgstr "沒有描述的群組 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "unresolved"
-msgstr "未處理"
-
-#: lib/RT/Group_Overlay.pm:211
-#. ($user->Object->Name)
-msgid "user %1"
-msgstr "使用者 %1"
-
-#: NOT FOUND IN SOURCE
-msgid "warning"
-msgstr "警告"
-
-#: lib/RT/Date.pm:350
-msgid "weeks"
-msgstr "週"
-
-#: NOT FOUND IN SOURCE
-msgid "with template %1"
-msgstr "範本:%1"
-
-#: lib/RT/Date.pm:358
-msgid "years"
-msgstr "年"
-
-msgid "Press 'Esc' to close this window."
-msgstr "按 'Esc' 鍵可關閉本視窗。"
-
-msgid "HasMember"
-msgstr "擁有成員"
-
-msgid "LinkedTo"
-msgstr "連結至"
-
-msgid "Watcher"
-msgstr "視察員"
-
-msgid "(displaying new and open tickets for %1)"
-msgstr "(顯示 %1 名下新建立及開啟中的申請單)"
diff --git a/rt/lib/RT/Interface/CLI.pm b/rt/lib/RT/Interface/CLI.pm
index 00bd1b64e..ec0e877b4 100644
--- a/rt/lib/RT/Interface/CLI.pm
+++ b/rt/lib/RT/Interface/CLI.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
use strict;
use RT;
@@ -54,12 +29,14 @@ package RT::Interface::CLI;
BEGIN {
- use base 'Exporter';
- use vars qw ($VERSION @EXPORT @EXPORT_OK %EXPORT_TAGS);
+ use Exporter ();
+ use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
# set the version for version checking
- $VERSION = do { my @r = (q$Revision: 1.1.1.9 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker
-
+ $VERSION = do { my @r = (q$Revision: 1.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker
+
+ @ISA = qw(Exporter);
+
# your exported package globals go here,
# as well as any optionally exported functions
@EXPORT_OK = qw(&CleanEnv
@@ -99,6 +76,11 @@ BEGIN {
=head1 METHODS
+=begin testing
+
+ok(require RT::Interface::CLI);
+
+=end testing
=cut
@@ -220,7 +202,7 @@ sub GetMessageContent {
if ($edit) {
unless ($ENV{'EDITOR'}) {
- $RT::Logger->crit('No $EDITOR variable defined');
+ $RT::Logger->crit('No $EDITOR variable defined'. "\n");
return undef;
}
system ($ENV{'EDITOR'}, $filename);
@@ -243,7 +225,7 @@ sub debug {
my $val = shift;
my ($debug);
if ($val) {
- $RT::Logger->debug($val);
+ $RT::Logger->debug($val."\n");
if ($debug) {
print STDERR "$val\n";
}
diff --git a/rt/lib/RT/Interface/Email.pm b/rt/lib/RT/Interface/Email.pm
index cda61305b..7eec0502f 100755
--- a/rt/lib/RT/Interface/Email.pm
+++ b/rt/lib/RT/Interface/Email.pm
@@ -1,91 +1,63 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
package RT::Interface::Email;
use strict;
-use warnings;
-
-use Email::Address;
+use Mail::Address;
use MIME::Entity;
use RT::EmailParser;
-use File::Temp;
-use UNIVERSAL::require;
-use Mail::Mailer ();
-BEGIN {
- use base 'Exporter';
- use vars qw ( @EXPORT_OK);
+BEGIN {
+ use Exporter ();
+ use vars qw ($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
+
# set the version for version checking
- our $VERSION = 2.0;
-
+ $VERSION = do { my @r = (q$Revision: 1.2 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # must be all one line, for MakeMaker
+
+ @ISA = qw(Exporter);
+
# your exported package globals go here,
# as well as any optionally exported functions
- @EXPORT_OK = qw(
- &CreateUser
- &GetMessageContent
- &CheckForLoops
- &CheckForSuspiciousSender
- &CheckForAutoGenerated
- &CheckForBounce
- &MailError
- &ParseCcAddressesFromHead
- &ParseSenderAddressFromHead
- &ParseErrorsToAddressFromHead
- &ParseAddressFromHeader
- &Gateway);
+ @EXPORT_OK = qw(
+ &CreateUser
+ &GetMessageContent
+ &CheckForLoops
+ &CheckForSuspiciousSender
+ &CheckForAutoGenerated
+ &MailError
+ &ParseCcAddressesFromHead
+ &ParseSenderAddressFromHead
+ &ParseErrorsToAddressFromHead
+ &ParseAddressFromHeader
+ &Gateway);
}
=head1 NAME
- RT::Interface::Email - helper functions for parsing email sent to RT
+ RT::Interface::CLI - helper functions for creating a commandline RT interface
=head1 SYNOPSIS
@@ -97,1627 +69,425 @@ BEGIN {
=head1 DESCRIPTION
+=begin testing
+ok(require RT::Interface::Email);
-=head1 METHODS
+=end testing
-=head2 CheckForLoops HEAD
-Takes a HEAD object of L<MIME::Head> class and returns true if the
-message's been sent by this RT instance. Uses "X-RT-Loop-Prevention"
-field of the head for test.
+=head1 METHODS
=cut
-sub CheckForLoops {
- my $head = shift;
- # If this instance of RT sent it our, we don't want to take it in
+# {{{ sub CheckForLoops
+
+sub CheckForLoops {
+ my $head = shift;
+
+ #If this instance of RT sent it our, we don't want to take it in
my $RTLoop = $head->get("X-RT-Loop-Prevention") || "";
- chomp ($RTLoop); # remove that newline
- if ( $RTLoop eq RT->Config->Get('rtname') ) {
- return 1;
+ chomp ($RTLoop); #remove that newline
+ if ($RTLoop eq "$RT::rtname") {
+ return (1);
}
-
+
# TODO: We might not trap the case where RT instance A sends a mail
# to RT instance B which sends a mail to ...
- return undef;
+ return (undef);
}
-=head2 CheckForSuspiciousSender HEAD
-
-Takes a HEAD object of L<MIME::Head> class and returns true if sender
-is suspicious. Suspicious means mailer daemon.
+# }}}
-See also L</ParseSenderAddressFromHead>.
-
-=cut
+# {{{ sub CheckForSuspiciousSender
sub CheckForSuspiciousSender {
my $head = shift;
#if it's from a postmaster or mailer daemon, it's likely a bounce.
-
+
#TODO: better algorithms needed here - there is no standards for
#bounces, so it's very difficult to separate them from anything
#else. At the other hand, the Return-To address is only ment to be
#used as an error channel, we might want to put up a separate
#Return-To address which is treated differently.
-
+
#TODO: search through the whole email and find the right Ticket ID.
- my ( $From, $junk ) = ParseSenderAddressFromHead($head);
-
- if ( ( $From =~ /^mailer-daemon\@/i )
- or ( $From =~ /^postmaster\@/i )
- or ( $From eq "" ))
- {
- return (1);
-
+ my ($From, $junk) = ParseSenderAddressFromHead($head);
+
+ if (($From =~ /^mailer-daemon/i) or
+ ($From =~ /^postmaster/i)){
+ return (1);
+
}
+
+ return (undef);
- return undef;
}
-=head2 CheckForAutoGenerated HEAD
-
-Takes a HEAD object of L<MIME::Head> class and returns true if message
-is autogenerated. Checks 'Precedence' and 'X-FC-Machinegenerated'
-fields of the head in tests.
-
-=cut
+# }}}
+# {{{ sub CheckForAutoGenerated
sub CheckForAutoGenerated {
my $head = shift;
-
- my $Precedence = $head->get("Precedence") || "";
- if ( $Precedence =~ /^(bulk|junk)/i ) {
- return (1);
- }
-
- # Per RFC3834, any Auto-Submitted header which is not "no" means
- # it is auto-generated.
- my $AutoSubmitted = $head->get("Auto-Submitted") || "";
- if ( length $AutoSubmitted and $AutoSubmitted ne "no" ) {
- return (1);
+
+ my $Precedence = $head->get("Precedence") || "" ;
+ if ($Precedence =~ /^(bulk|junk)/i) {
+ return (1);
}
-
- # First Class mailer uses this as a clue.
- my $FCJunk = $head->get("X-FC-Machinegenerated") || "";
- if ( $FCJunk =~ /^true/i ) {
- return (1);
+ else {
+ return (0);
}
-
- return (0);
}
+# }}}
-sub CheckForBounce {
- my $head = shift;
-
- my $ReturnPath = $head->get("Return-path") || "";
- return ( $ReturnPath =~ /<>/ );
-}
-
-
-=head2 MailError PARAM HASH
-
-Sends an error message. Takes a param hash:
-
-=over 4
-
-=item From - sender's address, by default is 'CorrespondAddress';
-
-=item To - recipient, by default is 'OwnerEmail';
-
-=item Bcc - optional Bcc recipients;
-
-=item Subject - subject of the message, default is 'There has been an error';
-
-=item Explanation - main content of the error, default value is 'Unexplained error';
-
-=item MIMEObj - optional MIME entity that's attached to the error mail, as well we
-add 'In-Reply-To' field to the error that points to this message.
-
-=item Attach - optional text that attached to the error as 'message/rfc822' part.
-
-=item LogLevel - log level under which we should write explanation message into the
-log, by default we log it as critical.
-
-=back
-
-=cut
+# {{{ sub MailError
sub MailError {
- my %args = (
- To => RT->Config->Get('OwnerEmail'),
- Bcc => undef,
- From => RT->Config->Get('CorrespondAddress'),
- Subject => 'There has been an error',
- Explanation => 'Unexplained error',
- MIMEObj => undef,
- Attach => undef,
- LogLevel => 'crit',
- @_
- );
-
- $RT::Logger->log(
- level => $args{'LogLevel'},
- message => $args{'Explanation'}
- ) if $args{'LogLevel'};
-
- # the colons are necessary to make ->build include non-standard headers
- my %entity_args = (
- Type => "multipart/mixed",
- From => $args{'From'},
- Bcc => $args{'Bcc'},
- To => $args{'To'},
- Subject => $args{'Subject'},
- 'X-RT-Loop-Prevention:' => RT->Config->Get('rtname'),
- );
-
- # only set precedence if the sysadmin wants us to
- if (defined(RT->Config->Get('DefaultErrorMailPrecedence'))) {
- $entity_args{'Precedence:'} = RT->Config->Get('DefaultErrorMailPrecedence');
- }
-
- my $entity = MIME::Entity->build(%entity_args);
- SetInReplyTo( Message => $entity, InReplyTo => $args{'MIMEObj'} );
-
- $entity->attach( Data => $args{'Explanation'} . "\n" );
-
- if ( $args{'MIMEObj'} ) {
- $args{'MIMEObj'}->sync_headers;
- $entity->add_part( $args{'MIMEObj'} );
- }
-
- if ( $args{'Attach'} ) {
- $entity->attach( Data => $args{'Attach'}, Type => 'message/rfc822' );
-
- }
-
- SendEmail( Entity => $entity, Bounce => 1 );
-}
-
-
-=head2 SendEmail Entity => undef, [ Bounce => 0, Ticket => undef, Transaction => undef ]
-
-Sends an email (passed as a L<MIME::Entity> object C<ENTITY>) using
-RT's outgoing mail configuration. If C<BOUNCE> is passed, and is a
-true value, the message will be marked as an autogenerated error, if
-possible. Sets Date field of the head to now if it's not set.
-
-If the C<X-RT-Squelch> header is set to any true value, the mail will
-not be sent. One use is to let extensions easily cancel outgoing mail.
-
-Ticket and Transaction arguments are optional. If Transaction is
-specified and Ticket is not then ticket of the transaction is
-used, but only if the transaction belongs to a ticket.
-
-Returns 1 on success, 0 on error or -1 if message has no recipients
-and hasn't been sent.
-
-=head3 Signing and Encrypting
-
-This function as well signs and/or encrypts the message according to
-headers of a transaction's attachment or properties of a ticket's queue.
-To get full access to the configuration Ticket and/or Transaction
-arguments must be provided, but you can force behaviour using Sign
-and/or Encrypt arguments.
-
-The following precedence of arguments are used to figure out if
-the message should be encrypted and/or signed:
-
-* if Sign or Encrypt argument is defined then its value is used
-
-* else if Transaction's first attachment has X-RT-Sign or X-RT-Encrypt
-header field then it's value is used
-
-* else properties of a queue of the Ticket are used.
-
-=cut
-
-sub SendEmail {
- my (%args) = (
- Entity => undef,
- Bounce => 0,
- Ticket => undef,
- Transaction => undef,
- @_,
- );
-
- my $TicketObj = $args{'Ticket'};
- my $TransactionObj = $args{'Transaction'};
-
- foreach my $arg( qw(Entity Bounce) ) {
- next unless defined $args{ lc $arg };
-
- $RT::Logger->warning("'". lc($arg) ."' argument is deprecated, use '$arg' instead");
- $args{ $arg } = delete $args{ lc $arg };
- }
-
- unless ( $args{'Entity'} ) {
- $RT::Logger->crit( "Could not send mail without 'Entity' object" );
- return 0;
- }
-
- my $msgid = $args{'Entity'}->head->get('Message-ID') || '';
- chomp $msgid;
+ my %args = (To => $RT::OwnerEmail,
+ Bcc => undef,
+ From => $RT::CorrespondAddress,
+ Subject => 'There has been an error',
+ Explanation => 'Unexplained error',
+ MIMEObj => undef,
+ LogLevel => 'crit',
+ @_);
+
+
+ $RT::Logger->log(level => $args{'LogLevel'},
+ message => $args{'Explanation'}
+ );
+ my $entity = MIME::Entity->build( Type =>"multipart/mixed",
+ From => $args{'From'},
+ Bcc => $args{'Bcc'},
+ To => $args{'To'},
+ Subject => $args{'Subject'},
+ 'X-RT-Loop-Prevention' => $RT::rtname,
+ );
+
+ $entity->attach( Data => $args{'Explanation'}."\n");
- # If we don't have any recipients to send to, don't send a message;
- unless ( $args{'Entity'}->head->get('To')
- || $args{'Entity'}->head->get('Cc')
- || $args{'Entity'}->head->get('Bcc') )
- {
- $RT::Logger->info( $msgid . " No recipients found. Not sending." );
- return -1;
+ my $mimeobj = $args{'MIMEObj'};
+ if ($mimeobj) {
+ $mimeobj->sync_headers();
+ $entity->add_part($mimeobj);
}
-
- if ($args{'Entity'}->head->get('X-RT-Squelch')) {
- $RT::Logger->info( $msgid . " Squelch header found. Not sending." );
- return -1;
- }
-
- if ( $TransactionObj && !$TicketObj
- && $TransactionObj->ObjectType eq 'RT::Ticket' )
- {
- $TicketObj = $TransactionObj->Object;
- }
-
- if ( RT->Config->Get('GnuPG')->{'Enable'} ) {
- my %crypt;
-
- my $attachment;
- $attachment = $TransactionObj->Attachments->First
- if $TransactionObj;
-
- foreach my $argument ( qw(Sign Encrypt) ) {
- next if defined $args{ $argument };
-
- if ( $attachment && defined $attachment->GetHeader("X-RT-$argument") ) {
- $crypt{$argument} = $attachment->GetHeader("X-RT-$argument");
- } elsif ( $TicketObj ) {
- $crypt{$argument} = $TicketObj->QueueObj->$argument();
- }
- }
-
- my $res = SignEncrypt( %args, %crypt );
- return $res unless $res > 0;
- }
-
- unless ( $args{'Entity'}->head->get('Date') ) {
- require RT::Date;
- my $date = RT::Date->new( $RT::SystemUser );
- $date->SetToNow;
- $args{'Entity'}->head->set( 'Date', $date->RFC2822( Timezone => 'server' ) );
- }
-
- my $mail_command = RT->Config->Get('MailCommand');
-
- if ($mail_command eq 'testfile' and not $Mail::Mailer::testfile::config{outfile}) {
- $Mail::Mailer::testfile::config{outfile} = File::Temp->new;
- $RT::Logger->info("Storing outgoing emails in $Mail::Mailer::testfile::config{outfile}");
- }
-
- # if it is a sub routine, we just return it;
- return $mail_command->($args{'Entity'}) if UNIVERSAL::isa( $mail_command, 'CODE' );
-
- if ( $mail_command eq 'sendmailpipe' ) {
- my $path = RT->Config->Get('SendmailPath');
- my $args = RT->Config->Get('SendmailArguments');
-
- # SetOutgoingMailFrom
- if ( RT->Config->Get('SetOutgoingMailFrom') ) {
- my $OutgoingMailAddress;
-
- if ($TicketObj) {
- my $QueueName = $TicketObj->QueueObj->Name;
- my $QueueAddressOverride = RT->Config->Get('OverrideOutgoingMailFrom')->{$QueueName};
-
- if ($QueueAddressOverride) {
- $OutgoingMailAddress = $QueueAddressOverride;
- } else {
- $OutgoingMailAddress = $TicketObj->QueueObj->CorrespondAddress;
- }
- }
-
- $OutgoingMailAddress ||= RT->Config->Get('OverrideOutgoingMailFrom')->{'Default'};
-
- $args .= " -f $OutgoingMailAddress"
- if $OutgoingMailAddress;
- }
-
- # Set Bounce Arguments
- $args .= ' '. RT->Config->Get('SendmailBounceArguments') if $args{'Bounce'};
-
- # VERP
- if ( $TransactionObj and
- my $prefix = RT->Config->Get('VERPPrefix') and
- my $domain = RT->Config->Get('VERPDomain') )
- {
- my $from = $TransactionObj->CreatorObj->EmailAddress;
- $from =~ s/@/=/g;
- $from =~ s/\s//g;
- $args .= " -f $prefix$from\@$domain";
- }
-
- eval {
- # don't ignore CHLD signal to get proper exit code
- local $SIG{'CHLD'} = 'DEFAULT';
-
- open my $mail, "|$path $args >/dev/null"
- or die "couldn't execute program: $!";
-
- # if something wrong with $mail->print we will get PIPE signal, handle it
- local $SIG{'PIPE'} = sub { die "program unexpectedly closed pipe" };
- $args{'Entity'}->print($mail);
-
- unless ( close $mail ) {
- die "close pipe failed: $!" if $!; # system error
- # sendmail exit statuses mostly errors with data not software
- # TODO: status parsing: core dump, exit on signal or EX_*
- my $msg = "$msgid: `$path $args` exitted with code ". ($?>>8);
- $msg = ", interrupted by signal ". ($?&127) if $?&127;
- $RT::Logger->error( $msg );
- die $msg;
- }
- };
- if ( $@ ) {
- $RT::Logger->crit( "$msgid: Could not send mail with command `$path $args`: " . $@ );
- if ( $TicketObj ) {
- _RecordSendEmailFailure( $TicketObj );
- }
- return 0;
- }
- }
- elsif ( $mail_command eq 'smtp' ) {
- require Net::SMTP;
- my $smtp = do { local $@; eval { Net::SMTP->new(
- Host => RT->Config->Get('SMTPServer'),
- Debug => RT->Config->Get('SMTPDebug'),
- ) } };
- unless ( $smtp ) {
- $RT::Logger->crit( "Could not connect to SMTP server.");
- if ($TicketObj) {
- _RecordSendEmailFailure( $TicketObj );
- }
- return 0;
- }
-
- # duplicate head as we want drop Bcc field
- my $head = $args{'Entity'}->head->dup;
- my @recipients = map $_->address, map
- Email::Address->parse($head->get($_)), qw(To Cc Bcc);
- $head->delete('Bcc');
-
- my $sender = RT->Config->Get('SMTPFrom')
- || $args{'Entity'}->head->get('From');
- chomp $sender;
-
- my $status = $smtp->mail( $sender )
- && $smtp->recipient( @recipients );
-
- if ( $status ) {
- $smtp->data;
- my $fh = $smtp->tied_fh;
- $head->print( $fh );
- print $fh "\n";
- $args{'Entity'}->print_body( $fh );
- $smtp->dataend;
- }
- $smtp->quit;
-
- unless ( $status ) {
- $RT::Logger->crit( "$msgid: Could not send mail via SMTP." );
- if ( $TicketObj ) {
- _RecordSendEmailFailure( $TicketObj );
- }
- return 0;
- }
+
+ if ($RT::MailCommand eq 'sendmailpipe') {
+ open (MAIL, "|$RT::SendmailPath $RT::SendmailArguments") || return(0);
+ print MAIL $entity->as_string;
+ close(MAIL);
}
else {
- local ($ENV{'MAILADDRESS'}, $ENV{'PERL_MAILERS'});
-
- my @mailer_args = ($mail_command);
- if ( $mail_command eq 'sendmail' ) {
- $ENV{'PERL_MAILERS'} = RT->Config->Get('SendmailPath');
- push @mailer_args, split(/\s+/, RT->Config->Get('SendmailArguments'));
- }
- else {
- push @mailer_args, RT->Config->Get('MailParams');
- }
-
- unless ( $args{'Entity'}->send( @mailer_args ) ) {
- $RT::Logger->crit( "$msgid: Could not send mail." );
- if ( $TicketObj ) {
- _RecordSendEmailFailure( $TicketObj );
- }
- return 0;
- }
- }
- return 1;
-}
-
-=head2 PrepareEmailUsingTemplate Template => '', Arguments => {}
-
-Loads a template. Parses it using arguments if it's not empty.
-Returns a tuple (L<RT::Template> object, error message).
-
-Note that even if a template object is returned MIMEObj method
-may return undef for empty templates.
-
-=cut
-
-sub PrepareEmailUsingTemplate {
- my %args = (
- Template => '',
- Arguments => {},
- @_
- );
-
- my $template = RT::Template->new( $RT::SystemUser );
- $template->LoadGlobalTemplate( $args{'Template'} );
- unless ( $template->id ) {
- return (undef, "Couldn't load template '". $args{'Template'} ."'");
- }
- return $template if $template->IsEmpty;
-
- my ($status, $msg) = $template->Parse( %{ $args{'Arguments'} } );
- return (undef, $msg) unless $status;
-
- return $template;
-}
-
-=head2 SendEmailUsingTemplate Template => '', Arguments => {}, From => CorrespondAddress, To => '', Cc => '', Bcc => ''
-
-Sends email using a template, takes name of template, arguments for it and recipients.
-
-=cut
-
-sub SendEmailUsingTemplate {
- my %args = (
- Template => '',
- Arguments => {},
- To => undef,
- Cc => undef,
- Bcc => undef,
- From => RT->Config->Get('CorrespondAddress'),
- InReplyTo => undef,
- @_
- );
-
- my ($template, $msg) = PrepareEmailUsingTemplate( %args );
- return (0, $msg) unless $template;
-
- my $mail = $template->MIMEObj;
- unless ( $mail ) {
- $RT::Logger->info("Message is not sent as template #". $template->id ." is empty");
- return -1;
- }
-
- $mail->head->set( $_ => Encode::encode_utf8( $args{ $_ } ) )
- foreach grep defined $args{$_}, qw(To Cc Bcc From);
-
- SetInReplyTo( Message => $mail, InReplyTo => $args{'InReplyTo'} );
-
- return SendEmail( Entity => $mail );
-}
-
-=head2 ForwardTransaction TRANSACTION, To => '', Cc => '', Bcc => ''
-
-Forwards transaction with all attachments as 'message/rfc822'.
-
-=cut
-
-sub ForwardTransaction {
- my $txn = shift;
- my %args = ( To => '', Cc => '', Bcc => '', @_ );
-
- my $entity = $txn->ContentAsMIME;
-
- return SendForward( %args, Entity => $entity, Transaction => $txn );
-}
-
-=head2 ForwardTicket TICKET, To => '', Cc => '', Bcc => ''
-
-Forwards a ticket's Create and Correspond Transactions and their Attachments as 'message/rfc822'.
-
-=cut
-
-sub ForwardTicket {
- my $ticket = shift;
- my %args = ( To => '', Cc => '', Bcc => '', @_ );
-
- my $txns = $ticket->Transactions;
- $txns->Limit(
- FIELD => 'Type',
- VALUE => $_,
- ) for qw(Create Correspond);
-
- my $entity = MIME::Entity->build(
- Type => 'multipart/mixed',
- );
- $entity->add_part( $_ ) foreach
- map $_->ContentAsMIME,
- @{ $txns->ItemsArrayRef };
-
- return SendForward( %args, Entity => $entity, Ticket => $ticket, Template => 'Forward Ticket' );
-}
-
-=head2 SendForward Entity => undef, Ticket => undef, Transaction => undef, Template => undef, To => '', Cc => '', Bcc => ''
-
-Forwards an Entity representing Ticket or Transaction as 'message/rfc822'. Entity is wrapped into Template.
-
-=cut
-
-sub SendForward {
- my (%args) = (
- Entity => undef,
- Ticket => undef,
- Transaction => undef,
- Template => 'Forward',
- To => '', Cc => '', Bcc => '',
- @_
- );
-
- my $txn = $args{'Transaction'};
- my $ticket = $args{'Ticket'};
- $ticket ||= $txn->Object if $txn;
-
- my $entity = $args{'Entity'};
- unless ( $entity ) {
- require Carp;
- $RT::Logger->error(Carp::longmess("No entity provided"));
- return (0, $ticket->loc("Couldn't send email"));
+ $entity->send($RT::MailCommand, $RT::MailParams);
}
-
- my ($template, $msg) = PrepareEmailUsingTemplate(
- Template => $args{'Template'},
- Arguments => {
- Ticket => $ticket,
- Transaction => $txn,
- },
- );
-
- my $mail;
- if ( $template ) {
- $mail = $template->MIMEObj;
- } else {
- $RT::Logger->warning($msg);
- }
- unless ( $mail ) {
- $RT::Logger->warning("Couldn't generate email using template '$args{Template}'");
-
- my $description;
- unless ( $args{'Transaction'} ) {
- $description = 'This is forward of ticket #'. $ticket->id;
- } else {
- $description = 'This is forward of transaction #'
- . $txn->id ." of a ticket #". $txn->ObjectId;
- }
- $mail = MIME::Entity->build(
- Type => 'text/plain',
- Data => $description,
- );
- }
-
- $mail->head->set( $_ => EncodeToMIME( String => $args{$_} ) )
- foreach grep defined $args{$_}, qw(To Cc Bcc);
-
- $mail->attach(
- Type => 'message/rfc822',
- Disposition => 'attachment',
- Description => 'forwarded message',
- Data => $entity->as_string,
- );
-
- my $from;
- my $subject = '';
- $subject = $txn->Subject if $txn;
- $subject ||= $ticket->Subject if $ticket;
- if ( RT->Config->Get('ForwardFromUser') ) {
- $from = ($txn || $ticket)->CurrentUser->UserObj->EmailAddress;
- } else {
- # XXX: what if want to forward txn of other object than ticket?
- $subject = AddSubjectTag( $subject, $ticket );
- $from = $ticket->QueueObj->CorrespondAddress
- || RT->Config->Get('CorrespondAddress');
- }
- $mail->head->set( Subject => EncodeToMIME( String => "Fwd: $subject" ) );
- $mail->head->set( From => EncodeToMIME( String => $from ) );
-
- my $status = RT->Config->Get('ForwardFromUser')
- # never sign if we forward from User
- ? SendEmail( %args, Entity => $mail, Sign => 0 )
- : SendEmail( %args, Entity => $mail );
- return (0, $ticket->loc("Couldn't send email")) unless $status;
- return (1, $ticket->loc("Send email successfully"));
}
-=head2 SignEncrypt Entity => undef, Sign => 0, Encrypt => 0
-
-Signs and encrypts message using L<RT::Crypt::GnuPG>, but as well
-handle errors with users' keys.
-
-If a recipient has no key or has other problems with it, then the
-unction sends a error to him using 'Error: public key' template.
-Also, notifies RT's owner using template 'Error to RT owner: public key'
-to inform that there are problems with users' keys. Then we filter
-all bad recipients and retry.
+# }}}
-Returns 1 on success, 0 on error and -1 if all recipients are bad and
-had been filtered out.
-
-=cut
-
-sub SignEncrypt {
- my %args = (
- Entity => undef,
- Sign => 0,
- Encrypt => 0,
- @_
- );
- return 1 unless $args{'Sign'} || $args{'Encrypt'};
-
- my $msgid = $args{'Entity'}->head->get('Message-ID') || '';
- chomp $msgid;
-
- $RT::Logger->debug("$msgid Signing message") if $args{'Sign'};
- $RT::Logger->debug("$msgid Encrypting message") if $args{'Encrypt'};
-
- require RT::Crypt::GnuPG;
- my %res = RT::Crypt::GnuPG::SignEncrypt( %args );
- return 1 unless $res{'exit_code'};
-
- my @status = RT::Crypt::GnuPG::ParseStatus( $res{'status'} );
-
- my @bad_recipients;
- foreach my $line ( @status ) {
- # if the passphrase fails, either you have a bad passphrase
- # or gpg-agent has died. That should get caught in Create and
- # Update, but at least throw an error here
- if (($line->{'Operation'}||'') eq 'PassphraseCheck'
- && $line->{'Status'} =~ /^(?:BAD|MISSING)$/ ) {
- $RT::Logger->error( "$line->{'Status'} PASSPHRASE: $line->{'Message'}" );
- return 0;
- }
- next unless ($line->{'Operation'}||'') eq 'RecipientsCheck';
- next if $line->{'Status'} eq 'DONE';
- $RT::Logger->error( $line->{'Message'} );
- push @bad_recipients, $line;
- }
- return 0 unless @bad_recipients;
-
- $_->{'AddressObj'} = (Email::Address->parse( $_->{'Recipient'} ))[0]
- foreach @bad_recipients;
-
- foreach my $recipient ( @bad_recipients ) {
- my $status = SendEmailUsingTemplate(
- To => $recipient->{'AddressObj'}->address,
- Template => 'Error: public key',
- Arguments => {
- %$recipient,
- TicketObj => $args{'Ticket'},
- TransactionObj => $args{'Transaction'},
- },
- );
- unless ( $status ) {
- $RT::Logger->error("Couldn't send 'Error: public key'");
- }
- }
-
- my $status = SendEmailUsingTemplate(
- To => RT->Config->Get('OwnerEmail'),
- Template => 'Error to RT owner: public key',
- Arguments => {
- BadRecipients => \@bad_recipients,
- TicketObj => $args{'Ticket'},
- TransactionObj => $args{'Transaction'},
- },
- );
- unless ( $status ) {
- $RT::Logger->error("Couldn't send 'Error to RT owner: public key'");
- }
-
- DeleteRecipientsFromHead(
- $args{'Entity'}->head,
- map $_->{'AddressObj'}->address, @bad_recipients
- );
-
- unless ( $args{'Entity'}->head->get('To')
- || $args{'Entity'}->head->get('Cc')
- || $args{'Entity'}->head->get('Bcc') )
- {
- $RT::Logger->debug("$msgid No recipients that have public key, not sending");
- return -1;
- }
-
- # redo without broken recipients
- %res = RT::Crypt::GnuPG::SignEncrypt( %args );
- return 0 if $res{'exit_code'};
-
- return 1;
-}
-
-use MIME::Words ();
-
-=head2 EncodeToMIME
-
-Takes a hash with a String and a Charset. Returns the string encoded
-according to RFC2047, using B (base64 based) encoding.
-
-String must be a perl string, octets are returned.
-
-If Charset is not provided then $EmailOutputEncoding config option
-is used, or "latin-1" if that is not set.
-
-=cut
-
-sub EncodeToMIME {
- my %args = (
- String => undef,
- Charset => undef,
- @_
- );
- my $value = $args{'String'};
- return $value unless $value; # 0 is perfect ascii
- my $charset = $args{'Charset'} || RT->Config->Get('EmailOutputEncoding');
- my $encoding = 'B';
-
- # using RFC2047 notation, sec 2.
- # encoded-word = "=?" charset "?" encoding "?" encoded-text "?="
-
- # An 'encoded-word' may not be more than 75 characters long
- #
- # MIME encoding increases 4/3*(number of bytes), and always in multiples
- # of 4. Thus we have to find the best available value of bytes available
- # for each chunk.
- #
- # First we get the integer max which max*4/3 would fit on space.
- # Then we find the greater multiple of 3 lower or equal than $max.
- my $max = int(
- ( ( 75 - length( '=?' . $charset . '?' . $encoding . '?' . '?=' ) )
- * 3
- ) / 4
- );
- $max = int( $max / 3 ) * 3;
-
- chomp $value;
-
- if ( $max <= 0 ) {
-
- # gives an error...
- $RT::Logger->crit("Can't encode! Charset or encoding too big.");
- return ($value);
- }
-
- return ($value) unless $value =~ /[^\x20-\x7e]/;
-
- $value =~ s/\s+$//;
-
- # we need perl string to split thing char by char
- Encode::_utf8_on($value) unless Encode::is_utf8($value);
-
- my ( $tmp, @chunks ) = ( '', () );
- while ( length $value ) {
- my $char = substr( $value, 0, 1, '' );
- my $octets = Encode::encode( $charset, $char );
- if ( length($tmp) + length($octets) > $max ) {
- push @chunks, $tmp;
- $tmp = '';
- }
- $tmp .= $octets;
- }
- push @chunks, $tmp if length $tmp;
-
- # encode an join chuncks
- $value = join "\n ",
- map MIME::Words::encode_mimeword( $_, $encoding, $charset ),
- @chunks;
- return ($value);
-}
+# {{{ Create User
sub CreateUser {
- my ( $Username, $Address, $Name, $ErrorsTo, $entity ) = @_;
-
- my $NewUser = RT::User->new( $RT::SystemUser );
-
- my ( $Val, $Message ) = $NewUser->Create(
- Name => ( $Username || $Address ),
- EmailAddress => $Address,
- RealName => $Name,
- Password => undef,
- Privileged => 0,
- Comments => 'Autocreated on ticket submission',
- );
-
+ my ($Username, $Address, $Name, $ErrorsTo, $entity) = @_;
+ my $NewUser = RT::User->new($RT::SystemUser);
+
+ # This data is tainted by some Very Broken mailers.
+ # (Sometimes they send raw ISO 8859-1 data here. fear that.
+ require Encode;
+ $Username = Encode::encode(utf8 => $Username, Encode::FB_PERLQQ()) if defined $Username;
+ $Name = Encode::encode(utf8 => $Name, Encode::FB_PERLQQ()) if defined $Name;
+
+ my ($Val, $Message) =
+ $NewUser->Create(Name => ($Username || $Address),
+ EmailAddress => $Address,
+ RealName => $Name,
+ Password => undef,
+ Privileged => 0,
+ Comments => 'Autocreated on ticket submission'
+ );
+
unless ($Val) {
-
+
# Deal with the race condition of two account creations at once
+ #
if ($Username) {
$NewUser->LoadByName($Username);
}
-
- unless ( $NewUser->Id ) {
+
+ unless ($NewUser->Id) {
$NewUser->LoadByEmail($Address);
}
-
- unless ( $NewUser->Id ) {
- MailError(
- To => $ErrorsTo,
- Subject => "User could not be created",
- Explanation =>
- "User creation failed in mailgateway: $Message",
- MIMEObj => $entity,
- LogLevel => 'crit',
- );
+
+ unless ($NewUser->Id) {
+ MailError( To => $ErrorsTo,
+ Subject => "User could not be created",
+ Explanation => "User creation failed in mailgateway: $Message",
+ MIMEObj => $entity,
+ LogLevel => 'crit'
+ );
}
}
#Load the new user object
- my $CurrentUser = new RT::CurrentUser;
- $CurrentUser->LoadByEmail( $Address );
+ my $CurrentUser = RT::CurrentUser->new();
+ $CurrentUser->LoadByEmail($Address);
- unless ( $CurrentUser->id ) {
- $RT::Logger->warning(
- "Couldn't load user '$Address'." . "giving up" );
- MailError(
- To => $ErrorsTo,
- Subject => "User could not be loaded",
- Explanation =>
- "User '$Address' could not be loaded in the mail gateway",
- MIMEObj => $entity,
- LogLevel => 'crit'
- );
+ unless ($CurrentUser->id) {
+ $RT::Logger->warning("Couldn't load user '$Address'.". "giving up");
+ MailError( To => $ErrorsTo,
+ Subject => "User could not be loaded",
+ Explanation => "User '$Address' could not be loaded in the mail gateway",
+ MIMEObj => $entity,
+ LogLevel => 'crit'
+ );
}
return $CurrentUser;
}
+# }}}
+# {{{ ParseCcAddressesFromHead
+=head2 ParseCcAddressesFromHead HASHREF
-
-=head2 ParseCcAddressesFromHead HASH
-
-Takes a hash containing QueueObj, Head and CurrentUser objects.
-Returns a list of all email addresses in the To and Cc
-headers b<except> the current Queue\'s email addresses, the CurrentUser\'s
+Takes a hashref object containing QueueObj, Head and CurrentUser objects.
+Returns a list of all email addresses in the To and Cc
+headers b<except> the current Queue\'s email addresses, the CurrentUser\'s
email address and anything that the configuration sub RT::IsRTAddress matches.
=cut
-
+
sub ParseCcAddressesFromHead {
- my %args = (
- Head => undef,
- QueueObj => undef,
- CurrentUser => undef,
- @_
- );
-
- my $current_address = lc $args{'CurrentUser'}->EmailAddress;
- my $user = $args{'CurrentUser'}->UserObj;
-
- return
- grep $_ ne $current_address && !RT::EmailParser->IsRTAddress( $_ ),
- map lc $user->CanonicalizeEmailAddress( $_->address ),
- map Email::Address->parse( $args{'Head'}->get( $_ ) ),
- qw(To Cc);
+ my %args = ( Head => undef,
+ QueueObj => undef,
+ CurrentUser => undef,
+ @_ );
+
+ my (@Addresses);
+
+ my @ToObjs = Mail::Address->parse($args{'Head'}->get('To'));
+ my @CcObjs = Mail::Address->parse($args{'Head'}->get('Cc'));
+
+ foreach my $AddrObj (@ToObjs, @CcObjs) {
+ my $Address = $AddrObj->address;
+ $Address = $args{'CurrentUser'}->UserObj->CanonicalizeEmailAddress($Address);
+ next if ($args{'CurrentUser'}->EmailAddress =~ /^$Address$/i);
+ next if ($args{'QueueObj'}->CorrespondAddress =~ /^$Address$/i);
+ next if ($args{'QueueObj'}->CommentAddress =~ /^$Address$/i);
+ next if (RT::EmailParser::IsRTAddress(undef, $Address));
+
+ push (@Addresses, $Address);
+ }
+ return (@Addresses);
}
+# }}}
-=head2 ParseSenderAddressFromHead HEAD
+# {{{ ParseSenderAdddressFromHead
-Takes a MIME::Header object. Returns a tuple: (user@host, friendly name)
+=head2 ParseSenderAddressFromHead
+
+Takes a MIME::Header object. Returns a tuple: (user@host, friendly name)
of the From (evaluated in order of Reply-To:, From:, Sender)
=cut
sub ParseSenderAddressFromHead {
my $head = shift;
-
#Figure out who's sending this message.
- foreach my $header ('Reply-To', 'From', 'Sender') {
- my $addr_line = $head->get($header) || next;
- my ($addr, $name) = ParseAddressFromHeader( $addr_line );
- # only return if the address is not empty
- return ($addr, $name) if $addr;
- }
-
- return (undef, undef);
+ my $From = $head->get('Reply-To') ||
+ $head->get('From') ||
+ $head->get('Sender');
+ return (ParseAddressFromHeader($From));
}
+# }}}
-=head2 ParseErrorsToAddressFromHead HEAD
+# {{{ ParseErrorsToAdddressFromHead
+
+=head2 ParseErrorsToAddressFromHead
Takes a MIME::Header object. Return a single value : user@host
-of the From (evaluated in order of Return-path:,Errors-To:,Reply-To:,
-From:, Sender)
+of the From (evaluated in order of Errors-To:,Reply-To:, From:, Sender)
=cut
sub ParseErrorsToAddressFromHead {
my $head = shift;
-
#Figure out who's sending this message.
- foreach my $header ( 'Errors-To', 'Reply-To', 'From', 'Sender' ) {
-
- # If there's a header of that name
- my $headerobj = $head->get($header);
- if ($headerobj) {
- my ( $addr, $name ) = ParseAddressFromHeader($headerobj);
-
- # If it's got actual useful content...
- return ($addr) if ($addr);
- }
+ foreach my $header ('Errors-To' , 'Reply-To', 'From', 'Sender' ) {
+ # If there's a header of that name
+ my $headerobj = $head->get($header);
+ if ($headerobj) {
+ my ($addr, $name ) = ParseAddressFromHeader($headerobj);
+ # If it's got actual useful content...
+ return ($addr) if ($addr);
+ }
}
}
+# }}}
-
+# {{{ ParseAddressFromHeader
=head2 ParseAddressFromHeader ADDRESS
-Takes an address from C<$head->get('Line')> and returns a tuple: user@host, friendly name
+Takes an address from $head->get('Line') and returns a tuple: user@host, friendly name
=cut
-sub ParseAddressFromHeader {
- my $Addr = shift;
- # Some broken mailers send: ""Vincent, Jesse"" <jesse@fsck.com>. Hate
- $Addr =~ s/\"\"(.*?)\"\"/\"$1\"/g;
- my @Addresses = RT::EmailParser->ParseEmailAddress($Addr);
+sub ParseAddressFromHeader{
+ my $Addr = shift;
+
+ my @Addresses = Mail::Address->parse($Addr);
+
+ my $AddrObj = $Addresses[0];
- my ($AddrObj) = grep ref $_, @Addresses;
- unless ( $AddrObj ) {
- return ( undef, undef );
+ unless (ref($AddrObj)) {
+ return(undef,undef);
}
-
- my $Name = ( $AddrObj->name || $AddrObj->phrase || $AddrObj->comment || $AddrObj->address );
-
+
+ my $Name = ($AddrObj->phrase || $AddrObj->comment || $AddrObj->address);
+
#Lets take the from and load a user object.
my $Address = $AddrObj->address;
- return ( $Address, $Name );
-}
-
-=head2 DeleteRecipientsFromHead HEAD RECIPIENTS
-
-Gets a head object and list of addresses.
-Deletes addresses from To, Cc or Bcc fields.
-
-=cut
-
-sub DeleteRecipientsFromHead {
- my $head = shift;
- my %skip = map { lc $_ => 1 } @_;
-
- foreach my $field ( qw(To Cc Bcc) ) {
- $head->set( $field =>
- join ', ', map $_->format, grep !$skip{ lc $_->address },
- Email::Address->parse( $head->get( $field ) )
- );
- }
-}
-
-sub GenMessageId {
- my %args = (
- Ticket => undef,
- Scrip => undef,
- ScripAction => undef,
- @_
- );
- my $org = RT->Config->Get('Organization');
- my $ticket_id = ( ref $args{'Ticket'}? $args{'Ticket'}->id : $args{'Ticket'} ) || 0;
- my $scrip_id = ( ref $args{'Scrip'}? $args{'Scrip'}->id : $args{'Scrip'} ) || 0;
- my $sent = ( ref $args{'ScripAction'}? $args{'ScripAction'}->{'_Message_ID'} : 0 ) || 0;
-
- return "<rt-". $RT::VERSION ."-". $$ ."-". CORE::time() ."-". int(rand(2000)) .'.'
- . $ticket_id ."-". $scrip_id ."-". $sent ."@". $org .">" ;
+ return ($Address, $Name);
}
+# }}}
-sub SetInReplyTo {
- my %args = (
- Message => undef,
- InReplyTo => undef,
- Ticket => undef,
- @_
- );
- return unless $args{'Message'} && $args{'InReplyTo'};
-
- my $get_header = sub {
- my @res;
- if ( $args{'InReplyTo'}->isa('MIME::Entity') ) {
- @res = $args{'InReplyTo'}->head->get( shift );
- } else {
- @res = $args{'InReplyTo'}->GetHeader( shift ) || '';
- }
- return grep length, map { split /\s+/m, $_ } grep defined, @res;
- };
-
- my @id = $get_header->('Message-ID');
- #XXX: custom header should begin with X- otherwise is violation of the standard
- my @rtid = $get_header->('RT-Message-ID');
- my @references = $get_header->('References');
- unless ( @references ) {
- @references = $get_header->('In-Reply-To');
- }
- push @references, @id, @rtid;
- if ( $args{'Ticket'} ) {
- my $pseudo_ref = '<RT-Ticket-'. $args{'Ticket'}->id .'@'. RT->Config->Get('Organization') .'>';
- push @references, $pseudo_ref unless grep $_ eq $pseudo_ref, @references;
- }
- @references = splice @references, 4, -6
- if @references > 10;
-
- my $mail = $args{'Message'};
- $mail->head->set( 'In-Reply-To' => join ' ', @rtid? (@rtid) : (@id) ) if @id || @rtid;
- $mail->head->set( 'References' => join ' ', @references );
-}
-sub ParseTicketId {
- my $Subject = shift;
-
- my $rtname = RT->Config->Get('rtname');
- my $test_name = RT->Config->Get('EmailSubjectTagRegex') || qr/\Q$rtname\E/i;
-
- my $id;
- if ( $Subject =~ s/\[$test_name\s+\#(\d+)\s*\]//i ) {
- $id = $1;
- } else {
- foreach my $tag ( RT->System->SubjectTag ) {
- next unless $Subject =~ s/\[\Q$tag\E\s+\#(\d+)\s*\]//i;
- $id = $1;
- last;
- }
- }
- return undef unless $id;
-
- $RT::Logger->debug("Found a ticket ID. It's $id");
- return $id;
-}
-
-sub AddSubjectTag {
- my $subject = shift;
- my $ticket = shift;
- unless ( ref $ticket ) {
- my $tmp = RT::Ticket->new( $RT::SystemUser );
- $tmp->Load( $ticket );
- $ticket = $tmp;
- }
- my $id = $ticket->id;
- my $queue_tag = $ticket->QueueObj->SubjectTag;
-
- my $tag_re = RT->Config->Get('EmailSubjectTagRegex');
- unless ( $tag_re ) {
- my $tag = $queue_tag || RT->Config->Get('rtname');
- $tag_re = qr/\Q$tag\E/;
- } elsif ( $queue_tag ) {
- $tag_re = qr/$tag_re|\Q$queue_tag\E/;
- }
- return $subject if $subject =~ /\[$tag_re\s+#$id\]/;
-
- $subject =~ s/(\r\n|\n|\s)/ /gi;
- chomp $subject;
- return "[". ($queue_tag || RT->Config->Get('rtname')) ." #$id] $subject";
-}
-
-
-=head2 Gateway ARGSREF
-
-
-Takes parameters:
-
- action
- queue
- message
+=head2 Gateway
This performs all the "guts" of the mail rt-mailgate program, and is
designed to be called from the web interface with a message, user
object, and so on.
-Can also take an optional 'ticket' parameter; this ticket id overrides
-any ticket id found in the subject.
-
-Returns:
-
- An array of:
-
- (status code, message, optional ticket object)
-
- status code is a numeric value.
-
- for temporary failures, the status code should be -75
-
- for permanent failures which are handled by RT, the status code
- should be 0
-
- for succces, the status code should be 1
-
-
-
=cut
-sub _LoadPlugins {
- my @mail_plugins = @_;
-
- my @res;
- foreach my $plugin (@mail_plugins) {
- if ( ref($plugin) eq "CODE" ) {
- push @res, $plugin;
- } elsif ( !ref $plugin ) {
- my $Class = $plugin;
- $Class = "RT::Interface::Email::" . $Class
- unless $Class =~ /^RT::Interface::Email::/;
- $Class->require or
- do { $RT::Logger->error("Couldn't load $Class: $@"); next };
-
- no strict 'refs';
- unless ( defined *{ $Class . "::GetCurrentUser" }{CODE} ) {
- $RT::Logger->crit( "No GetCurrentUser code found in $Class module");
- next;
- }
- push @res, $Class;
- } else {
- $RT::Logger->crit( "$plugin - is not class name or code reference");
- }
- }
- return @res;
-}
-
sub Gateway {
- my $argsref = shift;
- my %args = (
- action => 'correspond',
- queue => '1',
- ticket => undef,
- message => undef,
- %$argsref
- );
-
- my $SystemTicket;
- my $Right;
+ my %args = ( message => undef,
+ queue => 1,
+ action => 'correspond',
+ ticket => undef,
+ @_ );
# Validate the action
- my ( $status, @actions ) = IsCorrectAction( $args{'action'} );
- unless ($status) {
- return (
- -75,
- "Invalid 'action' parameter "
- . $actions[0]
- . " for queue "
- . $args{'queue'},
- undef
- );
+ unless ( $args{'action'} =~ /^(comment|correspond|action)$/ ) {
+
+ # Can't safely loc this. What object do we loc around?
+ return ( 0, "Invalid 'action' parameter", undef );
}
my $parser = RT::EmailParser->new();
- $parser->SmartParseMIMEEntityFromScalar(
- Message => $args{'message'},
- Decode => 0,
- Exact => 1,
- );
+ $parser->ParseMIMEEntityFromScalar( $args{'message'} );
my $Message = $parser->Entity();
- unless ($Message) {
- MailError(
- Subject => "RT Bounce: Unparseable message",
- Explanation => "RT couldn't process the message below",
- Attach => $args{'message'}
- );
-
- return ( 0,
- "Failed to parse this message. Something is likely badly wrong with the message"
- );
- }
-
- my @mail_plugins = grep $_, RT->Config->Get('MailPlugins');
- push @mail_plugins, "Auth::MailFrom" unless @mail_plugins;
- @mail_plugins = _LoadPlugins( @mail_plugins );
-
- my %skip_plugin;
- foreach my $class( grep !ref, @mail_plugins ) {
- # check if we should apply filter before decoding
- my $check_cb = do {
- no strict 'refs';
- *{ $class . "::ApplyBeforeDecode" }{CODE};
- };
- next unless defined $check_cb;
- next unless $check_cb->(
- Message => $Message,
- RawMessageRef => \$args{'message'},
- );
+ my $head = $Message->head;
- $skip_plugin{ $class }++;
+ my ( $CurrentUser, $AuthStat, $status, $error );
- my $Code = do {
- no strict 'refs';
- *{ $class . "::GetCurrentUser" }{CODE};
- };
- my ($status, $msg) = $Code->(
- Message => $Message,
- RawMessageRef => \$args{'message'},
- );
- next if $status > 0;
-
- if ( $status == -2 ) {
- return (1, $msg, undef);
- } elsif ( $status == -1 ) {
- return (0, $msg, undef);
- }
- }
- @mail_plugins = grep !$skip_plugin{"$_"}, @mail_plugins;
- $parser->_DecodeBodies;
- $parser->_PostProcessNewEntity;
+ my $ErrorsTo = ParseErrorsToAddressFromHead($head);
- my $head = $Message->head;
- my $ErrorsTo = ParseErrorsToAddressFromHead( $head );
-
- my $MessageId = $head->get('Message-ID')
- || "<no-message-id-". time . rand(2000) .'@'. RT->Config->Get('Organization') .'>';
+ my $MessageId = $head->get('Message-Id')
+ || "<no-message-id-" . time . rand(2000) . "\@.$RT::Organization>";
#Pull apart the subject line
my $Subject = $head->get('Subject') || '';
chomp $Subject;
-
- # {{{ Lets check for mail loops of various sorts.
- my ($should_store_machine_generated_message, $IsALoop, $result);
- ( $should_store_machine_generated_message, $ErrorsTo, $result, $IsALoop ) =
- _HandleMachineGeneratedMail(
- Message => $Message,
- ErrorsTo => $ErrorsTo,
- Subject => $Subject,
- MessageId => $MessageId
- );
-
- # Do not pass loop messages to MailPlugins, to make sure the loop
- # is broken, unless $RT::StoreLoops is set.
- if ($IsALoop && !$should_store_machine_generated_message) {
- return ( 0, $result, undef );
- }
- # }}}
- $args{'ticket'} ||= ParseTicketId( $Subject );
- $SystemTicket = RT::Ticket->new( $RT::SystemUser );
- $SystemTicket->Load( $args{'ticket'} ) if ( $args{'ticket'} ) ;
- if ( $SystemTicket->id ) {
- $Right = 'ReplyToTicket';
- } else {
- $Right = 'CreateTicket';
+ $args{'ticket'} ||= $parser->ParseTicketId($Subject);
+
+ my $SystemTicket;
+ if ($args{'ticket'} ) {
+ $SystemTicket = RT::Ticket->new($RT::SystemUser);
+ $SystemTicket->Load($args{'ticket'});
}
#Set up a queue object
- my $SystemQueueObj = RT::Queue->new( $RT::SystemUser );
+ my $SystemQueueObj = RT::Queue->new($RT::SystemUser);
$SystemQueueObj->Load( $args{'queue'} );
- # We can safely have no queue of we have a known-good ticket
- unless ( $SystemTicket->id || $SystemQueueObj->id ) {
- return ( -75, "RT couldn't find the queue: " . $args{'queue'}, undef );
- }
-
- my ($AuthStat, $CurrentUser, $error) = GetAuthenticationLevel(
- MailPlugins => \@mail_plugins,
- Actions => \@actions,
- Message => $Message,
- RawMessageRef => \$args{message},
- SystemTicket => $SystemTicket,
- SystemQueue => $SystemQueueObj,
- );
-
- # {{{ If authentication fails and no new user was created, get out.
- if ( !$CurrentUser || !$CurrentUser->id || $AuthStat == -1 ) {
-
- # If the plugins refused to create one, they lose.
- unless ( $AuthStat == -1 ) {
- _NoAuthorizedUserFound(
- Right => $Right,
- Message => $Message,
- Requestor => $ErrorsTo,
- Queue => $args{'queue'}
- );
-
- }
- return ( 0, "Could not load a valid user", undef );
- }
- # If we got a user, but they don't have the right to say things
- if ( $AuthStat == 0 ) {
+ # We can safely have no queue of we have a known-good ticket
+ unless ( $args{'ticket'} || $SystemQueueObj->id ) {
MailError(
- To => $ErrorsTo,
- Subject => "Permission Denied",
- Explanation =>
- "You do not have permission to communicate with RT",
- MIMEObj => $Message
- );
- return (
- 0,
- "$ErrorsTo tried to submit a message to "
- . $args{'Queue'}
- . " without permission.",
- undef
- );
- }
-
-
- unless ($should_store_machine_generated_message) {
- return ( 0, $result, undef );
+ To => $RT::OwnerEmail,
+ Subject => "RT Bounce: $Subject",
+ Explanation => "RT couldn't find the queue: " . $args{'queue'},
+ MIMEObj => $Message );
+ return ( 0, "RT couldn't find the queue: " . $args{'queue'}, undef );
}
- # if plugin's updated SystemTicket then update arguments
- $args{'ticket'} = $SystemTicket->Id if $SystemTicket && $SystemTicket->Id;
-
- my $Ticket = RT::Ticket->new($CurrentUser);
-
- if ( !$args{'ticket'} && grep /^(comment|correspond)$/, @actions )
- {
-
- my @Cc;
- my @Requestors = ( $CurrentUser->id );
-
- if (RT->Config->Get('ParseNewMessageForTicketCcs')) {
- @Cc = ParseCcAddressesFromHead(
- Head => $head,
- CurrentUser => $CurrentUser,
- QueueObj => $SystemQueueObj
- );
- }
-
- my ( $id, $Transaction, $ErrStr ) = $Ticket->Create(
- Queue => $SystemQueueObj->Id,
- Subject => $Subject,
- Requestor => \@Requestors,
- Cc => \@Cc,
- MIMEObj => $Message
- );
- if ( $id == 0 ) {
- MailError(
- To => $ErrorsTo,
- Subject => "Ticket creation failed: $Subject",
- Explanation => $ErrStr,
- MIMEObj => $Message
- );
- return ( 0, "Ticket creation failed: $ErrStr", $Ticket );
- }
-
- # strip comments&corresponds from the actions we don't need
- # to record them if we've created the ticket just now
- @actions = grep !/^(comment|correspond)$/, @actions;
- $args{'ticket'} = $id;
-
- } elsif ( $args{'ticket'} ) {
-
- $Ticket->Load( $args{'ticket'} );
- unless ( $Ticket->Id ) {
- my $error = "Could not find a ticket with id " . $args{'ticket'};
- MailError(
- To => $ErrorsTo,
- Subject => "Message not recorded: $Subject",
- Explanation => $error,
- MIMEObj => $Message
- );
-
- return ( 0, $error );
- }
- $args{'ticket'} = $Ticket->id;
- } else {
- return ( 1, "Success", $Ticket );
- }
-
- # }}}
-
- my $unsafe_actions = RT->Config->Get('UnsafeEmailCommands');
- foreach my $action (@actions) {
-
- # If the action is comment, add a comment.
- if ( $action =~ /^(?:comment|correspond)$/i ) {
- my $method = ucfirst lc $action;
- my ( $status, $msg ) = $Ticket->$method( MIMEObj => $Message );
- unless ($status) {
-
- #Warn the sender that we couldn't actually submit the comment.
- MailError(
- To => $ErrorsTo,
- Subject => "Message not recorded: $Subject",
- Explanation => $msg,
- MIMEObj => $Message
- );
- return ( 0, "Message not recorded: $msg", $Ticket );
- }
- } elsif ($unsafe_actions) {
- my ( $status, $msg ) = _RunUnsafeAction(
- Action => $action,
- ErrorsTo => $ErrorsTo,
- Message => $Message,
- Ticket => $Ticket,
- CurrentUser => $CurrentUser,
- );
- return ($status, $msg, $Ticket) unless $status == 1;
- }
- }
- return ( 1, "Success", $Ticket );
-}
-
-=head2 GetAuthenticationLevel
-
# Authentication Level
- # -1 - Get out. this user has been explicitly declined
+ # -1 - Get out. this user has been explicitly declined
# 0 - User may not do anything (Not used at the moment)
# 1 - Normal user
# 2 - User is allowed to specify status updates etc. a la enhanced-mailgate
-=cut
-
-sub GetAuthenticationLevel {
- my %args = (
- MailPlugins => [],
- Actions => [],
- Message => undef,
- RawMessageRef => undef,
- SystemTicket => undef,
- SystemQueue => undef,
- @_,
- );
-
- my ( $CurrentUser, $AuthStat, $error );
-
- # Initalize AuthStat so comparisons work correctly
- $AuthStat = -9999999;
-
- # if plugin returns AuthStat -2 we skip action
- # NOTE: this is experimental API and it would be changed
- my %skip_action = ();
-
+ push @RT::MailPlugins, "Auth::MailFrom" unless @RT::MailPlugins;
# Since this needs loading, no matter what
- foreach (@{ $args{MailPlugins} }) {
- my ($Code, $NewAuthStat);
+
+ for (@RT::MailPlugins) {
+ my $Code;
+ my $NewAuthStat;
if ( ref($_) eq "CODE" ) {
$Code = $_;
- } else {
- no strict 'refs';
- $Code = *{ $_ . "::GetCurrentUser" }{CODE};
}
-
- foreach my $action (@{ $args{Actions} }) {
- ( $CurrentUser, $NewAuthStat ) = $Code->(
- Message => $args{Message},
- RawMessageRef => $args{RawMessageRef},
- CurrentUser => $CurrentUser,
- AuthLevel => $AuthStat,
- Action => $action,
- Ticket => $args{SystemTicket},
- Queue => $args{SystemQueue},
- );
-
-# You get the highest level of authentication you were assigned, unless you get the magic -1
-# If a module returns a "-1" then we discard the ticket, so.
- $AuthStat = $NewAuthStat
- if ( $NewAuthStat > $AuthStat or $NewAuthStat == -1 or $NewAuthStat == -2 );
-
- last if $AuthStat == -1;
- $skip_action{$action}++ if $AuthStat == -2;
+ else {
+ $_ = "RT::Interface::Email::$_" unless /^RT::Interface::Email::/;
+ eval "require $_;";
+ if ($@) {
+ die ("Couldn't load module $_: $@");
+ next;
+ }
+ no strict 'refs';
+ if ( !defined( $Code = *{ $_ . "::GetCurrentUser" }{CODE} ) ) {
+ die ("No GetCurrentUser code found in $_ module");
+ next;
+ }
}
- # strip actions we should skip
- @{$args{Actions}} = grep !$skip_action{$_}, @{$args{Actions}}
- if $AuthStat == -2;
- last unless @{$args{Actions}};
+ ( $CurrentUser, $NewAuthStat ) = $Code->( Message => $Message,
+ CurrentUser => $CurrentUser,
+ AuthLevel => $AuthStat,
+ Action => $args{'action'},
+ Ticket => $SystemTicket,
+ Queue => $SystemQueueObj );
+ # You get the highest level of authentication you were assigned.
last if $AuthStat == -1;
+ $AuthStat = $NewAuthStat if $NewAuthStat > $AuthStat;
}
- return $AuthStat if !wantarray;
-
- return ($AuthStat, $CurrentUser, $error);
-}
-
-sub _RunUnsafeAction {
- my %args = (
- Action => undef,
- ErrorsTo => undef,
- Message => undef,
- Ticket => undef,
- CurrentUser => undef,
- @_
- );
-
- if ( $args{'Action'} =~ /^take$/i ) {
- my ( $status, $msg ) = $args{'Ticket'}->SetOwner( $args{'CurrentUser'}->id );
- unless ($status) {
- MailError(
- To => $args{'ErrorsTo'},
- Subject => "Ticket not taken",
- Explanation => $msg,
- MIMEObj => $args{'Message'}
- );
- return ( 0, "Ticket not taken" );
- }
- } elsif ( $args{'Action'} =~ /^resolve$/i ) {
- my ( $status, $msg ) = $args{'Ticket'}->SetStatus('resolved');
- unless ($status) {
-
- #Warn the sender that we couldn't actually submit the comment.
- MailError(
- To => $args{'ErrorsTo'},
- Subject => "Ticket not resolved",
- Explanation => $msg,
- MIMEObj => $args{'Message'}
- );
- return ( 0, "Ticket not resolved" );
- }
- } else {
- return ( 0, "Not supported unsafe action $args{'Action'}", $args{'Ticket'} );
- }
- return ( 1, "Success" );
-}
-
-=head2 _NoAuthorizedUserFound
-
-Emails the RT Owner and the requestor when the auth plugins return "No auth user found"
-
-=cut
-
-sub _NoAuthorizedUserFound {
- my %args = (
- Right => undef,
- Message => undef,
- Requestor => undef,
- Queue => undef,
- @_
- );
-
- # Notify the RT Admin of the failure.
- MailError(
- To => RT->Config->Get('OwnerEmail'),
- Subject => "Could not load a valid user",
- Explanation => <<EOT,
-RT could not load a valid user, and RT's configuration does not allow
-for the creation of a new user for this email (@{[$args{Requestor}]}).
-
-You might need to grant 'Everyone' the right '@{[$args{Right}]}' for the
-queue @{[$args{'Queue'}]}.
+ # {{{ If authentication fails and no new user was created, get out.
+ if ( !$CurrentUser or !$CurrentUser->Id or $AuthStat == -1 ) {
-EOT
- MIMEObj => $args{'Message'},
- LogLevel => 'error'
- );
-
- # Also notify the requestor that his request has been dropped.
- if ($args{'Requestor'} ne RT->Config->Get('OwnerEmail')) {
- MailError(
- To => $args{'Requestor'},
- Subject => "Could not load a valid user",
- Explanation => <<EOT,
+ # If the plugins refused to create one, they lose.
+ MailError(
+ Subject => "Could not load a valid user",
+ Explanation => <<EOT,
RT could not load a valid user, and RT's configuration does not allow
for the creation of a new user for your email.
+Your RT administrator needs to grant 'Everyone' the right 'CreateTicket'
+for this queue.
+
EOT
- MIMEObj => $args{'Message'},
- LogLevel => 'error'
- );
+ MIMEObj => $Message,
+ LogLevel => 'error' )
+ unless $AuthStat == -1;
+ return ( 0, "Could not load a valid user", undef );
}
-}
-
-=head2 _HandleMachineGeneratedMail
-
-Takes named params:
- Message
- ErrorsTo
- Subject
-
-Checks the message to see if it's a bounce, if it looks like a loop, if it's autogenerated, etc.
-Returns a triple of ("Should we continue (boolean)", "New value for $ErrorsTo", "Status message",
-"This message appears to be a loop (boolean)" );
-
-=cut
-sub _HandleMachineGeneratedMail {
- my %args = ( Message => undef, ErrorsTo => undef, Subject => undef, MessageId => undef, @_ );
- my $head = $args{'Message'}->head;
- my $ErrorsTo = $args{'ErrorsTo'};
-
- my $IsBounce = CheckForBounce($head);
+ # }}}
+ # {{{ Lets check for mail loops of various sorts.
my $IsAutoGenerated = CheckForAutoGenerated($head);
my $IsSuspiciousSender = CheckForSuspiciousSender($head);
@@ -1726,92 +496,153 @@ sub _HandleMachineGeneratedMail {
my $SquelchReplies = 0;
- my $owner_mail = RT->Config->Get('OwnerEmail');
-
#If the message is autogenerated, we need to know, so we can not
# send mail to the sender
- if ( $IsBounce || $IsSuspiciousSender || $IsAutoGenerated || $IsALoop ) {
+ if ( $IsSuspiciousSender || $IsAutoGenerated || $IsALoop ) {
$SquelchReplies = 1;
- $ErrorsTo = $owner_mail;
+ $ErrorsTo = $RT::OwnerEmail;
}
+ # }}}
+
+ # {{{ Drop it if it's disallowed
+ if ( $AuthStat == 0 ) {
+ MailError(
+ To => $ErrorsTo,
+ Subject => "Permission Denied",
+ Explanation => "You do not have permission to communicate with RT",
+ MIMEObj => $Message );
+ }
+
+ # }}}
+ # {{{ Warn someone if it's a loop
+
# Warn someone if it's a loop, before we drop it on the ground
if ($IsALoop) {
- $RT::Logger->crit("RT Received mail (".$args{MessageId}.") from itself.");
+ $RT::Logger->crit("RT Recieved mail ($MessageId) from itself.");
#Should we mail it to RTOwner?
- if ( RT->Config->Get('LoopsToRTOwner') ) {
- MailError(
- To => $owner_mail,
- Subject => "RT Bounce: ".$args{'Subject'},
- Explanation => "RT thinks this message may be a bounce",
- MIMEObj => $args{Message}
- );
- }
+ if ($RT::LoopsToRTOwner) {
+ MailError( To => $RT::OwnerEmail,
+ Subject => "RT Bounce: $Subject",
+ Explanation => "RT thinks this message may be a bounce",
+ MIMEObj => $Message );
- #Do we actually want to store it?
- return ( 0, $ErrorsTo, "Message Bounced", $IsALoop )
- unless RT->Config->Get('StoreLoops');
+ #Do we actually want to store it?
+ return ( 0, "Message Bounced", undef ) unless ($RT::StoreLoops);
+ }
}
- # Squelch replies if necessary
+ # }}}
+
+ # {{{ Squelch replies if necessary
# Don't let the user stuff the RT-Squelch-Replies-To header.
if ( $head->get('RT-Squelch-Replies-To') ) {
- $head->add(
- 'RT-Relocated-Squelch-Replies-To',
- $head->get('RT-Squelch-Replies-To')
- );
+ $head->add( 'RT-Relocated-Squelch-Replies-To',
+ $head->get('RT-Squelch-Replies-To') );
$head->delete('RT-Squelch-Replies-To');
}
if ($SquelchReplies) {
+ ## TODO: This is a hack. It should be some other way to
+ ## indicate that the transaction should be "silent".
- # Squelch replies to the sender, and also leave a clue to
- # allow us to squelch ALL outbound messages. This way we
- # can punt the logic of "what to do when we get a bounce"
- # to the scrip. We might want to notify nobody. Or just
- # the RT Owner. Or maybe all Privileged watchers.
my ( $Sender, $junk ) = ParseSenderAddressFromHead($head);
- $head->add( 'RT-Squelch-Replies-To', $Sender );
- $head->add( 'RT-DetectedAutoGenerated', 'true' );
+ $head->add( 'RT-Squelch-Replies-To', $Sender );
}
- return ( 1, $ErrorsTo, "Handled machine detection", $IsALoop );
-}
-=head2 IsCorrectAction
+ # }}}
-Returns a list of valid actions we've found for this message
+ my $Ticket = RT::Ticket->new($CurrentUser);
-=cut
+ # {{{ If we don't have a ticket Id, we're creating a new ticket
+ if ( !$args{'ticket'} ) {
+
+ # {{{ Create a new ticket
-sub IsCorrectAction {
- my $action = shift;
- my @actions = grep $_, split /-/, $action;
- return ( 0, '(no value)' ) unless @actions;
- foreach ( @actions ) {
- return ( 0, $_ ) unless /^(?:comment|correspond|take|resolve)$/;
+ my @Cc;
+ my @Requestors = ( $CurrentUser->id );
+
+ if ($RT::ParseNewMessageForTicketCcs) {
+ @Cc = ParseCcAddressesFromHead( Head => $head,
+ CurrentUser => $CurrentUser,
+ QueueObj => $SystemQueueObj );
+ }
+
+ my ( $id, $Transaction, $ErrStr ) = $Ticket->Create(
+ Queue => $SystemQueueObj->Id,
+ Subject => $Subject,
+ Requestor => \@Requestors,
+ Cc => \@Cc,
+ MIMEObj => $Message );
+ if ( $id == 0 ) {
+ MailError( To => $ErrorsTo,
+ Subject => "Ticket creation failed",
+ Explanation => $ErrStr,
+ MIMEObj => $Message );
+ $RT::Logger->error("Create failed: $id / $Transaction / $ErrStr ");
+ return ( 0, "Ticket creation failed", $Ticket );
+ }
+
+ # }}}
}
- return ( 1, @actions );
-}
-sub _RecordSendEmailFailure {
- my $ticket = shift;
- if ($ticket) {
- $ticket->_RecordNote(
- NoteType => 'SystemError',
- Content => "Sending the previous mail has failed. Please contact your admin, they can find more details in the logs.",
- );
- return 1;
+ # }}}
+
+ # If the action is comment, add a comment.
+ elsif ( $args{'action'} =~ /^(comment|correspond)$/i ) {
+ $Ticket->Load($args{'ticket'});
+ unless ( $Ticket->Id ) {
+ my $message = "Could not find a ticket with id ".$args{'ticket'};
+ MailError( To => $ErrorsTo,
+ Subject => "Message not recorded",
+ Explanation => $message,
+ MIMEObj => $Message );
+
+ return ( 0, $message);
+ }
+
+ my ( $status, $msg );
+ if ( $args{'action'} =~ /^correspond$/ ) {
+ ( $status, $msg ) = $Ticket->Correspond( MIMEObj => $Message );
+ }
+ else {
+ ( $status, $msg ) = $Ticket->Comment( MIMEObj => $Message );
+ }
+ unless ($status) {
+
+ #Warn the sender that we couldn't actually submit the comment.
+ MailError( To => $ErrorsTo,
+ Subject => "Message not recorded",
+ Explanation => $msg,
+ MIMEObj => $Message );
+ return ( 0, "Message not recorded", $Ticket );
+ }
}
+
else {
- $RT::Logger->error( "Can't record send email failure as ticket is missing" );
- return;
+
+ #Return mail to the sender with an error
+ MailError( To => $ErrorsTo,
+ Subject => "RT Configuration error",
+ Explanation => "'"
+ . $args{'action'}
+ . "' not a recognized action."
+ . " Your RT administrator has misconfigured "
+ . "the mail aliases which invoke RT",
+ MIMEObj => $Message );
+ $RT::Logger->crit( $args{'action'} . " type unknown for $MessageId" );
+ return ( 0, "Configuration error: " . $args{'action'} . " not a recognized action", $Ticket );
+
}
+
+
+return ( 1, "Success", $Ticket );
}
eval "require RT::Interface::Email_Vendor";
-die $@ if ( $@ && $@ !~ qr{^Can't locate RT/Interface/Email_Vendor.pm} );
+die $@ if ($@ && $@ !~ qr{^Can't locate RT/Interface/Email_Vendor.pm});
eval "require RT::Interface::Email_Local";
-die $@ if ( $@ && $@ !~ qr{^Can't locate RT/Interface/Email_Local.pm} );
+die $@ if ($@ && $@ !~ qr{^Can't locate RT/Interface/Email_Local.pm});
1;
diff --git a/rt/lib/RT/Interface/Web.pm b/rt/lib/RT/Interface/Web.pm
index ca357a31f..106209d64 100644
--- a/rt/lib/RT/Interface/Web.pm
+++ b/rt/lib/RT/Interface/Web.pm
@@ -2,8 +2,8 @@
#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
#
@@ -192,9 +192,6 @@ sub HandleRequest {
SendSessionCookie();
$HTML::Mason::Commands::session{'CurrentUser'} = RT::CurrentUser->new() unless _UserLoggedIn();
- # Process session-related callbacks before any auth attempts
- $HTML::Mason::Commands::m->callback( %$ARGS, CallbackName => 'Session', CallbackPage => '/autohandler' );
-
MaybeShowNoAuthPage($ARGS);
AttemptExternalAuth($ARGS) if RT->Config->Get('WebExternalAuthContinuous') or not _UserLoggedIn();
@@ -207,29 +204,13 @@ sub HandleRequest {
unless ( _UserLoggedIn() ) {
_ForceLogout();
- # Authenticate if the user is trying to login via user/pass query args
- my ($authed, $msg) = AttemptPasswordAuthentication($ARGS);
-
- unless ($authed) {
- my $m = $HTML::Mason::Commands::m;
-
- # REST urls get a special 401 response
- if ($m->request_comp->path =~ '^/REST/\d+\.\d+/') {
- $HTML::Mason::Commands::r->content_type("text/plain");
- $m->error_format("text");
- $m->out("RT/$RT::VERSION 401 Credentials required\n");
- $m->out("\n$msg\n") if $msg;
- $m->abort;
- }
- # Specially handle /index.html so that we get a nicer URL
- elsif ( $m->request_comp->path eq '/index.html' ) {
- my $next = SetNextPage(RT->Config->Get('WebURL'));
- $m->comp('/NoAuth/Login.html', next => $next, actions => [$msg]);
- $m->abort;
- }
- else {
- TangentForLogin(results => ($msg ? LoginError($msg) : undef));
- }
+ # If the user is logging in, let's authenticate
+ if ( defined $ARGS->{user} && defined $ARGS->{pass} ) {
+ AttemptPasswordAuthentication($ARGS);
+ } else {
+ # if no credentials then show him login page
+ $HTML::Mason::Commands::m->comp( '/Elements/Login', %$ARGS );
+ $HTML::Mason::Commands::m->abort;
}
}
@@ -242,9 +223,6 @@ sub HandleRequest {
ShowRequestedPage($ARGS);
LogRecordedSQLStatements();
-
- # Process per-page final cleanup callbacks
- $HTML::Mason::Commands::m->callback( %$ARGS, CallbackName => 'Final', CallbackPage => '/autohandler' );
}
sub _ForceLogout {
@@ -261,108 +239,6 @@ sub _UserLoggedIn {
}
-=head2 LoginError ERROR
-
-Pushes a login error into the Actions session store and returns the hash key.
-
-=cut
-
-sub LoginError {
- my $new = shift;
- my $key = Digest::MD5::md5_hex( rand(1024) );
- push @{ $HTML::Mason::Commands::session{"Actions"}->{$key} ||= [] }, $new;
- $HTML::Mason::Commands::session{'i'}++;
- return $key;
-}
-
-=head2 SetNextPage [PATH]
-
-Intuits and stashes the next page in the sesssion hash. If PATH is
-specified, uses that instead of the value of L<IntuitNextPage()>. Returns
-the hash value.
-
-=cut
-
-sub SetNextPage {
- my $next = shift || IntuitNextPage();
- my $hash = Digest::MD5::md5_hex($next . $$ . rand(1024));
-
- $HTML::Mason::Commands::session{'NextPage'}->{$hash} = $next;
- $HTML::Mason::Commands::session{'i'}++;
-
- SendSessionCookie();
- return $hash;
-}
-
-
-=head2 TangentForLogin [HASH]
-
-Redirects to C</NoAuth/Login.html>, setting the value of L<IntuitNextPage> as
-the next page. Optionally takes a hash which is dumped into query params.
-
-=cut
-
-sub TangentForLogin {
- my $hash = SetNextPage();
- my %query = (@_, next => $hash);
- my $login = RT->Config->Get('WebURL') . 'NoAuth/Login.html?';
- $login .= $HTML::Mason::Commands::m->comp('/Elements/QueryString', %query);
- Redirect($login);
-}
-
-=head2 TangentForLoginWithError ERROR
-
-Localizes the passed error message, stashes it with L<LoginError> and then
-calls L<TangentForLogin> with the appropriate results key.
-
-=cut
-
-sub TangentForLoginWithError {
- my $key = LoginError(HTML::Mason::Commands::loc(@_));
- TangentForLogin( results => $key );
-}
-
-=head2 IntuitNextPage
-
-Attempt to figure out the path to which we should return the user after a
-tangent. The current request URL is used, or failing that, the C<WebURL>
-configuration variable.
-
-=cut
-
-sub IntuitNextPage {
- my $req_uri;
-
- # This includes any query parameters. Redirect will take care of making
- # it an absolute URL.
- if ($ENV{'REQUEST_URI'}) {
- $req_uri = $ENV{'REQUEST_URI'};
-
- # collapse multiple leading slashes so the first part doesn't look like
- # a hostname of a schema-less URI
- $req_uri =~ s{^/+}{/};
- }
-
- my $next = defined $req_uri ? $req_uri : RT->Config->Get('WebURL');
-
- # sanitize $next
- my $uri = URI->new($next);
-
- # You get undef scheme with a relative uri like "/Search/Build.html"
- unless (!defined($uri->scheme) || $uri->scheme eq 'http' || $uri->scheme eq 'https') {
- $next = RT->Config->Get('WebURL');
- }
-
- # Make sure we're logging in to the same domain
- # You can get an undef authority with a relative uri like "index.html"
- my $uri_base_url = URI->new(RT->Config->Get('WebBaseURL'));
- unless (!defined($uri->authority) || $uri->authority eq $uri_base_url->authority) {
- $next = RT->Config->Get('WebURL');
- }
-
- return $next;
-}
-
=head2 MaybeShowInstallModePage
This function, called exclusively by RT's autohandler, dispatches
@@ -402,10 +278,6 @@ sub MaybeShowNoAuthPage {
return unless $m->base_comp->path =~ RT->Config->Get('WebNoAuthRegex');
- # Don't show the login page to logged in users
- Redirect(RT->Config->Get('WebURL'))
- if $m->base_comp->path eq '/NoAuth/Login.html' and _UserLoggedIn();
-
# If it's a noauth file, don't ask for auth.
SendSessionCookie();
$m->comp( { base_comp => $m->request_comp }, $m->fetch_next, %$ARGS );
@@ -508,12 +380,9 @@ sub AttemptExternalAuth {
# we failed to successfully create the user. abort abort abort.
delete $HTML::Mason::Commands::session{'CurrentUser'};
-
- if (RT->Config->Get('WebFallbackToInternalAuth')) {
- TangentForLoginWithError('Cannot create user: [_1]', $msg);
- } else {
- $m->abort();
- }
+ $m->comp( '/Elements/Login', %$ARGS, Error => HTML::Mason::Commands::loc( 'Cannot create user: [_1]', $msg ) )
+ if RT->Config->Get('WebFallbackToInternalAuth');;
+ $m->abort();
}
}
@@ -524,13 +393,15 @@ sub AttemptExternalAuth {
$user = $orig_user;
if ( RT->Config->Get('WebExternalOnly') ) {
- TangentForLoginWithError('You are not an authorized user');
+ $m->comp( '/Elements/Login', %$ARGS, Error => HTML::Mason::Commands::loc('You are not an authorized user') );
+ $m->abort();
}
}
} elsif ( RT->Config->Get('WebFallbackToInternalAuth') ) {
unless ( defined $HTML::Mason::Commands::session{'CurrentUser'} ) {
# XXX unreachable due to prior defaulting in HandleRequest (check c34d108)
- TangentForLoginWithError('You are not an authorized user');
+ $m->comp( '/Elements/Login', %$ARGS, Error => HTML::Mason::Commands::loc('You are not an authorized user') );
+ $m->abort();
}
} else {
@@ -543,9 +414,7 @@ sub AttemptExternalAuth {
}
sub AttemptPasswordAuthentication {
- my $ARGS = shift;
- return unless defined $ARGS->{user} && defined $ARGS->{pass};
-
+ my $ARGS = shift;
my $user_obj = RT::CurrentUser->new();
$user_obj->Load( $ARGS->{user} );
@@ -553,34 +422,15 @@ sub AttemptPasswordAuthentication {
unless ( $user_obj->id && $user_obj->IsPassword( $ARGS->{pass} ) ) {
$RT::Logger->error("FAILED LOGIN for @{[$ARGS->{user}]} from $ENV{'REMOTE_ADDR'}");
+ $m->comp( '/Elements/Login', %$ARGS, Error => HTML::Mason::Commands::loc('Your username or password is incorrect'), );
$m->callback( %$ARGS, CallbackName => 'FailedLogin', CallbackPage => '/autohandler' );
- return (0, HTML::Mason::Commands::loc('Your username or password is incorrect'));
+ $m->abort;
}
- else {
- $RT::Logger->info("Successful login for @{[$ARGS->{user}]} from $ENV{'REMOTE_ADDR'}");
-
- # It's important to nab the next page from the session before we blow
- # the session away
- my $next = delete $HTML::Mason::Commands::session{'NextPage'}->{$ARGS->{'next'} || ''};
-
- InstantiateNewSession();
- $HTML::Mason::Commands::session{'CurrentUser'} = $user_obj;
- SendSessionCookie();
- $m->callback( %$ARGS, CallbackName => 'SuccessfulLogin', CallbackPage => '/autohandler' );
-
- # Really the only time we don't want to redirect here is if we were
- # passed user and pass as query params in the URL.
- if ($next) {
- Redirect($next);
- }
- elsif ($ARGS->{'next'}) {
- # Invalid hash, but still wants to go somewhere, take them to /
- Redirect(RT->Config->Get('WebURL'));
- }
-
- return (1, HTML::Mason::Commands::loc('Logged in'));
- }
+ $RT::Logger->info("Successful login for @{[$ARGS->{user}]} from $ENV{'REMOTE_ADDR'}");
+ InstantiateNewSession();
+ $HTML::Mason::Commands::session{'CurrentUser'} = $user_obj;
+ $m->callback( %$ARGS, CallbackName => 'SuccessfulLogin', CallbackPage => '/autohandler' );
}
=head2 LoadSessionFromCookie
@@ -647,13 +497,6 @@ sub Redirect {
untie $HTML::Mason::Commands::session;
my $uri = URI->new($redir_to);
my $server_uri = URI->new( RT->Config->Get('WebURL') );
-
- # Make relative URIs absolute from the server host and scheme
- $uri->scheme($server_uri->scheme) if not defined $uri->scheme;
- if (not defined $uri->host) {
- $uri->host($server_uri->host);
- $uri->port($server_uri->port);
- }
# If the user is coming in via a non-canonical
# hostname, don't redirect them to the canonical host,
@@ -1502,8 +1345,6 @@ sub ParseDateToISO {
sub ProcessACLChanges {
my $ARGSref = shift;
- #XXX: why don't we get ARGSref like in other Process* subs?
-
my @results;
foreach my $arg ( keys %$ARGSref ) {
@@ -1871,6 +1712,9 @@ sub _ProcessObjectCustomFieldUpdates {
$values_hash{$val} = 1 if $val;
}
+ # For Date Cfs, @values is empty when there is no changes (no datas in form input)
+ return @results if ( $cf->Type eq 'Date' && ! @values );
+
$cf_values->RedoSearch;
while ( my $cf_value = $cf_values->Next ) {
next if $values_hash{ $cf_value->id };
diff --git a/rt/lib/RT/Interface/Web_Vendor.pm b/rt/lib/RT/Interface/Web_Vendor.pm
new file mode 100644
index 000000000..1999096a7
--- /dev/null
+++ b/rt/lib/RT/Interface/Web_Vendor.pm
@@ -0,0 +1,201 @@
+# Copyright (c) 2004 Ivan Kohler <ivan-rt@420.am>
+# Copyright (c) 2008 Freeside Internet Services, Inc.
+#
+# 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.
+
+=head1 NAME
+
+RT::Interface::Web_Vendor
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+Freeside vendor overlay for RT::Interface::Web.
+
+=begin testing
+
+use_ok(RT::Interface::Web_Vendor);
+
+=end testing
+
+=cut
+
+#package RT::Interface::Web;
+#use strict;
+
+package HTML::Mason::Commands;
+use strict;
+
+=head2 ProcessTicketCustomers
+
+=cut
+
+sub ProcessTicketCustomers {
+ my %args = (
+ TicketObj => undef,
+ ARGSRef => undef,
+ Debug => 0,
+ @_
+ );
+ my @results = ();
+
+ my $Ticket = $args{'TicketObj'};
+ my $ARGSRef = $args{'ARGSRef'};
+ my $Debug = $args{'Debug'};
+ my $me = 'ProcessTicketCustomers';
+
+ ### false laziness w/RT::Interface::Web::ProcessTicketLinks
+ # Delete links that are gone gone gone.
+ foreach my $arg ( keys %$ARGSRef ) {
+ if ( $arg =~ /DeleteLink-(.*?)-(DependsOn|MemberOf|RefersTo)-(.*)$/ ) {
+ my $base = $1;
+ my $type = $2;
+ my $target = $3;
+
+ push @results,
+ "Trying to delete: Base: $base Target: $target Type $type";
+ my ( $val, $msg ) = $Ticket->DeleteLink( Base => $base,
+ Type => $type,
+ Target => $target );
+
+ push @results, $msg;
+
+ }
+
+ }
+ ###
+
+ ###
+ #find new customers
+ ###
+
+ my @custnums = map { /^Ticket-AddCustomer-(\d+)$/; $1 }
+ grep { /^Ticket-AddCustomer-(\d+)$/ && $ARGSRef->{$_} }
+ keys %$ARGSRef;
+
+ #my @delete_custnums =
+ # map { /^Ticket-AddCustomer-(\d+)$/; $1 }
+ # grep { /^Ticket-AddCustomer-(\d+)$/ && $ARGSRef->{$_} }
+ # keys %$ARGSRef;
+
+ ###
+ #figure out if we're going to auto-link requestors, and find them if so
+ ###
+
+ my $num_cur_cust = $Ticket->Customers->Count;
+ my $num_new_cust = scalar(@custnums);
+ warn "$me: $num_cur_cust current customers / $num_new_cust new customers\n"
+ if $Debug;
+
+ #if we're linking the first ticket to one customer
+ my $link_requestors = ( $num_cur_cust == 0 && $num_new_cust == 1 );
+ warn "$me: adding a single customer to a previously customerless".
+ " ticket, so linking customers to requestor too\n"
+ if $Debug && $link_requestors;
+
+ my @Requestors = ();
+ if ( $link_requestors ) {
+
+ #find any requestors without customers
+ @Requestors =
+ grep { ! $_->Customers->Count }
+ @{ $Ticket->Requestors->UserMembersObj->ItemsArrayRef };
+
+ warn "$me: found ". scalar(@Requestors). " requestors without".
+ " customers; linking them\n"
+ if $Debug;
+
+ }
+
+ ###
+ #link ticket (and requestors) to customers
+ ###
+
+ foreach my $custnum ( @custnums ) {
+
+ my @link = ( 'Type' => 'MemberOf',
+ 'Target' => "freeside://freeside/cust_main/$custnum",
+ );
+
+ my( $val, $msg ) = $Ticket->AddLink(@link);
+ push @results, $msg;
+
+ #add customer links to requestors
+ foreach my $Requestor ( @Requestors ) {
+ my( $val, $msg ) = $Requestor->AddLink(@link);
+ push @results, $msg;
+ warn "$me: linking requestor to custnum $custnum: $msg\n"
+ if $Debug > 1;
+ }
+
+ }
+
+ return @results;
+
+}
+
+#false laziness w/above... eventually it should go away in favor of this
+sub ProcessObjectCustomers {
+ my %args = (
+ Object => undef,
+ ARGSRef => undef,
+ @_
+ );
+ my @results = ();
+
+ my $Object = $args{'Object'};
+ my $ARGSRef = $args{'ARGSRef'};
+
+ ### false laziness w/RT::Interface::Web::ProcessTicketLinks
+ # Delete links that are gone gone gone.
+ foreach my $arg ( keys %$ARGSRef ) {
+ if ( $arg =~ /DeleteLink-(.*?)-(DependsOn|MemberOf|RefersTo)-(.*)$/ ) {
+ my $base = $1;
+ my $type = $2;
+ my $target = $3;
+
+ push @results,
+ "Trying to delete: Base: $base Target: $target Type $type";
+ my ( $val, $msg ) = $Object->DeleteLink( Base => $base,
+ Type => $type,
+ Target => $target );
+
+ push @results, $msg;
+
+ }
+
+ }
+ ###
+
+ #my @delete_custnums =
+ # map { /^Object-AddCustomer-(\d+)$/; $1 }
+ # grep { /^Object-AddCustomer-(\d+)$/ && $ARGSRef->{$_} }
+ # keys %$ARGSRef;
+
+ my @custnums = map { /^Object-AddCustomer-(\d+)$/; $1 }
+ grep { /^Object-AddCustomer-(\d+)$/ && $ARGSRef->{$_} }
+ keys %$ARGSRef;
+
+ foreach my $custnum ( @custnums ) {
+ my( $val, $msg ) =
+ $Object->AddLink( 'Type' => 'MemberOf',
+ 'Target' => "freeside://freeside/cust_main/$custnum",
+ );
+ push @results, $msg;
+ }
+
+ return @results;
+
+}
+
+1;
+
diff --git a/rt/lib/RT/Link.pm b/rt/lib/RT/Link.pm
index 027962e5f..962c378a8 100644
--- a/rt/lib/RT/Link.pm
+++ b/rt/lib/RT/Link.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -86,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -123,7 +98,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -132,14 +107,14 @@ Returns the current value of id.
=cut
-=head2 Base
+=item Base
Returns the current value of Base.
(In the database, Base is stored as varchar(240).)
-=head2 SetBase VALUE
+=item SetBase VALUE
Set Base to VALUE.
@@ -150,14 +125,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Target
+=item Target
Returns the current value of Target.
(In the database, Target is stored as varchar(240).)
-=head2 SetTarget VALUE
+=item SetTarget VALUE
Set Target to VALUE.
@@ -168,14 +143,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Type
+=item Type
Returns the current value of Type.
(In the database, Type is stored as varchar(20).)
-=head2 SetType VALUE
+=item SetType VALUE
Set Type to VALUE.
@@ -186,14 +161,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 LocalTarget
+=item LocalTarget
Returns the current value of LocalTarget.
(In the database, LocalTarget is stored as int(11).)
-=head2 SetLocalTarget VALUE
+=item SetLocalTarget VALUE
Set LocalTarget to VALUE.
@@ -204,14 +179,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 LocalBase
+=item LocalBase
Returns the current value of LocalBase.
(In the database, LocalBase is stored as int(11).)
-=head2 SetLocalBase VALUE
+=item SetLocalBase VALUE
Set LocalBase to VALUE.
@@ -222,7 +197,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 LastUpdatedBy
+=item LastUpdatedBy
Returns the current value of LastUpdatedBy.
(In the database, LastUpdatedBy is stored as int(11).)
@@ -231,7 +206,7 @@ Returns the current value of LastUpdatedBy.
=cut
-=head2 LastUpdated
+=item LastUpdated
Returns the current value of LastUpdated.
(In the database, LastUpdated is stored as datetime.)
@@ -240,7 +215,7 @@ Returns the current value of LastUpdated.
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -249,7 +224,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -259,29 +234,29 @@ Returns the current value of Created.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
Base =>
- {read => 1, write => 1, sql_type => 12, length => 240, is_blob => 0, is_numeric => 0, type => 'varchar(240)', default => ''},
+ {read => 1, write => 1, type => 'varchar(240)', default => ''},
Target =>
- {read => 1, write => 1, sql_type => 12, length => 240, is_blob => 0, is_numeric => 0, type => 'varchar(240)', default => ''},
+ {read => 1, write => 1, type => 'varchar(240)', default => ''},
Type =>
- {read => 1, write => 1, sql_type => 12, length => 20, is_blob => 0, is_numeric => 0, type => 'varchar(20)', default => ''},
+ {read => 1, write => 1, type => 'varchar(20)', default => ''},
LocalTarget =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
LocalBase =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
LastUpdatedBy =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
LastUpdated =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
}
};
@@ -313,7 +288,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Links.pm b/rt/lib/RT/Links.pm
index bd0b2971c..7a1773af9 100644
--- a/rt/lib/RT/Links.pm
+++ b/rt/lib/RT/Links.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::Link item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Principal_Overlay.pm b/rt/lib/RT/Principal_Overlay.pm
index 2ceca4622..42474f863 100644
--- a/rt/lib/RT/Principal_Overlay.pm
+++ b/rt/lib/RT/Principal_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
#
@@ -163,6 +163,8 @@ sub GrantRight {
my $type = $self->_GetPrincipalTypeForACL();
+ RT->System->QueueCacheNeedsUpdate(1) if $args{'Right'} eq 'SeeQueue';
+
# If it's a user, we really want to grant the right to their
# user equivalence group
return $ace->Create(
@@ -210,6 +212,8 @@ sub RevokeRight {
PrincipalType => $type,
PrincipalId => $self->Id
);
+
+ RT->System->QueueCacheNeedsUpdate(1) if $args{'Right'} eq 'SeeQueue';
return ($status, $msg) unless $status;
return $ace->Delete;
}
diff --git a/rt/lib/RT/Queue.pm b/rt/lib/RT/Queue.pm
index 7a8604685..b362c9f0d 100755
--- a/rt/lib/RT/Queue.pm
+++ b/rt/lib/RT/Queue.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -86,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -132,7 +107,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -141,14 +116,14 @@ Returns the current value of id.
=cut
-=head2 Name
+=item Name
Returns the current value of Name.
(In the database, Name is stored as varchar(200).)
-=head2 SetName VALUE
+=item SetName VALUE
Set Name to VALUE.
@@ -159,14 +134,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Description
+=item Description
Returns the current value of Description.
(In the database, Description is stored as varchar(255).)
-=head2 SetDescription VALUE
+=item SetDescription VALUE
Set Description to VALUE.
@@ -177,14 +152,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 CorrespondAddress
+=item CorrespondAddress
Returns the current value of CorrespondAddress.
(In the database, CorrespondAddress is stored as varchar(120).)
-=head2 SetCorrespondAddress VALUE
+=item SetCorrespondAddress VALUE
Set CorrespondAddress to VALUE.
@@ -195,14 +170,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 CommentAddress
+=item CommentAddress
Returns the current value of CommentAddress.
(In the database, CommentAddress is stored as varchar(120).)
-=head2 SetCommentAddress VALUE
+=item SetCommentAddress VALUE
Set CommentAddress to VALUE.
@@ -213,14 +188,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 InitialPriority
+=item InitialPriority
Returns the current value of InitialPriority.
(In the database, InitialPriority is stored as int(11).)
-=head2 SetInitialPriority VALUE
+=item SetInitialPriority VALUE
Set InitialPriority to VALUE.
@@ -231,14 +206,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 FinalPriority
+=item FinalPriority
Returns the current value of FinalPriority.
(In the database, FinalPriority is stored as int(11).)
-=head2 SetFinalPriority VALUE
+=item SetFinalPriority VALUE
Set FinalPriority to VALUE.
@@ -249,14 +224,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 DefaultDueIn
+=item DefaultDueIn
Returns the current value of DefaultDueIn.
(In the database, DefaultDueIn is stored as int(11).)
-=head2 SetDefaultDueIn VALUE
+=item SetDefaultDueIn VALUE
Set DefaultDueIn to VALUE.
@@ -267,7 +242,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -276,7 +251,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -285,7 +260,7 @@ Returns the current value of Created.
=cut
-=head2 LastUpdatedBy
+=item LastUpdatedBy
Returns the current value of LastUpdatedBy.
(In the database, LastUpdatedBy is stored as int(11).)
@@ -294,7 +269,7 @@ Returns the current value of LastUpdatedBy.
=cut
-=head2 LastUpdated
+=item LastUpdated
Returns the current value of LastUpdated.
(In the database, LastUpdated is stored as datetime.)
@@ -303,14 +278,14 @@ Returns the current value of LastUpdated.
=cut
-=head2 Disabled
+=item Disabled
Returns the current value of Disabled.
(In the database, Disabled is stored as smallint(6).)
-=head2 SetDisabled VALUE
+=item SetDisabled VALUE
Set Disabled to VALUE.
@@ -322,35 +297,35 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
Name =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
Description =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
CorrespondAddress =>
- {read => 1, write => 1, sql_type => 12, length => 120, is_blob => 0, is_numeric => 0, type => 'varchar(120)', default => ''},
+ {read => 1, write => 1, type => 'varchar(120)', default => ''},
CommentAddress =>
- {read => 1, write => 1, sql_type => 12, length => 120, is_blob => 0, is_numeric => 0, type => 'varchar(120)', default => ''},
+ {read => 1, write => 1, type => 'varchar(120)', default => ''},
InitialPriority =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
FinalPriority =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
DefaultDueIn =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
LastUpdatedBy =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
LastUpdated =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
Disabled =>
- {read => 1, write => 1, sql_type => 5, length => 6, is_blob => 0, is_numeric => 1, type => 'smallint(6)', default => '0'},
+ {read => 1, write => 1, type => 'smallint(6)', default => '0'},
}
};
@@ -382,7 +357,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Queue_Local.pm b/rt/lib/RT/Queue_Local.pm
new file mode 100644
index 000000000..6ebe2190a
--- /dev/null
+++ b/rt/lib/RT/Queue_Local.pm
@@ -0,0 +1,72 @@
+package RT::Queue;
+
+use strict;
+use warnings;
+
+# Adjust various saved settings that might have the old queue name in them.
+# $changes{'AttributeName'} = sub (attribute, old queue name, new queue name)
+# where the sub changes any reference to the old name to the new name
+# returning a positive value on success,
+# or (0, error string) if it fails somehow
+# or -1 if the old name isn't found
+
+my %changes = (
+ 'SavedSearch' => sub {
+ my ($attr, $old, $new) = @_;
+ # Deal with queue names containing single quotes.
+ $old =~ s/'/\\'/g;
+ $new =~ s/'/\\'/g;
+ my $string = $attr->SubValue('Query');
+ # Deal with queue names containing regex metacharacters.
+ if ( $string =~ s/Queue\W+\K'\Q$old\E'/'$new'/ ) {
+ return $attr->SetSubValues(Query => $string);
+ }
+ -1;
+ },
+ 'Pref-QuickSearch' => sub {
+ my ($attr, $old, $new) = @_;
+ my $x = $attr->SubValue($old);
+ return -1 if !defined($x);
+ my @err = $attr->DeleteSubValue($old);
+ return @err if !$err[0];
+ return $attr->SetSubValues($new => $x);
+ },
+);
+
+sub SetName {
+ my $self = shift;
+ my $new = shift;
+
+ # We may potentially change anything at all.
+ unless ( $self->CurrentUser->HasRight(
+ Right => 'SuperUser', Object => 'RT::System' )
+ ) {
+ return ( 0, $self->loc("SuperUser access required to rename queues") );
+ }
+
+ $RT::Handle->BeginTransaction();
+ my $old = $self->Name;
+ my ($err, $msg) = $self->SUPER::SetName($new);
+ unless ($err) {
+ $RT::Handle->Rollback;
+ return (0, "Unable to rename queue to '$new': $msg");
+ }
+ foreach my $attrname (keys %changes) {
+ my $Attributes = RT::Attributes->new($self->CurrentUser);
+ $Attributes->UnLimit;
+ foreach my $attr ( $Attributes->Named($attrname) ) {
+ ($err, $msg) = &{ $changes{$attrname} }($attr, $old, $new);
+ unless ($err) {
+ $RT::Handle->Rollback;
+ return (0, "Unable to change attribute $attrname - ".
+ $attr->Description. ": $msg");
+ }
+ }
+ }
+ RT->System->QueueCacheNeedsUpdate(1);
+ $RT::Handle->Commit;
+ return 1, "Name changed from '$old' to '$new'";
+}
+
+
+1;
diff --git a/rt/lib/RT/Queue_Overlay.pm b/rt/lib/RT/Queue_Overlay.pm
index c7ab7f354..dcca84eb4 100644
--- a/rt/lib/RT/Queue_Overlay.pm
+++ b/rt/lib/RT/Queue_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -381,6 +381,8 @@ sub Create {
unless $status;
}
+ RT->System->QueueCacheNeedsUpdate(1);
+
return ( $id, $self->loc("Queue created") );
}
@@ -421,6 +423,8 @@ sub SetDisabled {
$RT::Handle->Commit();
+ RT->System->QueueCacheNeedsUpdate(1);
+
if ( $val == 1 ) {
return (1, $self->loc("Queue disabled"));
} else {
diff --git a/rt/lib/RT/Queues.pm b/rt/lib/RT/Queues.pm
index 4b4c67825..60aec9086 100755
--- a/rt/lib/RT/Queues.pm
+++ b/rt/lib/RT/Queues.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::Queue item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Record.pm b/rt/lib/RT/Record.pm
index 804adb876..78bbe915d 100755
--- a/rt/lib/RT/Record.pm
+++ b/rt/lib/RT/Record.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -67,6 +67,7 @@ use strict;
use warnings;
use RT::Date;
+use RT::I18N;
use RT::User;
use RT::Attributes;
use Encode qw();
@@ -723,7 +724,7 @@ Takes a potentially large attachment. Returns (ContentEncoding, EncodedBody) bas
sub _EncodeLOB {
my $self = shift;
my $Body = shift;
- my $MIMEType = shift || '';
+ my $MIMEType = shift;
my $ContentEncoding = 'none';
@@ -803,6 +804,7 @@ sub _DecodeLOB {
elsif ( $ContentEncoding && $ContentEncoding ne 'none' ) {
return ( $self->loc( "Unknown ContentEncoding [_1]", $ContentEncoding ) );
}
+
if ( RT::I18N::IsTextualContentType($ContentType) ) {
$Content = Encode::decode_utf8($Content) unless Encode::is_utf8($Content);
}
@@ -1171,8 +1173,37 @@ sub DependsOn {
# }}}
+# {{{ Customers
+
+=head2 Customers
+ This returns an RT::Links object which references all the customers that this object is a member of.
+
+=cut
+sub Customers {
+ my( $self, %opt ) = @_;
+ my $Debug = $opt{'Debug'};
+
+ unless ( $self->{'Customers'} ) {
+
+ $self->{'Customers'} = $self->MemberOf->Clone;
+
+ $self->{'Customers'}->Limit(
+ FIELD => 'Target',
+ OPERATOR => 'STARTSWITH',
+ VALUE => 'freeside://freeside/cust_main/',
+ );
+ }
+
+ warn "->Customers method called on $self; returning ".
+ ref($self->{'Customers'}). ' object'
+ if $Debug;
+
+ return $self->{'Customers'};
+}
+
+# }}}
# {{{ sub _Links
@@ -1713,6 +1744,25 @@ sub _AddCustomFieldValue {
}
my $new_content = $new_value->Content;
+
+ # For date, we need to display them in "human" format in result message
+ if ($cf->Type eq 'Date') {
+ my $DateObj = new RT::Date( $self->CurrentUser );
+ $DateObj->Set(
+ Format => 'ISO',
+ Value => $new_content,
+ );
+ $new_content = $DateObj->AsString;
+
+ if ( defined $old_content && length $old_content ) {
+ $DateObj->Set(
+ Format => 'ISO',
+ Value => $old_content,
+ );
+ $old_content = $DateObj->AsString;
+ }
+ }
+
unless ( defined $old_content && length $old_content ) {
return ( $new_value_id, $self->loc( "[_1] [_2] added", $cf->Name, $new_content ));
}
@@ -1801,11 +1851,21 @@ sub DeleteCustomFieldValue {
return ( 0, $self->loc( "Couldn't create a transaction: [_1]", $Msg ) );
}
+ my $old_value = $TransactionObj->OldValue;
+ # For date, we need to display them in "human" format in result message
+ if ( $cf->Type eq 'Date' ) {
+ my $DateObj = new RT::Date( $self->CurrentUser );
+ $DateObj->Set(
+ Format => 'ISO',
+ Value => $old_value,
+ );
+ $old_value = $DateObj->AsString;
+ }
return (
$TransactionId,
$self->loc(
"[_1] is no longer a value for custom field [_2]",
- $TransactionObj->OldValue, $cf->Name
+ $old_value, $cf->Name
)
);
}
diff --git a/rt/lib/RT/SavedSearches_Local.pm b/rt/lib/RT/SavedSearches_Local.pm
new file mode 100644
index 000000000..7159bc912
--- /dev/null
+++ b/rt/lib/RT/SavedSearches_Local.pm
@@ -0,0 +1,19 @@
+# backport from RT4 RT::SharedSettings
+
+package RT::SavedSearches;
+
+use strict;
+no warnings 'redefine';
+
+sub CountAll {
+ my $self = shift;
+ return $self->Count;
+}
+
+sub GotoPage {
+ my $self = shift;
+ $self->{idx} = shift;
+}
+
+1;
+
diff --git a/rt/lib/RT/Scrip.pm b/rt/lib/RT/Scrip.pm
index 4333f239f..a69dde04e 100755
--- a/rt/lib/RT/Scrip.pm
+++ b/rt/lib/RT/Scrip.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -90,7 +65,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -145,7 +120,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -154,14 +129,14 @@ Returns the current value of id.
=cut
-=head2 Description
+=item Description
Returns the current value of Description.
(In the database, Description is stored as varchar(255).)
-=head2 SetDescription VALUE
+=item SetDescription VALUE
Set Description to VALUE.
@@ -172,14 +147,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ScripCondition
+=item ScripCondition
Returns the current value of ScripCondition.
(In the database, ScripCondition is stored as int(11).)
-=head2 SetScripCondition VALUE
+=item SetScripCondition VALUE
Set ScripCondition to VALUE.
@@ -190,7 +165,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ScripConditionObj
+=item ScripConditionObj
Returns the ScripCondition Object which has the id returned by ScripCondition
@@ -204,14 +179,14 @@ sub ScripConditionObj {
return($ScripCondition);
}
-=head2 ScripAction
+=item ScripAction
Returns the current value of ScripAction.
(In the database, ScripAction is stored as int(11).)
-=head2 SetScripAction VALUE
+=item SetScripAction VALUE
Set ScripAction to VALUE.
@@ -222,7 +197,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ScripActionObj
+=item ScripActionObj
Returns the ScripAction Object which has the id returned by ScripAction
@@ -236,14 +211,14 @@ sub ScripActionObj {
return($ScripAction);
}
-=head2 ConditionRules
+=item ConditionRules
Returns the current value of ConditionRules.
(In the database, ConditionRules is stored as text.)
-=head2 SetConditionRules VALUE
+=item SetConditionRules VALUE
Set ConditionRules to VALUE.
@@ -254,14 +229,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ActionRules
+=item ActionRules
Returns the current value of ActionRules.
(In the database, ActionRules is stored as text.)
-=head2 SetActionRules VALUE
+=item SetActionRules VALUE
Set ActionRules to VALUE.
@@ -272,14 +247,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 CustomIsApplicableCode
+=item CustomIsApplicableCode
Returns the current value of CustomIsApplicableCode.
(In the database, CustomIsApplicableCode is stored as text.)
-=head2 SetCustomIsApplicableCode VALUE
+=item SetCustomIsApplicableCode VALUE
Set CustomIsApplicableCode to VALUE.
@@ -290,14 +265,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 CustomPrepareCode
+=item CustomPrepareCode
Returns the current value of CustomPrepareCode.
(In the database, CustomPrepareCode is stored as text.)
-=head2 SetCustomPrepareCode VALUE
+=item SetCustomPrepareCode VALUE
Set CustomPrepareCode to VALUE.
@@ -308,14 +283,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 CustomCommitCode
+=item CustomCommitCode
Returns the current value of CustomCommitCode.
(In the database, CustomCommitCode is stored as text.)
-=head2 SetCustomCommitCode VALUE
+=item SetCustomCommitCode VALUE
Set CustomCommitCode to VALUE.
@@ -326,14 +301,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Stage
+=item Stage
Returns the current value of Stage.
(In the database, Stage is stored as varchar(32).)
-=head2 SetStage VALUE
+=item SetStage VALUE
Set Stage to VALUE.
@@ -344,14 +319,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Queue
+=item Queue
Returns the current value of Queue.
(In the database, Queue is stored as int(11).)
-=head2 SetQueue VALUE
+=item SetQueue VALUE
Set Queue to VALUE.
@@ -362,7 +337,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 QueueObj
+=item QueueObj
Returns the Queue Object which has the id returned by Queue
@@ -376,14 +351,14 @@ sub QueueObj {
return($Queue);
}
-=head2 Template
+=item Template
Returns the current value of Template.
(In the database, Template is stored as int(11).)
-=head2 SetTemplate VALUE
+=item SetTemplate VALUE
Set Template to VALUE.
@@ -394,7 +369,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 TemplateObj
+=item TemplateObj
Returns the Template Object which has the id returned by Template
@@ -408,7 +383,7 @@ sub TemplateObj {
return($Template);
}
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -417,7 +392,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -426,7 +401,7 @@ Returns the current value of Created.
=cut
-=head2 LastUpdatedBy
+=item LastUpdatedBy
Returns the current value of LastUpdatedBy.
(In the database, LastUpdatedBy is stored as int(11).)
@@ -435,7 +410,7 @@ Returns the current value of LastUpdatedBy.
=cut
-=head2 LastUpdated
+=item LastUpdated
Returns the current value of LastUpdated.
(In the database, LastUpdated is stored as datetime.)
@@ -445,41 +420,41 @@ Returns the current value of LastUpdated.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
Description =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
ScripCondition =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
ScripAction =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
ConditionRules =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'text', default => ''},
+ {read => 1, write => 1, type => 'text', default => ''},
ActionRules =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'text', default => ''},
+ {read => 1, write => 1, type => 'text', default => ''},
CustomIsApplicableCode =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'text', default => ''},
+ {read => 1, write => 1, type => 'text', default => ''},
CustomPrepareCode =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'text', default => ''},
+ {read => 1, write => 1, type => 'text', default => ''},
CustomCommitCode =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'text', default => ''},
+ {read => 1, write => 1, type => 'text', default => ''},
Stage =>
- {read => 1, write => 1, sql_type => 12, length => 32, is_blob => 0, is_numeric => 0, type => 'varchar(32)', default => ''},
+ {read => 1, write => 1, type => 'varchar(32)', default => ''},
Queue =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Template =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
LastUpdatedBy =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
LastUpdated =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
}
};
@@ -511,7 +486,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/ScripAction.pm b/rt/lib/RT/ScripAction.pm
index 9afcb8426..26824df5d 100755
--- a/rt/lib/RT/ScripAction.pm
+++ b/rt/lib/RT/ScripAction.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -86,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -120,7 +95,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -129,14 +104,14 @@ Returns the current value of id.
=cut
-=head2 Name
+=item Name
Returns the current value of Name.
(In the database, Name is stored as varchar(200).)
-=head2 SetName VALUE
+=item SetName VALUE
Set Name to VALUE.
@@ -147,14 +122,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Description
+=item Description
Returns the current value of Description.
(In the database, Description is stored as varchar(255).)
-=head2 SetDescription VALUE
+=item SetDescription VALUE
Set Description to VALUE.
@@ -165,14 +140,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ExecModule
+=item ExecModule
Returns the current value of ExecModule.
(In the database, ExecModule is stored as varchar(60).)
-=head2 SetExecModule VALUE
+=item SetExecModule VALUE
Set ExecModule to VALUE.
@@ -183,14 +158,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Argument
+=item Argument
Returns the current value of Argument.
(In the database, Argument is stored as varchar(255).)
-=head2 SetArgument VALUE
+=item SetArgument VALUE
Set Argument to VALUE.
@@ -201,7 +176,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -210,7 +185,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -219,7 +194,7 @@ Returns the current value of Created.
=cut
-=head2 LastUpdatedBy
+=item LastUpdatedBy
Returns the current value of LastUpdatedBy.
(In the database, LastUpdatedBy is stored as int(11).)
@@ -228,7 +203,7 @@ Returns the current value of LastUpdatedBy.
=cut
-=head2 LastUpdated
+=item LastUpdated
Returns the current value of LastUpdated.
(In the database, LastUpdated is stored as datetime.)
@@ -238,27 +213,27 @@ Returns the current value of LastUpdated.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
Name =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
Description =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
ExecModule =>
- {read => 1, write => 1, sql_type => 12, length => 60, is_blob => 0, is_numeric => 0, type => 'varchar(60)', default => ''},
+ {read => 1, write => 1, type => 'varchar(60)', default => ''},
Argument =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
LastUpdatedBy =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
LastUpdated =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
}
};
@@ -290,7 +265,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/ScripActions.pm b/rt/lib/RT/ScripActions.pm
index c1f8efd2b..614ff374f 100755
--- a/rt/lib/RT/ScripActions.pm
+++ b/rt/lib/RT/ScripActions.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::ScripAction item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/ScripCondition.pm b/rt/lib/RT/ScripCondition.pm
index a4cb26884..fe0aa2d5a 100755
--- a/rt/lib/RT/ScripCondition.pm
+++ b/rt/lib/RT/ScripCondition.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -86,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -123,7 +98,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -132,14 +107,14 @@ Returns the current value of id.
=cut
-=head2 Name
+=item Name
Returns the current value of Name.
(In the database, Name is stored as varchar(200).)
-=head2 SetName VALUE
+=item SetName VALUE
Set Name to VALUE.
@@ -150,14 +125,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Description
+=item Description
Returns the current value of Description.
(In the database, Description is stored as varchar(255).)
-=head2 SetDescription VALUE
+=item SetDescription VALUE
Set Description to VALUE.
@@ -168,14 +143,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ExecModule
+=item ExecModule
Returns the current value of ExecModule.
(In the database, ExecModule is stored as varchar(60).)
-=head2 SetExecModule VALUE
+=item SetExecModule VALUE
Set ExecModule to VALUE.
@@ -186,14 +161,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Argument
+=item Argument
Returns the current value of Argument.
(In the database, Argument is stored as varchar(255).)
-=head2 SetArgument VALUE
+=item SetArgument VALUE
Set Argument to VALUE.
@@ -204,14 +179,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ApplicableTransTypes
+=item ApplicableTransTypes
Returns the current value of ApplicableTransTypes.
(In the database, ApplicableTransTypes is stored as varchar(60).)
-=head2 SetApplicableTransTypes VALUE
+=item SetApplicableTransTypes VALUE
Set ApplicableTransTypes to VALUE.
@@ -222,7 +197,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -231,7 +206,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -240,7 +215,7 @@ Returns the current value of Created.
=cut
-=head2 LastUpdatedBy
+=item LastUpdatedBy
Returns the current value of LastUpdatedBy.
(In the database, LastUpdatedBy is stored as int(11).)
@@ -249,7 +224,7 @@ Returns the current value of LastUpdatedBy.
=cut
-=head2 LastUpdated
+=item LastUpdated
Returns the current value of LastUpdated.
(In the database, LastUpdated is stored as datetime.)
@@ -259,29 +234,29 @@ Returns the current value of LastUpdated.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
Name =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
Description =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
ExecModule =>
- {read => 1, write => 1, sql_type => 12, length => 60, is_blob => 0, is_numeric => 0, type => 'varchar(60)', default => ''},
+ {read => 1, write => 1, type => 'varchar(60)', default => ''},
Argument =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
ApplicableTransTypes =>
- {read => 1, write => 1, sql_type => 12, length => 60, is_blob => 0, is_numeric => 0, type => 'varchar(60)', default => ''},
+ {read => 1, write => 1, type => 'varchar(60)', default => ''},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
LastUpdatedBy =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
LastUpdated =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
}
};
@@ -313,7 +288,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/ScripConditions.pm b/rt/lib/RT/ScripConditions.pm
index 828e5f414..34f788d9c 100755
--- a/rt/lib/RT/ScripConditions.pm
+++ b/rt/lib/RT/ScripConditions.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::ScripCondition item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Scrip_Overlay.pm b/rt/lib/RT/Scrip_Overlay.pm
index 3c89f84f2..b5beb3434 100644
--- a/rt/lib/RT/Scrip_Overlay.pm
+++ b/rt/lib/RT/Scrip_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -103,6 +103,8 @@ sub Create {
CustomPrepareCode => undef,
CustomCommitCode => undef,
CustomIsApplicableCode => undef,
+ ConditionRules => undef,
+ ActionRules => undef,
@_
);
@@ -162,6 +164,8 @@ sub Create {
CustomPrepareCode => $args{'CustomPrepareCode'},
CustomCommitCode => $args{'CustomCommitCode'},
CustomIsApplicableCode => $args{'CustomIsApplicableCode'},
+ ConditionRules => $args{'ConditionRules'},
+ ActionRules => $args{'ActionRules'},
);
if ( $id ) {
return ( $id, $self->loc('Scrip Created') );
@@ -584,65 +588,5 @@ sub HasRight {
# }}}
-
-=head2 SetScripAction
-
-=cut
-
-sub SetScripAction {
- my $self = shift;
- my $value = shift;
-
- return ( 0, $self->loc("Action is mandatory argument") ) unless $value;
-
- require RT::ScripAction;
- my $action = RT::ScripAction->new( $self->CurrentUser );
- $action->Load($value);
- return ( 0, $self->loc( "Action '[_1]' not found", $value ) )
- unless $action->Id;
-
- return $self->_Set( Field => 'ScripAction', Value => $action->Id );
-}
-
-=head2 SetScripCondition
-
-=cut
-
-sub SetScripCondition {
- my $self = shift;
- my $value = shift;
-
- return ( 0, $self->loc("Condition is mandatory argument") )
- unless $value;
-
- require RT::ScripCondition;
- my $condition = RT::ScripCondition->new( $self->CurrentUser );
- $condition->Load($value);
-
- return ( 0, $self->loc( "Condition '[_1]' not found", $value ) )
- unless $condition->Id;
-
- return $self->_Set( Field => 'ScripCondition', Value => $condition->Id );
-}
-
-=head2 SetTemplate
-
-=cut
-
-sub SetTemplate {
- my $self = shift;
- my $value = shift;
-
- return ( 0, $self->loc("Template is mandatory argument") ) unless $value;
-
- require RT::Template;
- my $template = RT::Template->new( $self->CurrentUser );
- $template->Load($value);
- return ( 0, $self->loc( "Template '[_1]' not found", $value ) )
- unless $template->Id;
-
- return $self->_Set( Field => 'Template', Value => $template->Id );
-}
-
1;
diff --git a/rt/lib/RT/Scrips.pm b/rt/lib/RT/Scrips.pm
index 5b05e0ba0..a39443136 100755
--- a/rt/lib/RT/Scrips.pm
+++ b/rt/lib/RT/Scrips.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::Scrip item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/SearchBuilder.pm b/rt/lib/RT/SearchBuilder.pm
index a078a310a..671d880c7 100644
--- a/rt/lib/RT/SearchBuilder.pm
+++ b/rt/lib/RT/SearchBuilder.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -65,7 +65,7 @@
package RT::SearchBuilder;
use RT::Base;
-use DBIx::SearchBuilder "1.40";
+use DBIx::SearchBuilder "1.50";
use strict;
use warnings;
diff --git a/rt/lib/RT/System.pm b/rt/lib/RT/System.pm
index 6ba5d1ad7..e61e35f27 100644
--- a/rt/lib/RT/System.pm
+++ b/rt/lib/RT/System.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -189,6 +189,28 @@ sub SubjectTag {
return grep !$seen{lc $_}++, values %$map;
}
+=head2 QueueCacheNeedsUpdate ( 1 )
+
+Attribute to decide when SelectQueue needs to flush the list of queues
+ and retrieve new ones. Set when queues are created, enabled/disabled
+ and on certain acl changes. Should also better understand group management.
+
+If passed a true value, will update the attribute to be the current time.
+
+=cut
+
+sub QueueCacheNeedsUpdate {
+ my $self = shift;
+ my $update = shift;
+
+ if ($update) {
+ return $self->SetAttribute(Name => 'QueueCacheNeedsUpdate', Content => time);
+ } else {
+ my $cache = $self->FirstAttribute('QueueCacheNeedsUpdate');
+ return (defined $cache ? $cache->Content : 0 );
+ }
+}
+
eval "require RT::System_Vendor";
die $@ if ($@ && $@ !~ qr{^Can't locate RT/System_Vendor.pm});
eval "require RT::System_Local";
diff --git a/rt/lib/RT/Template.pm b/rt/lib/RT/Template.pm
index 12d0fc923..f73ea3ed6 100755
--- a/rt/lib/RT/Template.pm
+++ b/rt/lib/RT/Template.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -87,7 +62,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -130,7 +105,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -139,14 +114,14 @@ Returns the current value of id.
=cut
-=head2 Queue
+=item Queue
Returns the current value of Queue.
(In the database, Queue is stored as int(11).)
-=head2 SetQueue VALUE
+=item SetQueue VALUE
Set Queue to VALUE.
@@ -157,7 +132,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 QueueObj
+=item QueueObj
Returns the Queue Object which has the id returned by Queue
@@ -171,14 +146,14 @@ sub QueueObj {
return($Queue);
}
-=head2 Name
+=item Name
Returns the current value of Name.
(In the database, Name is stored as varchar(200).)
-=head2 SetName VALUE
+=item SetName VALUE
Set Name to VALUE.
@@ -189,14 +164,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Description
+=item Description
Returns the current value of Description.
(In the database, Description is stored as varchar(255).)
-=head2 SetDescription VALUE
+=item SetDescription VALUE
Set Description to VALUE.
@@ -207,14 +182,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Type
+=item Type
Returns the current value of Type.
(In the database, Type is stored as varchar(16).)
-=head2 SetType VALUE
+=item SetType VALUE
Set Type to VALUE.
@@ -225,14 +200,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Language
+=item Language
Returns the current value of Language.
(In the database, Language is stored as varchar(16).)
-=head2 SetLanguage VALUE
+=item SetLanguage VALUE
Set Language to VALUE.
@@ -243,14 +218,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 TranslationOf
+=item TranslationOf
Returns the current value of TranslationOf.
(In the database, TranslationOf is stored as int(11).)
-=head2 SetTranslationOf VALUE
+=item SetTranslationOf VALUE
Set TranslationOf to VALUE.
@@ -261,14 +236,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Content
+=item Content
Returns the current value of Content.
(In the database, Content is stored as blob.)
-=head2 SetContent VALUE
+=item SetContent VALUE
Set Content to VALUE.
@@ -279,7 +254,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 LastUpdated
+=item LastUpdated
Returns the current value of LastUpdated.
(In the database, LastUpdated is stored as datetime.)
@@ -288,7 +263,7 @@ Returns the current value of LastUpdated.
=cut
-=head2 LastUpdatedBy
+=item LastUpdatedBy
Returns the current value of LastUpdatedBy.
(In the database, LastUpdatedBy is stored as int(11).)
@@ -297,7 +272,7 @@ Returns the current value of LastUpdatedBy.
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -306,7 +281,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -316,33 +291,33 @@ Returns the current value of Created.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
Queue =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Name =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
Description =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
Type =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
Language =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
TranslationOf =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Content =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'blob', default => ''},
+ {read => 1, write => 1, type => 'blob', default => ''},
LastUpdated =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
LastUpdatedBy =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
}
};
@@ -374,7 +349,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Templates.pm b/rt/lib/RT/Templates.pm
index 0432ffa5e..37db84086 100755
--- a/rt/lib/RT/Templates.pm
+++ b/rt/lib/RT/Templates.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::Template item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Test.pm b/rt/lib/RT/Test.pm
index 7c63137a6..64b736fad 100644
--- a/rt/lib/RT/Test.pm
+++ b/rt/lib/RT/Test.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
package RT::Test;
@@ -221,10 +221,12 @@ sub bootstrap_config {
or die "Couldn't open $tmp{'config'}{'RT'}: $!";
print $config qq{
-Set( \$WebDomain, "localhost");
-Set( \$WebPort, $port);
-Set( \$WebPath, "");
+Set( \$WebPort , $port);
+Set( \$WebBaseURL , "http://localhost:\$WebPort");
+Set( \$LogToSyslog , undef);
+Set( \$LogToScreen , "warning");
Set( \$RTAddressRegexp , qr/^bad_re_that_doesnt_match\$/);
+Set( \$MailCommand, 'testfile');
};
if ( $ENV{'RT_TEST_DB_SID'} ) { # oracle case
print $config "Set( \$DatabaseName , '$ENV{'RT_TEST_DB_SID'}' );\n";
@@ -236,8 +238,6 @@ Set( \$RTAddressRegexp , qr/^bad_re_that_doesnt_match\$/);
print $config "Set( \$DevelMode, 0 );\n"
if $INC{'Devel/Cover.pm'};
- $self->bootstrap_logging( $config );
-
# set mail catcher
my $mail_catcher = $tmp{'mailbox'} = File::Spec->catfile(
$tmp{'directory'}->dirname, 'mailbox.eml'
@@ -254,7 +254,7 @@ Set( \$MailCommand, sub {
close \$handle;
} );
END
-
+
print $config $args{'config'} if $args{'config'};
print $config "\n1;\n";
@@ -264,29 +264,6 @@ END
return $config;
}
-sub bootstrap_logging {
- my $self = shift;
- my $config = shift;
-
- # prepare file for logging
- $tmp{'log'}{'RT'} = File::Spec->catfile(
- "$tmp{'directory'}", 'rt.debug.log'
- );
- open my $fh, '>', $tmp{'log'}{'RT'}
- or die "Couldn't open $tmp{'config'}{'RT'}: $!";
- # make world writable so apache under different user
- # can write into it
- chmod 0666, $tmp{'log'}{'RT'};
-
- print $config <<END;
-Set( \$LogToSyslog , undef);
-Set( \$LogToScreen , "warning");
-Set( \$LogToFile, 'debug' );
-Set( \$LogDir, q{$tmp{'directory'}} );
-Set( \$LogToFileNamed, 'rt.debug.log' );
-END
-}
-
sub set_config_wrapper {
my $self = shift;
@@ -412,12 +389,6 @@ sub bootstrap_plugins {
RT->Config->Set( Plugins => @plugins );
RT->InitPluginPaths;
- my $dba_dbh;
- $dba_dbh = _get_dbh(
- RT::Handle->DSN,
- $ENV{RT_DBA_USER}, $ENV{RT_DBA_PASSWORD},
- ) if @plugins;
-
require File::Spec;
foreach my $name ( @plugins ) {
my $plugin = RT::Plugin->new( name => $name );
@@ -429,10 +400,10 @@ sub bootstrap_plugins {
if $ENV{'TEST_VERBOSE'};
if ( -e $etc_path ) {
- my ($ret, $msg) = $RT::Handle->InsertSchema( $dba_dbh, $etc_path );
+ my ($ret, $msg) = $RT::Handle->InsertSchema( undef, $etc_path );
Test::More::ok($ret || $msg =~ /^Couldn't find schema/, "Created schema: ".($msg||''));
- ($ret, $msg) = $RT::Handle->InsertACL( $dba_dbh, $etc_path );
+ ($ret, $msg) = $RT::Handle->InsertACL( undef, $etc_path );
Test::More::ok($ret || $msg =~ /^Couldn't find ACLs/, "Created ACL: ".($msg||''));
my $data_file = File::Spec->catfile( $etc_path, 'initialdata' );
@@ -452,7 +423,6 @@ sub bootstrap_plugins {
$RT::Handle->Connect; # XXX: strange but mysql can loose connection
}
- $dba_dbh->disconnect if $dba_dbh;
}
sub _get_dbh {
@@ -717,8 +687,6 @@ sub run_and_capture {
my $self = shift;
my %args = @_;
- my $after_open = delete $args{after_open};
-
my $cmd = delete $args{'command'};
die "Couldn't find command ($cmd)" unless -f $cmd;
@@ -736,7 +704,7 @@ sub run_and_capture {
my ($child_out, $child_in);
my $pid = IPC::Open2::open2($child_out, $child_in, $cmd);
- $after_open->($child_in, $child_out) if $after_open;
+ $args{after_open}->($child_in, $child_out) if $args{after_open};
close $child_in;
@@ -1059,6 +1027,9 @@ sub start_standalone_server {
$RT::Handle->dbh( undef );
RT->ConnectToDatabase;
+ # the attribute cache holds on to a stale dbh
+ delete $RT::System->{attributes};
+
return ($ret, RT::Test::Web->new);
}
diff --git a/rt/lib/RT/Ticket.pm b/rt/lib/RT/Ticket.pm
index def72367f..2f075a20c 100755
--- a/rt/lib/RT/Ticket.pm
+++ b/rt/lib/RT/Ticket.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -87,7 +62,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -141,7 +116,7 @@ sub Create {
Resolved => '',
Disabled => '0',
- @_);
+ @_);
$self->SUPER::Create(
EffectiveId => $args{'EffectiveId'},
Queue => $args{'Queue'},
@@ -169,7 +144,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -178,14 +153,14 @@ Returns the current value of id.
=cut
-=head2 EffectiveId
+=item EffectiveId
Returns the current value of EffectiveId.
(In the database, EffectiveId is stored as int(11).)
-=head2 SetEffectiveId VALUE
+=item SetEffectiveId VALUE
Set EffectiveId to VALUE.
@@ -196,14 +171,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Queue
+=item Queue
Returns the current value of Queue.
(In the database, Queue is stored as int(11).)
-=head2 SetQueue VALUE
+=item SetQueue VALUE
Set Queue to VALUE.
@@ -214,7 +189,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 QueueObj
+=item QueueObj
Returns the Queue Object which has the id returned by Queue
@@ -222,22 +197,20 @@ Returns the Queue Object which has the id returned by Queue
=cut
sub QueueObj {
- my $self = shift;
- my $Queue = RT::Queue->new($self->CurrentUser);
- $Queue->Load($self->__Value('Queue'));
- return($Queue);
+ my $self = shift;
+ my $Queue = RT::Queue->new($self->CurrentUser);
+ $Queue->Load($self->__Value('Queue'));
+ return($Queue);
}
-
-
-=head2 Type
+=item Type
Returns the current value of Type.
(In the database, Type is stored as varchar(16).)
-=head2 SetType VALUE
+=item SetType VALUE
Set Type to VALUE.
@@ -248,14 +221,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 IssueStatement
+=item IssueStatement
Returns the current value of IssueStatement.
(In the database, IssueStatement is stored as int(11).)
-=head2 SetIssueStatement VALUE
+=item SetIssueStatement VALUE
Set IssueStatement to VALUE.
@@ -266,14 +239,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Resolution
+=item Resolution
Returns the current value of Resolution.
(In the database, Resolution is stored as int(11).)
-=head2 SetResolution VALUE
+=item SetResolution VALUE
Set Resolution to VALUE.
@@ -284,14 +257,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Owner
+=item Owner
Returns the current value of Owner.
(In the database, Owner is stored as int(11).)
-=head2 SetOwner VALUE
+=item SetOwner VALUE
Set Owner to VALUE.
@@ -302,14 +275,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Subject
+=item Subject
Returns the current value of Subject.
(In the database, Subject is stored as varchar(200).)
-=head2 SetSubject VALUE
+=item SetSubject VALUE
Set Subject to VALUE.
@@ -320,14 +293,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 InitialPriority
+=item InitialPriority
Returns the current value of InitialPriority.
(In the database, InitialPriority is stored as int(11).)
-=head2 SetInitialPriority VALUE
+=item SetInitialPriority VALUE
Set InitialPriority to VALUE.
@@ -338,14 +311,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 FinalPriority
+=item FinalPriority
Returns the current value of FinalPriority.
(In the database, FinalPriority is stored as int(11).)
-=head2 SetFinalPriority VALUE
+=item SetFinalPriority VALUE
Set FinalPriority to VALUE.
@@ -356,14 +329,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Priority
+=item Priority
Returns the current value of Priority.
(In the database, Priority is stored as int(11).)
-=head2 SetPriority VALUE
+=item SetPriority VALUE
Set Priority to VALUE.
@@ -374,14 +347,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 TimeEstimated
+=item TimeEstimated
Returns the current value of TimeEstimated.
(In the database, TimeEstimated is stored as int(11).)
-=head2 SetTimeEstimated VALUE
+=item SetTimeEstimated VALUE
Set TimeEstimated to VALUE.
@@ -392,14 +365,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 TimeWorked
+=item TimeWorked
Returns the current value of TimeWorked.
(In the database, TimeWorked is stored as int(11).)
-=head2 SetTimeWorked VALUE
+=item SetTimeWorked VALUE
Set TimeWorked to VALUE.
@@ -410,14 +383,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Status
+=item Status
Returns the current value of Status.
(In the database, Status is stored as varchar(10).)
-=head2 SetStatus VALUE
+=item SetStatus VALUE
Set Status to VALUE.
@@ -428,14 +401,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 TimeLeft
+=item TimeLeft
Returns the current value of TimeLeft.
(In the database, TimeLeft is stored as int(11).)
-=head2 SetTimeLeft VALUE
+=item SetTimeLeft VALUE
Set TimeLeft to VALUE.
@@ -446,14 +419,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Told
+=item Told
Returns the current value of Told.
(In the database, Told is stored as datetime.)
-=head2 SetTold VALUE
+=item SetTold VALUE
Set Told to VALUE.
@@ -464,14 +437,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Starts
+=item Starts
Returns the current value of Starts.
(In the database, Starts is stored as datetime.)
-=head2 SetStarts VALUE
+=item SetStarts VALUE
Set Starts to VALUE.
@@ -482,14 +455,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Started
+=item Started
Returns the current value of Started.
(In the database, Started is stored as datetime.)
-=head2 SetStarted VALUE
+=item SetStarted VALUE
Set Started to VALUE.
@@ -500,14 +473,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Due
+=item Due
Returns the current value of Due.
(In the database, Due is stored as datetime.)
-=head2 SetDue VALUE
+=item SetDue VALUE
Set Due to VALUE.
@@ -518,14 +491,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Resolved
+=item Resolved
Returns the current value of Resolved.
(In the database, Resolved is stored as datetime.)
-=head2 SetResolved VALUE
+=item SetResolved VALUE
Set Resolved to VALUE.
@@ -536,7 +509,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 LastUpdatedBy
+=item LastUpdatedBy
Returns the current value of LastUpdatedBy.
(In the database, LastUpdatedBy is stored as int(11).)
@@ -545,7 +518,7 @@ Returns the current value of LastUpdatedBy.
=cut
-=head2 LastUpdated
+=item LastUpdated
Returns the current value of LastUpdated.
(In the database, LastUpdated is stored as datetime.)
@@ -554,7 +527,7 @@ Returns the current value of LastUpdated.
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -563,7 +536,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -572,14 +545,14 @@ Returns the current value of Created.
=cut
-=head2 Disabled
+=item Disabled
Returns the current value of Disabled.
(In the database, Disabled is stored as smallint(6).)
-=head2 SetDisabled VALUE
+=item SetDisabled VALUE
Set Disabled to VALUE.
@@ -591,59 +564,59 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
EffectiveId =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Queue =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Type =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
IssueStatement =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Resolution =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Owner =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Subject =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => '[no subject]'},
+ {read => 1, write => 1, type => 'varchar(200)', default => '[no subject]'},
InitialPriority =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
FinalPriority =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Priority =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
TimeEstimated =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
TimeWorked =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Status =>
- {read => 1, write => 1, sql_type => 12, length => 10, is_blob => 0, is_numeric => 0, type => 'varchar(10)', default => ''},
+ {read => 1, write => 1, type => 'varchar(10)', default => ''},
TimeLeft =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Told =>
- {read => 1, write => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, write => 1, type => 'datetime', default => ''},
Starts =>
- {read => 1, write => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, write => 1, type => 'datetime', default => ''},
Started =>
- {read => 1, write => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, write => 1, type => 'datetime', default => ''},
Due =>
- {read => 1, write => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, write => 1, type => 'datetime', default => ''},
Resolved =>
- {read => 1, write => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, write => 1, type => 'datetime', default => ''},
LastUpdatedBy =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
LastUpdated =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
Disabled =>
- {read => 1, write => 1, sql_type => 5, length => 6, is_blob => 0, is_numeric => 1, type => 'smallint(6)', default => '0'},
+ {read => 1, write => 1, type => 'smallint(6)', default => '0'},
}
};
@@ -675,7 +648,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/TicketCustomFieldValue.pm b/rt/lib/RT/TicketCustomFieldValue.pm
deleted file mode 100644
index 717647266..000000000
--- a/rt/lib/RT/TicketCustomFieldValue.pm
+++ /dev/null
@@ -1,308 +0,0 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-# <jesse@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., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#
-# 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
-# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
-# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
-#
-# !! DO NOT EDIT THIS FILE !!
-#
-
-use strict;
-
-
-=head1 NAME
-
-RT::TicketCustomFieldValue
-
-
-=head1 SYNOPSIS
-
-=head1 DESCRIPTION
-
-=head1 METHODS
-
-=cut
-
-package RT::TicketCustomFieldValue;
-use RT::Record;
-use RT::CustomField;
-use RT::Ticket;
-
-
-use vars qw( @ISA );
-@ISA= qw( RT::Record );
-
-sub _Init {
- my $self = shift;
-
- $self->Table('TicketCustomFieldValues');
- $self->SUPER::_Init(@_);
-}
-
-
-
-
-
-=head2 Create PARAMHASH
-
-Create takes a hash of values and creates a row in the database:
-
- int(11) 'Ticket'.
- int(11) 'CustomField'.
- varchar(255) 'Content'.
-
-=cut
-
-
-
-
-sub Create {
- my $self = shift;
- my %args = (
- Ticket => '0',
- CustomField => '0',
- Content => '',
-
- @_);
- $self->SUPER::Create(
- Ticket => $args{'Ticket'},
- CustomField => $args{'CustomField'},
- Content => $args{'Content'},
-);
-
-}
-
-
-
-=head2 id
-
-Returns the current value of id.
-(In the database, id is stored as int(11).)
-
-
-=cut
-
-
-=head2 Ticket
-
-Returns the current value of Ticket.
-(In the database, Ticket is stored as int(11).)
-
-
-
-=head2 SetTicket VALUE
-
-
-Set Ticket to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, Ticket will be stored as a int(11).)
-
-
-=cut
-
-
-=head2 TicketObj
-
-Returns the Ticket Object which has the id returned by Ticket
-
-
-=cut
-
-sub TicketObj {
- my $self = shift;
- my $Ticket = RT::Ticket->new($self->CurrentUser);
- $Ticket->Load($self->__Value('Ticket'));
- return($Ticket);
-}
-
-=head2 CustomField
-
-Returns the current value of CustomField.
-(In the database, CustomField is stored as int(11).)
-
-
-
-=head2 SetCustomField VALUE
-
-
-Set CustomField to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, CustomField will be stored as a int(11).)
-
-
-=cut
-
-
-=head2 CustomFieldObj
-
-Returns the CustomField Object which has the id returned by CustomField
-
-
-=cut
-
-sub CustomFieldObj {
- my $self = shift;
- my $CustomField = RT::CustomField->new($self->CurrentUser);
- $CustomField->Load($self->__Value('CustomField'));
- return($CustomField);
-}
-
-=head2 Content
-
-Returns the current value of Content.
-(In the database, Content is stored as varchar(255).)
-
-
-
-=head2 SetContent VALUE
-
-
-Set Content to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, Content will be stored as a varchar(255).)
-
-
-=cut
-
-
-=head2 Creator
-
-Returns the current value of Creator.
-(In the database, Creator is stored as int(11).)
-
-
-=cut
-
-
-=head2 Created
-
-Returns the current value of Created.
-(In the database, Created is stored as datetime.)
-
-
-=cut
-
-
-=head2 LastUpdatedBy
-
-Returns the current value of LastUpdatedBy.
-(In the database, LastUpdatedBy is stored as int(11).)
-
-
-=cut
-
-
-=head2 LastUpdated
-
-Returns the current value of LastUpdated.
-(In the database, LastUpdated is stored as datetime.)
-
-
-=cut
-
-
-
-sub _CoreAccessible {
- {
-
- id =>
- {read => 1, type => 'int(11)', default => ''},
- Ticket =>
- {read => 1, write => 1, type => 'int(11)', default => '0'},
- CustomField =>
- {read => 1, write => 1, type => 'int(11)', default => '0'},
- Content =>
- {read => 1, write => 1, type => 'varchar(255)', default => ''},
- Creator =>
- {read => 1, auto => 1, type => 'int(11)', default => '0'},
- Created =>
- {read => 1, auto => 1, type => 'datetime', default => ''},
- LastUpdatedBy =>
- {read => 1, auto => 1, type => 'int(11)', default => '0'},
- LastUpdated =>
- {read => 1, auto => 1, type => 'datetime', default => ''},
-
- }
-};
-
-
- eval "require RT::TicketCustomFieldValue_Overlay";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValue_Overlay.pm}) {
- die $@;
- };
-
- eval "require RT::TicketCustomFieldValue_Vendor";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValue_Vendor.pm}) {
- die $@;
- };
-
- eval "require RT::TicketCustomFieldValue_Local";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValue_Local.pm}) {
- die $@;
- };
-
-
-
-
-=head1 SEE ALSO
-
-This class allows "overlay" methods to be placed
-into the following files _Overlay is for a System overlay by the original author,
-_Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customizations.
-
-These overlay files can contain new subs or subs to replace existing subs in this module.
-
-If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
-
- no warnings qw(redefine);
-
-so that perl does not kick and scream when you redefine a subroutine or variable in your overlay.
-
-RT::TicketCustomFieldValue_Overlay, RT::TicketCustomFieldValue_Vendor, RT::TicketCustomFieldValue_Local
-
-=cut
-
-
-1;
diff --git a/rt/lib/RT/TicketCustomFieldValue_Overlay.pm b/rt/lib/RT/TicketCustomFieldValue_Overlay.pm
deleted file mode 100644
index 270c5939a..000000000
--- a/rt/lib/RT/TicketCustomFieldValue_Overlay.pm
+++ /dev/null
@@ -1,74 +0,0 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-# <jesse@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., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#
-# 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
-use strict;
-no warnings qw(redefine);
-
-
-
-=head2 LoadByTicketContentAndCustomField { Ticket => TICKET, CustomField => CUSTOMFIELD, Content => CONTENT }
-
-Loads a custom field value by Ticket, Content and which CustomField it's tied to
-
-=cut
-
-
-sub LoadByTicketContentAndCustomField {
- my $self = shift;
- my %args = ( Ticket => undef,
- CustomField => undef,
- Content => undef,
- @_
- );
-
-
- $self->LoadByCols( Content => $args{'Content'},
- CustomField => $args{'CustomField'},
- Ticket => $args{'Ticket'});
-
-
-}
-
-1;
diff --git a/rt/lib/RT/TicketCustomFieldValues.pm b/rt/lib/RT/TicketCustomFieldValues.pm
deleted file mode 100644
index 2174afef3..000000000
--- a/rt/lib/RT/TicketCustomFieldValues.pm
+++ /dev/null
@@ -1,137 +0,0 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-# <jesse@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., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#
-# 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
-# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
-# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
-#
-# !! DO NOT EDIT THIS FILE !!
-#
-
-use strict;
-
-
-=head1 NAME
-
- RT::TicketCustomFieldValues -- Class Description
-
-=head1 SYNOPSIS
-
- use RT::TicketCustomFieldValues
-
-=head1 DESCRIPTION
-
-
-=head1 METHODS
-
-=cut
-
-package RT::TicketCustomFieldValues;
-
-use RT::SearchBuilder;
-use RT::TicketCustomFieldValue;
-
-use vars qw( @ISA );
-@ISA= qw(RT::SearchBuilder);
-
-
-sub _Init {
- my $self = shift;
- $self->{'table'} = 'TicketCustomFieldValues';
- $self->{'primary_key'} = 'id';
-
-
- return ( $self->SUPER::_Init(@_) );
-}
-
-
-=head2 NewItem
-
-Returns an empty new RT::TicketCustomFieldValue item
-
-=cut
-
-sub NewItem {
- my $self = shift;
- return(RT::TicketCustomFieldValue->new($self->CurrentUser));
-}
-
- eval "require RT::TicketCustomFieldValues_Overlay";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValues_Overlay.pm}) {
- die $@;
- };
-
- eval "require RT::TicketCustomFieldValues_Vendor";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValues_Vendor.pm}) {
- die $@;
- };
-
- eval "require RT::TicketCustomFieldValues_Local";
- if ($@ && $@ !~ qr{^Can't locate RT/TicketCustomFieldValues_Local.pm}) {
- die $@;
- };
-
-
-
-
-=head1 SEE ALSO
-
-This class allows "overlay" methods to be placed
-into the following files _Overlay is for a System overlay by the original author,
-_Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customizations.
-
-These overlay files can contain new subs or subs to replace existing subs in this module.
-
-If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
-
- no warnings qw(redefine);
-
-so that perl does not kick and scream when you redefine a subroutine or variable in your overlay.
-
-RT::TicketCustomFieldValues_Overlay, RT::TicketCustomFieldValues_Vendor, RT::TicketCustomFieldValues_Local
-
-=cut
-
-
-1;
diff --git a/rt/lib/RT/TicketCustomFieldValues_Overlay.pm b/rt/lib/RT/TicketCustomFieldValues_Overlay.pm
deleted file mode 100644
index 8cbaca574..000000000
--- a/rt/lib/RT/TicketCustomFieldValues_Overlay.pm
+++ /dev/null
@@ -1,108 +0,0 @@
-# {{{ BEGIN BPS TAGGED BLOCK
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2004 Best Practical Solutions, LLC
-# <jesse@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., 675 Mass Ave, Cambridge, MA 02139, USA.
-#
-#
-# 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
-use strict;
-no warnings qw(redefine);
-
-# {{{ sub LimitToCustomField
-
-=head2 LimitToCustomField FIELD
-
-Limits the returned set to values for the custom field with Id FIELD
-
-=cut
-
-sub LimitToCustomField {
- my $self = shift;
- my $cf = shift;
- return ($self->Limit( FIELD => 'CustomField',
- VALUE => $cf,
- OPERATOR => '='));
-
-}
-
-# }}}
-
-# {{{ sub LimitToTicket
-
-=head2 LimitToTicket TICKETID
-
-Limits the returned set to values for the ticket with Id TICKETID
-
-=cut
-
-sub LimitToTicket {
- my $self = shift;
- my $ticket = shift;
- return ($self->Limit( FIELD => 'Ticket',
- VALUE => $ticket,
- OPERATOR => '='));
-
-}
-
-# }}}
-
-
-=sub HasEntry VALUE
-
-Returns true if this CustomFieldValues collection has an entry with content that eq VALUE
-
-=cut
-
-
-sub HasEntry {
- my $self = shift;
- my $value = shift;
-
- #TODO: this could cache and optimize a fair bit.
- foreach my $item (@{$self->ItemsArrayRef}) {
- return(1) if ($item->Content eq $value);
- }
- return undef;
-
-}
-
-1;
-
diff --git a/rt/lib/RT/Ticket_Overlay.pm b/rt/lib/RT/Ticket_Overlay.pm
index 97bcdf58b..8d04742e9 100644
--- a/rt/lib/RT/Ticket_Overlay.pm
+++ b/rt/lib/RT/Ticket_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
# {{{ Front Material
@@ -229,7 +229,7 @@ Ticket links can be set up during create by passing the link type as a hask key
the ticket id to be linked to as a value (or a URI when linking to other objects).
Multiple links of the same type can be created by passing an array ref. For example:
- Parents => 45,
+ Parent => 45,
DependsOn => [ 15, 22 ],
RefersTo => 'http://www.bestpractical.com',
@@ -617,11 +617,16 @@ sub Create {
next;
}
}
-
+
+ #don't show transactions for reminders
+ my $silent = ( !$args{'_RecordTransaction'}
+ || $self->Type eq 'reminder'
+ );
+
my ( $wval, $wmsg ) = $self->_AddLink(
Type => $LINKTYPEMAP{$type}->{'Type'},
$LINKTYPEMAP{$type}->{'Mode'} => $link,
- Silent => !$args{'_RecordTransaction'},
+ Silent => $silent,
'Silent'. ( $LINKTYPEMAP{$type}->{'Mode'} eq 'Base'? 'Target': 'Base' )
=> 1,
);
@@ -631,6 +636,69 @@ sub Create {
}
# }}}
+
+ # {{{ Deal with auto-customer association
+
+ #unless we already have (a) customer(s)...
+ unless ( $self->Customers->Count ) {
+
+ #first find any requestors with emails but *without* customer targets
+ my @NoCust_Requestors =
+ grep { $_->EmailAddress && ! $_->Customers->Count }
+ @{ $self->_Requestors->UserMembersObj->ItemsArrayRef };
+
+ for my $Requestor (@NoCust_Requestors) {
+
+ #perhaps the stuff in here should be in a User method??
+ my @Customers =
+ &RT::URI::freeside::email_search( email=>$Requestor->EmailAddress );
+
+ foreach my $custnum ( map $_->{'custnum'}, @Customers ) {
+
+ ## false laziness w/RT/Interface/Web_Vendor.pm
+ my @link = ( 'Type' => 'MemberOf',
+ 'Target' => "freeside://freeside/cust_main/$custnum",
+ );
+
+ my( $val, $msg ) = $Requestor->_AddLink(@link);
+ #XXX should do something with $msg# push @non_fatal_errors, $msg;
+
+ }
+
+ }
+
+ #find any requestors with customer targets
+
+ my %cust_target = ();
+
+ my @Requestors =
+ grep { $_->Customers->Count }
+ @{ $self->_Requestors->UserMembersObj->ItemsArrayRef };
+
+ foreach my $Requestor ( @Requestors ) {
+ foreach my $cust_link ( @{ $Requestor->Customers->ItemsArrayRef } ) {
+ $cust_target{ $cust_link->Target } = 1;
+ }
+ }
+
+ #and then auto-associate this ticket with those customers
+
+ foreach my $cust_target ( keys %cust_target ) {
+
+ my @link = ( 'Type' => 'MemberOf',
+ #'Target' => "freeside://freeside/cust_main/$custnum",
+ 'Target' => $cust_target,
+ );
+
+ my( $val, $msg ) = $self->_AddLink(@link);
+ push @non_fatal_errors, $msg;
+
+ }
+
+ }
+
+ # }}}
+
# Now that we've created the ticket and set up its metadata, we can actually go and check OwnTicket on the ticket itself.
# This might be different than before in cases where extensions like RTIR are doing clever things with RT's ACL system
if ( $DeferOwner ) {
@@ -646,7 +714,6 @@ sub Create {
} else {
$Owner = $DeferOwner;
$self->__Set(Field => 'Owner', Value => $Owner->id);
-
}
$self->OwnerGroup->_AddMember(
PrincipalId => $Owner->PrincipalId,
@@ -654,7 +721,8 @@ sub Create {
);
}
- if ( $args{'_RecordTransaction'} ) {
+ #don't make a transaction or fire off any scrips for reminders either
+ if ( $args{'_RecordTransaction'} && $self->Type ne 'reminder' ) {
# {{{ Add a transaction for the create
my ( $Trans, $Msg, $TransObj ) = $self->_NewTransaction(
@@ -1428,6 +1496,25 @@ sub Requestors {
# }}}
+# {{{ sub _Requestors
+
+=head2 _Requestors
+
+Private non-ACLed variant of Reqeustors so that we can look them up for the
+purposes of customer auto-association during create.
+
+=cut
+
+sub _Requestors {
+ my $self = shift;
+
+ my $group = RT::Group->new($RT::SystemUser);
+ $group->LoadTicketRoleGroup(Type => 'Requestor', Ticket => $self->Id);
+ return ($group);
+}
+
+# }}}
+
# {{{ sub Cc
=head2 Cc
@@ -2225,6 +2312,16 @@ sub _Links {
return $links;
}
+ # without this you will also get RT::User(s) instead of tickets!
+ if ($field == 'Base' and $type == 'MemberOf') {
+ my $rtname = RT->Config->Get('rtname');
+ $links->Limit(
+ FIELD => 'Base',
+ OPERATOR => 'STARTSWITH',
+ VALUE => "fsck.com-rt://$rtname/ticket/",
+ );
+ }
+
# Maybe this ticket is a merge ticket
my $limit_on = 'Local'. $field;
# at least to myself
diff --git a/rt/lib/RT/Tickets.pm b/rt/lib/RT/Tickets.pm
index 77d4456ad..b6b349144 100755
--- a/rt/lib/RT/Tickets.pm
+++ b/rt/lib/RT/Tickets.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::Ticket item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Tickets_Overlay.pm b/rt/lib/RT/Tickets_Overlay.pm
index 2c4401955..16e98aec8 100644
--- a/rt/lib/RT/Tickets_Overlay.pm
+++ b/rt/lib/RT/Tickets_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
# Major Changes:
@@ -145,6 +145,9 @@ our %FIELD_METADATA = (
WatcherGroup => [ 'MEMBERSHIPFIELD', ], #loc_left_pair
HasAttribute => [ 'HASATTRIBUTE', 1 ],
HasNoAttribute => [ 'HASATTRIBUTE', 0 ],
+ Agentnum => [ 'FREESIDEFIELD', ],
+ Classnum => [ 'FREESIDEFIELD', ],
+ Tagnum => [ 'FREESIDEFIELD', 'cust_tag' ],
);
# Mapping of Field Type to Function
@@ -161,6 +164,7 @@ our %dispatch = (
MEMBERSHIPFIELD => \&_WatcherMembershipLimit,
CUSTOMFIELD => \&_CustomFieldLimit,
HASATTRIBUTE => \&_HasAttributeLimit,
+ FREESIDEFIELD => \&_FreesideFieldLimit,
);
our %can_bundle = ();# WATCHERFIELD => "yes", );
@@ -519,6 +523,14 @@ sub _DateLimit {
die "Incorrect Meta Data for $field"
unless ( defined $meta->[1] );
+ $sb->_DateFieldLimit( $meta->[1], $op, $value, @rest );
+}
+
+# Factor this out for use by custom fields
+
+sub _DateFieldLimit {
+ my ( $sb, $field, $op, $value, @rest ) = @_;
+
my $date = RT::Date->new( $sb->CurrentUser );
$date->Set( Format => 'unknown', Value => $value );
@@ -527,23 +539,44 @@ sub _DateLimit {
# if we're specifying =, that means we want everything on a
# particular single day. in the database, we need to check for >
# and < the edges of that day.
-
- $date->SetToMidnight( Timezone => 'server' );
- my $daystart = $date->ISO;
- $date->AddDay;
- my $dayend = $date->ISO;
+ #
+ # Except if the value is 'this month' or 'last month', check
+ # > and < the edges of the month.
+
+ my ($daystart, $dayend);
+ if ( lc($value) eq 'this month' ) {
+ $date->SetToNow;
+ $date->SetToStart('month', Timezone => 'server');
+ $daystart = $date->ISO;
+ $date->AddMonth;
+ $dayend = $date->ISO;
+ }
+ elsif ( lc($value) eq 'last month' ) {
+ $date->SetToNow;
+ $date->SetToStart('month', Timezone => 'server');
+ $dayend = $date->ISO;
+ $date->AddDays(-1);
+ $date->SetToStart('month', Timezone => 'server');
+ $daystart = $date->ISO;
+ }
+ else {
+ $date->SetToMidnight( Timezone => 'server' );
+ $daystart = $date->ISO;
+ $date->AddDay;
+ $dayend = $date->ISO;
+ }
$sb->_OpenParen;
$sb->_SQLLimit(
- FIELD => $meta->[1],
+ FIELD => $field,
OPERATOR => ">=",
VALUE => $daystart,
@rest,
);
$sb->_SQLLimit(
- FIELD => $meta->[1],
+ FIELD => $field,
OPERATOR => "<",
VALUE => $dayend,
@rest,
@@ -555,7 +588,7 @@ sub _DateLimit {
}
else {
$sb->_SQLLimit(
- FIELD => $meta->[1],
+ FIELD => $field,
OPERATOR => $op,
VALUE => $date->ISO,
@rest,
@@ -1423,6 +1456,15 @@ sub _CustomFieldLimit {
%rest
);
}
+ elsif ( $cf->Type eq 'Date' ) {
+ $self->_DateFieldLimit(
+ 'Content',
+ $op,
+ $value,
+ ALIAS => $TicketCFs,
+ %rest
+ );
+ }
elsif ( $op eq '=' || $op eq '!=' || $op eq '<>' ) {
unless ( length( Encode::encode_utf8($value) ) > 255 ) {
$self->_SQLLimit(
@@ -1600,7 +1642,6 @@ sub _HasAttributeLimit {
);
}
-
# End Helper Functions
# End of SQL Stuff -------------------------------------------------
@@ -1733,7 +1774,32 @@ sub OrderByCols {
}
push @res, { %$row, FIELD => "Priority", ORDER => $order } ;
- }
+
+ } elsif ( $field eq 'Customer' ) { #Freeside
+ if ( $subkey eq 'Number' ) {
+ my ($linkalias, $custnum_sql) = $self->JoinToCustLinks;
+ push @res, { %$row,
+ ALIAS => '',
+ FIELD => $custnum_sql,
+ };
+ }
+ else {
+ my $custalias = $self->JoinToCustomer;
+ my $field;
+ if ( $subkey eq 'Name' ) {
+ $field = "COALESCE( $custalias.company,
+ $custalias.last || ', ' || $custalias.first
+ )";
+ }
+ else {
+ # no other cases exist yet, but for obviousness:
+ $field = $subkey;
+ }
+ push @res, { %$row, ALIAS => '', FIELD => $field };
+ }
+
+ } #Freeside
+
else {
push @res, $row;
}
@@ -1741,6 +1807,100 @@ sub OrderByCols {
return $self->SUPER::OrderByCols(@res);
}
+#Freeside
+
+sub JoinToCustLinks {
+ # Set up join to links (id = localbase),
+ # limit link type to 'MemberOf',
+ # and target value to any Freeside custnum URI.
+ # Return the linkalias for further join/limit action,
+ # and an sql expression to retrieve the custnum.
+ my $self = shift;
+ my $linkalias = $self->Join(
+ TYPE => 'LEFT',
+ ALIAS1 => 'main',
+ FIELD1 => 'id',
+ TABLE2 => 'Links',
+ FIELD2 => 'LocalBase',
+ );
+
+ $self->SUPER::Limit(
+ LEFTJOIN => $linkalias,
+ FIELD => 'Type',
+ OPERATOR => '=',
+ VALUE => 'MemberOf',
+ );
+ $self->SUPER::Limit(
+ LEFTJOIN => $linkalias,
+ FIELD => 'Target',
+ OPERATOR => 'STARTSWITH',
+ VALUE => 'freeside://freeside/cust_main/',
+ );
+ my $custnum_sql = "CAST(SUBSTR($linkalias.Target,31) AS ";
+ if ( RT->Config->Get('DatabaseType') eq 'mysql' ) {
+ $custnum_sql .= 'SIGNED INTEGER)';
+ }
+ else {
+ $custnum_sql .= 'INTEGER)';
+ }
+ return ($linkalias, $custnum_sql);
+}
+
+sub JoinToCustomer {
+ my $self = shift;
+ my ($linkalias, $custnum_sql) = $self->JoinToCustLinks;
+
+ my $custalias = $self->Join(
+ TYPE => 'LEFT',
+ EXPRESSION => $custnum_sql,
+ TABLE2 => 'cust_main',
+ FIELD2 => 'custnum',
+ );
+ return $custalias;
+}
+
+sub _FreesideFieldLimit {
+ my ( $self, $field, $op, $value, %rest ) = @_;
+ my $alias = $self->JoinToCustomer;
+ my $is_negative = 0;
+ if ( $op eq '!=' || $op =~ /\bNOT\b/i ) {
+ # if the op is negative, do the join as though
+ # the op were positive, then accept only records
+ # where the right-side join key is null.
+ $is_negative = 1;
+ $op = '=' if $op eq '!=';
+ $op =~ s/\bNOT\b//;
+ }
+ my $meta = $FIELD_METADATA{$field};
+ if ( $meta->[1] ) {
+ $alias = $self->Join(
+ TYPE => 'LEFT',
+ ALIAS1 => $alias,
+ FIELD1 => 'custnum',
+ TABLE2 => $meta->[1],
+ FIELD2 => 'custnum',
+ );
+ }
+
+ $self->SUPER::Limit(
+ LEFTJOIN => $alias,
+ FIELD => lc($field),
+ OPERATOR => $op,
+ VALUE => $value,
+ ENTRYAGGREGATOR => 'AND',
+ );
+ $self->_SQLLimit(
+ %rest,
+ ALIAS => $alias,
+ FIELD => lc($field),
+ OPERATOR => $is_negative ? 'IS' : 'IS NOT',
+ VALUE => 'NULL',
+ QUOTEVALUE => 0,
+ );
+}
+
+#Freeside
+
# }}}
# {{{ Limit the result set based on content
diff --git a/rt/lib/RT/Transaction.pm b/rt/lib/RT/Transaction.pm
index d0228ad86..ca491a6c7 100755
--- a/rt/lib/RT/Transaction.pm
+++ b/rt/lib/RT/Transaction.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -70,6 +45,7 @@ RT::Transaction
package RT::Transaction;
use RT::Record;
+use RT::Ticket;
use vars qw( @ISA );
@@ -86,21 +62,18 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
- varchar(64) 'ObjectType'.
- int(11) 'ObjectId'.
+ int(11) 'EffectiveTicket'.
+ int(11) 'Ticket'.
int(11) 'TimeTaken'.
varchar(20) 'Type'.
varchar(40) 'Field'.
varchar(255) 'OldValue'.
varchar(255) 'NewValue'.
- varchar(255) 'ReferenceType'.
- int(11) 'OldReference'.
- int(11) 'NewReference'.
- varchar(255) 'Data'.
+ varchar(100) 'Data'.
=cut
@@ -110,30 +83,24 @@ Create takes a hash of values and creates a row in the database:
sub Create {
my $self = shift;
my %args = (
- ObjectType => '',
- ObjectId => '0',
+ EffectiveTicket => '0',
+ Ticket => '0',
TimeTaken => '0',
Type => '',
Field => '',
OldValue => '',
NewValue => '',
- ReferenceType => '',
- OldReference => '',
- NewReference => '',
Data => '',
@_);
$self->SUPER::Create(
- ObjectType => $args{'ObjectType'},
- ObjectId => $args{'ObjectId'},
+ EffectiveTicket => $args{'EffectiveTicket'},
+ Ticket => $args{'Ticket'},
TimeTaken => $args{'TimeTaken'},
Type => $args{'Type'},
Field => $args{'Field'},
OldValue => $args{'OldValue'},
NewValue => $args{'NewValue'},
- ReferenceType => $args{'ReferenceType'},
- OldReference => $args{'OldReference'},
- NewReference => $args{'NewReference'},
Data => $args{'Data'},
);
@@ -141,7 +108,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -150,50 +117,64 @@ Returns the current value of id.
=cut
-=head2 ObjectType
+=item EffectiveTicket
-Returns the current value of ObjectType.
-(In the database, ObjectType is stored as varchar(64).)
+Returns the current value of EffectiveTicket.
+(In the database, EffectiveTicket is stored as int(11).)
-=head2 SetObjectType VALUE
+=item SetEffectiveTicket VALUE
-Set ObjectType to VALUE.
+Set EffectiveTicket to VALUE.
Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, ObjectType will be stored as a varchar(64).)
+(In the database, EffectiveTicket will be stored as a int(11).)
=cut
-=head2 ObjectId
+=item Ticket
-Returns the current value of ObjectId.
-(In the database, ObjectId is stored as int(11).)
+Returns the current value of Ticket.
+(In the database, Ticket is stored as int(11).)
-=head2 SetObjectId VALUE
+=item SetTicket VALUE
-Set ObjectId to VALUE.
+Set Ticket to VALUE.
Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, ObjectId will be stored as a int(11).)
+(In the database, Ticket will be stored as a int(11).)
+
+
+=cut
+
+
+=item TicketObj
+
+Returns the Ticket Object which has the id returned by Ticket
=cut
+sub TicketObj {
+ my $self = shift;
+ my $Ticket = RT::Ticket->new($self->CurrentUser);
+ $Ticket->Load($self->__Value('Ticket'));
+ return($Ticket);
+}
-=head2 TimeTaken
+=item TimeTaken
Returns the current value of TimeTaken.
(In the database, TimeTaken is stored as int(11).)
-=head2 SetTimeTaken VALUE
+=item SetTimeTaken VALUE
Set TimeTaken to VALUE.
@@ -204,14 +185,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Type
+=item Type
Returns the current value of Type.
(In the database, Type is stored as varchar(20).)
-=head2 SetType VALUE
+=item SetType VALUE
Set Type to VALUE.
@@ -222,14 +203,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Field
+=item Field
Returns the current value of Field.
(In the database, Field is stored as varchar(40).)
-=head2 SetField VALUE
+=item SetField VALUE
Set Field to VALUE.
@@ -240,14 +221,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 OldValue
+=item OldValue
Returns the current value of OldValue.
(In the database, OldValue is stored as varchar(255).)
-=head2 SetOldValue VALUE
+=item SetOldValue VALUE
Set OldValue to VALUE.
@@ -258,14 +239,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 NewValue
+=item NewValue
Returns the current value of NewValue.
(In the database, NewValue is stored as varchar(255).)
-=head2 SetNewValue VALUE
+=item SetNewValue VALUE
Set NewValue to VALUE.
@@ -276,79 +257,25 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ReferenceType
-
-Returns the current value of ReferenceType.
-(In the database, ReferenceType is stored as varchar(255).)
-
-
-
-=head2 SetReferenceType VALUE
-
-
-Set ReferenceType to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, ReferenceType will be stored as a varchar(255).)
-
-
-=cut
-
-
-=head2 OldReference
-
-Returns the current value of OldReference.
-(In the database, OldReference is stored as int(11).)
-
-
-
-=head2 SetOldReference VALUE
-
-
-Set OldReference to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, OldReference will be stored as a int(11).)
-
-
-=cut
-
-
-=head2 NewReference
-
-Returns the current value of NewReference.
-(In the database, NewReference is stored as int(11).)
-
-
-
-=head2 SetNewReference VALUE
-
-
-Set NewReference to VALUE.
-Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, NewReference will be stored as a int(11).)
-
-
-=cut
-
-
-=head2 Data
+=item Data
Returns the current value of Data.
-(In the database, Data is stored as varchar(255).)
+(In the database, Data is stored as varchar(100).)
-=head2 SetData VALUE
+=item SetData VALUE
Set Data to VALUE.
Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
-(In the database, Data will be stored as a varchar(255).)
+(In the database, Data will be stored as a varchar(100).)
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -357,7 +284,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -367,37 +294,31 @@ Returns the current value of Created.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
- ObjectType =>
- {read => 1, write => 1, sql_type => 12, length => 64, is_blob => 0, is_numeric => 0, type => 'varchar(64)', default => ''},
- ObjectId =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, type => 'int(11)', default => ''},
+ EffectiveTicket =>
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
+ Ticket =>
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
TimeTaken =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, write => 1, type => 'int(11)', default => '0'},
Type =>
- {read => 1, write => 1, sql_type => 12, length => 20, is_blob => 0, is_numeric => 0, type => 'varchar(20)', default => ''},
+ {read => 1, write => 1, type => 'varchar(20)', default => ''},
Field =>
- {read => 1, write => 1, sql_type => 12, length => 40, is_blob => 0, is_numeric => 0, type => 'varchar(40)', default => ''},
+ {read => 1, write => 1, type => 'varchar(40)', default => ''},
OldValue =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
NewValue =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
- ReferenceType =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
- OldReference =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
- NewReference =>
- {read => 1, write => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, write => 1, type => 'varchar(255)', default => ''},
Data =>
- {read => 1, write => 1, sql_type => 12, length => 255, is_blob => 0, is_numeric => 0, type => 'varchar(255)', default => ''},
+ {read => 1, write => 1, type => 'varchar(100)', default => ''},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
}
};
@@ -429,7 +350,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Transaction_Overlay.pm b/rt/lib/RT/Transaction_Overlay.pm
index b8ea9389c..e51e5b50d 100644
--- a/rt/lib/RT/Transaction_Overlay.pm
+++ b/rt/lib/RT/Transaction_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -176,7 +176,7 @@ sub Create {
# Entry point of the rule system
my $ticket = RT::Ticket->new($RT::SystemUser);
$ticket->Load($args{'ObjectId'});
- my $rules = $self->{rules} = RT::Ruleset->FindAllRules(
+ my $rules = RT::Ruleset->FindAllRules(
Stage => 'TransactionCreate',
Type => $args{'Type'},
TicketObj => $ticket,
@@ -211,22 +211,6 @@ sub Scrips {
}
-=head2 Rules
-
-Returns the array of Rule objects for this transaction.
-This routine is only useful on a freshly created transaction object.
-Rules do not get persisted to the database with transactions.
-
-
-=cut
-
-
-sub Rules {
- my $self = shift;
- return($self->{'rules'});
-}
-
-
# {{{ sub Delete
=head2 Delete
@@ -302,29 +286,28 @@ textual part (as defined in RT::I18N::IsTextualContentType). Otherwise,
returns undef.
Takes a paramhash. If the $args{'Quote'} parameter is set, wraps this message
-at $args{'Wrap'}. $args{'Wrap'} defaults to 70.
+at $args{'Wrap'}. $args{'Wrap'} defaults to $RT::MessageBoxWidth - 2 or 70.
If $args{'Type'} is set to C<text/html>, this will return an HTML
part of the message, if available. Otherwise it looks for a text/plain
part. If $args{'Type'} is missing, it defaults to the value of
C<$RT::Transaction::PreferredContentType>, if that's missing too,
-defaults to textual.
+defaults to 'text/plain'.
=cut
sub Content {
my $self = shift;
my %args = (
- Type => $PreferredContentType || '',
+ Type => $PreferredContentType || 'text/plain',
Quote => 0,
Wrap => 70,
+ Wrap => ( $RT::MessageBoxWidth || 72 ) - 2,
@_
);
my $content;
- if ( my $content_obj =
- $self->ContentObj( $args{Type} ? ( Type => $args{Type} ) : () ) )
- {
+ if ( my $content_obj = $self->ContentObj( Type => $args{Type} ) ) {
$content = $content_obj->Content ||'';
if ( lc $content_obj->ContentType eq 'text/html' ) {
@@ -364,7 +347,7 @@ sub Content {
$max = length if length > $max;
}
- if ( $max > 76 ) {
+ if ( $max > $args{'Wrap'}+6 ) { # 76 ) {
require Text::Wrapper;
my $wrapper = new Text::Wrapper(
columns => $args{'Wrap'},
@@ -415,16 +398,12 @@ Returns the RT::Attachment object which contains the content for this Transactio
sub ContentObj {
my $self = shift;
- my %args = ( Type => $PreferredContentType, Attachment => undef, @_ );
+ my %args = ( Type => $PreferredContentType || 'text/plain',
+ @_ );
# If we don't have any content, return undef now.
# Get the set of toplevel attachments to this transaction.
-
- my $Attachment = $args{'Attachment'};
-
- $Attachment ||= $self->Attachments->First;
-
- return undef unless ($Attachment);
+ return undef unless my $Attachment = $self->Attachments->First;
# If it's a textual part, just return the body.
if ( RT::I18N::IsTextualContentType($Attachment->ContentType) ) {
@@ -434,23 +413,14 @@ sub ContentObj {
# If it's a multipart object, first try returning the first part with preferred
# MIME type ('text/plain' by default).
- elsif ( $Attachment->ContentType =~ qr|^multipart/mixed|i ) {
- my $kids = $Attachment->Children;
- while (my $child = $kids->Next) {
- my $ret = $self->ContentObj(%args, Attachment => $child);
- return $ret if ($ret);
- }
- }
- elsif ( $Attachment->ContentType =~ qr|^multipart/|i ) {
- if ( $args{Type} ) {
- my $plain_parts = $Attachment->Children;
- $plain_parts->ContentType( VALUE => $args{Type} );
- $plain_parts->LimitNotEmpty;
-
- # If we actully found a part, return its content
- if ( my $first = $plain_parts->First ) {
- return $first;
- }
+ elsif ( $Attachment->ContentType =~ '^multipart/' ) {
+ my $plain_parts = $Attachment->Children;
+ $plain_parts->ContentType( VALUE => $args{Type} );
+ $plain_parts->LimitNotEmpty;
+
+ # If we actully found a part, return its content
+ if ( my $first = $plain_parts->First ) {
+ return $first;
}
# If that fails, return the first textual part which has some content.
@@ -557,8 +527,6 @@ sub ContentAsMIME {
my $self = shift;
my $main_content = $self->ContentObj;
- return unless $main_content;
-
my $entity = $main_content->ContentAsMIME;
if ( $main_content->Parent ) {
@@ -590,7 +558,11 @@ sub ContentAsMIME {
OPERATOR => 'NOT STARTSWITH',
VALUE => 'multipart/',
);
- $attachments->LimitNotEmpty;
+ $attachments->Limit(
+ FIELD => 'Content',
+ OPERATOR => '!=',
+ VALUE => '',
+ );
while ( my $a = $attachments->Next ) {
$entity->make_multipart unless $entity->is_multipart;
$entity->add_part( $a->ContentAsMIME );
@@ -684,9 +656,6 @@ sub BriefDescription {
)
);
}
- elsif ( $type =~ /SystemError/ ) {
- return $self->loc("System error");
- }
if ( my $code = $_BriefDescriptions{$type} ) {
return $code->($self);
diff --git a/rt/lib/RT/Transactions.pm b/rt/lib/RT/Transactions.pm
index 8ba1a9600..23a475ac6 100755
--- a/rt/lib/RT/Transactions.pm
+++ b/rt/lib/RT/Transactions.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::Transaction item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/URI/freeside.pm b/rt/lib/RT/URI/freeside.pm
new file mode 100644
index 000000000..1bd2f534a
--- /dev/null
+++ b/rt/lib/RT/URI/freeside.pm
@@ -0,0 +1,297 @@
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 2004 Kristian Hoffmann <khoff@fire2wire.com>
+# Based on the original RT::URI::base and RT::URI::fsck_com_rt.
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
+# 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.
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
+package RT::URI::freeside;
+
+use base qw( RT::URI::base );
+use strict;
+use vars qw( $IntegrationType $URL );
+use Carp qw( cluck );
+
+
+=head1 NAME
+
+RT::URI::freeside
+
+=head1 DESCRIPTION
+
+URI handler for Freeside URIs. See http://www.freeside.biz/ for more
+information on Freeside.
+
+
+=head1 Public subroutines
+
+=over 4
+
+=item FreesideGetConfig CONFKEY
+
+Subroutine that returns the freeside's configuration value(s) for CONFKEY
+as a scalar or list.
+
+=cut
+
+sub FreesideGetConfig { return undef; }
+
+
+=item FreesideURL
+
+Returns the URL for freeside's web interface.
+
+=cut
+
+sub FreesideURL { return $URL; }
+
+
+=item FreesideVersion
+
+Returns a string describing the freeside version being used.
+
+=cut
+
+sub FreesideVersion { return undef; }
+
+
+=item smart_search
+
+A wrapper for the FS::cust_main::smart_search subroutine.
+
+=cut
+
+sub smart_search { return undef; }
+
+
+=item small_custview
+
+A wrapper for the FS::CGI::small_custview subroutine.
+
+=cut
+
+sub small_custview { return 'Freeside integration error!</A>'; }
+
+
+=back
+
+=head1 Private methods
+
+=over 4
+
+=item _FreesideGetRecord
+
+Method returns a hashref of the freeside record referenced in the URI.
+Must be called after ParseURI.
+
+=cut
+
+sub _FreesideGetRecord { return undef; }
+
+
+=item _FreesideURIPrefix
+
+Method that returns the URI prefix for freeside URIs.
+
+=cut
+
+sub _FreesideURIPrefix {
+
+ my $self = shift;
+ return($self->Scheme . '://freeside');
+
+}
+
+=item _FreesideURILabel
+
+Method that returns a short string describing the customer referenced
+in the URI.
+
+=cut
+
+sub _FreesideURILabel {
+
+ my $self = shift;
+
+ #$RT::Logger->debug("Called _FreesideURILabel()");
+
+ return unless (exists($self->{'fstable'}) and
+ exists($self->{'fspkey'}));
+
+ my $label;
+ my ($table, $pkey) = ($self->{'fstable'}, $self->{'fspkey'});
+
+ #if ($table ne 'cust_main') {
+ # warn "FS::${table} not currently supported";
+ # return;
+ #}
+
+ my $rec = $self->_FreesideGetRecord();
+
+ if (ref($rec) eq 'HASH' && $table eq 'cust_main') {
+ my $name = $rec->{'last'} . ', ' . $rec->{'first'};
+ $name = $rec->{'company'} . " ($name)" if $rec->{'company'};
+ $label = "$pkey: $name";
+ } elsif ( $table eq 'cust_svc' && ref($rec) && $rec->{'_object'} ) {
+ #Internal only
+ my($l,$v) = $rec->{'_object'}->label;
+ $label = "$l: $v";
+ } else {
+ $label = "$pkey: $table";
+ }
+
+ if ($label and !$@) {
+ return($label);
+ } else {
+ return;
+ }
+
+}
+
+=item _FreesideURILabelLong
+
+Method that returns a longer string describing the customer referenced
+in the URI.
+
+=cut
+
+sub _FreesideURILabelLong {
+
+ my $self = shift;
+
+ return $self->_FreesideURILabel();
+
+}
+
+=back
+
+=head1 Public methods
+
+=over 4
+
+=cut
+
+sub ParseURI {
+ my $self = shift;
+ my $uri = shift;
+ my ($table, $pkey);
+
+ my $uriprefix = $self->_FreesideURIPrefix;
+ if ($uri =~ /^$uriprefix\/(\w+)\/(\d*)$/) {
+
+ $table = $1;
+ $pkey = $2;
+
+ unless ( $pkey ) {
+ #way too noisy, using this prefix is normal usage# cluck "bad URL $uri";
+ return(undef);
+ }
+
+ $self->{'scheme'} = $self->Scheme;
+
+ } else {
+ return(undef);
+ }
+
+ $self->{'uri'} = "${uriprefix}/${table}/${pkey}";
+ $self->{'fstable'} = $table;
+ $self->{'fspkey'} = $pkey;
+
+
+ my $url = $self->FreesideURL();
+
+ if ($url ne '') {
+ $self->{'href'} = "${url}/view/${table}.cgi?${pkey}";
+ } else {
+ $self->{'href'} = $self->{'uri'};
+ }
+
+ $self->{'uri'};
+
+}
+
+sub Scheme {
+ my $self = shift;
+ return('freeside');
+
+}
+
+sub HREF {
+ my $self = shift;
+ return($self->{'href'} || $self->{'uri'});
+}
+
+sub IsLocal {
+ my $self = shift;
+ return undef;
+}
+
+=item AsString
+
+Return a "pretty" string representing the URI object.
+
+This is meant to be used like this:
+
+ % $re = $uri->Resolver;
+ <A HREF="<% $re->HREF %>"><% $re->AsString %></A>
+
+=cut
+
+sub AsString {
+ my $self = shift;
+ my $prettystring;
+ if ($prettystring = $self->_FreesideURILabel) {
+ return $prettystring;
+ } else {
+ return $self->URI;
+ }
+}
+
+=item AsStringLong
+
+Return a longer (HTML) string representing the URI object.
+
+=cut
+
+sub AsStringLong {
+ my $self = shift;
+ my $prettystring;
+ if ($prettystring = $self->_FreesideURILabelLong || $self->_FreesideURILabel){
+ return $prettystring;
+ } else {
+ return $self->URI;
+ }
+}
+
+$IntegrationType ||= 'Internal';
+eval "require RT::URI::freeside::${RT::URI::freeside::IntegrationType}";
+warn $@ if $@;
+if ($@ &&
+ $@ !~ qr(^Can't locate RT/URI/freeside/${RT::URI::freeside::IntegrationType}.pm)) {
+ die $@;
+};
+
+=back
+
+=cut
+
+1;
diff --git a/rt/lib/RT/URI/freeside/Internal.pm b/rt/lib/RT/URI/freeside/Internal.pm
new file mode 100644
index 000000000..b5af134ac
--- /dev/null
+++ b/rt/lib/RT/URI/freeside/Internal.pm
@@ -0,0 +1,145 @@
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 2004 Kristian Hoffmann <khoff@fire2wire.com>
+# Based on the original RT::URI::base and RT::URI::fsck_com_rt.
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
+# 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.
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
+#
+use strict;
+no warnings qw(redefine);
+
+#use vars qw($conf);
+
+use FS;
+use FS::UID qw(dbh);
+use FS::CGI qw(popurl);
+use FS::UI::Web::small_custview qw(small_custview);
+use FS::Conf;
+use FS::Record qw(qsearchs qsearch dbdef);
+use FS::cust_main;
+use FS::cust_svc;
+
+=head1 NAME
+
+RT::URI::freeside::Internal
+
+=head1 DESCRIPTION
+
+Overlay for the RT::URI::freeside URI handler implementing the Internal integration type.
+
+See L<RT::URI::freeside> for public/private interface documentation.
+
+=cut
+
+
+
+sub _FreesideGetRecord {
+
+ my $self = shift;
+ my ($table, $pkey) = ($self->{'fstable'}, $self->{'fspkey'});
+
+ $RT::Logger->debug("Called _FreesideGetRecord()");
+
+ #eval "use FS::$table;";
+
+ my $dbdef = dbdef;
+ unless ($dbdef) {
+ $RT::Logger->error("Using Internal freeside integration type, ".
+ "but it doesn't look like we're running under ".
+ "freeside's Mason handler.");
+ return;
+ }
+
+ my $pkeyfield = $dbdef->table($table)->primary_key;
+ unless ($pkeyfield) {
+ $RT::Logger->error("No primary key for freeside table '$table'");
+ return;
+ }
+
+ my $fsrec = qsearchs($table, { $pkeyfield => $pkey });
+ unless ($fsrec) {
+ $RT::Logger->error("Record with '$pkeyfield' == '$pkey' does " .
+ "not exist in table $table");
+ return;
+ }
+
+ return { $fsrec->hash, '_object' => $fsrec };
+
+}
+
+sub FreesideVersion {
+
+ return $FS::VERSION;
+
+}
+
+sub FreesideGetConfig {
+
+ #$conf = new FS::Conf unless ref($conf);
+ my $conf = new FS::Conf;
+
+ return scalar($conf->config(@_));
+
+}
+
+sub smart_search { #Subroutine
+
+ return map { { $_->hash } } &FS::cust_main::Search::smart_search(@_);
+
+}
+
+sub email_search { #Subroutine
+
+ return map { { $_->hash } } &FS::cust_main::Search::email_search(@_);
+
+}
+
+sub small_custview {
+
+ return &FS::UI::Web::small_custview::small_custview(@_);
+
+}
+
+sub _FreesideURILabelLong {
+
+ my $self = shift;
+
+ my $table = $self->{'fstable'};
+
+ if ( $table eq 'cust_main' ) {
+
+ my $rec = $self->_FreesideGetRecord();
+ return small_custview( $rec->{'_object'},
+ scalar(FS::Conf->new->config('countrydefault')),
+ 1 #nobalance
+ );
+
+ } else {
+
+ return $self->_FreesideURILabel();
+
+ }
+
+}
+
+1;
diff --git a/rt/lib/RT/URI/freeside/XMLRPC.pm b/rt/lib/RT/URI/freeside/XMLRPC.pm
new file mode 100644
index 000000000..916c20d7b
--- /dev/null
+++ b/rt/lib/RT/URI/freeside/XMLRPC.pm
@@ -0,0 +1,122 @@
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 2004 Kristian Hoffmann <khoff@fire2wire.com>
+# Based on the original RT::URI::base and RT::URI::fsck_com_rt.
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
+# 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.
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
+
+use strict;
+no warnings qw(redefine);
+
+use vars qw($XMLRPC_URL $_FS_VERSION);
+
+use Frontier::Client;
+
+=head1 NAME
+
+RT::URI::freeside::XMLRPC
+
+=head1 DESCRIPTION
+
+Overlay for the RT::URI::freeside URI handler implementing the XMLRPC integration type.
+
+See L<RT::URI::freeside> for public/private interface documentation.
+
+=cut
+
+
+sub _XMLRPCRequest { #Subroutine
+
+ my $method = shift;
+ my @args = @_;
+
+ my $result;
+ eval {
+ my $server = new Frontier::Client ( url => $XMLRPC_URL );
+ $result = $server->call($method, @args);
+ };
+
+ if (not $@ and ref($result) eq 'ARRAY') {
+ return (scalar(@$result) == 1) ? @$result[0] : @$result;
+ } else {
+ $RT::Logger->debug("Freeside XMLRPC: " . $result || $@);
+ return ();
+ }
+
+}
+
+sub _FreesideGetRecord {
+
+ my $self = shift;
+ my ($table, $pkey) = ($self->{'fstable'}, $self->{'fspkey'});
+ my $record;
+
+ $RT::Logger->debug("Called XMLRPC::_FreesideGetRecord()");
+
+ #FIXME: Need a better way to get primary keys.
+ # Maybe create a method for it and cache them like version?
+ my %table_pkeys = (
+ cust_main => 'custnum',
+ );
+
+ my $method = 'Record.qsearchs';
+ my @args = ($table, { $table_pkeys{$table} => $pkey });
+ my ($record) = &_XMLRPCRequest($method, @args);
+
+ return $record;
+
+}
+
+
+sub FreesideGetConfig {
+
+ return _XMLRPCRequest('Conf.config', @_);
+
+}
+
+
+sub FreesideVersion {
+
+ return $_FS_VERSION if ($_FS_VERSION =~ /^\d+\.\d+\.\d+/);
+
+ $RT::Logger->debug("Requesting freeside version...");
+ ($_FS_VERSION) = &_XMLRPCRequest('version');
+ $RT::Logger->debug("Cached freeside version: ${_FS_VERSION}");
+
+ return $_FS_VERSION;
+
+}
+
+sub smart_search { #Subroutine
+
+ return _XMLRPCRequest('cust_main.smart_search', @_);
+
+}
+
+sub small_custview {
+
+ return _XMLRPCRequest('Web.UI.small_custview.small_custview', @_);
+
+}
+
+1;
diff --git a/rt/lib/RT/User.pm b/rt/lib/RT/User.pm
index af36c858e..cbc10f5b4 100755
--- a/rt/lib/RT/User.pm
+++ b/rt/lib/RT/User.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -86,7 +61,7 @@ sub _Init {
-=head2 Create PARAMHASH
+=item Create PARAMHASH
Create takes a hash of values and creates a row in the database:
@@ -195,7 +170,7 @@ sub Create {
-=head2 id
+=item id
Returns the current value of id.
(In the database, id is stored as int(11).)
@@ -204,14 +179,14 @@ Returns the current value of id.
=cut
-=head2 Name
+=item Name
Returns the current value of Name.
(In the database, Name is stored as varchar(200).)
-=head2 SetName VALUE
+=item SetName VALUE
Set Name to VALUE.
@@ -222,14 +197,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Password
+=item Password
Returns the current value of Password.
(In the database, Password is stored as varchar(40).)
-=head2 SetPassword VALUE
+=item SetPassword VALUE
Set Password to VALUE.
@@ -240,14 +215,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Comments
+=item Comments
Returns the current value of Comments.
(In the database, Comments is stored as blob.)
-=head2 SetComments VALUE
+=item SetComments VALUE
Set Comments to VALUE.
@@ -258,14 +233,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Signature
+=item Signature
Returns the current value of Signature.
(In the database, Signature is stored as blob.)
-=head2 SetSignature VALUE
+=item SetSignature VALUE
Set Signature to VALUE.
@@ -276,14 +251,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 EmailAddress
+=item EmailAddress
Returns the current value of EmailAddress.
(In the database, EmailAddress is stored as varchar(120).)
-=head2 SetEmailAddress VALUE
+=item SetEmailAddress VALUE
Set EmailAddress to VALUE.
@@ -294,14 +269,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 FreeformContactInfo
+=item FreeformContactInfo
Returns the current value of FreeformContactInfo.
(In the database, FreeformContactInfo is stored as blob.)
-=head2 SetFreeformContactInfo VALUE
+=item SetFreeformContactInfo VALUE
Set FreeformContactInfo to VALUE.
@@ -312,14 +287,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Organization
+=item Organization
Returns the current value of Organization.
(In the database, Organization is stored as varchar(200).)
-=head2 SetOrganization VALUE
+=item SetOrganization VALUE
Set Organization to VALUE.
@@ -330,14 +305,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 RealName
+=item RealName
Returns the current value of RealName.
(In the database, RealName is stored as varchar(120).)
-=head2 SetRealName VALUE
+=item SetRealName VALUE
Set RealName to VALUE.
@@ -348,14 +323,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 NickName
+=item NickName
Returns the current value of NickName.
(In the database, NickName is stored as varchar(16).)
-=head2 SetNickName VALUE
+=item SetNickName VALUE
Set NickName to VALUE.
@@ -366,14 +341,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Lang
+=item Lang
Returns the current value of Lang.
(In the database, Lang is stored as varchar(16).)
-=head2 SetLang VALUE
+=item SetLang VALUE
Set Lang to VALUE.
@@ -384,14 +359,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 EmailEncoding
+=item EmailEncoding
Returns the current value of EmailEncoding.
(In the database, EmailEncoding is stored as varchar(16).)
-=head2 SetEmailEncoding VALUE
+=item SetEmailEncoding VALUE
Set EmailEncoding to VALUE.
@@ -402,14 +377,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 WebEncoding
+=item WebEncoding
Returns the current value of WebEncoding.
(In the database, WebEncoding is stored as varchar(16).)
-=head2 SetWebEncoding VALUE
+=item SetWebEncoding VALUE
Set WebEncoding to VALUE.
@@ -420,14 +395,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ExternalContactInfoId
+=item ExternalContactInfoId
Returns the current value of ExternalContactInfoId.
(In the database, ExternalContactInfoId is stored as varchar(100).)
-=head2 SetExternalContactInfoId VALUE
+=item SetExternalContactInfoId VALUE
Set ExternalContactInfoId to VALUE.
@@ -438,14 +413,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ContactInfoSystem
+=item ContactInfoSystem
Returns the current value of ContactInfoSystem.
(In the database, ContactInfoSystem is stored as varchar(30).)
-=head2 SetContactInfoSystem VALUE
+=item SetContactInfoSystem VALUE
Set ContactInfoSystem to VALUE.
@@ -456,14 +431,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 ExternalAuthId
+=item ExternalAuthId
Returns the current value of ExternalAuthId.
(In the database, ExternalAuthId is stored as varchar(100).)
-=head2 SetExternalAuthId VALUE
+=item SetExternalAuthId VALUE
Set ExternalAuthId to VALUE.
@@ -474,14 +449,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 AuthSystem
+=item AuthSystem
Returns the current value of AuthSystem.
(In the database, AuthSystem is stored as varchar(30).)
-=head2 SetAuthSystem VALUE
+=item SetAuthSystem VALUE
Set AuthSystem to VALUE.
@@ -492,14 +467,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Gecos
+=item Gecos
Returns the current value of Gecos.
(In the database, Gecos is stored as varchar(16).)
-=head2 SetGecos VALUE
+=item SetGecos VALUE
Set Gecos to VALUE.
@@ -510,14 +485,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 HomePhone
+=item HomePhone
Returns the current value of HomePhone.
(In the database, HomePhone is stored as varchar(30).)
-=head2 SetHomePhone VALUE
+=item SetHomePhone VALUE
Set HomePhone to VALUE.
@@ -528,14 +503,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 WorkPhone
+=item WorkPhone
Returns the current value of WorkPhone.
(In the database, WorkPhone is stored as varchar(30).)
-=head2 SetWorkPhone VALUE
+=item SetWorkPhone VALUE
Set WorkPhone to VALUE.
@@ -546,14 +521,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 MobilePhone
+=item MobilePhone
Returns the current value of MobilePhone.
(In the database, MobilePhone is stored as varchar(30).)
-=head2 SetMobilePhone VALUE
+=item SetMobilePhone VALUE
Set MobilePhone to VALUE.
@@ -564,14 +539,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 PagerPhone
+=item PagerPhone
Returns the current value of PagerPhone.
(In the database, PagerPhone is stored as varchar(30).)
-=head2 SetPagerPhone VALUE
+=item SetPagerPhone VALUE
Set PagerPhone to VALUE.
@@ -582,14 +557,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Address1
+=item Address1
Returns the current value of Address1.
(In the database, Address1 is stored as varchar(200).)
-=head2 SetAddress1 VALUE
+=item SetAddress1 VALUE
Set Address1 to VALUE.
@@ -600,14 +575,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Address2
+=item Address2
Returns the current value of Address2.
(In the database, Address2 is stored as varchar(200).)
-=head2 SetAddress2 VALUE
+=item SetAddress2 VALUE
Set Address2 to VALUE.
@@ -618,14 +593,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 City
+=item City
Returns the current value of City.
(In the database, City is stored as varchar(100).)
-=head2 SetCity VALUE
+=item SetCity VALUE
Set City to VALUE.
@@ -636,14 +611,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 State
+=item State
Returns the current value of State.
(In the database, State is stored as varchar(100).)
-=head2 SetState VALUE
+=item SetState VALUE
Set State to VALUE.
@@ -654,14 +629,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Zip
+=item Zip
Returns the current value of Zip.
(In the database, Zip is stored as varchar(16).)
-=head2 SetZip VALUE
+=item SetZip VALUE
Set Zip to VALUE.
@@ -672,14 +647,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Country
+=item Country
Returns the current value of Country.
(In the database, Country is stored as varchar(50).)
-=head2 SetCountry VALUE
+=item SetCountry VALUE
Set Country to VALUE.
@@ -690,14 +665,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Timezone
+=item Timezone
Returns the current value of Timezone.
(In the database, Timezone is stored as varchar(50).)
-=head2 SetTimezone VALUE
+=item SetTimezone VALUE
Set Timezone to VALUE.
@@ -708,14 +683,14 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 PGPKey
+=item PGPKey
Returns the current value of PGPKey.
(In the database, PGPKey is stored as text.)
-=head2 SetPGPKey VALUE
+=item SetPGPKey VALUE
Set PGPKey to VALUE.
@@ -726,7 +701,7 @@ Returns (1, 'Status message') on success and (0, 'Error Message') on failure.
=cut
-=head2 Creator
+=item Creator
Returns the current value of Creator.
(In the database, Creator is stored as int(11).)
@@ -735,7 +710,7 @@ Returns the current value of Creator.
=cut
-=head2 Created
+=item Created
Returns the current value of Created.
(In the database, Created is stored as datetime.)
@@ -744,7 +719,7 @@ Returns the current value of Created.
=cut
-=head2 LastUpdatedBy
+=item LastUpdatedBy
Returns the current value of LastUpdatedBy.
(In the database, LastUpdatedBy is stored as int(11).)
@@ -753,7 +728,7 @@ Returns the current value of LastUpdatedBy.
=cut
-=head2 LastUpdated
+=item LastUpdated
Returns the current value of LastUpdated.
(In the database, LastUpdated is stored as datetime.)
@@ -763,77 +738,77 @@ Returns the current value of LastUpdated.
-sub _CoreAccessible {
+sub _ClassAccessible {
{
id =>
- {read => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => ''},
+ {read => 1, type => 'int(11)', default => ''},
Name =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
Password =>
- {read => 1, write => 1, sql_type => 12, length => 40, is_blob => 0, is_numeric => 0, type => 'varchar(40)', default => ''},
+ {read => 1, write => 1, type => 'varchar(40)', default => ''},
Comments =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'blob', default => ''},
+ {read => 1, write => 1, type => 'blob', default => ''},
Signature =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'blob', default => ''},
+ {read => 1, write => 1, type => 'blob', default => ''},
EmailAddress =>
- {read => 1, write => 1, sql_type => 12, length => 120, is_blob => 0, is_numeric => 0, type => 'varchar(120)', default => ''},
+ {read => 1, write => 1, type => 'varchar(120)', default => ''},
FreeformContactInfo =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'blob', default => ''},
+ {read => 1, write => 1, type => 'blob', default => ''},
Organization =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
RealName =>
- {read => 1, write => 1, sql_type => 12, length => 120, is_blob => 0, is_numeric => 0, type => 'varchar(120)', default => ''},
+ {read => 1, write => 1, type => 'varchar(120)', default => ''},
NickName =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
Lang =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
EmailEncoding =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
WebEncoding =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
ExternalContactInfoId =>
- {read => 1, write => 1, sql_type => 12, length => 100, is_blob => 0, is_numeric => 0, type => 'varchar(100)', default => ''},
+ {read => 1, write => 1, type => 'varchar(100)', default => ''},
ContactInfoSystem =>
- {read => 1, write => 1, sql_type => 12, length => 30, is_blob => 0, is_numeric => 0, type => 'varchar(30)', default => ''},
+ {read => 1, write => 1, type => 'varchar(30)', default => ''},
ExternalAuthId =>
- {read => 1, write => 1, sql_type => 12, length => 100, is_blob => 0, is_numeric => 0, type => 'varchar(100)', default => ''},
+ {read => 1, write => 1, type => 'varchar(100)', default => ''},
AuthSystem =>
- {read => 1, write => 1, sql_type => 12, length => 30, is_blob => 0, is_numeric => 0, type => 'varchar(30)', default => ''},
+ {read => 1, write => 1, type => 'varchar(30)', default => ''},
Gecos =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
HomePhone =>
- {read => 1, write => 1, sql_type => 12, length => 30, is_blob => 0, is_numeric => 0, type => 'varchar(30)', default => ''},
+ {read => 1, write => 1, type => 'varchar(30)', default => ''},
WorkPhone =>
- {read => 1, write => 1, sql_type => 12, length => 30, is_blob => 0, is_numeric => 0, type => 'varchar(30)', default => ''},
+ {read => 1, write => 1, type => 'varchar(30)', default => ''},
MobilePhone =>
- {read => 1, write => 1, sql_type => 12, length => 30, is_blob => 0, is_numeric => 0, type => 'varchar(30)', default => ''},
+ {read => 1, write => 1, type => 'varchar(30)', default => ''},
PagerPhone =>
- {read => 1, write => 1, sql_type => 12, length => 30, is_blob => 0, is_numeric => 0, type => 'varchar(30)', default => ''},
+ {read => 1, write => 1, type => 'varchar(30)', default => ''},
Address1 =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
Address2 =>
- {read => 1, write => 1, sql_type => 12, length => 200, is_blob => 0, is_numeric => 0, type => 'varchar(200)', default => ''},
+ {read => 1, write => 1, type => 'varchar(200)', default => ''},
City =>
- {read => 1, write => 1, sql_type => 12, length => 100, is_blob => 0, is_numeric => 0, type => 'varchar(100)', default => ''},
+ {read => 1, write => 1, type => 'varchar(100)', default => ''},
State =>
- {read => 1, write => 1, sql_type => 12, length => 100, is_blob => 0, is_numeric => 0, type => 'varchar(100)', default => ''},
+ {read => 1, write => 1, type => 'varchar(100)', default => ''},
Zip =>
- {read => 1, write => 1, sql_type => 12, length => 16, is_blob => 0, is_numeric => 0, type => 'varchar(16)', default => ''},
+ {read => 1, write => 1, type => 'varchar(16)', default => ''},
Country =>
- {read => 1, write => 1, sql_type => 12, length => 50, is_blob => 0, is_numeric => 0, type => 'varchar(50)', default => ''},
+ {read => 1, write => 1, type => 'varchar(50)', default => ''},
Timezone =>
- {read => 1, write => 1, sql_type => 12, length => 50, is_blob => 0, is_numeric => 0, type => 'varchar(50)', default => ''},
+ {read => 1, write => 1, type => 'varchar(50)', default => ''},
PGPKey =>
- {read => 1, write => 1, sql_type => -4, length => 0, is_blob => 1, is_numeric => 0, type => 'text', default => ''},
+ {read => 1, write => 1, type => 'text', default => ''},
Creator =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
Created =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
LastUpdatedBy =>
- {read => 1, auto => 1, sql_type => 4, length => 11, is_blob => 0, is_numeric => 1, type => 'int(11)', default => '0'},
+ {read => 1, auto => 1, type => 'int(11)', default => '0'},
LastUpdated =>
- {read => 1, auto => 1, sql_type => 11, length => 0, is_blob => 0, is_numeric => 0, type => 'datetime', default => ''},
+ {read => 1, auto => 1, type => 'datetime', default => ''},
}
};
@@ -865,7 +840,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/User_Overlay.pm b/rt/lib/RT/User_Overlay.pm
index 4de0d2aad..2115c3299 100644
--- a/rt/lib/RT/User_Overlay.pm
+++ b/rt/lib/RT/User_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -69,7 +69,6 @@ package RT::User;
use strict;
no warnings qw(redefine);
-use Digest::SHA;
use Digest::MD5;
use RT::Principals;
use RT::ACE;
@@ -989,28 +988,20 @@ sub SetPassword {
}
-=head3 _GeneratePassword PASSWORD [, SALT]
+=head3 _GeneratePassword PASSWORD
-Returns a salted SHA-256 hash of the password passed in, in base64
-encoding.
+returns an MD5 hash of the password passed in, in hexadecimal encoding.
=cut
sub _GeneratePassword {
my $self = shift;
- my ($password, $salt) = @_;
-
- # Generate a random 4-byte salt
- $salt ||= pack("C4",map{int rand(256)} 1..4);
-
- # Encode the salt, and a truncated SHA256 of the MD5 of the
- # password. The additional, un-necessary level of MD5 allows for
- # transparent upgrading to this scheme, from the previous unsalted
- # MD5 one.
- return MIME::Base64::encode_base64(
- $salt . substr(Digest::SHA::sha256($salt . Digest::MD5::md5($password)),0,26),
- "" # No newline
- );
+ my $password = shift;
+
+ my $md5 = Digest::MD5->new();
+ $md5->add(encode_utf8($password));
+ return ($md5->hexdigest);
+
}
=head3 _GeneratePasswordBase64 PASSWORD
@@ -1073,32 +1064,23 @@ sub IsPassword {
return(undef);
}
- my $stored = $self->__Value('Password');
- if (length $stored == 40) {
- # The truncated SHA256(salt,MD5(passwd)) form from 2010/12 is 40 characters long
- my $hash = MIME::Base64::decode_base64($stored);
- # The first 4 bytes are the salt, the rest is substr(SHA256,0,26)
- my $salt = substr($hash, 0, 4, "");
- return substr(Digest::SHA::sha256($salt . Digest::MD5::md5($value)), 0, 26) eq $hash;
- } elsif (length $stored == 32) {
- # Hex nonsalted-md5
- return 0 unless Digest::MD5::md5_hex(encode_utf8($value)) eq $stored;
- } elsif (length $stored == 22) {
- # Base64 nonsalted-md5
- return 0 unless Digest::MD5::md5_base64(encode_utf8($value)) eq $stored;
- } elsif (length $stored == 13) {
- # crypt() output
- return 0 unless crypt(encode_utf8($value), $stored) eq $stored;
- } else {
- $RT::Logger->warn("Unknown password form");
- return 0;
+ # generate an md5 password
+ if ($self->_GeneratePassword($value) eq $self->__Value('Password')) {
+ return(1);
}
- # We got here by validating successfully, but with a legacy
- # password form. Update to the most recent form.
- my $obj = $self->isa("RT::CurrentUser") ? $self->UserObj : $self;
- $obj->_Set(Field => 'Password', Value => $self->_GeneratePassword($value) );
- return 1;
+ # if it's a historical password we say ok.
+ if ($self->__Value('Password') eq crypt(encode_utf8($value), $self->__Value('Password'))
+ or $self->_GeneratePasswordBase64($value) eq $self->__Value('Password'))
+ {
+ # ...but upgrade the legacy password inplace.
+ $self->SUPER::SetPassword( $self->_GeneratePassword($value) );
+ return(1);
+ }
+
+ # no password check has succeeded. get out
+
+ return (undef);
}
sub CurrentUserRequireToSetPassword {
@@ -1349,6 +1331,268 @@ sub OwnGroups {
return $groups;
}
+# }}}
+
+# {{{ Links
+
+#much false laziness w/Ticket_Overlay.pm. now with RT 3.8!
+
+# A helper table for links mapping to make it easier
+# to build and parse links between tickets
+
+use vars '%LINKDIRMAP';
+
+%LINKDIRMAP = (
+ MemberOf => { Base => 'MemberOf',
+ Target => 'HasMember', },
+ RefersTo => { Base => 'RefersTo',
+ Target => 'ReferredToBy', },
+ DependsOn => { Base => 'DependsOn',
+ Target => 'DependedOnBy', },
+ MergedInto => { Base => 'MergedInto',
+ Target => 'MergedInto', },
+
+);
+
+sub LINKDIRMAP { return \%LINKDIRMAP }
+
+#sub _Links {
+# my $self = shift;
+#
+# #TODO: Field isn't the right thing here. but I ahave no idea what mnemonic ---
+# #tobias meant by $f
+# my $field = shift;
+# my $type = shift || "";
+#
+# unless ( $self->{"$field$type"} ) {
+# $self->{"$field$type"} = new RT::Links( $self->CurrentUser );
+# if ( $self->CurrentUserHasRight('ShowTicket') ) {
+# # Maybe this ticket is a merged ticket
+# my $Tickets = new RT::Tickets( $self->CurrentUser );
+# # at least to myself
+# $self->{"$field$type"}->Limit( FIELD => $field,
+# VALUE => $self->URI,
+# ENTRYAGGREGATOR => 'OR' );
+# $Tickets->Limit( FIELD => 'EffectiveId',
+# VALUE => $self->EffectiveId );
+# while (my $Ticket = $Tickets->Next) {
+# $self->{"$field$type"}->Limit( FIELD => $field,
+# VALUE => $Ticket->URI,
+# ENTRYAGGREGATOR => 'OR' );
+# }
+# $self->{"$field$type"}->Limit( FIELD => 'Type',
+# VALUE => $type )
+# if ($type);
+# }
+# }
+# return ( $self->{"$field$type"} );
+#}
+
+=head2 DeleteLink
+
+Delete a link. takes a paramhash of Base, Target and Type.
+Either Base or Target must be null. The null value will
+be replaced with this ticket\'s id
+
+=cut
+
+sub DeleteLink {
+ my $self = shift;
+ my %args = (
+ Base => undef,
+ Target => undef,
+ Type => undef,
+ @_
+ );
+
+ unless ( $args{'Target'} || $args{'Base'} ) {
+ $RT::Logger->error("Base or Target must be specified\n");
+ return ( 0, $self->loc('Either base or target must be specified') );
+ }
+
+ #check acls
+ my $right = 0;
+ $right++ if $self->CurrentUserHasRight('AdminUsers');
+ if ( !$right && $RT::StrictLinkACL ) {
+ return ( 0, $self->loc("Permission Denied") );
+ }
+
+# # If the other URI is an RT::Ticket, we want to make sure the user
+# # can modify it too...
+# my ($status, $msg, $other_ticket) = $self->__GetTicketFromURI( URI => $args{'Target'} || $args{'Base'} );
+# return (0, $msg) unless $status;
+# if ( !$other_ticket || $other_ticket->CurrentUserHasRight('ModifyTicket') ) {
+# $right++;
+# }
+# if ( ( !$RT::StrictLinkACL && $right == 0 ) ||
+# ( $RT::StrictLinkACL && $right < 2 ) )
+# {
+# return ( 0, $self->loc("Permission Denied") );
+# }
+
+ my ($val, $Msg) = $self->SUPER::_DeleteLink(%args);
+
+ if ( !$val ) {
+ $RT::Logger->debug("Couldn't find that link\n");
+ return ( 0, $Msg );
+ }
+
+ my ($direction, $remote_link);
+
+ if ( $args{'Base'} ) {
+ $remote_link = $args{'Base'};
+ $direction = 'Target';
+ }
+ elsif ( $args{'Target'} ) {
+ $remote_link = $args{'Target'};
+ $direction='Base';
+ }
+
+ if ( $args{'Silent'} ) {
+ return ( $val, $Msg );
+ }
+ else {
+ my $remote_uri = RT::URI->new( $self->CurrentUser );
+ $remote_uri->FromURI( $remote_link );
+
+ my ( $Trans, $Msg, $TransObj ) = $self->_NewTransaction(
+ Type => 'DeleteLink',
+ Field => $LINKDIRMAP{$args{'Type'}}->{$direction},
+ OldValue => $remote_uri->URI || $remote_link,
+ TimeTaken => 0
+ );
+
+ if ( $remote_uri->IsLocal ) {
+
+ my $OtherObj = $remote_uri->Object;
+ my ( $val, $Msg ) = $OtherObj->_NewTransaction(Type => 'DeleteLink',
+ Field => $direction eq 'Target' ? $LINKDIRMAP{$args{'Type'}}->{Base}
+ : $LINKDIRMAP{$args{'Type'}}->{Target},
+ OldValue => $self->URI,
+ ActivateScrips => ! $RT::LinkTransactionsRun1Scrip,
+ TimeTaken => 0 );
+ }
+
+ return ( $Trans, $Msg );
+ }
+}
+
+sub AddLink {
+ my $self = shift;
+ my %args = ( Target => '',
+ Base => '',
+ Type => '',
+ Silent => undef,
+ @_ );
+
+ unless ( $args{'Target'} || $args{'Base'} ) {
+ $RT::Logger->error("Base or Target must be specified\n");
+ return ( 0, $self->loc('Either base or target must be specified') );
+ }
+
+ my $right = 0;
+ $right++ if $self->CurrentUserHasRight('AdminUsers');
+ if ( !$right && $RT::StrictLinkACL ) {
+ return ( 0, $self->loc("Permission Denied") );
+ }
+
+# # If the other URI is an RT::Ticket, we want to make sure the user
+# # can modify it too...
+# my ($status, $msg, $other_ticket) = $self->__GetTicketFromURI( URI => $args{'Target'} || $args{'Base'} );
+# return (0, $msg) unless $status;
+# if ( !$other_ticket || $other_ticket->CurrentUserHasRight('ModifyTicket') ) {
+# $right++;
+# }
+# if ( ( !$RT::StrictLinkACL && $right == 0 ) ||
+# ( $RT::StrictLinkACL && $right < 2 ) )
+# {
+# return ( 0, $self->loc("Permission Denied") );
+# }
+
+ return $self->_AddLink(%args);
+}
+
+#sub __GetTicketFromURI {
+# my $self = shift;
+# my %args = ( URI => '', @_ );
+#
+# # If the other URI is an RT::Ticket, we want to make sure the user
+# # can modify it too...
+# my $uri_obj = RT::URI->new( $self->CurrentUser );
+# $uri_obj->FromURI( $args{'URI'} );
+#
+# unless ( $uri_obj->Resolver && $uri_obj->Scheme ) {
+# my $msg = $self->loc( "Couldn't resolve '[_1]' into a URI.", $args{'URI'} );
+# $RT::Logger->warning( "$msg\n" );
+# return( 0, $msg );
+# }
+# my $obj = $uri_obj->Resolver->Object;
+# unless ( UNIVERSAL::isa($obj, 'RT::Ticket') && $obj->id ) {
+# return (1, 'Found not a ticket', undef);
+# }
+# return (1, 'Found ticket', $obj);
+#}
+
+=head2 _AddLink
+
+Private non-acled variant of AddLink so that links can be added during create.
+
+=cut
+
+sub _AddLink {
+ my $self = shift;
+ my %args = ( Target => '',
+ Base => '',
+ Type => '',
+ Silent => undef,
+ @_ );
+
+ my ($val, $msg, $exist) = $self->SUPER::_AddLink(%args);
+ return ($val, $msg) if !$val || $exist;
+
+ my ($direction, $remote_link);
+ if ( $args{'Target'} ) {
+ $remote_link = $args{'Target'};
+ $direction = 'Base';
+ } elsif ( $args{'Base'} ) {
+ $remote_link = $args{'Base'};
+ $direction = 'Target';
+ }
+
+ # Don't write the transaction if we're doing this on create
+ if ( $args{'Silent'} ) {
+ return ( $val, $msg );
+ }
+ else {
+ my $remote_uri = RT::URI->new( $self->CurrentUser );
+ $remote_uri->FromURI( $remote_link );
+
+ #Write the transaction
+ my ( $Trans, $Msg, $TransObj ) =
+ $self->_NewTransaction(Type => 'AddLink',
+ Field => $LINKDIRMAP{$args{'Type'}}->{$direction},
+ NewValue => $remote_uri->URI || $remote_link,
+ TimeTaken => 0 );
+
+ if ( $remote_uri->IsLocal ) {
+
+ my $OtherObj = $remote_uri->Object;
+ my ( $val, $Msg ) = $OtherObj->_NewTransaction(Type => 'AddLink',
+ Field => $direction eq 'Target' ? $LINKDIRMAP{$args{'Type'}}->{Base}
+ : $LINKDIRMAP{$args{'Type'}}->{Target},
+ NewValue => $self->URI,
+ ActivateScrips => ! $RT::LinkTransactionsRun1Scrip,
+ TimeTaken => 0 );
+ }
+ return ( $val, $Msg );
+ }
+
+}
+
+
+
+# }}}
+
=head2 HasRight
Shim around PrincipalObj->HasRight. See L<RT::Principal>.
@@ -1370,7 +1614,7 @@ admin right) 'ModifySelf', return 1. otherwise, return undef.
sub CurrentUserCanModify {
my $self = shift;
- my $field = shift;
+ my $right = shift;
if ( $self->CurrentUser->HasRight(Right => 'AdminUsers', Object => $RT::System) ) {
return (1);
@@ -1378,7 +1622,7 @@ sub CurrentUserCanModify {
#If the field is marked as an "administrators only" field,
# don\'t let the user touch it.
- elsif ( $self->_Accessible( $field, 'admin' ) ) {
+ elsif ( $self->_Accessible( $right, 'admin' ) ) {
return (undef);
}
@@ -1724,14 +1968,6 @@ sub PreferredKey
{
my $self = shift;
return undef unless RT->Config->Get('GnuPG')->{'Enable'};
-
- if ( ($self->CurrentUser->Id != $self->Id ) &&
- !$self->CurrentUser->HasRight(Right =>'AdminUsers', Object => $RT::System) ) {
- return undef;
- }
-
-
-
my $prefkey = $self->FirstAttribute('PreferredKey');
return $prefkey->Content if $prefkey;
@@ -1758,16 +1994,6 @@ sub PreferredKey
sub PrivateKey {
my $self = shift;
-
- #If the user wants to see their own values, let them.
- #If the user is an admin, let them.
- #Otherwwise, don't let them.
- #
- if ( ($self->CurrentUser->Id != $self->Id ) &&
- !$self->CurrentUser->HasRight(Right =>'AdminUsers', Object => $RT::System) ) {
- return undef;
- }
-
my $key = $self->FirstAttribute('PrivateKey') or return undef;
return $key->Content;
}
@@ -1775,11 +2001,7 @@ sub PrivateKey {
sub SetPrivateKey {
my $self = shift;
my $key = shift;
-
- unless ($self->CurrentUserCanModify('PrivateKey')) {
- return (0, $self->loc("Permission Denied"));
- }
-
+ # XXX: ACL
unless ( $key ) {
my ($status, $msg) = $self->DeleteAttribute('PrivateKey');
unless ( $status ) {
@@ -1802,7 +2024,7 @@ sub SetPrivateKey {
);
return ($status, $self->loc("Couldn't set private key"))
unless $status;
- return ($status, $self->loc("Set private key"));
+ return ($status, $self->loc("Unset private key"));
}
sub BasicColumns {
diff --git a/rt/lib/RT/Users.pm b/rt/lib/RT/Users.pm
index e1c8825af..d58f69653 100755
--- a/rt/lib/RT/Users.pm
+++ b/rt/lib/RT/Users.pm
@@ -1,51 +1,26 @@
-# BEGIN BPS TAGGED BLOCK {{{
-#
-# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
-# (Except where explicitly superseded by other copyright notices)
-#
-#
-# LICENSE:
-#
+# BEGIN LICENSE BLOCK
+#
+# Copyright (c) 1996-2003 Jesse Vincent <jesse@bestpractical.com>
+#
+# (Except where explictly superceded by other copyright notices)
+#
# 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 }}}
-
+#
+# Unless otherwise specified, all modifications, corrections or
+# extensions to this work which alter its source code become the
+# property of Best Practical Solutions, LLC when submitted for
+# inclusion in the work.
+#
+#
+# END LICENSE BLOCK
# Autogenerated by DBIx::SearchBuilder factory (by <jesse@bestpractical.com>)
# WARNING: THIS FILE IS AUTOGENERATED. ALL CHANGES TO THIS FILE WILL BE LOST.
#
@@ -89,7 +64,7 @@ sub _Init {
}
-=head2 NewItem
+=item NewItem
Returns an empty new RT::User item
@@ -126,7 +101,7 @@ _Vendor is for 3rd-party vendor add-ons, while _Local is for site-local customiz
These overlay files can contain new subs or subs to replace existing subs in this module.
-Each of these files should begin with the line
+If you'll be working with perl 5.6.0 or greater, each of these files should begin with the line
no warnings qw(redefine);
diff --git a/rt/lib/RT/Users_Overlay.pm b/rt/lib/RT/Users_Overlay.pm
index a0eabed8e..ea12dbe7f 100644
--- a/rt/lib/RT/Users_Overlay.pm
+++ b/rt/lib/RT/Users_Overlay.pm
@@ -1,40 +1,40 @@
# BEGIN BPS TAGGED BLOCK {{{
-#
+#
# COPYRIGHT:
-#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
-# <sales@bestpractical.com>
-#
+#
+# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
+# <jesse@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
@@ -43,7 +43,7 @@
# 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 }}}
=head1 NAME
@@ -379,6 +379,7 @@ sub WhoHaveRight {
$from_group->WhoHaveGroupRight( %args );
#XXX: DIRTY HACK
+ use DBIx::SearchBuilder 1.50; #no version on ::Union :(
use DBIx::SearchBuilder::Union;
my $union = new DBIx::SearchBuilder::Union;
$union->add( $from_group );