Added custom updating logic.

Added NSIS installer to project.
Fixed memory leak in WM_SIZING message handling.
This commit is contained in:
Lorenz Cuno Klopfenstein 2010-08-24 00:25:41 +02:00
parent 5c2808c0d4
commit 3b219b69bd
35 changed files with 1929 additions and 1625 deletions

View file

@ -4,3 +4,4 @@ glob:obj/*
glob:publish/*
glob:OnTopReplica/Assets/Thumbs.db
glob:*.psd
glob:Installer/OnTopReplica-Setup.exe

BIN
Installer/header.bmp Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

105
Installer/script.nsi Normal file
View file

@ -0,0 +1,105 @@
# INCLUDES
!include MUI2.nsh ;Modern interface
!include LogicLib.nsh ;nsDialogs
# INIT
Name "OnTopReplica"
InstallDir "$LOCALAPPDATA\OnTopReplica"
OutFile "OnTopReplica-Setup.exe"
RequestExecutionLevel user
# REFS
!define REG_UNINSTALL "Software\Microsoft\Windows\CurrentVersion\Uninstall\OnTopReplica"
!define START_LINK_DIR "$STARTMENU\Programs\OnTopReplica"
!define START_LINK_RUN "$STARTMENU\Programs\OnTopReplica\OnTopReplica.lnk"
!define START_LINK_UNINSTALLER "$STARTMENU\Programs\OnTopReplica\Uninstall OnTopReplica.lnk"
!define UNINSTALLER_NAME "OnTopReplica-Uninstall.exe"
# GRAPHICS
!define MUI_ICON "..\OnTopReplica\Assets\icon-new.ico"
!define MUI_UNICON "..\OnTopReplica\Assets\icon-new-red.ico"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_RIGHT
!define MUI_HEADERIMAGE_BITMAP "header.bmp"
!define MUI_HEADERIMAGE_UNBITMAP "header.bmp"
#!define MUI_WELCOMEFINISHPAGE_BITMAP "banner.bmp"
#!define MUI_UNWELCOMEFINISHPAGE_BITMAP "banner.bmp"
# TEXT AND SETTINGS
!define MUI_PAGE_HEADER_TEXT "OnTopReplica"
!define MUI_FINISHPAGE_RUN "$INSTDIR\OnTopReplica.exe"
;!define MUI_FINISHPAGE_RUN_TEXT "Run OnTopReplica now."
;Do not skip to finish automatially
!define MUI_FINISHPAGE_NOAUTOCLOSE
!define MUI_UNFINISHPAGE_NOAUTOCLOSE
# PAGE DEFINITIONS
!insertmacro MUI_PAGE_WELCOME
;!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
# LANGUAGES
!insertmacro MUI_LANGUAGE "English"
# CALLBACKS
Function RegisterApplication
;Register uninstaller into Add/Remove panel (for local user only)
WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayName" "OnTopReplica"
WriteRegStr HKCU "${REG_UNINSTALL}" "DisplayIcon" "$INSTDIR\${UNINSTALLER_NAME}"
WriteRegStr HKCU "${REG_UNINSTALL}" "Publisher" "Lorenz Cuno Klopfenstein"
WriteRegStr HKCU "${REG_UNINSTALL}" "InstallSource" "$EXEDIR\"
WriteRegDWord HKCU "${REG_UNINSTALL}" "NoModify" 1
WriteRegDWord HKCU "${REG_UNINSTALL}" "NoRepair" 1
WriteRegStr HKCU "${REG_UNINSTALL}" "UninstallString" "$INSTDIR\${UNINSTALLER_NAME}"
;Links
SetShellVarContext current
CreateDirectory "${START_LINK_DIR}"
CreateShortCut "${START_LINK_RUN}" "$INSTDIR\OnTopReplica.exe"
CreateShortCut "${START_LINK_UNINSTALLER}" "$INSTDIR\${UNINSTALLER_NAME}"
FunctionEnd
Function un.DeregisterApplication
;Deregister uninstaller from Add/Remove panel
DeleteRegKey HKCU "${REG_UNINSTALL}"
;Start menu links
SetShellVarContext current
RMDir /r "${START_LINK_DIR}"
FunctionEnd
# INSTALL SECTIONS
Section "!OnTopReplica" OnTopReplica
SectionIn RO
SetOutPath $INSTDIR
SetOverwrite on
File "..\OnTopReplica\bin\Release\OnTopReplica.exe"
File "..\OnTopReplica\bin\Release\VistaControls.dll"
;Install localization files
SetOutPath "$INSTDIR\it"
File "..\OnTopReplica\bin\Release\it\OnTopReplica.resources.dll"
SetOutPath "$INSTDIR\cs"
File "..\OnTopReplica\bin\Release\cs\OnTopReplica.resources.dll"
SetOutPath "$INSTDIR\da"
File "..\OnTopReplica\bin\Release\da\OnTopReplica.resources.dll"
;Uninstaller
WriteUninstaller "$INSTDIR\${UNINSTALLER_NAME}"
Call RegisterApplication
SectionEnd
Section "Uninstall"
;Remove whole directory (no data is stored there anyway)
RMDir /r "$INSTDIR"
;Remove uninstaller
Call un.DeregisterApplication
SectionEnd

View file

@ -29,7 +29,6 @@
this.themedLabel2 = new VistaControls.ThemeText.ThemedLabel();
this.panel1 = new System.Windows.Forms.Panel();
this.buttonReset = new System.Windows.Forms.Button();
this.buttonCancel = new System.Windows.Forms.Button();
this.progressBar1 = new VistaControls.ProgressBar();
this.buttonUpdate = new System.Windows.Forms.Button();
this.buttonExpander = new System.Windows.Forms.Button();
@ -72,7 +71,6 @@
this.panel1.BackgroundImage = global::OnTopReplica.Properties.Resources.back;
this.panel1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.panel1.Controls.Add(this.buttonReset);
this.panel1.Controls.Add(this.buttonCancel);
this.panel1.Controls.Add(this.progressBar1);
this.panel1.Controls.Add(this.buttonUpdate);
this.panel1.Controls.Add(this.buttonExpander);
@ -96,19 +94,6 @@
this.buttonReset.UseVisualStyleBackColor = true;
this.buttonReset.Click += new System.EventHandler(this.ResetClick);
//
// buttonCancel
//
this.buttonCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.buttonCancel.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.buttonCancel.Image = ((System.Drawing.Image)(resources.GetObject("buttonCancel.Image")));
this.buttonCancel.Location = new System.Drawing.Point(211, 79);
this.buttonCancel.Name = "buttonCancel";
this.buttonCancel.Size = new System.Drawing.Size(23, 23);
this.buttonCancel.TabIndex = 3;
this.buttonCancel.UseVisualStyleBackColor = true;
this.buttonCancel.Visible = false;
this.buttonCancel.Click += new System.EventHandler(this.Abort_click);
//
// progressBar1
//
this.progressBar1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@ -242,7 +227,6 @@
private System.Windows.Forms.LinkLabel linkLabel1;
private System.Windows.Forms.Label label2;
private System.Windows.Forms.Button buttonUpdate;
private System.Windows.Forms.Button buttonCancel;
private System.Windows.Forms.WebBrowser webBrowser;
private System.Windows.Forms.Button buttonReset;
private VistaControls.ProgressBar progressBar1;

View file

@ -8,6 +8,7 @@ using System.Deployment.Application;
using System;
using VistaControls.TaskDialog;
using System.ComponentModel;
using OnTopReplica.Update;
namespace OnTopReplica {
public partial class AboutForm : GlassForm {
@ -16,7 +17,6 @@ namespace OnTopReplica {
InitializeComponent();
//Tooltips
toolTip.SetToolTip(buttonCancel, Strings.AboutButtonCancelTT);
toolTip.SetToolTip(buttonExpander, Strings.AboutButtonExpanderTT);
toolTip.SetToolTip(buttonReset, Strings.AboutButtonResetTT);
toolTip.SetToolTip(buttonUpdate, Strings.AboutButtonUpdateTT);
@ -33,12 +33,8 @@ namespace OnTopReplica {
//Update title
themedLabel2.Text = "v" + Application.ProductVersion.Substring(0, 3);
//Create event handlers
handlerProgressChange = new DeploymentProgressChangedEventHandler(CurrentDeployment_CheckForUpdateProgressChanged);
handlerProgressComplete = new CheckForUpdateCompletedEventHandler(CurrentDeployment_CheckForUpdateCompleted);
handlerUpdateChange = new DeploymentProgressChangedEventHandler(deployment_UpdateProgressChanged);
handlerUpdateComplete = new AsyncCompletedEventHandler(deployment_UpdateCompleted);
//Add update event handling
_updateManager.UpdateCheckCompleted += new EventHandler<UpdateCheckCompletedEventArgs>(UpdateManager_UpdateCheckCompleted);
}
protected override void OnKeyUp(KeyEventArgs e) {
@ -102,207 +98,44 @@ namespace OnTopReplica {
#region Updating
bool _isChecking = false;
bool _isUpdating = false;
UpdateManager _updateManager = new UpdateManager();
private void Update_click(object sender, System.EventArgs e) {
ApplicationDeployment deployment = null;
try {
deployment = ApplicationDeployment.CurrentDeployment;
}
catch (InvalidDeploymentException ex) {
var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorGenericTitle, Strings.ErrorUpdateContent);
dlg.EnableHyperlinks = true;
dlg.CommonIcon = TaskDialogIcon.Stop;
dlg.CommonButtons = TaskDialogButton.Close;
dlg.ExpandedControlText = Strings.ErrorDetailButton;
dlg.ExpandedInformation = ex.Message;
dlg.HyperlinkClick += new EventHandler<HyperlinkEventArgs>(dlg_HyperlinkClick);
dlg.Show(this);
return;
}
catch(Exception ex) {
ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, ex);
return;
}
CheckForUpdate(deployment);
CheckForUpdate();
}
private void Abort_click(object sender, EventArgs e) {
StopUpdate();
}
delegate void GuiAction();
void dlg_HyperlinkClick(object sender, HyperlinkEventArgs e) {
Process.Start(e.Url);
}
void UpdateManager_UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) {
Invoke(new GuiAction(() => {
if (e.Success) {
_updateManager.HandleUpdateCheck(this, e.Information, true);
}
else {
var dlg = new TaskDialog(Strings.ErrorUpdate, Strings.ErrorUpdate, Strings.ErrorUpdateContentGeneric) {
CommonIcon = TaskDialogIcon.Stop,
CommonButtons = TaskDialogButton.OK
};
dlg.Show(this);
}
public void CheckForUpdate(ApplicationDeployment deployment) {
//Add event handlers
deployment.CheckForUpdateProgressChanged += handlerProgressChange;
deployment.CheckForUpdateCompleted += handlerProgressComplete;
UpdateStopped();
}));
}
public void CheckForUpdate() {
//Update GUI
buttonUpdate.Visible = false;
progressBar1.Visible = true;
progressBar1.Value = 0;
buttonCancel.Visible = true;
progressBar1.Value = 50;
_isChecking = true;
try {
deployment.CheckForUpdateAsync();
}
catch (Exception ex) {
ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, ex);
StopUpdate();
}
_updateManager.CheckForUpdate();
}
public void InstallUpdate(ApplicationDeployment deployment) {
//Add event handlers
deployment.UpdateProgressChanged += handlerUpdateChange;
deployment.UpdateCompleted += handlerUpdateComplete;
//Update GUI
buttonUpdate.Visible = false;
progressBar1.Visible = true;
progressBar1.Value = 0;
buttonCancel.Visible = true;
_isUpdating = true;
try {
deployment.UpdateAsync();
}
catch (Exception ex) {
ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, ex);
StopUpdate();
}
}
void StopUpdate() {
void UpdateStopped() {
//Reset UI
progressBar1.Visible = false;
buttonCancel.Visible = false;
buttonUpdate.Visible = true;
try {
ApplicationDeployment deployment = ApplicationDeployment.CurrentDeployment;
//Remove all handlers
deployment.CheckForUpdateProgressChanged -= handlerProgressChange;
deployment.CheckForUpdateCompleted -= handlerProgressComplete;
//Abort anything
if (_isChecking)
deployment.CheckForUpdateAsyncCancel();
if (_isUpdating)
deployment.UpdateAsyncCancel();
}
catch {
return;
}
finally {
_isChecking = false;
_isUpdating = false;
}
}
DeploymentProgressChangedEventHandler handlerProgressChange;
CheckForUpdateCompletedEventHandler handlerProgressComplete;
void CurrentDeployment_CheckForUpdateProgressChanged(object sender, DeploymentProgressChangedEventArgs e) {
progressBar1.Value = e.ProgressPercentage;
}
void CurrentDeployment_CheckForUpdateCompleted(object sender, CheckForUpdateCompletedEventArgs e) {
progressBar1.Value = 100;
_isChecking = false;
if (e.Error != null) {
ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, e.Error);
StopUpdate();
return;
}
if (e.Cancelled)
//Already was aborted
return;
ApplicationDeployment deployment = null;
try {
deployment = ApplicationDeployment.CurrentDeployment;
}
catch {
//Internal (weird?) error, simply abort
StopUpdate();
return;
}
if (e.UpdateAvailable) {
//Install right away if required
if (e.IsUpdateRequired)
InstallUpdate(deployment);
//Ask user
var dlg = new TaskDialog(string.Format(Strings.AskUpdate, e.AvailableVersion.ToString()), Strings.AskUpdateTitle, Strings.AskUpdateContent);
dlg.CommonIcon = TaskDialogIcon.Information;
dlg.UseCommandLinks = true;
dlg.CustomButtons = new CustomButton[] {
new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, e.AvailableVersion.ToString())),
new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel)
};
dlg.ExpandedInformation = string.Format(Strings.AskUpdateExpanded, Application.ProductVersion, e.AvailableVersion.ToString(), e.UpdateSizeBytes);
dlg.ExpandedControlText = Strings.ErrorDetailButton;
if (dlg.Show(this).CommonButton == Result.OK)
InstallUpdate(deployment);
else
StopUpdate();
}
else {
var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle);
dlg.CustomIcon = Icon.FromHandle(Resources.thumbs_up.GetHicon());
dlg.CommonButtons = TaskDialogButton.Close;
dlg.Show(this);
StopUpdate();
}
}
DeploymentProgressChangedEventHandler handlerUpdateChange;
AsyncCompletedEventHandler handlerUpdateComplete;
void deployment_UpdateProgressChanged(object sender, DeploymentProgressChangedEventArgs e) {
progressBar1.Value = e.ProgressPercentage;
}
void deployment_UpdateCompleted(object sender, System.ComponentModel.AsyncCompletedEventArgs e) {
progressBar1.Value = 100;
_isUpdating = false;
if (e.Error != null) {
ShowGenericError(Strings.ErrorGenericTitle, Strings.ErrorUpdate, e.Error);
StopUpdate();
return;
}
if (e.Cancelled)
return;
var dlg = new TaskDialog(Strings.InfoUpdated, Strings.InfoUpdatedTitle, Strings.InfoUpdatedContent);
dlg.CustomIcon = Icon.FromHandle(Resources.thumbs_up.GetHicon());
dlg.CommonButtons = TaskDialogButton.Close;
dlg.Show(this);
StopUpdate();
}
#endregion

View file

@ -117,28 +117,10 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="buttonCancel.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAALDAAA
CwwBP0AiyAAAAolJREFUOE91k11IU2EcxkcRRXhRRGXgRUWWjS3osm4sZGZUftwUxfxoUptd+LUKLRuk
bWqlsSZrE5stq219Me1D84MkCxG7aK4iFKbkmsPkEC7DPHae/uds6jb1hQfO/7zv73nf9/mfIxJFja/n
9phI4rnX9BxDuknSRK9dVHu0aZho1s7S4hGSJAR3+xuL4NVnger7y5p4yo+AHXAA35xgHCX84u+kfr8x
F+i7B/Q2wFuVsbSJpyIE95mBrkqg3wKmqRB+QxbQYwSeqIHHanCdtfBqUyNNhkoPutnhLoLuBuE35cBL
DdBRBbReI7AYaFKBsyjAWZXgeq0Y1KT4uuQ7M4Xr0DHb/Y35gMsGdJIBDztLgafnAXvBAmyWg3t+CUy9
EgMqqbc6KW4v4St5Az7lbj9NoJeu0FIWhG1kOrczD9uLwRhz8Ekp8V3cvyWN4HXzgZLBZtKvgI1A3sAe
CbMmOabMCnzJk87WH91WQODGcDh4AqMCeKsHHIURO/+tO46pW2mYtpzFT/0puFXSUb7F4QbtfrMKeG8K
ph127Jm6EwI8ef0wGJ0Mvy1KjOsz+S6M9CnE2wWToZJEN+t2Aq8rIuB/1jzMNOQiUJMqwONXEzGuSwHb
VoPByzJf68n4bMJXCCYeTTLYjlpwfK/5wJ6VgjHIMaY7hulHRZjQJQvwpDUfw1dk+HBa7CQslrR2/iqe
siSwr7Tg2qrB3FHApZSMfTwj+eyrTMcf2wUEHqoF+F3O7hcESUnxi/8FzSFMWNWzLqX0h3pfbEb6rvVb
hYBv52BUl8HDLSGYN1h69GQnPCg/ECej2Q2hDy2GAjN0ZyXcoHoHaaEDy7qIRKvD5yiwVVSvIW2KZv4D
L3Lc9EIqZDQAAAAASUVORK5CYII=
</value>
</data>
<metadata name="toolTip.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAIAMDAAAAEAIACoJQAAJgAAABAQAAABACAAaAQAAM4lAAAoAAAAMAAAAGAAAAABACAAAAAAAAAA

View file

@ -38,7 +38,7 @@ namespace OnTopReplica {
/// <summary>
/// Gets or sets the form's aspect ratio that will be kept automatically when resizing.
/// </summary>
[Description("Determins this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)]
[Description("Determines this form's fixed aspect ratio."), Category("Appearance"), DefaultValue(1.0)]
public double AspectRatio {
get {
return _aspectRatio;
@ -170,7 +170,7 @@ namespace OnTopReplica {
rc.Top = rc.Bottom - (int)(width / AspectRatio) - ExtraPadding.Vertical - clientSizeConversionHeight;
}
Marshal.StructureToPtr(rc, m.LParam, true);
Marshal.StructureToPtr(rc, m.LParam, false);
}
base.WndProc(ref m);

Binary file not shown.

After

Width:  |  Height:  |  Size: 85 KiB

View file

@ -7,6 +7,7 @@ using VistaControls.Dwm;
using VistaControls.TaskDialog;
using System.Collections.Generic;
using OnTopReplica.Native;
using OnTopReplica.Update;
namespace OnTopReplica {
@ -17,10 +18,8 @@ namespace OnTopReplica {
SidePanel _currentSidePanel = null;
Panel _sidePanelContainer;
//Window manager
//Managers
WindowManager _windowManager = new WindowManager();
//Message pump extension
MessagePumpManager _msgPumpManager = new MessagePumpManager();
FormBorderStyle _defaultBorderStyle;
@ -58,10 +57,6 @@ namespace OnTopReplica {
menuContext, menuWindows, menuOpacity, menuResize, menuLanguages, menuFullscreenContext
);
//Hook keyboard handler
this.KeyUp += new KeyEventHandler(Form_KeyUp);
this.KeyPreview = true;
//Init message pump extensions
_msgPumpManager.Initialize(this);
@ -71,6 +66,10 @@ namespace OnTopReplica {
Keys.O, new Native.HotKeyMethods.HotKeyHandler(HotKeyOpenHandler));
hotKeyMgr.RegisterHotKey(Native.HotKeyModifiers.Control | Native.HotKeyModifiers.Shift,
Keys.C, new Native.HotKeyMethods.HotKeyHandler(HotKeyCloneHandler));
//Hook keyboard handler
this.KeyUp += new KeyEventHandler(Form_KeyUp);
this.KeyPreview = true;
}
#region Event override
@ -159,8 +158,11 @@ namespace OnTopReplica {
}
protected override void WndProc(ref Message m) {
if (_msgPumpManager.PumpMessage(ref m))
return;
if (_msgPumpManager != null) {
if (_msgPumpManager.PumpMessage(ref m)) {
return;
}
}
switch (m.Msg) {
case WM.NCRBUTTONUP:
@ -252,7 +254,7 @@ namespace OnTopReplica {
if (IsFullscreen)
IsFullscreen = false;
if (Program.Platform.IsHidden(this)) {
if (!Program.Platform.IsHidden(this)) {
Program.Platform.HideForm(this);
}
else {

View file

@ -19,23 +19,28 @@ namespace OnTopReplica {
public void Initialize(MainForm form) {
Form = form;
//Register window shell hook
if (!HookMethods.RegisterShellHookWindow(form.Handle)) {
Console.Error.WriteLine("Failed to register shell hook window.");
}
else {
#if DEBUG
Console.WriteLine("Shell hook window registered successfully.");
#endif
}
foreach (var t in Assembly.GetExecutingAssembly().GetTypes()) {
if (typeof(IMessagePumpProcessor).IsAssignableFrom(t) && !t.IsAbstract) {
var instance = (IMessagePumpProcessor)Activator.CreateInstance(t);
instance.Initialize(form);
_processors.Add(t, instance);
_processors[t] = instance;
#if DEBUG
Console.WriteLine("Registered message pump processor: {0}", t);
#endif
}
}
//Register window shell hook
if (!HookMethods.RegisterShellHookWindow(form.Handle)) {
Console.Error.WriteLine("Failed to register shell hook window.");
}
}
/// <summary>
@ -54,7 +59,7 @@ namespace OnTopReplica {
/// <summary>
/// Get the instance of a registered message pump processor.
/// Throw if instance not found.
/// Throws if instance not found.
/// </summary>
public T Get<T>() {
return (T)_processors[typeof(T)];
@ -64,7 +69,7 @@ namespace OnTopReplica {
public void Dispose() {
if (!HookMethods.DeregisterShellHookWindow(Form.Handle)) {
Console.Error.WriteLine("Failed to deregister sheel hook window.");
Console.Error.WriteLine("Failed to deregister shell hook window.");
}
foreach (var processor in _processors.Values) {
@ -74,5 +79,7 @@ namespace OnTopReplica {
}
#endregion
}
}

View file

@ -14,15 +14,15 @@
<FileAlignment>512</FileAlignment>
<ApplicationIcon>Assets\icon-new.ico</ApplicationIcon>
<IsWebBootstrapper>false</IsWebBootstrapper>
<GenerateManifests>true</GenerateManifests>
<GenerateManifests>false</GenerateManifests>
<TargetZone>Internet</TargetZone>
<StartupObject>OnTopReplica.Program</StartupObject>
<ExcludedPermissions>
</ExcludedPermissions>
<SignAssembly>false</SignAssembly>
<ManifestCertificateThumbprint>DB79D77572EF10838D6A2CECDDE738C6570E7995</ManifestCertificateThumbprint>
<ManifestKeyFile>OnTopReplica_TemporaryKey.pfx</ManifestKeyFile>
<SignManifests>true</SignManifests>
<ManifestCertificateThumbprint>A305A505E19CF40E069521C80C13AB3C900EDB7C</ManifestCertificateThumbprint>
<ManifestKeyFile>OnTopReplica_1_TemporaryKey.pfx</ManifestKeyFile>
<SignManifests>false</SignManifests>
<TargetFrameworkSubset>
</TargetFrameworkSubset>
<FileUpgradeFlags>
@ -44,11 +44,11 @@
<TargetCulture>en</TargetCulture>
<ProductName>OnTopReplica</ProductName>
<PublisherName>Lorenz Cuno Klopfenstein</PublisherName>
<CreateWebPageOnPublish>true</CreateWebPageOnPublish>
<WebPage>publish.htm</WebPage>
<OpenBrowserOnPublish>false</OpenBrowserOnPublish>
<AutorunEnabled>true</AutorunEnabled>
<ApplicationRevision>1</ApplicationRevision>
<ApplicationVersion>3.0.0.%2a</ApplicationVersion>
<ApplicationRevision>0</ApplicationRevision>
<ApplicationVersion>3.0.2.%2a</ApplicationVersion>
<UseApplicationTrust>false</UseApplicationTrust>
<PublishWizardCompleted>true</PublishWizardCompleted>
<BootstrapperEnabled>true</BootstrapperEnabled>
@ -82,31 +82,11 @@
<PropertyGroup />
<PropertyGroup />
<PropertyGroup />
<PropertyGroup />
<PropertyGroup />
<PropertyGroup>
<ApplicationManifest>OnTopReplica.exe.manifest</ApplicationManifest>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<DebugType>full</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
<UseVSHostingProcess>false</UseVSHostingProcess>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\x64\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<Optimize>true</Optimize>
<DebugType>pdbonly</DebugType>
<PlatformTarget>x64</PlatformTarget>
<ErrorReport>prompt</ErrorReport>
<CodeAnalysisIgnoreBuiltInRuleSets>false</CodeAnalysisIgnoreBuiltInRuleSets>
<CodeAnalysisIgnoreBuiltInRules>false</CodeAnalysisIgnoreBuiltInRules>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Data" />
@ -179,26 +159,11 @@
<Compile Include="Platforms\WindowsSeven.cs" />
<Compile Include="Platforms\WindowsVista.cs" />
<Compile Include="Platforms\WindowsXp.cs" />
<Compile Include="Strings.cs.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Strings.cs.resx</DependentUpon>
</Compile>
<Compile Include="Strings.da.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Strings.da.resx</DependentUpon>
</Compile>
<Compile Include="Strings.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Strings.resx</DependentUpon>
</Compile>
<Compile Include="Strings.it.Designer.cs">
<DependentUpon>Strings.it.resx</DependentUpon>
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
</Compile>
<Compile Include="FocusedTextBox.cs">
<SubType>Component</SubType>
</Compile>
@ -255,6 +220,7 @@
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="OnTopReplica.exe.manifest" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
@ -275,6 +241,9 @@
<Compile Include="ThumbnailPanel.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="Update\UpdateCheckCompletedEventArgs.cs" />
<Compile Include="Update\UpdateInformation.cs" />
<Compile Include="Update\UpdateManager.cs" />
<Compile Include="Win32Helper.cs" />
<Compile Include="WindowHandle.cs" />
<Compile Include="WindowListHelper.cs" />
@ -309,9 +278,6 @@
<None Include="Assets\xiao_delete.png" />
<None Include="Assets\xiao_add.png" />
<None Include="Assets\xiao_ok.png" />
<None Include="OnTopReplica.exe.manifest">
<SubType>Designer</SubType>
</None>
<None Include="Assets\flag_danish.png" />
<None Include="Assets\newicon.png" />
<None Include="Assets\regions_new.png" />
@ -359,7 +325,6 @@
<None Include="Assets\flag_czech.png" />
<Content Include="Assets\icon.ico" />
<None Include="Assets\regions.png" />
<None Include="OnTopReplica_TemporaryKey.pfx" />
<None Include="Assets\x-oblique.png" />
<None Include="Assets\xiao_up.png" />
<None Include="Assets\xiao_down.png" />
@ -373,6 +338,46 @@
<None Include="Assets\icon.png" />
</ItemGroup>
<ItemGroup>
<PublishFile Include="Assets\icon.ico">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Exclude</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Assets\screenshot-icon.ico">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Exclude</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Assets\window_multiple16.ico">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Exclude</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="Assets\xiao_arrow.png">
<Visible>False</Visible>
<Group>
</Group>
<TargetPath>
</TargetPath>
<PublishState>Exclude</PublishState>
<IncludeHash>True</IncludeHash>
<FileType>File</FileType>
</PublishFile>
<PublishFile Include="cs\OnTopReplica.resources">
<Visible>False</Visible>
<Group>

View file

@ -1,38 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" />
</requestedPrivileges>
<applicationRequestMinimum>
<defaultAssemblyRequest permissionSetReference="Custom" />
<PermissionSet class="System.Security.PermissionSet" version="1" ID="Custom" SameSite="site" Unrestricted="true" />
</applicationRequestMinimum>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
</application>
</compatibility>
<!--<assemblyIdentity processorArchitecture="*" type="win32" name="OnTopReplica"/>-->
<description>Lightweight clone of a window.</description>
<!--
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
publicKeyToken="6595b64144ccf1df"
language="*"
processorArchitecture="*" />
</dependentAssembly>
</dependency>
-->
</asmv1:assembly>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}" />
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
</application>
</compatibility>
<description>Lightweight clone of a window.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*" />
</dependentAssembly>
</dependency>
</asmv1:assembly>

View file

@ -72,7 +72,7 @@ namespace OnTopReplica {
/// Gets whether the form is currently hidden or not.
/// </summary>
public virtual bool IsHidden(MainForm form) {
return form.Visible;
return !form.Visible;
}
/// <summary>
@ -104,5 +104,6 @@ namespace OnTopReplica {
}
#endregion
}
}

View file

@ -25,6 +25,7 @@ namespace OnTopReplica.Platforms {
//Do not show in task bar, but display notify icon
//NOTE: this effectively makes Windows ignore the Flip 3D policy set above (on Windows 7)
//NOTE: this also makes HotKey registration critically fail on Windows 7
form.ShowInTaskbar = false;
//Install tray icon

View file

@ -7,6 +7,7 @@ using System.Globalization;
using System.Drawing;
using System.IO;
using VistaControls.TaskDialog;
using OnTopReplica.Update;
namespace OnTopReplica {
@ -16,6 +17,10 @@ namespace OnTopReplica {
static CultureInfo _languageChangeCode = Settings.Default.Language;
static UpdateManager _updateManager;
static MainForm _mainForm;
/// <summary>
/// The main entry point for the application.
/// </summary>
@ -24,20 +29,25 @@ namespace OnTopReplica {
//Hook abort handler
AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Initialize and check for platform support
Platform = PlatformSupport.Create();
if (!Platform.CheckCompatibility())
return;
Platform.InitApp();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Update settings if needed
if (Settings.Default.MustUpdate) {
Settings.Default.Upgrade();
Settings.Default.MustUpdate = false;
}
//Start update request
_updateManager = new UpdateManager();
_updateManager.UpdateCheckCompleted += new EventHandler<UpdateCheckCompletedEventArgs>(UpdateCheckCompleted);
_updateManager.CheckForUpdate();
bool mustReloadForm = false;
Point reloadLocation = new Point();
@ -49,18 +59,18 @@ namespace OnTopReplica {
Settings.Default.Language = _languageChangeCode;
_languageChangeCode = null;
Form form = new MainForm();
_mainForm = new MainForm();
if (mustReloadForm) {
form.Location = reloadLocation;
form.Size = reloadSize;
_mainForm.Location = reloadLocation;
_mainForm.Size = reloadSize;
}
Application.Run(form);
Application.Run(_mainForm);
//Enable reloading on next loop
mustReloadForm = true;
reloadLocation = form.Location;
reloadSize = form.Size;
reloadLocation = _mainForm.Location;
reloadSize = _mainForm.Size;
}
while (_languageChangeCode != null);
@ -68,6 +78,22 @@ namespace OnTopReplica {
Settings.Default.Save();
}
delegate void GuiAction();
static void UpdateCheckCompleted(object sender, UpdateCheckCompletedEventArgs e) {
//Budy waiting for form (ugly)
while (_mainForm == null || !_mainForm.IsHandleCreated) ;
_mainForm.Invoke(new GuiAction(() => {
if (e.Success) {
_updateManager.HandleUpdateCheck(_mainForm, e.Information, false);
}
else {
Console.Error.WriteLine("Failed to check for updates: {0}", e.Error);
}
}));
}
/// <summary>
/// Forces a global language change. As soon as the main form is closed, the change is performed
/// and the form is reopened using the new language.

View file

@ -10,7 +10,8 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Lorenz Cuno Klopfenstein")]
[assembly: AssemblyProduct("OnTopReplica")]
[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")]
[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2010")]
//[assembly: AssemblyCopyright("Copyright © Lorenz Cuno Klopfenstein 2007")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
@ -32,5 +33,5 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("3.0.0.0")]
[assembly: AssemblyFileVersion("3.0.0.0")]
[assembly: AssemblyVersion("3.0.2.0")]
[assembly: AssemblyFileVersion("3.0.2.0")]

View file

@ -213,7 +213,7 @@ namespace OnTopReplica {
}
/// <summary>
/// Looks up a localized string similar to Install OnTopReplica {0}?.
/// Looks up a localized string similar to Download OnTopReplica {0}?.
/// </summary>
internal static string AskUpdate {
get {
@ -232,7 +232,7 @@ namespace OnTopReplica {
}
/// <summary>
/// Looks up a localized string similar to Proceed
/// Looks up a localized string similar to Download
///Install OnTopReplica {0}..
/// </summary>
internal static string AskUpdateButtonOk {
@ -242,7 +242,7 @@ namespace OnTopReplica {
}
/// <summary>
/// Looks up a localized string similar to The new version will be automatically downloaded and installed..
/// Looks up a localized string similar to The new version can be downloaded and installed from the official website..
/// </summary>
internal static string AskUpdateContent {
get {
@ -252,8 +252,7 @@ namespace OnTopReplica {
/// <summary>
/// Looks up a localized string similar to Installed version: {0}
///Available version: {1}
///Download size: {2} bytes.
///Available version: {1}.
/// </summary>
internal static string AskUpdateExpanded {
get {
@ -325,7 +324,7 @@ namespace OnTopReplica {
}
/// <summary>
/// Looks up a localized string similar to &apos;Desktop Composition&apos; is not enabled..
/// Looks up a localized string similar to Desktop Composition&apos; is not enabled..
/// </summary>
internal static string ErrorDwmOff {
get {
@ -381,7 +380,7 @@ namespace OnTopReplica {
}
/// <summary>
/// Looks up a localized string similar to &apos;Desktop Composition&apos; is not supported on your Operating System.
/// Looks up a localized string similar to Desktop Composition&apos; is not supported on your Operating System.
///You must run this application on Windows Vista Home Premium or better..
/// </summary>
internal static string ErrorNoDwm {
@ -426,25 +425,6 @@ namespace OnTopReplica {
}
}
/// <summary>
/// Looks up a localized string similar to OnTopReplica cannot run on your platform.
///The application is compatible with Windows Vista and 7..
/// </summary>
internal static string ErrorUnsupportedPlatform {
get {
return ResourceManager.GetString("ErrorUnsupportedPlatform", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Unsupported Platform.
/// </summary>
internal static string ErrorUnsupportedPlatformTitle {
get {
return ResourceManager.GetString("ErrorUnsupportedPlatformTitle", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Unable to check for updates..
/// </summary>
@ -463,6 +443,15 @@ namespace OnTopReplica {
}
}
/// <summary>
/// Looks up a localized string similar to OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down..
/// </summary>
internal static string ErrorUpdateContentGeneric {
get {
return ResourceManager.GetString("ErrorUpdateContentGeneric", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Mode.
/// </summary>

View file

View file

@ -12,6 +12,71 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Přerušit aktualizaci.</value>
</data>
<data name="AboutButtonExpanderTT" xml:space="preserve">
<value>Zobrazit podrobnosti o aplikaci OnTopReplica.</value>
</data>
<data name="AboutButtonResetTT" xml:space="preserve">
<value>Resetovat nastavení OnTopReplica.</value>
</data>
<data name="AboutButtonUpdateTT" xml:space="preserve">
<value>Aktualizovat OnTopReplica.</value>
</data>
<data name="AboutDetails" xml:space="preserve">
<value>&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
body {
font-family: Segoe UI, Arial, sans-serif;
font-size: 0.8em;
margin: 0;
padding: 0.75em;
}
h1 {
font-size: 1.4em;
font-weight: bold;
margin: 1em 0 0.4em 0;
padding: 0;
}
p {
margin: 0.5em 0 0.5em 1em;
padding: 0;
}
a {
font-weight: bold;
color: blue;
}
a:hover {
color: red;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Licence&lt;/h1&gt;
&lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; je šířena pod &lt;a href="http://opensource.org/licenses/ms-rl.html"&gt;Microsoft Reciprocal License (Ms-RL)&lt;/a&gt; licencí.&lt;/p&gt;
&lt;p&gt;Původní zdrojový kód je možné nalézt na &lt;a href="http://www.codeplex.com/ontopreplica"&gt;domovské stránce projektu na serveru CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Autoři a zásluhy&lt;/h1&gt;
&lt;p&gt;Původní inspirací pro OnTopReplica byla aplikace &lt;a href="http://insentient.net"&gt;Switcher&lt;/a&gt; a další aplikace založeny na DWM.&lt;/p&gt;
&lt;p&gt;Všechny Vista ovládací prvky jsou součástí &lt;a href="http://www.codeplex.com/windowsformsaero"&gt;knihovny WindowsFormsAero&lt;/a&gt; pro .NET.&lt;/p&gt;
&lt;p&gt;Některé ukázkové kódy byly převzaty z &lt;a href="http://www.ookii.org"&gt;Ookii&lt;/a&gt; ze serveru Channel9.&lt;/p&gt;
&lt;p&gt;Třída NativeToolstripRenderer byla převzata z &lt;a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/"&gt;asztal.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Některé ikony pocházejí z &lt;a href="http://www.vistaico.com"&gt;VistaICO.com&lt;/a&gt; a balíčku ikon Xiao.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
@ -28,6 +93,40 @@ Všechna nastavení budou ztracena.</value>
<data name="AskResetTitle" xml:space="preserve">
<value>Resetovat</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Resetovat nastavení?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Resetovat nastavení</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Instalovat OnTopReplica {0}?</value>
<comment>{0} update version</comment>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Zrušit aktualizaci
Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>Pokračovat
Instalovat OnTopReplica {0}.</value>
<comment>{0} update version</comment>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>Nová verze bude automaticky stažena a nainstalována.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Nainstalovaná verze: {0}
Dostupná verze: {1}</value>
<comment>{0} installed version number
{1} online available version number</comment>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Nové aktualizace jsou k dispozici</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Storno</value>
</data>
@ -37,6 +136,9 @@ Všechna nastavení budou ztracena.</value>
<data name="DrawRegions" xml:space="preserve">
<value>Označte výřez pomocí myši.</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Podrobnosti</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Podrobnosti k Windows Aero</value>
</data>
@ -70,21 +172,122 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>Funkce Desktop Composition není podporována</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Náhled nebyl nahrán.</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Nelze vytvořit náhled.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Nelze vložit okno.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Kontrola aktualizací se nezdařila.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte &lt;a href="http://ontopreplica.codeplex.com"&gt;domácí stránku aplikace OnTopReplica&lt;/a&gt;).</value>
</data>
<data name="FullscreenMode" xml:space="preserve">
<value>Režim</value>
</data>
<data name="FullscreenModeAlwaysOnTop" xml:space="preserve">
<value>Vždy na vrchu</value>
</data>
<data name="FullscreenModeAlwaysOnTopTT" xml:space="preserve">
<value>Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu.</value>
</data>
<data name="FullscreenModeClickThrough" xml:space="preserve">
<value>Proklikávání</value>
</data>
<data name="FullscreenModeClickThroughTT" xml:space="preserve">
<value>Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken.</value>
</data>
<data name="FullscreenModeNormal" xml:space="preserve">
<value>Standardní</value>
</data>
<data name="FullscreenModeNormalTT" xml:space="preserve">
<value>Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace.</value>
</data>
<data name="FullscreenTitle" xml:space="preserve">
<value>Aplikace OnTopReplica přes celou obrazovku</value>
</data>
<data name="Homepage" xml:space="preserve">
<value>Domácí stránka: www.codeplex.com/ontopreplica.</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Přejete si povolit "přeposílání kliknutí"?</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat).
Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu.</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Přeposílání kliknutí</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Povolit "Proklikávání" v celoobrazovkovém režimu?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>"Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna.
K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye).</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>Ne.
Režim "Proklikávání" je možné zvolit později v menu</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Používat "Proklikávání"</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Režim "Proklikávání"</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>Aplikace OnTopReplica byla aktualizována.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Aktualizace proběhla úspěšně</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplica je aktuální.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Žádná aktualizace není k dispozici.</value>
</data>
<data name="Language" xml:space="preserve">
<value>Jazyk</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>O aplikaci...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Skryje hlavní okno a zobrazí informace "O aplikaci".</value>
</data>
<data name="MenuChrome" xml:space="preserve">
<value>Okraj</value>
</data>
<data name="MenuChromeTT" xml:space="preserve">
<value>Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna.</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Přeposílání kliknutí</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Zapne "přeposílání kliknutí" do zdrojového okna.</value>
</data>
<data name="MenuClickThrough" xml:space="preserve">
<value>Proklikávání</value>
</data>
<data name="MenuClickThroughTT" xml:space="preserve">
<value>Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Zavřít</value>
</data>
@ -163,6 +366,9 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi
<data name="MenuPosTopRight" xml:space="preserve">
<value>Horní pravý rok</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Opustit celoobrazovkový režim</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Ukládat pozici a velikost okna</value>
</data>
@ -205,6 +411,36 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi
<data name="MenuWindowsTT" xml:space="preserve">
<value>Zobrazí seznam oken, které je možné použít jako zdroj.</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- celé okno -</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Aktuální výřez:</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Smazat</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Hotovo</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Výška</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Uložit</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Uložené výřezy</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Výřezy:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Šířka</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Začněte klepnutím sem pravým tlačítkem myši...</value>
</data>
@ -217,237 +453,4 @@ Tuto aplikaci je možné spouštět pouze na systémech Windows Vista Home Premi
<data name="UpdateNow" xml:space="preserve">
<value>Zkontroluj aktualizace</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Instalovat OnTopReplica {0}?</value>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Zrušit aktualizaci
Aplikace OnTopReplica vás vyzve k aktualizaci při dalším startu.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>Pokračovat
Instalovat OnTopReplica {0}.</value>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>Nová verze bude automaticky stažena a nainstalována.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Nainstalovaná verze: {0}
Dostupná verze: {1}
Velikost pro stažení: {2} bajtů</value>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Nové aktualizace jsou k dispozici</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Podrobnosti</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Náhled nebyl nahrán.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Kontrola aktualizací se nezdařila.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>Zdá se, že aplikace OnTopReplica nebyla nainstalována pomocí 'ClickOnce'. Aktualizaci musíte provést ručně (navštivte &lt;a href="http://ontopreplica.codeplex.com"&gt;domácí stránku aplikace OnTopReplica&lt;/a&gt;).</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>Aplikace OnTopReplica byla aktualizována.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>Pro použití aktualizací je potřeba aplikaci OnTopReplica restartovat.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Aktualizace proběhla úspěšně</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplica je aktuální.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Žádná aktualizace není k dispozici.</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Povolit "Proklikávání" v celoobrazovkovém režimu?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>"Proklikávání" funguje pouze pokud je povoleno v menu a okno má nastavenou průhlednost.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>V tomto režimu se bude okno roztažené přes celou obrazovku chovat jako poloprůhledná vrstva, přes kterou bude možné "proklikávat" na podložená okna.
K návratu do standardního režimu je možné přejít kdykoli dvojklikem na ikonu v oznamovací oblasti (traye).</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Režim "Proklikávání"</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>Ne.
Režim "Proklikávání" je možné zvolit později v menu</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Používat "Proklikávání"</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Přeposílání kliknutí</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Zapne "přeposílání kliknutí" do zdrojového okna.</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Opustit celoobrazovkový režim</value>
</data>
<data name="Language" xml:space="preserve">
<value>Jazyk</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Výřezy:</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Uložit</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Smazat</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Aktuální výřez:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Šířka</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Výška</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Hotovo</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Uložené výřezy</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Přejete si povolit "přeposílání kliknutí"?</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Přeposílání kliknutí</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>V tomto režimu aplikace OnTopReplica přeposílá kliknutí levého tlačítka myši do zdrojového okna (je tedy možné provádět základní ovládání zdrojového okna bez nutnosti jej aktivovat).
Ukončit režim "přeposíání kliknutí" je možné opětovným vyvolání položky v menu.</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Resetovat nastavení?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>Operace "Resetovat nastavení" smaže veškerá uživatelská nastavení aplikace OnTopReplica a vrátí nastavení do stejného stavu jako po instalaci (všechny uložené informace, jako například uložené výřezy oken, budou ztraceny).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Resetovat nastavení</value>
</data>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Přerušit aktualizaci.</value>
</data>
<data name="AboutButtonExpanderTT" xml:space="preserve">
<value>Zobrazit podrobnosti o aplikaci OnTopReplica.</value>
</data>
<data name="AboutButtonResetTT" xml:space="preserve">
<value>Resetovat nastavení OnTopReplica.</value>
</data>
<data name="AboutButtonUpdateTT" xml:space="preserve">
<value>Aktualizovat OnTopReplica.</value>
</data>
<data name="AboutDetails" xml:space="preserve">
<value>&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
body {
font-family: Segoe UI, Arial, sans-serif;
font-size: 0.8em;
margin: 0;
padding: 0.75em;
}
h1 {
font-size: 1.4em;
font-weight: bold;
margin: 1em 0 0.4em 0;
padding: 0;
}
p {
margin: 0.5em 0 0.5em 1em;
padding: 0;
}
a {
font-weight: bold;
color: blue;
}
a:hover {
color: red;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Licence&lt;/h1&gt;
&lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; je šířena pod &lt;a href="http://opensource.org/licenses/ms-rl.html"&gt;Microsoft Reciprocal License (Ms-RL)&lt;/a&gt; licencí.&lt;/p&gt;
&lt;p&gt;Původní zdrojový kód je možné nalézt na &lt;a href="http://www.codeplex.com/ontopreplica"&gt;domovské stránce projektu na serveru CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Autoři a zásluhy&lt;/h1&gt;
&lt;p&gt;Původní inspirací pro OnTopReplica byla aplikace &lt;a href="http://insentient.net"&gt;Switcher&lt;/a&gt; a další aplikace založeny na DWM.&lt;/p&gt;
&lt;p&gt;Všechny Vista ovládací prvky jsou součástí &lt;a href="http://www.codeplex.com/windowsformsaero"&gt;knihovny WindowsFormsAero&lt;/a&gt; pro .NET.&lt;/p&gt;
&lt;p&gt;Některé ukázkové kódy byly převzaty z &lt;a href="http://www.ookii.org"&gt;Ookii&lt;/a&gt; ze serveru Channel9.&lt;/p&gt;
&lt;p&gt;Třída NativeToolstripRenderer byla převzata z &lt;a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/"&gt;asztal.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Některé ikony pocházejí z &lt;a href="http://www.vistaico.com"&gt;VistaICO.com&lt;/a&gt; a balíčku ikon Xiao.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- celé okno -</value>
</data>
<data name="FullscreenTitle" xml:space="preserve">
<value>Aplikace OnTopReplica přes celou obrazovku</value>
</data>
<data name="FullscreenMode" xml:space="preserve">
<value>Režim</value>
</data>
<data name="FullscreenModeAlwaysOnTop" xml:space="preserve">
<value>Vždy na vrchu</value>
</data>
<data name="FullscreenModeAlwaysOnTopTT" xml:space="preserve">
<value>Nastaví aplikaci OnTopReplica, aby zůstávala vždy na vrchu.</value>
</data>
<data name="FullscreenModeClickThrough" xml:space="preserve">
<value>Proklikávání</value>
</data>
<data name="FullscreenModeClickThroughTT" xml:space="preserve">
<value>Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken.</value>
</data>
<data name="FullscreenModeNormal" xml:space="preserve">
<value>Standardní</value>
</data>
<data name="FullscreenModeNormalTT" xml:space="preserve">
<value>Aplikace OnTopReplica se bude chovat jako běžné okno. Jiná okna mohou překrýt okno aplikace.</value>
</data>
<data name="MenuChrome" xml:space="preserve">
<value>Okraj</value>
</data>
<data name="MenuChromeTT" xml:space="preserve">
<value>Přepínač, který definuje, zda má aplikace OnTopReplica viditelný okraj okna.</value>
</data>
<data name="MenuClickThrough" xml:space="preserve">
<value>Proklikávání</value>
</data>
<data name="MenuClickThroughTT" xml:space="preserve">
<value>Aplikace OnTopReplica se bude chovat jako průhledná vrstva přes kterou bude možno proklikávat do podložených oken.</value>
</data>
</root>

View file

View file

@ -12,14 +12,17 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Annuller updateringen</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- ingen -</value>
<data name="AboutButtonExpanderTT" xml:space="preserve">
<value>Vis detaljer om OnTopReplica.</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Sæt OnTopReplica automatiskt på den aktuelle skærm.</value>
<data name="AboutButtonResetTT" xml:space="preserve">
<value>Nulstil alle OnTopReplica indstillinger.</value>
</data>
<data name="AboutButtonUpdateTT" xml:space="preserve">
<value>Opdater OnTopReplica nu.</value>
</data>
<data name="AboutDetails" xml:space="preserve">
<value>&lt;html&gt;
@ -74,368 +77,205 @@ a:hover {
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>Nederst højre</value>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Pas til vinduet</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Installer OnTopReplica {0}?</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Annuller</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 kvart</value>
</data>
<data name="MenuOp100" xml:space="preserve">
<value>100% (uigennemsigtig)</value>
</data>
<data name="MenuChrome" xml:space="preserve">
<value>Krom</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="FullscreenModeClickThrough" xml:space="preserve">
<value>Klikke igennem</value>
</data>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Annuller updateringen</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- hele -</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 dobbelt</value>
<data name="AskReset" xml:space="preserve">
<value>Nulstil vinduet helt?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<value>&amp;NulstilAlle ændringer vil blive tabt.</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen.</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Nulstil</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Nulstil indstillinger?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Nulstil indstillingerne</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Installer OnTopReplica {0}?</value>
<comment>{0} update version</comment>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Annuller opdateringenOnTopReplica påminder dig igen næste gang det startes.</value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>Vinduet du har valgt er lukket eller er ikke gyldigt mere.</value>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>FortsætInstaller OnTopReplica</value>
<comment>{0} update version</comment>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Viser en liste af vinduer du kan bruge som miniature kilde.</value>
<data name="AskUpdateContent" xml:space="preserve">
<value>Den nye version vil automatiskt blive downloaded og installeret.</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Viser OnTopReplica.</value>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Installeret version: {0}
Tilgængelig version: {1}</value>
<comment>{0} installed version number
{1} online available version number</comment>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg &lt;a href="http://ontopreplica.codeplex.com"&gt;OnTopReplica's hjemmeside&lt;/a&gt;).</value>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Opdatering tilgængelig.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Opdater nu!</value>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Annuller</value>
</data>
<data name="AboutButtonExpanderTT" xml:space="preserve">
<value>Vis detaljer om OnTopReplica.</value>
<data name="CreatedBy" xml:space="preserve">
<value>Lavet af: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Luk</value>
<data name="DrawRegions" xml:space="preserve">
<value>Tegn områder med musen</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Aktiver "click forwarding" til det klonede vindue</value>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Detaljer</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Ingen opdateringer er tilgængelige</value>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Detaljer om Windows Aero</value>
</data>
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
<value>Windows Aero er kun tilgængelig op Windows Vista Home Premium eller højere.</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>Windows Aero effekter er ikke slået til</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
<value>Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger.</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Fejl detaljer.</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Fejl: </value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>Vinduet du har valgt er lukket eller er ikke gyldigt mere.</value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Fejl</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
<value>Windows Aero effekter er ikke understøttet af dit styresystem.
Dette program kræver Windows Vista Home Premium eller bedre.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>Skrivebords komposition ikke understøttet</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Ingen miniature indlæst.</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Kan ikke lave miniature.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Kunne ikke passes til vinduet.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Kan ikke søge efter opdateringer.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>OnTopReplica blev ikke installeret ved hjælp af 'ClickOnce'. Du bliver nødt til at opdatere manuelt (besøg &lt;a href="http://ontopreplica.codeplex.com"&gt;OnTopReplica's hjemmeside&lt;/a&gt;).</value>
</data>
<data name="FullscreenMode" xml:space="preserve">
<value>Tilstande</value>
</data>
<data name="FullscreenModeAlwaysOnTop" xml:space="preserve">
<value>Altid øverst</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Områder:</value>
<data name="FullscreenModeAlwaysOnTopTT" xml:space="preserve">
<value>Får OnTopReplica til altid at være øverst.</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Højde</value>
<data name="FullscreenModeClickThrough" xml:space="preserve">
<value>Klikke igennem</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Vælg område...</value>
<data name="FullscreenModeClickThroughTT" xml:space="preserve">
<value>OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Vælg vindue</value>
<data name="FullscreenModeNormal" xml:space="preserve">
<value>Standard</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Slet</value>
<data name="FullscreenModeNormalTT" xml:space="preserve">
<value>Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Genskab</value>
<data name="FullscreenTitle" xml:space="preserve">
<value>OnTopReplica fuld skærm</value>
</data>
<data name="Homepage" xml:space="preserve">
<value>Hjemmeside: www.codeplex.com/ontopreplica.</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Ønsker du at aktivere "click forwarding"?</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>Hvis denne funktion er aktiveret vil OnTopReplica vidersende alle venstr museklik til det klonede vindue (dette gør dig i stand til at udføre basis musefunktioner i det klonede vindue uden at skulle aktivere det).
For at afslutte denne funktion skal du højreklikke på OnTopReplica og deaktivere "Click forwarding" i menuen.</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Position</value>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Click forwarding</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Gemte områder</value>
<data name="InfoClickThrough" xml:space="preserve">
<value>Ønskes gennem klik i fuldskærms tilstand?</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Gem</value>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>I denne tilstand vil fuld skærm vinduet opføre sig som et delvist gennemsigtigt lag, hvilket gør dig i stand til at klikke på de underliggende vinduer.
For at komme tilbage til normal tilstand, dobbeltklik på OnTopReplica ikonet i meddelelsesområdet på proceslinjen.</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Lukker OnTopReplica.</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Gendan sidste position og størrelse</value>
</data>
<data name="FullscreenModeNormal" xml:space="preserve">
<value>Standard</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Skjuler hoved vinduet og viser om boxen.</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Bredde</value>
</data>
<data name="FullscreenMode" xml:space="preserve">
<value>Tilstande</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Gennem klik tilstand</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Højreklik her for at starte...</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Nulstiller OnTopReplica indstillingerne og hoved vinduet.</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Nulstil indstillinger?</value>
</data>
<data name="AboutButtonResetTT" xml:space="preserve">
<value>Nulstil alle OnTopReplica indstillinger.</value>
</data>
<data name="AskReset" xml:space="preserve">
<value>Nulstil vinduet helt?</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Nulstil vinduet</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Nulstil indstillingerne</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Nulstil</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Nulstil</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Uigennemsigtighed</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet.</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
<value>Du skal aktiverere "Windows Aero" som tema i Windows.For at gøre dette skal du højreklikke på skrivebordet og vælge personlige indstillinger.</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Click forwarding</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Click forwarding</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Skift til vindue</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Skifter til kilde vinduet og gemmer OnTopReplica.</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature.</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op.</value>
</data>
<data name="MenuChromeTT" xml:space="preserve">
<value>Vælger Chrome kanten rundt om vinduet til/fra</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Vælger "glas tilstand" til/fra</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Ønsker du at aktivere "click forwarding"?</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Ønskes gennem klik i fuldskærms tilstand?</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Brug gennem klik.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>FortsætInstaller OnTopReplica</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Detaljer om Windows Aero</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Fejl detaljer.</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Detaljer</value>
</data>
<data name="DrawRegions" xml:space="preserve">
<value>Tegn områder med musen</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>åben</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Kan bruges til at nulstille alle indstillinger hvis du mister kontrollen over vinduet eller hvis det er flyttet uden for skærmen.</value>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Opdatering tilgængelig.</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>Dette nulstiller OnTopReplica til standard indstillingerne (alle gemte informationer, som gemte områder, vil blive slettet).</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplice er opdateret.</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>Om...</value>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>Den nye version vil automatiskt blive downloaded og installeret.</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst.</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Kan ikke lave miniature.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>Skrivebords komposition ikke understøttet</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Kunne ikke passes til vinduet.</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>Nej.
Du kan aktivere gennem klik senere.</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Sætter OnTopReplica til 50% uigennemsigtighed.</value>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Brug gennem klik.</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Sætter OnTopReplica til 75% uigennemsigtighed.</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Sætter OnTopReplica til 25% uigennemsigtighed.</value>
</data>
<data name="FullscreenModeAlwaysOnTopTT" xml:space="preserve">
<value>Får OnTopReplica til altid at være øverst.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Installeret version: {0}Tilgængelig version: {1}Download størrelse: {2} bytes</value>
</data>
<data name="Language" xml:space="preserve">
<value>Sprog</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Ingen miniature indlæst.</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Minimere OnTopReplica til systembakken.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Kan ikke søge efter opdateringer.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Minimer til systembakken.</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Færdig</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>Øverst højre</value>
</data>
<data name="MenuOp100TT" xml:space="preserve">
<value>Sæt OnTopReplica til at være helt uigennemsigtig.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>Øverst venstre</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Glas</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>Windows Aero effekter er ikke slået til</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
<value>Windows Aero effekter er ikke understøttet af dit styresystem.
Dette program kræver Windows Vista Home Premium eller bedre.</value>
</data>
<data name="Homepage" xml:space="preserve">
<value>Hjemmeside: www.codeplex.com/ontopreplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>Nederst venstre</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Fejl: </value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Fejl</value>
</data>
<data name="CreatedBy" xml:space="preserve">
<value>Lavet af: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Fuld skærm</value>
</data>
<data name="FullscreenModeClickThroughTT" xml:space="preserve">
<value>OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer.</value>
</data>
<data name="FullscreenModeNormalTT" xml:space="preserve">
<value>Opfører sig som et almindeligt vindue. Du kan trække andre viduer ind over OnTopReplica.</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Afslut fuldskærm tilstand.</value>
</data>
<data name="FullscreenTitle" xml:space="preserve">
<value>OnTopReplica fuld skærm</value>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Gennem klik tilstand</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>OnTopReplica er blevet opdateret.</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Aktuelt område:</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt.</value>
</data>
<data name="AboutButtonUpdateTT" xml:space="preserve">
<value>Opdater OnTopReplica nu.</value>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>For at benytte den opdaterede udgave af OnTopReplica skal du genstarte programmet.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Opdatering fuldført</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 halv</value>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplice er opdateret.</value>
</data>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Ingen opdateringer er tilgængelige</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
<data name="Language" xml:space="preserve">
<value>Sprog</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>Gennem klik virker kun hvis det er blevet aktiveret i gendan undermenuen og hvis vinduet er delvist gennemsigtigt.</value>
<data name="MenuAbout" xml:space="preserve">
<value>Om...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Skjuler hoved vinduet og viser om boxen.</value>
</data>
<data name="MenuChrome" xml:space="preserve">
<value>Krom</value>
</data>
<data name="MenuChromeTT" xml:space="preserve">
<value>Vælger Chrome kanten rundt om vinduet til/fra</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Click forwarding</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Aktiver "click forwarding" til det klonede vindue</value>
</data>
<data name="MenuClickThrough" xml:space="preserve">
<value>Klikke igennem</value>
@ -443,4 +283,169 @@ Dette program kræver Windows Vista Home Premium eller bedre.</value>
<data name="MenuClickThroughTT" xml:space="preserve">
<value>OnTopReplica vil opføre sig som en gennemsigtig film der lader dig klikke igennem til de underliggende vinduer.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Luk</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Lukker OnTopReplica.</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 dobbelt</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Fuld skærm</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 halv</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Pas til vinduet</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 kvart</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Glas</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Vælger "glas tilstand" til/fra</value>
</data>
<data name="MenuOp100" xml:space="preserve">
<value>100% (uigennemsigtig)</value>
</data>
<data name="MenuOp100TT" xml:space="preserve">
<value>Sæt OnTopReplica til at være helt uigennemsigtig.</value>
</data>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Sætter OnTopReplica til 25% uigennemsigtighed.</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Sætter OnTopReplica til 50% uigennemsigtighed.</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Sætter OnTopReplica til 75% uigennemsigtighed.</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Uigennemsigtighed</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>åben</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Viser OnTopReplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>Nederst venstre</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>Nederst højre</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Position</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Sæt OnTopReplica automatiskt på den aktuelle skærm.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>Øverst venstre</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>Øverst højre</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Afslut fuldskærm tilstand.</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Gendan sidste position og størrelse</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Vælger om OnTopReplica skal gemme sidst brugte størrelse og position, til næste gang det starter op.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Minimer til systembakken.</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Minimere OnTopReplica til systembakken.</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Vælg område...</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Skifter til "område tilstand", der tillader dig at vælge et begrænset område af kildens vindue som miniature.</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Nulstil vinduet</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Nulstiller OnTopReplica indstillingerne og hoved vinduet.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Genskab</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Skift til vindue</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Skifter til kilde vinduet og gemmer OnTopReplica.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Vælg vindue</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- ingen -</value>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Viser en liste af vinduer du kan bruge som miniature kilde.</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- hele -</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Aktuelt område:</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Slet</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Færdig</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Højde</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Nulstil</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Gem</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Gemte områder</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Områder:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Bredde</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Højreklik her for at starte...</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>En letvægts, live, miniature udgave af et vindue du vælger, der altid er øverst.</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>OnTopReplica checker automatiskt for opdateringer. Der bliver ikke registreret nogen data på noget tidspunkt.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Opdater nu!</value>
</data>
</root>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,90 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Cancelar actualización</value>
</data>
<data name="AboutButtonExpanderTT" xml:space="preserve">
<value>Mostrar detalles acerca de OnTopReplica</value>
</data>
<data name="AboutButtonResetTT" xml:space="preserve">
<value>Reiniciar la configuración de OnTopReplica</value>
</data>
<data name="AboutButtonUpdateTT" xml:space="preserve">
<value>Actualizar OnTopReplica ahora</value>
</data>
<data name="AboutDetails" xml:space="preserve">
<value>&lt;html&gt;
&lt;head&gt;
&lt;style type="text/css"&gt;
body {
font-family: Segoe UI, Arial, sans-serif;
font-size: 0.8em;
margin: 0;
padding: 0.75em;
}
h1 {
font-size: 1.4em;
font-weight: bold;
margin: 1em 0 0.4em 0;
padding: 0;
}
p {
margin: 0.5em 0 0.5em 1em;
padding: 0;
}
a {
font-weight: bold;
color: blue;
}
a:hover {
color: red;
}
&lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;Licencia&lt;/h1&gt;
&lt;p&gt;&lt;b&gt;OnTopReplica&lt;/b&gt; cuenta con licencia &lt;a href="http://opensource.org/licenses/ms-rl.html"&gt;Microsoft Reciprocal License (Ms-RL)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;El código fuente original se encuentra en &lt;a href="http://www.codeplex.com/ontopreplica"&gt;la página inicial del proyecto en CodePlex&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Créditos&lt;/h1&gt;
&lt;p&gt;&lt;a href="http://insentient.net"&gt;Switcher&lt;/a&gt; y otros programas basados en DWM inspiraron OnTopReplica.&lt;/p&gt;
&lt;p&gt;All Vista controls are part of the &lt;a href="http://www.codeplex.com/windowsformsaero"&gt;WindowsFormsAero library&lt;/a&gt; for .NET.&lt;/p&gt;
&lt;p&gt;Some example code taken from &lt;a href="http://www.ookii.org"&gt;Ookii&lt;/a&gt; on Channel9.&lt;/p&gt;
&lt;p&gt;NativeToolstripRenderer class taken from &lt;a href="http://wp.asztal.net/2007/12/vista-style-menus-in-dotnet/"&gt;asztal.net&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Some icons from &lt;a href="http://www.vistaico.com"&gt;VistaICO.com&lt;/a&gt; and the Xiao icon set.&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="AskReset" xml:space="preserve">
<value>¿Reiniciar la ventana?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<value>&amp;Reiniciar
Todas las configuraciones se perderán.</value>
</data>
</root>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

View file

@ -12,352 +12,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="AskReset" xml:space="preserve">
<value>Ripristinare completamente la finestra?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<value>&amp;Ripristina
Tutte le impostazioni saranno perse.</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo.</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Ripristino</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Annulla</value>
</data>
<data name="CreatedBy" xml:space="preserve">
<value>Creato da: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="DrawRegions" xml:space="preserve">
<value>Disegna una regione usando il mouse.</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Dettagli su Windows Aero</value>
</data>
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
<value>Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore.</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>Il servizio di Desktop Composition Aero non è attivo.</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
<value>È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows.
Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza.</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Dettagli errore</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Errore: </value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>Sembra che la finestra selezionata sia stata chiusa o che non sia più valida.</value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Errore</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
<value>La "composzione del desktop" non è supportata dal tuo sistema operativo.
È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>Desktop Composition (DWM) non supportato</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Impossibile clonare la finestra.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Impossibile adattare la finestra.</value>
</data>
<data name="Homepage" xml:space="preserve">
<value>Sito internet: www.codeplex.com/ontopreplica.</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>A proposito di...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Nasconde la finestra principale e mostra una schermata di informazioni.</value>
</data>
<data name="GroupSwitchModeStatusDisabled" xml:space="preserve">
<value>Seleziona più finestre per attivare.</value>
</data>
<data name="GroupSwitchModeStatusEnabled" xml:space="preserve">
<value>Modalità Gruppo attivata.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Chiudi</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Termina OnTopReplica.</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 Doppio</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Tutto schermo</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 Metà</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Clone esatto</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 Quarto</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Effetto vetro</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Abilita o disabilita l'effetto vetro.</value>
</data>
<data name="MenuOp100" xml:space="preserve">
<value>100% (opaco)</value>
</data>
<data name="MenuOp100TT" xml:space="preserve">
<value>Imposta OnTopReplica come finestra completamente opaca.</value>
</data>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 25%.</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 50%.</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 75%.</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Opacità</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>Apri</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Attiva la finestra di OnTopReplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>In basso a sinistra</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>In basso a destra</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Posizione</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Posiziona automaticamente OnTopReplica sul monitor corrente.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>In alto a sinistra</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>In alto a destra</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Ripristina posizione e grandezza</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Minimizza</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Riduce OnTopReplica ad un'icona nella barra delle applicazioni.</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Seleziona regione...</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata.</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Reimposta finestra</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Reimposta OnTopReplica e la sua finestra principale.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Ridimensionamento</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Vai alla finestra originale</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Mostra la finestra originale e nasconde OnTopReplica.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Seleziona finestra</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- nessuna -</value>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Mostra una lista di finestre che è possibile clonare.</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Clic destro qui per iniziare...</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta.</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>OnTopReplica controlla automaticamente se sono presenti aggiornamenti.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Aggiorna!</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Installare OnTopReplica {0}?</value>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Annulla aggiornamento
OnTopReplica si aggiornerà in un secondo momento.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>Continua
Installa OnTopReplica {0}.</value>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>La nuova versione sarà scaricata ed installata automaticamente.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Versione installata: {0}
Versione disponibile: {1}
Grandezza: {2} bytes</value>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Aggiornamento disponibile</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Dettagli</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Nessuna finestra clonata al momento.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Impossibile controllare gli aggiornamenti.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando &lt;a href="http://ontopreplica.codeplex.com"&gt;la homepage del progetto&lt;/a&gt;.</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>OnTopReplica è stato aggiornato.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Aggiornamento completato</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>La versione più aggiornata è già installata.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Nessun aggiornamento disponibile</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Attivare la modalità Click-Through?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa.
Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni).</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Modalità Click-Through</value>
</data>
<data name="GroupSwitchModeWindows" xml:space="preserve">
<value>Finestre</value>
</data>
<data name="GroupSwitchModeTitle" xml:space="preserve">
<value>Modalità Gruppo di finestre:</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>No, grazie.
Puoi abilitare il Click-Through in futuro</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Abilita Click-Through</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Inoltro dei clic</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Attiva la modalità di "inoltro dei clic" alla finestra clonata.</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Esci da tutto schermo</value>
</data>
<data name="Language" xml:space="preserve">
<value>Lingua</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Regioni:</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Salva</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Cancella</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Regione corrente:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Largh.</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Altezz.</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Chiudi</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Regioni memorizzate</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Attivare la modalità di inoltro dei clic?</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Inoltro dei clic</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano).
Per uscire da questa modalità, usa il tasto ESC.</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Resettare impostazioni?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Reimposta</value>
</data>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Annulla il processo di aggiornamento.</value>
</data>
@ -423,11 +77,118 @@ a:hover {
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- intera -</value>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="FullscreenTitle" xml:space="preserve">
<value>OnTopReplica a pieno schermo</value>
<data name="AskReset" xml:space="preserve">
<value>Ripristinare completamente la finestra?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<value>&amp;Ripristina
Tutte le impostazioni saranno perse.</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Può essere usato se si è perso il controllo della finestra o si è spostata oltre ai bordi dello schermo.</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Ripristino</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Resettare impostazioni?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>Questa procedura resetterà tutte le impostazioni di OnTopReplica e cancellerà tutte le informazioni memorizzate (come, ad esempio, le regioni salvate).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Reimposta</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Scaricare OnTopReplica {0}?</value>
<comment>{0} update version</comment>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Annulla aggiornamento
OnTopReplica si aggiornerà in un secondo momento.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>Continua
Scarica OnTopReplica {0}.</value>
<comment>{0} update version</comment>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>Sarà possibile scaricare la nuova versione ed installarla.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Versione installata: {0}
Versione disponibile: {1}</value>
<comment>{0} installed version number
{1} online available version number</comment>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Aggiornamento disponibile</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Annulla</value>
</data>
<data name="CreatedBy" xml:space="preserve">
<value>Creato da: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="DrawRegions" xml:space="preserve">
<value>Disegna una regione usando il mouse.</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Dettagli</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Dettagli su Windows Aero</value>
</data>
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
<value>Windows Aero è disponibile soltanto su Windows Vista Home Premium o superiore.</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>Il servizio di Desktop Composition Aero non è attivo.</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
<value>È necessario attivare la "composizione del desktop" (DWM) selezionando "Windows Aero" come tema utilizzato da Windows.
Per farlo, clicca col tasto destro del mouse sul desktop e poi su Personalizza.</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Dettagli errore</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Errore: </value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>Sembra che la finestra selezionata sia stata chiusa o che non sia più valida.</value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Errore</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
<value>La "composzione del desktop" non è supportata dal tuo sistema operativo.
È necessario utilizzare Windows Vista o superiore per avviare OnTopReplica.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>Desktop Composition (DWM) non supportato</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>Nessuna finestra clonata al momento.</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Impossibile clonare la finestra.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Impossibile adattare la finestra.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Impossibile controllare gli aggiornamenti.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>Sembra che OnTopReplica non sia stato installato usando 'ClickOnce'. Sarà necessario aggiornare manualmente il programma visitando &lt;a href="http://ontopreplica.codeplex.com"&gt;la homepage del progetto&lt;/a&gt;.</value>
</data>
<data name="ErrorUpdateContentGeneric" xml:space="preserve">
<value>Non è stato possibile controllare se esiste una versione più aggiornata di OnTopReplica. Verificare di essere connessi ad Internet. Se la connessione è attiva, è possibile che il sito ufficiale sia temporaneamente offline.</value>
</data>
<data name="FullscreenMode" xml:space="preserve">
<value>Modalità</value>
@ -450,31 +211,277 @@ a:hover {
<data name="FullscreenModeNormalTT" xml:space="preserve">
<value>Si comporta come una finestra normale. Puoi portare altre finestre sopra OnTopReplica.</value>
</data>
<data name="FullscreenTitle" xml:space="preserve">
<value>OnTopReplica a pieno schermo</value>
</data>
<data name="GroupSwitchModeDisableButton" xml:space="preserve">
<value>Disattiva</value>
</data>
<data name="GroupSwitchModeEnableButton" xml:space="preserve">
<value>Abilita modalità</value>
</data>
<data name="GroupSwitchModeStatusDisabled" xml:space="preserve">
<value>Seleziona più finestre per attivare.</value>
</data>
<data name="GroupSwitchModeStatusEnabled" xml:space="preserve">
<value>Modalità Gruppo attivata.</value>
</data>
<data name="GroupSwitchModeTitle" xml:space="preserve">
<value>Modalità Gruppo di finestre:</value>
</data>
<data name="GroupSwitchModeWindows" xml:space="preserve">
<value>Finestre</value>
<comment>Column Header of list, simply refers to available windows to be cloned</comment>
</data>
<data name="Homepage" xml:space="preserve">
<value>Sito internet: www.codeplex.com/ontopreplica.</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Attivare la modalità di inoltro dei clic?</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>In questa modalità, OnTopReplica inoltrerà tutti i clic del pulsante sinistro sul clone della finestra alla finestra originale (questo permetterà di interagire in maniera basilare con la finestra clonata, senza averla in primo piano).
Per uscire da questa modalità, usa il tasto ESC.</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Inoltro dei clic</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Attivare la modalità Click-Through?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>La modalità "Click-Through" funziona solo se l'opzione è stata attivata e se la finestra è semitrasparente.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>In questa modalità la finestra clonata si comporterà come una maschera semitrasparente che permette di cliccare sulle finestre dietro di essa.
Per tornare alla modalità normale in qualsiasi momento, attiva OnTopReplica (dalla barra delle applicazioni).</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>No, grazie.
Puoi abilitare il Click-Through in futuro</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Abilita Click-Through</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Modalità Click-Through</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>OnTopReplica è stato aggiornato.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>Per utilizzare la nuova versione di OnTopReplica è necessario riavviare l'applicazione.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Aggiornamento completato</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>La versione più aggiornata è già installata.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>Nessun aggiornamento disponibile</value>
</data>
<data name="Language" xml:space="preserve">
<value>Lingua</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>A proposito di...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Nasconde la finestra principale e mostra una schermata di informazioni.</value>
</data>
<data name="MenuAdvanced" xml:space="preserve">
<value>Avanzate</value>
</data>
<data name="MenuChrome" xml:space="preserve">
<value>Bordo</value>
</data>
<data name="MenuChromeTT" xml:space="preserve">
<value>Abilita o disabilita il bordo della finestra.</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Inoltro dei clic</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Attiva la modalità di "inoltro dei clic" alla finestra clonata.</value>
</data>
<data name="MenuClickThrough" xml:space="preserve">
<value>Abilita Click-Through</value>
</data>
<data name="MenuClickThroughTT" xml:space="preserve">
<value>OnTopReplica si comporterà come una schermata trasparente, permettendo di cliccare sulle finestre al di sotto di essa.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Chiudi</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Termina OnTopReplica.</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 Doppio</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Tutto schermo</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 Metà</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Clone esatto</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 Quarto</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Effetto vetro</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Abilita o disabilita l'effetto vetro.</value>
</data>
<data name="MenuGroupSwitch" xml:space="preserve">
<value>Modalità Gruppo di finestre</value>
</data>
<data name="MenuGroupSwitchTT" xml:space="preserve">
<value>OnTopReplica clonerà automaticamente una finestra di un gruppo, scegliendo quella che non è stata in primo piano da più tempo.</value>
</data>
<data name="GroupSwitchModeEnableButton" xml:space="preserve">
<value>Abilita modalità</value>
<data name="MenuOp100" xml:space="preserve">
<value>100% (opaco)</value>
</data>
<data name="GroupSwitchModeDisableButton" xml:space="preserve">
<value>Disattiva</value>
<data name="MenuOp100TT" xml:space="preserve">
<value>Imposta OnTopReplica come finestra completamente opaca.</value>
</data>
<data name="MenuAdvanced" xml:space="preserve">
<value>Avanzate</value>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 25%.</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 50%.</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Imposta l'opacità di OnTopReplica al 75%.</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Opacità</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>Apri</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Attiva la finestra di OnTopReplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>In basso a sinistra</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>In basso a destra</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Posizione</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Posiziona automaticamente OnTopReplica sul monitor corrente.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>In alto a sinistra</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>In alto a destra</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Esci da tutto schermo</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Ripristina posizione e grandezza</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Imposta se, al prossimo avvio di OnTopReplica, debbano essere ripristinati i valori di grandezza e posizione della finestra alla chiusura.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Minimizza</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Riduce OnTopReplica ad un'icona nella barra delle applicazioni.</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Seleziona regione...</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Passa alla modalità di "selezione di regione", che permette di limitare la porzione di finestra che viene clonata.</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Reimposta finestra</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Reimposta OnTopReplica e la sua finestra principale.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Ridimensionamento</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Vai alla finestra originale</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Mostra la finestra originale e nasconde OnTopReplica.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Seleziona finestra</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- nessuna -</value>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Mostra una lista di finestre che è possibile clonare.</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- intera -</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Regione corrente:</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Cancella</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Chiudi</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Altezz.</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Salva</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Regioni memorizzate</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Regioni:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Largh.</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Clic destro qui per iniziare...</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>Una copia leggera, in tempo reale e sempre in primo piano di una finestra a tua scelta.</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>OnTopReplica controlla automaticamente se sono presenti aggiornamenti.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Aggiorna!</value>
</data>
</root>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -12,352 +12,6 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="AskReset" xml:space="preserve">
<value>Reset window completely?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<value>&amp;Reset
All settings will be lost.</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Reset</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Cancel</value>
</data>
<data name="CreatedBy" xml:space="preserve">
<value>Created by: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="DrawRegions" xml:space="preserve">
<value>Draw regions using mouse.</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Details on Windows Aero</value>
</data>
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
<value>Windows Aero is only available on Windows Vista Home Premium or higher.</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>'Desktop Composition' is not enabled.</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
<value>You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows.
To do so, right-click on the desktop and click on Personalize.</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Error details</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Error: </value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>It appears that the selected window has been closed or is not valid anymore.</value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Error</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
<value>'Desktop Composition' is not supported on your Operating System.
You must run this application on Windows Vista Home Premium or better.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>Desktop Composition unsupported</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Unable to create thumbnail.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Unable to fit window.</value>
</data>
<data name="Homepage" xml:space="preserve">
<value>Homepage: www.codeplex.com/ontopreplica.</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>About...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Hides the main window and displays the "about" box.</value>
</data>
<data name="GroupSwitchModeStatusDisabled" xml:space="preserve">
<value>Select multiple windows to enable.</value>
</data>
<data name="GroupSwitchModeStatusEnabled" xml:space="preserve">
<value>Group switch mode is enabled.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Close</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Closes OnTopReplica.</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 Double</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Fullscreen</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 Half</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Fit to window</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 Quarter</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Glass</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Toggles "glass mode" on and off.</value>
</data>
<data name="MenuOp100" xml:space="preserve">
<value>100% (opaque)</value>
</data>
<data name="MenuOp100TT" xml:space="preserve">
<value>Sets OnTopReplica to be completely opaque.</value>
</data>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Sets OnTopReplica to 25% opacity.</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Sets OnTopReplica to 50% opacity.</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Sets OnTopReplica to 75% opacity.</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Opacity</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>Open</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Displays OnTopReplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>Bottom Left</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>Bottom Right</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Position</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Automatically position OnTopReplica on the current screen.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>Top Left</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>Top Right</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Recall last position and size</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Minimize</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Minimizes OnTopReplica to the task bar (or the tray).</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Select region...</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Reset window</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Resets OnTopReplica settings and its main window.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Resize</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Switch to window</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Switches to the source window and hides OnTopReplica.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Select window</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- none -</value>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Displays a list of window you can select as thumbnail source.</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Right-click here to start...</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>A lightweight, real-time, always on top thumbnail of a window of your choice.</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>OnTopReplica automatically checks for updates. No information is logged at any point.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Update now!</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Install OnTopReplica {0}?</value>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Cancel update
OnTopReplica will prompt you the next time it is started.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>Proceed
Install OnTopReplica {0}.</value>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>The new version will be automatically downloaded and installed.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Installed version: {0}
Available version: {1}
Download size: {2} bytes</value>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Update available</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Details</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>No thumbnail loaded.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Unable to check for updates.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit &lt;a href="http://ontopreplica.codeplex.com"&gt;OnTopReplica's homepage&lt;/a&gt;).</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>OnTopReplica has been updated.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>In order to use the updated version of OnTopReplica you'll have to restart the application.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Update successful</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplica is up to date.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>No update available</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Enable Click-Through mode?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it.
To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Click-Through mode</value>
</data>
<data name="GroupSwitchModeWindows" xml:space="preserve">
<value>Windows</value>
</data>
<data name="GroupSwitchModeTitle" xml:space="preserve">
<value>Group switch mode:</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>No, thank you.
You can enable click-through later</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Use Click-Through</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Enable Click forwarding</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Enable "click forwarding" to the cloned window.</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Quit fullscreen mode</value>
</data>
<data name="Language" xml:space="preserve">
<value>Language</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Regions:</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Save</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Delete</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Current region:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Width</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Height</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Done</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Stored regions</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Do you want to enable "click forwarding"?</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Click forwarding</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it).
To exit this mode, push ESC.</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Reset settings?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Reset settings</value>
</data>
<data name="AboutButtonCancelTT" xml:space="preserve">
<value>Abort update process.</value>
</data>
@ -423,11 +77,118 @@ a:hover {
&lt;/body&gt;
&lt;/html&gt;</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- whole -</value>
<data name="ApplicationName" xml:space="preserve">
<value>OnTopReplica</value>
</data>
<data name="FullscreenTitle" xml:space="preserve">
<value>OnTopReplica fullscreen</value>
<data name="AskReset" xml:space="preserve">
<value>Reset window completely?</value>
</data>
<data name="AskResetButtonOk" xml:space="preserve">
<value>&amp;Reset
All settings will be lost.</value>
</data>
<data name="AskResetContent" xml:space="preserve">
<value>Can be used to reset all settings if you lost control over the window or moved it beyond the screen boundary.</value>
</data>
<data name="AskResetTitle" xml:space="preserve">
<value>Reset</value>
</data>
<data name="AskSettingReset" xml:space="preserve">
<value>Reset settings?</value>
</data>
<data name="AskSettingResetContent" xml:space="preserve">
<value>This will erase all settings of OnTopReplica, returning it to the original state right after installation (all saved information, like stored regions, will be lost).</value>
</data>
<data name="AskSettingResetTitle" xml:space="preserve">
<value>Reset settings</value>
</data>
<data name="AskUpdate" xml:space="preserve">
<value>Download OnTopReplica {0}?</value>
<comment>{0} update version</comment>
</data>
<data name="AskUpdateButtonCancel" xml:space="preserve">
<value>Cancel update
OnTopReplica will prompt you the next time it is started.</value>
</data>
<data name="AskUpdateButtonOk" xml:space="preserve">
<value>Download
Install OnTopReplica {0}.</value>
<comment>{0} update version</comment>
</data>
<data name="AskUpdateContent" xml:space="preserve">
<value>The new version can be downloaded and installed from the official website.</value>
</data>
<data name="AskUpdateExpanded" xml:space="preserve">
<value>Installed version: {0}
Available version: {1}</value>
<comment>{0} installed version number
{1} online available version number</comment>
</data>
<data name="AskUpdateTitle" xml:space="preserve">
<value>Update available</value>
</data>
<data name="ButtonCancel" xml:space="preserve">
<value>&amp;Cancel</value>
</data>
<data name="CreatedBy" xml:space="preserve">
<value>Created by: Lorenz Cuno Klopfenstein.</value>
</data>
<data name="DrawRegions" xml:space="preserve">
<value>Draw regions using mouse.</value>
</data>
<data name="ErrorDetailButton" xml:space="preserve">
<value>Details</value>
</data>
<data name="ErrorDetailsAero" xml:space="preserve">
<value>Details on Windows Aero</value>
</data>
<data name="ErrorDetailsAeroInfo" xml:space="preserve">
<value>Windows Aero is only available on Windows Vista Home Premium or higher.</value>
</data>
<data name="ErrorDwmOff" xml:space="preserve">
<value>Desktop Composition' is not enabled.</value>
</data>
<data name="ErrorDwmOffContent" xml:space="preserve">
<value>You must enable desktop composition, by selecting 'Windows Aero' as the theme used by Windows.
To do so, right-click on the desktop and click on Personalize.</value>
</data>
<data name="ErrorGenericInfoButton" xml:space="preserve">
<value>Error details</value>
</data>
<data name="ErrorGenericInfoText" xml:space="preserve">
<value>Error: </value>
</data>
<data name="ErrorGenericThumbnailHandleError" xml:space="preserve">
<value>It appears that the selected window has been closed or is not valid anymore.</value>
</data>
<data name="ErrorGenericTitle" xml:space="preserve">
<value>Error</value>
</data>
<data name="ErrorNoDwm" xml:space="preserve">
<value>Desktop Composition' is not supported on your Operating System.
You must run this application on Windows Vista Home Premium or better.</value>
</data>
<data name="ErrorNoDwmTitle" xml:space="preserve">
<value>Desktop Composition unsupported</value>
</data>
<data name="ErrorNoThumbnail" xml:space="preserve">
<value>No thumbnail loaded.</value>
</data>
<data name="ErrorUnableToCreateThumbnail" xml:space="preserve">
<value>Unable to create thumbnail.</value>
</data>
<data name="ErrorUnableToFit" xml:space="preserve">
<value>Unable to fit window.</value>
</data>
<data name="ErrorUpdate" xml:space="preserve">
<value>Unable to check for updates.</value>
</data>
<data name="ErrorUpdateContent" xml:space="preserve">
<value>It appears that OnTopReplica wasn't installed using 'ClickOnce'. You'll have to update manually (visit &lt;a href="http://ontopreplica.codeplex.com"&gt;OnTopReplica's homepage&lt;/a&gt;).</value>
</data>
<data name="ErrorUpdateContentGeneric" xml:space="preserve">
<value>OnTopReplica was unable to check whether an updated version is available. Make sure you are connected to the Internet. If you are, the website may be temporarily down.</value>
</data>
<data name="FullscreenMode" xml:space="preserve">
<value>Mode</value>
@ -450,31 +211,277 @@ a:hover {
<data name="FullscreenModeNormalTT" xml:space="preserve">
<value>Behaves like an ordinary window. You can bring other windows above OnTopReplica.</value>
</data>
<data name="FullscreenTitle" xml:space="preserve">
<value>OnTopReplica fullscreen</value>
</data>
<data name="GroupSwitchModeDisableButton" xml:space="preserve">
<value>Disable</value>
</data>
<data name="GroupSwitchModeEnableButton" xml:space="preserve">
<value>Enable Group mode</value>
</data>
<data name="GroupSwitchModeStatusDisabled" xml:space="preserve">
<value>Select multiple windows to enable.</value>
</data>
<data name="GroupSwitchModeStatusEnabled" xml:space="preserve">
<value>Group switch mode is enabled.</value>
</data>
<data name="GroupSwitchModeTitle" xml:space="preserve">
<value>Group switch mode:</value>
</data>
<data name="GroupSwitchModeWindows" xml:space="preserve">
<value>Windows</value>
<comment>Column Header of list, simply refers to available windows to be cloned</comment>
</data>
<data name="Homepage" xml:space="preserve">
<value>Homepage: www.codeplex.com/ontopreplica.</value>
</data>
<data name="InfoClickForwarding" xml:space="preserve">
<value>Do you want to enable "click forwarding"?</value>
</data>
<data name="InfoClickForwardingContent" xml:space="preserve">
<value>If this mode is enabled, OnTopReplica will forward all left mouse clicks to the window that is being cloned (this will allow you to do basic mouse operations on the cloned window without having to activate it).
To exit this mode, push ESC.</value>
</data>
<data name="InfoClickForwardingTitle" xml:space="preserve">
<value>Click forwarding</value>
</data>
<data name="InfoClickThrough" xml:space="preserve">
<value>Enable Click-Through mode?</value>
</data>
<data name="InfoClickThroughDetails" xml:space="preserve">
<value>Click-through only works if it has been enabled in the Resize submenu and if the window is semi-transparent.</value>
</data>
<data name="InfoClickThroughInformation" xml:space="preserve">
<value>In this mode the fullscreen window will behave as a partially transparent overlay, allowing you to click on the other windows behind it.
To return to normal mode anytime, activate OnTopReplica by clicking on the task bar (or the tray icon).</value>
</data>
<data name="InfoClickThroughNo" xml:space="preserve">
<value>No, thank you.
You can enable click-through later</value>
</data>
<data name="InfoClickThroughOk" xml:space="preserve">
<value>Use Click-Through</value>
</data>
<data name="InfoClickThroughTitle" xml:space="preserve">
<value>Click-Through mode</value>
</data>
<data name="InfoUpdated" xml:space="preserve">
<value>OnTopReplica has been updated.</value>
</data>
<data name="InfoUpdatedContent" xml:space="preserve">
<value>In order to use the updated version of OnTopReplica you'll have to restart the application.</value>
</data>
<data name="InfoUpdatedTitle" xml:space="preserve">
<value>Update successful</value>
</data>
<data name="InfoUpToDate" xml:space="preserve">
<value>OnTopReplica is up to date.</value>
</data>
<data name="InfoUpToDateTitle" xml:space="preserve">
<value>No update available</value>
</data>
<data name="Language" xml:space="preserve">
<value>Language</value>
</data>
<data name="MenuAbout" xml:space="preserve">
<value>About...</value>
</data>
<data name="MenuAboutTT" xml:space="preserve">
<value>Hides the main window and displays the "about" box.</value>
</data>
<data name="MenuAdvanced" xml:space="preserve">
<value>Advanced</value>
</data>
<data name="MenuChrome" xml:space="preserve">
<value>Chrome</value>
</data>
<data name="MenuChromeTT" xml:space="preserve">
<value>Toggles the display of the window chrome.</value>
</data>
<data name="MenuClickForwarding" xml:space="preserve">
<value>Enable Click forwarding</value>
</data>
<data name="MenuClickForwardingTT" xml:space="preserve">
<value>Enable "click forwarding" to the cloned window.</value>
</data>
<data name="MenuClickThrough" xml:space="preserve">
<value>Enable Click-Through</value>
</data>
<data name="MenuClickThroughTT" xml:space="preserve">
<value>OnTopReplica will behave like a transparent overlay that lets your clicks through to the windows below.</value>
</data>
<data name="MenuClose" xml:space="preserve">
<value>Close</value>
</data>
<data name="MenuCloseTT" xml:space="preserve">
<value>Closes OnTopReplica.</value>
</data>
<data name="MenuFitDouble" xml:space="preserve">
<value>2:1 Double</value>
</data>
<data name="MenuFitFullscreen" xml:space="preserve">
<value>Fullscreen</value>
</data>
<data name="MenuFitHalf" xml:space="preserve">
<value>1:2 Half</value>
</data>
<data name="MenuFitOriginal" xml:space="preserve">
<value>1:1 Fit to window</value>
</data>
<data name="MenuFitQuarter" xml:space="preserve">
<value>1:4 Quarter</value>
</data>
<data name="MenuGlass" xml:space="preserve">
<value>Glass</value>
</data>
<data name="MenuGlassTT" xml:space="preserve">
<value>Toggles "glass mode" on and off.</value>
</data>
<data name="MenuGroupSwitch" xml:space="preserve">
<value>Group Switch mode</value>
</data>
<data name="MenuGroupSwitchTT" xml:space="preserve">
<value>OnTopReplica will automatically clone a window from an user defined group, switching to the one least recently activated to the foreground.</value>
</data>
<data name="GroupSwitchModeEnableButton" xml:space="preserve">
<value>Enable Group mode</value>
<data name="MenuOp100" xml:space="preserve">
<value>100% (opaque)</value>
</data>
<data name="GroupSwitchModeDisableButton" xml:space="preserve">
<value>Disable</value>
<data name="MenuOp100TT" xml:space="preserve">
<value>Sets OnTopReplica to be completely opaque.</value>
</data>
<data name="MenuAdvanced" xml:space="preserve">
<value>Advanced</value>
<data name="MenuOp25" xml:space="preserve">
<value>25%</value>
</data>
<data name="MenuOp25TT" xml:space="preserve">
<value>Sets OnTopReplica to 25% opacity.</value>
</data>
<data name="MenuOp50" xml:space="preserve">
<value>50%</value>
</data>
<data name="MenuOp50TT" xml:space="preserve">
<value>Sets OnTopReplica to 50% opacity.</value>
</data>
<data name="MenuOp75" xml:space="preserve">
<value>75%</value>
</data>
<data name="MenuOp75TT" xml:space="preserve">
<value>Sets OnTopReplica to 75% opacity.</value>
</data>
<data name="MenuOpacity" xml:space="preserve">
<value>Opacity</value>
</data>
<data name="MenuOpen" xml:space="preserve">
<value>Open</value>
</data>
<data name="MenuOpenTT" xml:space="preserve">
<value>Displays OnTopReplica.</value>
</data>
<data name="MenuPosBottomLeft" xml:space="preserve">
<value>Bottom Left</value>
</data>
<data name="MenuPosBottomRight" xml:space="preserve">
<value>Bottom Right</value>
</data>
<data name="MenuPosition" xml:space="preserve">
<value>Position</value>
</data>
<data name="MenuPositionTT" xml:space="preserve">
<value>Automatically position OnTopReplica on the current screen.</value>
</data>
<data name="MenuPosTopLeft" xml:space="preserve">
<value>Top Left</value>
</data>
<data name="MenuPosTopRight" xml:space="preserve">
<value>Top Right</value>
</data>
<data name="MenuQuitFullscreen" xml:space="preserve">
<value>Quit fullscreen mode</value>
</data>
<data name="MenuRecall" xml:space="preserve">
<value>Recall last position and size</value>
</data>
<data name="MenuRecallTT" xml:space="preserve">
<value>Toggles whether OnTopReplica should store its last position and size and use them when it is restarted.</value>
</data>
<data name="MenuReduce" xml:space="preserve">
<value>Minimize</value>
</data>
<data name="MenuReduceTT" xml:space="preserve">
<value>Minimizes OnTopReplica to the task bar (or the tray).</value>
</data>
<data name="MenuRegion" xml:space="preserve">
<value>Select region...</value>
</data>
<data name="MenuRegionTT" xml:space="preserve">
<value>Switches to "region mode", that allows you to select a limited region of the source's window as thumbnail.</value>
</data>
<data name="MenuReset" xml:space="preserve">
<value>Reset window</value>
</data>
<data name="MenuResetTT" xml:space="preserve">
<value>Resets OnTopReplica settings and its main window.</value>
</data>
<data name="MenuResize" xml:space="preserve">
<value>Resize</value>
</data>
<data name="MenuSwitch" xml:space="preserve">
<value>Switch to window</value>
</data>
<data name="MenuSwitchTT" xml:space="preserve">
<value>Switches to the source window and hides OnTopReplica.</value>
</data>
<data name="MenuWindows" xml:space="preserve">
<value>Select window</value>
</data>
<data name="MenuWindowsNone" xml:space="preserve">
<value>- none -</value>
</data>
<data name="MenuWindowsTT" xml:space="preserve">
<value>Displays a list of window you can select as thumbnail source.</value>
</data>
<data name="MenuWindowsWholeRegion" xml:space="preserve">
<value>- whole -</value>
</data>
<data name="RegionsCurrentRegion" xml:space="preserve">
<value>Current region:</value>
</data>
<data name="RegionsDeleteButton" xml:space="preserve">
<value>Delete</value>
</data>
<data name="RegionsDoneButton" xml:space="preserve">
<value>Done</value>
</data>
<data name="RegionsHeight" xml:space="preserve">
<value>Height</value>
</data>
<data name="RegionsResetButton" xml:space="preserve">
<value>Reset</value>
</data>
<data name="RegionsSaveButton" xml:space="preserve">
<value>Save</value>
</data>
<data name="RegionsStoredRegions" xml:space="preserve">
<value>Stored regions</value>
</data>
<data name="RegionsTitle" xml:space="preserve">
<value>Regions:</value>
</data>
<data name="RegionsWidth" xml:space="preserve">
<value>Width</value>
</data>
<data name="RightClick" xml:space="preserve">
<value>Right-click here to start...</value>
</data>
<data name="Slogan" xml:space="preserve">
<value>A lightweight, real-time, always on top thumbnail of a window of your choice.</value>
</data>
<data name="UpdateDisclaimer" xml:space="preserve">
<value>OnTopReplica automatically checks for updates. No information is logged at any point.</value>
</data>
<data name="UpdateNow" xml:space="preserve">
<value>Update now!</value>
</data>
</root>

View file

@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -0,0 +1,15 @@
using System;
using System.Collections.Generic;
using System.Text;
namespace OnTopReplica.Update {
class UpdateCheckCompletedEventArgs : EventArgs {
public UpdateInformation Information { get; set; }
public bool Success { get; set; }
public Exception Error { get; set; }
}
}

View file

@ -0,0 +1,72 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml.Serialization;
using System.IO;
using System.Xml;
namespace OnTopReplica.Update {
/// <summary>
/// Contains information about the latest OnTopReplica update available.
/// </summary>
public class UpdateInformation {
Version _latestVersion;
/// <summary>
/// Gets the latest available version of the software.
/// </summary>
[XmlIgnore]
public Version LatestVersion {
get {
return _latestVersion;
}
set {
_latestVersion = value;
}
}
[XmlElement("latestVersion")]
public string LatestVersionInternal {
get {
return _latestVersion.ToString();
}
set {
_latestVersion = new Version(value);
}
}
/// <summary>
/// Indicates when the latest version was released.
/// </summary>
[XmlElement("latestVersionRelease")]
public DateTime LatestVersionRelease { get; set; }
/// <summary>
/// Gets the URL of the page that allows the user to download the updated installer.
/// </summary>
[XmlElement("downloadPage")]
public string DownloadPage { get; set; }
/// <summary>
/// Deserializes an UpdateInformation object from a stream.
/// </summary>
public static UpdateInformation Deserialize(Stream source) {
var serializer = new XmlSerializer(typeof(UpdateInformation));
var info = serializer.Deserialize(source) as UpdateInformation;
return info;
}
public static string Serialize(UpdateInformation information) {
var serializer = new XmlSerializer(typeof(UpdateInformation));
var sb = new StringBuilder();
using(var writer = new StringWriter(sb)){
serializer.Serialize(writer, information);
}
return sb.ToString();
}
}
}

View file

@ -0,0 +1,109 @@
using System;
using System.Collections.Generic;
using System.Net;
using System.Text;
using System.Net.Cache;
using System.IO;
using System.Reflection;
using VistaControls.TaskDialog;
using System.Diagnostics;
using System.Windows.Forms;
namespace OnTopReplica.Update {
class UpdateManager {
const string UpdateManifestUrl = "http://www.klopfenstein.net/public/Uploads/ontopreplica/update.xml";
public void CheckForUpdate() {
//Build web request
var request = (HttpWebRequest)HttpWebRequest.Create(UpdateManifestUrl);
request.AllowAutoRedirect = true;
request.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;
request.CachePolicy = new RequestCachePolicy(RequestCacheLevel.BypassCache);
//Begin async request...
request.BeginGetResponse(new AsyncCallback(EndCheckForUpdate), request);
}
private void EndCheckForUpdate(IAsyncResult result) {
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
try {
var response = request.EndGetResponse(result);
var info = UpdateInformation.Deserialize(response.GetResponseStream());
OnUpdateCheckSuccess(info);
}
catch (Exception ex) {
OnUpdateCheckError(ex);
return;
}
}
public event EventHandler<UpdateCheckCompletedEventArgs> UpdateCheckCompleted;
protected virtual void OnUpdateCheckError(Exception ex) {
var evt = UpdateCheckCompleted;
if (evt != null) {
evt(this, new UpdateCheckCompletedEventArgs {
Success = false,
Error = ex
});
}
}
protected virtual void OnUpdateCheckSuccess(UpdateInformation information) {
var evt = UpdateCheckCompleted;
if (evt != null) {
evt(this, new UpdateCheckCompletedEventArgs {
Success = true,
Information = information
});
}
}
/// <summary>
/// Handles the results of an update check. Must be called from main GUI thread.
/// </summary>
/// <param name="information">The retrieved update information.</param>
/// <param name="verbose">Determines if the lack of updated should be notified to the user.</param>
public void HandleUpdateCheck(Form parent, UpdateInformation information, bool verbose) {
if (information == null)
return;
var currentVersion = Assembly.GetExecutingAssembly().GetName().Version;
if (information.LatestVersion > currentVersion) {
//New version found
var dlg = new TaskDialog(
string.Format(Strings.AskUpdate, information.LatestVersion),
Strings.AskUpdateTitle,
Strings.AskUpdateContent) {
CustomButtons = new CustomButton[] {
new CustomButton(Result.OK, string.Format(Strings.AskUpdateButtonOk, information.LatestVersion)),
new CustomButton(Result.Cancel, Strings.AskUpdateButtonCancel)
},
UseCommandLinks = true,
CommonIcon = TaskDialogIcon.Information,
ExpandedInformation = string.Format(Strings.AskUpdateExpanded, currentVersion, information.LatestVersion)
};
if (dlg.Show(parent).CommonButton == Result.OK) {
Process.Start(information.DownloadPage);
}
}
else if(verbose) {
//No updates, but need to inform the user
var dlg = new TaskDialog(Strings.InfoUpToDate, Strings.InfoUpToDateTitle) {
CommonButtons = TaskDialogButton.OK,
CommonIcon = TaskDialogIcon.Information,
Footer = information.LatestVersion.ToString()
};
dlg.Show();
}
}
}
}

BIN
OriginalAssets/new-icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB