Hi,
I attached three patches for HEAD we did for our OTRS installation.
-improve-french-translation.patch:
This patch fix some french mistakes or improve the meaning of the
translations.
-Translate-OTRS_TICKET_-in-mail-notification.patch:
We this patch the ticket status are correctly translated in the
notification mails sent to the customers. The OTRS_TICKET_* fields
are translated.
I'm not sure it's the best solution, maybe the UserObject should have
an instance of LanguageObject?
-truncate-the-queue-name-on-customer-overview.patch:
Here we have quite long Queue and this patch truncate the queune name
for the customer. It keeps just the last part of it. For example
Europa::France::Paris will be displayed as Paris for the customer
When a case is 'pending' we need to stop the timer so we can see exactly
a long we'd been working on.
I'm about to prepare a patch for that.
Cheers,
Gonéri Le Bouder
>From 02a518e01f59b3e9e6dda340a9645cc73f2c694f Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Gon=C3=A9ri=20Le=20Bouder?= <[EMAIL PROTECTED]>
Date: Wed, 19 Nov 2008 16:52:18 +0100
Subject: [PATCH] improve french translation
---
Kernel/Language/fr.pm | 37 +++++++++++++++++++------------------
1 files changed, 19 insertions(+), 18 deletions(-)
diff --git a/Kernel/Language/fr.pm b/Kernel/Language/fr.pm
index 774ccd0..1d089aa 100644
--- a/Kernel/Language/fr.pm
+++ b/Kernel/Language/fr.pm
@@ -202,9 +202,9 @@ sub Data {
'Ignore' => 'Ignorer',
'replace with' => 'remplacer par',
'There is no account with that login name.' => 'Il n\'y a aucun compte avec ce nom de connexion',
- 'Login failed! Your username or password was entered incorrectly.' => 'La connection a �chou� ! Votre nom d\'utilisateur ou votre mot de passe sont erron�s.',
+ 'Login failed! Your username or password was entered incorrectly.' => 'La connexion a �chou� ! Votre nom d\'utilisateur ou votre mot de passe sont erron�s.',
'Please contact your admin' => 'Veuillez contacter votre admnistrateur',
- 'Logout successful. Thank you for using OTRS!' => 'D�connexion r�ussie. Merci d\'avoir utilis� OTRS!',
+ 'Logout successful. Thank you for using OTRS!' => 'D�connexion r�ussie. Merci d\'avoir utilis� OTRS !',
'Invalid SessionID!' => 'ID de Session Invalide !',
'Feature not active!' => 'Cette fonctionnalit� n\'est pas activ�e !',
'Login is needed!' => 'Authentification requise !',
@@ -217,7 +217,7 @@ sub Data {
'reverse' => 'inverse',
'Facility' => 'Service',
'Timeover' => 'Temp �coul�',
- 'Pending till' => 'En attendant jusqu\'�',
+ 'Pending till' => 'Attente pendant',
'Don\'t work with UserID 1 (System account)! Create new users!' => 'Cela ne fonctionne pas avec l\'identfifiant utilisateur 1 (Compte Syst�me)! Veuillez cr�er un nouvel utilisateur!',
'Dispatching by email To: field.' => 'R�partition par le champs \'�:\' du courriel',
'Dispatching by selected Queue.' => 'R�partition selon la file s�lectionn�e',
@@ -309,6 +309,7 @@ sub Data {
'Admin' => 'Administrateur',
'Customer Users' => 'Clients',
'Customer Users <-> Groups' => 'Clients <-> Groupes',
+ 'Customer Users <-> Services' => 'Clients <-> Services',
'Users <-> Groups' => 'Agent <-> Groupes',
'Roles' => 'R�les',
'Roles <-> Users' => 'R�les <-> Agents',
@@ -434,7 +435,7 @@ sub Data {
'closed' => 'ferm�',
'removed' => 'supprim�',
'pending reminder' => 'Attente du rappel',
- 'pending auto' => 'En attente auto',
+ 'pending auto' => 'Changement d\'�tat automatique',
'pending auto close+' => 'En attente de la fermeture automatique(+)',
'pending auto close-' => 'En attente de la fermeture automatique(-)',
'email-external' => 'message externe',
@@ -445,8 +446,8 @@ sub Data {
'phone' => 't�l�phone',
'sms' => 'SMS',
'webrequest' => 'Requ�te par le web',
- 'lock' => 'verrouiller',
- 'unlock' => 'd�verrouiller',
+ 'lock' => 'verrouill�',
+ 'unlock' => 'd�verrouill�',
'very low' => 'tr�s basse',
'low' => 'confort de fonctionnement',
'normal' => 'normal',
@@ -461,12 +462,12 @@ sub Data {
'Ticket Number' => 'Num�ro de ticket',
'Ticket Object' => 'Objet ticket',
'No such Ticket Number "%s"! Can\'t link it!' => 'Pas de num�ro de ticket "%s"! Je ne peut pas le lier',
- 'Don\'t show closed Tickets' => 'Ne pas montrer les tickets clotur�s',
- 'Show closed Tickets' => 'Voir les tickets clotur�s',
+ 'Don\'t show closed Tickets' => 'Ne pas voir les tickets ferm�s',
+ 'Show closed Tickets' => 'Voir les tickets ferm�s',
'New Article' => 'Nouvel Article',
- 'Email-Ticket' => '�crire un e-mail',
+ 'Email-Ticket' => 'Ticket e-mail',
'Create new Email Ticket' => 'Cr�er un nouveau ticket en envoyant un e-mail',
- 'Phone-Ticket' => 'Vue t�l�phone',
+ 'Phone-Ticket' => 'Ticket t�l�phone',
'Search Tickets' => 'Recherche de tickets',
'Edit Customer Users' => 'Editer clients',
'Edit Customer Company' => '�diter l\'entreprise cliente',
@@ -630,7 +631,7 @@ sub Data {
# Template: AdminCustomerUserGroupForm
# Template: AdminCustomerUserService
- 'Customer Users <-> Services Management' => 'Client utilisateur <-> Gestion des Services',
+ 'Customer Users <-> Services Management' => 'Clients <-> Gestion des Services',
'CustomerUser' => 'Client utilisateur',
'Service' => 'Service',
'Edit default services.' => '�diter le Service par d�faut',
@@ -728,7 +729,7 @@ sub Data {
'If your account is trusted, the already existing X-OTRS header at arrival time (for priority, ...) will be used! PostMaster filter will be used anyway.' => 'Si votre compte est v�rifi�, les entêtes X-OTRS (pour les priorit�s,...) seront utilis�s !',
# Template: AdminNavigationBar
- 'Users' => 'Utilisateurs',
+ 'Users' => 'Agents',
'Groups' => 'Groupes',
'Misc' => 'Divers',
@@ -889,7 +890,7 @@ sub Data {
'Add a new Salutation.' => 'Ajoute une nouvelle en-t�te.',
# Template: AdminSelectBoxForm
- 'SQL Box' => 'Req�tes SQL',
+ 'SQL Box' => 'Requ�tes SQL',
'Limit' => 'Limite',
'Go' => 'Valider',
'Select Box Result' => 'Choisissez le r�sultat',
@@ -1126,7 +1127,7 @@ sub Data {
'Inform involved Agents' => 'Informer les agents impliqu�s',
'Attach' => 'Attacher',
'Next state' => '�tat suivant',
- 'Pending date' => 'D�lais d\'attente',
+ 'Pending date' => 'D�lai d\'attente',
'Time units' => 'Unit� de temps',
# Template: AgentTicketCompose
@@ -1300,7 +1301,7 @@ sub Data {
# Template: CustomerHeaderSmall
# Template: CustomerLogin
- 'Login' => 'S\'authentifier',
+ 'Login' => 'Identifiant OTRS',
'Lost your password?' => 'Mot de passe oubli� ?',
'Request new password' => 'Demande de nouveau mot de passe',
'Create Account' => 'Cr�er un compte',
@@ -1317,7 +1318,7 @@ sub Data {
# Template: CustomerTicketPrint
# Template: CustomerTicketSearch
- 'Times' => 'Fois',
+ 'Times' => 'P�riode',
'No time settings.' => 'Pas de param�tre de temps',
# Template: CustomerTicketSearchResultCSV
@@ -1540,7 +1541,7 @@ sub Data {
'Options of the current customer user data (e. g. <OTRS_CUSTOMER_DATA_USERFIRSTNAME>)' => 'Options des donn�es du client actuel (ex: <OTRS_CUSTOMER_DATA_USERFIRSTNAME>)',
'System State Management' => 'Gestion des �tats du syst�me',
'OTRS DB User' => 'Utilisateur de la base OTRS',
- 'PhoneView' => 'Vue t�l�phone',
+ 'PhoneView' => 'Ticket t�l�phone',
'maximal period form' => '',
'TicketID' => 'Identifiant du Ticket',
'FAQ History' => 'Historique de la FAQ',
@@ -1549,7 +1550,7 @@ sub Data {
'Link Object: %s' => 'Lier l\'Objet: %s',
'Unlink Object: %s' => 'D�lier l\'objet: %s',
- 'Linked as' => 'Li�e en tant que',
+ 'Linked as' => 'Li� en tant que',
'Can not create link with %s!' => 'Impossible de cr�er un lien avec %s !',
'Can not delete link with %s!' => 'Impossible d\'effacer le lien avec %s !',
'Object already linked as %s.' => 'Objet d�j� li� en tant que %s',
--
1.5.6.5
>From 2d4613244c0f2f860d5e8d3ba74139e2176aafa7 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Gon=C3=A9ri=20Le=20Bouder?= <[EMAIL PROTECTED]>
Date: Wed, 19 Nov 2008 13:05:13 +0100
Subject: [PATCH] Translate OTRS_TICKET_* in mail notification
---
Kernel/System/Ticket/Article.pm | 30 ++++++++++++++++++++++++++----
1 files changed, 26 insertions(+), 4 deletions(-)
diff --git a/Kernel/System/Ticket/Article.pm b/Kernel/System/Ticket/Article.pm
index bf6a6c8..dcf5a37 100644
--- a/Kernel/System/Ticket/Article.pm
+++ b/Kernel/System/Ticket/Article.pm
@@ -2063,6 +2063,16 @@ sub SendAgentNotification {
# get current user data
my %CurrentUser = $Self->{UserObject}->GetUserData( UserID => $Param{UserID} );
+
+ my $LanguageObject = Kernel::Language->new(
+ UserTimeZone => $Self->{UserTimeZone},
+ UserLanguage => $CurrentUser{UserLanguage},
+ LogObject => $Self->{LogObject},
+ ConfigObject => $Self->{ConfigObject},
+ MainObject => $Self->{MainObject},
+ Action => $Self->{Action},
+ );
+
for ( keys %CurrentUser ) {
if ( $CurrentUser{$_} ) {
$Notification{Body} =~ s/<OTRS_CURRENT_$_>/$CurrentUser{$_}/gi;
@@ -2086,8 +2096,9 @@ sub SendAgentNotification {
my %Ticket = $Self->TicketGet( TicketID => $Param{TicketID} );
for ( keys %Ticket ) {
if ( defined $Ticket{$_} ) {
- $Notification{Body} =~ s/<OTRS_TICKET_$_>/$Ticket{$_}/gi;
- $Notification{Subject} =~ s/<OTRS_TICKET_$_>/$Ticket{$_}/gi;
+ my $TranslatedStrg = $LanguageObject->Get($Ticket{$_});
+ $Notification{Body} =~ s/<OTRS_TICKET_$_>/$TranslatedStrg/gi;
+ $Notification{Subject} =~ s/<OTRS_TICKET_$_>/$TranslatedStrg/gi;
}
}
@@ -2299,6 +2310,16 @@ sub SendCustomerNotification {
}
}
+ my $LanguageObject = Kernel::Language->new(
+ UserTimeZone => $Self->{UserTimeZone},
+ UserLanguage => $Language,
+ LogObject => $Self->{LogObject},
+ ConfigObject => $Self->{ConfigObject},
+ MainObject => $Self->{MainObject},
+ Action => $Self->{Action},
+ );
+
+
# check recipients
if ( !$Article{From} || $Article{From} !~ /@/ ) {
return;
@@ -2351,8 +2372,9 @@ sub SendCustomerNotification {
my %Ticket = $Self->TicketGet( TicketID => $Param{TicketID} );
for ( keys %Ticket ) {
if ( defined $Ticket{$_} ) {
- $Notification{Body} =~ s/<OTRS_TICKET_$_>/$Ticket{$_}/gi;
- $Notification{Subject} =~ s/<OTRS_TICKET_$_>/$Ticket{$_}/gi;
+ my $TranslatedStrg = $LanguageObject->Get($Ticket{$_});
+ $Notification{Body} =~ s/<OTRS_TICKET_$_>/$TranslatedStrg/gi;
+ $Notification{Subject} =~ s/<OTRS_TICKET_$_>/$TranslatedStrg/gi;
}
}
--
1.5.5.1
>From 3b7ad05759fb5b38199a09c0ae688897f3a775b1 Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Gon=C3=A9ri=20Le=20Bouder?= <[EMAIL PROTECTED]>
Date: Sun, 16 Nov 2008 04:10:28 +0100
Subject: [PATCH] truncate the queue name on customer overview
---
Kernel/Output/HTML/Standard/CustomerStatusView.dtl | 2 +-
Kernel/Output/HTML/Standard/CustomerTicketZoom.dtl | 2 +-
Kernel/System/Queue.pm | 2 ++
Kernel/System/Ticket/Article.pm | 1 +
4 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/Kernel/Output/HTML/Standard/CustomerStatusView.dtl b/Kernel/Output/HTML/Standard/CustomerStatusView.dtl
index 0498fe1..352a0f3 100644
--- a/Kernel/Output/HTML/Standard/CustomerStatusView.dtl
+++ b/Kernel/Output/HTML/Standard/CustomerStatusView.dtl
@@ -71,7 +71,7 @@
<td class="$Env{"Color"}">$QData{"Age","20"}</td>
<td class="$Env{"Color"}"><div title="$QData{"Subject","80"}">$QData{"Subject","36"}</div></td>
<td class="$Env{"Color"}"><div title="$Quote{"$Text{"$Data{"State"}"}"}">$Quote{"$Text{"$Data{"State"}"}","18"}</div></td>
- <td class="$Env{"Color"}"><div title="$Quote{"$Data{"Queue"}"}">$Quote{"$Data{"Queue"}","18"}</div></td>
+ <td class="$Env{"Color"}"><div title="$Quote{"$Data{"Queue"}"}">$Quote{"$Data{"QueueShort"}","30"}</div></td>
<td class="$Env{"Color"}"><div title="$Quote{"$Data{"Owner"}"}">$Quote{"$Data{"Owner"}","18"}</div></td>
# <td class="$Env{"Color"}"><div title="$Quote{"$Data{"CustomerID"}"}">$Quote{"$Data{"CustomerID"}","18"}</div>
# <div title="$QData{"CustomerName"}">$QData{"CustomerName","15"}</div>
diff --git a/Kernel/Output/HTML/Standard/CustomerTicketZoom.dtl b/Kernel/Output/HTML/Standard/CustomerTicketZoom.dtl
index f2cae09..69f94c9 100644
--- a/Kernel/Output/HTML/Standard/CustomerTicketZoom.dtl
+++ b/Kernel/Output/HTML/Standard/CustomerTicketZoom.dtl
@@ -207,7 +207,7 @@ $Data{"Article::Text"}
</tr>
<tr>
<td class="contentkey">$Text{"Queue"}:</td>
- <td class="contentvalue"><font color="red"><div title="$QData{"Queue"}">$QData{"Queue","18"}</div></font></td>
+ <td class="contentvalue"><font color="red"><div title="$QData{"Queue"}">$QData{"QueueShort","18"}</div></font></td>
</tr>
<!-- dtl:block:Service -->
<tr>
diff --git a/Kernel/System/Queue.pm b/Kernel/System/Queue.pm
index 38e2364..e28affe 100644
--- a/Kernel/System/Queue.pm
+++ b/Kernel/System/Queue.pm
@@ -828,6 +828,8 @@ sub QueueGet {
DefaultSignKey => $Data[23],
Calendar => $Data[24] || '',
);
+ $Data{NameShort} = $Data{Name};
+ $Data{NameShort} =~ s/.*:://;
}
# check if data exists
diff --git a/Kernel/System/Ticket/Article.pm b/Kernel/System/Ticket/Article.pm
index d862a1a..9b85832 100644
--- a/Kernel/System/Ticket/Article.pm
+++ b/Kernel/System/Ticket/Article.pm
@@ -1628,6 +1628,7 @@ sub ArticleGet {
$Part->{LockID} = $Ticket{LockID};
$Part->{Lock} = $Ticket{Lock};
$Part->{Queue} = $Queue{Name};
+ $Part->{QueueShort} = $Queue{NameShort};
$Part->{Service} = $Ticket{Service} || '';
$Part->{SLA} = $Ticket{SLA} || '';
if ( !$Part->{RealTillTimeNotUsed} || $StateData{TypeName} !~ /^pending/i ) {
--
1.5.6.5
_______________________________________________
OTRS mailing list: dev - Webpage: http://otrs.org/
Archive: http://lists.otrs.org/pipermail/dev
To unsubscribe: http://lists.otrs.org/cgi-bin/listinfo/dev