diff --git a/ChangeLog b/ChangeLog index 0c07a32ae..9b1cc3ec5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2011-04-21 Ludovic Marcotte + + * Added the possibility of translating IMAP namespaces + and we now extract the full name the mailbox owner under + the "Other Users" namespace. + 2011-04-21 Francis Lachapelle * UI/WebServerResources/SchedulerUI.js (deleteEvent): we now show diff --git a/NEWS b/NEWS index b45259eda..1a376ae77 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,16 @@ +1.3-201004XX (1.3.6a) +--------------------- +New Features + - IMAP namespaces are now translated and the full name of the + mailbox owner is extracted under "Other Users" + - added the "authenticationFilter" parameter for SQL-based + sources to limit who can authenticate to a local SOGo instance + +Enhancements + +Bug Fixes + + 1.3-20110408 (1.3.6) -------------------- New Features diff --git a/SoObjects/Mailer/SOGoMailAccount.h b/SoObjects/Mailer/SOGoMailAccount.h index 56cb84653..cc3d331b1 100644 --- a/SoObjects/Mailer/SOGoMailAccount.h +++ b/SoObjects/Mailer/SOGoMailAccount.h @@ -57,6 +57,8 @@ typedef enum { SOGoTrashFolder *trashFolder; SOGoIMAPAclStyle imapAclStyle; NSMutableArray *identities; + NSString *otherUsersFolderName; + NSString *sharedFoldersName; } - (SOGoIMAPAclStyle) imapAclStyle; @@ -81,6 +83,8 @@ typedef enum { - (NSString *) draftsFolderNameInContext: (id)_ctx; - (NSString *) sentFolderNameInContext: (id)_ctx; - (NSString *) trashFolderNameInContext: (id)_ctx; +- (NSString *) otherUsersFolderNameInContext: (id)_ctx; +- (NSString *) sharedFoldersNameInContext: (id)_ctx; - (SOGoMailFolder *) inboxFolderInContext: (id)_ctx; - (SOGoDraftsFolder *) draftsFolderInContext: (id)_ctx; diff --git a/SoObjects/Mailer/SOGoMailAccount.m b/SoObjects/Mailer/SOGoMailAccount.m index 586605e2e..1e91b9c24 100644 --- a/SoObjects/Mailer/SOGoMailAccount.m +++ b/SoObjects/Mailer/SOGoMailAccount.m @@ -72,6 +72,8 @@ static NSString *sieveScriptName = @"sogo"; trashFolder = nil; imapAclStyle = undefined; identities = nil; + otherUsersFolderName = nil; + sharedFoldersName = nil; } return self; @@ -84,6 +86,8 @@ static NSString *sieveScriptName = @"sogo"; [sentFolder release]; [trashFolder release]; [identities release]; + [otherUsersFolderName release]; + [sharedFoldersName release]; [super dealloc]; } @@ -120,17 +124,33 @@ static NSString *sieveScriptName = @"sogo"; NSArray *namespace; NGImap4Client *client; + SOGoUser *user; + NSArray *accounts; + NSDictionary *account; + + user = [SOGoUser userWithLogin: [self ownerInContext: nil]]; + accounts = [user mailAccounts]; + account = [accounts objectAtIndex: [nameInContainer intValue]]; client = [[self imap4Connection] client]; namespaceDict = [client namespace]; + namespace = [namespaceDict objectForKey: @"personal"]; if (namespace) [self _appendNamespace: namespace toFolders: folders]; + namespace = [namespaceDict objectForKey: @"other users"]; if (namespace) - [self _appendNamespace: namespace toFolders: folders]; + { + [self _appendNamespace: namespace toFolders: folders]; + ASSIGN(otherUsersFolderName, [folders lastObject]); + } + namespace = [namespaceDict objectForKey: @"shared"]; if (namespace) - [self _appendNamespace: namespace toFolders: folders]; + { + [self _appendNamespace: namespace toFolders: folders]; + ASSIGN(sharedFoldersName, [folders lastObject]); + } } - (NSArray *) _namespacesWithKey: (NSString *) nsKey @@ -788,6 +808,16 @@ static NSString *sieveScriptName = @"sogo"; return [self _userFolderNameWithPurpose: @"Trash"]; } +- (NSString *) otherUsersFolderNameInContext: (id)_ctx +{ + return otherUsersFolderName; +} + +- (NSString *) sharedFoldersNameInContext: (id)_ctx +{ + return sharedFoldersName; +} + - (id) folderWithTraversal: (NSString *) traversal andClassName: (NSString *) className { diff --git a/SoObjects/SOGo/SOGoUserSettings.m b/SoObjects/SOGo/SOGoUserSettings.m index 701009e17..74387cdb1 100644 --- a/SoObjects/SOGo/SOGoUserSettings.m +++ b/SoObjects/SOGo/SOGoUserSettings.m @@ -1,6 +1,6 @@ /* SOGoUserSettings.m - this file is part of SOGo * - * Copyright (C) 2009 Inverse inc. + * Copyright (C) 2009-2010 Inverse inc. * * Author: Wolfgang Sourdeau * diff --git a/UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings b/UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings index b225c75cd..460bb64b7 100644 --- a/UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings +++ b/UI/MailerUI/BrazilianPortuguese.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Entrada"; "DraftsFolderName" = "Rascunhos"; "SieveFolderName" = "Filtros"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Pastas"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/MailerUI/Catalan.lproj/Localizable.strings b/UI/MailerUI/Catalan.lproj/Localizable.strings index a6fd89780..062aba3bd 100644 --- a/UI/MailerUI/Catalan.lproj/Localizable.strings +++ b/UI/MailerUI/Catalan.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Safata d'entrada"; "DraftsFolderName" = "Esborranys"; "SieveFolderName" = "Filtres"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Carpetes"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/MailerUI/Czech.lproj/Localizable.strings b/UI/MailerUI/Czech.lproj/Localizable.strings index e50b20eea..301c74541 100644 --- a/UI/MailerUI/Czech.lproj/Localizable.strings +++ b/UI/MailerUI/Czech.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Doručená pošta"; "DraftsFolderName" = "Koncepty"; "SieveFolderName" = "Filtry"; +"OtherUsersFolderName" = "Ostatní uživatelé"; +"SharedFoldersName" = "Sdílené složky"; "Folders" = "Složky"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/MailerUI/Dutch.lproj/Localizable.strings b/UI/MailerUI/Dutch.lproj/Localizable.strings index 18f6fedea..0187b0854 100644 --- a/UI/MailerUI/Dutch.lproj/Localizable.strings +++ b/UI/MailerUI/Dutch.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Postvak IN"; "DraftsFolderName" = "Concepten"; "SieveFolderName" = "Berichtregel"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Mappen"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/MailerUI/English.lproj/Localizable.strings b/UI/MailerUI/English.lproj/Localizable.strings index aafc40dd7..3333f6765 100644 --- a/UI/MailerUI/English.lproj/Localizable.strings +++ b/UI/MailerUI/English.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Inbox"; "DraftsFolderName" = "Drafts"; "SieveFolderName" = "Filters"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Folders"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/MailerUI/French.lproj/Localizable.strings b/UI/MailerUI/French.lproj/Localizable.strings index bec89ea95..aec2c38b5 100644 --- a/UI/MailerUI/French.lproj/Localizable.strings +++ b/UI/MailerUI/French.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Courrier entrant"; "DraftsFolderName" = "Brouillons"; "SieveFolderName" = "Filtres"; +"OtherUsersFolderName" = "Autres utilisateurs"; +"SharedFoldersName" = "Dossiers partagés"; "Folders" = "Dossiers"; /* title line */ /* MailMoveToPopUp */ diff --git a/UI/MailerUI/German.lproj/Localizable.strings b/UI/MailerUI/German.lproj/Localizable.strings index 14e60b3e5..c155a1994 100644 --- a/UI/MailerUI/German.lproj/Localizable.strings +++ b/UI/MailerUI/German.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Posteingang"; "DraftsFolderName" = "Entwürfe"; "SieveFolderName" = "Filter"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Ordner"; /* title line */ /* MailMoveToPopUp */ diff --git a/UI/MailerUI/Hungarian.lproj/Localizable.strings b/UI/MailerUI/Hungarian.lproj/Localizable.strings index adaf96dae..8d5b1176b 100644 --- a/UI/MailerUI/Hungarian.lproj/Localizable.strings +++ b/UI/MailerUI/Hungarian.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Beérkezett üzenetek"; "DraftsFolderName" = "Piszkozatok"; "SieveFolderName" = "Szűrők"; +"OtherUsersFolderName" = "Egyéb felhasználók"; +"SharedFoldersName" = "Megosztott mappák"; "Folders" = "Mappák"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/MailerUI/Italian.lproj/Localizable.strings b/UI/MailerUI/Italian.lproj/Localizable.strings index 435335ea5..12c198e58 100644 --- a/UI/MailerUI/Italian.lproj/Localizable.strings +++ b/UI/MailerUI/Italian.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Posta in arrivo"; "DraftsFolderName" = "Bozze"; "SieveFolderName" = "Filtri"; +"OtherUsersFolderName" = "Altri Utenti"; +"SharedFoldersName" = "Cartelle Condivise"; "Folders" = "Cartelle"; /* title line */ /* MailMoveToPopUp */ diff --git a/UI/MailerUI/Norwegian.lproj/Localizable.strings b/UI/MailerUI/Norwegian.lproj/Localizable.strings index 76617e181..0e9eef368 100644 --- a/UI/MailerUI/Norwegian.lproj/Localizable.strings +++ b/UI/MailerUI/Norwegian.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Innboks"; "DraftsFolderName" = "Kladder"; "SieveFolderName" = "Filter"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Mapper"; /* title line */ /* MailMoveToPopUp */ diff --git a/UI/MailerUI/Polish.lproj/Localizable.strings b/UI/MailerUI/Polish.lproj/Localizable.strings index 30b1683e1..fadde0062 100644 --- a/UI/MailerUI/Polish.lproj/Localizable.strings +++ b/UI/MailerUI/Polish.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Odebrane"; "DraftsFolderName" = "Szkice"; "SieveFolderName" = "Filtry"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Foldery"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/MailerUI/Russian.lproj/Localizable.strings b/UI/MailerUI/Russian.lproj/Localizable.strings index 42e573e51..e9c8705f5 100644 --- a/UI/MailerUI/Russian.lproj/Localizable.strings +++ b/UI/MailerUI/Russian.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Входящие"; "DraftsFolderName" = "Черновики"; "SieveFolderName" = "Папки"; +"OtherUsersFolderName" = "Другие пользователи"; +"SharedFoldersName" = "Общие папки"; "Folders" = "Папки"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/MailerUI/Spanish.lproj/Localizable.strings b/UI/MailerUI/Spanish.lproj/Localizable.strings index c3a81cfcf..3ed7ee759 100644 --- a/UI/MailerUI/Spanish.lproj/Localizable.strings +++ b/UI/MailerUI/Spanish.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Bandeja de entrada"; "DraftsFolderName" = "Borradores"; "SieveFolderName" = "Filtros"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Carpetas"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "No se puede enviar el mensaje: (smtp) todos los destinatarios han sido descartados"; "cannot send message (smtp) - recipients discarded:" = "No se puede enviar el mensaje: (smtp) destinatarios descartados:"; -"cannot send message: (smtp) error when connecting" = "No se puede enviar el mensaje: (smtp) error de conexión"; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "No se puede enviar el mensaje: (smtp) error de conexión"; diff --git a/UI/MailerUI/Swedish.lproj/Localizable.strings b/UI/MailerUI/Swedish.lproj/Localizable.strings index 4137cd8ba..7ac70600d 100644 --- a/UI/MailerUI/Swedish.lproj/Localizable.strings +++ b/UI/MailerUI/Swedish.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Inkorgen"; "DraftsFolderName" = "Utkast"; "SieveFolderName" = "Filter"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Mappar"; /* title line */ /* MailMoveToPopUp */ diff --git a/UI/MailerUI/UIxMailAccountActions.h b/UI/MailerUI/UIxMailAccountActions.h index 9e98ae5fb..08874fcf3 100644 --- a/UI/MailerUI/UIxMailAccountActions.h +++ b/UI/MailerUI/UIxMailAccountActions.h @@ -1,6 +1,6 @@ /* UIxMailAccountActions.h - this file is part of SOGo * - * Copyright (C) 2007 Inverse inc. + * Copyright (C) 2007-2011 Inverse inc. * * Author: Wolfgang Sourdeau * @@ -33,6 +33,8 @@ NSString *draftsFolderName; NSString *sentFolderName; NSString *trashFolderName; + NSString *otherUsersFolderName; + NSString *sharedFoldersName; } - (WOResponse *) listMailboxesAction; diff --git a/UI/MailerUI/UIxMailAccountActions.m b/UI/MailerUI/UIxMailAccountActions.m index f8d3f582f..725302e3d 100644 --- a/UI/MailerUI/UIxMailAccountActions.m +++ b/UI/MailerUI/UIxMailAccountActions.m @@ -1,6 +1,6 @@ /* UIxMailAccountActions.m - this file is part of SOGo * - * Copyright (C) 2007, 2011 Inverse inc. + * Copyright (C) 2007-2011 Inverse inc. * * Author: Wolfgang Sourdeau * @@ -40,6 +40,7 @@ #import #import #import +#import #import "../Common/WODirectAction+SOGo.h" @@ -55,6 +56,8 @@ draftsFolderName = nil; sentFolderName = nil; trashFolderName = nil; + otherUsersFolderName = nil; + sharedFoldersName = nil; } return self; @@ -66,6 +69,8 @@ [draftsFolderName release]; [sentFolderName release]; [trashFolderName release]; + [otherUsersFolderName release]; + [sharedFoldersName release]; [super dealloc]; } @@ -83,11 +88,15 @@ [co draftsFolderNameInContext: context], [co sentFolderNameInContext: context], [co trashFolderNameInContext: context], + [co otherUsersFolderNameInContext: context], + [co sharedFoldersNameInContext: context], nil] stringsWithFormat: @"/%@"]; - ASSIGN (inboxFolderName, [specialFolders objectAtIndex: 0]); - ASSIGN (draftsFolderName, [specialFolders objectAtIndex: 1]); - ASSIGN (sentFolderName, [specialFolders objectAtIndex: 2]); - ASSIGN (trashFolderName, [specialFolders objectAtIndex: 3]); + ASSIGN(inboxFolderName, [specialFolders objectAtIndex: 0]); + ASSIGN(draftsFolderName, [specialFolders objectAtIndex: 1]); + ASSIGN(sentFolderName, [specialFolders objectAtIndex: 2]); + ASSIGN(trashFolderName, [specialFolders objectAtIndex: 3]); + ASSIGN(otherUsersFolderName, [specialFolders objectAtIndex: 4]); + ASSIGN(sharedFoldersName, [specialFolders objectAtIndex: 5]); } if ([folderName isEqualToString: inboxFolderName]) @@ -106,17 +115,45 @@ - (NSArray *) _jsonFolders: (NSEnumerator *) rawFolders { - NSMutableArray *folders; - NSString *currentFolder; + NSString *currentFolder, *currentDisplayName, *currentFolderType, *login; + NSMutableArray *pathComponents; + SOGoUserManager *userManager; NSDictionary *folderData; + NSMutableArray *folders; folders = [NSMutableArray array]; while ((currentFolder = [rawFolders nextObject])) { + currentFolderType = [self _folderType: currentFolder]; + + // We translate the "Other Users" and "Shared Folders" namespaces. + // While we're at it, we also translate the user's mailbox names + // to the full name of the person. + if ([currentFolder hasPrefix: otherUsersFolderName]) + { + // We have a string like /Other Users/lmarcotte/... + pathComponents = [NSMutableArray arrayWithArray: [currentFolder pathComponents]]; + login = [pathComponents objectAtIndex: 2]; + userManager = [SOGoUserManager sharedUserManager]; + [pathComponents removeObjectsInRange: NSMakeRange(0,1)]; + + currentDisplayName = [NSString stringWithFormat: @"/%@/%@/%@", + [self labelForKey: @"OtherUsersFolderName"], + [userManager getCNForUID: login], + [pathComponents componentsJoinedByString: @"/"]]; + + } + else if ([currentFolder hasPrefix: sharedFoldersName]) + currentDisplayName = [NSString stringWithFormat: @"/%@%@", [self labelForKey: @"SharedFoldersName"], + [currentFolder substringFromIndex: [sharedFoldersName length]]]; + else + currentDisplayName = currentFolder; + folderData = [NSDictionary dictionaryWithObjectsAndKeys: currentFolder, @"path", - [self _folderType: currentFolder], @"type", - nil]; + currentFolderType, @"type", + currentDisplayName, @"displayName", + nil]; [folders addObject: folderData]; } diff --git a/UI/MailerUI/UIxMailMainFrame.m b/UI/MailerUI/UIxMailMainFrame.m index 6fb38d5ef..302404db8 100644 --- a/UI/MailerUI/UIxMailMainFrame.m +++ b/UI/MailerUI/UIxMailMainFrame.m @@ -1,5 +1,5 @@ /* - Copyright (C) 2007-2010 Inverse inc. + Copyright (C) 2007-2011 Inverse inc. Copyright (C) 2004-2005 SKYRIX Software AG This file is part of SOGo. diff --git a/UI/MailerUI/Ukrainian.lproj/Localizable.strings b/UI/MailerUI/Ukrainian.lproj/Localizable.strings index f836f00a5..856b3d318 100644 --- a/UI/MailerUI/Ukrainian.lproj/Localizable.strings +++ b/UI/MailerUI/Ukrainian.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Вхідні"; "DraftsFolderName" = "Чернетки"; "SieveFolderName" = "Теки"; +"OtherUsersFolderName" = "Інші користувачі"; +"SharedFoldersName" = "Спільні теки"; "Folders" = "Всі теки"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Помилка під час відправлення повідомлення: некоректні адреси всіх отримувачів."; "cannot send message (smtp) - recipients discarded:" = "Помила під час відправлення повідомлення: такі адреси некоректні:"; -"cannot send message: (smtp) error when connecting" = "Помилка під час відправлення повідомлення: SMTP-сервер не відповідає."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Помилка під час відправлення повідомлення: SMTP-сервер не відповідає."; diff --git a/UI/MailerUI/Welsh.lproj/Localizable.strings b/UI/MailerUI/Welsh.lproj/Localizable.strings index 1e895b250..c42752a34 100644 --- a/UI/MailerUI/Welsh.lproj/Localizable.strings +++ b/UI/MailerUI/Welsh.lproj/Localizable.strings @@ -165,6 +165,8 @@ "InboxFolderName" = "Newydd"; "DraftsFolderName" = "Draffts"; "SieveFolderName" = "Ffilteri"; +"OtherUsersFolderName" = "Other Users"; +"SharedFoldersName" = "Shared Folders"; "Folders" = "Ffolderi"; /* title line */ /* MailMoveToPopUp */ @@ -286,4 +288,4 @@ /* Message sending */ "cannot send message: (smtp) all recipients discarded" = "Cannot send message: all recipients are invalid."; "cannot send message (smtp) - recipients discarded:" = "Cannot send message. The following addresses are invalid:"; -"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; \ No newline at end of file +"cannot send message: (smtp) error when connecting" = "Cannot send message: error when connecting to the SMTP server."; diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index 9045a3877..711bf8ff2 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -2136,11 +2136,13 @@ function buildMailboxes(accountIdx, encoded) { for (var i = 0; i < mailboxes.length; i++) { var currentNode = account; var names = mailboxes[i].path.split("/"); + var displayNames = mailboxes[i].displayName.split("/"); + for (var j = 1; j < (names.length - 1); j++) { var name = names[j]; var node = currentNode.findMailboxByName(name); if (!node) { - node = new Mailbox("additional", name); + node = new Mailbox("additional", name, 0, displayNames[j]); currentNode.addMailbox(node); } currentNode = node; @@ -2151,9 +2153,9 @@ function buildMailboxes(accountIdx, encoded) { leaf.type = mailboxes[i].type; else { if (mailboxes[i].type == 'inbox') - leaf = new Mailbox(mailboxes[i].type, basename, unseen); + leaf = new Mailbox(mailboxes[i].type, basename, unseen, displayNames[names.length-1]); else - leaf = new Mailbox(mailboxes[i].type, basename); + leaf = new Mailbox(mailboxes[i].type, basename, 0, displayNames[names.length-1]); currentNode.addMailbox(leaf); } }