Monotone-Parent: 5e0e51447ef2f0528a3a0b4bb9e2540eebbb1bc6

Monotone-Revision: f78d6c1977f38e0b364a106d6c32efb377c0bdea

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2008-05-20T19:16:19
Monotone-Branch: ca.inverse.sogo
maint-2.0.2
Wolfgang Sourdeau 2008-05-20 19:16:19 +00:00
parent b994894695
commit 3f5acfe832
55 changed files with 934 additions and 76 deletions

4
NEWS
View File

@ -5,7 +5,7 @@
- added custom DAV methods for managing user permissions from the SOGo Integrator
- pressing enter in the contact edition dialog will perform the creation/update operation
- implemented more of the CalDAV specification for compatibility with Lightning 0.8
- added Italian translation, thanks to Marco Lertora
- added Italian translation, thanks to Marco Lertora and Sauro Saltini
- added initial logic for splitting overlapping events
- improved restoration of drag handles state
- improved contextual menu handling of Address Book module
@ -18,6 +18,8 @@
- added support for calendar colors, both in the web and DAV interfaces
- refactored and fixed the implementation of DAV acl, with partial support for CalDAV Scheduling extensions
- removed the limitation that prevented the user of underscore characters in usernames
- added Spanish translation, thanks to Ernesto Revilla
- added Dutch translation, thanks to Wilco Baan Hofman
0.9.0-20080208 (1.0 rc5)
------------------------

View File

@ -35,6 +35,11 @@ Appointments_RESOURCE_FILES += \
product.plist \
Appointments_COMPONENTS += \
SOGoAptMailDutchInvitation.wo \
SOGoAptMailDutchICalReply.wo \
SOGoAptMailDutchUpdate.wo \
SOGoAptMailDutchRemoval.wo \
SOGoAptMailDutchDeletion.wo \
SOGoAptMailEnglishInvitation.wo \
SOGoAptMailEnglishICalReply.wo \
SOGoAptMailEnglishUpdate.wo \
@ -50,11 +55,16 @@ Appointments_COMPONENTS += \
SOGoAptMailGermanUpdate.wo \
SOGoAptMailGermanRemoval.wo \
SOGoAptMailGermanDeletion.wo \
SOGoAptMailItalianInvitation.wo \
SOGoAptMailItalianICalReply.wo \
SOGoAptMailItalianUpdate.wo \
SOGoAptMailItalianRemoval.wo \
SOGoAptMailItalianDeletion.wo \
SOGoAptMailItalianInvitation.wo \
SOGoAptMailItalianICalReply.wo \
SOGoAptMailItalianUpdate.wo \
SOGoAptMailItalianRemoval.wo \
SOGoAptMailItalianDeletion.wo \
SOGoAptMailSpanishInvitation.wo \
SOGoAptMailSpanishICalReply.wo \
SOGoAptMailSpanishUpdate.wo \
SOGoAptMailSpanishRemoval.wo \
SOGoAptMailSpanishDeletion.wo \
ADDITIONAL_INCLUDE_DIRS += -I../../SOPE/

View File

@ -0,0 +1,4 @@
<#IsSubject>Appointment <#AptStartDate /> at <#AptStartTime /> has been cancelled</#IsSubject>
<#IsBody>
The appointment at <#AptStartDate /> <#AptStartTime /> has been cancelled by <#Organizer />.
</#IsBody>

View File

@ -0,0 +1,34 @@
AptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
AptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Organizer: WOString {
value = newApt.organizer.cnWithoutQuotes;
escapeHTML = NO;
}
HasHomePageURL: WOConditional {
condition = homePageURL.length;
}
HomePageURL: WOString {
value = appointmentURL;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,4 @@
<#IsSubject>Re: rendez-vous le <#AptStartDate/> à <#AptStartTime/></#IsSubject>
<#IsBody>
<#Attendee/> has <#HasAccepted>accepted</#HasAccepted><#HasDeclined>declined</#HasDeclined> your invitation.
</#IsBody>

View File

@ -0,0 +1,33 @@
AptStartDate: WOString {
value = startDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
AptStartTime: WOString {
value = startDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Attendee: WOString {
value = attendee.cnWithoutQuotes;
escapeHTML = NO;
}
HasAccepted: WOConditional {
condition = hasAccepted;
}
HasDeclined: WOConditional {
condition = hasDeclined;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,7 @@
<#IsSubject>Appointment on <#AptStartDate /> at <#AptStartTime /></#IsSubject>
<#IsBody>
You're invited by <#Organizer /> to a meeting.
<#HasHomePageURL>
Please make a decision for this invitation at <#HomePageURL />.
</#HasHomePageURL>
</#IsBody>

View File

@ -0,0 +1,34 @@
AptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
AptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Organizer: WOString {
value = newApt.organizer.cnWithoutQuotes;
escapeHTML = NO;
}
HasHomePageURL: WOConditional {
condition = homePageURL.length;
}
HomePageURL: WOString {
value = appointmentURL;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,4 @@
<#IsSubject>Removed from appointment <#AptStartDate /> at <#AptStartTime /></#IsSubject>
<#IsBody>
You have been removed by <#Organizer /> from the appointment scheduled at <#AptStartDate /> <#AptStartTime />.
</#IsBody>

View File

@ -0,0 +1,34 @@
AptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
AptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Organizer: WOString {
value = newApt.organizer.cnWithoutQuotes;
escapeHTML = NO;
}
HasHomePageURL: WOConditional {
condition = homePageURL.length;
}
HomePageURL: WOString {
value = appointmentURL;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,8 @@
<#IsSubject>The appointment for the <#OldAptStartDate /> at <#OldAptStartTime /> has changed</#IsSubject>
<#IsBody>
This appointment, previously set for <#OldAptStartDate />
at <#OldAptStartTime /> is now scheduled for <#NewAptStartDate /> at <#NewAptStartTime />
<#HasHomePageURL>
Please make a decision for these new settings at <#HomePageURL />.
</#HasHomePageURL>
</#IsBody>

View File

@ -0,0 +1,46 @@
OldAptStartDate: WOString {
value = oldStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
OldAptStartTime: WOString {
value = oldStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
NewAptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Organizer: WOString {
value = newApt.organizer.cnWithoutQuotes;
escapeHTML = NO;
}
HasHomePageURL: WOConditional {
condition = homePageURL.length;
}
HomePageURL: WOString {
value = appointmentURL;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,4 @@
<#IsSubject>Appointment <#AptStartDate /> at <#AptStartTime /> has been cancelled</#IsSubject>
<#IsBody>
The appointment at <#AptStartDate /> <#AptStartTime /> has been cancelled by <#Organizer />.
</#IsBody>

View File

@ -0,0 +1,34 @@
AptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
AptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Organizer: WOString {
value = newApt.organizer.cnWithoutQuotes;
escapeHTML = NO;
}
HasHomePageURL: WOConditional {
condition = homePageURL.length;
}
HomePageURL: WOString {
value = appointmentURL;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,4 @@
<#IsSubject>Re: rendez-vous le <#AptStartDate/> à <#AptStartTime/></#IsSubject>
<#IsBody>
<#Attendee/> has <#HasAccepted>accepted</#HasAccepted><#HasDeclined>declined</#HasDeclined> your invitation.
</#IsBody>

View File

@ -0,0 +1,33 @@
AptStartDate: WOString {
value = startDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
AptStartTime: WOString {
value = startDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Attendee: WOString {
value = attendee.cnWithoutQuotes;
escapeHTML = NO;
}
HasAccepted: WOConditional {
condition = hasAccepted;
}
HasDeclined: WOConditional {
condition = hasDeclined;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,7 @@
<#IsSubject>Appointment on <#AptStartDate /> at <#AptStartTime /></#IsSubject>
<#IsBody>
You're invited by <#Organizer /> to a meeting.
<#HasHomePageURL>
Please make a decision for this invitation at <#HomePageURL />.
</#HasHomePageURL>
</#IsBody>

View File

@ -0,0 +1,34 @@
AptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
AptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Organizer: WOString {
value = newApt.organizer.cnWithoutQuotes;
escapeHTML = NO;
}
HasHomePageURL: WOConditional {
condition = homePageURL.length;
}
HomePageURL: WOString {
value = appointmentURL;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,4 @@
<#IsSubject>Removed from appointment <#AptStartDate /> at <#AptStartTime /></#IsSubject>
<#IsBody>
You have been removed by <#Organizer /> from the appointment scheduled at <#AptStartDate /> <#AptStartTime />.
</#IsBody>

View File

@ -0,0 +1,34 @@
AptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
AptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Organizer: WOString {
value = newApt.organizer.cnWithoutQuotes;
escapeHTML = NO;
}
HasHomePageURL: WOConditional {
condition = homePageURL.length;
}
HomePageURL: WOString {
value = appointmentURL;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -0,0 +1,8 @@
<#IsSubject>The appointment for the <#OldAptStartDate /> at <#OldAptStartTime /> has changed</#IsSubject>
<#IsBody>
This appointment, previously set for <#OldAptStartDate />
at <#OldAptStartTime /> is now scheduled for <#NewAptStartDate /> at <#NewAptStartTime />
<#HasHomePageURL>
Please make a decision for these new settings at <#HomePageURL />.
</#HasHomePageURL>
</#IsBody>

View File

@ -0,0 +1,46 @@
OldAptStartDate: WOString {
value = oldStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
OldAptStartTime: WOString {
value = oldStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
NewAptStartDate: WOString {
value = newStartDate;
dateformat = "%d/%m/%y";
escapeHTML = NO;
}
NewAptStartTime: WOString {
value = newStartDate;
dateformat = "%H:%M";
escapeHTML = NO;
}
Organizer: WOString {
value = newApt.organizer.cnWithoutQuotes;
escapeHTML = NO;
}
HasHomePageURL: WOConditional {
condition = homePageURL.length;
}
HomePageURL: WOString {
value = appointmentURL;
escapeHTML = NO;
}
IsSubject: WOConditional {
condition = isSubject;
}
IsBody: WOConditional {
condition = isSubject;
negate = YES;
}

View File

@ -39,14 +39,18 @@ Mailer_RESOURCE_FILES += \
product.plist \
Mailer_RESOURCE_FILES += \
SOGoMailDutchForward.wo \
SOGoMailEnglishForward.wo \
SOGoMailFrenchForward.wo \
SOGoMailGermanForward.wo \
SOGoMailItalianForward.wo \
SOGoMailItalianForward.wo \
SOGoMailSpanishForward.wo \
SOGoMailDutchReply.wo \
SOGoMailEnglishReply.wo \
SOGoMailFrenchReply.wo \
SOGoMailGermanReply.wo \
SOGoMailItalianReply.wo
SOGoMailItalianReply.wo \
SOGoMailSpanishReply.wo
ADDITIONAL_INCLUDE_DIRS += -I../../SOPE/

View File

@ -0,0 +1,10 @@
-------- Original Message --------
Subject: <#subject/>
Date: <#date/>
From: <#from/>
<#hasReplyTo>Reply-To: <#replyTo/></#hasReplyTo><#hasOrganization>Organization: <#organization/></#hasOrganization>To: <#to/>
<#hasCc>CC: <#cc/></#hasCc><#hasNewsGroups>Newsgroups: <#newsgroups/></#hasNewsGroups><#hasReferences>References: <#references/></#hasReferences>
<#messageBody/>
<#signature/>

View File

@ -0,0 +1,74 @@
subject: WOString {
value = subject;
escapeHTML = NO;
}
date: WOString {
value = date;
escapeHTML = NO;
}
from: WOString {
value = from;
escapeHTML = NO;
}
hasReplyTo: WOConditional {
condition = hasReplyTo;
}
replyTo: WOString {
value = replyTo;
escapeHTML = NO;
}
hasOrganization: WOConditional {
condition = hasOrganization;
}
organization: WOString {
value = organization;
escapeHTML = NO;
}
to: WOString {
value = to;
escapeHTML = NO;
}
hasCc: WOConditional {
condition = hasCc;
}
cc: WOString {
value = cc;
escapeHTML = NO;
}
hasNewsGroups: WOConditional {
condition = hasNewsGroups;
}
newsgroups: WOString {
value = newsgroups;
escapeHTML = NO;
}
hasReferences: WOConditional {
condition = hasReferences;
}
references: WOString {
value = references;
escapeHTML = NO;
}
messageBody: WOString {
value = messageBody;
escapeHTML = NO;
}
signature: WOString {
value = signature;
escapeHTML = NO;
}

View File

@ -0,0 +1,5 @@
On <#date/>, <#from/> wrote:
<#messageBody/>
<#signature/>

View File

@ -0,0 +1,19 @@
date: WOString {
value = date;
escapeHTML = NO;
}
from: WOString {
value = from;
escapeHTML = NO;
}
messageBody: WOString {
value = messageBody;
escapeHTML = NO;
}
signature: WOString {
value = signature;
escapeHTML = NO;
}

View File

@ -0,0 +1,10 @@
-------- Original Message --------
Subject: <#subject/>
Date: <#date/>
From: <#from/>
<#hasReplyTo>Reply-To: <#replyTo/></#hasReplyTo><#hasOrganization>Organization: <#organization/></#hasOrganization>To: <#to/>
<#hasCc>CC: <#cc/></#hasCc><#hasNewsGroups>Newsgroups: <#newsgroups/></#hasNewsGroups><#hasReferences>References: <#references/></#hasReferences>
<#messageBody/>
<#signature/>

View File

@ -0,0 +1,74 @@
subject: WOString {
value = subject;
escapeHTML = NO;
}
date: WOString {
value = date;
escapeHTML = NO;
}
from: WOString {
value = from;
escapeHTML = NO;
}
hasReplyTo: WOConditional {
condition = hasReplyTo;
}
replyTo: WOString {
value = replyTo;
escapeHTML = NO;
}
hasOrganization: WOConditional {
condition = hasOrganization;
}
organization: WOString {
value = organization;
escapeHTML = NO;
}
to: WOString {
value = to;
escapeHTML = NO;
}
hasCc: WOConditional {
condition = hasCc;
}
cc: WOString {
value = cc;
escapeHTML = NO;
}
hasNewsGroups: WOConditional {
condition = hasNewsGroups;
}
newsgroups: WOString {
value = newsgroups;
escapeHTML = NO;
}
hasReferences: WOConditional {
condition = hasReferences;
}
references: WOString {
value = references;
escapeHTML = NO;
}
messageBody: WOString {
value = messageBody;
escapeHTML = NO;
}
signature: WOString {
value = signature;
escapeHTML = NO;
}

View File

@ -0,0 +1,5 @@
On <#date/>, <#from/> wrote:
<#messageBody/>
<#signature/>

View File

@ -0,0 +1,19 @@
date: WOString {
value = date;
escapeHTML = NO;
}
from: WOString {
value = from;
escapeHTML = NO;
}
messageBody: WOString {
value = messageBody;
escapeHTML = NO;
}
signature: WOString {
value = signature;
escapeHTML = NO;
}

View File

@ -6,7 +6,7 @@ BUNDLE_NAME = CommonUI
CommonUI_PRINCIPAL_CLASS = CommonUIProduct
CommonUI_LANGUAGES = English French German Italian
CommonUI_LANGUAGES = Dutch English French German Italian Spanish
CommonUI_OBJC_FILES += \
CommonUIProduct.m \

View File

@ -6,7 +6,7 @@ BUNDLE_NAME = ContactsUI
ContactsUI_PRINCIPAL_CLASS = ContactsUIProduct
ContactsUI_LANGUAGES = English French German Italian
ContactsUI_LANGUAGES = Dutch English French German Italian Spanish
ContactsUI_OBJC_FILES = \
UIxContactsUserFolders.m \

View File

@ -13,6 +13,7 @@ SUBPROJECTS += \
MainUI \
PreferencesUI \
Scheduler \
Templates
Templates \
WebServerResources
include $(GNUSTEP_MAKEFILES)/aggregate.make

View File

@ -6,7 +6,7 @@ BUNDLE_NAME = MailPartViewers
MailPartViewers_PRINCIPAL_CLASS = MailPartViewersProduct
MailPartViewers_LANGUAGES = English French German Italian
MailPartViewers_LANGUAGES = Dutch English French German Italian Spanish
MailPartViewers_OBJC_FILES += \
MailPartViewersProduct.m \

View File

@ -6,7 +6,7 @@ BUNDLE_NAME = MailerUI
MailerUI_PRINCIPAL_CLASS = MailerUIProduct
MailerUI_LANGUAGES = English French German Italian
MailerUI_LANGUAGES = Dutch English French German Italian Spanish
MailerUI_OBJC_FILES += \
MailerUIProduct.m \

View File

@ -6,7 +6,7 @@ BUNDLE_NAME = MainUI
MainUI_PRINCIPAL_CLASS = MainUIProduct
MainUI_LANGUAGES = English French German Italian
MainUI_LANGUAGES = Dutch English French German Italian Spanish
MainUI_OBJC_FILES += \
MainUIProduct.m \

View File

@ -85,6 +85,7 @@
"Default identity:" = "Default identity:";
"Manage identities..." = "Manage identities...";
"Signature:" = "Signature:";
/* password */
"New password:" = "New password:";

View File

@ -83,6 +83,7 @@
/* Identities */
"Default identity:" = "Identité par défaut :";
"Manage identities..." = "Gérer les identitiés...";
"Signature:" = "Signature :";
/* password */
"New password:" = "Nouveau mot de passe :";

View File

@ -6,7 +6,7 @@ BUNDLE_NAME = PreferencesUI
PreferencesUI_PRINCIPAL_CLASS = PreferencesUIProduct
PreferencesUI_LANGUAGES = English French German Italian
PreferencesUI_LANGUAGES = Dutch English French German Italian Spanish
PreferencesUI_OBJC_FILES = \
PreferencesUIProduct.m \

View File

@ -82,6 +82,7 @@
"Default identity:" = "Standard Identität:";
"Manage identities..." = "Identitäten verwalten...";
"Signature:" = "Unterschrift:";
/* password */
"New password:" = "Neues Passwort:";

View File

@ -65,40 +65,58 @@
@end
@interface SOGoACLDutchAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLDutchModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLDutchRemovalAdvisory : SOGoACLRemovalAdvisory
@end
@interface SOGoACLEnglishAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLFrenchAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLGermanAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLItalianAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLEnglishModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLFrenchModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLGermanModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLItalianModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLEnglishRemovalAdvisory : SOGoACLRemovalAdvisory
@end
@interface SOGoACLFrenchAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLFrenchModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLFrenchRemovalAdvisory : SOGoACLRemovalAdvisory
@end
@interface SOGoACLGermanAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLGermanModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLGermanRemovalAdvisory : SOGoACLRemovalAdvisory
@end
@interface SOGoACLItalianAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLItalianModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLItalianRemovalAdvisory : SOGoACLRemovalAdvisory
@end
@interface SOGoACLSpanishAdditionAdvisory : SOGoACLAdditionAdvisory
@end
@interface SOGoACLSpanishModificationAdvisory : SOGoACLModificationAdvisory
@end
@interface SOGoACLSpanishRemovalAdvisory : SOGoACLRemovalAdvisory
@end
#endif /* SOGOACLADVISORY_H */

View File

@ -246,39 +246,56 @@
@end
@implementation SOGoACLDutchAdditionAdvisory
@end
@implementation SOGoACLDutchModificationAdvisory
@end
@implementation SOGoACLDutchRemovalAdvisory
@end
@implementation SOGoACLEnglishAdditionAdvisory
@end
@implementation SOGoACLFrenchAdditionAdvisory
@end
@implementation SOGoACLGermanAdditionAdvisory
@end
@implementation SOGoACLItalianAdditionAdvisory
@end
@implementation SOGoACLEnglishModificationAdvisory
@end
@implementation SOGoACLFrenchModificationAdvisory
@end
@implementation SOGoACLGermanModificationAdvisory
@end
@implementation SOGoACLItalianModificationAdvisory
@end
@implementation SOGoACLEnglishRemovalAdvisory
@end
@implementation SOGoACLFrenchAdditionAdvisory
@end
@implementation SOGoACLFrenchModificationAdvisory
@end
@implementation SOGoACLFrenchRemovalAdvisory
@end
@implementation SOGoACLGermanAdditionAdvisory
@end
@implementation SOGoACLGermanModificationAdvisory
@end
@implementation SOGoACLGermanRemovalAdvisory
@end
@implementation SOGoACLItalianModificationAdvisory
@end
@implementation SOGoACLItalianAdditionAdvisory
@end
@implementation SOGoACLItalianRemovalAdvisory
@end
@implementation SOGoACLSpanishAdditionAdvisory
@end
@implementation SOGoACLSpanishModificationAdvisory
@end
@implementation SOGoACLSpanishRemovalAdvisory
@end

View File

@ -47,29 +47,46 @@
@end
@interface SOGoFolderEnglishAdditionAdvisory : SOGoFolderAdvisory
@interface SOGoFolderAdditionAdvisory : SOGoFolderAdvisory
@end
@interface SOGoFolderEnglishRemovalAdvisory : SOGoFolderAdvisory
@interface SOGoFolderRemovalAdvisory : SOGoFolderAdvisory
@end
@interface SOGoFolderFrenchAdditionAdvisory : SOGoFolderAdvisory
@interface SOGoFolderDutchAdditionAdvisory : SOGoFolderAdditionAdvisory
@end
@interface SOGoFolderFrenchRemovalAdvisory : SOGoFolderAdvisory
@interface SOGoFolderDutchRemovalAdvisory : SOGoFolderRemovalAdvisory
@end
@interface SOGoFolderGermanAdditionAdvisory : SOGoFolderAdvisory
@interface SOGoFolderEnglishAdditionAdvisory : SOGoFolderAdditionAdvisory
@end
@interface SOGoFolderGermanRemovalAdvisory : SOGoFolderAdvisory
@interface SOGoFolderEnglishRemovalAdvisory : SOGoFolderRemovalAdvisory
@end
@interface SOGoFolderItalianAdditionAdvisory : SOGoFolderAdvisory
@interface SOGoFolderFrenchAdditionAdvisory : SOGoFolderAdditionAdvisory
@end
@interface SOGoFolderItalianRemovalAdvisory : SOGoFolderAdvisory
@interface SOGoFolderFrenchRemovalAdvisory : SOGoFolderRemovalAdvisory
@end
@interface SOGoFolderGermanAdditionAdvisory : SOGoFolderAdditionAdvisory
@end
@interface SOGoFolderGermanRemovalAdvisory : SOGoFolderRemovalAdvisory
@end
@interface SOGoFolderItalianAdditionAdvisory : SOGoFolderAdditionAdvisory
@end
@interface SOGoFolderItalianRemovalAdvisory : SOGoFolderRemovalAdvisory
@end
@interface SOGoFolderSpanishAdditionAdvisory : SOGoFolderAdditionAdvisory
@end
@interface SOGoFolderSpanishRemovalAdvisory : SOGoFolderRemovalAdvisory
@end
#endif /* SOGOFOLDERADVISORY_H */

View File

@ -207,35 +207,50 @@
@end
@implementation SOGoFolderEnglishAdditionAdvisory
@implementation SOGoFolderAdditionAdvisory
- (NSString *) folderMethod { return @"add"; }
@end
@implementation SOGoFolderRemovalAdvisory
- (NSString *) folderMethod { return @"remove"; }
@end
@implementation SOGoFolderDutchAdditionAdvisory
@end
@implementation SOGoFolderDutchRemovalAdvisory
@end
@implementation SOGoFolderEnglishAdditionAdvisory
@end
@implementation SOGoFolderEnglishRemovalAdvisory
- (NSString *) folderMethod { return @"remove"; }
@end
@implementation SOGoFolderFrenchAdditionAdvisory
- (NSString *) folderMethod { return @"add"; }
@end
@implementation SOGoFolderFrenchRemovalAdvisory
- (NSString *) folderMethod { return @"remove"; }
@end
@implementation SOGoFolderGermanAdditionAdvisory
- (NSString *) folderMethod { return @"add"; }
@end
@implementation SOGoFolderGermanRemovalAdvisory
- (NSString *) folderMethod { return @"remove"; }
@end
@implementation SOGoFolderItalianAdditionAdvisory
- (NSString *) folderMethod { return @"add"; }
@end
@implementation SOGoFolderItalianRemovalAdvisory
- (NSString *) folderMethod { return @"remove"; }
@end
@implementation SOGoFolderSpanishAdditionAdvisory
@end
@implementation SOGoFolderSpanishRemovalAdvisory
@end

View File

@ -11,6 +11,10 @@
"Switch to week view" = "Switch to week view";
"Switch to month view" = "Switch to month view";
/* Tabs */
"Date" = "Date";
"Calendars" = "Calendars";
/* Day */
"Sunday" = "Sunday";
@ -83,7 +87,6 @@
/* Menu */
"Calendars" = "Calendars";
"Calendar" = "Calendar";
"Contacts" = "Contacts";
@ -442,7 +445,9 @@ validate_endbeforestart = "The end date that you entered occurs before the st
"Maybe busy" = "Maybe busy";
"No free-busy information" = "No free-busy information";
/* FreeBusy panel buttons */
/* FreeBusy panel buttons and labels */
"Suggest time slot:" = "Suggest time slot:";
"Zoom:" = "Zoom:";
"Previous slot" = "Previous slot";
"Next slot" = "Next slot";
"Previous hour" = "Previous hour";

View File

@ -11,6 +11,10 @@
"Switch to week view" = "Passer à la vue par semaine";
"Switch to month view" = "Passer à la vue par mois";
/* Tabs */
"Date" = "Date";
"Calendars" = "Agendas";
/* Day */
"Sunday" = "Dimanche";
@ -84,7 +88,6 @@
/* Menu */
"Calendars" = "Agendas";
"Calendar" = "Agenda";
"Contacts" = "Contacts";

View File

@ -6,7 +6,7 @@ BUNDLE_NAME = SchedulerUI
SchedulerUI_PRINCIPAL_CLASS = SchedulerUIProduct
SchedulerUI_LANGUAGES = English French German Italian
SchedulerUI_LANGUAGES = Dutch English French German Italian Spanish
SchedulerUI_OBJC_FILES = \
SchedulerUIProduct.m \

View File

@ -10,6 +10,10 @@
"Friday" = "Freitag";
"Saturday" = "Samstag";
/* Tabs */
"Date" = "Datum";
"Calendars" = "Kalenderliste";
"Sun" = "So";
"Mon" = "Mo";
"Tue" = "Di";
@ -72,7 +76,6 @@
/* Menu */
"Calendars" = "Kalenderliste";
"Calendar" = "Kalender";
"Contacts" = "Kontakte";
@ -88,7 +91,7 @@
"Compose E-Mail to Undecided Attendees" = "E-Mail an unentschlossene Teilnehmer erstellen";
/* Folders */
"Personal calendar" = "Persönlicher Kalendar";
"Personal calendar" = "Persönlicher Kalender";
/* Misc */
@ -113,7 +116,7 @@
/* Button Titles */
"New Calendar..." = "New Calendar...";
"New Calendar..." = "Neuer Kalender...";
"Subscribe to a Calendar..." = "Einen Kalender abonnieren...";
"Remove the selected Calendar" = "Ausgewählten Kalender löschen";
@ -123,7 +126,7 @@
"printview" = "Druckversion";
"edit" = "Bearbeiten";
"delete" = "Löschen";
"proposal" = "Recherche de plages horaires";
"proposal" = "Vorschlag";
"Save and Close" = "Speichern und schließen";
"Close" = "Schließen";
"Invite Attendees" = "Teilnehmer";

View File

@ -11,6 +11,10 @@
"Switch to week view" = "Settimana";
"Switch to month view" = "Mese";
/* Tabs */
"Date" = "Data";
"Calendars" = "Calendari";
/* Day */
"Sunday" = "Domenica";
@ -83,7 +87,6 @@
/* Menu */
"Calendars" = "Calendari";
"Calendar" = "Calendario";
"Contacts" = "Contatti";

View File

@ -0,0 +1,27 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE container>
<container
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:rsrc="OGo:url"
xmlns:label="OGo:label">
<var:if condition="isSubject">
El usuario <var:string value="currentUserName" const:escapeHTML="NO"/> le ha agregado
</var:if>
<var:if condition="isBody">
El usuario <var:string value="currentUserName" const:escapeHTML="NO"/> le ha agregado a la lista de acceso de su carpeta <var:string const:value='"' const:escapeHTML="NO"/><var:string value="resourceName" const:escapeHTML="NO"/><var:string const:value='"' const:escapeHTML="NO"/>.
Puede suscribirse directamente a esta carpeta activando el siguiente enlace:
<var:string value="httpAdvisoryURL" const:escapeHTML="NO"/>subscribe?mail-invitation=YES
O, si desea, puede suscribirse más tarde usando la interfaz Web de SOGo.
También puede acceder a este recurso usando la siguiente URL:
<var:string value="httpFolderURL" const:escapeHTML="NO"/>
</var:if>
</container>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE container>
<container
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:rsrc="OGo:url"
xmlns:label="OGo:label">
<var:if condition="isSubject">
El usuario <var:string value="currentUserName" const:escapeHTML="NO"/> ha modificado los permisos de acceso
</var:if>
<var:if condition="isBody">
El usuario <var:string value="currentUserName" const:escapeHTML="NO"/> ha modifcado los permisos de acceso a su carpeta <var:string const:value='"' const:escapeHTML="NO"/><var:string value="resourceName" const:escapeHTML="NO"/><var:string const:value='"' const:escapeHTML="NO"/>.
Puede suscribirse directamente a esta carpeta activando el siguiente enlace:
<var:string value="httpAdvisoryURL" const:escapeHTML="NO"/>subscribe?mail-invitation=YES
O, si desea, puede suscribirse más tarde usando la interfaz Web de SOGo.
También puede acceder a este recurso usando la siguiente URL:
<var:string value="httpFolderURL" const:escapeHTML="NO"/>
</var:if>
</container>

View File

@ -0,0 +1,27 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE container>
<container
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:rsrc="OGo:url"
xmlns:label="OGo:label">
<var:if condition="isSubject">
El usuario <var:string value="currentUserName" const:escapeHTML="NO"/> le ha quitado el acceso
</var:if>
<var:if condition="isBody">
El usuario <var:string value="currentUserName" const:escapeHTML="NO"/> le ha quitado de la lista de acceso a su carpeta <var:string const:value='"' const:escapeHTML="NO"/><var:string value="resourceName" const:escapeHTML="NO"/><var:string const:value='"' const:escapeHTML="NO"/>.
Puede desuscribirse directamente de esta carpeta activando el siguiente enlace:
<var:string value="httpAdvisoryURL" const:escapeHTML="NO"/>unsubscribe?mail-invitation=YES
O, si desea, puede desuscribirse de esta carpeta más tarde usando la interfaz Web de SOGo.
Ya no puede acceder a este recurso usando la siguiente URL:
<var:string value="httpFolderURL" const:escapeHTML="NO"/>
</var:if>
</container>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE container>
<container
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:rsrc="OGo:url"
xmlns:label="OGo:label">
<var:if condition="isSubject">
Creación de <var:string const:value='"' const:escapeHTML="NO"/><var:string value="displayName" const:escapeHTML="NO"/><var:string const:value='"' const:escapeHTML="NO"/>
</var:if>
<var:if condition="isBody">
La carpeta <var:string const:value='"' const:escapeHTML="NO"/><var:string value="displayName" const:escapeHTML="NO"/><var:string const:value='"' const:escapeHTML="NO"/> ha sido creada.
Puede acceder a este recurso usando la siguiente URL:
<var:string value="httpFolderURL" const:escapeHTML="NO"/>
</var:if>
</container>

View File

@ -0,0 +1,22 @@
<?xml version="1.0" standalone="yes"?>
<!DOCTYPE container>
<container
xmlns="http://www.w3.org/1999/xhtml"
xmlns:var="http://www.skyrix.com/od/binding"
xmlns:const="http://www.skyrix.com/od/constant"
xmlns:rsrc="OGo:url"
xmlns:label="OGo:label">
<var:if condition="isSubject">
Eliminación de <var:string const:value='"' const:escapeHTML="NO"/><var:string value="displayName" const:escapeHTML="NO"/><var:string const:value='"' const:escapeHTML="NO"/>
</var:if>
<var:if condition="isBody">
La carpeta <var:string const:value='"' const:escapeHTML="NO"/><var:string value="displayName" const:escapeHTML="NO"/><var:string const:value='"' const:escapeHTML="NO"/> ha sido eliminada.
La siguiente URL ya no es válida:
<var:string value="httpFolderURL" const:escapeHTML="NO"/>
</var:if>
</container>