Improved folder/mailbox settings/rename handling

This commit is contained in:
the-djmaze 2024-03-17 23:26:32 +01:00
parent 2cdc8d0055
commit e2b08ba160
41 changed files with 277 additions and 121 deletions

View file

@ -3,9 +3,8 @@ import { AbstractCollectionModel } from 'Model/AbstractCollection';
import { UNUSED_OPTION_VALUE } from 'Common/Consts'; import { UNUSED_OPTION_VALUE } from 'Common/Consts';
import { isArray, getKeyByValue, forEachObjectEntry, b64EncodeJSONSafe } from 'Common/Utils'; import { isArray, getKeyByValue, forEachObjectEntry, b64EncodeJSONSafe } from 'Common/Utils';
import { ClientSideKeyNameExpandedFolders, FolderType, FolderMetadataKeys } from 'Common/EnumsUser'; import { ClientSideKeyNameExpandedFolders, FolderType, FolderMetadataKeys } from 'Common/EnumsUser';
import { clearCache, getFolderFromCacheList, setFolder, setFolderInboxName, removeFolderFromCacheList } from 'Common/Cache'; import { clearCache, getFolderFromCacheList, setFolder, setFolderInboxName } from 'Common/Cache';
import { Settings, SettingsGet, fireEvent } from 'Common/Globals'; import { Settings, SettingsGet, fireEvent } from 'Common/Globals';
import { Notifications } from 'Common/Enums';
import * as Local from 'Storage/Client'; import * as Local from 'Storage/Client';
@ -15,7 +14,7 @@ import { MessagelistUserStore } from 'Stores/User/Messagelist';
import { SettingsUserStore } from 'Stores/User/Settings'; import { SettingsUserStore } from 'Stores/User/Settings';
import { sortFolders } from 'Common/Folders'; import { sortFolders } from 'Common/Folders';
import { i18n, translateTrigger, getNotification } from 'Common/Translator'; import { i18n, translateTrigger } from 'Common/Translator';
import { AbstractModel } from 'Knoin/AbstractModel'; import { AbstractModel } from 'Knoin/AbstractModel';
@ -485,57 +484,6 @@ export class FolderModel extends AbstractModel {
showScreenPopup(FolderPopupView, [this]); showScreenPopup(FolderPopupView, [this]);
} }
rename(nameToEdit, parentName) {
nameToEdit = nameToEdit.trim();
const folder = this,
oldParent = getFolderFromCacheList(folder.parentName),
newParent = getFolderFromCacheList(parentName),
folderList = FolderUserStore.folderList,
newFolderList = newParent ? newParent.subFolders : folderList,
delimiter = (newParent || folder).delimiter,
oldFullname = folder.fullName,
newFullname = (newParent ? parentName + delimiter : '') + nameToEdit;
if (nameToEdit && newFullname != oldFullname) {
Remote.abort('Folders').post('FolderRename', FolderUserStore.foldersRenaming, {
oldName: oldFullname,
newName: newFullname,
subscribe: folder.isSubscribed() ? 1 : 0
})
.then(() => {
const
renameFolder = (folder, parent) => {
removeFolderFromCacheList(folder.fullName);
folder.parentName = (parent ? parent.fullName : '');
folder.fullName = (parent ? parent.fullName + delimiter : '') + folder.name();
folder.delimiter = delimiter;
folder.deep = (parent ? parent.deep : -1) + 1;
setFolder(folder);
},
renameChildren = folder => {
folder.subFolders.forEach(child => {
renameFolder(child, folder);
renameChildren(child);
})
};
folder.name(nameToEdit);
renameFolder(folder, newParent);
if (folder.subFolders.length || newParent != oldParent) {
// Rename all subfolders to prevent reload
renameChildren(folder);
}
(oldParent ? oldParent.subFolders : folderList).remove(folder);
newFolderList.push(folder);
sortFolders(newFolderList);
})
.catch(error => {
console.error(error);
FolderUserStore.error(
getNotification(error.code, '', Notifications.CantRenameFolder)
+ '.\n' + error.message);
});
}
}
/** /**
* For url safe '/#/mailbox/...' path * For url safe '/#/mailbox/...' path
*/ */

View file

@ -3,8 +3,12 @@ import { addObservablesTo, koComputable } from 'External/ko';
import Remote from 'Remote/User/Fetch'; import Remote from 'Remote/User/Fetch';
import { FolderUserStore } from 'Stores/User/Folder'; import { FolderUserStore } from 'Stores/User/Folder';
import { getFolderFromCacheList, setFolder, removeFolderFromCacheList } from 'Common/Cache';
import { Notifications } from 'Common/Enums';
import { FolderMetadataKeys } from 'Common/EnumsUser';
import { folderListOptionsBuilder, sortFolders } from 'Common/Folders';
import { initOnStartOrLangChange, i18n, getNotification } from 'Common/Translator';
import { defaultOptionsAfterRender } from 'Common/Utils'; import { defaultOptionsAfterRender } from 'Common/Utils';
import { folderListOptionsBuilder } from 'Common/Folders';
export class FolderPopupView extends AbstractViewPopup { export class FolderPopupView extends AbstractViewPopup {
constructor() { constructor() {
@ -28,6 +32,24 @@ export class FolderPopupView extends AbstractViewPopup {
) )
); );
this.displaySpecSetting = FolderUserStore.displaySpecSetting;
this.showKolab = FolderUserStore.allowKolab();
this.kolabTypeOptions = ko.observableArray();
let i18nFilter = key => i18n('SETTINGS_FOLDERS/TYPE_' + key);
initOnStartOrLangChange(()=>{
this.kolabTypeOptions([
{ id: '', name: '' },
{ id: 'event', name: i18nFilter('CALENDAR') },
{ id: 'contact', name: i18nFilter('CONTACTS') },
{ id: 'task', name: i18nFilter('TASKS') },
{ id: 'note', name: i18nFilter('NOTES') },
{ id: 'file', name: i18nFilter('FILES') },
{ id: 'journal', name: i18nFilter('JOURNAL') },
{ id: 'configuration', name: i18nFilter('CONFIGURATION') }
]);
});
this.defaultOptionsAfterRender = defaultOptionsAfterRender; this.defaultOptionsAfterRender = defaultOptionsAfterRender;
} }
@ -35,9 +57,81 @@ export class FolderPopupView extends AbstractViewPopup {
this.editing(false); this.editing(false);
} }
submitForm(form) { submitForm(/*form*/) {
this.folder().rename(this.name(), this.parentFolder()); const
console.dir({form}); folder = this.folder(),
nameToEdit = this.name().trim(),
newParentName = this.parentFolder(),
oldParent = getFolderFromCacheList(folder.parentName),
newParent = getFolderFromCacheList(newParentName),
folderList = FolderUserStore.folderList,
newFolderList = newParent ? newParent.subFolders : folderList,
delimiter = (newParent || folder).delimiter,
oldFullname = folder.fullName,
newFullname = (newParent ? newParentName + delimiter : '') + nameToEdit;
if (nameToEdit && newFullname != oldFullname) {
Remote.abort('Folders').post('FolderRename', FolderUserStore.foldersRenaming, {
oldName: oldFullname,
newName: newFullname,
// toggleFolderSubscription / FolderSubscribe
subscribe: folder.isSubscribed() ? 1 : 0,
// toggleFolderCheckable / FolderCheckable
checkable: folder.checkable() ? 1 : 0,
// toggleFolderKolabType / FolderSetMetadata
kolab: {
// TODO: append '.default' ?
type: FolderMetadataKeys.KolabFolderType,
value: folder.kolabType()
}
})
.then(() => {
const
renameFolder = (folder, parent) => {
removeFolderFromCacheList(folder.fullName);
folder.parentName = (parent ? parent.fullName : '');
folder.fullName = (parent ? parent.fullName + delimiter : '') + folder.name();
folder.delimiter = delimiter;
folder.deep = (parent ? parent.deep : -1) + 1;
setFolder(folder);
},
renameChildren = folder => {
folder.subFolders.forEach(child => {
renameFolder(child, folder);
renameChildren(child);
})
};
folder.name(nameToEdit);
renameFolder(folder, newParent);
if (folder.subFolders.length || newParent != oldParent) {
// Rename all subfolders to prevent reload
renameChildren(folder);
}
(oldParent ? oldParent.subFolders : folderList).remove(folder);
newFolderList.push(folder);
sortFolders(newFolderList);
})
.catch(error => {
console.error(error);
FolderUserStore.error(
getNotification(error.code, '', Notifications.CantRenameFolder) + '.\n' + error.message
);
});
} else {
Remote.request('FolderSettings', null, {
folder: folder.fullName,
// toggleFolderSubscription / FolderSubscribe
subscribe: folder.isSubscribed() ? 1 : 0,
// toggleFolderCheckable / FolderCheckable
checkable: folder.checkable() ? 1 : 0,
// toggleFolderKolabType / FolderSetMetadata
kolab: {
// TODO: append '.default' ?
type: FolderMetadataKeys.KolabFolderType,
value: folder.kolabType()
}
});
}
this.close(); this.close();
} }

View file

@ -82,7 +82,8 @@ trait Folders
$this->SendRequestGetResponse('DELETE', [$this->EscapeFolderName($sFolderName)]); $this->SendRequestGetResponse('DELETE', [$this->EscapeFolderName($sFolderName)]);
// $this->FolderCheck(); // $this->FolderCheck();
// Will this workaround solve Dovecot issue #124 ? // Will this workaround solve Dovecot issue?
// https://github.com/the-djmaze/snappymail/issues/124
try { try {
$this->FolderRename($sFolderName, "{$sFolderName}-dummy"); $this->FolderRename($sFolderName, "{$sFolderName}-dummy");
$this->FolderRename("{$sFolderName}-dummy", $sFolderName); $this->FolderRename("{$sFolderName}-dummy", $sFolderName);

View file

@ -933,7 +933,7 @@ class MailClient
/** /**
* @throws \InvalidArgumentException * @throws \InvalidArgumentException
*/ */
public function FolderRename(string $sPrevFolderFullName, string $sNewFolderFullName, bool $bSubscribe = true) : self public function FolderRename(string $sPrevFolderFullName, string $sNewFolderFullName) : self
{ {
if (!\strlen($sPrevFolderFullName) || !\strlen($sNewFolderFullName)) { if (!\strlen($sPrevFolderFullName) || !\strlen($sNewFolderFullName)) {
throw new \ValueError; throw new \ValueError;
@ -949,19 +949,21 @@ class MailClient
throw new \MailSo\RuntimeException('New folder name contains delimiter.'); throw new \MailSo\RuntimeException('New folder name contains delimiter.');
} }
*/ */
$oSubscribedFolders = array();
if ($bSubscribe) { /**
* https://datatracker.ietf.org/doc/html/rfc3501#section-6.3.5
* Does not mention subscriptions
* https://datatracker.ietf.org/doc/html/rfc9051#section-6.3.6
* Mentions that a server doesn't automatically manage subscriptions
*/
$oSubscribedFolders = $this->oImapClient->FolderSubscribeList($sPrevFolderFullName, '*'); $oSubscribedFolders = $this->oImapClient->FolderSubscribeList($sPrevFolderFullName, '*');
foreach ($oSubscribedFolders as /* @var $oFolder \MailSo\Imap\Folder */ $oFolder) {
$this->oImapClient->FolderUnsubscribe($oFolder->FullName);
}
}
$this->oImapClient->FolderRename($sPrevFolderFullName, $sNewFolderFullName); $this->oImapClient->FolderRename($sPrevFolderFullName, $sNewFolderFullName);
foreach ($oSubscribedFolders as /* @var $oFolder \MailSo\Imap\Folder */ $oFolder) { foreach ($oSubscribedFolders as /* @var $oFolder \MailSo\Imap\Folder */ $oFolder) {
$sFolderFullNameForResubscribe = $oFolder->FullName; $sFolderFullNameForResubscribe = $oFolder->FullName;
if (\str_starts_with($sFolderFullNameForResubscribe, $sPrevFolderFullName)) { if (\str_starts_with($sFolderFullNameForResubscribe, $sPrevFolderFullName)) {
$this->oImapClient->FolderUnsubscribe($sFolderFullNameForResubscribe);
$this->oImapClient->FolderSubscribe( $this->oImapClient->FolderSubscribe(
$sNewFolderFullName . \substr($sFolderFullNameForResubscribe, \strlen($sPrevFolderFullName)) $sNewFolderFullName . \substr($sFolderFullNameForResubscribe, \strlen($sPrevFolderFullName))
); );

View file

@ -145,6 +145,42 @@ trait Folders
return $this->TrueResponse(); return $this->TrueResponse();
} }
public function DoFolderSettings() : array
{
$this->initMailClientConnection();
$sFolderFullName = $this->GetActionParam('folder', '');
// DoFolderSubscribe
try
{
$bSubscribe = !empty($this->GetActionParam('subscribe', 0));
$this->ImapClient()->{$bSubscribe ? 'FolderSubscribe' : 'FolderUnsubscribe'}($sFolderFullName);
}
catch (\Throwable $oException)
{
}
// DoFolderCheckable
$this->SetFolderCheckable($sFolderFullName, !empty($this->GetActionParam('checkable')));
// DoFolderSetMetadata
try
{
$aKolab = $this->GetActionParam('kolab');
if ($aKolab['type']) {
$this->ImapClient()->FolderSetMetadata($sFolderFullName, [
$aKolab['type'] => $aKolab['value'] ?: null
]);
}
}
catch (\Throwable $oException)
{
}
return $this->TrueResponse();
}
public function DoFolderSubscribe() : array public function DoFolderSubscribe() : array
{ {
$this->initMailClientConnection(); $this->initMailClientConnection();
@ -167,28 +203,35 @@ trait Folders
return $this->TrueResponse(); return $this->TrueResponse();
} }
public function DoFolderCheckable() : array protected function SetFolderCheckable(string $sFolderFullName, bool $bCheckable) : bool
{ {
$oAccount = $this->getAccountFromToken(); $oAccount = $this->getAccountFromToken();
$sFolderFullName = $this->GetActionParam('folder', '');
$oSettingsLocal = $this->SettingsProvider(true)->Load($oAccount); $oSettingsLocal = $this->SettingsProvider(true)->Load($oAccount);
$aCheckableFolder = \json_decode($oSettingsLocal->GetConf('CheckableFolder', '[]')); $aCheckableFolders = \json_decode($oSettingsLocal->GetConf('CheckableFolder', '[]'));
if (!\is_array($aCheckableFolder)) { if (!\is_array($aCheckableFolders)) {
$aCheckableFolder = array(); $aCheckableFolders = array();
} }
if (!empty($this->GetActionParam('checkable', '0'))) { if ($bCheckable) {
$aCheckableFolder[] = $sFolderFullName; $aCheckableFolders[] = $sFolderFullName;
} else if (($key = \array_search($sFolderFullName, $aCheckableFolder)) !== false) { } else if (($key = \array_search($sFolderFullName, $aCheckableFolders)) !== false) {
\array_splice($aCheckableFolder, $key, 1); \array_splice($aCheckableFolders, $key, 1);
} }
$oSettingsLocal->SetConf('CheckableFolder', \json_encode(\array_unique($aCheckableFolder))); $oSettingsLocal->SetConf('CheckableFolder', \json_encode(\array_unique($aCheckableFolders)));
return $this->DefaultResponse($oSettingsLocal->save()); return $oSettingsLocal->save();
}
public function DoFolderCheckable() : array
{
return $this->DefaultResponse(
$this->SetFolderCheckable(
$this->GetActionParam('folder', ''),
!empty($this->GetActionParam('checkable'))
)
);
} }
/** /**
@ -200,11 +243,59 @@ trait Folders
try try
{ {
$sFullName = $this->MailClient()->FolderRename( $sOldName = $this->GetActionParam('oldName', '');
$this->GetActionParam('oldName', ''), $sNewName = $this->GetActionParam('newName', '');
$this->GetActionParam('newName', ''), $sDelimiter = $this->ImapClient()->FolderHierarchyDelimiter($sOldName);
!empty($this->GetActionParam('subscribe', 1))
); $this->MailClient()->FolderRename($sOldName, $sNewName);
// DoFolderSubscribe
try
{
$bSubscribe = !empty($this->GetActionParam('subscribe', 0));
$this->ImapClient()->{$bSubscribe ? 'FolderSubscribe' : 'FolderUnsubscribe'}($sNewName);
}
catch (\Throwable $oException)
{
}
// DoFolderCheckable
$oAccount = $this->getAccountFromToken();
$oSettingsLocal = $this->SettingsProvider(true)->Load($oAccount);
$aCheckableFolders = \json_decode($oSettingsLocal->GetConf('CheckableFolder', '[]'));
$aRemoveFolders = [];
if (\is_array($aCheckableFolders)) {
foreach ($aCheckableFolders as $sFolder) {
if (\str_starts_with($sFolder . $sDelimiter, $sOldName . $sDelimiter)) {
$aRemoveFolders[] = $sFolder;
if ($sFolder !== $sOldName) {
$aCheckableFolders[] = $sNewName . $sDelimiter . \substr($sFolder, \strlen($sOldName) + 1);
}
}
}
$aCheckableFolders = \array_diff($aCheckableFolders, $aRemoveFolders);
} else {
$aCheckableFolders = [];
}
if ($this->GetActionParam('checkable')) {
$aCheckableFolders[] = $sNewName;
}
$oSettingsLocal->SetConf('CheckableFolder', \json_encode(\array_unique($aCheckableFolders)));
$oSettingsLocal->save();
// DoFolderSetMetadata
try
{
$aKolab = $this->GetActionParam('kolab');
if ($aKolab['type']) {
$this->ImapClient()->FolderSetMetadata($sNewName, [
$aKolab['type'] => $aKolab['value'] ?: null
]);
}
}
catch (\Throwable $oException)
{
}
} }
catch (\Throwable $oException) catch (\Throwable $oException)
{ {

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Ще се показват само част от тях, за да се избегнат проблеми с производителността.", "TO_MANY_FOLDERS_DESC_2": "Ще се показват само част от тях, за да се избегнат проблеми с производителността.",
"HELP_DELETE_FOLDER": "Изтрий папка", "HELP_DELETE_FOLDER": "Изтрий папка",
"HELP_SHOW_HIDE_FOLDER": "Покажи\/скрий папка", "HELP_SHOW_HIDE_FOLDER": "Покажи\/скрий папка",
"HELP_CHECK_FOR_NEW_MESSAGES": "Провери\/не проверявай за нови съобщения", "HELP_CHECK_FOR_NEW_MESSAGES": "Провери за нови съобщения",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Můžeme zobrazit jen část z nich, abychom zabránili problémům s výkonem.", "TO_MANY_FOLDERS_DESC_2": "Můžeme zobrazit jen část z nich, abychom zabránili problémům s výkonem.",
"HELP_DELETE_FOLDER": "Smazat složku", "HELP_DELETE_FOLDER": "Smazat složku",
"HELP_SHOW_HIDE_FOLDER": "Zobrazit\/skrýt složku", "HELP_SHOW_HIDE_FOLDER": "Zobrazit\/skrýt složku",
"HELP_CHECK_FOR_NEW_MESSAGES": "Kontrovat\/nekontrolovat nové příchozí zprávy", "HELP_CHECK_FOR_NEW_MESSAGES": "Kontrovat nové příchozí zprávy",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Kun nogle mapper vises for at undgå problemer.", "TO_MANY_FOLDERS_DESC_2": "Kun nogle mapper vises for at undgå problemer.",
"HELP_DELETE_FOLDER": "Slet mappe", "HELP_DELETE_FOLDER": "Slet mappe",
"HELP_SHOW_HIDE_FOLDER": "Vis\/skjul mappe", "HELP_SHOW_HIDE_FOLDER": "Vis\/skjul mappe",
"HELP_CHECK_FOR_NEW_MESSAGES": "Markér\/fjern markering for nye meddelelser", "HELP_CHECK_FOR_NEW_MESSAGES": "Markér for nye meddelelser",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Delete folder", "HELP_DELETE_FOLDER": "Delete folder",
"HELP_SHOW_HIDE_FOLDER": "Show\/hide folder", "HELP_SHOW_HIDE_FOLDER": "Show\/hide folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Check\/don't check for new messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Check for new messages",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Delete folder", "HELP_DELETE_FOLDER": "Delete folder",
"HELP_SHOW_HIDE_FOLDER": "Show\/hide folder", "HELP_SHOW_HIDE_FOLDER": "Show\/hide folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Check\/don't check for new messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Check for new messages",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Delete folder", "HELP_DELETE_FOLDER": "Delete folder",
"HELP_SHOW_HIDE_FOLDER": "Show\/hide folder", "HELP_SHOW_HIDE_FOLDER": "Show\/hide folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Check\/don't check for new messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Check for new messages",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Eliminar carpeta", "HELP_DELETE_FOLDER": "Eliminar carpeta",
"HELP_SHOW_HIDE_FOLDER": "Mostrar\/ocultar carpeta", "HELP_SHOW_HIDE_FOLDER": "Mostrar\/ocultar carpeta",
"HELP_CHECK_FOR_NEW_MESSAGES": "Chequear\/no chequear nuevos mensajes", "HELP_CHECK_FOR_NEW_MESSAGES": "Chequear nuevos mensajes",
"HIDE_UNSUBSCRIBED": "Ocultar carpetas dadas de baja", "HIDE_UNSUBSCRIBED": "Ocultar carpetas dadas de baja",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendario", "TYPE_CALENDAR": "Calendario",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Näitame sulle neist vaid osa, et vältida jõudlusprobleeme.", "TO_MANY_FOLDERS_DESC_2": "Näitame sulle neist vaid osa, et vältida jõudlusprobleeme.",
"HELP_DELETE_FOLDER": "Kustuta kaust", "HELP_DELETE_FOLDER": "Kustuta kaust",
"HELP_SHOW_HIDE_FOLDER": "Näita\/peida kaust", "HELP_SHOW_HIDE_FOLDER": "Näita\/peida kaust",
"HELP_CHECK_FOR_NEW_MESSAGES": "Kontrolli\/ära kontrolli uusi kirju", "HELP_CHECK_FOR_NEW_MESSAGES": "Kontrolli uusi kirju",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Beraien zati bat bakarrik erakutsi dugu, errendimendu arazoak saihesteko.", "TO_MANY_FOLDERS_DESC_2": "Beraien zati bat bakarrik erakutsi dugu, errendimendu arazoak saihesteko.",
"HELP_DELETE_FOLDER": "Ezabatu karpeta", "HELP_DELETE_FOLDER": "Ezabatu karpeta",
"HELP_SHOW_HIDE_FOLDER": "Erakutsi\/ezkutatu karpeta", "HELP_SHOW_HIDE_FOLDER": "Erakutsi\/ezkutatu karpeta",
"HELP_CHECK_FOR_NEW_MESSAGES": "Bilatu\/ez bilatu mezu berriak", "HELP_CHECK_FOR_NEW_MESSAGES": "Bilatu mezu berriak",
"HIDE_UNSUBSCRIBED": "Ezkutatu harpidetzik gabeko karpetak", "HIDE_UNSUBSCRIBED": "Ezkutatu harpidetzik gabeko karpetak",
"UNHIDE_KOLAB_FOLDERS": "Erakutsi Kolab karpetak", "UNHIDE_KOLAB_FOLDERS": "Erakutsi Kolab karpetak",
"TYPE_CALENDAR": "Egutegia", "TYPE_CALENDAR": "Egutegia",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "جهت جلوگیری از کاهش کارایی سیستم، ما فقط قسمتی از آنها را به شما نشان می‌دهیم.", "TO_MANY_FOLDERS_DESC_2": "جهت جلوگیری از کاهش کارایی سیستم، ما فقط قسمتی از آنها را به شما نشان می‌دهیم.",
"HELP_DELETE_FOLDER": "حذف پوشه", "HELP_DELETE_FOLDER": "حذف پوشه",
"HELP_SHOW_HIDE_FOLDER": "نمایش\/مخفی‌بودن پوشه", "HELP_SHOW_HIDE_FOLDER": "نمایش\/مخفی‌بودن پوشه",
"HELP_CHECK_FOR_NEW_MESSAGES": "بررسی\/عدم‌بررسی برای پیام جدید", "HELP_CHECK_FOR_NEW_MESSAGES": "پیام جدی را بررسی کنید",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Näytetään vain osa.", "TO_MANY_FOLDERS_DESC_2": "Näytetään vain osa.",
"HELP_DELETE_FOLDER": "Poista kansio", "HELP_DELETE_FOLDER": "Poista kansio",
"HELP_SHOW_HIDE_FOLDER": "Näytä\/Piilota kansio", "HELP_SHOW_HIDE_FOLDER": "Näytä\/Piilota kansio",
"HELP_CHECK_FOR_NEW_MESSAGES": "Tarkista\/Älä tarkista uudet viestit", "HELP_CHECK_FOR_NEW_MESSAGES": "Tarkista uudet viestit",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Seulement une partie d'entre eux ont été affichés afin de limiter les problèmes de performance.", "TO_MANY_FOLDERS_DESC_2": "Seulement une partie d'entre eux ont été affichés afin de limiter les problèmes de performance.",
"HELP_DELETE_FOLDER": "Supprimer le dossier", "HELP_DELETE_FOLDER": "Supprimer le dossier",
"HELP_SHOW_HIDE_FOLDER": "Afficher\/masquer le dossier", "HELP_SHOW_HIDE_FOLDER": "Afficher\/masquer le dossier",
"HELP_CHECK_FOR_NEW_MESSAGES": "Cocher\/Décocher pour les nouveaux messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Cocher pour les nouveaux messages",
"HIDE_UNSUBSCRIBED": "Masquer les dossiers désabonnés", "HIDE_UNSUBSCRIBED": "Masquer les dossiers désabonnés",
"UNHIDE_KOLAB_FOLDERS": "Afficher les dossiers Kolab", "UNHIDE_KOLAB_FOLDERS": "Afficher les dossiers Kolab",
"TYPE_CALENDAR": "Calendrier", "TYPE_CALENDAR": "Calendrier",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Teljesítény problémák elkerülése miatt, csak egy részét jelenítjük meg.", "TO_MANY_FOLDERS_DESC_2": "Teljesítény problémák elkerülése miatt, csak egy részét jelenítjük meg.",
"HELP_DELETE_FOLDER": "Mappa törlés", "HELP_DELETE_FOLDER": "Mappa törlés",
"HELP_SHOW_HIDE_FOLDER": "Mappa mutatás\/elrejtés", "HELP_SHOW_HIDE_FOLDER": "Mappa mutatás\/elrejtés",
"HELP_CHECK_FOR_NEW_MESSAGES": "Ellenőrizze\/ne ellenőrizze az új üzeneteket", "HELP_CHECK_FOR_NEW_MESSAGES": "Ellenőrizze az új üzeneteket",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Naptár", "TYPE_CALENDAR": "Naptár",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Kami hanya menampilkan sebagian, untuk mencegah turunnya performa.", "TO_MANY_FOLDERS_DESC_2": "Kami hanya menampilkan sebagian, untuk mencegah turunnya performa.",
"HELP_DELETE_FOLDER": "Hapus folder", "HELP_DELETE_FOLDER": "Hapus folder",
"HELP_SHOW_HIDE_FOLDER": "Tampil\/lenyapkan folder", "HELP_SHOW_HIDE_FOLDER": "Tampil\/lenyapkan folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Cek\/jangan cek pesan baru", "HELP_CHECK_FOR_NEW_MESSAGES": "Cek pesan baru",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Við höfum birt aðeins hluta þeirra, til að koma í veg fyrir vandamál með afköst.", "TO_MANY_FOLDERS_DESC_2": "Við höfum birt aðeins hluta þeirra, til að koma í veg fyrir vandamál með afköst.",
"HELP_DELETE_FOLDER": "Eyða möppu", "HELP_DELETE_FOLDER": "Eyða möppu",
"HELP_SHOW_HIDE_FOLDER": "Birta\/fela möppu", "HELP_SHOW_HIDE_FOLDER": "Birta\/fela möppu",
"HELP_CHECK_FOR_NEW_MESSAGES": "Athuga\/ekki athuga með ný skilaboð", "HELP_CHECK_FOR_NEW_MESSAGES": "Athuga með ný skilaboð",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Vengono visualizzate solo una parte per evitare problemi di performance.", "TO_MANY_FOLDERS_DESC_2": "Vengono visualizzate solo una parte per evitare problemi di performance.",
"HELP_DELETE_FOLDER": "Cancella cartella", "HELP_DELETE_FOLDER": "Cancella cartella",
"HELP_SHOW_HIDE_FOLDER": "Mostra\/nascondi cartella", "HELP_SHOW_HIDE_FOLDER": "Mostra\/nascondi cartella",
"HELP_CHECK_FOR_NEW_MESSAGES": "Controlla\/non controlla la presenza di nuovi messaggi", "HELP_CHECK_FOR_NEW_MESSAGES": "Controlla la presenza di nuovi messaggi",
"HIDE_UNSUBSCRIBED": "Nascondi le cartelle non sottoscritte", "HIDE_UNSUBSCRIBED": "Nascondi le cartelle non sottoscritte",
"UNHIDE_KOLAB_FOLDERS": "Rendi visibili le cartelle Kolab", "UNHIDE_KOLAB_FOLDERS": "Rendi visibili le cartelle Kolab",
"TYPE_CALENDAR": "Calendario", "TYPE_CALENDAR": "Calendario",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "パフォーマンスの問題を回避するために、それらの一部のみを示しています。", "TO_MANY_FOLDERS_DESC_2": "パフォーマンスの問題を回避するために、それらの一部のみを示しています。",
"HELP_DELETE_FOLDER": "フォルダーを削除", "HELP_DELETE_FOLDER": "フォルダーを削除",
"HELP_SHOW_HIDE_FOLDER": "フォルダーの表示\/非表示", "HELP_SHOW_HIDE_FOLDER": "フォルダーの表示\/非表示",
"HELP_CHECK_FOR_NEW_MESSAGES": "新しいメッセージをチェックする\/しない", "HELP_CHECK_FOR_NEW_MESSAGES": "新しいメッセージを確認する",
"HIDE_UNSUBSCRIBED": "購読していないフォルダを隠す", "HIDE_UNSUBSCRIBED": "購読していないフォルダを隠す",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "폴더 삭제", "HELP_DELETE_FOLDER": "폴더 삭제",
"HELP_SHOW_HIDE_FOLDER": "폴더 표시\/숨기기", "HELP_SHOW_HIDE_FOLDER": "폴더 표시\/숨기기",
"HELP_CHECK_FOR_NEW_MESSAGES": "새 메시지 확인\/확인 취소", "HELP_CHECK_FOR_NEW_MESSAGES": "새 메시지 확인",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Mes rodome ne visus juos, kad išvengti našumo problemų.", "TO_MANY_FOLDERS_DESC_2": "Mes rodome ne visus juos, kad išvengti našumo problemų.",
"HELP_DELETE_FOLDER": "Naikinti katalogą", "HELP_DELETE_FOLDER": "Naikinti katalogą",
"HELP_SHOW_HIDE_FOLDER": "Rodyti\/Slėpti katalogą", "HELP_SHOW_HIDE_FOLDER": "Rodyti\/Slėpti katalogą",
"HELP_CHECK_FOR_NEW_MESSAGES": "Tikrinti\/Netikrinti ar yra naujų laiškų", "HELP_CHECK_FOR_NEW_MESSAGES": "Tikrinti ar yra naujų laiškų",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Delete folder", "HELP_DELETE_FOLDER": "Delete folder",
"HELP_SHOW_HIDE_FOLDER": "Show\/hide folder", "HELP_SHOW_HIDE_FOLDER": "Show\/hide folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Check\/don't check for new messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Check for new messages",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "For å unngå ytelsesproblemer får du bare se noen av dem.", "TO_MANY_FOLDERS_DESC_2": "For å unngå ytelsesproblemer får du bare se noen av dem.",
"HELP_DELETE_FOLDER": "Slett mappe", "HELP_DELETE_FOLDER": "Slett mappe",
"HELP_SHOW_HIDE_FOLDER": "Vis\/skjul mappe", "HELP_SHOW_HIDE_FOLDER": "Vis\/skjul mappe",
"HELP_CHECK_FOR_NEW_MESSAGES": "Se\/ikke se etter nye meldinger", "HELP_CHECK_FOR_NEW_MESSAGES": "Se etter nye meldinger",
"HIDE_UNSUBSCRIBED": "Skjul mapper som bruker ikke abonnerer på", "HIDE_UNSUBSCRIBED": "Skjul mapper som bruker ikke abonnerer på",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Kalender", "TYPE_CALENDAR": "Kalender",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Er wordt maar een deel weergegeven om prestatieproblemen te voorkomen.", "TO_MANY_FOLDERS_DESC_2": "Er wordt maar een deel weergegeven om prestatieproblemen te voorkomen.",
"HELP_DELETE_FOLDER": "Verwijder map", "HELP_DELETE_FOLDER": "Verwijder map",
"HELP_SHOW_HIDE_FOLDER": "Toon\/verberg map", "HELP_SHOW_HIDE_FOLDER": "Toon\/verberg map",
"HELP_CHECK_FOR_NEW_MESSAGES": "Controleer wel of niet op nieuwe berichten", "HELP_CHECK_FOR_NEW_MESSAGES": "Controleer op nieuwe berichten",
"HIDE_UNSUBSCRIBED": "Verberg niet geabonneerde mappen", "HIDE_UNSUBSCRIBED": "Verberg niet geabonneerde mappen",
"UNHIDE_KOLAB_FOLDERS": "Toon Kolab mappen", "UNHIDE_KOLAB_FOLDERS": "Toon Kolab mappen",
"TYPE_CALENDAR": "Kalender", "TYPE_CALENDAR": "Kalender",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Pokazaliśmy tylko część z nich aby uniknąć problemów z wydajnością.", "TO_MANY_FOLDERS_DESC_2": "Pokazaliśmy tylko część z nich aby uniknąć problemów z wydajnością.",
"HELP_DELETE_FOLDER": "Usuń folder", "HELP_DELETE_FOLDER": "Usuń folder",
"HELP_SHOW_HIDE_FOLDER": "Pokaż\/ukryj folder", "HELP_SHOW_HIDE_FOLDER": "Pokaż\/ukryj folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Sprawdzaj\/nie sprawdzaj nowych wiadomości", "HELP_CHECK_FOR_NEW_MESSAGES": "Sprawdzaj nowych wiadomości",
"HIDE_UNSUBSCRIBED": "Ukryj niesubskrybowane foldery", "HIDE_UNSUBSCRIBED": "Ukryj niesubskrybowane foldery",
"UNHIDE_KOLAB_FOLDERS": "Pokaż foldery Kolab", "UNHIDE_KOLAB_FOLDERS": "Pokaż foldery Kolab",
"TYPE_CALENDAR": "Kalendarz", "TYPE_CALENDAR": "Kalendarz",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Mostraremos apenas uma parte delas, para evitar problemas de desempenho.", "TO_MANY_FOLDERS_DESC_2": "Mostraremos apenas uma parte delas, para evitar problemas de desempenho.",
"HELP_DELETE_FOLDER": "Deletar pasta", "HELP_DELETE_FOLDER": "Deletar pasta",
"HELP_SHOW_HIDE_FOLDER": "Mostrar\/esconder pasta", "HELP_SHOW_HIDE_FOLDER": "Mostrar\/esconder pasta",
"HELP_CHECK_FOR_NEW_MESSAGES": "Ativar\/Desativar verificação por novas mensagens", "HELP_CHECK_FOR_NEW_MESSAGES": "Ativar verificação por novas mensagens",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Apenas apresentámos parte delas, para evitar problemas de desempenho.", "TO_MANY_FOLDERS_DESC_2": "Apenas apresentámos parte delas, para evitar problemas de desempenho.",
"HELP_DELETE_FOLDER": "Eliminar pasta", "HELP_DELETE_FOLDER": "Eliminar pasta",
"HELP_SHOW_HIDE_FOLDER": "Mostrar\/ocultar pasta", "HELP_SHOW_HIDE_FOLDER": "Mostrar\/ocultar pasta",
"HELP_CHECK_FOR_NEW_MESSAGES": "Procurar\/não procurar novas mensagens", "HELP_CHECK_FOR_NEW_MESSAGES": "Procurar novas mensagens",
"HIDE_UNSUBSCRIBED": "Esconder pastas não subscritas", "HIDE_UNSUBSCRIBED": "Esconder pastas não subscritas",
"UNHIDE_KOLAB_FOLDERS": "Tonar pastas Kolab visíveis", "UNHIDE_KOLAB_FOLDERS": "Tonar pastas Kolab visíveis",
"TYPE_CALENDAR": "Calendário", "TYPE_CALENDAR": "Calendário",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Apenas apresentámos parte delas, para evitar problemas de desempenho.", "TO_MANY_FOLDERS_DESC_2": "Apenas apresentámos parte delas, para evitar problemas de desempenho.",
"HELP_DELETE_FOLDER": "Eliminar pasta", "HELP_DELETE_FOLDER": "Eliminar pasta",
"HELP_SHOW_HIDE_FOLDER": "Mostrar\/ocultar pasta", "HELP_SHOW_HIDE_FOLDER": "Mostrar\/ocultar pasta",
"HELP_CHECK_FOR_NEW_MESSAGES": "Procurar\/não procurar novas mensagens", "HELP_CHECK_FOR_NEW_MESSAGES": "Procurar novas mensagens",
"HIDE_UNSUBSCRIBED": "Esconder pastas não subscritas", "HIDE_UNSUBSCRIBED": "Esconder pastas não subscritas",
"UNHIDE_KOLAB_FOLDERS": "Tonar pastas Kolab visíveis", "UNHIDE_KOLAB_FOLDERS": "Tonar pastas Kolab visíveis",
"TYPE_CALENDAR": "Calendário", "TYPE_CALENDAR": "Calendário",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Delete folder", "HELP_DELETE_FOLDER": "Delete folder",
"HELP_SHOW_HIDE_FOLDER": "Show\/hide folder", "HELP_SHOW_HIDE_FOLDER": "Show\/hide folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Check\/don't check for new messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Check for new messages",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Мы показали только часть из них, чтобы избежать проблем с производительностью.", "TO_MANY_FOLDERS_DESC_2": "Мы показали только часть из них, чтобы избежать проблем с производительностью.",
"HELP_DELETE_FOLDER": "Удалить папку", "HELP_DELETE_FOLDER": "Удалить папку",
"HELP_SHOW_HIDE_FOLDER": "Показывать\/прятать папку", "HELP_SHOW_HIDE_FOLDER": "Показывать\/прятать папку",
"HELP_CHECK_FOR_NEW_MESSAGES": "Проверять\/не проверять новые сообщения", "HELP_CHECK_FOR_NEW_MESSAGES": "Проверять новые сообщения",
"HIDE_UNSUBSCRIBED": "Скрыть папки, на которые нет подписки", "HIDE_UNSUBSCRIBED": "Скрыть папки, на которые нет подписки",
"UNHIDE_KOLAB_FOLDERS": "Показывать папки Kolab", "UNHIDE_KOLAB_FOLDERS": "Показывать папки Kolab",
"TYPE_CALENDAR": "Календарь", "TYPE_CALENDAR": "Календарь",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Delete folder", "HELP_DELETE_FOLDER": "Delete folder",
"HELP_SHOW_HIDE_FOLDER": "Show\/hide folder", "HELP_SHOW_HIDE_FOLDER": "Show\/hide folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Check\/don't check for new messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Check for new messages",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Prikazanih je le del, da se izognemo tehničnim težavam.", "TO_MANY_FOLDERS_DESC_2": "Prikazanih je le del, da se izognemo tehničnim težavam.",
"HELP_DELETE_FOLDER": "Izbriši mapo", "HELP_DELETE_FOLDER": "Izbriši mapo",
"HELP_SHOW_HIDE_FOLDER": "Prikaži\/skrij mapo", "HELP_SHOW_HIDE_FOLDER": "Prikaži\/skrij mapo",
"HELP_CHECK_FOR_NEW_MESSAGES": "Preverjaj\/ne preverjaj za nova sporočila", "HELP_CHECK_FOR_NEW_MESSAGES": "Preverjaj za nova sporočila",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Vi har visat endast en del av dem, för att undvika prestandaproblem.", "TO_MANY_FOLDERS_DESC_2": "Vi har visat endast en del av dem, för att undvika prestandaproblem.",
"HELP_DELETE_FOLDER": "Ta bort mapp", "HELP_DELETE_FOLDER": "Ta bort mapp",
"HELP_SHOW_HIDE_FOLDER": "Visa\/dölj mapp", "HELP_SHOW_HIDE_FOLDER": "Visa\/dölj mapp",
"HELP_CHECK_FOR_NEW_MESSAGES": "Kontrollera\/inte söka efter nya meddelanden", "HELP_CHECK_FOR_NEW_MESSAGES": "Kontrollera efter nya meddelanden",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Kalender", "TYPE_CALENDAR": "Kalender",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Delete folder", "HELP_DELETE_FOLDER": "Delete folder",
"HELP_SHOW_HIDE_FOLDER": "Show\/hide folder", "HELP_SHOW_HIDE_FOLDER": "Show\/hide folder",
"HELP_CHECK_FOR_NEW_MESSAGES": "Check\/don't check for new messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Check for new messages",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.", "TO_MANY_FOLDERS_DESC_2": "We have shown only a part of them, to avoid performance problems.",
"HELP_DELETE_FOLDER": "Видалити теку", "HELP_DELETE_FOLDER": "Видалити теку",
"HELP_SHOW_HIDE_FOLDER": "Відобразити\/приховати теку", "HELP_SHOW_HIDE_FOLDER": "Відобразити\/приховати теку",
"HELP_CHECK_FOR_NEW_MESSAGES": "Check\/don't check for new messages", "HELP_CHECK_FOR_NEW_MESSAGES": "Check for new messages",
"HIDE_UNSUBSCRIBED": "Hide unsubscribed folders", "HIDE_UNSUBSCRIBED": "Hide unsubscribed folders",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Calendar", "TYPE_CALENDAR": "Calendar",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "Chúng tôi chỉ hiển thị một vài trong số đó, để tránh vấn đề hiệu năng sử dụng.", "TO_MANY_FOLDERS_DESC_2": "Chúng tôi chỉ hiển thị một vài trong số đó, để tránh vấn đề hiệu năng sử dụng.",
"HELP_DELETE_FOLDER": "Xóa thư mục", "HELP_DELETE_FOLDER": "Xóa thư mục",
"HELP_SHOW_HIDE_FOLDER": "Hiển thị\/ẩn đi thư mục", "HELP_SHOW_HIDE_FOLDER": "Hiển thị\/ẩn đi thư mục",
"HELP_CHECK_FOR_NEW_MESSAGES": "Kiểm tra\/không kiểm tra xem có thư mới không", "HELP_CHECK_FOR_NEW_MESSAGES": "Kiểm tra xem có thư mới không",
"HIDE_UNSUBSCRIBED": "Ẩn đi những thư mục đã bỏ theo dõi", "HIDE_UNSUBSCRIBED": "Ẩn đi những thư mục đã bỏ theo dõi",
"UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders", "UNHIDE_KOLAB_FOLDERS": "Unhide Kolab folders",
"TYPE_CALENDAR": "Lịch", "TYPE_CALENDAR": "Lịch",

View file

@ -510,7 +510,7 @@
"TO_MANY_FOLDERS_DESC_2": "僅顯示部分資料夾,以避免性能問題。", "TO_MANY_FOLDERS_DESC_2": "僅顯示部分資料夾,以避免性能問題。",
"HELP_DELETE_FOLDER": "刪除資料夾", "HELP_DELETE_FOLDER": "刪除資料夾",
"HELP_SHOW_HIDE_FOLDER": "顯示\/隱藏資料夾", "HELP_SHOW_HIDE_FOLDER": "顯示\/隱藏資料夾",
"HELP_CHECK_FOR_NEW_MESSAGES": "檢查\/不檢查新郵件", "HELP_CHECK_FOR_NEW_MESSAGES": "檢查新郵件",
"HIDE_UNSUBSCRIBED": "隱藏取消訂閱的資料夾", "HIDE_UNSUBSCRIBED": "隱藏取消訂閱的資料夾",
"UNHIDE_KOLAB_FOLDERS": "取消隱藏 Kolab 資料夾", "UNHIDE_KOLAB_FOLDERS": "取消隱藏 Kolab 資料夾",
"TYPE_CALENDAR": "日曆", "TYPE_CALENDAR": "日曆",

View file

@ -17,7 +17,7 @@
<div data-bind="with: folder"> <div data-bind="with: folder">
<!-- ko if: canBeSubscribed --> <!-- ko if: canBeSubscribed -->
<div class="control-group"> <div class="control-group">
<label></label> <label class="fontastic">👁</label>
<div data-bind="component: { <div data-bind="component: {
name: 'Checkbox', name: 'Checkbox',
params: { params: {
@ -37,6 +37,26 @@
<span data-bind="text: unreadEmails"></span> <span data-bind="text: unreadEmails"></span>
/ <span style="margin:0" data-bind="text: totalEmails"></span> / <span style="margin:0" data-bind="text: totalEmails"></span>
</div> </div>
<!-- ko if: $root.displaySpecSetting && canBeSelected() && isSubscribed() -->
<div class="control-group">
<label class="icon-check-mark-circle-two"></label>
<div data-bind="component: {
name: 'Checkbox',
params: {
name: 'checkable',
label: 'SETTINGS_FOLDERS/HELP_CHECK_FOR_NEW_MESSAGES',
value: checkable
}
}"></div>
</div>
<!-- /ko -->
<!-- ko if: $root.showKolab -->
<div class="control-group">
<label>Kolab</label>
<select data-bind="options: $root.kolabTypeOptions, value: kolabType,
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defaultOptionsAfterRender"></select>
</div>
<!-- /ko -->
</div> </div>
<div class="control-group" data-bind="if: ACLAllowed"> <div class="control-group" data-bind="if: ACLAllowed">
<label>ACL</label> <label>ACL</label>