- 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
- 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)
------------------------
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 @@
[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];
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,
{
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"
[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 <Foundation/NSObject.h>
+
+-@class NSData, NSString, NSArray;
++#import <Foundation/NSString.h>
++
++@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;
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.
#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"];
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;
- (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} \
-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;
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;
@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 @@
}
: [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 @@
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 @@
}
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;
@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 @@
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 <Foundation/Foundation.h>
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 @@
/* 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];
- (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 @@
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.
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.
id<NSObject,SaxEntityResolver> 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 <libxml/HTMLparser.h>
- (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);
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 @@
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 <unistd.h>
+ #include <string.h>
+ #include <stdio.h>
++#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 @@
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 <unistd.h>
- #include <string.h>
- #include <stdio.h>
-+#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 @@
+ $(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;
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";
"{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)
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 {
}
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++;
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;
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;
/* '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;
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 <NGObjWeb/WOCookie.h>
product.plist \
Appointments_COMPONENTS += \
+ SOGoAptMailDutchInvitation.wo \
+ SOGoAptMailDutchICalReply.wo \
+ SOGoAptMailDutchUpdate.wo \
+ SOGoAptMailDutchRemoval.wo \
+ SOGoAptMailDutchDeletion.wo \
SOGoAptMailEnglishInvitation.wo \
SOGoAptMailEnglishICalReply.wo \
SOGoAptMailEnglishUpdate.wo \
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/
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/
CommonUI_PRINCIPAL_CLASS = CommonUIProduct
-CommonUI_LANGUAGES = English French German Italian
+CommonUI_LANGUAGES = Dutch English French German Italian Spanish
CommonUI_OBJC_FILES += \
CommonUIProduct.m \
--- /dev/null
+/* 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.";
ContactsUI_PRINCIPAL_CLASS = ContactsUIProduct
-ContactsUI_LANGUAGES = English French German Italian
+ContactsUI_LANGUAGES = Dutch English French German Italian Spanish
ContactsUI_OBJC_FILES = \
UIxContactsUserFolders.m \
--- /dev/null
+/* 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.";
MainUI \
PreferencesUI \
Scheduler \
- Templates
+ Templates \
+ WebServerResources
include $(GNUSTEP_MAKEFILES)/aggregate.make
MailPartViewers_PRINCIPAL_CLASS = MailPartViewersProduct
-MailPartViewers_LANGUAGES = English French German Italian
+MailPartViewers_LANGUAGES = Dutch English French German Italian Spanish
MailPartViewers_OBJC_FILES += \
MailPartViewersProduct.m \
--- /dev/null
+/* 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";
MailerUI_PRINCIPAL_CLASS = MailerUIProduct
-MailerUI_LANGUAGES = English French German Italian
+MailerUI_LANGUAGES = Dutch English French German Italian Spanish
MailerUI_OBJC_FILES += \
MailerUIProduct.m \
--- /dev/null
+/* 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)";
MainUI_PRINCIPAL_CLASS = MainUIProduct
-MainUI_LANGUAGES = English French German Italian
+MainUI_LANGUAGES = Dutch English French German Italian Spanish
MainUI_OBJC_FILES += \
MainUIProduct.m \
--- /dev/null
+/* 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$";
+}
--- /dev/null
+/* 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.";
"Default identity:" = "Default identity:";
"Manage identities..." = "Manage identities...";
+"Signature:" = "Signature:";
/* password */
"New password:" = "New password:";
/* Identities */
"Default identity:" = "Identité par défaut :";
"Manage identities..." = "Gérer les identitiés...";
+"Signature:" = "Signature :";
/* password */
"New password:" = "Nouveau mot de passe :";
PreferencesUI_PRINCIPAL_CLASS = PreferencesUIProduct
-PreferencesUI_LANGUAGES = English French German Italian
+PreferencesUI_LANGUAGES = Dutch English French German Italian Spanish
PreferencesUI_OBJC_FILES = \
PreferencesUIProduct.m \
"Default identity:" = "Standard Identität:";
"Manage identities..." = "Identitäten verwalten...";
+"Signature:" = "Unterschrift:";
/* password */
"New password:" = "Neues Passwort:";
--- /dev/null
+/* 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";
@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 */
@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
@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 */
@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
"Switch to week view" = "Switch to week view";
"Switch to month view" = "Switch to month view";
+/* Tabs */
+"Date" = "Date";
+"Calendars" = "Calendars";
+
/* Day */
"Sunday" = "Sunday";
/* Menu */
-"Calendars" = "Calendars";
"Calendar" = "Calendar";
"Contacts" = "Contacts";
"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";
"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";
/* Menu */
-"Calendars" = "Agendas";
"Calendar" = "Agenda";
"Contacts" = "Contacts";
SchedulerUI_PRINCIPAL_CLASS = SchedulerUIProduct
-SchedulerUI_LANGUAGES = English French German Italian
+SchedulerUI_LANGUAGES = Dutch English French German Italian Spanish
SchedulerUI_OBJC_FILES = \
SchedulerUIProduct.m \
"Friday" = "Freitag";
"Saturday" = "Samstag";
+/* Tabs */
+"Date" = "Datum";
+"Calendars" = "Kalenderliste";
+
"Sun" = "So";
"Mon" = "Mo";
"Tue" = "Di";
/* Menu */
-"Calendars" = "Kalenderliste";
"Calendar" = "Kalender";
"Contacts" = "Kontakte";
"Compose E-Mail to Undecided Attendees" = "E-Mail an unentschlossene Teilnehmer erstellen";
/* Folders */
-"Personal calendar" = "Persönlicher Kalendar";
+"Personal calendar" = "Persönlicher Kalender";
/* Misc */
/* 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";
"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";
"Switch to week view" = "Settimana";
"Switch to month view" = "Mese";
+/* Tabs */
+"Date" = "Data";
+"Calendars" = "Calendari";
+
/* Day */
"Sunday" = "Domenica";
/* Menu */
-"Calendars" = "Calendari";
"Calendar" = "Calendario";
"Contacts" = "Contatti";
--- /dev/null
+/* 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";
# 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
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
--- /dev/null
+<?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>
all ::
install ::
- mkdir -p ${SOGO_WEBSERVERRESOURCESDIR}
- cp $(WEBSERVER_RESOURCE_FILES) ${SOGO_WEBSERVERRESOURCESDIR}
+ @mkdir -p ${SOGO_WEBSERVERRESOURCESDIR}
+ @cp $(WEBSERVER_RESOURCE_FILES) ${SOGO_WEBSERVERRESOURCESDIR}
clean ::
cLength = "" + content.length;
http.setRequestHeader("Content-Length", "" + cLength);
}
- http.send(content);
+ http.send(content ? content : "");
}
else {
log("triggerAjaxRequest: error creating HTTP Client!");
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 */