From: wolfgang Date: Tue, 20 May 2008 19:51:30 +0000 (+0000) Subject: git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1413 d1b88da0-ebda-0310... X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9b490ff1e4dd734f7ead032fe7fa4dda46245cdb;p=scalable-opengroupware.org git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1413 d1b88da0-ebda-0310-925b-ed51d893ca5b --- diff --git a/NEWS b/NEWS index 673fac9b..88e8fd54 100644 --- a/NEWS +++ b/NEWS @@ -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,9 @@ - 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 +- applied a patch from Wilco Baan Hofman to let SOGo works correctly through a Squid proxy 0.9.0-20080208 (1.0 rc5) ------------------------ diff --git a/SOPE/sope-patchset-r1620.diff b/SOPE/sope-patchset-r1621.diff similarity index 91% rename from SOPE/sope-patchset-r1620.diff rename to SOPE/sope-patchset-r1621.diff index 10b215d2..7585fc43 100644 --- a/SOPE/sope-patchset-r1620.diff +++ b/SOPE/sope-patchset-r1621.diff @@ -1,6 +1,6 @@ Index: sope-mime/NGImap4/NGImap4Connection.m =================================================================== ---- sope-mime/NGImap4/NGImap4Connection.m (révision 1620) +--- sope-mime/NGImap4/NGImap4Connection.m (révision 1621) +++ sope-mime/NGImap4/NGImap4Connection.m (copie de travail) @@ -381,7 +381,7 @@ @@ -13,7 +13,7 @@ Index: sope-mime/NGImap4/NGImap4Connection.m [self errorWithFormat:@"Could not list mailbox hierarchy!"]; Index: sope-mime/NGImap4/NGImap4ResponseNormalizer.m =================================================================== ---- sope-mime/NGImap4/NGImap4ResponseNormalizer.m (révision 1620) +--- sope-mime/NGImap4/NGImap4ResponseNormalizer.m (révision 1621) +++ sope-mime/NGImap4/NGImap4ResponseNormalizer.m (copie de travail) @@ -648,14 +648,13 @@ enumerator = [_flags objectEnumerator]; @@ -39,7 +39,7 @@ Index: sope-mime/NGImap4/NGImap4ResponseNormalizer.m if (objs) free(objs); Index: sope-mime/NGImap4/NGImap4ResponseParser.m =================================================================== ---- sope-mime/NGImap4/NGImap4ResponseParser.m (révision 1620) +--- sope-mime/NGImap4/NGImap4ResponseParser.m (révision 1621) +++ sope-mime/NGImap4/NGImap4ResponseParser.m (copie de travail) @@ -84,6 +84,8 @@ static NSDictionary *_parseMultipartBody(NGImap4ResponseParser *self, @@ -264,7 +264,7 @@ Index: sope-mime/NGImap4/NGImap4ResponseParser.m { Index: sope-mime/NGMail/NGSmtpClient.m =================================================================== ---- sope-mime/NGMail/NGSmtpClient.m (révision 1620) +--- sope-mime/NGMail/NGSmtpClient.m (révision 1621) +++ sope-mime/NGMail/NGSmtpClient.m (copie de travail) @@ -24,6 +24,82 @@ #include "NGSmtpReplyCodes.h" @@ -418,9 +418,47 @@ Index: sope-mime/NGMail/NGSmtpClient.m [self->connection flush]; reply = [self receiveReply]; +Index: sope-mime/NGMail/NGMailAddressParser.h +=================================================================== +--- sope-mime/NGMail/NGMailAddressParser.h (révision 1621) ++++ sope-mime/NGMail/NGMailAddressParser.h (copie de travail) +@@ -24,7 +24,9 @@ + + #import + +-@class NSData, NSString, NSArray; ++#import ++ ++@class NSData, NSArray; + @class NGMailAddressList; + + /* +@@ -34,16 +36,16 @@ + @interface NGMailAddressParser : NSObject + { + @private +- unsigned char *data; +- int dataPos; +- int errorPos; +- int maxLength; ++ unichar *data; ++ int dataPos; ++ int errorPos; ++ int maxLength; + } + + + (id)mailAddressParserWithString:(NSString *)_string; + + (id)mailAddressParserWithData:(NSData *)_data; +-+ (id)mailAddressParserWithCString:(char *)_cString; +-- (id)initWithCString:(const unsigned char *)_cstr length:(int unsigned)_len; +++ (id)mailAddressParserWithCString:(const char *)_cString; ++- (id)initWithString:(NSString *)_str; + + /* parsing */ + Index: sope-mime/NGMail/NGMimeMessageGenerator.m =================================================================== ---- sope-mime/NGMail/NGMimeMessageGenerator.m (révision 1620) +--- sope-mime/NGMail/NGMimeMessageGenerator.m (révision 1621) +++ sope-mime/NGMail/NGMimeMessageGenerator.m (copie de travail) @@ -86,37 +86,40 @@ char *des = NULL; @@ -484,9 +522,121 @@ Index: sope-mime/NGMail/NGMimeMessageGenerator.m unsigned isoLen = 16; char isoEnd[] = "?="; unsigned isoEndLen = 2; +Index: sope-mime/NGMail/NGMailAddressParser.m +=================================================================== +--- sope-mime/NGMail/NGMailAddressParser.m (révision 1621) ++++ sope-mime/NGMail/NGMailAddressParser.m (copie de travail) +@@ -52,9 +52,9 @@ + StrClass = [NSString class]; + } + +-static inline NSString *mkStrObj(const unsigned char *s, unsigned int l) { ++static inline NSString *mkStrObj(const unichar *s, unsigned int l) { + // TODO: unicode +- return [(NSString *)[StrClass alloc] initWithCString:(char *)s length:l]; ++ return [(NSString *)[StrClass alloc] initWithCharacters:s length:l]; + } + + static inline id parseWhiteSpaces(NGMailAddressParser *self, BOOL _guessMode) { +@@ -84,7 +84,7 @@ + int keepPos = self->dataPos; // keep reference for backtracking + id returnValue = nil; + BOOL isAtom = YES; +- unsigned char text[self->maxLength + 2]; // token text ++ unichar text[self->maxLength + 2]; // token text + int length = 0; // token text length + BOOL done = NO; + +@@ -162,7 +162,7 @@ + int keepPos = self->dataPos; // keep reference for backtracking + id returnValue = nil; + BOOL isQText = YES; +- unsigned char text[self->maxLength + 4]; // token text ++ unichar text[self->maxLength + 4]; // token text + int length = 0; // token text length + BOOL done = YES; + +@@ -215,7 +215,7 @@ + int keepPos = self->dataPos; // keep reference for backtracking + id returnValue = nil; + BOOL isDText = YES; +- unsigned char text[self->maxLength]; // token text ++ unichar text[self->maxLength]; // token text + int length = 0; // token text length + BOOL done = YES; + +@@ -320,42 +320,47 @@ + /* constructors */ + + + (id)mailAddressParserWithData:(NSData *)_data { +- return [[(NGMailAddressParser *)[self alloc] +- initWithCString:[_data bytes] +- length:[_data length]] autorelease]; ++ NSString *uniString; ++ ++ uniString = [NSString stringWithCharacters:(unichar *)[_data bytes] ++ length:([_data length] / sizeof(unichar))]; ++ ++ return [(NGMailAddressParser *)self mailAddressParserWithString:uniString]; + } ++ + + (id)mailAddressParserWithCString:(char *)_cString { +- return [[(NGMailAddressParser *)[self alloc] +- initWithCString:(unsigned char *)_cString +- length:strlen(_cString)] autorelease]; ++ NSString *nsCString; ++ ++ nsCString = [NSString stringWithCString:_cString]; ++ ++ return [(NGMailAddressParser *)self mailAddressParserWithString:nsCString]; + } +-- (id)initWithCString:(const unsigned char *)_cstr length:(int unsigned)_len { ++ +++ (id)mailAddressParserWithString:(NSString *)_string { ++ return [[(NGMailAddressParser *)[self alloc] initWithString:_string] ++ autorelease]; ++} ++ ++- (id)initWithString:(NSString *)_str { + if ((self = [super init])) { + // TODO: remember some string encoding? +- self->data = (unsigned char *)_cstr; +- self->maxLength = _len; ++ self->maxLength = [_str length]; ++ self->data = malloc(self->maxLength*sizeof(unichar)); ++ [_str getCharacters:self->data]; + self->dataPos = 0; + self->errorPos = -1; + } + return self; + } + +-- (id)initWithString:(NSString *)_str { +- // TODO: unicode +- return [self initWithCString:(unsigned char *)[_str cString] +- length:[_str cStringLength]]; +-} +- + - (id)init { +- return [self initWithCString:NULL length:0]; ++ return [self initWithString:nil]; + } + +-+ (id)mailAddressParserWithString:(NSString *)_string { +- return [[(NGMailAddressParser *)[self alloc] initWithString:_string] +- autorelease]; +-} +- + - (void)dealloc { ++ if (self->data != NULL) { ++ free(self->data); ++ } + self->data = NULL; + self->maxLength = 0; + self->dataPos = 0; Index: sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m =================================================================== ---- sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m (révision 1620) +--- sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m (révision 1621) +++ sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m (copie de travail) @@ -19,88 +19,45 @@ 02111-1307, USA. @@ -881,7 +1031,7 @@ Index: sope-mime/NGMime/NGMimeRFC822DateHeaderFieldParser.m #if 0 Index: sope-mime/NGMime/NGMimeHeaderFieldGeneratorSet.m =================================================================== ---- sope-mime/NGMime/NGMimeHeaderFieldGeneratorSet.m (révision 1620) +--- sope-mime/NGMime/NGMimeHeaderFieldGeneratorSet.m (révision 1621) +++ sope-mime/NGMime/NGMimeHeaderFieldGeneratorSet.m (copie de travail) @@ -77,6 +77,7 @@ [rfc822Set setGenerator:gen forField:@"bcc"]; @@ -893,7 +1043,7 @@ Index: sope-mime/NGMime/NGMimeHeaderFieldGeneratorSet.m Index: sope-mime/NGMime/NGMimeBodyPart.m =================================================================== ---- sope-mime/NGMime/NGMimeBodyPart.m (révision 1620) +--- sope-mime/NGMime/NGMimeBodyPart.m (révision 1621) +++ sope-mime/NGMime/NGMimeBodyPart.m (copie de travail) @@ -31,18 +31,6 @@ return 2; @@ -931,7 +1081,7 @@ Index: sope-mime/NGMime/NGMimeBodyPart.m - (NSString *)contentId { Index: sope-mime/NGMime/GNUmakefile.preamble =================================================================== ---- sope-mime/NGMime/GNUmakefile.preamble (révision 1620) +--- sope-mime/NGMime/GNUmakefile.preamble (révision 1621) +++ sope-mime/NGMime/GNUmakefile.preamble (copie de travail) @@ -5,6 +5,11 @@ -DLIBRARY_MINOR_VERSION=${MINOR_VERSION} \ @@ -947,7 +1097,7 @@ Index: sope-mime/NGMime/GNUmakefile.preamble -I../../sope-core/NGStreams/ \ Index: sope-mime/NGMime/NGMimeBodyParser.m =================================================================== ---- sope-mime/NGMime/NGMimeBodyParser.m (révision 1620) +--- sope-mime/NGMime/NGMimeBodyParser.m (révision 1621) +++ sope-mime/NGMime/NGMimeBodyParser.m (copie de travail) @@ -67,7 +67,10 @@ if (_data == nil) return nil; @@ -963,7 +1113,7 @@ Index: sope-mime/NGMime/NGMimeBodyParser.m Index: sope-mime/NGMime/NGMimePartParser.h =================================================================== ---- sope-mime/NGMime/NGMimePartParser.h (révision 1620) +--- sope-mime/NGMime/NGMimePartParser.h (révision 1621) +++ sope-mime/NGMime/NGMimePartParser.h (copie de travail) @@ -117,6 +117,7 @@ BOOL parserParseRawBodyDataOfPart:1; @@ -985,7 +1135,7 @@ Index: sope-mime/NGMime/NGMimePartParser.h @interface NSObject(NGMimePartParser) Index: sope-mime/NGMime/NGMimePartParser.m =================================================================== ---- sope-mime/NGMime/NGMimePartParser.m (révision 1620) +--- sope-mime/NGMime/NGMimePartParser.m (révision 1621) +++ sope-mime/NGMime/NGMimePartParser.m (copie de travail) @@ -227,7 +227,7 @@ } @@ -1010,7 +1160,7 @@ Index: sope-mime/NGMime/NGMimePartParser.m : [NGMimeType mimeType:[ctype stringValue]]; Index: sope-mime/NGMime/NGMimeAddressHeaderFieldGenerator.m =================================================================== ---- sope-mime/NGMime/NGMimeAddressHeaderFieldGenerator.m (révision 1620) +--- sope-mime/NGMime/NGMimeAddressHeaderFieldGenerator.m (révision 1621) +++ sope-mime/NGMime/NGMimeAddressHeaderFieldGenerator.m (copie de travail) @@ -130,8 +130,13 @@ @@ -1041,7 +1191,7 @@ Index: sope-mime/NGMime/NGMimeAddressHeaderFieldGenerator.m bufLen = [data length]; Index: sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m =================================================================== ---- sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m (révision 1620) +--- sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m (révision 1621) +++ sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m (copie de travail) @@ -49,80 +49,70 @@ @@ -1177,7 +1327,7 @@ Index: sope-mime/NGMime/NGMimeContentDispositionHeaderFieldGenerator.m } Index: sope-gdl1/PostgreSQL/PostgreSQL72Channel.m =================================================================== ---- sope-gdl1/PostgreSQL/PostgreSQL72Channel.m (révision 1620) +--- sope-gdl1/PostgreSQL/PostgreSQL72Channel.m (révision 1621) +++ sope-gdl1/PostgreSQL/PostgreSQL72Channel.m (copie de travail) @@ -713,6 +713,39 @@ return ms; @@ -1221,7 +1371,7 @@ Index: sope-gdl1/PostgreSQL/PostgreSQL72Channel.m @implementation PostgreSQL72Channel(PrimaryKeyGeneration) Index: sope-gdl1/Oracle8/OracleAdaptorChannel.m =================================================================== ---- sope-gdl1/Oracle8/OracleAdaptorChannel.m (révision 1620) +--- sope-gdl1/Oracle8/OracleAdaptorChannel.m (révision 1621) +++ sope-gdl1/Oracle8/OracleAdaptorChannel.m (copie de travail) @@ -30,6 +30,7 @@ @@ -1307,7 +1457,7 @@ Index: sope-gdl1/Oracle8/OracleAdaptorChannel.m Index: sope-gdl1/Oracle8/OracleAdaptorChannelController.m =================================================================== ---- sope-gdl1/Oracle8/OracleAdaptorChannelController.m (révision 1620) +--- sope-gdl1/Oracle8/OracleAdaptorChannelController.m (révision 1621) +++ sope-gdl1/Oracle8/OracleAdaptorChannelController.m (copie de travail) @@ -31,6 +31,8 @@ #import @@ -1355,7 +1505,7 @@ Index: sope-gdl1/Oracle8/OracleAdaptorChannelController.m Index: sope-core/NGExtensions/NGExtensions/NSString+Ext.h =================================================================== ---- sope-core/NGExtensions/NGExtensions/NSString+Ext.h (révision 1620) +--- sope-core/NGExtensions/NGExtensions/NSString+Ext.h (révision 1621) +++ sope-core/NGExtensions/NGExtensions/NSString+Ext.h (copie de travail) @@ -30,6 +30,7 @@ @@ -1393,7 +1543,7 @@ Index: sope-core/NGExtensions/NGExtensions/NSString+Ext.h /* specific to libFoundation */ Index: sope-core/NGExtensions/FdExt.subproj/NSString+Ext.m =================================================================== ---- sope-core/NGExtensions/FdExt.subproj/NSString+Ext.m (révision 1620) +--- sope-core/NGExtensions/FdExt.subproj/NSString+Ext.m (révision 1621) +++ sope-core/NGExtensions/FdExt.subproj/NSString+Ext.m (copie de travail) @@ -39,18 +39,6 @@ : (NSString *)[[self copy] autorelease]; @@ -1482,7 +1632,7 @@ Index: sope-core/NGExtensions/FdExt.subproj/NSString+Ext.m - (BOOL)isAbsoluteURL Index: sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m =================================================================== ---- sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m (révision 1620) +--- sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m (révision 1621) +++ sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m (copie de travail) @@ -140,8 +140,12 @@ @@ -1525,7 +1675,7 @@ Index: sope-core/NGExtensions/FdExt.subproj/NSString+Encoding.m static char *iconv_wrapper(id self, char *_src, unsigned _srcLen, Index: sope-core/NGExtensions/EOExt.subproj/EOGlobalID+Ext.m =================================================================== ---- sope-core/NGExtensions/EOExt.subproj/EOGlobalID+Ext.m (révision 1620) +--- sope-core/NGExtensions/EOExt.subproj/EOGlobalID+Ext.m (révision 1621) +++ sope-core/NGExtensions/EOExt.subproj/EOGlobalID+Ext.m (copie de travail) @@ -19,6 +19,7 @@ 02111-1307, USA. @@ -1537,7 +1687,7 @@ Index: sope-core/NGExtensions/EOExt.subproj/EOGlobalID+Ext.m Index: sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h =================================================================== ---- sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h (révision 1620) +--- sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h (révision 1621) +++ sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h (copie de travail) @@ -19,6 +19,8 @@ 02111-1307, USA. @@ -1559,7 +1709,7 @@ Index: sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.h id entityResolver; Index: sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.m =================================================================== ---- sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.m (révision 1620) +--- sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.m (révision 1621) +++ sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.m (copie de travail) @@ -30,6 +30,12 @@ #include @@ -1619,7 +1769,7 @@ Index: sope-xml/libxmlSAXDriver/libxmlHTMLSAXDriver.m - (void)tearDownParser { Index: sope-xml/libxmlSAXDriver/libxmlSAXDriver.m =================================================================== ---- sope-xml/libxmlSAXDriver/libxmlSAXDriver.m (révision 1620) +--- sope-xml/libxmlSAXDriver/libxmlSAXDriver.m (révision 1621) +++ sope-xml/libxmlSAXDriver/libxmlSAXDriver.m (copie de travail) @@ -614,7 +614,7 @@ xmlParseDocument(ctxt); @@ -1641,7 +1791,7 @@ Index: sope-xml/libxmlSAXDriver/libxmlSAXDriver.m xmlFreeParserCtxt(self->ctxt); Index: sope-appserver/mod_ngobjweb/config.c =================================================================== ---- sope-appserver/mod_ngobjweb/config.c (révision 1620) +--- sope-appserver/mod_ngobjweb/config.c (révision 1621) +++ sope-appserver/mod_ngobjweb/config.c (copie de travail) @@ -21,7 +21,7 @@ @@ -1652,9 +1802,21 @@ Index: sope-appserver/mod_ngobjweb/config.c static char *_makeString(char *buf, char *str, int max) { if (buf == NULL) +Index: sope-appserver/mod_ngobjweb/NGBufferedDescriptor.c +=================================================================== +--- sope-appserver/mod_ngobjweb/NGBufferedDescriptor.c (révision 1621) ++++ sope-appserver/mod_ngobjweb/NGBufferedDescriptor.c (copie de travail) +@@ -23,6 +23,7 @@ + #include + #include + #include ++#include "common.h" + #include "NGBufferedDescriptor.h" + + // returns the number of bytes which where read from the buffer Index: sope-appserver/mod_ngobjweb/GNUmakefile =================================================================== ---- sope-appserver/mod_ngobjweb/GNUmakefile (révision 1620) +--- sope-appserver/mod_ngobjweb/GNUmakefile (révision 1621) +++ sope-appserver/mod_ngobjweb/GNUmakefile (copie de travail) @@ -82,7 +82,7 @@ @@ -1675,21 +1837,9 @@ Index: sope-appserver/mod_ngobjweb/GNUmakefile install-usr-libexec :: all $(INSTALL_PROGRAM) $(product) /usr/libexec/httpd/ -Index: sope-appserver/mod_ngobjweb/NGBufferedDescriptor.c -=================================================================== ---- sope-appserver/mod_ngobjweb/NGBufferedDescriptor.c (révision 1620) -+++ sope-appserver/mod_ngobjweb/NGBufferedDescriptor.c (copie de travail) -@@ -23,6 +23,7 @@ - #include - #include - #include -+#include "common.h" - #include "NGBufferedDescriptor.h" - - // returns the number of bytes which where read from the buffer Index: sope-appserver/NGObjWeb/GNUmakefile.postamble =================================================================== ---- sope-appserver/NGObjWeb/GNUmakefile.postamble (révision 1620) +--- sope-appserver/NGObjWeb/GNUmakefile.postamble (révision 1621) +++ sope-appserver/NGObjWeb/GNUmakefile.postamble (copie de travail) @@ -23,14 +23,20 @@ @@ -1721,7 +1871,7 @@ Index: sope-appserver/NGObjWeb/GNUmakefile.postamble + $(DESTDIR)/$(GNUSTEP_MAKEFILES)/wobundle.make Index: sope-appserver/NGObjWeb/WOContext.m =================================================================== ---- sope-appserver/NGObjWeb/WOContext.m (révision 1620) +--- sope-appserver/NGObjWeb/WOContext.m (révision 1621) +++ sope-appserver/NGObjWeb/WOContext.m (copie de travail) @@ -64,11 +64,13 @@ static BOOL testNSURLs = NO; @@ -1761,7 +1911,7 @@ Index: sope-appserver/NGObjWeb/WOContext.m serverURL = [@"http://" stringByAppendingString:host]; Index: sope-appserver/NGObjWeb/DAVPropMap.plist =================================================================== ---- sope-appserver/NGObjWeb/DAVPropMap.plist (révision 1620) +--- sope-appserver/NGObjWeb/DAVPropMap.plist (révision 1621) +++ sope-appserver/NGObjWeb/DAVPropMap.plist (copie de travail) @@ -24,13 +24,19 @@ "{DAV:}status" = "davStatus"; @@ -1840,7 +1990,7 @@ Index: sope-appserver/NGObjWeb/DAVPropMap.plist "{http://groupdav.org/}component-set" = gdavComponentSet; Index: sope-appserver/NGObjWeb/WebDAV/SaxDAVHandler.m =================================================================== ---- sope-appserver/NGObjWeb/WebDAV/SaxDAVHandler.m (révision 1620) +--- sope-appserver/NGObjWeb/WebDAV/SaxDAVHandler.m (révision 1621) +++ sope-appserver/NGObjWeb/WebDAV/SaxDAVHandler.m (copie de travail) @@ -655,6 +655,7 @@ if (self->responses == nil) @@ -1852,7 +2002,7 @@ Index: sope-appserver/NGObjWeb/WebDAV/SaxDAVHandler.m case 'n': Index: sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m =================================================================== ---- sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m (révision 1620) +--- sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m (révision 1621) +++ sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m (copie de travail) @@ -1523,14 +1523,16 @@ - (id)doREPORT:(WOContext *)_ctx { @@ -1875,7 +2025,7 @@ Index: sope-appserver/NGObjWeb/WebDAV/SoObjectWebDAVDispatcher.m } Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m =================================================================== ---- sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m (révision 1620) +--- sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m (révision 1621) +++ sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m (copie de travail) @@ -216,6 +216,12 @@ assocCount++; @@ -1892,7 +2042,7 @@ Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.m Index: sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m =================================================================== ---- sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m (révision 1620) +--- sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m (révision 1621) +++ sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m (copie de travail) @@ -41,6 +41,7 @@ WOAssociation *string; @@ -1925,7 +2075,7 @@ Index: sope-appserver/NGObjWeb/DynamicElements/_WOComplexHyperlink.m return NO; Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h =================================================================== ---- sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h (révision 1620) +--- sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h (révision 1621) +++ sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h (copie de travail) @@ -41,7 +41,8 @@ WOAssociation *pageName; @@ -1939,7 +2089,7 @@ Index: sope-appserver/NGObjWeb/DynamicElements/WOHyperlinkInfo.h /* 'ivar' associations */ Index: sope-appserver/NGObjWeb/SoObjects/SoObject.m =================================================================== ---- sope-appserver/NGObjWeb/SoObjects/SoObject.m (révision 1620) +--- sope-appserver/NGObjWeb/SoObjects/SoObject.m (révision 1621) +++ sope-appserver/NGObjWeb/SoObjects/SoObject.m (copie de travail) @@ -39,22 +39,34 @@ static int debugLookup = -1; @@ -2090,7 +2240,7 @@ Index: sope-appserver/NGObjWeb/SoObjects/SoObject.m Index: sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m =================================================================== ---- sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m (révision 1620) +--- sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m (révision 1621) +++ sope-appserver/NGObjWeb/WOHttpAdaptor/WOHttpTransaction.m (copie de travail) @@ -32,6 +32,7 @@ #include diff --git a/SoObjects/Appointments/GNUmakefile b/SoObjects/Appointments/GNUmakefile index f4fb6874..332bb75c 100644 --- a/SoObjects/Appointments/GNUmakefile +++ b/SoObjects/Appointments/GNUmakefile @@ -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/ diff --git a/SoObjects/Mailer/GNUmakefile b/SoObjects/Mailer/GNUmakefile index b80b2405..370dece0 100644 --- a/SoObjects/Mailer/GNUmakefile +++ b/SoObjects/Mailer/GNUmakefile @@ -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/ diff --git a/UI/Common/GNUmakefile b/UI/Common/GNUmakefile index 4c45d86b..e6952c12 100644 --- a/UI/Common/GNUmakefile +++ b/UI/Common/GNUmakefile @@ -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 \ diff --git a/UI/Common/Spanish.lproj/Localizable.strings b/UI/Common/Spanish.lproj/Localizable.strings new file mode 100644 index 00000000..068143e6 --- /dev/null +++ b/UI/Common/Spanish.lproj/Localizable.strings @@ -0,0 +1,52 @@ +/* this file is in UTF-8 format! */ +/* Author: erny@yaco.es */ +/* Based on: rev 1397 */ +/* Last update: 2008-04-01 */ + +/* toolbars */ +"Save" = "Guardar"; +"Close" = "Cerrar"; +"Edit User Rights" = "Modificar permisos"; + +"Home" = "Inicio"; +"Calendar" = "Calendario"; +"Address Book" = "Libreta de direcciones"; +"Mail" = "Correo"; +"Preferences" = "Preferencias"; +"Disconnect" = "Cerrar sesión"; +"Right Administration" = "Administración de permisos"; +"Log Console (dev.)" = "Consola registro de actividad (dev.)"; + +"User" = "Usuario"; + +"Help" = "Ayuda"; + +"noJavascriptError" = "SOGo requiere Javascript. Por favor, active Javascript en su navegador."; +"noJavascriptRetry" = "Reintentar"; + +"Publish the Free/Busy information" = "Publicar información de disponibilidad"; + +"Default Roles" = "Roles por defecto"; + +"Sorry, the user rights can not be configured for that object." = "Sorry, the user rights can not be configured for that object."; + +"browserNotCompatible" = "Hemos detectado que este sistema no soporta su versión del navegador. Recomendamos usar Firefox. Haga clic en el siguiente enlace para descargar la versión más reciente de este navegador."; +"alternativeBrowsers" = "Alternativamente, también puede usar uno se los siguientes navegadores compatibles: "; +"alternativeBrowserSafari" = "Alternativamente, puede usar Safari."; +"Download" = "Descarga"; + +/* generic.js */ +"Unable to subscribe to that folder!" + = "No es posible suscribirse a esta carpeta."; +"You cannot subscribe to a folder that you own!" + = "No es posible suscribirse a una carpeta que le pertenece."; +"Unable to unsubscribe from that folder!" + = "No es posible desuscribirse de esta carpeta."; +"You cannot unsubscribe from a folder that you own!" + = "No es posible desuscribirse de una carpeta que le pertenece."; +"Unable to rename that folder!" + = "La carpeta no puede ser renombrada."; +"You have already subscribed to that folder!" + = "Ya se ha suscrito a esta carpeta."; +"The user rights cannot be edited for this object!" + = "No es posible modificar los permisos de acceso a este objeto."; diff --git a/UI/Contacts/GNUmakefile b/UI/Contacts/GNUmakefile index 1360378b..462aa340 100644 --- a/UI/Contacts/GNUmakefile +++ b/UI/Contacts/GNUmakefile @@ -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 \ diff --git a/UI/Contacts/Spanish.lproj/Localizable.strings b/UI/Contacts/Spanish.lproj/Localizable.strings new file mode 100644 index 00000000..e6294c39 --- /dev/null +++ b/UI/Contacts/Spanish.lproj/Localizable.strings @@ -0,0 +1,153 @@ +/* this file is in UTF-8 format! */ +/* Author: erny@yaco.es */ +/* Based on: rev 1403 */ +/* Last update: 2008-04-26 */ +/* Note: There may appear other labels than in the english version of */ +/* Localizable.strings, because the file was not in sync with the actual */ +/* used labels used in the templates. */ + +"Address" = "Dirección"; +"Addressbook" = "Libreta de direcciones"; +"Address Books" = "Libretas de direcciones"; +"Addresses" = "Direcciones"; +"Update" = "Guardar"; +"Cancel" = "Cancelar"; +"Common" = "Común"; +"Contact" = "Contacto"; +"Contact editor" = "Modificar contacto"; +"Contact viewer" = "Mostrar contacto"; +"Email" = "Email"; +"Screen Name" = "Nombre IM"; +"Extended" = "Datos extendidos"; +"Fax" = "Fax"; +"Firstname" = "Nombre"; +"Home" = "Casa"; +"HomePhone" = "Teléfono de casa"; +"Lastname" = "Apellidos"; +"Location" = "Dirección"; +"MobilePhone" = "Teléfono móvil"; +"Name" = "Nombre"; +"OfficePhone" = "Teléfono oficina"; +"Organization" = "Organización"; +"Work Phone" = "Teléfono trabajo"; +"Phone" = "Teléfono"; +"Phones" = "Teléfonos"; +"Postal" = "Dirección oficina"; +"Save" = "Guardar"; +"URL" = "Web"; +"Unit" = "Unidad"; +"delete" = "borrar"; +"edit" = "modificar"; +"invalidemailwarn" = "La dirección email indicada no es válida."; +"new" = "nuevo"; +"Preferred Phone" = "Teléfono preferido"; + +/* Folders */ +"Personal Address Book" = "Libreta personal de direcciones"; + +/* Tooltips */ + +"Create a new address book card" = "Añadir un nuevo contacto"; +"Create a new list" = "Crear una nueva lista"; +"Edit the selected card" = "Modificar el contacto seleccionado"; +"Send a mail message" = "Enviar un correo"; +"Delete selected card or address book" + = "Borrar contacto o libreta de direcciones seleccionados"; + +"htmlMailFormat_UNKNOWN" = "Desconocido"; +"htmlMailFormat_FALSE" = "Texto plano"; +"htmlMailFormat_TRUE" = "HTML"; + +"Name or Email" = "Nombre o correo"; +"Personal Addressbook" = "Libre personal de direcciones"; +"Search in Addressbook" = "Buscar en libreta"; + +"New Card" = "Añadir contacto"; +"New List" = "Crear lista"; +"Modify" = "Modificar"; +"Sharing..." = "Compartir..."; +"Write" = "Redactar"; +"Delete" = "Borrar"; +"Instant Message" = "Mensaje instantáneo"; +"Add..." = "Añadir..."; +"Remove" = "Borrar"; + +"Preferred" = "Preferido"; +"Card for %@" = "Contacto para %@"; + + +"First:" = "Nombre:"; +"Last:" = "Apellidos:"; +"Display:" = "Nombre mostrado:"; +"Nickname: " = "Alias:"; +"Email:" = "Correo electrónico:"; +"Additional Email:" = "Correo electrónico:"; +"Screen Name:" = "Nombre IM:"; +"Prefers to receive messages formatted as:" = + "Formato de mensajes preferido:"; + +"Telephone" = "Teléfono"; +"Work:" = "Trabajo:"; +"Home:" = "Casa:"; +"Fax:" = "Fax:"; +"Pager:" = "Busca:"; +"Mobile:" = "Móvil:"; + +"Address:" = "Domicilio:"; +"City:" = "Ciudad:"; +"State_Province:" = "Estado/Provincia:"; +"ZIP_Postal Code:" = "Código postal:"; +"Country:" = "País:"; +"Web Page:" = "Web:"; +"Title:" = "Título:"; +"Department:" = "Departamento:"; +"Organization:" = "Organización:"; + +"Work" = "Trabajo"; +"Other" = "Otros datos"; + +"Birthday:" = "Fecha nacimiento:"; +"Timezone:" = "Zona horaria:"; +"Note:" = "Nota:"; +"Freebusy URL:" = "URL disponibilidad:"; + +"Add as..." = "Aádir como..."; +"Recipient" = "Para"; +"Carbon Copy" = "CC"; +"Blind Carbon Copy" = "CCo"; + +"New Addressbook..." = "Crear libreta..."; +"Subscribe to an Addressbook..." = "Suscribir a una libreta..."; +"Remove the selected Addressbook" = "Borrar libreta seleccionada"; + +"Name of the Address Book" = "Nombre de la libreta"; +"Are you sure you want to delete the selected address book?" += "¿Está seguro/a que desea borrar la libreta de direcciones seleccionada?"; +"You cannot delete the selected contact(s)" += "No puede borrar el/los contacto(s) seleccionado(s)."; + +"Address Book Name" = "Nombre de la libreta"; + +"You cannot subscribe to a folder that you own!" += "No puede suscribirse a una carpeta que es suya."; +"Unable to subscribe to that folder!" += "No puede suscribirse a esta carpeta."; + +"Default Roles" = "Roles por defecto"; +"User rights for:" = "Permisos para:"; + +"This person can add cards to this addressbook." + = "Esta persona puede añadir nuevos contactos a esta libreta."; +"This person can edit the cards of this addressbook." + = "Esta persona puede modificar los contactos de esta libreta."; +"This person can list the content of this addressbook." + = "Esta persona puede listar los contactos de esta libreta."; +"This person can read the cards of this addressbook." + = "Esta persona puede leer los contactos de esta libreta."; +"This person can erase cards from this addressbook." + = "Esta persona puede borrar los contactos de esta libreta."; + +"The selected contact has no email address." += "El contacto seleccionado no tiene dirección de correo electrónico."; + +"Please select a contact." = "Seleccione un contacto, por favor."; diff --git a/UI/GNUmakefile b/UI/GNUmakefile index 3570614b..417b9df1 100644 --- a/UI/GNUmakefile +++ b/UI/GNUmakefile @@ -13,6 +13,7 @@ SUBPROJECTS += \ MainUI \ PreferencesUI \ Scheduler \ - Templates + Templates \ + WebServerResources include $(GNUSTEP_MAKEFILES)/aggregate.make diff --git a/UI/MailPartViewers/GNUmakefile b/UI/MailPartViewers/GNUmakefile index 2c5689d2..42faacd2 100644 --- a/UI/MailPartViewers/GNUmakefile +++ b/UI/MailPartViewers/GNUmakefile @@ -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 \ diff --git a/UI/MailPartViewers/Spanish.lproj/Localizable.strings b/UI/MailPartViewers/Spanish.lproj/Localizable.strings new file mode 100644 index 00000000..26d9b2bc --- /dev/null +++ b/UI/MailPartViewers/Spanish.lproj/Localizable.strings @@ -0,0 +1,39 @@ +/* this file is in UTF-8 format! */ +/* Author: erny@yaco.es */ +/* Based on: rev 1397 */ +/* Last update: 2008-04-04 */ + +ACCEPTED = "confirmado"; +COMPLETED = "completado"; +DECLINED = "rechazado"; +DELEGATED = "delegado"; +IN-PROCESS = "en curso"; +NEEDS-ACTION = "necesita acción"; +TENTATIVE = "tentativo"; +organized_by_you = "organizado por ud."; +you_are_an_attendee = "es un participante"; +add_info_text = "iMIP 'ADD' aún no está soportado."; +publish_info_text = "El remitente le informa del evento adjunto."; +cancel_info_text = "Su invitación o el evento han sido cancelados."; +request_info_no_attendee = "ha propuesto un evento. Usted recibe este correo como notificación, pero no aparece como participante."; +Appointment = "Cita"; + +Organizer = "Organizador"; +Time = "Hora"; +Attendees = "Participantes"; +request_info = "le invita a un evento."; +"Add to calendar" = "Añadir al calendario"; +"Delete from calendar" = "Borrar del calendario"; +"Update status" = "Actualizar estado"; +Accept = "Confirmar"; +Decline = "Rechazar"; +Tentative = "Tentativo"; +"Update status in calendar" = "Actualizar estado en calendario"; +reply_info_no_attendee = "Ha recibido una respuesta a una invitación de evento pero el remitente no aparece como un participante."; +reply_info = "Esta es la respuesta a una invitación de evento hecha por usted."; + +"to" = "para"; + +"Untitled" = "Sin título"; + +"Size" = "Tamaño"; diff --git a/UI/MailerUI/GNUmakefile b/UI/MailerUI/GNUmakefile index dc6e918a..02422396 100644 --- a/UI/MailerUI/GNUmakefile +++ b/UI/MailerUI/GNUmakefile @@ -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 \ diff --git a/UI/MailerUI/Spanish.lproj/Localizable.strings b/UI/MailerUI/Spanish.lproj/Localizable.strings new file mode 100644 index 00000000..3fadf9fd --- /dev/null +++ b/UI/MailerUI/Spanish.lproj/Localizable.strings @@ -0,0 +1,236 @@ +/* this file is in UTF-8 format! */ +/* Author: erny@yaco.es */ +/* Based on: rev 1397 */ +/* Last update: 2008-04-02 */ + +/* Icon's label */ +"Create" = "Redactar"; +"Empty Trash" = "Vaciar papelera"; +"Delete" = "Borrar"; +"Expunge" = "Compactar"; +"Forward" = "Reenviar"; +"Get Mail" = "Recibir"; +"Junk" = "Basura"; +"Reply" = "Responder"; +"Reply All" = "Responer a todos"; +"Print" = "Imprimir"; +"Stop" = "Detener"; +"Write" = "Redactar"; + +"Send" = "Enviar"; +"Contacts" = "Contactos"; +"Attach" = "Adjuntar"; +"Save" = "Guardar"; + +/* Tooltips */ + +"Send this message now" = "Enviar este mensaje ahora"; +"Select a recipient from an Address Book" = "Seleccionar un destinatario de una libreta de direcciones"; +"Include an attachment" = "Incluir un adjunto"; +"Save this message" = "Guardar este mensaje"; +"Get new messages" = "Recibir nuevos mensajes"; +"Create a new message" = "Crear mensaje nuevo"; +"Go to address book" = "Ir a libreta de direcciones"; +"Reply to the message" = "Responder al mensaje"; +"Reply to sender and all recipients" = "Responder al remitente y a todos los destinatarios"; +"Forward selected message" = "Reenviar mensaje seleccionado"; +"Delete selected message or folder" = "Borrar el mensaje o la carpeta seleccionados"; +"Mark the selected messages as junk" = "Marcar los mensajes seleccionados como basura"; +"Print this message" = "Imprimir este mensaje"; +"Stop the current transfer" = "Detener la transferencia actual"; + +/* Main Frame */ + +"Home" = "Inicio"; +"Calendar" = "Calendario"; +"Addressbook" = "Libreta de direcciones"; +"Mail" = "Correo"; +"Right Administration" = "Gestión de permisos"; + +"Help" = "Ayuda"; + +/* Mail account main windows */ + +"Welcome to the SOGo Mailer. Use the folder tree on the left to browse your mail accounts!" = "Bienvenido a SOGo Mailer. Use el árbol de carpetas a la izquierda para navegar por sus cuentas de correo."; + +"Read messages" = "Leer mensajes"; +"Write a new message" = "Redactar un nuevo mensaje"; + +"Share: " = "Compartir: "; +"Account: " = "Cuenta: "; +"Shared Account: " = "Cuenta compartida: "; + +/* acls */ +"Default Roles" = "Roles por defecto"; +"User rights for:" = "Permisos para:"; + +"List and see this folder" = "Listar y ver esta carpeta"; +"Read mails from this folder" = "Leer corrreo de esta carpeta"; +"Mark mails read and unread" = "Marcar correos como leídos o no leídos"; +"Modify the flags of the mails in this folder" = "Modificar los indicadores de los correos en esta carpeta"; +"Insert, copy and move mails into this folder" = "Insertar, copiar y mover correos a esta carpeta"; +"Post mails" = "Enviar correos"; +"Add subfolders to this folder" = "Añadir subcarpetas a esta carpeta"; +"Remove this folder" = "Borrar esta carpeta"; +"Erase mails from this folder" = "Borrar los correos de esta carpeta"; +"Expunge this folder" = "Compactar esta carpeta."; +"Modify the acl of this folder" = "Modificar la lista de permisos de esta carpeta"; + +"Update" = "Actualizar"; +"Cancel" = "Cancelar"; + +/* Mail edition */ + +"From" = "Para"; +"Subject" = "Asunto"; +"Add address" = "Añadir dirección"; + +"Attachments:" = "Attachments:"; + +"to" = "Para"; +"cc" = "Cc"; +"bcc" = "CCo"; + +"Addressbook" = "Libreta de direcciones"; +"Anais" = "Anais"; + +"Edit Draft..." = "Modificar borrador..."; + +"This mail is being sent from an unsecure network!" = "Este mendaje es enviado desde una red no segura."; + +/* Popup "show" */ + +"all" = "todo"; +"read" = "leído"; +"unread" = "no leído"; +"deleted" = "borrado"; +"flagged" = "marcado"; + +/* MailListView */ + +"Sender" = "Remitente"; +"Subject or Sender" = "Asunto o remitente"; +"To or Cc" = "Para o CC"; +"Entire Message" = "Mensage completo"; + +"Date" = "Fecha"; +"View" = "Vista"; +"All" = "Todo"; +"Unread" = "No leído"; +"messages" = "mensajes"; + +"first" = "Primero"; +"previous" = "Previo"; +"next" = "Siguiente"; +"last" = "Último"; + +"msgnumber_to" = "a"; +"msgnumber_of" = "de"; + +"Mark Unread" = "Marcar como no leído"; +"Mark Read" = "Marcar como leído"; + +"Untitled" = "Sin título"; + +/* Tree */ + +"SentFolderName" = "Enviados"; +"TrashFolderName" = "Papelera"; +"InboxFolderName" = "Bandeja de entrada"; +"DraftsFolderName" = "Borradores"; +"SieveFolderName" = "Filtros"; +"Folders" = "Carpetas"; /* title line */ + +/* MailMoveToPopUp */ + +"MoveTo" = "Mover a …"; + +/* Address Popup menu */ +"Add to Address Book..." = "Añadir a una libreta de direcciones..."; +"Compose Mail To" = "Crear mensaje para"; +"Create Filter From Message..." = "Create filtro a partir del mensaje..."; + +/* Image Popup menu */ +"Save Image" = "Guardar imagen"; + +/* Mailbox popup menus */ +"Open in New Mail Window" = "Abrir mensaje en nueva ventana"; +"Copy Folder Location" = "Copiar dirección de la carpeta"; +"Subscribe..." = "Suscribir..."; +"Mark Folder Read..." = "Marcar carpeta como leída..."; +"New Folder..." = "Crear carpeta..."; +"Compact This Folder" = "Compactar esta carpeta"; +"Search Messages..." = "Buscar mensajes..."; +"Sharing..." = "Compartir..."; +"New Subfolder..." = "Crear subcarpeta..."; +"Rename Folder..." = "Renombrar carpeta..."; +"Delete Folder" = "Borrar carpeta"; +"Use This Folder For" = "Usar esta carpeta para"; +"Get Messages for Account" = "Recibir mensajes para cuenta"; + +/* Use This Folder menu */ +"Sent Messages" = "Enviar mensajes"; +"Drafts" = "Borradores"; +"Deleted Messages" = "Mensajes borrados"; + +/* Message list popup menu */ +"Open Message In New Window" = "Abrir mensaje en ventana nueva"; +"Reply to Sender Only" = "Responder sólo al remitente"; +"Reply to All" = "Reponder a todos"; +"Forward" = "Reenviar"; +"Edit As New..." = "Editar como nuevo..."; +"Move To" = "Mover a"; +"Copy To" = "Copiar a"; +"Label" = "Etiquetar"; +"Mark" = "Marcar"; +"Save As..." = "Guardar como..."; +"Print Preview" = "Vista preliminar"; +"View Message Source" = "Ver formato original del mensaje"; +"Print..." = "Imprimir..."; +"Delete Message" = "Borrar mensaje"; + +"This Folder" = "Esta carpeta"; + +/* Label popup menu */ +"None" = "Ninguna"; +"Important" = "Importantante"; +"Work" = "Trabajo"; +"Personal" = "Personal"; +"To Do" = "Por hacer"; +"Later" = "Más tarde"; + +/* Mark popup menu */ +"As Read" = "Como leídos"; +"Thread As Read" = "Conversación como leída"; +"As Read By Date..." = "Como leídos por fecha..."; +"All Read" = "Todos leídos"; +"Flag" = "Añadir estrella"; +"As Junk" = "Como correo basura"; +"As Not Junk" = "Como correo normal"; +"Run Junk Mail Controls" = "Ejecutar controles de correo basura"; + +/* Folder operations */ +"Name :" = "Nombre: "; +"Enter the new name of your folder :" + = "Introduzca el nombre nuevo de la carpeta: "; +"Do you really want to move this folder into the trash ?" + = "¿Seguro que desea mover la carpeta a la papelera?"; +"Operation failed" = "Operación fallida"; + +"quotasFormat" = "Quotas: %{0} de %{1} Kb usados ; %{2}%"; + +"Please select a message." = "Seleccione un mensaje primero."; +"Please select a message to print." = "Seleccione el mensaje que desea imprimir."; +"Please select only one message to print." = "Para imprimir, seleccione sólo un mensaje."; + +"You need to choose a non-virtual folder!" = "Ha de seleccionar una carpeta no virtual."; + +"Moving a message into its own folder is impossible!" += "No se puede mover los mensajes a la misma carpeta."; +"Copying a message into its own folder is impossible!" += "No se pueden copiar mensajes a la misma carpeta."; + +/* Message editing */ +"error_validationfailed" = "Error de validación"; +"error_missingsubject" = "No ha indicado el asunto"; +"error_missingrecipients" = "No ha indicado el/los destinatario(s)"; diff --git a/UI/MainUI/GNUmakefile b/UI/MainUI/GNUmakefile index 6ed1e7e5..ae5da413 100644 --- a/UI/MainUI/GNUmakefile +++ b/UI/MainUI/GNUmakefile @@ -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 \ diff --git a/UI/MainUI/Spanish.lproj/Locale b/UI/MainUI/Spanish.lproj/Locale new file mode 100644 index 00000000..e718ee9b --- /dev/null +++ b/UI/MainUI/Spanish.lproj/Locale @@ -0,0 +1,40 @@ +/* Spanish */ +/* this file is in UTF-8 format! */ +/* Author: erny@yaco.es */ +/* Based on: rev 1397 */ +/* Last update: 2008-04-02 */ + +{ + NSLanguageName = "Spanish"; + NSFormalName = "Castellano"; + NSLocaleCode = "es"; /* ISO 639-1 */ + NSLanguageCode = "spa; Castillan"; /* ISO 639-2 */ + NSParentContext = ""; + + NSAMPMDesignation = (AM, PM); + NSCurrencySymbol = "€"; + NSDateFormatString = "%A %e %B %Y"; + NSDateTimeOrdering = DMYH; + NSDecimalDigits = ("0", "1", "2", "3", "4", "5", "6", "7", "8", "9"); + NSDecimalSeparator = "."; + NSEarlierTimeDesignations = ("pasado","último","anterior"); + NSHourNameDesignations = ((0, "medianoche"), (10, "mañana"), (12, "mediodía"), (14, "tarde"), (19, "noche")); + NSInternationalCurrencyString = EUR; /* ISO 4217 */ + NSLaterTimeDesignations = ("próximo","siguiente","que viene"); + NSMonthNameArray = (Enero, Febrero, Marzo, Abril, Mayo, Junio, Julio, Agosto, Septiembre, Octubre, Noviembre, Diciembre); + NSNextDayDesignations = ("mañana"); + NSNextNextDayDesignations = ("pasado mañana"); + NSPriorDayDesignations = (ayer); + NSShortDateFormatString = "%e/%m/%y"; + NSShortMonthNameArray = (Ene, Feb, Mar, Abr, May, Jun, Jul, Ago, Sep, Oct, Nov, Dic); + NSShortTimeDateFormatString = "%e/%m/%y %H:%M"; + NSShortWeekDayNameArray = ("Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"); + NSThisDayDesignations = ("hoy"); + NSThousandsSeparator = "."; + NSTimeDateFormatString = "%A %e %B %Y %H:%M:%S %Z"; + NSTimeFormatString = "%H:%M:%S"; + NSWeekDayNameArray = ("Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"); + NSYearMonthWeekDesignations = ("año", "mes", "semana"); + NSPositiveCurrencyFormatString = "$9,999.00$"; + NSNegativeCurrencyFormatString = "-$9,999.00$"; +} diff --git a/UI/MainUI/Spanish.lproj/Localizable.strings b/UI/MainUI/Spanish.lproj/Localizable.strings new file mode 100644 index 00000000..88a4e47e --- /dev/null +++ b/UI/MainUI/Spanish.lproj/Localizable.strings @@ -0,0 +1,13 @@ +/* this file is in UTF-8 format! */ +/* Author: erny@yaco.es */ +/* Based on: rev 1397 */ +/* Last update: 2008-04-05 */ + +"title" = "SOGo"; + +"Username:" = "Usuario:"; +"Password:" = "Contraseña:"; + +"Connect" = "Conectar"; + +"Wrong username or password." = "Nombre de usuario o contraseña incorrectos."; diff --git a/UI/PreferencesUI/English.lproj/Localizable.strings b/UI/PreferencesUI/English.lproj/Localizable.strings index b9f0e761..58b42bb0 100644 --- a/UI/PreferencesUI/English.lproj/Localizable.strings +++ b/UI/PreferencesUI/English.lproj/Localizable.strings @@ -85,6 +85,7 @@ "Default identity:" = "Default identity:"; "Manage identities..." = "Manage identities..."; +"Signature:" = "Signature:"; /* password */ "New password:" = "New password:"; diff --git a/UI/PreferencesUI/French.lproj/Localizable.strings b/UI/PreferencesUI/French.lproj/Localizable.strings index 4fe9850e..68502102 100644 --- a/UI/PreferencesUI/French.lproj/Localizable.strings +++ b/UI/PreferencesUI/French.lproj/Localizable.strings @@ -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 :"; diff --git a/UI/PreferencesUI/GNUmakefile b/UI/PreferencesUI/GNUmakefile index e36ec4dc..21227112 100644 --- a/UI/PreferencesUI/GNUmakefile +++ b/UI/PreferencesUI/GNUmakefile @@ -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 \ diff --git a/UI/PreferencesUI/German.lproj/Localizable.strings b/UI/PreferencesUI/German.lproj/Localizable.strings index ffd805dd..6fa6c2bd 100644 --- a/UI/PreferencesUI/German.lproj/Localizable.strings +++ b/UI/PreferencesUI/German.lproj/Localizable.strings @@ -82,6 +82,7 @@ "Default identity:" = "Standard Identität:"; "Manage identities..." = "Identitäten verwalten..."; +"Signature:" = "Unterschrift:"; /* password */ "New password:" = "Neues Passwort:"; diff --git a/UI/PreferencesUI/Spanish.lproj/Localizable.strings b/UI/PreferencesUI/Spanish.lproj/Localizable.strings new file mode 100644 index 00000000..be4bed6a --- /dev/null +++ b/UI/PreferencesUI/Spanish.lproj/Localizable.strings @@ -0,0 +1,104 @@ +/* this file is in UTF-8 format! */ +/* Author: erny@yaco.es */ +/* Based on: rev 1397 */ +/* Last update: 2008-04-04 */ + +/* toolbar */ +"Save and Close" = "Guardar y cerrar"; +"Close" = "Cerrar"; + +/* tabs */ +"General" = "General"; +"Calendar Options" = "Opciones de calendario"; +"Mail Options" = "Opciones de correo"; +"Identities" = "Identidades"; +"Password" = "Contraseña"; + +/* ooo */ +"I'm currently in the office" = "Ahora estoy disponible"; +"I'm currently out of the office" = "Ahora estoy fuera"; +"AutoReply only once to each sender with the following text :" += "Responder automáticamente una sola vez a cada remitente con el siguiente texto: "; + +/* d & t */ +"Current Time Zone :" = "Zona horaria actual: "; +"Short Date Format :" = "Formato de fecha corto: "; +"Long Date Format :" = "Formato de fecha largo: "; +"Time Format :" = "Formato de hora: "; + +"shortDateFmt_0" = "%e/%m/%Y"; +"shortDateFmt_1" = "%d/%m/%Y"; +"shortDateFmt_2" = "%e/%m/%y"; +"shortDateFmt_3" = "%d/%m/%y"; +"shortDateFmt_4" = "%e-%m-%y"; +"shortDateFmt_5" = "%d-%m-%y"; +"shortDateFmt_6" = "%e-%m-%Y"; +"shortDateFmt_7" = "%d-%m-%Y"; +"shortDateFmt_8" = "%Y-%m-%d"; +"shortDateFmt_9" = ""; + +"longDateFmt_0" = "%A, %e %B %Y"; +"longDateFmt_1" = "%A, %e de %B de %Y"; +"longDateFmt_2" = "%e de %b %Y"; /* ??? */ +"longDateFmt_3" = "%e de %b de %Y"; /* ??? */ +"longDateFmt_4" = "%e %B %Y"; +"longDateFmt_5" = ""; + +"timeFmt_0" = "%H:%M"; +"timeFmt_1" = "%H.%M"; +"timeFmt_2" = "%H h. %M"; +"timeFmt_3" = ""; + +/* calendar */ +"Week begins on :" = "Semana empieza con: "; +"Day start time :" = "Hora inicio: "; +"Day end time :" = "Hora fin: "; +"First week of year :" = "Primera semana del año: "; +"Enable reminders for Calendar items" = "Habilitar recordatorios para elementos del calendario"; +"Play a sound when a reminder comes due" += "Señal acústica para los recordatorios"; +"Default reminder :" = "Recordatorio por omisión: "; + +"firstWeekOfYear_HideWeekNumbers" = "No mostrar número de semana"; +"firstWeekOfYear_January1" = "Empieza el 1 de enero"; +"firstWeekOfYear_First4DayWeek" = "Primera semana de 4 días"; +"firstWeekOfYear_FirstFullWeek" = "Primera semana completa"; + +"reminderTime_0000" = "0 minutos"; +"reminderTime_0005" = "5 minutos"; +"reminderTime_0010" = "10 minutos"; +"reminderTime_0015" = "15 minutos"; +"reminderTime_0030" = "30 minutos"; +"reminderTime_0100" = "1 hora"; +"reminderTime_0200" = "2 horas"; +"reminderTime_0400" = "4 horas"; +"reminderTime_0800" = "8 horas"; +"reminderTime_1200" = "1/2 día"; +"reminderTime_2400" = "1 día"; +"reminderTime_4800" = "2 días"; + +/* Mailer */ +"Check for new mail:" = "Comprobar nuevo correo: "; +"messagecheck_manually" = "Manualmente"; +"messagecheck_every_minute" = "Cada minuto"; +"messagecheck_every_2_minutes" = "Cada 2 minutos"; +"messagecheck_every_5_minutes" = "Cada 5 minutos"; +"messagecheck_every_10_minutes" = "Cada 10 minutos"; +"messagecheck_every_20_minutes" = "Cada 20 minutos"; +"messagecheck_every_30_minutes" = "Cada 30 minutos"; +"messagecheck_once_per_hour" = "Cada hora"; + +"Forward messages:" = "Reenviar mensajes:"; +"messageforward_inline" = "Incorporado"; +"messageforward_attached" = "Como adjunto"; + +"Default identity:" = "Identidad por defecto:"; +"Manage identities..." = "Gestionar identidades..."; +"Signature:" = "Firma:"; + +/* password */ +"New password:" = "Contraseña nueva:"; +"Confirmation:" = "Confirmar contraseña nueva:"; /* ??? */ +"Change" = "Cambiar"; + +"Signature" = "Firma"; diff --git a/UI/SOGoUI/SOGoACLAdvisory.h b/UI/SOGoUI/SOGoACLAdvisory.h index 65c13c42..bfd0a313 100644 --- a/UI/SOGoUI/SOGoACLAdvisory.h +++ b/UI/SOGoUI/SOGoACLAdvisory.h @@ -65,40 +65,58 @@ @end -@interface SOGoACLEnglishAdditionAdvisory : SOGoACLAdditionAdvisory +@interface SOGoACLDutchAdditionAdvisory : SOGoACLAdditionAdvisory @end -@interface SOGoACLFrenchAdditionAdvisory : SOGoACLAdditionAdvisory +@interface SOGoACLDutchModificationAdvisory : SOGoACLModificationAdvisory @end -@interface SOGoACLGermanAdditionAdvisory : SOGoACLAdditionAdvisory +@interface SOGoACLDutchRemovalAdvisory : SOGoACLRemovalAdvisory @end -@interface SOGoACLItalianAdditionAdvisory : SOGoACLAdditionAdvisory +@interface SOGoACLEnglishAdditionAdvisory : SOGoACLAdditionAdvisory @end @interface SOGoACLEnglishModificationAdvisory : 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 SOGoACLEnglishRemovalAdvisory : SOGoACLRemovalAdvisory +@interface SOGoACLItalianRemovalAdvisory : SOGoACLRemovalAdvisory @end -@interface SOGoACLFrenchRemovalAdvisory : SOGoACLRemovalAdvisory +@interface SOGoACLSpanishAdditionAdvisory : SOGoACLAdditionAdvisory @end -@interface SOGoACLGermanRemovalAdvisory : SOGoACLRemovalAdvisory +@interface SOGoACLSpanishModificationAdvisory : SOGoACLModificationAdvisory @end -@interface SOGoACLItalianRemovalAdvisory : SOGoACLRemovalAdvisory +@interface SOGoACLSpanishRemovalAdvisory : SOGoACLRemovalAdvisory @end #endif /* SOGOACLADVISORY_H */ diff --git a/UI/SOGoUI/SOGoACLAdvisory.m b/UI/SOGoUI/SOGoACLAdvisory.m index 621950ad..4e77deca 100644 --- a/UI/SOGoUI/SOGoACLAdvisory.m +++ b/UI/SOGoUI/SOGoACLAdvisory.m @@ -246,39 +246,56 @@ @end -@implementation SOGoACLEnglishAdditionAdvisory +@implementation SOGoACLDutchAdditionAdvisory @end -@implementation SOGoACLFrenchAdditionAdvisory +@implementation SOGoACLDutchModificationAdvisory @end -@implementation SOGoACLGermanAdditionAdvisory +@implementation SOGoACLDutchRemovalAdvisory @end -@implementation SOGoACLItalianAdditionAdvisory +@implementation SOGoACLEnglishAdditionAdvisory @end @implementation SOGoACLEnglishModificationAdvisory @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 SOGoACLEnglishRemovalAdvisory +@implementation SOGoACLItalianAdditionAdvisory @end -@implementation SOGoACLFrenchRemovalAdvisory +@implementation SOGoACLItalianRemovalAdvisory @end -@implementation SOGoACLGermanRemovalAdvisory +@implementation SOGoACLSpanishAdditionAdvisory @end -@implementation SOGoACLItalianRemovalAdvisory +@implementation SOGoACLSpanishModificationAdvisory @end +@implementation SOGoACLSpanishRemovalAdvisory +@end diff --git a/UI/SOGoUI/SOGoFolderAdvisory.h b/UI/SOGoUI/SOGoFolderAdvisory.h index 36ee75b9..e98721c3 100644 --- a/UI/SOGoUI/SOGoFolderAdvisory.h +++ b/UI/SOGoUI/SOGoFolderAdvisory.h @@ -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 */ diff --git a/UI/SOGoUI/SOGoFolderAdvisory.m b/UI/SOGoUI/SOGoFolderAdvisory.m index 26cddaa8..9bfa0245 100644 --- a/UI/SOGoUI/SOGoFolderAdvisory.m +++ b/UI/SOGoUI/SOGoFolderAdvisory.m @@ -207,35 +207,50 @@ @end -@implementation SOGoFolderEnglishAdditionAdvisory +@implementation SOGoFolderAdditionAdvisory + - (NSString *) folderMethod { return @"add"; } + @end -@implementation SOGoFolderEnglishRemovalAdvisory +@implementation SOGoFolderRemovalAdvisory + - (NSString *) folderMethod { return @"remove"; } + +@end + +@implementation SOGoFolderDutchAdditionAdvisory +@end + +@implementation SOGoFolderDutchRemovalAdvisory +@end + +@implementation SOGoFolderEnglishAdditionAdvisory +@end + +@implementation SOGoFolderEnglishRemovalAdvisory @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 diff --git a/UI/Scheduler/English.lproj/Localizable.strings b/UI/Scheduler/English.lproj/Localizable.strings index 3c755832..ab7281be 100644 --- a/UI/Scheduler/English.lproj/Localizable.strings +++ b/UI/Scheduler/English.lproj/Localizable.strings @@ -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"; diff --git a/UI/Scheduler/French.lproj/Localizable.strings b/UI/Scheduler/French.lproj/Localizable.strings index 1d7967c0..05ef723b 100644 --- a/UI/Scheduler/French.lproj/Localizable.strings +++ b/UI/Scheduler/French.lproj/Localizable.strings @@ -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"; diff --git a/UI/Scheduler/GNUmakefile b/UI/Scheduler/GNUmakefile index 005b36d4..be6f4239 100644 --- a/UI/Scheduler/GNUmakefile +++ b/UI/Scheduler/GNUmakefile @@ -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 \ diff --git a/UI/Scheduler/German.lproj/Localizable.strings b/UI/Scheduler/German.lproj/Localizable.strings index 0394ad27..0c2ff42e 100644 --- a/UI/Scheduler/German.lproj/Localizable.strings +++ b/UI/Scheduler/German.lproj/Localizable.strings @@ -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"; diff --git a/UI/Scheduler/Italian.lproj/Localizable.strings b/UI/Scheduler/Italian.lproj/Localizable.strings index 46beb674..ae064e47 100644 --- a/UI/Scheduler/Italian.lproj/Localizable.strings +++ b/UI/Scheduler/Italian.lproj/Localizable.strings @@ -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"; diff --git a/UI/Scheduler/Spanish.lproj/Localizable.strings b/UI/Scheduler/Spanish.lproj/Localizable.strings new file mode 100644 index 00000000..f2a316d2 --- /dev/null +++ b/UI/Scheduler/Spanish.lproj/Localizable.strings @@ -0,0 +1,478 @@ +/* this file is in UTF-8 format! */ +/* Author: erny@yaco.es */ +/* Based on: rev 1397 */ +/* Last update: 2008-04-04 */ + +/* Tooltips */ + +"Create a new event" = "Crear un nuevo evento en el calendario"; +"Create a new task" = "Crear una nueva tarea"; +"Edit this event or task" = "Modificar este evento o tarea"; +"Delete this event or task" = "Borrar este evento o tarea"; +"Go to today" = "Ir a hoy"; +"Switch to day view" = "Cambiar a vista diaria"; +"Switch to week view" = "Cambiar a vista semanal"; +"Switch to month view" = "Cambiar a vista mensual"; + +/* Tabs */ +"Date" = "Fecha"; +"Calendars" = "Calendarios"; + +/* Day */ + +"Sunday" = "Domingo"; +"Monday" = "Lunes"; +"Tuesday" = "Martes"; +"Wednesday" = "Miércoles"; +"Thursday" = "Jueves"; +"Friday" = "Viernes"; +"Saturday" = "Sábado"; + +"Sun" = "Dom"; +"Mon" = "Lun"; +"Tue" = "Mar"; +"Wed" = "Mié"; +"Thu" = "Jue"; +"Fri" = "Vie"; +"Sat" = "Sáb"; + +"a2_Sunday" = "Do"; +"a2_Monday" = "Lu"; +"a2_Tuesday" = "Ma"; +"a2_Wednesday" = "Mi"; +"a2_Thursday" = "Ju"; +"a2_Friday" = "Vi"; +"a2_Saturday" = "Sá"; + +"dayLabelFormat" = "%d/%m/%Y"; +"today" = "Hoy"; + +/* Week */ + +"Week" = "Semana"; +"this week" = "esta semana"; + +"Week %d" = "Semana %d"; + +/* Month */ + +"this month" = "este mes"; + +"January" = "Enero"; +"February" = "Febrero"; +"March" = "Marzo"; +"April" = "Abril"; +"May" = "Mayo"; +"June" = "Junio"; +"July" = "Julio"; +"August" = "Agosto"; +"September" = "Septiembre"; +"October" = "Octubre"; +"November" = "Noviembre"; +"December" = "Diciembre"; + +"a3_January" = "Enero"; +"a3_February" = "Febrero"; +"a3_March" = "Marzo"; +"a3_April" = "Abril"; +"a3_May" = "Mayo"; +"a3_June" = "Junio"; +"a3_July" = "Julio"; +"a3_August" = "Agosto"; +"a3_September" = "Septiembre"; +"a3_October" = "Octubre"; +"a3_November" = "Noviembre"; +"a3_December" = "Diciembre"; + +/* Year */ + +"this year" = "este año"; + +/* Menu */ +"Calendar" = "Calendario"; +"Contacts" = "Contactos"; + +"New Calendar..." = "Nuevo calendario..."; +"Delete Calendar" = "Borrar calendario"; +"Sharing..." = "Compartir..."; +"Export Calendar..." = "Exportar calendario..."; +"Publish Calendar..." = "Publicar calendario..."; +"Reload Remote Calendars" = "Recargar calendarios remotos"; +"Properties" = "Propiedades"; + +"Compose E-Mail to All Attendees" + = "Crear correo para todos los asistentes"; +"Compose E-Mail to Undecided Attendees" + = "Crear correo para todos los asistentes indecisos (sin confirmación)"; + +/* Folders */ +"Personal calendar" = "Calendario personal"; + +/* Misc */ + +"OpenGroupware.org" = "OpenGroupware.org"; +"Forbidden" = "Prohibido"; + +/* acls */ +"Default Roles" = "Roles por defecto"; +"User rights for:" = "Permisos para:"; +"label_Public" = "Público"; +"label_Private" = "Privado"; +"label_Confidential" = "Confidencial"; +"View All" = "Ver todo"; +"View the Date & Time" = "Ver fecha y hora"; +"Modify" = "Modificar"; +"Respond To" = "Responder a"; +"None" = "Ninguno"; +"This person can create objects in my calendar." + = "Esta persona puede crear elementos en mi calendario."; +"This person can erase objects from my calendar." + = "Esta persona puede eliminar elementos de mi calendario."; + +/* Button Titles */ + +"New Calendar..." = "Nuevo calendario..."; +"Subscribe to a Calendar..." = "Suscribir a un calendario..."; +"Remove the selected Calendar" = "Borrar calendario seleccionado"; + +"Name of the Calendar" = "Nombre del calendario"; + +"new" = "Nuevo"; +"printview" = "Vista preliminar"; +"edit" = "Modificar"; +"delete" = "Borrar"; +"proposal" = "Propuesta"; +"Save and Close" = "Guardar y cerrar"; +"Close" = "Cerrar"; +"Invite Attendees" = "Invitar asistentes"; +"Documents" = "Documentos"; +"Update" = "Actualizar"; +"Cancel" = "Cancelar"; +"show_rejected_apts" = "Mostrar citas rechazadas"; +"hide_rejected_apts" = "Ocultar citas rechazadas"; + + +/* Schedule */ + +"Schedule" = "Agenda de eventos"; +"No appointments found" = "No hay eventos"; +"Meetings proposed by you" = "Eventos propuestos por usted"; +"Meetings proposed to you" = "Eventos propuestos para usted"; +"sched_startDateFormat" = "%d/%m %H:%M"; +"action" = "Acción"; +"accept" = "Confirmar"; +"decline" = "Rechazar"; +"more attendees" = "Más asistentes"; +"Hide already accepted and rejected appointments" = "Ocultar eventos ya confirmados o rechazados"; +"Show already accepted and rejected appointments" = "Mostrar eventos ya confirmados o rechazados"; + + +/* Appointments */ + +"Appointment viewer" = "Mostrar evento"; +"Appointment editor" = "Modificar evento"; +"Appointment proposal" = "Propuesta de evento"; +"Appointment on" = "Evento"; +"Start:" = "Desde:"; +"End:" = "Hasta:"; +"Due Date:" = "Vencimiento:"; +"Title:" = "Título:"; +"Calendar:" = "Calendario:"; +"Name" = "Nombre"; +"Email" = "Correo"; +"Status:" = "Estado:"; +"% complete" = "% completo"; +"Location:" = "Lugar:"; +"Priority:" = "Prioridad:"; +"Privacy" = "Privacidad"; +"Cycle" = "Repetir"; +"Cycle End" = "Fin repetición"; +"Categories" = "Categorías"; +"Classification" = "Privacidad"; +"Duration" = "Duración"; +"Attendees:" = "Asistentes:"; +"Resources" = "Recursos"; +"Organizer:" = "Organizador:"; +"Description:" = "Descripción:"; +"Document:" = "Documento:"; +"Category:" = "Categoría:"; +"Repeat:" = "Repetir:"; +"Reminder:" = "Recordatorio:"; + +"Target:" = "URL documento:"; + +"attributes" = "atributos"; +"attendees" = "asistentes"; +/* checkbox title */ +"is private" = "es privado"; +/* classification */ +"Public" = "Público"; +"Private" = "Privado"; +/* text used in overviews and tooltips */ +"empty title" = "Sin título"; +"private appointment" = "Evento privado"; + +"Change..." = "Modificar..."; + +/* Appointments (participation state) */ + +"partStat_NEEDS-ACTION" = "Requiere acción"; +"partStat_ACCEPTED" = "Confirmado"; +"partStat_DECLINED" = "Rechazado"; +"partStat_TENTATIVE" = "Tentativo"; +"partStat_DELEGATED" = "Delegado"; +"partStat_OTHER" = "Otro"; + +/* Appointments (error messages) */ + +"Conflicts found!" = "Hay conflictos!"; +"Invalid iCal data!" = "Datos iCal no válidos!"; +"Could not create iCal data!" = "No se pueden crear datos en formato iCal!"; + +/* Searching */ + +"view_all" = "Todos los eventos"; +"view_today" = "Hoy"; +"view_next7" = "Próximos 7 days"; +"view_next14" = "Próximos 14 days"; +"view_next31" = "Próximos 31 days"; +"view_thismonth" = "Este mes"; +"view_future" = "Todos los eventos futuros"; +"view_selectedday" = "Día seleccionado"; + +"View:" = "Ver:"; +"Title or Description" = "Título o descripción"; + +"Search" = "Buscar"; +"Search attendees" = "Buscar asistentes"; +"Search resources" = "Search recursos"; +"Search appointments" = "Buscar eventos"; +"Search in Anais" = "Buscar en Anais"; + +"All day Event" = "Todo el día"; +"check for conflicts" = "Buscar conflictos"; + +"Browse URL" = "Ir a URL"; + +"newAttendee" = "Añadir asistente"; + +/* calendar modes */ + +"Overview" = "Resumen"; +"Chart" = "Tabla"; +"List" = "Lista"; +"Columns" = "Columnas"; + +/* Priorities */ + +"prio_0" = "No especificada"; +"prio_1" = "Alta"; +"prio_2" = "Alta"; +"prio_3" = "Alta"; +"prio_4" = "Alta"; +"prio_5" = "Normal"; +"prio_6" = "Baja"; +"prio_7" = "Baja"; +"prio_8" = "Baja"; +"prio_9" = "Baja"; + +/* access classes (privacy) */ +"PUBLIC_vevent" = "Evento público"; +"CONFIDENTIAL_vevent" = "Evento confidencial"; +"PRIVATE_vevent" = "Evento privado"; +"PUBLIC_vtodo" = "Tarea pública"; +"CONFIDENTIAL_vtodo" = "Tarea confidencial"; +"PRIVATE_vtodo" = "Tarea privada"; + +/* status type */ +"status_" = "No especifado"; +"status_NOT-SPECIFIED" = "No specificado"; +"status_TENTATIVE" = "Tentativo"; +"status_CONFIRMED" = "Confirmado"; +"status_CANCELLED" = "Cancelado"; +"status_NEEDS-ACTION" = "Necesita intervención"; +"status_IN-PROCESS" = "En proceso"; +"status_COMPLETED" = "Completado el"; + +/* Cycles */ + +"cycle_once" = "sin repetición"; +"cycle_daily" = "diariamente"; +"cycle_weekly" = "semanalmente"; +"cycle_2weeks" = "bisemanalmente"; +"cycle_4weeks" = "cada 4 semanas"; +"cycle_monthly" = "mensualmente"; +"cycle_weekday" = "cada día laborable"; +"cycle_yearly" = "anualmente"; + +"cycle_end_never" = "para siempre"; +"cycle_end_until" = "hasta: "; + +"Recurrence pattern" = "Patrón de recurrencia"; +"Range of recurrence" = "Rango de recurrencia"; + +"Repeat" = "Repetir"; +"Daily" = "diariamente"; +"Weekly" = "semanalmente"; +"Monthly" = "mensualmente"; +"Yearly" = "anualmente"; +"Every" = "cada"; +"Days" = "días"; +"Week(s)" = "semana(s)"; +"On" = "en"; +"Month(s)" = "mes(es)"; +"The" = "El"; +"Recur on day(s)" = "Repetir en día(s)"; +"Year(s)" = "año(s)"; +"cycle_of" = "de"; +"No end date" = "Sin fecha fin"; +"Create" = "Crear"; +"Appointment(s)" = "evento(s)"; +"Repeat until" = "Repetir hasta: "; + +"First" = "Primero"; +"Second" = "Segundo"; +"Third" = "Tercero"; +"Fourth" = "Cuarto"; +"Fift" = "Quinto"; +"Last" = "Último"; + +/* Appointment categories */ + +"category_NONE" = "Ninguna"; +"category_ANNIVERSARY" = "Aniversario"; +"category_BIRTHDAY" = "Cumpleaños"; +"category_BUSINESS" = "Negocios"; +"category_CALLS" = "Llamadas"; +"category_CLIENTS" = "Clientes"; +"category_COMPETITION" = "Competencia"; +"category_CUSTOMER" = "Cliente importante"; +"category_FAVORITES" = "Favoritos"; +"category_FOLLOW UP" = "Seguimiento"; +"category_GIFTS" = "Regalos"; +"category_HOLIDAYS" = "Vacaciones"; +"category_IDEAS" = "Ideas"; +"category_ISSUES" = "Problemas"; +"category_MISCELLANEOUS" = "Miscelánea"; +"category_PERSONAL" = "Personal"; +"category_PROJECTS" = "Proyectos"; +"category_PUBLIC HOLIDAY" = "Festivos"; +"category_STATUS" = "Estado"; +"category_SUPPLIERS" = "Proveedores"; +"category_TRAVEL" = "Viajes"; +"category_VACATION" = "Vacation"; + +"repeat_NEVER" = "sin repetición"; +"repeat_DAILY" = "diariamente"; +"repeat_WEEKLY" = "semanalmente"; +"repeat_BI-WEEKLY" = "bisemanalmente"; +"repeat_EVERY WEEKDAY" = "cada día laborable"; +"repeat_MONTHLY" = "mensualmente"; +"repeat_YEARLY" = "anualmente"; +"repeat_CUSTOM" = "personalizado..."; + +"reminder_NONE" = "Sin recordatorio"; +"reminder_5_MINUTES_BEFORE" = "5 minutos antes"; +"reminder_10_MINUTES_BEFORE" = "10 minutos antes"; +"reminder_15_MINUTES_BEFORE" = "15 minutos antes"; +"reminder_30_MINUTES_BEFORE" = "30 minutos antes"; +"reminder_45_MINUTES_BEFORE" = "45 minutos antes"; +"reminder_1_HOUR_BEFORE" = "1 hora antes"; +"reminder_2_HOURS_BEFORE" = "2 horas antes"; +"reminder_5_HOURS_BEFORE" = "5 horas antes"; +"reminder_15_HOURS_BEFORE" = "15 horas antes"; +"reminder_1_DAY_BEFORE" = "1 día antes"; +"reminder_2_DAYS_BEFORE" = "2 días antes"; +"reminder_1_WEEK_BEFORE" = "1 semana antes"; +"reminder_CUSTOM" = "personalizado..."; + +"zoom_400" = "400%"; +"zoom_200" = "200%"; +"zoom_100" = "100%"; +"zoom_50" = "50%"; +"zoom_25" = "25%"; + +/* validation errors */ + +validate_notitle = "Sin título, ¿continuar?"; +validate_invalid_startdate = "Fecha de comienzo incorrecta"; +validate_invalid_enddate = "Fecha de finalización incorrecta"; +validate_endbeforestart = "Su fecha/hora de comienzo es posterio a la de finalización."; + +"Tasks" = "Tareas"; +"Show completed tasks" = "Mostrar tareas completadas"; + +/* tabs */ +"Task" = "Tarea"; +"Event" = "Evento"; +"Recurrence" = "Recurrencia"; + +/* toolbar */ +"New Event" = "Nuevo evento"; +"New Task" = "Nueva tarea"; +"Edit" = "Modificar"; +"Delete" = "Borrar"; +"Go to Today" = "Ir a hoy"; +"Day View" = "Vista diaria"; +"Week View" = "Vista semanal"; +"Month View" = "Vista mensual"; + +"eventPartStatModificationError" = "Su estado de participación no puede ser actualizado."; + +/* menu */ +"New Event..." = "Nuevo evento..."; +"New Task..." = "Nueva tarea..."; +"Edit Selected Event..." = "Modificar evento seleccionado..."; +"Delete Selected Event" = "Borrar evento seleccionado"; +"Select All" = "Seleccionar todo"; +"Workweek days only" = "Sólo días laborables"; +"Tasks in View" = "Mostrar tareas"; + +"eventDeleteConfirmation" = "No se puede deshacer el borrado de este evento. ¿Desea continuar?"; +"taskDeleteConfirmation" = "No se puede deshacer el borrado de esta tarea. ¿Desea continuar?"; + +"Are you sure you want to delete the calendar \"%{0}\"?" += "¿Está seguro/a que desea borrar el calendario \"%{0}\"?"; + +/* Legend */ +"Required participant" = "Asistente obligatorio"; +"Optional participant" = "Asistentes opcionales"; +"Chair" = "Presidente"; + +"Needs action" = "Requiere intervención"; +"Accepted" = "Confirmada"; +"Declined" = "Rechazada"; +"Tentative" = "Tentativo"; + +"Free" = "Libre"; +"Busy" = "Ocupado"; +"Maybe busy" = "Posiblemente ocupado"; +"No free-busy information" = "Sin informació de disponibilidad."; + +/* FreeBusy panel buttons and labels */ +"Suggest time slot:" = "Proponer ranura temporal:"; +"Zoom:" = "Ampliación:"; +"Previous slot" = "Ranura anterior"; +"Next slot" = "Siguiente ranura"; +"Previous hour" = "Hora anterior"; +"Next hour" = "Hora siguiente"; + +/* apt list */ +"Title" = "Título"; +"Start" = "Inicio"; +"End" = "Fin"; +"Location" = "Lugar"; +"(Private Event)" = "(Evento privado)"; + +vevent_class0 = "(Evento público)"; +vevent_class1 = "(Evento privado)"; +vevent_class2 = "(Evento confidencial)"; + +vtodo_class0 = "(Tarea pública)"; +vtodo_class1 = "(Tarea privada)"; +vtodo_class2 = "(Tarea confidencial)"; + +"closeThisWindowMessage" = "¡Gracias! Ya puede cerrar esta ventana."; +"Multicolumn Day View" = "Vista diaria multicolumna"; +"Please select an event or a task." + = "Seleccione un evento o tarea, por favor"; diff --git a/UI/Templates/GNUmakefile b/UI/Templates/GNUmakefile index bf753e58..1ad7f522 100644 --- a/UI/Templates/GNUmakefile +++ b/UI/Templates/GNUmakefile @@ -1,40 +1,40 @@ # GNUstep makefile -# include ../common.make +include ../common.make XMLLINT = xmllint XMLLINT-BIN = $(shell which $(XMLLINT)) ifeq ($(XMLLINT-BIN),) -all :: +all install :: @echo Utility \"$(XMLLINT)\" not found. Skipping validation. else -all :: validate-wox +all install :: validate-wox endif WOXS = $(shell find . -name '*.wox' -type f) -# TEMPLATE_FILES = $(shell ls *wox) -# TEMPLATE_DIRS = ContactsUI \ - MailPartViewers \ - MailerUI \ - MainUI \ - PreferencesUI \ - SchedulerUI +TEMPLATE_DIRS = $(shell find . -type d | grep -v .svn) validate-wox: - for wox in $(WOXS); \ + @for wox in $(WOXS); \ do $(XMLLINT-BIN) --noout $$wox || exit 1; \ done; -# install :: -# mkdir -p ${SOGO_TEMPLATESDIR} -# for TEMPLATE in $(TEMPLATE_FILES); do \ -# cp $$TEMPLATE ${SOGO_TEMPLATESDIR}; \ -# done; -# for TEMPLATEDIR in $(TEMPLATE_DIRS); do \ -# cp -r $$TEMPLATEDIR ${SOGO_TEMPLATESDIR}; \ -# done; +mkinstall-dirs :: + @if [ ! -d $(SOGO_TEMPLATESDIR) ]; then mkdir -p $(SOGO_TEMPLATESDIR); fi + @for dir in $(TEMPLATE_DIRS); do \ + if [ ! -d $(SOGO_TEMPLATESDIR)/$$dir ]; then \ + echo Creating template directory \"$(SOGO_TEMPLATESDIR)/$$dir\"...; \ + mkdir $(SOGO_TEMPLATESDIR)/$$dir; \ + fi; \ + done -install clean :: +install-files :: + @echo Installing template files... + @tar cf - $(WOXS) | ( cd $(SOGO_TEMPLATESDIR); tar xf -) + +install :: mkinstall-dirs install-files + +clean :: distclean :: clean diff --git a/UI/Templates/SOGoACLSpanishAdditionAdvisory.wox b/UI/Templates/SOGoACLSpanishAdditionAdvisory.wox new file mode 100644 index 00000000..1802daf4 --- /dev/null +++ b/UI/Templates/SOGoACLSpanishAdditionAdvisory.wox @@ -0,0 +1,27 @@ + + + + + + El usuario le ha agregado + + + +El usuario le ha agregado a la lista de acceso de su carpeta . + +Puede suscribirse directamente a esta carpeta activando el siguiente enlace: + 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: + + + + + diff --git a/UI/Templates/SOGoACLSpanishModificationAdvisory.wox b/UI/Templates/SOGoACLSpanishModificationAdvisory.wox new file mode 100644 index 00000000..76e9e060 --- /dev/null +++ b/UI/Templates/SOGoACLSpanishModificationAdvisory.wox @@ -0,0 +1,27 @@ + + + + + + El usuario ha modificado los permisos de acceso + + + +El usuario ha modifcado los permisos de acceso a su carpeta . + +Puede suscribirse directamente a esta carpeta activando el siguiente enlace: + 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: + + + + + diff --git a/UI/Templates/SOGoACLSpanishRemovalAdvisory.wox b/UI/Templates/SOGoACLSpanishRemovalAdvisory.wox new file mode 100644 index 00000000..efdd27c8 --- /dev/null +++ b/UI/Templates/SOGoACLSpanishRemovalAdvisory.wox @@ -0,0 +1,27 @@ + + + + + + El usuario le ha quitado el acceso + + + +El usuario le ha quitado de la lista de acceso a su carpeta . + +Puede desuscribirse directamente de esta carpeta activando el siguiente enlace: + 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: + + + + + diff --git a/UI/Templates/SOGoFolderSpanishAdditionAdvisory.wox b/UI/Templates/SOGoFolderSpanishAdditionAdvisory.wox new file mode 100644 index 00000000..309da668 --- /dev/null +++ b/UI/Templates/SOGoFolderSpanishAdditionAdvisory.wox @@ -0,0 +1,22 @@ + + + + + + Creación de + + + +La carpeta ha sido creada. + +Puede acceder a este recurso usando la siguiente URL: + + + + + diff --git a/UI/Templates/SOGoFolderSpanishRemovalAdvisory.wox b/UI/Templates/SOGoFolderSpanishRemovalAdvisory.wox new file mode 100644 index 00000000..41378f75 --- /dev/null +++ b/UI/Templates/SOGoFolderSpanishRemovalAdvisory.wox @@ -0,0 +1,22 @@ + + + + + + Eliminación de + + + +La carpeta ha sido eliminada. + +La siguiente URL ya no es válida: + + + + + diff --git a/UI/WebServerResources/GNUmakefile b/UI/WebServerResources/GNUmakefile index b3f7b782..2085dccf 100644 --- a/UI/WebServerResources/GNUmakefile +++ b/UI/WebServerResources/GNUmakefile @@ -7,8 +7,8 @@ WEBSERVER_RESOURCE_FILES = $(shell ls *css *ico *js *.jpg *gif *png *html *txt) all :: install :: - mkdir -p ${SOGO_WEBSERVERRESOURCESDIR} - cp $(WEBSERVER_RESOURCE_FILES) ${SOGO_WEBSERVERRESOURCESDIR} + @mkdir -p ${SOGO_WEBSERVERRESOURCESDIR} + @cp $(WEBSERVER_RESOURCE_FILES) ${SOGO_WEBSERVERRESOURCESDIR} clean :: diff --git a/UI/WebServerResources/generic.js b/UI/WebServerResources/generic.js index a47bbc7c..54d29575 100644 --- a/UI/WebServerResources/generic.js +++ b/UI/WebServerResources/generic.js @@ -355,7 +355,7 @@ function triggerAjaxRequest(url, callback, userdata, content, headers) { cLength = "" + content.length; http.setRequestHeader("Content-Length", "" + cLength); } - http.send(content); + http.send(content ? content : ""); } else { log("triggerAjaxRequest: error creating HTTP Client!"); diff --git a/UI/WebServerResources/prototype.js b/UI/WebServerResources/prototype.js index e8a445ff..469e796e 100644 --- a/UI/WebServerResources/prototype.js +++ b/UI/WebServerResources/prototype.js @@ -1219,7 +1219,7 @@ Ajax.Request = Class.create(Ajax.Base, { this.transport.onreadystatechange = this.onStateChange.bind(this); this.setRequestHeaders(); - this.body = this.method == 'post' ? (this.options.postBody || params) : null; + this.body = this.method == 'post' ? (this.options.postBody || params) : ''; this.transport.send(this.body); /* Force Firefox to handle ready state 4 for synchronous requests */