diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/DebugOptions.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/DebugOptions.cs index 25bfafb..d7c5109 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/DebugOptions.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/DebugOptions.cs @@ -234,7 +234,6 @@ namespace Acacia return result; } } - } // General diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/FeatureSharedFolders.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/FeatureSharedFolders.cs index 1191a4b..59e573d 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/FeatureSharedFolders.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/FeatureSharedFolders.cs @@ -171,20 +171,28 @@ namespace Acacia.Features.SharedFolders { Logger.Instance.Debug(this, "Starting sync for account {0}", account); - // Fetch the current shares - ICollection shares = manager.GetCurrentShares(null); - Logger.Instance.Trace(this, "AdditionalFolders_Sync: {0}", shares.Count); + if (account.IsShare) + { + Logger.Instance.Debug(this, "Account {0} is a share", account); + manager.UpdateSharedStore(); + } + else + { + // Fetch the current shares + ICollection shares = manager.GetCurrentShares(null); + Logger.Instance.Trace(this, "AdditionalFolders_Sync: {0}", shares.Count); - // Convert to dictionary - Dictionary dict = shares.ToDictionary(x => x.SyncId); - Logger.Instance.Trace(this, "AdditionalFolders_Sync2: {0}", shares.Count); + // Convert to dictionary + Dictionary dict = shares.ToDictionary(x => x.SyncId); + Logger.Instance.Trace(this, "AdditionalFolders_Sync2: {0}", shares.Count); - // Store any send-as properties - FeatureSendAs sendAs = ThisAddIn.Instance.GetFeature(); - sendAs?.UpdateSendAsAddresses(account, shares); + // Store any send-as properties + FeatureSendAs sendAs = ThisAddIn.Instance.GetFeature(); + sendAs?.UpdateSendAsAddresses(account, shares); - // Store with the account - account.SetFeatureData(this, KEY_SHARES, dict); + // Store with the account + account.SetFeatureData(this, KEY_SHARES, dict); + } } } @@ -226,10 +234,10 @@ namespace Acacia.Features.SharedFolders return share; } - public static bool IsSharedFolder(IFolder folder) + public static bool IsSharedOrImpersonatedFolder(IFolder folder) { string id = (string)folder.GetProperty(OutlookConstants.PR_ZPUSH_SYNC_ID); - return id?.StartsWith("S") == true; + return id?.StartsWith("S") == true || id?.StartsWith("I") == true; } #endregion @@ -316,7 +324,7 @@ namespace Acacia.Features.SharedFolders // Check if in a shared folder using (IFolder parent = item.Parent) { - if (parent == null || !IsSharedFolder(parent)) + if (parent == null || !IsSharedOrImpersonatedFolder(parent)) { Logger.Instance.TraceExtra(this, "Private appointment: suppress: not in a shared folder"); return; diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/RemindersQuery.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/RemindersQuery.cs index f6d4966..22a81c5 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/RemindersQuery.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/RemindersQuery.cs @@ -10,16 +10,14 @@ using System.Threading.Tasks; namespace Acacia.Features.SharedFolders { - public class RemindersQuery : DisposableWrapper, LogContext + public abstract class RemindersQuery : DisposableWrapper, LogContext { - private static readonly SearchQuery.PropertyIdentifier PROP_FOLDER = new SearchQuery.PropertyIdentifier(PropTag.FromInt(0x6B20001F)); + protected static readonly SearchQuery.PropertyIdentifier PROP_FOLDER = new SearchQuery.PropertyIdentifier(PropTag.FromInt(0x6B20001F)); private readonly FeatureSharedFolders _feature; private readonly IFolder _folder; - private SearchQuery _queryRoot; - private SearchQuery.Or _queryCustomShared; - private SearchQuery.Or _queryCustomConfigured; - private bool _queryCustomModified; + protected SearchQuery _queryRoot; + protected bool _queryCustomModified; public RemindersQuery(FeatureSharedFolders feature, IStore store) { @@ -27,10 +25,68 @@ namespace Acacia.Features.SharedFolders this._folder = store.GetSpecialFolder(SpecialFolder.Reminders); } - public bool Open() + abstract public bool Open(); + + + public string LogContextId + { + get + { + return _feature.LogContextId; + } + } + + protected override void DoRelease() + { + _folder.Dispose(); + } + + public void Commit() + { + if (_queryCustomModified) + { + FolderQuery = _queryRoot; + _queryCustomModified = false; + } + } + + protected SearchQuery FolderQuery + { + get + { + return _folder?.SearchCriteria; + } + set + { + if (!_feature.RemindersKeepRunning) + _folder.SearchRunning = false; + + _folder.SearchCriteria = value; + + if (!_feature.RemindersKeepRunning) + _folder.SearchRunning = true; + } + } + + } + + public class RemindersQueryFolders : RemindersQuery + { + // Custom query for shared (S) and configured (C) folders + private SearchQuery.Or _queryCustomShared; + private SearchQuery.Or _queryCustomConfigured; + + public RemindersQueryFolders(FeatureSharedFolders feature, IStore store) + : + base(feature, store) + { + } + + override public bool Open() { if (_queryCustomShared != null && _queryCustomConfigured != null) return true; + try { _queryRoot = FolderQuery; @@ -80,6 +136,7 @@ namespace Acacia.Features.SharedFolders return _queryCustomShared != null && _queryCustomConfigured != null; } + private SearchQuery.Or AddCustomQuery(SearchQuery.And root, string prefix) { SearchQuery.Or custom = new SearchQuery.Or(); @@ -96,51 +153,10 @@ namespace Acacia.Features.SharedFolders root.Operands.Add(custom); return custom; } - - public string LogContextId - { - get - { - return _feature.LogContextId; - } - } - - protected override void DoRelease() - { - _folder.Dispose(); - } - - public void Commit() - { - if (_queryCustomModified) - { - FolderQuery = _queryRoot; - _queryCustomModified = false; - } - } - - private SearchQuery FolderQuery - { - get - { - return _folder.SearchCriteria; - } - set - { - if (!_feature.RemindersKeepRunning) - _folder.SearchRunning = false; - - _folder.SearchCriteria = value; - - if (!_feature.RemindersKeepRunning) - _folder.SearchRunning = true; - } - } - public void UpdateReminders(SyncId folderId, bool wantReminders) { Logger.Instance.Trace(this, "Setting reminders for folder {0}: {1} ({2})", wantReminders, folderId, folderId?.Kind); - switch(folderId.Kind) + switch (folderId.Kind) { case SyncKind.Configured: UpdateReminders(_queryCustomConfigured, folderId, wantReminders); @@ -214,7 +230,7 @@ namespace Acacia.Features.SharedFolders } private void RemoveStaleReminders(ISet prefixes, SearchQuery.Or query) - { + { // Remove all operands for which we do not want the prefix for (int i = 0; i < query.Operands.Count;) { @@ -244,5 +260,84 @@ namespace Acacia.Features.SharedFolders return null; return folderId.ToString() + ":"; } + + } + + public class RemindersQueryStore : RemindersQuery + { + private SearchQuery.Not _queryCustomShared; + + public RemindersQueryStore(FeatureSharedFolders feature, IStore store) : base(feature, store) + { + } + + public override bool Open() + { + if (_queryCustomShared != null) + return true; + + try + { + _queryRoot = FolderQuery; + if (!(_queryRoot is SearchQuery.And)) + return false; + Logger.Instance.Debug(this, "Current query:\n{0}", _queryRoot.ToString()); + + SearchQuery.And root = (SearchQuery.And)_queryRoot; + // TODO: more strict checking of query + // Remove old shared folders query if present + if ((root.Operands.Count == 3 || root.Operands.Count == 5) && root.Operands.ElementAt(2) is SearchQuery.Or) + { + while (root.Operands.Count > 2) + { + root.Operands.RemoveAt(2); + } + } + + if (root.Operands.Count == 3) + { + _queryCustomShared = (SearchQuery.Not)root.Operands.ElementAt(2); + } + else + { + SetReminders(false); // Default to false + root.Operands.Add(_queryCustomShared); + } + + Logger.Instance.Debug(this, "Modified query:\n{0}", root.ToString()); + // Store it + FolderQuery = root; + Logger.Instance.Debug(this, "Modified query readback:\n{0}", FolderQuery); + } + catch (Exception e) + { + Logger.Instance.Error(this, "Exception in Open: {0}", e); + } + return _queryCustomShared != null; + } + + public void SetReminders(bool showReminders) + { + // We do not have support for constants in queries, so use a prefix match (which will always be I for impersonated stores) + // with an unmatchable prefix instead. + // It's wrapped in a NOT, to allow updating that operand rather than the main query + SearchQuery.PropertyContent filter = new SearchQuery.PropertyContent( + PROP_FOLDER, SearchQuery.ContentMatchOperation.Prefix, SearchQuery.ContentMatchModifiers.None, showReminders ? "X" : "I" + ); + + // Check current state + if (_queryCustomShared != null) + { + if (((SearchQuery.PropertyContent)_queryCustomShared.Operand).Content.Equals(filter.Content)) + return; + } + + // Update the filter + if (_queryCustomShared == null) + _queryCustomShared = new SearchQuery.Not(filter); + else + _queryCustomShared.Operand = filter; + _queryCustomModified = true; + } } } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.Designer.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.Designer.cs index 852ab3e..9eb9085 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.Designer.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.Designer.cs @@ -38,6 +38,8 @@ this.buttonOpenUser = new System.Windows.Forms.Button(); this.kTreeFolders = new Acacia.Controls.KTree(); this._layoutOptions = new System.Windows.Forms.TableLayoutPanel(); + this._labelWholeStoreReminders = new System.Windows.Forms.Label(); + this.checkWholeStoreReminders = new System.Windows.Forms.CheckBox(); this._labelWholeStore = new System.Windows.Forms.Label(); this.checkWholeStore = new System.Windows.Forms.CheckBox(); this.labelPermissionsValue = new System.Windows.Forms.Label(); @@ -137,21 +139,35 @@ // _layoutOptions // resources.ApplyResources(this._layoutOptions, "_layoutOptions"); + this._layoutOptions.Controls.Add(this._labelWholeStoreReminders, 0, 1); + this._layoutOptions.Controls.Add(this.checkWholeStoreReminders, 1, 1); this._layoutOptions.Controls.Add(this._labelWholeStore, 0, 0); this._layoutOptions.Controls.Add(this.checkWholeStore, 1, 0); - this._layoutOptions.Controls.Add(this.labelPermissionsValue, 1, 5); - this._layoutOptions.Controls.Add(this._labelName, 0, 1); - this._layoutOptions.Controls.Add(this.textName, 1, 1); - this._layoutOptions.Controls.Add(this._labelSendAs, 0, 2); - this._layoutOptions.Controls.Add(this.checkSendAs, 1, 2); - this._layoutOptions.Controls.Add(this._labelSendAsAddress, 0, 3); - this._layoutOptions.Controls.Add(this.textSendAsAddress, 1, 3); - this._layoutOptions.Controls.Add(this._labelReminders, 0, 4); - this._layoutOptions.Controls.Add(this.checkReminders, 1, 4); - this._layoutOptions.Controls.Add(this._labelPermissions, 0, 5); + this._layoutOptions.Controls.Add(this.labelPermissionsValue, 1, 6); + this._layoutOptions.Controls.Add(this._labelName, 0, 2); + this._layoutOptions.Controls.Add(this.textName, 1, 2); + this._layoutOptions.Controls.Add(this._labelSendAs, 0, 3); + this._layoutOptions.Controls.Add(this.checkSendAs, 1, 3); + this._layoutOptions.Controls.Add(this._labelSendAsAddress, 0, 4); + this._layoutOptions.Controls.Add(this.textSendAsAddress, 1, 4); + this._layoutOptions.Controls.Add(this._labelReminders, 0, 5); + this._layoutOptions.Controls.Add(this.checkReminders, 1, 5); + this._layoutOptions.Controls.Add(this._labelPermissions, 0, 6); this._layoutOptions.Controls.Add(this._labelRestartRequired, 2, 0); this._layoutOptions.Name = "_layoutOptions"; // + // _labelWholeStoreReminders + // + resources.ApplyResources(this._labelWholeStoreReminders, "_labelWholeStoreReminders"); + this._labelWholeStoreReminders.Name = "_labelWholeStoreReminders"; + // + // checkWholeStoreReminders + // + resources.ApplyResources(this.checkWholeStoreReminders, "checkWholeStoreReminders"); + this.checkWholeStoreReminders.Name = "checkWholeStoreReminders"; + this.checkWholeStoreReminders.UseVisualStyleBackColor = true; + this.checkWholeStoreReminders.CheckedChanged += new System.EventHandler(this.checkWholeStoreReminders_CheckedChanged); + // // _labelWholeStore // resources.ApplyResources(this._labelWholeStore, "_labelWholeStore"); @@ -288,5 +304,7 @@ private System.Windows.Forms.Label _labelRestartRequired; private System.Windows.Forms.Label _labelSendAsAddress; private System.Windows.Forms.TextBox textSendAsAddress; + private System.Windows.Forms.Label _labelWholeStoreReminders; + private System.Windows.Forms.CheckBox checkWholeStoreReminders; } } \ No newline at end of file diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.cs index 485d27d..3d46f54 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.cs @@ -194,18 +194,18 @@ namespace Acacia.Features.SharedFolders // Add public folders Dictionary publicShares; shares.TryGetValue(GABUser.USER_PUBLIC, out publicShares); - AddUserFolders(GABUser.USER_PUBLIC, false, publicShares, false); + AddUserFolders(GABUser.USER_PUBLIC, null, publicShares, false); // Add shared stores foreach (ZPushAccount shared in _account.SharedAccounts) { - AddUserFolders(new GABUser(shared.ShareUserName), true, null, false); + AddUserFolders(new GABUser(shared.ShareUserName), shared, null, false); } // Add any users for which we have shared folders foreach (KeyValuePair> entry in shares.OrderBy(x => x.Key.DisplayName)) if (GABUser.USER_PUBLIC != entry.Key) - AddUserFolders(entry.Key, false, entry.Value, false); + AddUserFolders(entry.Key, null, entry.Value, false); } finally { @@ -352,6 +352,8 @@ namespace Acacia.Features.SharedFolders ctx.AddBusy(-state.folders); + List syncAdditional = new List(); + // Handle stores if (state.stores.Count > 0) { @@ -362,7 +364,23 @@ namespace Acacia.Features.SharedFolders { if (store.WantShare) { - add.Add(store); + // Check if it must be added + if (!store.IsShared) + add.Add(store); + + // Update reminders for existing stores + if (store.ShowReminders != store.ShowRemindersInitial) + { + ZPushAccount storeAccount = store.WholeStoreAccount; + if (storeAccount != null) + { + storeAccount.ShowReminders = store.ShowReminders; + syncAdditional.Add(storeAccount); + // Update UI state + store.ShowRemindersInitial = store.ShowReminders; + WholeStoreShareChanged(store); + } + } continue; } else @@ -396,7 +414,7 @@ namespace Acacia.Features.SharedFolders IRestarter restarter = ThisAddIn.Instance.Restarter(); restarter.CloseWindows = true; foreach (StoreTreeNode node in state.stores) - restarter.OpenShare(_account, node.User); + restarter.OpenShare(_account, node.User, node.ShowReminders); restarter.Restart(); } @@ -406,6 +424,10 @@ namespace Acacia.Features.SharedFolders CheckDirty(); } + // Sync accounts + foreach (ZPushAccount account in syncAdditional) + _feature.Sync(account); + if (state.folders != 0) { // Sync account @@ -432,7 +454,7 @@ namespace Acacia.Features.SharedFolders private void buttonOpenUser_Click(object sender, EventArgs e) { - AddUserFolders(gabLookup.SelectedUser, false, null, true); + AddUserFolders(gabLookup.SelectedUser, null, null, true); } private void gabLookup_SelectedUserChanged(object source, GABLookupControl.SelectedUserEventArgs e) @@ -441,7 +463,7 @@ namespace Acacia.Features.SharedFolders if (e.IsChosen) { - AddUserFolders(e.SelectedUser, false, null, true); + AddUserFolders(e.SelectedUser, null, null, true); } } @@ -459,7 +481,7 @@ namespace Acacia.Features.SharedFolders private readonly Dictionary _userFolders = new Dictionary(); - private void AddUserFolders(GABUser user, bool wholeStore, Dictionary currentShares, bool select) + private void AddUserFolders(GABUser user, ZPushAccount wholeStore, Dictionary currentShares, bool select) { if (user == null) return; @@ -480,7 +502,8 @@ namespace Acacia.Features.SharedFolders node = new StoreTreeNode(_folders, gabLookup.GAB, user, sendAsAddress, user.DisplayName, currentShares ?? new Dictionary(), - wholeStore); + wholeStore != null, + wholeStore?.ShowReminders == true); node.DirtyChanged += UserSharesChanged; node.CheckStateChanged += WholeStoreShareChanged; _userFolders.Add(user, node); @@ -646,6 +669,22 @@ namespace Acacia.Features.SharedFolders } private readonly List _optionWholeStoreNodes = new List(); private readonly List _optionWholeStoreNodesInitial = new List(); + private CheckState? OptionWholeStoreReminders + { + get + { + if (checkWholeStoreReminders.Visible) + return checkWholeStoreReminders.CheckState; + return null; + } + + set + { + _labelWholeStoreReminders.Visible = checkWholeStoreReminders.Visible = value != null; + if (value != null) + checkWholeStoreReminders.CheckState = value.Value; + } + } private void ShowOptions(KTreeNode[] nodes) { @@ -667,6 +706,7 @@ namespace Acacia.Features.SharedFolders OptionReminders = null; OptionPermissions = null; OptionWholeStore = null; + OptionWholeStoreReminders = null; bool readOnly = false; bool haveStoreNodes = false; bool haveFolderNodes = false; @@ -676,7 +716,7 @@ namespace Acacia.Features.SharedFolders // Ignore the root nodes if (node is StoreTreeNode) { - if (!_folders.SupportsWholeStore) + if (!_folders.SupportsWholeStore || !node.HasCheckBox) continue; StoreTreeNode storeNode = (StoreTreeNode)node; @@ -749,7 +789,6 @@ namespace Acacia.Features.SharedFolders _labelRestartRequired.Visible = isShared && !wasShared; } - } else { @@ -846,6 +885,7 @@ namespace Acacia.Features.SharedFolders private void checkWholeStore_CheckedChanged(object sender, EventArgs e) { + CheckState? reminders = null; for (int i = 0; i < _optionWholeStoreNodes.Count; ++i) { StoreTreeNode node = _optionWholeStoreNodes[i]; @@ -857,8 +897,32 @@ namespace Acacia.Features.SharedFolders case CheckState.Unchecked: wholeStore = false; break; } + if (wholeStore) + { + CheckState remindersCheck = node.ShowReminders? CheckState.Checked: CheckState.Unchecked; + if (reminders == null) + reminders = remindersCheck; + else if (reminders.Value != remindersCheck) + reminders = CheckState.Indeterminate; + } node.WantShare = wholeStore; } + + OptionWholeStoreReminders = reminders; + } + private void checkWholeStoreReminders_CheckedChanged(object sender, EventArgs e) + { + for (int i = 0; i < _optionWholeStoreNodes.Count; ++i) + { + StoreTreeNode node = _optionWholeStoreNodes[i]; + switch (checkWholeStoreReminders.CheckState) + { + case CheckState.Checked: node.ShowReminders = true; break; + case CheckState.Indeterminate: node.ShowReminders = node.ShowRemindersInitial; break; + case CheckState.Unchecked: node.ShowReminders = false; break; + } + WholeStoreShareChanged(node); + } } private void checkSendAs_CheckedChanged(object sender, EventArgs e) diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.resx b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.resx index e546473..1de5b21 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.resx +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersDialog.resx @@ -145,10 +145,13 @@ - 3, 0 + 4, 0 + + + 4, 0, 4, 0 - 105, 29 + 158, 40 0 @@ -175,10 +178,13 @@ Fill - 114, 3 + 170, 5 + + + 4, 5, 4, 5 - 200, 0 + 300, 0 The user was not found @@ -187,7 +193,7 @@ Start typing name - 260, 23 + 401, 30 1 @@ -220,13 +226,16 @@ NoControl - 380, 3 + 579, 5 + + + 4, 5, 4, 5 - 8, 0, 8, 0 + 12, 0, 12, 0 - 59, 23 + 82, 30 2 @@ -250,13 +259,16 @@ Fill - 3, 3 + 4, 5 + + + 4, 5, 4, 5 1 - 442, 29 + 665, 40 0 @@ -274,16 +286,19 @@ 0 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelSelectUser" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gabLookup" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="buttonOpenUser" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0" /><Rows Styles="Percent,100,Absolute,29" /></TableLayoutSettings> + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="labelSelectUser" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="gabLookup" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="buttonOpenUser" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,Percent,100,AutoSize,0" /><Rows Styles="Percent,100,Absolute,40" /></TableLayoutSettings> Fill - 3, 38 + 4, 55 + + + 4, 5, 4, 5 - 442, 224 + 665, 313 1 @@ -309,6 +324,81 @@ 3 + + True + + + Fill + + + NoControl + + + 4, 52 + + + 4, 0, 4, 0 + + + 133, 42 + + + 13 + + + Show reminders + + + MiddleLeft + + + _labelWholeStoreReminders + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + _layoutOptions + + + 0 + + + True + + + Left + + + NoControl + + + 150, 58 + + + 9, 6, 4, 5 + + + 0, 5, 0, 5 + + + 22, 31 + + + 14 + + + checkWholeStoreReminders + + + System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + _layoutOptions + + + 1 + True @@ -319,13 +409,16 @@ MiddleLeft - 3, 0 + 4, 0 + + + 4, 0, 4, 0 - 0, 4, 0, 3 + 0, 6, 0, 5 - 90, 27 + 133, 52 5 @@ -346,7 +439,7 @@ _layoutOptions - 0 + 2 True @@ -358,16 +451,16 @@ NoControl - 102, 4 + 150, 6 - 6, 4, 3, 3 + 9, 6, 4, 5 - 0, 3, 0, 3 + 0, 5, 0, 5 - 15, 20 + 22, 41 9 @@ -382,7 +475,7 @@ _layoutOptions - 1 + 3 True @@ -394,10 +487,13 @@ NoControl - 99, 133 + 145, 250 + + + 4, 0, 4, 0 - 346, 20 + 524, 31 8 @@ -415,7 +511,7 @@ _layoutOptions - 2 + 4 True @@ -424,10 +520,13 @@ Fill - 3, 27 + 4, 94 + + + 4, 0, 4, 0 - 90, 26 + 133, 36 0 @@ -448,19 +547,19 @@ _layoutOptions - 3 + 5 Fill - 102, 30 + 150, 99 - 6, 3, 3, 3 + 9, 5, 4, 5 - 343, 20 + 519, 26 0 @@ -475,7 +574,7 @@ _layoutOptions - 4 + 6 True @@ -484,10 +583,13 @@ Fill - 3, 53 + 4, 130 + + + 4, 0, 4, 0 - 90, 27 + 133, 42 2 @@ -508,7 +610,7 @@ _layoutOptions - 5 + 7 True @@ -517,16 +619,16 @@ Left - 102, 57 + 150, 136 - 6, 4, 3, 3 + 9, 6, 4, 5 - 0, 3, 0, 3 + 0, 5, 0, 5 - 15, 20 + 22, 31 3 @@ -541,7 +643,7 @@ _layoutOptions - 6 + 8 True @@ -553,10 +655,13 @@ NoControl - 3, 80 + 4, 172 + + + 4, 0, 4, 0 - 90, 26 + 133, 36 11 @@ -577,19 +682,19 @@ _layoutOptions - 7 + 9 Fill - 102, 83 + 150, 177 - 6, 3, 3, 3 + 9, 5, 4, 5 - 343, 20 + 519, 26 12 @@ -604,7 +709,7 @@ _layoutOptions - 8 + 10 True @@ -613,10 +718,13 @@ Fill - 3, 106 + 4, 208 + + + 4, 0, 4, 0 - 90, 27 + 133, 42 6 @@ -637,7 +745,7 @@ _layoutOptions - 9 + 11 True @@ -646,16 +754,16 @@ Left - 102, 110 + 150, 214 - 6, 4, 3, 3 + 9, 6, 4, 5 - 0, 3, 0, 3 + 0, 5, 0, 5 - 15, 20 + 22, 31 7 @@ -670,7 +778,7 @@ _layoutOptions - 10 + 12 True @@ -679,13 +787,16 @@ Fill - 3, 133 + 4, 250 + + + 4, 0, 4, 0 - 0, 4, 0, 3 + 0, 6, 0, 5 - 90, 20 + 133, 31 4 @@ -706,16 +817,19 @@ _layoutOptions - 11 + 13 Fill - 123, 0 + 180, 0 + + + 4, 0, 4, 0 - 322, 27 + 489, 52 10 @@ -739,22 +853,22 @@ _layoutOptions - 12 + 14 Fill - 0, 265 + 0, 373 0, 0, 0, 0 - 6 + 7 - 448, 153 + 673, 281 2 @@ -772,7 +886,7 @@ 2 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_labelWholeStore" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkWholeStore" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelPermissionsValue" Row="5" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelName" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textName" Row="1" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelSendAs" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkSendAs" Row="2" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelSendAsAddress" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textSendAsAddress" Row="3" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelReminders" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkReminders" Row="4" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelPermissions" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="_labelRestartRequired" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0" /></TableLayoutSettings> + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_labelWholeStoreReminders" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkWholeStoreReminders" Row="1" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelWholeStore" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkWholeStore" Row="0" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="labelPermissionsValue" Row="6" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelName" Row="2" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textName" Row="2" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelSendAs" Row="3" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkSendAs" Row="3" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelSendAsAddress" Row="4" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="textSendAsAddress" Row="4" RowSpan="1" Column="1" ColumnSpan="2" /><Control Name="_labelReminders" Row="5" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="checkReminders" Row="5" RowSpan="1" Column="1" ColumnSpan="1" /><Control Name="_labelPermissions" Row="6" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="_labelRestartRequired" Row="0" RowSpan="1" Column="2" ColumnSpan="1" /></Controls><Columns Styles="AutoSize,0,AutoSize,0,Percent,100" /><Rows Styles="AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,AutoSize,0,Absolute,20" /></TableLayoutSettings> Fill @@ -780,11 +894,14 @@ 0, 0 + + 4, 5, 4, 5 + 3 - 448, 418 + 673, 654 0 @@ -808,10 +925,13 @@ Fill - 3, 3 + 4, 5 + + + 4, 5, 4, 5 - 448, 418 + 673, 654 0 @@ -841,13 +961,13 @@ Fill - 2, 425 + 3, 666 - 2, 1, 2, 1 + 3, 2, 3, 2 - 450, 35 + 675, 42 1 @@ -868,7 +988,7 @@ Fill - 6, 6 + 9, 9 0, 0, 0, 0 @@ -877,7 +997,7 @@ 2 - 454, 461 + 681, 710 0 @@ -895,22 +1015,19 @@ 0 - <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_mainBusyHider" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dialogButtons" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,AutoSize,0,Absolute,20" /></TableLayoutSettings> + <?xml version="1.0" encoding="utf-16"?><TableLayoutSettings><Controls><Control Name="_mainBusyHider" Row="0" RowSpan="1" Column="0" ColumnSpan="1" /><Control Name="dialogButtons" Row="1" RowSpan="1" Column="0" ColumnSpan="1" /></Controls><Columns Styles="Percent,100" /><Rows Styles="Percent,100,AutoSize,0,Absolute,31" /></TableLayoutSettings> True - 6, 13 + 9, 20 - 466, 473 - - - 2, 2, 2, 2 + 699, 728 - 6, 6, 6, 6 + 9, 9, 9, 9 CenterParent diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersManager.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersManager.cs index 7947813..7521814 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersManager.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/SharedFoldersManager.cs @@ -98,7 +98,7 @@ namespace Acacia.Features.SharedFolders UpdateReminders(shares); // Remove any reminders from the shares that are not wanted, they are stale - OpenQuery()?.RemoveStaleReminders( + ((RemindersQueryFolders) OpenQuery())?.RemoveStaleReminders( shares .Where(x => x.IsSynced && x.SyncType.IsAppointment() && x.FlagCalendarReminders) .Select(x => x.SyncId) @@ -126,6 +126,18 @@ namespace Acacia.Features.SharedFolders return _api.GetUserFolders(store); } + public void UpdateSharedStore() + { + Logger.Instance.Debug(this, "Updating shared store: {0}", _account); + RemindersQuery query = OpenQuery(); + if (query != null) + { + Logger.Instance.Debug(this, "Updating shared store reminders: {0}", query); + ((RemindersQueryStore)query).SetReminders(_account.ShowReminders); + query.Commit(); + } + } + #endregion #region Reminders @@ -139,7 +151,7 @@ namespace Acacia.Features.SharedFolders Logger.Instance.Debug(this, "UpdateReminders: {0}", share); if (share.IsSynced && share.SyncType.IsAppointment()) { - OpenQuery()?.UpdateReminders(share.SyncId, share.FlagCalendarReminders); + ((RemindersQueryFolders)OpenQuery())?.UpdateReminders(share.SyncId, share.FlagCalendarReminders); } } } @@ -151,7 +163,9 @@ namespace Acacia.Features.SharedFolders { if (_feature.Reminders) { - RemindersQuery query = new RemindersQuery(_feature, _account.Account.Store); + RemindersQuery query = _account.IsShare + ? (RemindersQuery)new RemindersQueryStore(_feature, _account.Account.Store) + : (RemindersQuery)new RemindersQueryFolders(_feature, _account.Account.Store); if (query.Open()) { _query = query; diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/StoreTreeNode.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/StoreTreeNode.cs index 0f6926f..f5983b9 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/StoreTreeNode.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Features/SharedFolders/StoreTreeNode.cs @@ -66,8 +66,19 @@ namespace Acacia.Features.SharedFolders } } + public bool ShowReminders + { + get; + set; + } + public bool ShowRemindersInitial + { + get; + set; + } + public StoreTreeNode(SharedFoldersManager folders, GABHandler gab, GABUser user, string sendAsAddress, string text, - Dictionary currentFolders, bool isShared) + Dictionary currentFolders, bool isShared, bool showRemindersWholeStore) : base(text) { @@ -91,7 +102,7 @@ namespace Acacia.Features.SharedFolders ChildLoader = new UserFolderLoader(this, folders, user); ChildLoader.ReloadOnCloseOpen = true; - HasCheckBox = folders.SupportsWholeStore; + HasCheckBox = folders.SupportsWholeStore && !string.IsNullOrWhiteSpace(user.EmailAddress); ApplyReadOnly(this, IsReadOnly); // TODO: better icons, better way of handling this @@ -109,6 +120,8 @@ namespace Acacia.Features.SharedFolders // Set up sharing WantShare = isShared; + ShowRemindersInitial = showRemindersWholeStore; + ShowReminders = ShowRemindersInitial; } private static void ApplyReadOnly(KTreeNode node, bool isReadOnly) @@ -148,6 +161,18 @@ namespace Acacia.Features.SharedFolders } } + public ZPushAccount WholeStoreAccount + { + get + { + if (IsShared) + { + return _account.FindSharedAccount(_user.UserName); + } + return null; + } + } + #region Share management /// @@ -289,7 +314,7 @@ namespace Acacia.Features.SharedFolders { get { - return WantShare != IsShared; + return WantShare != IsShared || ShowReminders != ShowRemindersInitial; } } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/OutlookConstants.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/OutlookConstants.cs index 5364aab..50ae04f 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/OutlookConstants.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/OutlookConstants.cs @@ -46,6 +46,8 @@ namespace Acacia public const string REG_VAL_REPLY_FORWARD_SIGNATURE = "Reply-Forward Signature"; public const string REG_VAL_CURRENT_SIGNATURE = "KOE Signature Digest"; + public const string REG_VAL_SHOW_REMINDERS = "KOE Reminders"; + public const string REG_VAL_SYNC_TIMEFRAME = "KOE SyncTimeFrame"; public const string REG_VAL_SYNC_SLIDER = "EAS SyncSlider"; public const string REG_VAL_NEXT_ACCOUNT_ID = "NextAccountID"; diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IRestarter.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IRestarter.cs index ccafb2a..df2b89d 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IRestarter.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/IRestarter.cs @@ -25,7 +25,7 @@ namespace Acacia.Stubs /// /// /// - void OpenShare(ZPushAccount account, GABUser store); + void OpenShare(ZPushAccount account, GABUser store, bool showReminders); /// /// Performs the actual restart. diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/Restarter.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/Restarter.cs index c208d76..5378420 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/Restarter.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/Stubs/OutlookWrappers/Restarter.cs @@ -15,7 +15,14 @@ namespace Acacia.Stubs.OutlookWrappers { private readonly AddInWrapper _addIn; private readonly List _resyncAccounts = new List(); - private readonly List> _shares = new List>(); + + private struct Share + { + public ZPushAccount account; + public GABUser store; + public bool showReminders; + } + private readonly List _shares = new List(); public Restarter(AddInWrapper addIn) { @@ -46,9 +53,12 @@ namespace Acacia.Stubs.OutlookWrappers _resyncAccounts.AddRange(accounts); } - public void OpenShare(ZPushAccount account, GABUser store) + public void OpenShare(ZPushAccount account, GABUser store, bool showReminders) { - _shares.Add(new KeyValuePair(account, store)); + _shares.Add(new Share() + { + account = account, store = store, showReminders = showReminders + }); } public void Restart() @@ -75,16 +85,16 @@ namespace Acacia.Stubs.OutlookWrappers if (_shares.Count > 0) { - foreach (KeyValuePair share in _shares) + foreach (Share share in _shares) { - Logger.Instance.Debug(this, "Adding KOE share: profile={0}, version={1}, accountid={2}, user={3}, email={4}", - _addIn.ProfileName, _addIn.VersionMajor, share.Key.Account.AccountId, share.Value.UserName, share.Value.EmailAddress); + Logger.Instance.Debug(this, "Adding KOE share: profile={0}, version={1}, accountid={2}, user={3}, email={4}, reminders={5}", + _addIn.ProfileName, _addIn.VersionMajor, share.account.Account.AccountId, share.store.UserName, share.store.EmailAddress, share.showReminders); // TODO: escaping commandLine += " /sharekoe " + Util.QuoteCommandLine(_addIn.ProfileName + ":" + _addIn.VersionMajor + ":" + - share.Key.Account.AccountId + ":" + - share.Value.UserName + ":" + share.Value.EmailAddress + ":" + - share.Value.EmailAddress); + share.account.Account.AccountId + ":" + + share.store.UserName + ":" + share.store.EmailAddress + ":" + + share.store.EmailAddress + ":1:" + (share.showReminders ? "1" : "0")); } } diff --git a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs index 5be9a85..5b14eff 100644 --- a/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs +++ b/src/AcaciaZPushPlugin/AcaciaZPushPlugin/ZPush/ZPushAccount.cs @@ -222,6 +222,11 @@ namespace Acacia.ZPush } } + public bool IsShare + { + get { return ShareFor != null; } + } + public string ShareUserName { get @@ -289,6 +294,19 @@ namespace Acacia.ZPush return null; } + public bool ShowReminders + { + get + { + return RegistryUtil.GetValueDword(Account.RegistryBaseKey, OutlookConstants.REG_VAL_SHOW_REMINDERS, 1) != 0; + } + + set + { + RegistryUtil.SetValueDword(Account.RegistryBaseKey, OutlookConstants.REG_VAL_SHOW_REMINDERS, value ? 1 : 0); + } + } + #endregion #region Signatures diff --git a/src/AcaciaZPushPlugin/EASAccount/EASAccount.cpp b/src/AcaciaZPushPlugin/EASAccount/EASAccount.cpp index 41072ba..f63a0d6 100644 --- a/src/AcaciaZPushPlugin/EASAccount/EASAccount.cpp +++ b/src/AcaciaZPushPlugin/EASAccount/EASAccount.cpp @@ -54,6 +54,7 @@ static const wstring R_EMAIL = L"Email"; static const wstring R_EMAIL_ORIGINAL = L"KOE Share For"; static const wstring R_PASSWORD = L"EAS Password"; static const wstring R_ONE_MONTH = L"EAS SyncSlider"; +static const wstring R_SHOW_REMINDERS = L"KOE Reminders"; struct Account { @@ -70,6 +71,7 @@ public: vector encryptedPassword; wstring dataFolder; bool syncOneMonth; + bool showReminders; private: wstring path; int initializedMAPI = 0; @@ -139,7 +141,9 @@ public: L"\tpath=%ls\n" L"\tservice=%ls\n" L"\tentryId=%ls\n" - L"\taccountId=%.8X\n", + L"\taccountId=%.8X\n" + L"\toneMonth=%d\n" + L"\treminders=%d\n", prefix, profileName.c_str(), outlookVersion.c_str(), @@ -156,7 +160,9 @@ public: path.c_str(), ToHex(&service, sizeof(service)).c_str(), ToHex(entryId).c_str(), - accountId + accountId, + syncOneMonth ? 1 : 0, + showReminders ? 1 : 0 ); } void Create() @@ -504,6 +510,9 @@ private: if (syncOneMonth) WriteAccountKey(R_ONE_MONTH, (DWORD)1); + if (!showReminders) + WriteAccountKey(R_SHOW_REMINDERS, (DWORD)0); + WriteAccountKey(L"clsid", L"{ED475415-B0D6-11D2-8C3B-00104B2A6676}"); WriteAccountKey(R_PASSWORD, &encryptedPassword[0], encryptedPassword.size()); @@ -654,9 +663,9 @@ int __cdecl wmain(int argc, wchar_t **argv) // Main try { - if (argc < 7 || argc > 8) + if (argc < 7 || argc > 9) { - fwprintf(stderr, L"EASAccount: [1 month]\n"); + fwprintf(stderr, L"EASAccount: [1 month] [reminders]\n"); exit(3); } @@ -672,6 +681,9 @@ int __cdecl wmain(int argc, wchar_t **argv) account.syncOneMonth = true; if (argc > 7) account.syncOneMonth = !wcscmp(argv[7], L"1"); + account.showReminders = true; + if (argc > 8) + account.showReminders = !wcscmp(argv[8], L"1"); try { diff --git a/translations/KOE.pot b/translations/KOE.pot index 177ed5f..7d4bf7b 100644 --- a/translations/KOE.pot +++ b/translations/KOE.pot @@ -340,6 +340,12 @@ msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\button msgid "Open" msgstr "" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" + #: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStore.Text #, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStore.Text" diff --git a/translations/de.po b/translations/de.po index 42cfe72..7fafc0f 100644 --- a/translations/de.po +++ b/translations/de.po @@ -1597,3 +1597,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2" msgid "2 weeks" msgstr "" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" + diff --git a/translations/en.po b/translations/en.po index 97436da..1891fcd 100644 --- a/translations/en.po +++ b/translations/en.po @@ -340,6 +340,12 @@ msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\button msgid "Open" msgstr "Open" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "Show reminders" + #: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStore.Text #, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStore.Text" diff --git a/translations/fr.po b/translations/fr.po index 519c7c8..a5bf77e 100644 --- a/translations/fr.po +++ b/translations/fr.po @@ -1593,3 +1593,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2" msgid "2 weeks" msgstr "" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" + diff --git a/translations/hu.po b/translations/hu.po index 082f907..cc1aa24 100644 --- a/translations/hu.po +++ b/translations/hu.po @@ -1598,3 +1598,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2" msgid "2 weeks" msgstr "" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" + diff --git a/translations/it.po b/translations/it.po index 5012119..89102dc 100644 --- a/translations/it.po +++ b/translations/it.po @@ -1560,3 +1560,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2" msgid "2 weeks" msgstr "" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" + diff --git a/translations/nb.po b/translations/nb.po index 835e12e..4088ac7 100644 --- a/translations/nb.po +++ b/translations/nb.po @@ -1348,3 +1348,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2" msgid "2 weeks" msgstr "" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" + diff --git a/translations/nl.po b/translations/nl.po index 3522baa..da7560d 100644 --- a/translations/nl.po +++ b/translations/nl.po @@ -1597,3 +1597,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2" msgid "2 weeks" msgstr "" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" + diff --git a/translations/pt.po b/translations/pt.po index a5c19ba..b865cfa 100644 --- a/translations/pt.po +++ b/translations/pt.po @@ -14,572 +14,572 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 2.4\n" -#: AcaciaZPushPlugin\Controls\KDialogButtons\buttonApply.Text -#, csharp-format +#: AcaciaZPushPlugin\Controls\KDialogButtons\buttonApply.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Controls\\KDialogButtons\\buttonApply.Text" msgid "Apply" msgstr "Aplicar" -#: AcaciaZPushPlugin\Controls\KDialogButtons\buttonCancel.Text -#, csharp-format +#: AcaciaZPushPlugin\Controls\KDialogButtons\buttonCancel.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Controls\\KDialogButtons\\buttonCancel.Text" msgid "Cancel" msgstr "Cancelar" -#: AcaciaZPushPlugin\Controls\KDialogButtons\buttonClose.Text -#, csharp-format +#: AcaciaZPushPlugin\Controls\KDialogButtons\buttonClose.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Controls\\KDialogButtons\\buttonClose.Text" msgid "Close" msgstr "Fechar" -#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\labelTitle.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\labelTitle.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\AboutDialog\\labelTitle.Text" msgid "Kopano OL Extension" msgstr "Extensão OL Kopano" -#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\labelVersionCaption.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\labelVersionCaption.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\AboutDialog\\labelVersionCaption.Text" msgid "Version" msgstr "Versão" -#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\labelRevisionCaption.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\labelRevisionCaption.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\AboutDialog\\labelRevisionCaption.Text" msgid "Revision" msgstr "Revisão" -#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\textLicense.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\textLicense.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\AboutDialog\\textLicense.Text" msgid "!!! This string is not used" msgstr "!!! Esta string não é usada" -#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\labelDateCaption.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\labelDateCaption.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\AboutDialog\\labelDateCaption.Text" msgid "Date" msgstr "Data" -#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\linkKopano.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\linkKopano.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\AboutDialog\\linkKopano.Text" msgid "https://kopano.com/" msgstr "https://kopano.com/" -#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\$this.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\AboutDialog\$this.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\AboutDialog\\$this.Text" msgid "About Kopano OL Extenion" msgstr "Acerca da Extensão OL Kopano" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnMethod.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnMethod.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnMethod.Text" msgid "Method" msgstr "Método" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnFile.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnFile.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnFile.Text" msgid "File" msgstr "Ficheiro" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnLine.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnLine.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnLine.Text" msgid "Line" msgstr "Linha" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnEvent.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnEvent.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnEvent.Text" msgid "Event" msgstr "Evento" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnCount.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnCount.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnCount.Text" msgid "Count" msgstr "Contagem" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnId.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnId.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnId.Text" msgid "Id" msgstr "Id" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnEvents.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnEvents.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnEvents.Text" msgid "Events" msgstr "Eventos" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnSubject.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnSubject.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnSubject.Text" msgid "Subject" msgstr "Assunto" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonGC.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonGC.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\buttonGC.Text" msgid "Run GC" msgstr "Executar GC" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonRefresh.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonRefresh.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\buttonRefresh.Text" msgid "Refresh" msgstr "Atualizar" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonClose.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonClose.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\buttonClose.Text" msgid "Close" msgstr "Fechar" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonLog.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonLog.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\buttonLog.Text" msgid "Log" msgstr "Log" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabProperties.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabProperties.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\_tabProperties.Text" msgid "General" msgstr "Geral" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader5.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader5.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnHeader5.Text" msgid "Id" msgstr "Id" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader6.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader6.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnHeader6.Text" msgid "Type" msgstr "Tipo" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader7.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader7.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnHeader7.Text" msgid "Subject" msgstr "Assunto" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabWrappers.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabWrappers.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\_tabWrappers.Text" msgid "Wrappers" msgstr "Wrappers" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader1.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader1.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnHeader1.Text" msgid "Type" msgstr "Tipo" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader2.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader2.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnHeader2.Text" msgid "Count" msgstr "Contagem" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabWrapperTypes.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabWrapperTypes.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\_tabWrapperTypes.Text" msgid "Wrapper types" msgstr "Tipo de wrapper" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader3.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader3.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnHeader3.Text" msgid "Type" msgstr "Tipo" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader4.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnHeader4.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnHeader4.Text" msgid "Count" msgstr "Contagem" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabWrapperLocations.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabWrapperLocations.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\_tabWrapperLocations.Text" msgid "Wrapper locations" msgstr "Localizações do Wrapper" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnProperties.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnProperties.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnProperties.Text" msgid "Properties" msgstr "Propriedades" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnItemId.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\columnItemId.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\columnItemId.Text" msgid "ItemId" msgstr "IdItem" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonCleanGC.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonCleanGC.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\buttonCleanGC.Text" msgid "Remove GC" msgstr "Remover GC" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonCopyFilter.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\buttonCopyFilter.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\buttonCopyFilter.Text" msgid "Copy filter" msgstr "Copiar filtro" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabItemEvents.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\_tabItemEvents.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\_tabItemEvents.Text" msgid "Item events" msgstr "Eventos do item" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\$this.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugDialog\$this.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugDialog\\$this.Text" msgid "Debug" msgstr "Depurar" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugSupportSettings\labelLogLevel.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugSupportSettings\labelLogLevel.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugSupportSettings\\labelLogLevel.Text" msgid "Log level:" msgstr "Nível do log:" -#: AcaciaZPushPlugin\Features\DebugSupport\DebugSupportSettings\buttonShowLog.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\DebugSupport\DebugSupportSettings\buttonShowLog.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\DebugSupport\\DebugSupportSettings\\buttonShowLog.Text" msgid "Open log file location" msgstr "Abrir localização do ficheiro de log" -#: AcaciaZPushPlugin\Features\FreeBusy\FreeBusySettings\checkGABLookup.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\FreeBusy\FreeBusySettings\checkGABLookup.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\FreeBusy\\FreeBusySettings\\checkGABLookup.Text" msgid "Look up contacts in Global Address Book" msgstr "Procurar contactos no Livro Global de Endereços" -#: AcaciaZPushPlugin\Features\FreeBusy\FreeBusySettings\labelUseAccount.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\FreeBusy\FreeBusySettings\labelUseAccount.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\FreeBusy\\FreeBusySettings\\labelUseAccount.Text" msgid "Use account: " msgstr "Usar conta: " -#: AcaciaZPushPlugin\Features\GAB\GABSettings\checkFaxNumbers.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\GAB\GABSettings\checkFaxNumbers.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\GAB\\GABSettings\\checkFaxNumbers.Text" msgid "Synchronise fax numbers" msgstr "Sincronizar números de fax" -#: AcaciaZPushPlugin\Features\GAB\GABSettings\checkSMTPGroupsAsContacts.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\GAB\GABSettings\checkSMTPGroupsAsContacts.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\GAB\\GABSettings\\checkSMTPGroupsAsContacts.Text" msgid "Synchronise groups with addresses as contacts" msgstr "Sincronizar grupos com endereços como contactos" -#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\chkEnable.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\chkEnable.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\OutOfOffice\\OutOfOfficeDialog\\chkEnable.Text" msgid "Enable out-of-office auto-responding" msgstr "Ativar a resposta automática fora do escritório" -#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\radioNoTime.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\radioNoTime.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\OutOfOffice\\OutOfOfficeDialog\\radioNoTime.Text" msgid "until further notice" msgstr "até próxima notificação" -#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\radioTime.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\radioTime.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\OutOfOffice\\OutOfOfficeDialog\\radioTime.Text" msgid "from" msgstr "de" -#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\timeFrom.CustomFormat -#, csharp-format +#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\timeFrom.CustomFormat +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\OutOfOffice\\OutOfOfficeDialog\\timeFrom.CustomFormat" msgid "HH:mm" msgstr "HH:mm" -#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\labelTill.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\labelTill.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\OutOfOffice\\OutOfOfficeDialog\\labelTill.Text" msgid "until" msgstr "até" -#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\timeTill.CustomFormat -#, csharp-format +#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\timeTill.CustomFormat +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\OutOfOffice\\OutOfOfficeDialog\\timeTill.CustomFormat" msgid "HH:mm" msgstr "HH:mm" -#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\labelBody.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\labelBody.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\OutOfOffice\\OutOfOfficeDialog\\labelBody.Text" msgid "AutoReply only once to each sender with the following text:" msgstr "Responder automaticamente para cada remetente apenas uma vez com o seguinte texto:" -#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\$this.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\OutOfOffice\OutOfOfficeDialog\$this.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\OutOfOffice\\OutOfOfficeDialog\\$this.Text" msgid "Out of Office Assistant for {0}" msgstr "Assistente Fora do Escritório {0}" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\labelSelectUser.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\labelSelectUser.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\labelSelectUser.Text" msgid "Open folders for user" msgstr "Abrir pastas para o utilizador" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\gabLookup.NotFoundText -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\gabLookup.NotFoundText +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\gabLookup.NotFoundText" msgid "The user was not found" msgstr "O utilizador não foi encontrado" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\gabLookup.Placeholder -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\gabLookup.Placeholder +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\gabLookup.Placeholder" msgid "Start typing name" msgstr "Começe a escrever o nome" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\buttonOpenUser.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\buttonOpenUser.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\buttonOpenUser.Text" msgid "Open" msgstr "Abrir" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStore.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStore.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStore.Text" msgid "Open whole store" msgstr "Abrir toda a caixa" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelName.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelName.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelName.Text" msgid "Share as" msgstr "Partilhar como" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelSendAs.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelSendAs.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelSendAs.Text" msgid "Send as owner" msgstr "Enviar como proprietário" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelSendAsAddress.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelSendAsAddress.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelSendAsAddress.Text" msgid "Send-as address" msgstr "Endereço enviar-como" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelReminders.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelReminders.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelReminders.Text" msgid "Show reminders" msgstr "Mostar lembretes" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelPermissions.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelPermissions.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelPermissions.Text" msgid "Permissions" msgstr "Permissões" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelRestartRequired.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelRestartRequired.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelRestartRequired.Text" msgid "(Requires restart)" msgstr "(Requer reiniciar)" -#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\$this.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\$this.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\$this.Text" msgid "Shared Folders - {0}" msgstr "Pastas partilhadas - {0}" -#: AcaciaZPushPlugin\Features\Signatures\SignaturesSettings\checkForceSet.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\Signatures\SignaturesSettings\checkForceSet.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\Signatures\\SignaturesSettings\\checkForceSet.Text" msgid "Override local signatures" msgstr "Substitui assinaturas locais" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelRemaining.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelRemaining.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\_labelRemaining.Text" msgid "Remaining" msgstr "Faltam" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelAccount.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelAccount.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\_labelAccount.Text" msgid "Account" msgstr "Conta" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboAccounts.Items -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboAccounts.Items +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboAccounts.Items" msgid "All Z-Push accounts" msgstr "Todas as contas Z-Push" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelProgress.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelProgress.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\_labelProgress.Text" msgid "Progress" msgstr "Progresso" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelTimeFrame.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelTimeFrame.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\_labelTimeFrame.Text" msgid "Synchronise" msgstr "Sincronizar" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboTimeFrame.Items" msgid "all" msgstr "todos" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items1 -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items1 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboTimeFrame.Items1" msgid "1 day" msgstr "1 dia" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items2 -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items2 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboTimeFrame.Items2" msgid "3 days" msgstr "3 dias" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items3 -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items3 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboTimeFrame.Items3" msgid "1 week" msgstr "1 semana" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items4 -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items4 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboTimeFrame.Items4" msgid "2 weeks" msgstr "duas semanas" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items5 -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items5 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboTimeFrame.Items5" msgid "1 month" msgstr "1 mês" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items6 -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items6 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboTimeFrame.Items6" msgid "3 months" msgstr "3 meses" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items7 -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\comboTimeFrame.Items7 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\comboTimeFrame.Items7" msgid "6 months" msgstr "6 meses" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonApplyTimeFrame.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonApplyTimeFrame.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonApplyTimeFrame.Text" msgid "Apply" msgstr "Aplicar" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonResetTimeFrame.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonResetTimeFrame.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonResetTimeFrame.Text" msgid "Reset" msgstr "Reset" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelResync.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\_labelResync.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\_labelResync.Text" msgid "Resynchronise" msgstr "Ressincronizar" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonGAB.Hint -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonGAB.Hint +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonGAB.Hint" msgid "Resynchronise the global address book" msgstr "Ressincronizar o livro global de endereços" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonGAB.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonGAB.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonGAB.Text" msgid "Global Address Book" msgstr "Livro Global de Endereços" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonSignatures.Hint -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonSignatures.Hint +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonSignatures.Hint" msgid "Resynchronise all signatures from the server" msgstr "Ressincronizar todas as assinaturas do servidor" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonSignatures.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonSignatures.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonSignatures.Text" msgid "Signatures" msgstr "Assinaturas" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonServerData.Hint -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonServerData.Hint +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonServerData.Hint" msgid "Resynchronise all server data on shared folders and out-of-office" msgstr "Ressincronizar todos os dados nas pastas partilhadas e fora do escritório" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonServerData.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonServerData.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonServerData.Text" msgid "Server Data" msgstr "Dados do servidor" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonFullResync.Hint -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonFullResync.Hint +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonFullResync.Hint" msgid "Fully resynchronise the Z-Push store. This requires a restart and may take some time." msgstr "Ressincronizar na totalidade a caixa Z-Push. Isto requer reiniciar e pode demorar algum tempo." -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonFullResync.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\buttonFullResync.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\buttonFullResync.Text" msgid "Full Resynchronisation" msgstr "Ressincronização total" -#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\$this.Text -#, csharp-format +#: AcaciaZPushPlugin\Features\SyncState\SyncStateDialog\$this.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\Features\\SyncState\\SyncStateDialog\\$this.Text" msgid "Synchronisation State" msgstr "Estado da sincronização" -#: AcaciaZPushPlugin\Properties\Resources\OOFGet_Failed -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFGet_Failed +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFGet_Failed" msgid "Unable to retrieve Out of Office settings. You can still enable or disable Out of Office, but applying the settings might fail." msgstr "Não foi possível obter as definições de Fora do Escritório. Mesmo assim pode ativar ou desativar o Fora do Escritório, mas poderá falhar ao aplicar as definições." -#: AcaciaZPushPlugin\Properties\Resources\OOFGet_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFGet_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFGet_Label" msgid "Retrieving current Out of Office settings" msgstr "A obter as definições atuais de Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\OOFGet_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFGet_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFGet_Title" msgid "Out of Office Assistant" msgstr "Assistente Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_DifferentState -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_DifferentState +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_DifferentState" msgid "" "Out of office has been enabled, but the server could not handle your full request.\n" @@ -588,421 +588,421 @@ msgstr "" "Fora do Escritório foi ativado, mas o servidor não conseguiu processar o pedido na totalidade.\n" "\n" -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Disabled -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Disabled +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_Disabled" msgid "Out of Office has been disabled." msgstr "Fora do Escritório foi desativado." -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_DisableFailed -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_DisableFailed +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_DisableFailed" msgid "Unable to disable Out of Office." msgstr "Não foi possível desativar o Fora do Escritório." -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Enabled -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Enabled +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_Enabled" msgid "Out of Office has been enabled until further notice." msgstr "Fora do Escritório foi ativado até nova notificação." -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_EnabledTimeBased -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_EnabledTimeBased +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_EnabledTimeBased" msgid "Out of Office has been enabled from {0} till {1}." msgstr "Fora do Escritório foi ativado de {0} até {1}." -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_EnableFailed -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_EnableFailed +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_EnableFailed" msgid "Unable to enable Out of Office." msgstr "Não foi possível ativar Fora do Escritório." -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Failed -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Failed +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_Failed" msgid "Unable to apply Out of Office settings" msgstr "Não foi possível aplicar as definições de Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_Label" msgid "Applying Out of Office settings" msgstr "A aplicar as definições de Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFSet_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFSet_Title" msgid "Out of Office Assistant" msgstr "Assistente Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Debug_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Debug_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_Debug_Label" msgid "Debug" msgstr "Depurar" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Debug_Screentip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Debug_Screentip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_Debug_Screentip" msgid "Debug dialog" msgstr "Caixa de diálogo de depuração" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Debug_Supertip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Debug_Supertip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_Debug_Supertip" msgid "Opens the debug dialog, which shows information on the Kopano Outlook Extension." msgstr "Abre caixa de diálogo de depuração, que mostra informações sobre a extensão Kopano Outlook." -#. The group label for the ribbon -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_GroupMain_Label -#, csharp-format +#. The group label for the ribbon +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_GroupMain_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_GroupMain_Label" msgid "Kopano" msgstr "Kopano" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_OOF_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_OOF_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_OOF_Label" msgid "Out-of-Office" msgstr "Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_OOF_Screentip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_OOF_Screentip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_OOF_Screentip" msgid "Change Out-of-Office settings" msgstr "Alterar definições Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_OOF_Supertip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_OOF_Supertip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_OOF_Supertip" msgid "Opens a dialog which allows Out-of-Office settings to be viewed or modified." msgstr "Abre uma caixa de diálogo que permite ver ou modificar as definições de Fora do Escritório." -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Settings_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Settings_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_Settings_Label" msgid "Settings" msgstr "Definições" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Settings_Screentip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Settings_Screentip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_Settings_Screentip" msgid "Settings dialog" msgstr "Caixa de diálogo das definições" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Settings_Supertip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Settings_Supertip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_Settings_Supertip" msgid "Opens the settings dialog, which allows configuration of the plugin and access to support functions." msgstr "Abre a caixa de diálogo das definições que permite configurar o plugin e aceder a funções de suporte." -#: AcaciaZPushPlugin\Properties\Resources\OOFStartup_Message -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFStartup_Message +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFStartup_Message" msgid "Out of Office is currently enabled on account '{0}'. Would you like to change the settings?" msgstr "Fora do Escritório está atualmente ativado para a conta '{0}'. Deseja alterar as definições?" -#: AcaciaZPushPlugin\Properties\Resources\OOFStartup_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOFStartup_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOFStartup_Title" msgid "Out of Office Assistant" msgstr "Assistente Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\GABEvent_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\GABEvent_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\GABEvent_Body" msgid "Modifications to the Global Address Book are not allowed. Please contact your administrator if you think changes are required." msgstr "" "Modificações ao Livro Global de Endereços não são permitidas. Por favor " "contacte o seu administrador se achar que são necessárias alterações." -#: AcaciaZPushPlugin\Properties\Resources\GABEvent_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\GABEvent_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\GABEvent_Title" msgid "Global Address Book" msgstr "Livro Global de Endereços" -#: AcaciaZPushPlugin\Properties\Resources\GAB_FolderFormat -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\GAB_FolderFormat +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\GAB_FolderFormat" msgid "Address Book for {0}" msgstr "Livro de Endereços para {0}" -#: AcaciaZPushPlugin\Properties\Resources\LocalStore_DisplayName -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\LocalStore_DisplayName +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\LocalStore_DisplayName" msgid "Kopano Folders" msgstr "Pastas Kopano" -#: AcaciaZPushPlugin\Properties\Resources\Feature_DebugSupport -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Feature_DebugSupport +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Feature_DebugSupport" msgid "Support" msgstr "Suporte" -#: AcaciaZPushPlugin\Properties\Resources\Feature_FreeBusy -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Feature_FreeBusy +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Feature_FreeBusy" msgid "Free/Busy" msgstr "Livre/Ocupado" -#: AcaciaZPushPlugin\Properties\Resources\Feature_GAB -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Feature_GAB +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Feature_GAB" msgid "Global Address Book" msgstr "Livro Global de Endereços" -#: AcaciaZPushPlugin\Properties\Resources\Feature_Notes -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Feature_Notes +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Feature_Notes" msgid "Notes" msgstr "Notas" -#: AcaciaZPushPlugin\Properties\Resources\Feature_OutOfOffice -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Feature_OutOfOffice +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Feature_OutOfOffice" msgid "Out of office" msgstr "Fora do Escritório" -#: AcaciaZPushPlugin\Properties\Resources\Feature_ReplyFlags -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Feature_ReplyFlags +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Feature_ReplyFlags" msgid "Reply flags" msgstr "Bandeiras de resposta" -#: AcaciaZPushPlugin\Properties\Resources\ThisAddIn_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\ThisAddIn_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\ThisAddIn_Title" msgid "Kopano" msgstr "Kopano" -#: AcaciaZPushPlugin\Properties\Resources\SSLFailed_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SSLFailed_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SSLFailed_Body" msgid "There is an error with the security certificate for server {0}. Do you want to allow the connection anyway?" msgstr "Existe um erro com o certificado de segurança para o servidor {0}. Deseja permitir a ligação na mesma?" -#: AcaciaZPushPlugin\Properties\Resources\SSLFailed_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SSLFailed_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SSLFailed_Title" msgid "Certificate error" msgstr "Erro de certificado" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_Title" msgid "Kopano" msgstr "Kopano" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Adding_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Adding_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Adding_Label" msgid "Opening shared folder" msgstr "A abrir pasta partilhada" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Adding_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Adding_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Adding_Title" msgid "Shared folders" msgstr "Pastas partilhadas" -#. {0} will be replaced with the folder name -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Closing_Confirm -#, csharp-format +#. {0} will be replaced with the folder name +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Closing_Confirm +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Closing_Confirm" msgid "Close shared folder {0}?" msgstr "Fechar a pasta partilhada {0}?" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Closing_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Closing_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Closing_Label" msgid "Closing shared folder" msgstr "A fechar pasta partilhada" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Closing_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Closing_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Closing_Title" msgid "Shared folders" msgstr "Pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Adding_Failure -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Adding_Failure +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Adding_Failure" msgid "Unable to open the shared folder. Please ensure you have permission to open the shared folder." msgstr "Não foi possível abrir a pasta partilhada. Por favor certifique-se que tem permissões para abrir a pasta partilhada." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Closing_Failure -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Closing_Failure +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Closing_Failure" msgid "Unable to close the shared folder." msgstr "Não foi possível fechar a pasta partilhada." -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_WebApp_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_WebApp_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_WebApp_Label" msgid "Open WebApp" msgstr "Abrir WebApp" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_WebApp_Screentip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_WebApp_Screentip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_WebApp_Screentip" msgid "Open WebApp" msgstr "Abrir WebApp" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_WebApp_Supertip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_WebApp_Supertip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_WebApp_Supertip" msgid "Open WebApp in the system default browser" msgstr "Abrir a WebApp no navegador por defeito do sistema" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SharedFolders_Label" msgid "Shared folders" msgstr "Pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Screentip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Screentip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SharedFolders_Screentip" msgid "Manage shared folders" msgstr "Gerir pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Supertip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Supertip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SharedFolders_Supertip" msgid "Open the \"Shared Folders\" dialog, which can be used to add or remove shared folders." msgstr "Abrir a caixa de diálogo 'Pastas Partilhadas', que pode ser usada para adicionar ou remover pastas partilhadas." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_PublicFolders -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_PublicFolders +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_PublicFolders" msgid "Public folders" msgstr "Pastas Publicas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Loading -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Loading +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Loading" msgid "Retrieving shared folders" msgstr "A obter pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Loading_Error -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Loading_Error +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Loading_Error" msgid "There was an error retrieving shared folders" msgstr "Ocorreu um erro a obter as pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_None -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_None +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_None" msgid "No shared folders are available or you do not have permissions to view the root of the inbox." msgstr "Não existem pastas partilhadas disponíveis ou não tem permissões para ver a raiz da caixa de entrada." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Fetching_Failure -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Fetching_Failure +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Fetching_Failure" msgid "Unable to retrieve shared folders. Please try again later." msgstr "Não foi possível obter as pastas partilhadas. Por favor tente mais tarde." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Fetching_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Fetching_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Fetching_Label" msgid "Retrieving shared folders" msgstr "A obter pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Fetching_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Fetching_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Fetching_Title" msgid "Shared folders" msgstr "Pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Unsaved_Changes -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Unsaved_Changes +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Unsaved_Changes" msgid "There are unsaved changes. Do you really want to to discard these?" msgstr "Existem alterações por guardar. Tem a certeza que as quer descartar?" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Context_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Context_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SharedFolders_Context_Label" msgid "Manage shared folder" msgstr "Gerir pasta partilhada" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Context_Screentip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Context_Screentip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SharedFolders_Context_Screentip" msgid "Manage this folder in the Shared Folders dialog" msgstr "Gerir esta pasta na caixa de diálogo das Pastas Partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Context_Supertip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SharedFolders_Context_Supertip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SharedFolders_Context_Supertip" msgid "Open the \"Shared Folders\" dialog for the currently selected folder." msgstr "Abrir a caixa de diálogo 'Pastas Partilhadas' para a pasta atualmente selecionada." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Applying_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Applying_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Applying_Label" msgid "Applying changes to shared folders" msgstr "A aplicar alterações às pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Applying_Failure -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Applying_Failure +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Applying_Failure" msgid "Unable to apply the changes to the shared folders. Please try again later." msgstr "Não foi possível aplicar as alterações à pasta partilhada. Por favor tente mais tarde." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Applying_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Applying_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Applying_Title" msgid "Shared folders" msgstr "Pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Permission_None -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Permission_None +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Permission_None" msgid "None" msgstr "Nenhum" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Permission_Read -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Permission_Read +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Permission_Read" msgid "Read" msgstr "Ler" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Permission_Write -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Permission_Write +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Permission_Write" msgid "Write" msgstr "Escrever" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Applying_Success -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Applying_Success +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Applying_Success" msgid "The changes to the shared folders have been applied successfully." msgstr "As alterações à pasta partilhada foram aplicadas com sucesso." -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_About_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_About_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_About_Label" msgid "About" msgstr "Acerca" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_About_Screentip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_About_Screentip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_About_Screentip" msgid "About dialog" msgstr "Caixa de diálogo de Acerca" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_About_Supertip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_About_Supertip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_About_Supertip" msgid "Shows the about dialog, which contains licensing and version information." msgstr "Mostra a caixa de diálogo do Acerca que contém informação sobre a versão e licenciamento." -#. Shown when a secondary contact folder is detected, to inform the user that a restart is required -#: AcaciaZPushPlugin\Properties\Resources\SecondaryContactsPatched_Body -#, csharp-format +#. Shown when a secondary contact folder is detected, to inform the user that a restart is required +#: AcaciaZPushPlugin\Properties\Resources\SecondaryContactsPatched_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SecondaryContactsPatched_Body" msgid "The contacts folder '{0}' has been discovered. It is being synchronised, but will not show up in the list of contacts folders until Outlook is restarted. Click 'Yes' to restart Outlook now, or 'No' if you plan to restart Outlook later." msgstr "" @@ -1011,162 +1011,162 @@ msgstr "" "para reiniciar o Outlook agora, ou 'Não' se planeia reiniciar o Outlook mais " "tarde." -#. Shown when a secondary contact folder is detected, to inform the user that a restart is required -#: AcaciaZPushPlugin\Properties\Resources\SecondaryContactsPatched_Title -#, csharp-format +#. Shown when a secondary contact folder is detected, to inform the user that a restart is required +#: AcaciaZPushPlugin\Properties\Resources\SecondaryContactsPatched_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SecondaryContactsPatched_Title" msgid "Contacts folder" msgstr "Pasta de contactos" -#: AcaciaZPushPlugin\Properties\Resources\AccountNoPassword_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\AccountNoPassword_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\AccountNoPassword_Body" msgid "The password for account '{0}' is not available. Advanced Z-Push features will not work." msgstr "A palavra passe para a conta '{0}' não está disponível. Funcionalidades avançadas do Z-push não irão funcionar." -#: AcaciaZPushPlugin\Properties\Resources\AccountNoPassword_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\AccountNoPassword_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\AccountNoPassword_Title" msgid "Password unavailable" msgstr "Palavra passe não disponível" -#: AcaciaZPushPlugin\Properties\Resources\Feature_Signatures -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Feature_Signatures +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Feature_Signatures" msgid "Signatures" msgstr "Assinaturas" -#: AcaciaZPushPlugin\Properties\Resources\SignaturesSync_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SignaturesSync_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SignaturesSync_Label" msgid "The signatures are being synchronised." msgstr "As assinaturas estão a ser sincronizadas." -#: AcaciaZPushPlugin\Properties\Resources\SignaturesSync_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SignaturesSync_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SignaturesSync_Title" msgid "Signatures" msgstr "Assinaturas" -#: AcaciaZPushPlugin\Properties\Resources\OOF_Unsaved_Changes -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\OOF_Unsaved_Changes +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\OOF_Unsaved_Changes" msgid "There are unsaved changes. Do you really want to to discard these?" msgstr "Existem alterações por guardar. Tem a certeza que as quer descartar?" -#. {0} will be replaced with progress in percent -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SyncState_Label -#, csharp-format +#. {0} will be replaced with progress in percent +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SyncState_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SyncState_Label" msgid "Syncing: {0}%" msgstr "A sincronizar: {0}%" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SyncState_Label_Done -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SyncState_Label_Done +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SyncState_Label_Done" msgid "Up-to-date" msgstr "Atualizado" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SyncState_Screentip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SyncState_Screentip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SyncState_Screentip" msgid "Synchronisation state" msgstr "Estado da sincronização" -#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SyncState_Supertip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\Ribbon_SyncState_Supertip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\Ribbon_SyncState_Supertip" msgid "Open the \"Synchronisation\" dialog, in which the synchronisation state can be viewed and managed." msgstr "Abrir a caixa de diálogo 'Sincronização' onde visualizar e gerir o estado da sincronização." -#: AcaciaZPushPlugin\Properties\Resources\SyncState_FullResync_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncState_FullResync_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncState_FullResync_Body" msgid "To fully resynchronise, Outlook must be restarted and all local data will be removed. Fetching all the data from the server again may take some time. Are you sure you want to resynchronise all data?" msgstr "Para ressincronizar totalmente, o Outlook tem que reiniciar e todos os dados locais serão removidos. Obter novamente todos os dados do servidor poderá demorar algum tempo. Tem a certeza que quer ressincronizar todos os dados?" -#: AcaciaZPushPlugin\Properties\Resources\SyncState_FullResync_Caption -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncState_FullResync_Caption +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncState_FullResync_Caption" msgid "Full Resynchronisation" msgstr "Ressincronização total" -#: AcaciaZPushPlugin\Properties\Resources\SyncState_Resync_Body_GAB -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncState_Resync_Body_GAB +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncState_Resync_Body_GAB" msgid "The Global Address Book has been scheduled for resynchronisation." msgstr "A ressincronização do Livro Global de Endereços foi agendada." -#: AcaciaZPushPlugin\Properties\Resources\SyncState_Resync_Caption -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncState_Resync_Caption +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncState_Resync_Caption" msgid "Resynchronisation" msgstr "Ressincronização" -#: AcaciaZPushPlugin\Properties\Resources\ServerSync_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\ServerSync_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\ServerSync_Label" msgid "The server data is being synchronised." msgstr "Os dados do servidor estão a ser sincronizados." -#: AcaciaZPushPlugin\Properties\Resources\ServerSync_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\ServerSync_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\ServerSync_Title" msgid "Server data" msgstr "Dados do servidor" -#: AcaciaZPushPlugin\Properties\Resources\GABSync_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\GABSync_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\GABSync_Label" msgid "The global address book is being synchronised." msgstr "O Livro Global de Endereços está a ser sincronizado." -#: AcaciaZPushPlugin\Properties\Resources\GABSync_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\GABSync_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\GABSync_Title" msgid "Global Address Book" msgstr "Livro Global de Endereços" -#. {0} will be replaced with the account name -#: AcaciaZPushPlugin\Properties\Resources\SyncState_Stalled_Body -#, csharp-format +#. {0} will be replaced with the account name +#: AcaciaZPushPlugin\Properties\Resources\SyncState_Stalled_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncState_Stalled_Body" msgid "It appears synchronisation has stalled for account {0}. This can be fixed by performing a full resynchronisation. Would you like to perform this resynchronisation now?" msgstr "Aparentemente a sincronização para a conta {0} está parada. Isto poderá ser corrigido se for realizada um ressincronização total. Deseja fazer uma ressincronização total agora?" -#. {0} will be replaced with the account name -#: AcaciaZPushPlugin\Properties\Resources\SyncState_Stalled_Caption -#, csharp-format +#. {0} will be replaced with the account name +#: AcaciaZPushPlugin\Properties\Resources\SyncState_Stalled_Caption +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncState_Stalled_Caption" msgid "Synchronisation stalled - {0}" msgstr "Sincronização parou - {0}" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_PrivateEvent_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_PrivateEvent_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_PrivateEvent_Body" msgid "Changing other people's private events is not allowed." msgstr "Alterar eventos privados de outras pessoas não é permitido." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_PrivateEvent_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_PrivateEvent_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_PrivateEvent_Title" msgid "Private event" msgstr "Evento privado" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_LocalFolder_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_LocalFolder_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_LocalFolder_Body" msgid "Modifying shared folders locally is not supported. Please use the 'Shared Folders' dialog to rename shared folders or add additional shared folders." msgstr "Modificar pastas partilhadas localmente não é suportado. Por favor use a caixa de diálogo 'Pastas Partilhadas' para alterar o nome das pastas partilhadas ou adicionar novas pastas partilhadas." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_LocalFolder_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_LocalFolder_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_LocalFolder_Title" msgid "Shared folders" msgstr "Pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Node_Readonly_ToolTip -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_Node_Readonly_ToolTip +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_Node_Readonly_ToolTip" msgid "" "The folder has been configured by your system administrator and cannot be modified. \n" @@ -1176,104 +1176,104 @@ msgstr "" "modificada. \n" "Por favor contacte o seu administrador para qualquer alteração pretendida." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_WholeStoreRestart_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_WholeStoreRestart_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_WholeStoreRestart_Body" msgid "Outlook will be restarted to open the new stores" msgstr "O Outlook vai reiniciar para abrir a novas caixas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_WholeStoreRestart_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_WholeStoreRestart_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_WholeStoreRestart_Title" msgid "Open stores" msgstr "Abrir caixas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_SendAsFailed_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_SendAsFailed_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_SendAsFailed_Label" msgid "Unable to determine the send-as email address for the folder. Send-as will only work if you specify the email address manually." msgstr "Não foi possível determinar o endereço enviar-como para a pasta. Enviar-como só irá funcionar se especificar o endereço manualmente." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_SendAsFailed_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_SendAsFailed_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_SendAsFailed_Title" msgid "Shared Folders" msgstr "Pastas partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_SendAsUpdateFailed_Label -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_SendAsUpdateFailed_Label +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_SendAsUpdateFailed_Label" msgid "Unable to determine the send-as email address for the existing shared folder {0}. Send-as will only work if you specify the email address manually. Would you like to open the Shared Folders dialog?" msgstr "Não foi possível determinar o endereço enviar-como para pasta partilhada {0}. Enviar-como só irá funcionar especificar um endereço manualmente. Deseja abrir a caixa de diálogo 'Pastas Partilhadas'?" -#: AcaciaZPushPlugin\Properties\Resources\LocalStore_Move_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\LocalStore_Move_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\LocalStore_Move_Body" msgid "Storing items in Kopano Folders is not supported." msgstr "Guardar itens em pastas Kopano não é suportado." -#: AcaciaZPushPlugin\Properties\Resources\LocalStore_Move_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\LocalStore_Move_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\LocalStore_Move_Title" msgid "Kopano Folders" msgstr "Pastas Kopano" -#: AcaciaZPushPlugin\UI\ProgressDialog\labelMessage.Text -#, csharp-format +#: AcaciaZPushPlugin\UI\ProgressDialog\labelMessage.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\UI\\ProgressDialog\\labelMessage.Text" msgid "labelMessage: SET FROM CODE, NO NEED TO TRANSLATE" msgstr "labelMessage: SET FROM CODE, NO NEED TO TRANSLATE" -#: AcaciaZPushPlugin\UI\ProgressDialog\buttonCancel.Text -#, csharp-format +#: AcaciaZPushPlugin\UI\ProgressDialog\buttonCancel.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\UI\\ProgressDialog\\buttonCancel.Text" msgid "Cancel" msgstr "Cancelar" -#: AcaciaZPushPlugin\UI\ProgressDialog\$this.Text -#, csharp-format +#: AcaciaZPushPlugin\UI\ProgressDialog\$this.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\UI\\ProgressDialog\\$this.Text" msgid "ProgressDialog: SET FROM CODE, NO NEED TO TRANSLATE" msgstr "ProgressDialog: SET FROM CODE, NO NEED TO TRANSLATE" -#: AcaciaZPushPlugin\UI\SettingsDialog\buttonApply.Text -#, csharp-format +#: AcaciaZPushPlugin\UI\SettingsDialog\buttonApply.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\UI\\SettingsDialog\\buttonApply.Text" msgid "Apply" msgstr "Aplicar" -#: AcaciaZPushPlugin\UI\SettingsDialog\buttonCancel.Text -#, csharp-format +#: AcaciaZPushPlugin\UI\SettingsDialog\buttonCancel.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\UI\\SettingsDialog\\buttonCancel.Text" msgid "Cancel" msgstr "Cancelar" -#: AcaciaZPushPlugin\UI\SettingsDialog\buttonOK.Text -#, csharp-format +#: AcaciaZPushPlugin\UI\SettingsDialog\buttonOK.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\UI\\SettingsDialog\\buttonOK.Text" msgid "OK" msgstr "OK" -#: AcaciaZPushPlugin\UI\SettingsDialog\$this.Text -#, csharp-format +#: AcaciaZPushPlugin\UI\SettingsDialog\$this.Text +#, csharp-format msgctxt "AcaciaZPushPlugin\\UI\\SettingsDialog\\$this.Text" msgid "Kopano Settings" msgstr "Definições Kopano" -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_TooManyFolders_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_TooManyFolders_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_TooManyFolders_Body" msgid "You are trying to open many additional folders. Having many shared folders open can impact the stability of Outlook. When working with many shared folders its recommended to take a look at Kopano WebApp/DeskApp instead." msgstr "Está a tentar abrir demasiadas pastas adicionais. Ter pastas partilhadas abertas em demasia pode causar instabilidade no Outlook. Quando se trabalha com muitas pastas partilhadas é aconselhado usar a Kopano WebApp/DeskApp." -#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_TooManyFolders_Title -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SharedFolders_TooManyFolders_Title +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SharedFolders_TooManyFolders_Title" msgid "Shared Folders" msgstr "Pastas Partilhadas" -#: AcaciaZPushPlugin\Properties\Resources\SyncState_StoreSize_Body -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncState_StoreSize_Body +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncState_StoreSize_Body" msgid "" "KOE has detected that the current store size exceeds to recommended value for synced data and will therefore reduce the time synced.\n" @@ -1286,56 +1286,62 @@ msgstr "" "Tamanho atual da caixa de correio: {0}\n" "Novo intervalo de sincronização: {1}" -#: AcaciaZPushPlugin\Properties\Resources\SyncState_StoreSize_Caption -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncState_StoreSize_Caption +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncState_StoreSize_Caption" msgid "Store size" msgstr "Tamanho da caixa de correio" -#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_ALL -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_ALL +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_ALL" msgid "All" msgstr "Tudo" -#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_DAY_1 -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_DAY_1 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_DAY_1" msgid "1 day" msgstr "1 dia" -#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_DAY_3 -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_DAY_3 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_DAY_3" msgid "3 days" msgstr "3 dias" -#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_MONTH_1 -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_MONTH_1 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_MONTH_1" msgid "1 month" msgstr "1 mês" -#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_MONTH_3 -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_MONTH_3 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_MONTH_3" msgid "3 months" msgstr "3 meses" -#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_MONTH_6 -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_MONTH_6 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_MONTH_6" msgid "6 months" msgstr "6 meses" -#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_WEEK_1 -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_WEEK_1 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_1" msgid "1 week" msgstr "1 semana" -#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_WEEK_2 -#, csharp-format +#: AcaciaZPushPlugin\Properties\Resources\SyncTimeFrame_WEEK_2 +#, csharp-format msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2" msgid "2 weeks" msgstr "2 semanas" + +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" diff --git a/translations/pt_br.po b/translations/pt_br.po index de735ab..363ff9d 100644 --- a/translations/pt_br.po +++ b/translations/pt_br.po @@ -1352,3 +1352,9 @@ msgctxt "AcaciaZPushPlugin\\Properties\\Resources\\SyncTimeFrame_WEEK_2" msgid "2 weeks" msgstr "" +#: AcaciaZPushPlugin\Features\SharedFolders\SharedFoldersDialog\_labelWholeStoreReminders.Text +#, csharp-format +msgctxt "AcaciaZPushPlugin\\Features\\SharedFolders\\SharedFoldersDialog\\_labelWholeStoreReminders.Text" +msgid "Show reminders" +msgstr "" +