Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
039a083347
52
CHANGELOG.md
52
CHANGELOG.md
|
@ -7,35 +7,51 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
## [0.6.7 / 5.47.1] - 2021-02-01
|
||||
|
||||
### Added
|
||||
- added UI Language auto detection
|
||||
|
||||
### Fixed
|
||||
- fixed brave.exe is now properly recognized as chrome based not firefox based
|
||||
- fixed issue introduced in 0.6.5 with recent edge builds
|
||||
-- the 0.6.5 behavioure can be set ona per process basis using "RpcMgmtSetComTimeout=POPPeeper.exe,n"
|
||||
- fixed grouping issues
|
||||
- fixed main windows restore state from tray
|
||||
|
||||
|
||||
|
||||
## [0.6.5 / 5.47.0] - 2021-01-31
|
||||
|
||||
### Added
|
||||
- added detection for waterfox.exe, Palemoon.exe, basilisk.exe and brave.exe firefox forks
|
||||
- added bluetooth API support, IPC port can be opened with "OpenBluetooth=y"
|
||||
-- this should resolve issues with many unity games hanging on startup for a long time
|
||||
- added detection for Waterfox.exe, Palemoon.exe and Basilisk.exe Firefox forks as well as Brave.exe
|
||||
- added Bluetooth API support, IPC port can be opened with "OpenBluetooth=y"
|
||||
-- this should resolve issues with many Unity games hanging on startup for a long time
|
||||
- added enhanced RPC/IPC interface tracing
|
||||
- when DefaultBox is not found by the SandMan UI, it will be recreated
|
||||
- "Disable Forced Programs" time is now saved and reloaded
|
||||
|
||||
### Changed
|
||||
- reduced sandman cpu usage
|
||||
- sandboxie.ini and templates.ini can now be UTF8 encoded
|
||||
- reduced SandMan CPU usage
|
||||
- Sandboxie.ini and Templates.ini can now be UTF8 encoded
|
||||
-- this feature is experimental, files without a UTF-8 Signature should be recognized also
|
||||
-- "ByteOrderMark=yes" is obsolete, sandboxie.ini is now always saved with a BOM/Signature
|
||||
-- "ByteOrderMark=yes" is obsolete, Sandboxie.ini is now always saved with a BOM/Signature
|
||||
- legacy language files can now be UTF8 encoded
|
||||
- reworked file migration behaviour, removed hardcoded lists in favour of templates
|
||||
-- you can now use "CopyAlways=", "DontCopy=" and "CopyEmpty=" that support the same syntax as "OpenFilePath="
|
||||
-- "CopyBlockDenyWrite=program.exe,y" makes a write open call to a file that won't be copied fail instead of turning it read only
|
||||
-- "CopyBlockDenyWrite=program.exe,y" makes a write open call to a file that won't be copied fail instead of turning it read-only
|
||||
- removed hardcoded SkipHook list in favour of templates
|
||||
|
||||
### Fixed
|
||||
- fixed old memory pool leak in the sbie driver
|
||||
- fixed issue with item selection in the access restrictions ui
|
||||
- fixed updater crash in sbiectrl.exe
|
||||
- fixed issues wih RPC calls introduced in sbie 5.33.1
|
||||
- fixed recently broken terminate all command
|
||||
- fixed a couple minor UI issues with Sandman UI
|
||||
- fixed IPC issue with windows 7 and 8 resulting in process termination
|
||||
- fixed old memory pool leak in the Sbie driver
|
||||
- fixed issue with item selection in the access restrictions UI
|
||||
- fixed updater crash in Sbiectrl.exe
|
||||
- fixed issues with RPC calls introduced in Sbie 5.33.1
|
||||
- fixed recently broken 'terminate all' command
|
||||
- fixed a couple minor UI issues with SandMan UI
|
||||
- fixed IPC issue with Windows 7 and 8 resulting in process termination
|
||||
- fixed "recover to" functionality
|
||||
|
||||
|
||||
|
@ -45,7 +61,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||
### Added
|
||||
- added confirmation prompts to terminate all commands
|
||||
- added window title to boxed process info
|
||||
- added winspy based sandboxed window finder
|
||||
- added WinSpy based sandboxed window finder
|
||||
- added option to view disabled boxes and double click on box to enable it
|
||||
|
||||
### Changed
|
||||
|
@ -56,9 +72,9 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||
### Fixed
|
||||
- fixed issues with window modality
|
||||
- fixed issues when main window was set to be always on top
|
||||
- fixed a driver issue with windows 10 insider build 21286
|
||||
- fixed a driver issue with Windows 10 insider build 21286
|
||||
- fixed issues with snapshot dialog
|
||||
- fixed an issue when writing to a path that already exist in the snapshot but not outside
|
||||
- fixed an issue when writing to a path that already exists in the snapshot but not outside
|
||||
|
||||
|
||||
|
||||
|
@ -70,7 +86,7 @@ This project adheres to [Semantic Versioning](http://semver.org/).
|
|||
- added internet prompt to now also allow internet access permanently
|
||||
- added browse button for box root folder in the SandMan UI
|
||||
- added explorer info message
|
||||
- added option to keep the sandman UI always on top
|
||||
- added option to keep the SandMan UI always on top
|
||||
- allow drag and drop file onto Sandman.exe to run it sandboxed
|
||||
- added start SandMan UI when a sandboxed application starts
|
||||
- recovery window can now list all files
|
||||
|
|
|
@ -21,8 +21,8 @@
|
|||
#ifndef _MY_VERSION_H
|
||||
#define _MY_VERSION_H
|
||||
|
||||
#define MY_VERSION_BINARY 5,47,0
|
||||
#define MY_VERSION_STRING "5.47.0"
|
||||
#define MY_VERSION_BINARY 5,47,1
|
||||
#define MY_VERSION_STRING "5.47.1"
|
||||
#define MY_VERSION_COMPAT "5.46.0" // this refers to the driver ABI compatibility
|
||||
|
||||
// These #defines are used by either Resource Compiler, or by NSIC installer
|
||||
|
|
|
@ -209,18 +209,8 @@ _FX BOOLEAN Config_MatchImageGroup(
|
|||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
_FX WCHAR* Config_MatchImageAndGetValue(WCHAR* value)
|
||||
_FX WCHAR* Config_MatchImageAndGetValue(WCHAR* value, ULONG* pMode)
|
||||
{
|
||||
ULONG image_len = (wcslen(Dll_ImageName) + 1) * sizeof(WCHAR);
|
||||
WCHAR* image_lwr = Dll_AllocTemp(image_len);
|
||||
if (!image_lwr) {
|
||||
SbieApi_Log(2305, NULL);
|
||||
return NULL;
|
||||
}
|
||||
memcpy(image_lwr, Dll_ImageName, image_len);
|
||||
_wcslwr(image_lwr);
|
||||
//image_len = wcslen(image_lwr);
|
||||
|
||||
//
|
||||
// if the setting indicates an image name followed by a comma,
|
||||
// then match the image name against the executing process.
|
||||
|
@ -242,9 +232,11 @@ _FX WCHAR* Config_MatchImageAndGetValue(WCHAR* value)
|
|||
else
|
||||
inv = FALSE;
|
||||
|
||||
if (pMode) *pMode = inv ? 1 : 0; // 1 - match by negation, 0 - exact match
|
||||
|
||||
ULONG len = (ULONG)(tmp - value);
|
||||
if (len) {
|
||||
match = Config_MatchImage(value, len, image_lwr, 1);
|
||||
match = Config_MatchImage(value, len, Dll_ImageName, 1);
|
||||
if (inv)
|
||||
match = !match;
|
||||
if (!match)
|
||||
|
@ -253,13 +245,32 @@ _FX WCHAR* Config_MatchImageAndGetValue(WCHAR* value)
|
|||
|
||||
value = tmp ? tmp + 1 : NULL;
|
||||
}
|
||||
else {
|
||||
|
||||
Dll_Free(image_lwr);
|
||||
if (pMode) *pMode = 2; // 2 - global default
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Config_GetSettingsForImageName_bool
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
BOOLEAN Config_GetSettingsForImageName_bool(const WCHAR* setting, BOOLEAN defval)
|
||||
{
|
||||
WCHAR value[16];
|
||||
Config_GetSettingsForImageName(setting, value, sizeof(value), NULL);
|
||||
if (*value == L'y' || *value == L'Y')
|
||||
return TRUE;
|
||||
if (*value == L'n' || *value == L'N')
|
||||
return FALSE;
|
||||
return defval;
|
||||
}
|
||||
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
// Config_InitPatternList
|
||||
//---------------------------------------------------------------------------
|
||||
|
@ -280,7 +291,7 @@ _FX BOOLEAN Config_InitPatternList(const WCHAR* setting, LIST* list)
|
|||
break;
|
||||
++index;
|
||||
|
||||
WCHAR* value = Config_MatchImageAndGetValue(conf_buf);
|
||||
WCHAR* value = Config_MatchImageAndGetValue(conf_buf, NULL);
|
||||
if (value)
|
||||
{
|
||||
pat = Pattern_Create(Dll_Pool, value, TRUE);
|
||||
|
@ -302,7 +313,7 @@ _FX NTSTATUS Config_GetSettingsForImageName(
|
|||
const WCHAR* setting, WCHAR* value, ULONG value_size, const WCHAR* deftext)
|
||||
{
|
||||
WCHAR conf_buf[2048];
|
||||
WCHAR* found_value = NULL;
|
||||
ULONG found_mode = -1;
|
||||
|
||||
ULONG index = 0;
|
||||
while (1) {
|
||||
|
@ -313,19 +324,22 @@ _FX NTSTATUS Config_GetSettingsForImageName(
|
|||
break;
|
||||
++index;
|
||||
|
||||
WCHAR* value = Config_MatchImageAndGetValue(conf_buf);
|
||||
if (!value)
|
||||
ULONG mode = -1;
|
||||
WCHAR* found_value = Config_MatchImageAndGetValue(conf_buf, &mode);
|
||||
if (!found_value || mode > found_mode)
|
||||
continue;
|
||||
if (found_value) {
|
||||
SbieApi_Log(2302, L"%S - %S [%S]", setting, Dll_ImageName, Dll_BoxName);
|
||||
break;
|
||||
}
|
||||
found_value = value;
|
||||
//if (found_value) {
|
||||
// SbieApi_Log(2302, L"%S - %S [%S]", setting, Dll_ImageName, Dll_BoxName);
|
||||
// break;
|
||||
//}
|
||||
wcscpy_s(value, value_size / sizeof(WCHAR), found_value);
|
||||
found_mode = mode;
|
||||
}
|
||||
|
||||
if (found_value) wcscpy_s(value, value_size / sizeof(WCHAR), found_value);
|
||||
else if (deftext) wcscpy_s(value, value_size / sizeof(WCHAR), deftext);
|
||||
else value[0] = L'\0';
|
||||
if (found_mode == -1) {
|
||||
if (deftext) wcscpy_s(value, value_size / sizeof(WCHAR), deftext);
|
||||
else value[0] = L'\0';
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
|
@ -741,13 +741,12 @@ BOOLEAN ComDlg32_Init(HMODULE);
|
|||
//---------------------------------------------------------------------------
|
||||
|
||||
|
||||
WCHAR* Config_MatchImageAndGetValue(WCHAR* value);
|
||||
|
||||
BOOLEAN Config_InitPatternList(const WCHAR* setting, LIST* list);
|
||||
|
||||
NTSTATUS Config_GetSettingsForImageName(
|
||||
const WCHAR* setting, WCHAR* value, ULONG value_size, const WCHAR* deftext);
|
||||
|
||||
BOOLEAN Config_GetSettingsForImageName_bool(const WCHAR* setting, BOOLEAN defval);
|
||||
|
||||
//---------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -559,7 +559,7 @@ _FX void Dll_SelectImageType(void)
|
|||
L"waterfox.exe", (WCHAR *)DLL_IMAGE_MOZILLA_FIREFOX,
|
||||
L"palemoon.exe", (WCHAR *)DLL_IMAGE_MOZILLA_FIREFOX,
|
||||
L"basilisk.exe", (WCHAR *)DLL_IMAGE_MOZILLA_FIREFOX,
|
||||
L"brave.exe", (WCHAR *)DLL_IMAGE_MOZILLA_FIREFOX,
|
||||
L"seamonkey.exe", (WCHAR *)DLL_IMAGE_MOZILLA_FIREFOX,
|
||||
|
||||
L"wmplayer.exe", (WCHAR *)DLL_IMAGE_WINDOWS_MEDIA_PLAYER,
|
||||
L"winamp.exe", (WCHAR *)DLL_IMAGE_NULLSOFT_WINAMP,
|
||||
|
@ -575,7 +575,9 @@ _FX void Dll_SelectImageType(void)
|
|||
L"neon.exe", (WCHAR *)DLL_IMAGE_GOOGLE_CHROME,
|
||||
L"maxthon.exe", (WCHAR *)DLL_IMAGE_GOOGLE_CHROME,
|
||||
L"vivaldi.exe", (WCHAR *)DLL_IMAGE_GOOGLE_CHROME,
|
||||
L"msedge.exe", (WCHAR *)DLL_IMAGE_GOOGLE_CHROME, // modern edge is chromium based
|
||||
L"brave.exe", (WCHAR *)DLL_IMAGE_GOOGLE_CHROME,
|
||||
L"browser.exe", (WCHAR *)DLL_IMAGE_GOOGLE_CHROME, // Yandex Browser
|
||||
L"msedge.exe", (WCHAR *)DLL_IMAGE_GOOGLE_CHROME, // Modern Edge is Chromium-based
|
||||
L"GoogleUpdate.exe", (WCHAR *)DLL_IMAGE_GOOGLE_UPDATE,
|
||||
|
||||
L"AcroRd32.exe", (WCHAR *)DLL_IMAGE_ACROBAT_READER,
|
||||
|
|
|
@ -72,10 +72,7 @@ _FX BOOLEAN File_InitFileMigration(void)
|
|||
Config_InitPatternList(L"CopyAlways", &File_MigrationOptions[FILE_COPY_CONTENT]);
|
||||
Config_InitPatternList(L"DontCopy", &File_MigrationOptions[FILE_DONT_COPY]);
|
||||
|
||||
WCHAR conf[16];
|
||||
Config_GetSettingsForImageName(L"CopyBlockDenyWrite", conf, sizeof(conf), NULL);
|
||||
if (*conf == L'y' || *conf == L'Y')
|
||||
File_MigrationDenyWrite = TRUE;
|
||||
File_MigrationDenyWrite = Config_GetSettingsForImageName_bool(L"CopyBlockDenyWrite", FALSE);
|
||||
|
||||
File_InitCopyLimit();
|
||||
|
||||
|
|
|
@ -188,11 +188,13 @@ _FX BOOLEAN RpcRt_Init(HMODULE module)
|
|||
|
||||
SBIEDLL_HOOK(RpcRt_, RpcBindingCreateW);
|
||||
|
||||
__sys_RpcMgmtSetComTimeout = (P_RpcMgmtSetComTimeout)Ldr_GetProcAddrNew(DllName_rpcrt4, L"RpcMgmtSetComTimeout", "RpcMgmtSetComTimeout");
|
||||
if(Config_GetSettingsForImageName_bool(L"RpcMgmtSetComTimeout", TRUE))
|
||||
__sys_RpcMgmtSetComTimeout = (P_RpcMgmtSetComTimeout)Ldr_GetProcAddrNew(DllName_rpcrt4, L"RpcMgmtSetComTimeout", "RpcMgmtSetComTimeout");
|
||||
}
|
||||
|
||||
WCHAR wsTraceOptions[4];
|
||||
if (SbieApi_QueryConf(NULL, L"IpcTrace", 0, wsTraceOptions, sizeof(wsTraceOptions)) == STATUS_SUCCESS && wsTraceOptions[0] != L'\0')
|
||||
if ((Dll_OsBuild >= 8400) // win8 and above
|
||||
&& SbieApi_QueryConf(NULL, L"IpcTrace", 0, wsTraceOptions, sizeof(wsTraceOptions)) == STATUS_SUCCESS && wsTraceOptions[0] != L'\0')
|
||||
{
|
||||
#ifdef _WIN64
|
||||
|
||||
|
@ -461,7 +463,7 @@ _FX ULONG RpcRt_RpcBindingFromStringBindingW(
|
|||
//OutputDebugString(msg);
|
||||
SbieApi_MonitorPut2(MONITOR_IPC | MONITOR_TRACE, msg, FALSE);
|
||||
}
|
||||
//__sys_RpcMgmtSetComTimeout(*OutBinding, RPC_C_BINDING_TIMEOUT); // this breaks things
|
||||
if(__sys_RpcMgmtSetComTimeout) __sys_RpcMgmtSetComTimeout(*OutBinding, RPC_C_BINDING_TIMEOUT);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
@ -525,7 +527,7 @@ _FX RPC_STATUS RpcRt_RpcBindingCreateW(
|
|||
//OutputDebugString(msg);
|
||||
SbieApi_MonitorPut2(MONITOR_IPC | MONITOR_TRACE, msg, FALSE);
|
||||
}
|
||||
//__sys_RpcMgmtSetComTimeout(*Binding, RPC_C_BINDING_TIMEOUT); // this breaks things
|
||||
if (__sys_RpcMgmtSetComTimeout) __sys_RpcMgmtSetComTimeout(*Binding, RPC_C_BINDING_TIMEOUT);
|
||||
return status;
|
||||
}
|
||||
|
||||
|
|
Binary file not shown.
|
@ -2232,11 +2232,11 @@ I file e le cartelle di rete sono normalmente visibili alle applicazioni present
|
|||
.
|
||||
|
||||
3957;txt;01
|
||||
Per impedire alle applicazioni presenti nell'area virtuale di accedere a file e cartelle di rete, è possibile attivare questa impostazione. I file e le cartelle di rete possono essere aperti singolarmente alle applicazioni dell'area virtuale, aggiungendoli sotto la sezione Accesso alle risorse -> Accesso ai file.
|
||||
Per impedire alle applicazioni presenti nell'area virtuale di accedere a file e cartelle di rete, è possibile attivare questa impostazione. I file e le cartelle di rete possono essere aperti per le applicazioni dell'area virtuale, aggiungendoli sotto Accesso alle risorse -> Accesso ai file.
|
||||
.
|
||||
|
||||
3958;txt;01
|
||||
Blocca i file e le cartelle di rete, a meno che non vengano aperti singolarmente.
|
||||
Blocca i file e le cartelle di rete, a meno che non siano aperti individualmente.
|
||||
.
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
|
|
|
@ -70,6 +70,7 @@ CComboInputDialog::CComboInputDialog(QWidget *parent) :
|
|||
{
|
||||
setModal(true);
|
||||
setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
|
||||
d->combo->setFocus();
|
||||
connect(d->buttonBox, SIGNAL(accepted()), SLOT(accept()));
|
||||
connect(d->buttonBox, SIGNAL(rejected()), SLOT(reject()));
|
||||
connect(d->buttonBox, SIGNAL(clicked(QAbstractButton*)),
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>SandboxiePlus Settings</string>
|
||||
<string>SandboxiePlus - Recovery</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
|
|
|
@ -85,6 +85,9 @@
|
|||
<property name="text">
|
||||
<string>Use Dark Theme</string>
|
||||
</property>
|
||||
<property name="tristate">
|
||||
<bool>true</bool>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="10" column="1">
|
||||
|
|
|
@ -29,7 +29,7 @@
|
|||
</size>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>SandboxiePlus Settings</string>
|
||||
<string>SandboxiePlus - Snapshots</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
|
|
|
@ -91,7 +91,8 @@ QList<QVariant> CSbieModel::MakeBoxPath(const QVariant& Name, const QMap<QString
|
|||
QString ParentID = FindParent(Name, Groups);
|
||||
|
||||
QList<QVariant> Path;
|
||||
if (!ParentID.isEmpty() && ParentID != Name)
|
||||
if (!ParentID.isEmpty() && ParentID != Name
|
||||
&& !Groups.value(CSbieModel__RemoveGroupMark(Name.toString())).contains(CSbieModel__RemoveGroupMark(ParentID)))
|
||||
{
|
||||
Path = MakeBoxPath(ParentID, Groups);
|
||||
Path.append(ParentID);
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
#include "Windows/RecoveryWindow.h"
|
||||
#include <QtConcurrent>
|
||||
#include "../MiscHelpers/Common/SettingsWidgets.h"
|
||||
#include "Windows/NewBoxWindow.h"
|
||||
#include "Windows/OptionsWindow.h"
|
||||
#include <QProxyStyle>
|
||||
|
||||
|
@ -99,8 +98,7 @@ CSandMan::CSandMan(QWidget *parent)
|
|||
|
||||
m_LanguageId = 1033; // lang en_us
|
||||
LoadLanguage();
|
||||
if (theConf->GetBool("Options/DarkTheme", false))
|
||||
SetDarkTheme(true);
|
||||
SetUITheme();
|
||||
|
||||
m_bExit = false;
|
||||
|
||||
|
@ -1063,15 +1061,7 @@ void CSandMan::OnNotAuthorized(bool bLoginRequired, bool& bRetry)
|
|||
|
||||
void CSandMan::OnNewBox()
|
||||
{
|
||||
CNewBoxWindow NewBoxWindow(this);
|
||||
bool bAlwaysOnTop = theConf->GetBool("Options/AlwaysOnTop", false);
|
||||
NewBoxWindow.setWindowFlag(Qt::WindowStaysOnTopHint, bAlwaysOnTop);
|
||||
if (NewBoxWindow.exec() == 1)
|
||||
{
|
||||
theAPI->ReloadBoxes();
|
||||
m_pBoxView->Refresh();
|
||||
m_pBoxView->SelectBox(NewBoxWindow.m_Name);
|
||||
}
|
||||
m_pBoxView->AddNewBox();
|
||||
}
|
||||
|
||||
void CSandMan::OnEmptyAll()
|
||||
|
@ -1319,7 +1309,7 @@ void CSandMan::OnSettings()
|
|||
|
||||
void CSandMan::UpdateSettings()
|
||||
{
|
||||
SetDarkTheme(theConf->GetBool("Options/DarkTheme", false));
|
||||
SetUITheme();
|
||||
|
||||
//m_pBoxView->UpdateRunMenu();
|
||||
|
||||
|
@ -1620,7 +1610,7 @@ void CSandMan::OnSysTray(QSystemTrayIcon::ActivationReason Reason)
|
|||
NullifyTrigger = false;
|
||||
return;
|
||||
}
|
||||
setWindowState(Qt::WindowActive);
|
||||
this->setWindowState((this->windowState() & ~Qt::WindowMinimized) | Qt::WindowActive);
|
||||
SetForegroundWindow(MainWndHandle);
|
||||
} );
|
||||
}
|
||||
|
@ -1944,8 +1934,16 @@ void CSandMan::OnAbout()
|
|||
QMessageBox::aboutQt(this);
|
||||
}
|
||||
|
||||
void CSandMan::SetDarkTheme(bool bDark)
|
||||
void CSandMan::SetUITheme()
|
||||
{
|
||||
bool bDark;
|
||||
int iDark = theConf->GetInt("Options/UseDarkTheme", 2);
|
||||
if (iDark == 2) {
|
||||
QSettings settings("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Themes\\Personalize", QSettings::NativeFormat);
|
||||
bDark = (settings.value("AppsUseLightTheme") == 0);
|
||||
} else
|
||||
bDark = (iDark == 1);
|
||||
|
||||
if (bDark)
|
||||
{
|
||||
QApplication::setStyle(QStyleFactory::create("Fusion"));
|
||||
|
@ -1986,7 +1984,10 @@ void CSandMan::LoadLanguage()
|
|||
m_Translation.clear();
|
||||
m_LanguageId = 0;
|
||||
|
||||
QString Lang = theConf->GetString("Options/Language");
|
||||
QString Lang = theConf->GetString("Options/UiLanguage");
|
||||
if(Lang.isEmpty())
|
||||
Lang = QLocale::system().name();
|
||||
|
||||
if (!Lang.isEmpty())
|
||||
{
|
||||
m_LanguageId = LocaleNameToLCID(Lang.toStdWString().c_str(), 0);
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
|
||||
#define VERSION_MJR 0
|
||||
#define VERSION_MIN 6
|
||||
#define VERSION_REV 5
|
||||
#define VERSION_REV 7
|
||||
#define VERSION_UPD 0
|
||||
|
||||
|
||||
|
@ -235,7 +235,7 @@ private:
|
|||
CProgressDialog* m_pProgressDialog;
|
||||
CPopUpWindow* m_pPopUpWindow;
|
||||
|
||||
void SetDarkTheme(bool bDark);
|
||||
void SetUITheme();
|
||||
QString m_DefaultStyle;
|
||||
QPalette m_DefaultPalett;
|
||||
|
||||
|
@ -244,6 +244,7 @@ private:
|
|||
QByteArray m_Translation;
|
||||
public:
|
||||
quint32 m_LanguageId;
|
||||
bool m_DarkTheme;
|
||||
};
|
||||
|
||||
extern CSandMan* theGUI;
|
|
@ -39,6 +39,7 @@ win32:RC_FILE = SandMan.rc
|
|||
TRANSLATIONS += sandman_de.ts \
|
||||
sandman_pt.ts \
|
||||
sandman_ru.ts \
|
||||
sandman_pl.ts \
|
||||
sandman_tr.ts \
|
||||
sandman_zh.ts \
|
||||
sandman_zh-TW.ts
|
||||
|
|
|
@ -259,6 +259,7 @@
|
|||
<ItemGroup>
|
||||
<None Include="Resources\finder.cur" />
|
||||
<None Include="sandman_de.ts" />
|
||||
<None Include="sandman_pl.ts" />
|
||||
<None Include="sandman_pt.ts" />
|
||||
<None Include="sandman_ru.ts" />
|
||||
<None Include="sandman_tr.ts" />
|
||||
|
|
|
@ -222,6 +222,9 @@
|
|||
<None Include="sandman_zh-TW.ts">
|
||||
<Filter>Translation Files</Filter>
|
||||
</None>
|
||||
<None Include="sandman_pl.ts">
|
||||
<Filter>Translation Files</Filter>
|
||||
</None>
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<ResourceCompile Include="SandMan.rc">
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <QFileIconProvider>
|
||||
#include "../../MiscHelpers/Common/CheckableMessageBox.h"
|
||||
#include "../Windows/RecoveryWindow.h"
|
||||
#include "../Windows/NewBoxWindow.h"
|
||||
|
||||
#include "qt_windows.h"
|
||||
#include "qwindowdefs_win.h"
|
||||
|
@ -57,7 +58,7 @@ CSbieView::CSbieView(QWidget* parent) : CPanelView(parent)
|
|||
|
||||
connect(m_pSbieModel, SIGNAL(ToolTipCallback(const QVariant&, QString&)), this, SLOT(OnToolTipCallback(const QVariant&, QString&)), Qt::DirectConnection);
|
||||
|
||||
m_pNewBox = m_pMenu->addAction(CSandMan::GetIcon("NewBox"), tr("Create New Box"), theGUI, SLOT(OnNewBox()));
|
||||
m_pNewBox = m_pMenu->addAction(CSandMan::GetIcon("NewBox"), tr("Create New Box"), this, SLOT(OnGroupAction()));
|
||||
m_pAddGroupe = m_pMenu->addAction(CSandMan::GetIcon("Group"), tr("Add Group"), this, SLOT(OnGroupAction()));
|
||||
m_pDelGroupe = m_pMenu->addAction(CSandMan::GetIcon("Remove"), tr("Remove Group"), this, SLOT(OnGroupAction()));
|
||||
m_iMenuTop = m_pMenu->actions().count();
|
||||
|
@ -380,7 +381,22 @@ void CSbieView::OnGroupAction()
|
|||
{
|
||||
QAction* Action = qobject_cast<QAction*>(sender());
|
||||
|
||||
if (Action == m_pAddGroupe)
|
||||
if (Action == m_pNewBox)
|
||||
{
|
||||
QString Name = AddNewBox();
|
||||
if (Name.isEmpty())
|
||||
return;
|
||||
|
||||
QModelIndex ModelIndex = m_pSortProxy->mapToSource(m_pSbieTree->currentIndex());
|
||||
QString Parent;
|
||||
if (m_pSbieModel->GetType(ModelIndex) == CSbieModel::eGroup)
|
||||
Parent = m_pSbieModel->GetID(ModelIndex).toString();
|
||||
|
||||
m_Groups[Parent].append(Name);
|
||||
|
||||
m_pSbieModel->Clear(); //todo improve that
|
||||
}
|
||||
else if (Action == m_pAddGroupe)
|
||||
{
|
||||
QString Name = QInputDialog::getText(this, "Sandboxie-Plus", tr("Please enter a new group name"), QLineEdit::Normal);
|
||||
if (Name.isEmpty() || m_Groups.contains(Name))
|
||||
|
@ -433,9 +449,15 @@ void CSbieView::OnGroupAction()
|
|||
Name = m_pSbieModel->GetID(ModelIndex).toString();
|
||||
else if (m_pSbieModel->GetType(ModelIndex) == CSbieModel::eBox)
|
||||
Name = m_pSbieModel->GetSandBox(ModelIndex)->GetName();
|
||||
if (Name.isEmpty() || Name == Group)
|
||||
|
||||
if (Name.isEmpty())
|
||||
continue;
|
||||
|
||||
if (Name == Group || m_Groups.value(Name).contains(Group)) {
|
||||
QMessageBox("Sandboxie-Plus", tr("A group can not be its own parent."), QMessageBox::Critical, QMessageBox::Ok, QMessageBox::NoButton, QMessageBox::NoButton, this).exec();
|
||||
continue;
|
||||
}
|
||||
|
||||
// remove from old
|
||||
for (auto I = m_Groups.begin(); I != m_Groups.end(); ++I)
|
||||
I.value().removeAll(Name);
|
||||
|
@ -452,6 +474,21 @@ void CSbieView::OnGroupAction()
|
|||
UpdateGroupMenu();
|
||||
}
|
||||
|
||||
QString CSbieView::AddNewBox()
|
||||
{
|
||||
CNewBoxWindow NewBoxWindow(this);
|
||||
bool bAlwaysOnTop = theConf->GetBool("Options/AlwaysOnTop", false);
|
||||
NewBoxWindow.setWindowFlag(Qt::WindowStaysOnTopHint, bAlwaysOnTop);
|
||||
if (NewBoxWindow.exec() == 1)
|
||||
{
|
||||
theAPI->ReloadBoxes();
|
||||
Refresh();
|
||||
SelectBox(NewBoxWindow.m_Name);
|
||||
return NewBoxWindow.m_Name;
|
||||
}
|
||||
return QString();
|
||||
}
|
||||
|
||||
void CSbieView::OnSandBoxAction()
|
||||
{
|
||||
QList<SB_STATUS> Results;
|
||||
|
|
|
@ -17,6 +17,7 @@ public:
|
|||
|
||||
//virtual void UpdateRunMenu();
|
||||
|
||||
virtual QString AddNewBox();
|
||||
virtual void SelectBox(const QString& Name);
|
||||
|
||||
signals:
|
||||
|
|
|
@ -16,7 +16,7 @@ public:
|
|||
QSize s = QProxyStyle::sizeFromContents(type, option, size, widget);
|
||||
if (type == QStyle::CT_TabBarTab) {
|
||||
s.transpose();
|
||||
if(theConf->GetBool("Options/DarkTheme", false))
|
||||
if(theGUI->m_DarkTheme)
|
||||
s.setHeight(s.height() * 13 / 10);
|
||||
else
|
||||
s.setHeight(s.height() * 15 / 10);
|
||||
|
@ -368,12 +368,20 @@ void COptionsWindow::closeEvent(QCloseEvent *e)
|
|||
|
||||
bool COptionsWindow::eventFilter(QObject *source, QEvent *event)
|
||||
{
|
||||
if (event->type() == QEvent::KeyPress && ((QKeyEvent*)event)->key() == Qt::Key_Escape && ((QKeyEvent*)event)->modifiers() == Qt::NoModifier)
|
||||
if (event->type() == QEvent::KeyPress && ((QKeyEvent*)event)->key() == Qt::Key_Escape
|
||||
&& ((QKeyEvent*)event)->modifiers() == Qt::NoModifier)
|
||||
{
|
||||
CloseAccessEdit(false);
|
||||
return true; // cancel event
|
||||
}
|
||||
|
||||
if (event->type() == QEvent::KeyPress && (((QKeyEvent*)event)->key() == Qt::Key_Enter || ((QKeyEvent*)event)->key() == Qt::Key_Return)
|
||||
&& ((QKeyEvent*)event)->modifiers() == Qt::NoModifier)
|
||||
{
|
||||
CloseAccessEdit(true);
|
||||
return true; // cancel event
|
||||
}
|
||||
|
||||
if (source == ui.treeAccess->viewport() && event->type() == QEvent::MouseButtonPress)
|
||||
{
|
||||
CloseAccessEdit();
|
||||
|
@ -996,9 +1004,10 @@ QString COptionsWindow::SelectProgram(bool bOrGroup)
|
|||
if (!progDialog.exec())
|
||||
return QString();
|
||||
|
||||
// Note: pressing enter adds the value to the combo list !
|
||||
QString Program = progDialog.value();
|
||||
int Index = progDialog.findValue(Program);
|
||||
if (Index != -1)
|
||||
if (Index != -1 && progDialog.data().isValid())
|
||||
Program = progDialog.data().toString();
|
||||
|
||||
return Program;
|
||||
|
|
|
@ -7,6 +7,26 @@
|
|||
#include "../QSbieAPI/SbieUtils.h"
|
||||
|
||||
|
||||
int CSettingsWindow__Chk2Int(Qt::CheckState state)
|
||||
{
|
||||
switch (state) {
|
||||
case Qt::Unchecked: return 0;
|
||||
case Qt::Checked: return 1;
|
||||
default:
|
||||
case Qt::PartiallyChecked: return 2;
|
||||
}
|
||||
}
|
||||
|
||||
Qt::CheckState CSettingsWindow__Int2Chk(int state)
|
||||
{
|
||||
switch (state) {
|
||||
case 0: return Qt::Unchecked;
|
||||
case 1: return Qt::Checked;
|
||||
default:
|
||||
case 2: return Qt::PartiallyChecked;
|
||||
}
|
||||
}
|
||||
|
||||
CSettingsWindow::CSettingsWindow(QWidget *parent)
|
||||
: QDialog(parent)
|
||||
{
|
||||
|
@ -27,7 +47,8 @@ CSettingsWindow::CSettingsWindow(QWidget *parent)
|
|||
|
||||
ui.tabs->setCurrentIndex(0);
|
||||
|
||||
ui.uiLang->addItem("International English", "");
|
||||
ui.uiLang->addItem(tr("Auto Detection"), "");
|
||||
ui.uiLang->addItem("International English", "en");
|
||||
QDir langDir(QApplication::applicationDirPath() + "/translations/");
|
||||
foreach(const QString& langFile, langDir.entryList(QStringList("sandman_*.qm"), QDir::Files))
|
||||
{
|
||||
|
@ -36,29 +57,20 @@ CSettingsWindow::CSettingsWindow(QWidget *parent)
|
|||
QString Lang = Locale.nativeLanguageName();
|
||||
ui.uiLang->addItem(Lang, Code);
|
||||
}
|
||||
ui.uiLang->setCurrentIndex(ui.uiLang->findData(theConf->GetString("Options/Language")));
|
||||
ui.uiLang->setCurrentIndex(ui.uiLang->findData(theConf->GetString("Options/UiLanguage")));
|
||||
|
||||
ui.chkAutoStart->setChecked(IsAutorunEnabled());
|
||||
ui.chkSvcStart->setChecked(theAPI->GetUserSettings()->GetBool("SbieCtrl_EnableAutoStart", true));
|
||||
|
||||
switch (theConf->GetInt("Options/CheckForUpdates", 2)) {
|
||||
case 0: ui.chkAutoUpdate->setCheckState(Qt::Unchecked); break;
|
||||
case 1: ui.chkAutoUpdate->setCheckState(Qt::Checked); break;
|
||||
case 2: ui.chkAutoUpdate->setCheckState(Qt::PartiallyChecked); break;
|
||||
}
|
||||
|
||||
ui.chkAutoUpdate->setCheckState(CSettingsWindow__Int2Chk(theConf->GetInt("Options/CheckForUpdates", 2)));
|
||||
|
||||
ui.chkShellMenu->setCheckState((Qt::CheckState)CSbieUtils::IsContextMenu());
|
||||
|
||||
ui.chkDarkTheme->setChecked(theConf->GetBool("Options/DarkTheme", false));
|
||||
ui.chkDarkTheme->setCheckState(CSettingsWindow__Int2Chk(theConf->GetInt("Options/UseDarkTheme", 2)));
|
||||
|
||||
ui.chkNotifications->setChecked(theConf->GetBool("Options/ShowNotifications", true));
|
||||
|
||||
switch (theConf->GetInt("Options/OpenUrlsSandboxed", 2)) {
|
||||
case 0: ui.chkSandboxUrls->setCheckState(Qt::Unchecked); break;
|
||||
case 1: ui.chkSandboxUrls->setCheckState(Qt::Checked); break;
|
||||
case 2: ui.chkSandboxUrls->setCheckState(Qt::PartiallyChecked); break;
|
||||
}
|
||||
ui.chkSandboxUrls->setCheckState(CSettingsWindow__Int2Chk(theConf->GetInt("Options/OpenUrlsSandboxed", 2)));
|
||||
|
||||
ui.chkShowRecovery->setChecked(theConf->GetBool("Options/ShowRecovery", false));
|
||||
|
||||
|
@ -177,18 +189,14 @@ void CSettingsWindow::closeEvent(QCloseEvent *e)
|
|||
|
||||
void CSettingsWindow::apply()
|
||||
{
|
||||
theConf->SetValue("Options/Language", ui.uiLang->currentData());
|
||||
theConf->SetValue("Options/UiLanguage", ui.uiLang->currentData());
|
||||
|
||||
theConf->SetValue("Options/DarkTheme", ui.chkDarkTheme->isChecked());
|
||||
theConf->SetValue("Options/UseDarkTheme", CSettingsWindow__Chk2Int(ui.chkDarkTheme->checkState()));
|
||||
|
||||
AutorunEnable(ui.chkAutoStart->isChecked());
|
||||
theAPI->GetUserSettings()->SetBool("SbieCtrl_EnableAutoStart", ui.chkSvcStart->isChecked());
|
||||
|
||||
switch (ui.chkAutoUpdate->checkState()) {
|
||||
case Qt::Unchecked: theConf->SetValue("Options/CheckForUpdates", 0); break;
|
||||
case Qt::PartiallyChecked: theConf->SetValue("Options/CheckForUpdates", 2); break;
|
||||
case Qt::Checked: theConf->SetValue("Options/CheckForUpdates", 1); break;
|
||||
}
|
||||
theConf->SetValue("Options/CheckForUpdates", CSettingsWindow__Chk2Int(ui.chkAutoUpdate->checkState()));
|
||||
|
||||
if (ui.chkShellMenu->checkState() != CSbieUtils::IsContextMenu())
|
||||
{
|
||||
|
@ -200,11 +208,7 @@ void CSettingsWindow::apply()
|
|||
|
||||
theConf->SetValue("Options/ShowNotifications", ui.chkNotifications->isChecked());
|
||||
|
||||
switch (ui.chkSandboxUrls->checkState()) {
|
||||
case Qt::Unchecked: theConf->SetValue("Options/OpenUrlsSandboxed", 0); break;
|
||||
case Qt::PartiallyChecked: theConf->SetValue("Options/OpenUrlsSandboxed", 2); break;
|
||||
case Qt::Checked: theConf->SetValue("Options/OpenUrlsSandboxed", 1); break;
|
||||
}
|
||||
theConf->SetValue("Options/OpenUrlsSandboxed", CSettingsWindow__Chk2Int(ui.chkSandboxUrls->checkState()));
|
||||
|
||||
theConf->SetValue("Options/ShowRecovery", ui.chkShowRecovery->isChecked());
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1430,6 +1430,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<source>This Sandbox is empty.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A group can not be its own parent.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSettingsWindow</name>
|
||||
|
@ -1477,6 +1481,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<source>Passwords did not match, please retry.</source>
|
||||
<translation>Пароли не совпадают, повторите попытку.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto Detection</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSnapshotsWindow</name>
|
||||
|
@ -2125,7 +2133,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus Settings</source>
|
||||
<translation>Настройки SandboxiePlus</translation>
|
||||
<translation type="vanished">Настройки SandboxiePlus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Folder</source>
|
||||
|
@ -2155,6 +2163,10 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
<source>TextLabel</source>
|
||||
<translation>Текстовая метка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus - Recovery</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsWindow</name>
|
||||
|
@ -2347,7 +2359,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus Settings</source>
|
||||
<translation>Настройки SandboxiePlus</translation>
|
||||
<translation type="vanished">Настройки SandboxiePlus</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description:</source>
|
||||
|
@ -2369,5 +2381,9 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
<source>Snapshot Actions</source>
|
||||
<translation>Действия со снимками</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus - Snapshots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -1446,6 +1446,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<source>This sandbox is disabled, do you want to enable it?</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A group can not be its own parent.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSettingsWindow</name>
|
||||
|
@ -1493,6 +1497,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<source>Passwords did not match, please retry.</source>
|
||||
<translation>Parolalar eşleşmedi, lütfen tekrar deneyin.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto Detection</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSnapshotsWindow</name>
|
||||
|
@ -2145,7 +2153,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus Settings</source>
|
||||
<translation>SandboxiePlus Ayarları</translation>
|
||||
<translation type="vanished">SandboxiePlus Ayarları</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Folder</source>
|
||||
|
@ -2175,6 +2183,10 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle
|
|||
<source>TextLabel</source>
|
||||
<translation>Metin Etiketi</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus - Recovery</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsWindow</name>
|
||||
|
@ -2367,7 +2379,7 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus Settings</source>
|
||||
<translation>SandboxiePlus Ayarları</translation>
|
||||
<translation type="vanished">SandboxiePlus Ayarları</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description:</source>
|
||||
|
@ -2389,5 +2401,9 @@ Not: Bir korumalı kutuya ilişkin Zorlanmış Programlar ve Zorlanmış Dizinle
|
|||
<source>Snapshot Actions</source>
|
||||
<translation>Anlık Görüntü Eylemleri</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus - Snapshots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -31,7 +31,7 @@
|
|||
<name>CNewBoxWindow</name>
|
||||
<message>
|
||||
<source>New Box</source>
|
||||
<translation>新沙盒</translation>
|
||||
<translation>新沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hardened</source>
|
||||
|
@ -43,11 +43,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Legacy (old sbie behaviour)</source>
|
||||
<translation type="vanished">遺留 (舊沙盒行為)</translation>
|
||||
<translation type="vanished">遺留 (舊 Sbie 行為)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sandboxie-Plus - Create New Box</source>
|
||||
<translation>Sandboxie-Plus - 建立新沙盒</translation>
|
||||
<translation>Sandboxie-Plus - 建立新沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Legacy Sandboxie Behaviour</source>
|
||||
|
@ -94,7 +94,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Display box name in title</source>
|
||||
<translation>標題顯示沙盒名稱</translation>
|
||||
<translation>標題顯示沙盤名稱</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Folder</source>
|
||||
|
@ -122,7 +122,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>COM objects must be specified by their GUID, like: {00000000-0000-0000-0000-000000000000}</source>
|
||||
<translation>COM 物件必須被它們的 GUID 所限定,例如: {00000000-0000-0000-0000-000000000000}</translation>
|
||||
<translation>COM 物件必須被它們的 GUID 所指定,例如: {00000000-0000-0000-0000-000000000000}</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 (%2)</source>
|
||||
|
@ -198,7 +198,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>RT interfaces must be specified by their name.</source>
|
||||
<translation>RT 介面必須被它們名稱所限定。</translation>
|
||||
<translation>RT 介面必須被它們名稱所指定。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse for Program</source>
|
||||
|
@ -206,7 +206,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Please enter a program path</source>
|
||||
<translation>請輸入程式路徑</translation>
|
||||
<translation>請輸入程式位址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please enter a service identifier</source>
|
||||
|
@ -226,7 +226,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>This sandbox has been deleted hence configuration can not be saved.</source>
|
||||
<translation>沙盒已刪除,故配置沒有被儲存</translation>
|
||||
<translation>沙盤已刪除,故配置沒有被儲存</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Some changes haven't been saved yet, do you really want to close this options window?</source>
|
||||
|
@ -238,43 +238,43 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>管理</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct All</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>管理全部</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>已關閉</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closed RT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>已關閉 RT</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read Only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>唯讀</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hidden</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>隱藏</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation type="unfinished">未知</translation>
|
||||
<translation>未知</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File/Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>檔案和資料夾</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Registry</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>登錄</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IPC Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>IPC 位址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wnd Class</source>
|
||||
|
@ -282,7 +282,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>COM Object</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>COM 物件</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -358,7 +358,7 @@
|
|||
<name>CPopUpRecovery</name>
|
||||
<message>
|
||||
<source>Recover to:</source>
|
||||
<translation>恢復到:</translation>
|
||||
<translation>恢復至:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Browse</source>
|
||||
|
@ -386,7 +386,7 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Open file recovery for this box</source>
|
||||
<translation>為此沙盒開啟檔案恢復</translation>
|
||||
<translation>為此沙盤開啟檔案恢復</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dismiss</source>
|
||||
|
@ -398,11 +398,11 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Dismiss all from this box</source>
|
||||
<translation>此沙盒忽略全部</translation>
|
||||
<translation>為此沙盤全部忽略</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Disable quick recovery until the box restarts</source>
|
||||
<translation>在沙盒重新啟動前禁用快速恢復</translation>
|
||||
<translation>在沙盤重新啟動前禁用快速恢復</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select Directory</source>
|
||||
|
@ -429,12 +429,12 @@
|
|||
</message>
|
||||
<message>
|
||||
<source>Do you want to allow the print spooler to write outside the sandbox for %1 (%2)?</source>
|
||||
<translation>您想允許列印服務在沙盒外寫入,因為 %1 (%2) 嗎?</translation>
|
||||
<translation>您想允許列印服務在沙盤外寫入,因 %1 (%2) 嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2?
|
||||
File name: %3</source>
|
||||
<translation type="vanished">您確定允許 %4 (%5) 複製大型檔案 %1 至沙盒: %2?
|
||||
<translation type="vanished">您確定允許 %4 (%5) 複製大型檔案 %1 至沙盤: %2?
|
||||
檔案名稱: %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -452,7 +452,7 @@ The file was written by: %3</source>
|
|||
<message>
|
||||
<source>Migrating a large file %1 into the sandbox %2, %3 left.
|
||||
Full path: %4</source>
|
||||
<translation type="vanished">移動大檔案 %1 至沙盒 %2,%3 遺留。
|
||||
<translation type="vanished">移動大檔案 %1 至沙盤 %2,%3 遺留。
|
||||
完整位址: %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
|
@ -504,7 +504,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>There are %1 files and %2 folders in the sandbox, occupying %3 bytes of disk space.</source>
|
||||
<translation>有 %1 檔案和 %2 資料夾位於沙盒中,佔用磁碟 %3 位元組。</translation>
|
||||
<translation>有 %1 檔案和 %2 資料夾位於沙盤中,佔用磁碟 %3 位元組。</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -581,7 +581,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source><p>New Sandboxie-Plus has been downloaded to the following location:</p><p><a href="%2">%1</a></p><p>Do you want to begin the installation? If any programs are running sandboxed, they will be terminated.</p></source>
|
||||
<translation><p>新版本 Sandboxie-Plus 將被下載到:</p><p><a href="%2">%1</a></p><p>您想要開始安裝嗎?正在沙盒運作的其他程式將會被終止。</p></translation>
|
||||
<translation><p>新版本 Sandboxie-Plus 將被下載到:</p><p><a href="%2">%1</a></p><p>您想要開始安裝嗎?正在沙盤化運作的其他程式將會被終止。</p></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sandboxie-Plus was started in portable mode and it needs to create necessary services. This will prompt for administrative privileges.</source>
|
||||
|
@ -605,7 +605,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Error deleting sandbox folder: %1</source>
|
||||
<translation>刪除沙盒資料夾錯誤: %1</translation>
|
||||
<translation>刪除沙盤資料夾錯誤: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>About Sandboxie-Plus</source>
|
||||
|
@ -641,7 +641,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Failed to copy configuration from sandbox %1: %2</source>
|
||||
<translation>複製沙盒配置 %1: %2 失敗</translation>
|
||||
<translation>複製沙盤配置 %1: %2 失敗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to check if there is a new version of Sandboxie-Plus?</source>
|
||||
|
@ -729,7 +729,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>The sandbox name can not be longer than 32 characters.</source>
|
||||
<translation>沙盒名稱不能超過32個字元。</translation>
|
||||
<translation>沙盤名稱不能超過32個字元。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Stop Driver</source>
|
||||
|
@ -811,7 +811,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Do you want to open %1 in a sandboxed (yes) or unsandboxed (no) Web browser?</source>
|
||||
<translation>確定要在沙盒化 (是) 未沙盒化 (否) 的瀏覽器中開啟 %1 嗎?</translation>
|
||||
<translation>確定要在沙盤化 (是) 未沙盤化 (否) 的瀏覽器中開啟 %1 嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset all hidden messages</source>
|
||||
|
@ -819,15 +819,15 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>A sandbox must be emptied before it can be deleted.</source>
|
||||
<translation>刪除沙盒之前必須清空。</translation>
|
||||
<translation>刪除沙盤之前必須清空。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The sandbox name can contain only letters, digits and underscores which are displayed as spaces.</source>
|
||||
<translation>沙盒名稱不能為空白,只能包含字母、數字和下劃線。</translation>
|
||||
<translation>沙盤名稱不能為空白,只能包含字母、數字和下劃線。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A sandbox must be emptied before it can be renamed.</source>
|
||||
<translation>重新命名沙盒之前必須清空。</translation>
|
||||
<translation>重新命名沙盤之前必須將其清空。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>API Call Logging</source>
|
||||
|
@ -851,7 +851,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>The sandbox name can not be a device name.</source>
|
||||
<translation>沙盒名稱不能為裝置名稱。</translation>
|
||||
<translation>沙盤名稱不能為裝置名稱。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Operation failed for %1 item(s).</source>
|
||||
|
@ -867,7 +867,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>&Sandbox</source>
|
||||
<translation>&沙盒</translation>
|
||||
<translation>&沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><h3>About Sandboxie-Plus</h3><p>Version %1</p><p>Copyright (c) 2020-2021 by DavidXanatos</p></source>
|
||||
|
@ -915,7 +915,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Delete protection is enabled for the sandbox</source>
|
||||
<translation>沙盒的刪除保護被已啟用</translation>
|
||||
<translation>沙盤的刪除保護被已啟用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Advanced</source>
|
||||
|
@ -943,7 +943,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Create New Box</source>
|
||||
<translation>建立新沙盒</translation>
|
||||
<translation>建立新沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to copy RegHive</source>
|
||||
|
@ -959,7 +959,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Failed to delete sandbox %1: %2</source>
|
||||
<translation>刪除沙盒 %1: %2 失敗</translation>
|
||||
<translation>刪除沙盤 %1: %2 失敗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><p>Do you want to go to the <a href="%1">download page</a>?</p></source>
|
||||
|
@ -1007,7 +1007,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>This Snapshot operation can not be performed while processes are still running in the box.</source>
|
||||
<translation>因處理程序正在沙盒中運作,此快照操作無法完成。</translation>
|
||||
<translation>因處理程序正在沙盤中運作,此快照操作無法完成。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>server not reachable</source>
|
||||
|
@ -1027,7 +1027,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>No sandboxes found; creating: %1</source>
|
||||
<translation type="vanished">沒找到沙盒;建立: %1</translation>
|
||||
<translation type="vanished">未找到沙盤;建立: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleanup Resource Log</source>
|
||||
|
@ -1047,7 +1047,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>A sandbox of the name %1 already exists</source>
|
||||
<translation>沙盒名稱 %1 已存在</translation>
|
||||
<translation>沙盤名稱 %1 已存在</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Failed to set configuration setting %1 in section %2: %3</source>
|
||||
|
@ -1075,7 +1075,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandboxie-Plus was started in portable mode, do you want to put the SandBox folder into its parent directory?</source>
|
||||
<translation>Sandboxie-Plus 於便攜模式中啟動,您想將沙盒目錄放到它的上級目錄嗎?</translation>
|
||||
<translation>Sandboxie-Plus 於便攜模式中啟動,您想將沙盤目錄放到它的上級目錄嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The file %1 already exists, do you want to overwrite it?</source>
|
||||
|
@ -1088,8 +1088,8 @@ Full path: %4</source>
|
|||
<message>
|
||||
<source>To use API logging you must first set up the LogApiDll from https://github.com/sandboxie-plus/LogApiDll with one or more sandboxes.
|
||||
Please download the latest release and set it up with the Sandboxie.ini as instructed in the README.md of the project.</source>
|
||||
<translation>要使用API記錄日誌首先必須從 https://github.com/sandboxie-plus/LogApiDll 下載 LogApiDll,並使用沙盒建立。
|
||||
請下載最新發布版本,並使用 sandboxie.ini 安裝,詳情請參考 README.md 中此項目的說明。</translation>
|
||||
<translation>要使用 API 記錄日誌首先必須從 https://github.com/sandboxie-plus/LogApiDll 下載 LogApiDll,並為一個或更多沙盤設定。
|
||||
請下載最新發布版本,並使用 sandboxie.ini 安裝,更多內容請參考 README.md 中此項目的說明。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>No new updates found, your Sandboxie-Plus is up-to-date.</source>
|
||||
|
@ -1105,11 +1105,11 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Sellect box:</source>
|
||||
<translation type="vanished">選取沙盒:</translation>
|
||||
<translation type="vanished">選取沙盤:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Some compatybility templates (%1) are missing, probably deleted, do you want to remove them from all boxes?</source>
|
||||
<translation type="vanished">一些相容性模板 (%1) 丟失,可能已被刪除,您確定要從所有沙盒中刪除它們嗎?</translation>
|
||||
<translation type="vanished">一些相容性模板 (%1) 丟失,可能已被刪除,您確定要從所有沙盤中刪除它們嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleaned up removed templates...</source>
|
||||
|
@ -1117,11 +1117,11 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Can not create snapshot of an empty sandbox</source>
|
||||
<translation>無法為空白沙盒建立快照</translation>
|
||||
<translation>無法為空白沙盤建立快照</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A sandbox with that name already exists</source>
|
||||
<translation>已存在同名沙盒</translation>
|
||||
<translation>已存在同名沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Reset Columns</source>
|
||||
|
@ -1133,19 +1133,19 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Show Hidden Boxes</source>
|
||||
<translation>顯示隱藏沙盒</translation>
|
||||
<translation>顯示隱藏沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select box:</source>
|
||||
<translation>選取沙盒:</translation>
|
||||
<translation>選取沙盤:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Some compatibility templates (%1) are missing, probably deleted, do you want to remove them from all boxes?</source>
|
||||
<translation>一些相容性模板已丟失,可能是已被刪除,是否從所有沙盒中移除它們?</translation>
|
||||
<translation>一些相容性模板已丟失,可能是已被刪除,是否從所有沙盤中移除它們?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to terminate all processes in all sandboxes?</source>
|
||||
<translation>是否終止所有沙盒中的所有處理程式?</translation>
|
||||
<translation>是否終止所有沙盤中的所有處理程式?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Terminate all without asking</source>
|
||||
|
@ -1153,15 +1153,15 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>The selected window is running as part of program %1 in sandbox %2</source>
|
||||
<translation>所選取的視窗正作為沙盒 %2 中的程式 %1 運作</translation>
|
||||
<translation>所選取的視窗正作為沙盤 %2 中的程式 %1 運作</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>The selected window is not running as part of any sandboxed program.</source>
|
||||
<translation>所選取的視窗並不屬於任何沙盒化程式。</translation>
|
||||
<translation>所選取的視窗並不屬於任何沙盤化程式。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Drag the Finder Tool over a window to select it, then release the mouse to check if the window is sandboxed.</source>
|
||||
<translation>托拽尋找工具至一個視窗上以選取它,然後釋放滑鼠以檢查其是否已被沙盒化。</translation>
|
||||
<translation>托拽尋找工具至一個視窗上以選取它,然後釋放滑鼠以檢查其是否已被沙盤化。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sandboxie-Plus - Window Finder</source>
|
||||
|
@ -1188,7 +1188,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Box Groupe</source>
|
||||
<translation>沙盒群組</translation>
|
||||
<translation>沙盤群組</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Status</source>
|
||||
|
@ -1230,7 +1230,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Create Shortcut to sandbox %1</source>
|
||||
<translation>為沙盒 %1 建立捷徑</translation>
|
||||
<translation>為沙盤 %1 建立捷徑</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Options:
|
||||
|
@ -1252,11 +1252,11 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandbox Options</source>
|
||||
<translation>沙盒選項</translation>
|
||||
<translation>沙盤選項</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sandbox Presets</source>
|
||||
<translation>沙盒預設</translation>
|
||||
<translation>沙盤預設</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to %1 the selected process(es)</source>
|
||||
|
@ -1268,11 +1268,11 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove Sandbox</source>
|
||||
<translation>刪除沙盒</translation>
|
||||
<translation>刪除沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rename Sandbox</source>
|
||||
<translation>重新命名沙盒</translation>
|
||||
<translation>重新命名沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run from Start Menu</source>
|
||||
|
@ -1296,7 +1296,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Please enter a new name for the Sandbox.</source>
|
||||
<translation>請為沙盒輸入新名稱</translation>
|
||||
<translation>請為沙盤輸入新名稱</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Group</source>
|
||||
|
@ -1312,7 +1312,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Do you really want to remove the selected sandbox(es)?</source>
|
||||
<translation>確定要刪除所選沙盒嗎?</translation>
|
||||
<translation>確定要刪除所選沙盤嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Run Program</source>
|
||||
|
@ -1362,7 +1362,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Force into this sandbox</source>
|
||||
<translation>強制加入此沙盒</translation>
|
||||
<translation>強制加入此沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow Network Shares</source>
|
||||
|
@ -1390,7 +1390,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Create New Box</source>
|
||||
<translation>建立新沙盒</translation>
|
||||
<translation>建立新沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pin to Run Menu</source>
|
||||
|
@ -1402,7 +1402,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>This box does not have Internet restrictions in place, do you want to enable them?</source>
|
||||
<translation>此沙盒無網際網路限制,確定要啟用它們嗎?</translation>
|
||||
<translation>此沙盤無網際網路限制,確定要啟用它們嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Explore Content</source>
|
||||
|
@ -1418,28 +1418,32 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>This Sandbox is already empty.</source>
|
||||
<translation>此沙盒為空。</translation>
|
||||
<translation>此沙盤為空。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to delete the content of the selected sandbox?</source>
|
||||
<translation>您確定要刪除所選沙盒的內容?</translation>
|
||||
<translation>您確定要刪除所選沙盤的內容?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you really want to delete the content of multiple sandboxes?</source>
|
||||
<translation>您確定要刪除多個沙盒的內容?</translation>
|
||||
<translation>您確定要刪除多個沙盤的內容?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to terminate all processes in the selected sandbox(es)?</source>
|
||||
<translation>您確定要終止選定沙盒中的所有處理程序?</translation>
|
||||
<translation>您確定要終止選定沙盤中的所有處理程序?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This sandbox is disabled, do you want to enable it?</source>
|
||||
<translation>此沙盒已禁用,是否啟用?</translation>
|
||||
<translation>此沙盤已禁用,是否啟用?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Sandbox is empty.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A group can not be its own parent.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSettingsWindow</name>
|
||||
|
@ -1487,6 +1491,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<source>Passwords did not match, please retry.</source>
|
||||
<translation>密碼不正確,請重新輸入。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto Detection</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSnapshotsWindow</name>
|
||||
|
@ -1519,11 +1527,11 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<name>NewBoxWindow</name>
|
||||
<message>
|
||||
<source>Copy options from an existing box:</source>
|
||||
<translation>從已有沙盒複製選項:</translation>
|
||||
<translation>從已有沙盤複製選項:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Initial sandbox configuration:</source>
|
||||
<translation>初始沙盒配置:</translation>
|
||||
<translation>初始沙盤配置:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Select restriction/isolation template:</source>
|
||||
|
@ -1531,15 +1539,15 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus new box</source>
|
||||
<translation>SandboxiePlus 新沙盒</translation>
|
||||
<translation>SandboxiePlus 新沙盤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enter a name for the new box:</source>
|
||||
<translation type="vanished">輸入新沙盒名稱:</translation>
|
||||
<translation type="vanished">輸入新沙盤名稱:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sandbox Name:</source>
|
||||
<translation>沙盒名稱:</translation>
|
||||
<translation>沙盤名稱:</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -1562,7 +1570,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Allow only selected programs to start in this sandbox. *</source>
|
||||
<translation>僅允許被選取的程式在此沙盒中啟動。 *</translation>
|
||||
<translation>僅允許被選取的程式在此沙盤中啟動。 *</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Force Folder</source>
|
||||
|
@ -1574,7 +1582,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandbox Indicator in title:</source>
|
||||
<translation>在標題顯示沙盒標記:</translation>
|
||||
<translation>在標題顯示沙盤標記:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Debug</source>
|
||||
|
@ -1586,7 +1594,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source><- for this one the above does not apply</source>
|
||||
<translation><- 因為此原因,以上不套用</translation>
|
||||
<translation><- 啟用此選項後以上內容將不套用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Block network files and folders, unless specifically opened.</source>
|
||||
|
@ -1598,7 +1606,7 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
</message>
|
||||
<message>
|
||||
<source>Don't alter window class names created by sandboxed programs</source>
|
||||
<translation>不要改變由沙盒程式建立的視窗類名</translation>
|
||||
<translation>不要改變由沙盤程式建立的視窗類名</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prevent change to network and firewall parameters</source>
|
||||
|
@ -1614,13 +1622,13 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
Note that all Close...=!<program>,... exclusions have the same limitations.
|
||||
For files access you can use 'Direct All' instead to make it apply to all programs.</source>
|
||||
<translation>配置處理程序所訪問的資源。雙擊進入編輯。
|
||||
'管理' 檔案和機碼僅適用於沙盒外的程式二進位制檔案。
|
||||
'管理' 檔案和機碼僅適用於沙盤外的程式二進位制檔案。
|
||||
注意所有關閉的...=!<程式>,... 例外也有相同限制。
|
||||
想要管理檔案訪問可使用 '管理全部' 使其套用至至全部程式。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Log Debug Output to the Trace Log</source>
|
||||
<translation>日誌除錯輸出到追蹤日誌</translation>
|
||||
<translation>記錄除錯輸出至追蹤日誌</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Forced Programs</source>
|
||||
|
@ -1660,7 +1668,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Allow all programs to start in this sandbox.</source>
|
||||
<translation>允許所有程式在此沙盒中啟動。</translation>
|
||||
<translation>允許所有程式在此沙盤中啟動。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Enable Immediate Recovery prompt to be able to recover files as soon as thay are created.</source>
|
||||
|
@ -1696,7 +1704,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Protect the sandbox integrity itself</source>
|
||||
<translation>沙盒完整性保護</translation>
|
||||
<translation>沙盤完整性保護</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Folder</source>
|
||||
|
@ -1728,7 +1736,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Issue message 1307 when a program is denied internet access</source>
|
||||
<translation>錯誤程式碼1307,程式被拒絕訪問網路</translation>
|
||||
<translation>當程式被拒絕訪問網路時提示 1307 訊息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Compatibility</source>
|
||||
|
@ -1740,15 +1748,15 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Note: Programs installed to this sandbox won't be able to access the internet at all.</source>
|
||||
<translation>注意: 安裝在此沙盒裡的程式將完全無法訪問網路。</translation>
|
||||
<translation>注意: 安裝在此沙盤裡的程式將完全無法訪問網路。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Box Options</source>
|
||||
<translation>沙盒選項</translation>
|
||||
<translation>沙盤選項</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't allow sandboxed processes to see processes running in other boxes</source>
|
||||
<translation>不允許沙盒化的處理程序檢視其他沙盒裡處理程序的運作</translation>
|
||||
<translation>不允許沙盤化的處理程序檢視其他沙盤裡處理程序的運作</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Group</source>
|
||||
|
@ -1756,11 +1764,11 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandboxed window border:</source>
|
||||
<translation>沙盒化視窗邊框:</translation>
|
||||
<translation>沙盤化視窗邊框:</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Prevent selected programs from starting in this sandbox.</source>
|
||||
<translation>阻止所選程式在此沙盒中啟動。</translation>
|
||||
<translation>阻止所選程式在此沙盤中啟動。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Miscellaneous</source>
|
||||
|
@ -1768,7 +1776,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Issue message 2102 when a file is too large</source>
|
||||
<translation>問題程式碼 2102,檔案過大</translation>
|
||||
<translation>當檔案過大時提示 2102 訊息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File Recovery</source>
|
||||
|
@ -1776,7 +1784,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Box Delete options</source>
|
||||
<translation>沙盒刪除選項</translation>
|
||||
<translation>沙盤刪除選項</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pipe Trace</source>
|
||||
|
@ -1812,7 +1820,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Protect the system from sandboxed processes</source>
|
||||
<translation>保護系統免受來自沙盒化處理程序的訪問</translation>
|
||||
<translation>保護系統免受來自沙盤化處理程序的訪問</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Leader Program</source>
|
||||
|
@ -1836,7 +1844,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandbox protection</source>
|
||||
<translation>沙盒保護</translation>
|
||||
<translation>沙盤保護</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>You can group programs together and give them a group name. Program groups can be used with some of the settings instead of program names.</source>
|
||||
|
@ -1844,7 +1852,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Protect sandboxed SYSTEM processes from unprivileged unsandboxed processes</source>
|
||||
<translation>保護沙盒化系統處理程序免受來自未授權的未沙盒化處理程序訪問</translation>
|
||||
<translation>保護沙盤化系統處理程序免受來自未授權的未沙盤化處理程序訪問</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>COM Class Trace</source>
|
||||
|
@ -1860,11 +1868,11 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>When the Quick Recovery function is invoked, the following folders will be checked for sandboxed content. </source>
|
||||
<translation>當快速恢復功能被啟用,將檢查下列資料夾沙盒化內容。</translation>
|
||||
<translation>當快速恢復功能被啟用,將檢查下列資料夾沙盤化內容。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>px Width</source>
|
||||
<translation>px 寬度</translation>
|
||||
<translation>寬度像素</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add User</source>
|
||||
|
@ -1872,7 +1880,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Programs entered here, or programs started from entered locations, will be put in this sandbox automatically, unless thay are explicitly started in another sandbox.</source>
|
||||
<translation>此處輸入的程式,或指定位置啟動的程式,將自動加入此沙盒,除非它們被確定已在其他沙盒啟動。</translation>
|
||||
<translation>此處輸入的程式,或指定位置啟動的程式,將自動加入此沙盤,除非它們被確定已在其他沙盤啟動。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Force Program</source>
|
||||
|
@ -1880,7 +1888,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>WARNING, these options can disable core security guarantees and break sandbox security!!!</source>
|
||||
<translation>警告,這些選項可以使核心安全保障失效並且破壞沙盒安全!!!</translation>
|
||||
<translation>警告,這些選項可以使核心安全保障失效並且破壞沙盤安全!!!</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Edit ini</source>
|
||||
|
@ -1912,7 +1920,7 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Add sandboxed processes to job objects (recommended)</source>
|
||||
<translation>新增沙盒化處理程序到工作物件(建議)</translation>
|
||||
<translation>新增沙盤化處理程序至工作物件(建議)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove Program</source>
|
||||
|
@ -1944,23 +1952,23 @@ If leader processes are defined, all others are treated as lingering processes.<
|
|||
</message>
|
||||
<message>
|
||||
<source>Protect this sandbox from deletion or emptying</source>
|
||||
<translation>保護此沙盒刪除或清空</translation>
|
||||
<translation>保護此沙盤以防止被刪除或清空</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add user accounts and user groups to the list below to limit use of the sandbox to only those accounts. If the list is empty, the sandbox can be used by all user accounts.
|
||||
|
||||
Note: Forced Programs and Force Folders settings for a sandbox do not apply to user accounts which cannot use the sandbox.</source>
|
||||
<translation>新增使用者賬戶和使用者群組到下面清單中來僅限這些賬戶使用沙盒。如果清單內容為空,所有賬戶都將可以使用沙盒。
|
||||
<translation>新增使用者賬戶和使用者群組至下列清單中來僅限這些賬戶使用沙盤。如果清單內容為空,所有賬戶都將可以使用沙盤。
|
||||
|
||||
注意: 沙盒的強制執行程式和強制執行資料夾設定不接受不能執行沙盒的賬戶。</translation>
|
||||
注意: 沙盤的強制執行程式和強制執行資料夾設定不接受不能執行沙盤的賬戶。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>* Note: Programs installed to this sandbox won't be able to start at all.</source>
|
||||
<translation>* 注意: 安裝在此沙盒裡的程式將完全無法啟動。</translation>
|
||||
<translation>* 注意: 安裝至此沙盤裡的程式將完全無法啟動。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This list contains a large amount of sandbox compatibility enhancing templates</source>
|
||||
<translation>此清單包含大量沙盒相容性增強模板</translation>
|
||||
<translation>此清單包含大量沙盤相容性增強模板</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Lingering Program</source>
|
||||
|
@ -1972,7 +1980,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Issue message 1308 when a program fails to start</source>
|
||||
<translation>錯誤程式碼 1308,程式啟動失敗</translation>
|
||||
<translation>當程式啟動失敗時提示 1308 訊息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Resource Access</source>
|
||||
|
@ -1984,7 +1992,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Hide host processes from processes running in the sandbox.</source>
|
||||
<translation>隱藏沙盒中執行中處理程序的主處理程序。</translation>
|
||||
<translation>隱藏沙盤中執行中處理程序的主處理程序。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File Migration</source>
|
||||
|
@ -1992,7 +2000,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Auto delete content when last sandboxed process terminates</source>
|
||||
<translation>當最後的沙盒化的處理程序終止後自動刪除內容</translation>
|
||||
<translation>當最後的沙盤化的處理程序終止後自動刪除內容</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add COM Object</source>
|
||||
|
@ -2000,7 +2008,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>You can configure custom entries for the sandbox run menu.</source>
|
||||
<translation>您可為沙盒執行選單配置自訂條目。</translation>
|
||||
<translation>您可為沙盤執行選單配置自訂條目。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Start Restrictions</source>
|
||||
|
@ -2012,7 +2020,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Edit ini Section</source>
|
||||
<translation>編輯 ini 部分</translation>
|
||||
<translation>編輯 ini 選項</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Block access to the printer spooler</source>
|
||||
|
@ -2020,7 +2028,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Allow the print spooler to print to files outside the sandbox</source>
|
||||
<translation>允許列印服務在沙盒外列印檔案</translation>
|
||||
<translation>允許列印服務在沙盤外列印檔案</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Printing</source>
|
||||
|
@ -2028,7 +2036,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Remove spooler restriction, printers can be installed outside the sandbox</source>
|
||||
<translation>移除列印限制,印表機可安裝至沙盒外</translation>
|
||||
<translation>移除列印限制,印表機可安裝至沙盤外</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add program</source>
|
||||
|
@ -2040,7 +2048,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Here you can specify programs and/or services that are to be started automatically in the sandbox when it is activated</source>
|
||||
<translation>這裡您可以指定將在沙盒啟用時自動啟動的程式或服務</translation>
|
||||
<translation>這裡您可以指定將在沙盤啟用時自動啟動的程式或服務</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add service</source>
|
||||
|
@ -2048,7 +2056,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Do not start sandboxed services using a system token (recommended)</source>
|
||||
<translation>不啟動使用系統令牌的沙盒化服務 (建議)</translation>
|
||||
<translation>不啟動使用系統令牌的沙盤化服務 (建議)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow access to Smart Cards</source>
|
||||
|
@ -2060,7 +2068,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandbox isolation</source>
|
||||
<translation>沙盒隔離</translation>
|
||||
<translation>沙盤隔離</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto Exec</source>
|
||||
|
@ -2068,7 +2076,7 @@ Note: Forced Programs and Force Folders settings for a sandbox do not apply to
|
|||
</message>
|
||||
<message>
|
||||
<source>Here you can specify a list of commands that are executed every time the sandbox is initially populated.</source>
|
||||
<translation>這裡您可以指定每次沙盒啟動被執行的命令清單。</translation>
|
||||
<translation>這裡您可以指定每次沙盤啟動被執行的命令清單。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Log all access events as seen by the driver to the resource access log.
|
||||
|
@ -2079,18 +2087,18 @@ You can customize the logging using the ini by specifying
|
|||
"D" - Denied accesses
|
||||
"I" - Ignore access requests
|
||||
instead of "*".</source>
|
||||
<translation>將驅動程式所見所有訪問事件記錄到資源訪問日誌中。
|
||||
<translation>將驅動程式所見所有訪問事件記錄至資源訪問日誌中。
|
||||
|
||||
這些選項設定事件標記到 "*" - 所有訪問事件
|
||||
您可以通過 ini 來詳細訂製記錄
|
||||
"A" - 允許訪問
|
||||
"D" - 拒絕訪問
|
||||
"I" - 忽略拒絕請求
|
||||
代替 "*".</translation>
|
||||
這些選項將設定事件標記至 "*" - 所有訪問事件
|
||||
您可在 ini 中自訂日誌,通過指定
|
||||
"A" - 已允許的訪問
|
||||
"D" - 已拒絕的訪問
|
||||
"I" - 已忽略的訪問請求
|
||||
替代 "*".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow access to Bluetooth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>允許訪問藍牙</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2138,7 +2146,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus Settings</source>
|
||||
<translation>SandboxiePlus 設定</translation>
|
||||
<translation type="vanished">SandboxiePlus 設定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Folder</source>
|
||||
|
@ -2168,6 +2176,10 @@ instead of "*".</source>
|
|||
<source>TextLabel</source>
|
||||
<translation>文字標籤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus - Recovery</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsWindow</name>
|
||||
|
@ -2177,7 +2189,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Path</source>
|
||||
<translation>路徑</translation>
|
||||
<translation>位址</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Change Password</source>
|
||||
|
@ -2237,7 +2249,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandbox <a href="sbie://docs/keyrootpath">registry root</a>: </source>
|
||||
<translation>沙盒 <a href="sbie://docs/keyrootpath">登錄檔根目錄</a>: </translation>
|
||||
<translation>沙盤 <a href="sbie://docs/keyrootpath">登錄檔根目錄</a>: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Program</source>
|
||||
|
@ -2245,19 +2257,19 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandboxie has detected the following software applications in your system. Click OK to apply configuration settings, which will improve compatibility with these applications. These configuration settings will have effect in all existing sandboxes and in any new sandboxes.</source>
|
||||
<translation>Sandboxie 在您系統中檢測到下列軟體程式. 點選 確定 接受配置設定,將增強這些軟體程式的相容性。這些配置設定將影響所有已存在的沙盒和之後的新沙盒。</translation>
|
||||
<translation>Sandboxie 在您系統中檢測到下列軟體程式. 點選 OK 接受配置設定,將增強這些軟體程式的相容性。這些配置設定將影響所有已存在的沙盤和之後建立的新沙盤。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Watch Sandboxie.ini for changes</source>
|
||||
<translation>檢視 Sandboxie.ini 變更</translation>
|
||||
<translation>追蹤 Sandboxie.ini 變更</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show Sys-Tray</source>
|
||||
<translation>系統工具列顯示</translation>
|
||||
<translation>在系統工具列顯示</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Open urls from this ui sandboxed</source>
|
||||
<translation>在此使用者介面開啟的連結都將沙盒化</translation>
|
||||
<translation>沙盤化在此 UI 開啟的連結</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>In the future, don't check software compatibility</source>
|
||||
|
@ -2269,7 +2281,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>When any of the following programs is launched outside any sandbox, Sandboxie will issue message SBIE1301.</source>
|
||||
<translation>當下列程式在任意沙盒之外啟動時,Sandboxie 將出現錯誤程式碼 SBIE1301。</translation>
|
||||
<translation>當下列程式在任意沙盤之外啟動時,Sandboxie 將提示 SBIE1301 訊息。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Remove Program</source>
|
||||
|
@ -2285,15 +2297,15 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Add 'Run Sandboxed' to the explorer context menu</source>
|
||||
<translation>在檔案總管新增'在沙盒中執行' </translation>
|
||||
<translation>在檔案總管新增'在沙盤中執行' </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Issue message 1308 when a program fails to start</source>
|
||||
<translation>錯誤程式碼 1308,程式啟動失敗</translation>
|
||||
<translation>當程式啟動失敗時提示 1308 訊息</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Sandbox default</source>
|
||||
<translation>沙盒預設</translation>
|
||||
<translation>沙盤預設</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Separate user folders</source>
|
||||
|
@ -2313,7 +2325,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandbox <a href="sbie://docs/ipcrootpath">ipc root</a>: </source>
|
||||
<translation>沙盒 <a href="sbie://docs/ipcrootpath">IPC 根目錄</a>: </translation>
|
||||
<translation>沙盤 <a href="sbie://docs/ipcrootpath">IPC 根目錄</a>: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show Notifications for relevant log Messages</source>
|
||||
|
@ -2321,7 +2333,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Sandbox <a href="sbie://docs/filerootpath">file system root</a>: </source>
|
||||
<translation>沙盒 <a href="sbie://docs/filerootpath">檔案系統根目錄</a>: </translation>
|
||||
<translation>沙盤 <a href="sbie://docs/filerootpath">檔案系統根目錄</a>: </translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portable root folder</source>
|
||||
|
@ -2333,11 +2345,11 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Start UI when a sandboxed process is started</source>
|
||||
<translation>當沙盒化處理程序啟動時啟動 UI</translation>
|
||||
<translation>當沙盤化處理程序啟動時啟動 UI</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Show first recovery window when emptying sandboxes</source>
|
||||
<translation>當清空沙盒時顯示第一個恢復視窗</translation>
|
||||
<translation>當清空沙盤時顯示第一個恢復視窗</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>...</source>
|
||||
|
@ -2360,7 +2372,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus Settings</source>
|
||||
<translation>SandboxiePlus 設定</translation>
|
||||
<translation type="vanished">SandboxiePlus 設定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description:</source>
|
||||
|
@ -2382,5 +2394,9 @@ instead of "*".</source>
|
|||
<source>Snapshot Actions</source>
|
||||
<translation>快照行為</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus - Snapshots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
|
@ -232,6 +232,54 @@
|
|||
<source>Executables (*.exe *.cmd);;All files (*.*)</source>
|
||||
<translation>可执行文件 (*.exe *.cmd);;所有文件 (*.*)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Direct All</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closed</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Closed RT</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Read Only</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Hidden</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unknown</source>
|
||||
<translation type="unfinished">未知</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>File/Folder</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Registry</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>IPC Path</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Wnd Class</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>COM Object</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CPopUpMessage</name>
|
||||
|
@ -382,27 +430,47 @@
|
|||
<message>
|
||||
<source>Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2?
|
||||
File name: %3</source>
|
||||
<translation>您确定允许 %4 (%5) 复制大文件 %1 到沙盒: %2?
|
||||
<translation type="vanished">您确定允许 %4 (%5) 复制大文件 %1 到沙盒: %2?
|
||||
文件名称: %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to allow %1 (%2) access to the internet?
|
||||
Full path: %3</source>
|
||||
<translation>您确定允许 %1 (%2) 访问网络吗?
|
||||
<translation type="vanished">您确定允许 %1 (%2) 访问网络吗?
|
||||
完整路径: %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is eligible for quick recovery from %2.
|
||||
The file was written by: %3</source>
|
||||
<translation>%1 可以从 %2 快速恢复.
|
||||
<translation type="vanished">%1 可以从 %2 快速恢复.
|
||||
文件写入自: %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Migrating a large file %1 into the sandbox %2, %3 left.
|
||||
Full path: %4</source>
|
||||
<translation>移动大文件 %1 到沙盒 %2, %3 剩余.
|
||||
<translation type="vanished">移动大文件 %1 到沙盒 %2, %3 剩余.
|
||||
完整路径: %4</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to allow %4 (%5) to copy a %1 large file into sandbox: %2?
|
||||
File name: %3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Do you want to allow %1 (%2) access to the internet?
|
||||
Full path: %3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>%1 is eligible for quick recovery from %2.
|
||||
The file was written by: %3</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Migrating a large file %1 into the sandbox %2, %3 left.
|
||||
Full path: %4</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CRecoveryWindow</name>
|
||||
|
@ -695,7 +763,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>Ignore this update, notify me about the next one.</source>
|
||||
<translation>忽略此升级,下一个再提示我.</translation>
|
||||
<translation type="vanished">忽略此升级,下一个再提示我.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Please enter the duration for disabling forced programs.</source>
|
||||
|
@ -955,7 +1023,7 @@ Full path: %4</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>No sandboxes found; creating: %1</source>
|
||||
<translation>没找到沙盒;创建: %1</translation>
|
||||
<translation type="vanished">没找到沙盒;创建: %1</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cleanup Resource Log</source>
|
||||
|
@ -1087,6 +1155,18 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<source>Sandboxie-Plus - Window Finder</source>
|
||||
<translation>Sandboxie-Plus - 窗口查找器</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Default sandbox not found; creating: %1</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><p>Do you want to go to the <a href="%1">info page</a>?</p></source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Don't show this message anymore.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSbieModel</name>
|
||||
|
@ -1344,6 +1424,14 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<source>This sandbox is disabled, do you want to enable it?</source>
|
||||
<translation>此沙盒被禁用,您确定启用吗?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>A group can not be its own parent.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>This Sandbox is empty.</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSettingsWindow</name>
|
||||
|
@ -1391,6 +1479,10 @@ Please download the latest release and set it up with the Sandboxie.ini as instr
|
|||
<source>Passwords did not match, please retry.</source>
|
||||
<translation>密码不正确,请重新输入.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Auto Detection</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>CSnapshotsWindow</name>
|
||||
|
@ -1988,6 +2080,10 @@ instead of "*".</source>
|
|||
"I" - 忽略拒绝请求
|
||||
代替 "*".</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Allow access to Bluetooth</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>PopUpWindow</name>
|
||||
|
@ -2007,23 +2103,23 @@ instead of "*".</source>
|
|||
<name>QPlatformTheme</name>
|
||||
<message>
|
||||
<source>OK</source>
|
||||
<translation>确定</translation>
|
||||
<translation type="vanished">确定</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Apply</source>
|
||||
<translation>应用</translation>
|
||||
<translation type="vanished">应用</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Cancel</source>
|
||||
<translation>取消</translation>
|
||||
<translation type="vanished">取消</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&Yes</source>
|
||||
<translation>&是</translation>
|
||||
<translation type="vanished">&是</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>&No</source>
|
||||
<translation>&否</translation>
|
||||
<translation type="vanished">&否</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
|
@ -2034,7 +2130,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus Settings</source>
|
||||
<translation>SandboxiePlus设置</translation>
|
||||
<translation type="vanished">SandboxiePlus设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add Folder</source>
|
||||
|
@ -2064,6 +2160,10 @@ instead of "*".</source>
|
|||
<source>TextLabel</source>
|
||||
<translation>文本标签</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus - Recovery</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>SettingsWindow</name>
|
||||
|
@ -2256,7 +2356,7 @@ instead of "*".</source>
|
|||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus Settings</source>
|
||||
<translation>SandboxiePlus设置</translation>
|
||||
<translation type="vanished">SandboxiePlus设置</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Description:</source>
|
||||
|
@ -2278,5 +2378,9 @@ instead of "*".</source>
|
|||
<source>Snapshot Actions</source>
|
||||
<translation>快照行为</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SandboxiePlus - Snapshots</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
|
Loading…
Reference in New Issue