merge of '2f3c94605759601f796021ed2469cb5eb7910364'

and '9b486432ba55fa5e9a8bf8f7172fe57752abf7e1'

Monotone-Parent: 2f3c94605759601f796021ed2469cb5eb7910364
Monotone-Parent: 9b486432ba55fa5e9a8bf8f7172fe57752abf7e1
Monotone-Revision: b3af4618e267496536ae158c684a391e497913f0

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2011-03-30T15:02:56
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2011-03-30 15:02:56 +00:00
7 changed files with 34 additions and 25 deletions
+6
View File
@@ -7,6 +7,12 @@
and data memory is in "copy-on-write" mode, slightly reducing
memory usage of combined SOGo processes.
2011-03-30 Francis Lachapelle <flachapelle@inverse.ca>
* SoObjects/Appointments/SOGoAppointmentFolder.m
(-fetchFreeBusyInfosFrom:to:): we must fetch the c_content in
order to flatten cyclic events.
2011-03-29 Francis Lachapelle <flachapelle@inverse.ca>
* SoObjects/Appointments/iCalEvent+SOGo.m
@@ -35,12 +35,12 @@ vtodo_class2 = "(Attività confidenziale)";
/* Invitation */
"Event Invitation: \"%{Summary}\"" = "Invito Evento: \"%{Summary}\"";
"(sent by %{SentBy}) " = "(inviato da %{SentBy}) ";
"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}ti ha invitato al %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
"%{Organizer} %{SentByText}has invited you to %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}" = "%{Organizer} %{SentByText}ti ha invitato al %{Summary}.\n\nInizio: %{StartDate} alle %{StartTime}\nFine: %{EndDate} alle %{EndTime}\nDescrizione: %{Description}";
/* Deletion */
"Event Cancelled: \"%{Summary}\"" = "Evento cancellato: \"%{Summary}\"";
"%{Organizer} %{SentByText}has cancelled this event: %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}"
= "%{Organizer} %{SentByText}ha cancellato questo evento: %{Summary}.\n\nStart: %{StartDate} at %{StartTime}\nEnd: %{EndDate} at %{EndTime}\nDescription: %{Description}";
= "%{Organizer} %{SentByText}ha cancellato questo evento: %{Summary}.\n\nInizio: %{StartDate} alle %{StartTime}\nFine: %{EndDate} alle %{EndTime}\nDescrizione: %{Description}";
/* Update */
"The appointment \"%{Summary}\" for the %{OldStartDate} at %{OldStartTime} has changed"
@@ -882,7 +882,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
[row setObject: sharedYes forKey: @"isRecurrentEvent"];
content = [theRecord objectForKey: @"c_content"];
if ([content length])
if ([content isNotNull])
{
elements = [iCalCalendar parseFromSource: content];
if ([elements count])
@@ -941,7 +941,9 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
}
}
}
else
[self errorWithFormat:@"cyclic record doesn't have content -> %@", theRecord];
max = [ranges count];
for (count = 0; count < max; count++)
{
@@ -1125,6 +1127,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
qualifier = [EOQualifier qualifierWithQualifierFormat:
[where substringFromIndex: 4]];
records = [folder fetchFields: fields matchingQualifier: qualifier];
if (records)
{
if (r)
@@ -1144,7 +1147,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
{
if (r)
records = [self _flattenCycleRecords: records fetchRange: r];
if (ma)
if (ma)
[ma addObjectsFromArray: records];
else
ma = [NSMutableArray arrayWithArray: records];
@@ -2226,7 +2229,7 @@ firstInstanceCalendarDateRange: (NGCalendarDateRange *) fir
static NSArray *infos = nil; // TODO: move to a plist file
if (!infos)
infos = [[NSArray alloc] initWithObjects: @"c_partmails", @"c_partstates",
infos = [[NSArray alloc] initWithObjects: @"c_content", @"c_partmails", @"c_partstates",
@"c_isopaque", @"c_status", @"c_cycleinfo", @"c_orgmail", nil];
// We MUST include the protected information when checking for freebusy info as
@@ -42,7 +42,7 @@
"Move To" = "Sposta in ";
"Copy To" = "Copia in ";
"Add to:" = "Add to:";
"Add to:" = "Aggiungi a:";
/* Tooltips */
@@ -58,7 +58,7 @@
"htmlMailFormat_TRUE" = "HTML";
"Name or Email" = "Nome o indirizzo Email";
"Category" = "Category";
"Category" = "Categoria";
"Personal Addressbook" = "Rubrica personale";
"Search in Addressbook" = "Cerca nella rubrica";
@@ -85,7 +85,7 @@
"Phone Number:" = "Numero di telefono:";
"Prefers to receive messages formatted as:" = "Formato preferito per i messaggi di posta:";
"Screen Name:" = "Nome Instant Messenger:";
"Categories:" = "Categories:";
"Categories:" = "Categorie:";
"First:" = "Nome:";
"Last:" = "Cognome";
@@ -99,9 +99,9 @@
"Pager:" = "Cerca Persone:";
/* categories */
"contacts_category_labels" = "Colleague, Competitor, Customer, Friend, Family, Business Partner, Provider, Press, VIP";
"Categories" = "Categories";
"New category" = "New category";
"contacts_category_labels" = "Collega, Concorrente, Cliente, Amico, Famiglia, Socio, Provider, Stampa, VIP";
"Categories" = "Categorie";
"New category" = "Nuova categoria";
/* adresses */
"Title:" = "Titolo:";
@@ -109,10 +109,10 @@
"Edit Draft..." = "Modifica bozza...";
"Load Images" = "Carica Immagini";
"Return Receipt" = "Return Receipt";
"The sender of this message has asked to be notified when you read this message. Do you with to notify the sender?" = "The sender of this message has asked to be notified when you read this message. Do you with to notify the sender?";
"Return Receipt (displayed) - %@"= "Return Receipt (displayed) - %@";
"This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents." = "This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents.";
"Return Receipt" = "Ricevuta di ritorno";
"The sender of this message has asked to be notified when you read this message. Do you with to notify the sender?" = "Il mittente del messaggio ha chiesto di essere avvisato della lettura di questo messaggio. Vuoi avvisare il mittente?";
"Return Receipt (displayed) - %@"= "Ricevuta di ritorno (visualizza) - %@";
"This is a Return Receipt for the mail that you sent to %@.\n\nNote: This Return Receipt only acknowledges that the message was displayed on the recipient's computer. There is no guarantee that the recipient has read or understood the message contents." = "Questa è la Ricevuta di ritorno per la mail che hai inviato a %@.\n\nNota: Questa Ricevuta di ritorno ti assicura che il messaggio sta stato visualizzato sul computer del destinatario. Non c'è alcun conferma sul fatto che il destinatario abbia letto o capito il contenuto del messaggio.";
"Priority" = "Priorità";
"highest" = "Molto alta";
@@ -195,7 +195,7 @@
"Use This Folder For" = "Usa questa cartella per";
"Get Messages for Account" = "Scarica messaggi per l'account";
"Properties..." = "Properties...";
"Delegation..." = "Delegation...";
"Delegation..." = "Delega...";
/* Use This Folder menu */
"Sent Messages" = "Messaggi inviati";
@@ -276,7 +276,7 @@
/* Message operations */
"The messages could not be moved to the trash folder. Would you like to delete them immediately?"
= "The messages could not be moved to the trash folder. Would you like to delete them immediately?";
= "Il messaggi non psonno essere spostati nel cestino. Vuoi cancellarli immediatamente?";
/* Message editing */
"error_validationfailed" = "Validazione fallita";
@@ -284,6 +284,6 @@
"error_missingrecipients" = "Nessun destinatario specificato";
/* Message sending */
"cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid.";
"cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:";
"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server.";
"cannot send message: (smtp) all recipients discarded" = "Impossibile inviare il messaggio: tutti i destinatari non sono validi.";
"cannot send message (smtp) - recipients discarded:" = "Impossibile inviare il messaggio. Il seguente indirizzo non è valido:";
"cannot send message: (smtp) error when connecting" = "Impossibile inviare il messaggio: si è verificato un errore durante la connessione al server SMTP.";
@@ -19,7 +19,7 @@
"Delete" = "Cancella";
/* contacts categories */
"contacts_category_labels" = "Colleague, Competitor, Customer, Friend, Family, Business Partner, Provider, Press, VIP";
"contacts_category_labels" = "Collega, Concorrente, Cliente, Amico, Famiglia, Socio, Provider, Stampa, VIP";
/* vacation (auto-reply) */
"Enable vacation auto reply" = "Abilita il risponditore automatico";
@@ -133,7 +133,7 @@
"signatureplacement_below" = "sotto il testo a cui si risponde";
"Compose messages in" = "Componi il messaggio in";
"composemessagestype_html" = "HTML";
"composemessagestype_text" = "Plain text";
"composemessagestype_text" = "Testo normale";
"composeMessageChanged" = "Cambiare la modalità di composizione dei messaggio richiede di salvare le preferenze immediatamente. Continuare?";
@@ -108,7 +108,7 @@
"Export Calendar..." = "Esporta calendario...";
"Import Events..." = "Importa gli eventi...";
"Import Events" = "Importa gli eventi";
"Select an iCalendar file (.ics)." = "Select an iCalendar file (.ics).";
"Select an iCalendar file (.ics)." = "Seleziona un file iCalendar (.ics).";
"Upload" = "Upload";
"Publish Calendar..." = "Pubblica calendario...";
"Reload Remote Calendars" = "Aggiorna calendari remoti";
@@ -558,4 +558,4 @@ vtodo_class2 = "(Attività confidenziale)";
"URL of the Calendar" = "URL del calendario";
"Web Calendar" = "Calendario remoto";
"Reload on login" = "Ricarica al login";
"Invalid number." = "Invalid number.";
"Invalid number." = "Numero non valido.";