Merged from sub repository (filters - step 4)

This commit is contained in:
RainLoop Team 2014-12-18 00:53:46 +04:00
parent 67e45a6a6f
commit e4b286e257
58 changed files with 1176 additions and 236 deletions

View file

@ -2031,6 +2031,28 @@ class Actions
return false;
}
/**
* @return array
*
* @throws \MailSo\Base\Exceptions\Exception
*/
public function DoFilters()
{
return $this->TrueResponse(__FUNCTION__);
}
/**
* @return array
*
* @throws \MailSo\Base\Exceptions\Exception
*/
public function DoFiltersSave()
{
sleep(2);
return $this->TrueResponse(__FUNCTION__);
}
/**
* @return array
*
@ -2246,6 +2268,35 @@ class Actions
));
}
/**
* @return array
*
* @throws \MailSo\Base\Exceptions\Exception
*/
public function DoAccountsCounts()
{
$oAccount = $this->getAccountFromToken();
$aCounts = array();
if ($this->Config()->Get('webmail', 'allow_additional_accounts', true))
{
$mAccounts = $this->GetAccounts($oAccount);
foreach ($mAccounts as $sEmail => $sHash)
{
$aCounts[] = array(\MailSo\Base\Utils::IdnToUtf8($sEmail), 0);
}
}
else
{
$aCounts[] = array(\MailSo\Base\Utils::IdnToUtf8($oAccount->Email()), 0);
}
return $this->DefaultResponse(__FUNCTION__, array(
'Complete' => true,
'Counts' => $aCounts
));
}
/**
* @return array
*

View file

@ -65,8 +65,8 @@
<div data-bind="visible: licensing()">
<div class="alert alert-success span8" style="margin-left: 0; padding-top: 20px" data-bind="visible: licenseValid() && '' === licenseError()">
<h4>
<span data-bind="visible: licenseIsUnlim()">Lifetime (Premium)</span>
<span data-bind="visible: !licenseIsUnlim()">Premium</span>
Premium
<span data-bind="visible: licenseIsUnlim()">(Lifetime)</span>
</h4>
<p data-bind="visible: 0 < licenseExpired()" style="padding-top: 10px">
<b>Subscription expires:</b>

View file

@ -21,7 +21,7 @@
<div class="span5" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingImapError }">
<div class="legend imap-header">
<span data-placement="bottom" data-bind="tooltipForTest: testingImapErrorDesc">
<span data-bind="text: sieveSettings() ? 'SIEVE (Filters)' : 'IMAP'">IMAP</span>
<span data-bind="text: sieveSettings() ? 'SIEVE' : 'IMAP'">IMAP</span>
</span>
</div>
<div data-bind="visible: !sieveSettings()">
@ -73,7 +73,7 @@
<span data-bind="command: sieveCommand">
<i class="icon-filter"></i>
&nbsp;
<a href="#" class="g-ui-link">Sieve (Filetrs) configuration</a>
<a href="#" class="g-ui-link">Sieve configuration</a>
</span>
</div>
</div>

View file

@ -4,29 +4,34 @@
<div class="modal-header">
<button type="button" class="close" data-bind="command: cancelCommand">&times;</button>
<h3>
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/TITLE_CREATE_FILTER"></span>
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/TITLE_CREATE_FILTER" data-bind="visible: isNew"></span>
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/TITLE_EDIT_FILTER" data-bind="visible: !isNew()"></span>
</h3>
</div>
<div class="modal-body">
<div class="row filter" data-bind="with: filter">
<div class="span9">
<br />
<input type="text" class="span5" data-bind="value: name" placeholder="Name" />
<br />
<br />
<div class="control-group" data-bind="css: {'error': name.error}">
<div class="controls">
<input type="text" class="span5" data-bind="value: name, hasFocus: name.focused" placeholder="Name"
autocorrect="off" autocapitalize="off" spellcheck="false" />
</div>
</div>
<div class="legend">
<span>
Conditions
Conditions @i18n
</span>
</div>
<div>
<div data-bind="visible: 1 < conditions().length">
<select class="span4" data-bind="value: conditionsType">
<option value="All">
Matching all of the following rules
Matching all of the following rules @i18n
</option>
<option value="Any">
Matching any of the following rules
Matching any of the following rules @i18n
</option>
</select>
</div>
@ -34,7 +39,7 @@
<div data-bind="template: {'name': template(), 'data': $data}"></div>
</div>
<div data-bind="visible: 0 === conditions().length">
All incoming messages
All incoming messages @i18n
</div>
<br />
<a class="btn" data-bind="click: addCondition, i18nInit: true">
@ -49,32 +54,23 @@
Actions
</span>
</div>
<div data-bind="template: {'name': actionTemplate()}"></div>
<br />
<div data-bind="component: {
name: 'Checkbox',
params: {
label: 'Mark as read',
label: 'Mark as read @i18n',
value: actionMarkAsRead
}
}"></div>
<div data-bind="component: {
name: 'Checkbox',
params: {
label: 'Skip other filters',
enable: enableSkipOtherFilters,
value: actionSkipOtherFiltersResult
}
}"></div>
<br />
<div data-bind="template: {'name': actionTemplate()}"></div>
</div>
</div>
</div>
<div class="modal-footer">
<a class="btn buttonSave">
<i class="icon-folder-add"></i>
<a class="btn buttonSave" data-bind="command: saveFilter">
<i class="icon-ok"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/BUTTON_CREATE"></span>
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/BUTTON_DONE"></span>
</a>
</div>
</div>

View file

@ -5,15 +5,57 @@
</div>
</div>
<div class="row">
<div data-bind="foreach: filters, i18nUpdate: filters">
<span data-bind="text: name" ></span>
<br />
<div class="span8">
<a class="btn" data-bind="click: addFilter">
<i class="icon-plus"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/BUTTON_ADD_FILTER"></span>
</a>
&nbsp;&nbsp;&nbsp;
<a class="btn" data-bind="command: saveChanges">
<i data-bind="css: {'icon-floppy': !filters.saving(), 'icon-spinner animated': filters.saving()}"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/BUTTON_SAVE"></span>
</a>
</div>
</div>
<div class="row">
<div class="span8">
<div class="process-place g-ui-user-select-none" data-bind="style: {'visibility': visibility }">
<i class="icon-spinner animated"></i>
&nbsp;&nbsp;
<span data-bind="text: processText"></span>
</div>
<table class="table table-hover list-table g-ui-user-select-none" data-bind="i18nUpdate: filters">
<colgroup>
<col style="width: 30px" />
<col />
<col style="width: 140px" />
<col style="width: 1%" />
</colgroup>
<tbody data-bind="sortable: {data: filters, options: scrollableOptions()}">
<tr class="filter-item">
<td>
<span class="disabled-filter" data-bind="click: function () { $root.haveChanges(true); enabled(!enabled()); }">
<i data-bind="css: {'icon-checkbox-checked': enabled, 'icon-checkbox-unchecked': !enabled()}"></i>
</span>
</td>
<td class="e-action">
<span class="filter-name" data-bind="text: name()"></span>
</td>
<td>
<a class="btn btn-small btn-small-small btn-danger pull-right button-delete button-delete-transitions" data-bind="css: {'delete-access': deleteAccess()}, click: function(oFilter) { $root.deleteFilter(oFilter); }">
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/DELETING_ASK"></span>
</a>
</td>
<td>
<span class="delete-filter" data-bind="visible: !deleteAccess() && canBeDalete(), click: function (oFilter) { $root.filterForDeletion(oFilter); }">
<i class="icon-trash"></i>
</span>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<br />
<a class="btn" data-bind="click: addFilter">
<i class="icon-filter"></i>
&nbsp;&nbsp;
<span class="i18n" data-i18n-text="SETTINGS_FILTERS/BUTTON_ADD_FILTER"></span>
</a>
</div>

View file

@ -1 +1 @@
<select data-bind="options: actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>
<select data-bind="options: $root.actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>

View file

@ -1,4 +1,4 @@
<select data-bind="options: actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>
<select data-bind="options: $root.actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>
&nbsp;
<select data-bind="options: $root.folderSelectList, value: $root.selectedFolderValue,
optionsText: 'name', optionsValue: 'id', optionsAfterRender: $root.defautOptionsAfterRender"></select>

View file

@ -1,3 +1,3 @@
<select data-bind="options: actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>
<select data-bind="options: $root.actionTypeOptions, value: actionType, optionsText: 'name', optionsValue: 'id'"></select>
&nbsp;
<input type="text" data-bind="value: actionValue" />

View file

@ -1,9 +1,9 @@
<select class="span3" data-bind="options: fieldOptions, value: field, optionsText: 'name', optionsValue: 'id'"></select>
<select class="span3" data-bind="options: $root.fieldOptions, value: field, optionsText: 'name', optionsValue: 'id'"></select>
&nbsp;
<select class="span2" data-bind="options: typeOptions, value: type, optionsText: 'name', optionsValue: 'id'"></select>
<select class="span2" data-bind="options: $root.typeOptions, value: type, optionsText: 'name', optionsValue: 'id'"></select>
&nbsp;
<input class="span3" type="text" data-bind="value: value" />
&nbsp;
<span class="delete-action button-delete pull-right" data-bind="click: removeSelf">
<span class="delete-action button-delete pull-right" data-bind="click: function (oCondition) { $root.removeCondition(oCondition); }">
<i class="icon-trash"></i>
</span>

View file

@ -11,19 +11,26 @@
<span class="caret"></span>
</a>
<ul class="dropdown-menu g-ui-menu" tabindex="-1" role="menu" aria-labelledby="top-system-dropdown-id">
<!-- ko if: accounts().length -->
<!-- ko foreach: accounts -->
<li class="e-item" role="presentation">
<a class="e-link menuitem" href="#" data-bind="click: $root.accountClick, attr: {'href': changeAccountLink() }">
<i class="icon-ok" data-bind="visible: $root.accountEmail() === email"></i>
<i class="icon-user" data-bind="visible: $root.accountEmail() !== email"></i>
&nbsp;&nbsp;
<span data-bind="text: email"></span>
</a>
</li>
<!-- /ko -->
<li class="divider" role="presentation"></li>
<!-- ko foreach: accounts -->
<li class="e-item" role="presentation">
<a class="e-link menuitem account-item" href="#" data-bind="click: $root.accountClick,
attr: {'href': changeAccountLink()}, css: {current: $root.accountEmail() === email}">
<b class="pull-right counter" data-bind="visible: 0 < count()">
<span data-bind="text: count, visible: 100 > count()"></span>
<span data-bind="visible: 99 < count()">99+</span>
</b>
<i class="icon-ok"></i>
<i class="icon-user"></i>
&nbsp;&nbsp;
<span class="email-title" data-bind="text: email"></span>
</a>
</li>
<!-- /ko -->
<li class="divider" role="presentation"></li>
<!-- /ko -->
<!-- ko if: capaAdditionalAccounts -->
<li class="e-item" role="presentation">
<a class="e-link menuitem" href="#" tabindex="-1" data-bind="click: addAccountClick">

View file

@ -364,12 +364,6 @@ LABEL_CHANGE_PASSWORD_NAME = "Парола"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Назад"
[SETTINGS_FILTERS]
LEGEND_FILTERS = "Филтри"
BUTTON_ADD_FILTER = "Добавяне на филтър"
BUTTON_DELETE_FILTER = "Изтриване на филтър"
BUTTON_ADD_CONDITION = "Добавяне на условие"
[SETTINGS_IDENTITY]
LEGEND_IDENTITY = "Идентичност"
LABEL_DISPLAY_NAME = "Име"

View file

@ -356,6 +356,7 @@ LABEL_FOLDERS_NAME = "Ordner"
LABEL_ACCOUNTS_NAME = "Konten"
LABEL_IDENTITY_NAME = "Identität"
LABEL_IDENTITIES_NAME = "Identitäten"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Sicherheit"
LABEL_SOCIAL_NAME = "Sozial"
LABEL_THEMES_NAME = "Vorlagen"

View file

@ -366,11 +366,17 @@ BUTTON_BACK = "Back"
[SETTINGS_FILTERS]
TITLE_CREATE_FILTER = "Create a filter?"
BUTTON_CREATE = "Create"
TITLE_EDIT_FILTER = "Update filter?"
LEGEND_FILTERS = "Filters"
BUTTON_SAVE = "Save"
BUTTON_DONE = "Done"
BUTTON_ADD_FILTER = "Add Filter"
BUTTON_SAVE_FILTER = "Save Filter"
BUTTON_DELETE_FILTER = "Delete Filter"
BUTTON_ADD_CONDITION = "Add Condition"
BUTTON_DELETE = "Delete"
LOADING_PROCESS = "Updating filter list"
DELETING_ASK = "Are you sure?"
[SETTINGS_IDENTITY]
LEGEND_IDENTITY = "Identity"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Carpetas"
LABEL_ACCOUNTS_NAME = "Cuentas"
LABEL_IDENTITY_NAME = "Identidad"
LABEL_IDENTITIES_NAME = "Identidades"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Seguridad"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Temas"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Dossiers"
LABEL_ACCOUNTS_NAME = "Comptes"
LABEL_IDENTITY_NAME = "Identité"
LABEL_IDENTITIES_NAME = "Identities"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Securité"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Thèmes"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Könyvtárak"
LABEL_ACCOUNTS_NAME = "Fiókok"
LABEL_IDENTITY_NAME = "Identitás"
LABEL_IDENTITIES_NAME = "Identitások"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Security"
LABEL_SOCIAL_NAME = "Közösség"
LABEL_THEMES_NAME = "Sablonok"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Möppur"
LABEL_ACCOUNTS_NAME = "Aðgangar"
LABEL_IDENTITY_NAME = "Identity"
LABEL_IDENTITIES_NAME = "Identities"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Security"
LABEL_SOCIAL_NAMELABEL_SOCIAL_NAME = "Félagsmiðlar"
LABEL_THEMES_NAME = "Þemur"

View file

@ -356,6 +356,7 @@ LABEL_FOLDERS_NAME = "Cartelle"
LABEL_ACCOUNTS_NAME = "Account"
LABEL_IDENTITY_NAME = "Identità"
LABEL_IDENTITIES_NAME = "Identità"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Sicurezza"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Temi"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "フォルダ"
LABEL_ACCOUNTS_NAME = "アカウント"
LABEL_IDENTITY_NAME = "Identity"
LABEL_IDENTITIES_NAME = "表示名"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Security"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "テーマ"

View file

@ -352,6 +352,7 @@ LABEL_FOLDERS_NAME = "메일함"
LABEL_ACCOUNTS_NAME = "계정"
LABEL_IDENTITY_NAME = "신원"
LABEL_IDENTITIES_NAME = "신원"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Security"
LABEL_SOCIAL_NAME = "소셜"
LABEL_THEMES_NAME = "테마"

View file

@ -364,12 +364,6 @@ LABEL_CHANGE_PASSWORD_NAME = "Slaptažodis"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Atgal"
[SETTINGS_FILTERS]
LEGEND_FILTERS = "Filtrai"
BUTTON_ADD_FILTER = "Sukurti filtrą"
BUTTON_DELETE_FILTER = "Panaikinti filtrą"
BUTTON_ADD_CONDITION = "Pridėti sąlygas"
[SETTINGS_IDENTITY]
LEGEND_IDENTITY = "Tapatybė"
LABEL_DISPLAY_NAME = "Vardas"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Mapes"
LABEL_ACCOUNTS_NAME = "Konti"
LABEL_IDENTITY_NAME = "Identity"
LABEL_IDENTITIES_NAME = "Identities"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Security"
LABEL_SOCIAL_NAME = "Sociālie"
LABEL_THEMES_NAME = "Tēmas"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Mappen"
LABEL_ACCOUNTS_NAME = "Accounts"
LABEL_IDENTITY_NAME = "Identiteit"
LABEL_IDENTITIES_NAME = "Identiteiten"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Beveiliging"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Thema's"

View file

@ -354,6 +354,7 @@ LABEL_FOLDERS_NAME = "Mapper"
LABEL_ACCOUNTS_NAME = "Kontoer"
LABEL_IDENTITY_NAME = "Identitet"
LABEL_IDENTITIES_NAME = "Identiteter"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Sikkerhet"
LABEL_SOCIAL_NAME = "Sosialt"
LABEL_THEMES_NAME = "Tema"

View file

@ -363,12 +363,6 @@ LABEL_CHANGE_PASSWORD_NAME = "Hasło"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Wstecz"
[SETTINGS_FILTERS]
LEGEND_FILTERS = "Filtry"
BUTTON_ADD_FILTER = "Dodaj filter"
BUTTON_DELETE_FILTER = "Usuń filter"
BUTTON_ADD_CONDITION = "Dodaj warunek"
[SETTINGS_IDENTITY]
LEGEND_IDENTITY = "Tożsamość"
LABEL_DISPLAY_NAME = "Imię i nazwisko"

View file

@ -364,12 +364,6 @@ LABEL_CHANGE_PASSWORD_NAME = "Senha"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Voltar"
[SETTINGS_FILTERS]
LEGEND_FILTERS = "Filtros"
BUTTON_ADD_FILTER = "Adicionar Filtro"
BUTTON_DELETE_FILTER = "Excluir Filtro"
BUTTON_ADD_CONDITION = "Adicionar Condição"
[SETTINGS_IDENTITY]
LEGEND_IDENTITY = "Identidade"
LABEL_DISPLAY_NAME = "Nome"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Pastas"
LABEL_ACCOUNTS_NAME = "Contas"
LABEL_IDENTITY_NAME = "Identidade"
LABEL_IDENTITIES_NAME = "Identidades"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Security"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Temas"

View file

@ -354,6 +354,7 @@ LABEL_FOLDERS_NAME = "Dosare"
LABEL_ACCOUNTS_NAME = "Conturi"
LABEL_IDENTITY_NAME = "Profil"
LABEL_IDENTITIES_NAME = "Profiluri"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Security"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Subiecte"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Папки"
LABEL_ACCOUNTS_NAME = "Аккаунты"
LABEL_IDENTITY_NAME = "Профиль"
LABEL_IDENTITIES_NAME = "Профили"
LABEL_FILTERS_NAME = "Фильтры"
LABEL_SECURITY_NAME = "Безопасность"
LABEL_SOCIAL_NAME = "Социальные"
LABEL_THEMES_NAME = "Темы"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Priečinky"
LABEL_ACCOUNTS_NAME = "Účty"
LABEL_IDENTITY_NAME = "Identita"
LABEL_IDENTITIES_NAME = "Identity"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "Security"
LABEL_SOCIAL_NAME = "Social"
LABEL_THEMES_NAME = "Motívy"

View file

@ -364,12 +364,6 @@ LABEL_CHANGE_PASSWORD_NAME = "Lösenord"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Tillbaka"
[SETTINGS_FILTERS]
LEGEND_FILTERS = "Filter"
BUTTON_ADD_FILTER = "Lägg till Filter"
BUTTON_DELETE_FILTER = "Ta bort Filter"
BUTTON_ADD_CONDITION = "Lägg till villkor"
[SETTINGS_IDENTITY]
LEGEND_IDENTITY = "Identitet"
LABEL_DISPLAY_NAME = "Namn"

View file

@ -362,12 +362,6 @@ LABEL_CHANGE_PASSWORD_NAME = "Şifre"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "Geri"
[SETTINGS_FILTERS]
LEGEND_FILTERS = "Filtreler"
BUTTON_ADD_FILTER = "Filtre Ekle"
BUTTON_DELETE_FILTER = "Delete Filter"
BUTTON_ADD_CONDITION = "Durum Ekle"
[SETTINGS_IDENTITY]
LEGEND_IDENTITY = "Kimlik"
LABEL_DISPLAY_NAME = "İsim"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "Теки"
LABEL_ACCOUNTS_NAME = "Акаунти"
LABEL_IDENTITY_NAME = "Профіль"
LABEL_IDENTITIES_NAME = "Профілі"
LABEL_FILTERS_NAME = "Фильтры"
LABEL_SECURITY_NAME = "Безпека"
LABEL_SOCIAL_NAME = "Соціальні"
LABEL_THEMES_NAME = "Теми"

View file

@ -355,6 +355,7 @@ LABEL_FOLDERS_NAME = "文件夹"
LABEL_ACCOUNTS_NAME = "账户"
LABEL_IDENTITY_NAME = "签名"
LABEL_IDENTITIES_NAME = "签名"
LABEL_FILTERS_NAME = "Filters"
LABEL_SECURITY_NAME = "安全"
LABEL_SOCIAL_NAME = "社交"
LABEL_THEMES_NAME = "主题"

View file

@ -364,12 +364,6 @@ LABEL_CHANGE_PASSWORD_NAME = "密碼"
LABEL_OPEN_PGP_NAME = "OpenPGP"
BUTTON_BACK = "返回"
[SETTINGS_FILTERS]
LEGEND_FILTERS = "Filters"
BUTTON_ADD_FILTER = "Add Filter"
BUTTON_DELETE_FILTER = "Delete Filter"
BUTTON_ADD_CONDITION = "Add Condition"
[SETTINGS_IDENTITY]
LEGEND_IDENTITY = "簽名"
LABEL_DISPLAY_NAME = "名稱"