diff --git a/Application/Application.vcxproj b/Application/Application.vcxproj index 4080ce0d..fca71b93 100644 --- a/Application/Application.vcxproj +++ b/Application/Application.vcxproj @@ -126,8 +126,8 @@ mkdir ..\testbench\x32\debug\skins if not exist ..\testbench\x32\debug\themes (mkdir ..\testbench\x32\debug\themes) echo "Copying skins..." -xcopy /Q /S /Y ..\Install\Skins ..\testbench\x32\debug\skins -xcopy /Q /S /Y ..\Install\Themes ..\testbench\x32\debug\themes +xcopy /Q /S /Y ..\Build\Skins ..\testbench\x32\debug\skins +xcopy /Q /S /Y ..\Build\Themes ..\testbench\x32\debug\themes :skip @@ -175,8 +175,8 @@ xcopy /Q /S /Y ..\Install\Themes ..\testbench\x32\debug\themes mkdir ..\testbench\x64\debug\skins if not exist ..\testbench\x64\debug\themes (mkdir ..\testbench\x64\debug\themes) echo "Copying skins..." -xcopy /Q /S /Y ..\Install\Skins ..\testbench\x64\debug\skins -xcopy /Q /S /Y ..\Install\Themes ..\testbench\x64\debug\themes +xcopy /Q /S /Y ..\Build\Skins ..\testbench\x64\debug\skins +xcopy /Q /S /Y ..\Build\Themes ..\testbench\x64\debug\themes :skip @@ -230,8 +230,8 @@ xcopy /Q /S /Y ..\Install\Themes ..\testbench\x64\debug\themes mkdir ..\testbench\x32\release\skins if not exist ..\testbench\x32\release\themes (mkdir ..\testbench\x32\release\themes) echo "Copying skins..." -xcopy /Q /S /Y ..\Install\Skins ..\testbench\x32\release\skins -xcopy /Q /S /Y ..\Install\Themes ..\testbench\x32\release\themes +xcopy /Q /S /Y ..\Build\Skins ..\testbench\x32\release\skins +xcopy /Q /S /Y ..\Build\Themes ..\testbench\x32\release\themes :skip @@ -284,8 +284,8 @@ xcopy /Q /S /Y ..\Install\Themes ..\testbench\x32\release\themes mkdir ..\testbench\x64\release\skins if not exist ..\testbench\x64\release\themes (mkdir ..\testbench\x64\release\themes) echo "Copying skins..." -xcopy /Q /S /Y ..\Install\Skins ..\testbench\x64\release\skins -xcopy /Q /S /Y ..\Install\Themes ..\testbench\x64\release\themes +xcopy /Q /S /Y ..\Build\Skins ..\testbench\x64\release\skins +xcopy /Q /S /Y ..\Build\Themes ..\testbench\x64\release\themes :skip diff --git a/Build/Build.bat b/Build/Build.bat new file mode 100644 index 00000000..6d5998a0 --- /dev/null +++ b/Build/Build.bat @@ -0,0 +1,167 @@ +@echo off +setlocal EnableDelayedExpansion + +set VCVARSALL=%PROGRAMFILES%\Microsoft Visual Studio 10.0\VC\vcvarsall.bat +set MAKENSIS=%PROGRAMFILES%\NSIS\MakeNSIS.exe +set SUBWCREV=%PROGRAMFILES%\TortoiseSVN\bin\SubWCRev.exe +set GIT=%PROGRAMFILES%\Git\bin\git.exe +set VERSION=2.3.0 +set REVISION=1 + + +if "%1" == "BUILDVERSION" goto BUILDVERSION +echo Rainmeter Build +echo ---------------------------------------------- +echo. + +if exist "%VCVARSALL%" goto VCFOUND +set VCVARSALL=%VCVARSALL:Program Files\=Program Files (x86)\% +if not exist "%VCVARSALL%" echo ERROR: vcvarsall.bat not found & goto END +:VCFOUND +call "%VCVARSALL%" x86 > nul +if "%1" == "BUILDLANGUAGES" goto BUILDLANGUAGES + +if exist "%MAKENSIS%" goto NSISFOUND +set MAKENSIS=%MAKENSIS:Program Files\=Program Files (x86)\% +if not exist "%MAKENSIS%" echo ERROR: MakeNSIS.exe not found & goto END +:NSISFOUND + +set ISBETA=true +if "%1" == "RELEASE" ( + set ISBETA=false +) + +:BUILDVERSION + +if exist "..\.svn" goto SVN +if exist "..\..\.svn" goto SVN +if not exist "..\.git" goto UPDATEVERSION + +:: git +if exist "%GIT%" goto GITFOUND +set GIT=%GIT:Program Files\=Program Files (x86)\% +if not exist "%GIT%" echo ERROR: git.exe not found & goto END +:GITFOUND +set /a REVISION=0 +for /f "usebackq delims= " %%G in (`"%GIT%" rev-list --all`) do set /a REVISION+=1 +goto UPDATEVERSION + +:: svn +:SVN +if exist "%SUBWCREV%" goto SUBWCREVFOUND +set SUBWCREV=%SUBWCREV:Program Files\=Program Files (x86)\% +if not exist "%SUBWCREV%" echo ERROR: SubWCRev.exe (TortoiseSVN) not found & goto END +:SUBWCREVFOUND +for /f "usebackq tokens=5 delims= " %%G in (`"%SUBWCREV%" ..\`) do set REVISION=%%G + +:UPDATEVERSION + +:: Update Version.h +> "..\Version.h" echo #pragma once +>>"..\Version.h" echo #define FILEVER %VERSION:~0,1%,%VERSION:~2,1%,%VERSION:~4,1%,%REVISION% +>>"..\Version.h" echo #define PRODUCTVER FILEVER +>>"..\Version.h" echo #define STRFILEVER "%VERSION%.%REVISION%" +>>"..\Version.h" echo #define STRPRODUCTVER STRFILEVER +>>"..\Version.h" echo #define APPVERSION L"%VERSION%" +>>"..\Version.h" echo #define RAINMETER_VERSION ((%VERSION:~0,1% * 1000000) + (%VERSION:~2,1% * 1000) + %VERSION:~4,1%) +>>"..\Version.h" echo const int revision_number = %REVISION%; +>>"..\Version.h" echo const bool revision_beta = %ISBETA%; + +:: Update Version.cs +> "..\Version.cs" echo namespace Rainmeter +>>"..\Version.cs" echo { +>>"..\Version.cs" echo public class Version +>>"..\Version.cs" echo { +>>"..\Version.cs" echo #if X64 +>>"..\Version.cs" echo public const string Informational = "%VERSION%.%REVISION% (64-bit)"; +>>"..\Version.cs" echo #else +>>"..\Version.cs" echo public const string Informational = "%VERSION%.%REVISION% (32-bit)"; +>>"..\Version.cs" echo #endif +>>"..\Version.cs" echo } +>>"..\Version.cs" echo } + + +if "%1" == "BUILDVERSION" goto :eof +echo * Updated Version.h + +:: Set vcbuild environment variables and begin build +echo * Starting build for %VERSION% r%REVISION% + +:: Build Library +echo * Building 32-bit projects +"msbuild.exe" /t:rebuild /p:Configuration=Release;Platform=Win32 /m ..\Rainmeter.sln > "BuildLog.txt" +if not %ERRORLEVEL% == 0 echo ERROR %ERRORLEVEL%: Build failed & goto END + +echo * Building 64-bit projects +"msbuild.exe" /t:rebuild /p:Configuration=Release;Platform=x64 /m ..\Rainmeter.sln > "BuildLog.txt" +if not %ERRORLEVEL% == 0 echo ERROR %ERRORLEVEL%: Build failed & goto END + +:BUILDLANGUAGES +echo * Building languages + +:: Build all language libraries +>".\Installer\Languages.nsh" echo. +for /f "tokens=1,2,3 delims=," %%a in (..\Language\List) do ( + > "..\Language\Language.rc" echo #include "%%a.h" + >>"..\Language\Language.rc" echo #include "Resource.rc" + >>".\Installer\Languages.nsh" echo ^^!insertmacro IncludeLanguage "%%b" "%%a" + + "msbuild.exe" /t:Language /p:Configuration=Release;Platform=Win32;TargetName=%%c ..\Rainmeter.sln > "BuildLog.txt" + if not %ERRORLEVEL% == 0 echo ERROR: Building language %%a failed & goto END +) + +:: Restore English +echo #include "English.h"> "..\Language\Language.rc" +echo #include "Resource.rc">> "..\Language\Language.rc" +if "%1" == "BUILDLANGUAGES" ( + xcopy /Q /S /Y ..\TestBench\x32\Release\Languages\*.dll ..\TestBench\x64\Release\Languages\ > nul + xcopy /Q /S /Y ..\TestBench\x32\Release\Languages\*.dll ..\TestBench\x32\Debug\Languages\ > nul + xcopy /Q /S /Y ..\TestBench\x32\Release\Languages\*.dll ..\TestBench\x64\Debug\Languages\ > nul + if exist "BuildLog.txt" del "BuildLog.txt" + goto END +) + +:: Sign binaries +if exist "Certificate.bat" ( + call "Certificate.bat" > nul +) +set SIGNTOOL="signtool.exe" sign /t http://time.certum.pl /f "%CERTFILE%" /p "%CERTKEY%" + +if not "%CERTFILE%" == "" ( + echo * Signing binaries + for %%Z in (Rainmeter.dll Rainmeter.exe SkinInstaller.exe) do ( + %SIGNTOOL% ..\TestBench\x32\Release\%%Z > BuildLog.txt + if not %ERRORLEVEL% == 0 echo ERROR %ERRORLEVEL%: Signing x32\%%Z failed & goto END + %SIGNTOOL% ..\TestBench\x64\Release\%%Z > BuildLog.txt + if not %ERRORLEVEL% == 0 echo ERROR %ERRORLEVEL%: Signing x64\%%Z failed & goto END + ) +) + +:: Build installer +echo * Building installer +if "%1" == "RELEASE" ( + "%MAKENSIS%" /DREV="%REVISION%" /DVER="%VERSION:~0,1%.%VERSION:~2,1%" .\Installer\Installer.nsi > "BuildLog.txt" +) else ( + "%MAKENSIS%" /DBETA /DREV="%REVISION%" /DVER="%VERSION:~0,1%.%VERSION:~2,1%" .\Installer\Installer.nsi > "BuildLog.txt" +) +if not %ERRORLEVEL% == 0 echo ERROR %ERRORLEVEL%: Building installer failed & goto END + +:: Sign installer +if not "%CERTFILE%" == "" ( + echo * Signing installer + if "%1" == "RELEASE" ( + %SIGNTOOL% Rainmeter-%VERSION:~0,1%.%VERSION:~2,1%.exe > BuildLog.txt + ) else ( + %SIGNTOOL% Rainmeter-%VERSION:~0,1%.%VERSION:~2,1%-r%REVISION%-beta.exe > BuildLog.txt + ) + if not %ERRORLEVEL% == 0 echo ERROR %ERRORLEVEL%: Signing installer failed & goto END +) + +:: If we got here, build was successful so delete BuildLog.txt +if exist "BuildLog.txt" del "BuildLog.txt" +echo * Build complete. + +:END +if exist ".\Installer\Languages.nsh" del ".\Installer\Languages.nsh" +echo. +pause diff --git a/Build/BuildLanguages.bat b/Build/BuildLanguages.bat new file mode 100644 index 00000000..4a5f9b19 --- /dev/null +++ b/Build/BuildLanguages.bat @@ -0,0 +1,2 @@ +@echo off +"Build.bat" BUILDLANGUAGES \ No newline at end of file diff --git a/Build/BuildLog.txt b/Build/BuildLog.txt new file mode 100644 index 00000000..43e878dc --- /dev/null +++ b/Build/BuildLog.txt @@ -0,0 +1,242 @@ +Microsoft (R) Build Engine version 4.0.30319.17379 +[Microsoft .NET Framework, version 4.0.30319.17379] +Copyright (C) Microsoft Corporation. All rights reserved. + +Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. +Build started 26/03/2012 17:40:00. +Project "D:\gittest\Rainmeter.sln" on node 1 (rebuild target(s)). +ValidateSolutionConfiguration: + Building solution configuration "Release|Win32". +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Application\Application.vcxproj" (2) on node 1 (Rebuild target(s)). +D:\gittest\Application\Application.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Application\Application.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Language\Language.vcxproj" (3) on node 1 (Rebuild target(s)). +D:\gittest\Language\Language.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Language\Language.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\SkinInstaller\SkinInstaller.vcxproj" (4) on node 1 (Rebuild target(s)). +D:\gittest\SkinInstaller\SkinInstaller.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\SkinInstaller\SkinInstaller.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\API\DllExporter\DllExporter.csproj" (5) on node 1 (Rebuild target(s)). +CoreClean: + Deleting file "D:\gittest\Plugins\API\DllExporter\obj\x86\Release\DllExporter.csprojResolveAssemblyReference.cache". + Deleting file "D:\gittest\Plugins\API\DllExporter\obj\x86\Release\DllExporter.exe". +CoreCompile: + C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Csc.exe /noconfig /nowarn:1607,1701,1702 /nostdlib+ /platform:x86 /errorreport:prompt /warn:4 /define:TRACE /highentropyva- /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll /reference:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Data.dll /reference:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.dll /reference:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Xml.dll /debug- /filealign:512 /optimize+ /out:obj\x86\Release\DllExporter.exe /target:exe /utf8output Program.cs AssemblyInfo.cs +CopyFilesToOutputDirectory: + Copying file from "obj\x86\Release\DllExporter.exe" to "bin\Release\DllExporter.exe". + DllExporter -> D:\gittest\Plugins\API\DllExporter\bin\Release\DllExporter.exe +PostBuildEvent: + move "D:\gittest\Plugins\API\DllExporter\bin\Release\DllExporter.exe" "D:\gittest\Plugins\API\DllExporter.exe" + 1 file(s) moved. +Done Building Project "D:\gittest\Plugins\API\DllExporter\DllExporter.csproj" (Rebuild target(s)). +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginAdvancedCPU\PluginAdvancedCPU.vcxproj" (6) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginAdvancedCPU\PluginAdvancedCPU.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginAdvancedCPU\PluginAdvancedCPU.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginCoreTemp\PluginCoreTemp.vcxproj" (7) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginCoreTemp\PluginCoreTemp.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginCoreTemp\PluginCoreTemp.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginFolderInfo\PluginFolderInfo.vcxproj" (8) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginFolderInfo\PluginFolderInfo.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginFolderInfo\PluginFolderInfo.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginInputText\PluginInputText.csproj" (9) on node 1 (Rebuild target(s)). +CoreClean: + Deleting file "D:\gittest\TestBench\x32\Release\Plugins\InputText.dll". + Deleting file "D:\gittest\Plugins\PluginInputText\obj\x86\Release\PluginInputText.csprojResolveAssemblyReference.cache". + Deleting file "D:\gittest\Plugins\PluginInputText\obj\x86\Release\InputText.InputBox.resources". + Deleting file "D:\gittest\Plugins\PluginInputText\obj\x86\Release\PluginInputText.csproj.GenerateResource.Cache". + Deleting file "D:\gittest\Plugins\PluginInputText\obj\x86\Release\InputText.dll". +CoreResGen: + C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\ResGen.exe /useSourcePath /r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll /r:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.dll /r:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Drawing.dll /r:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Windows.Forms.dll /compile InputBox.resx,obj\x86\Release\InputText.InputBox.resources +CoreCompile: + C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Csc.exe /noconfig /unsafe+ /nowarn:1607,1701,1702 /nostdlib+ /platform:x86 /errorreport:prompt /warn:4 /define:TRACE /highentropyva- /reference:C:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll /reference:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.dll /reference:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Drawing.dll /reference:C:\Windows\Microsoft.NET\Framework64\v2.0.50727\System.Windows.Forms.dll /debug- /filealign:512 /optimize+ /out:obj\x86\Release\InputText.dll /resource:obj\x86\Release\InputText.InputBox.resources /target:library /utf8output AssemblyInfo.cs Main.cs PluginCode.cs Rainmeter.cs InputBox.cs InputBox.designer.cs D:\gittest\Version.cs +CopyFilesToOutputDirectory: + Copying file from "obj\x86\Release\InputText.dll" to "D:\gittest\TestBench\x32\Release\Plugins\InputText.dll". + PluginInputText -> D:\gittest\TestBench\x32\Release\Plugins\InputText.dll +PostBuildEvent: + "D:\gittest\Plugins\API\DllExporter.exe" "Release" "x86" "D:\gittest\TestBench\x32\Release\Plugins\\" "InputText.dll" "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ilasm.exe" "bin\ildasm.exe" + + Unhandled Exception: System.ComponentModel.Win32Exception: The system cannot find the file specified + at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) + at System.Diagnostics.Process.Start() + at DllExporter.Program.Main(String[] args) +C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(4209,5): error MSB3073: The command ""D:\gittest\Plugins\API\DllExporter.exe" "Release" "x86" "D:\gittest\TestBench\x32\Release\Plugins\\" "InputText.dll" "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ilasm.exe" "bin\ildasm.exe"" exited with code -532459699. [D:\gittest\Plugins\PluginInputText\PluginInputText.csproj] +Done Building Project "D:\gittest\Plugins\PluginInputText\PluginInputText.csproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginiTunes\PluginiTunes.vcxproj" (10) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginiTunes\PluginiTunes.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginiTunes\PluginiTunes.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginMediaKey\PluginMediaKey.vcxproj" (11) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginMediaKey\PluginMediaKey.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginMediaKey\PluginMediaKey.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginNowPlaying\PluginNowPlaying.vcxproj" (12) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginNowPlaying\PluginNowPlaying.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginNowPlaying\PluginNowPlaying.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginPerfMon\PluginPerfMon.vcxproj" (13) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginPerfMon\PluginPerfMon.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginPerfMon\PluginPerfMon.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginPing\PluginPing.vcxproj" (14) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginPing\PluginPing.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginPing\PluginPing.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginPower\PluginPower.vcxproj" (15) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginPower\PluginPower.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginPower\PluginPower.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginProcess\PluginProcess.vcxproj" (16) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginProcess\PluginProcess.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginProcess\PluginProcess.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginQuote\PluginQuote.vcxproj" (17) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginQuote\PluginQuote.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginQuote\PluginQuote.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginRecycleManager\PluginRecycleManager.vcxproj" (18) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginRecycleManager\PluginRecycleManager.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginRecycleManager\PluginRecycleManager.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginResMon\PluginResMon.vcxproj" (19) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginResMon\PluginResMon.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginResMon\PluginResMon.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginSpeedFan\PluginSpeedFan.vcxproj" (20) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginSpeedFan\PluginSpeedFan.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginSpeedFan\PluginSpeedFan.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginSysInfo\PluginSysInfo.vcxproj" (21) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginSysInfo\PluginSysInfo.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginSysInfo\PluginSysInfo.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginVirtualDesktops\PluginVirtualDesktops.vcxproj" (22) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginVirtualDesktops\PluginVirtualDesktops.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginVirtualDesktops\PluginVirtualDesktops.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginWebParser\PluginWebParser.vcxproj" (23) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginWebParser\PluginWebParser.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginWebParser\PluginWebParser.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginWifiStatus\PluginWifiStatus.vcxproj" (24) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginWifiStatus\PluginWifiStatus.vcxproj(26,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginWifiStatus\PluginWifiStatus.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginWin7Audio\PluginWin7Audio.vcxproj" (25) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginWin7Audio\PluginWin7Audio.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginWin7Audio\PluginWin7Audio.vcxproj" (Rebuild target(s)) -- FAILED. +Project "D:\gittest\Rainmeter.sln" (1) is building "D:\gittest\Plugins\PluginWindowMessage\PluginWindowMessage.vcxproj" (26) on node 1 (Rebuild target(s)). +D:\gittest\Plugins\PluginWindowMessage\PluginWindowMessage.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. +Done Building Project "D:\gittest\Plugins\PluginWindowMessage\PluginWindowMessage.vcxproj" (Rebuild target(s)) -- FAILED. +Done Building Project "D:\gittest\Rainmeter.sln" (rebuild target(s)) -- FAILED. + +Build FAILED. + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Application\Application.vcxproj" (Rebuild target) (2) -> + D:\gittest\Application\Application.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Language\Language.vcxproj" (Rebuild target) (3) -> + D:\gittest\Language\Language.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\SkinInstaller\SkinInstaller.vcxproj" (Rebuild target) (4) -> + D:\gittest\SkinInstaller\SkinInstaller.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginAdvancedCPU\PluginAdvancedCPU.vcxproj" (Rebuild target) (6) -> + D:\gittest\Plugins\PluginAdvancedCPU\PluginAdvancedCPU.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginCoreTemp\PluginCoreTemp.vcxproj" (Rebuild target) (7) -> + D:\gittest\Plugins\PluginCoreTemp\PluginCoreTemp.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginFolderInfo\PluginFolderInfo.vcxproj" (Rebuild target) (8) -> + D:\gittest\Plugins\PluginFolderInfo\PluginFolderInfo.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginInputText\PluginInputText.csproj" (Rebuild target) (9) -> +(PostBuildEvent target) -> + C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Microsoft.Common.targets(4209,5): error MSB3073: The command ""D:\gittest\Plugins\API\DllExporter.exe" "Release" "x86" "D:\gittest\TestBench\x32\Release\Plugins\\" "InputText.dll" "C:\Windows\Microsoft.NET\Framework64\v2.0.50727\ilasm.exe" "bin\ildasm.exe"" exited with code -532459699. [D:\gittest\Plugins\PluginInputText\PluginInputText.csproj] + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginiTunes\PluginiTunes.vcxproj" (Rebuild target) (10) -> + D:\gittest\Plugins\PluginiTunes\PluginiTunes.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginMediaKey\PluginMediaKey.vcxproj" (Rebuild target) (11) -> + D:\gittest\Plugins\PluginMediaKey\PluginMediaKey.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginNowPlaying\PluginNowPlaying.vcxproj" (Rebuild target) (12) -> + D:\gittest\Plugins\PluginNowPlaying\PluginNowPlaying.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginPerfMon\PluginPerfMon.vcxproj" (Rebuild target) (13) -> + D:\gittest\Plugins\PluginPerfMon\PluginPerfMon.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginPing\PluginPing.vcxproj" (Rebuild target) (14) -> + D:\gittest\Plugins\PluginPing\PluginPing.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginPower\PluginPower.vcxproj" (Rebuild target) (15) -> + D:\gittest\Plugins\PluginPower\PluginPower.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginProcess\PluginProcess.vcxproj" (Rebuild target) (16) -> + D:\gittest\Plugins\PluginProcess\PluginProcess.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginQuote\PluginQuote.vcxproj" (Rebuild target) (17) -> + D:\gittest\Plugins\PluginQuote\PluginQuote.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginRecycleManager\PluginRecycleManager.vcxproj" (Rebuild target) (18) -> + D:\gittest\Plugins\PluginRecycleManager\PluginRecycleManager.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginResMon\PluginResMon.vcxproj" (Rebuild target) (19) -> + D:\gittest\Plugins\PluginResMon\PluginResMon.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginSpeedFan\PluginSpeedFan.vcxproj" (Rebuild target) (20) -> + D:\gittest\Plugins\PluginSpeedFan\PluginSpeedFan.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginSysInfo\PluginSysInfo.vcxproj" (Rebuild target) (21) -> + D:\gittest\Plugins\PluginSysInfo\PluginSysInfo.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginVirtualDesktops\PluginVirtualDesktops.vcxproj" (Rebuild target) (22) -> + D:\gittest\Plugins\PluginVirtualDesktops\PluginVirtualDesktops.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginWebParser\PluginWebParser.vcxproj" (Rebuild target) (23) -> + D:\gittest\Plugins\PluginWebParser\PluginWebParser.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginWifiStatus\PluginWifiStatus.vcxproj" (Rebuild target) (24) -> + D:\gittest\Plugins\PluginWifiStatus\PluginWifiStatus.vcxproj(26,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginWin7Audio\PluginWin7Audio.vcxproj" (Rebuild target) (25) -> + D:\gittest\Plugins\PluginWin7Audio\PluginWin7Audio.vcxproj(25,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + +"D:\gittest\Rainmeter.sln" (rebuild target) (1) -> +"D:\gittest\Plugins\PluginWindowMessage\PluginWindowMessage.vcxproj" (Rebuild target) (26) -> + D:\gittest\Plugins\PluginWindowMessage\PluginWindowMessage.vcxproj(24,3): error MSB4019: The imported project "C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\v110\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the declaration is correct, and that the file exists on disk. + + 0 Warning(s) + 24 Error(s) + +Time Elapsed 00:00:01.41 diff --git a/Build/BuildVersion.bat b/Build/BuildVersion.bat new file mode 100644 index 00000000..1ffcfc2b --- /dev/null +++ b/Build/BuildVersion.bat @@ -0,0 +1,2 @@ +@echo off +"Build.bat" BUILDVERSION diff --git a/Build/Installer/Header.bmp b/Build/Installer/Header.bmp new file mode 100644 index 00000000..9eb90fec Binary files /dev/null and b/Build/Installer/Header.bmp differ diff --git a/Build/Installer/Icon.ico b/Build/Installer/Icon.ico new file mode 100644 index 00000000..9801fed5 Binary files /dev/null and b/Build/Installer/Icon.ico differ diff --git a/Build/Installer/Installer.nsi b/Build/Installer/Installer.nsi new file mode 100644 index 00000000..8d0ae1e9 --- /dev/null +++ b/Build/Installer/Installer.nsi @@ -0,0 +1,937 @@ +!verbose 3 +!addplugindir ".\" +!ifndef VER + !define VER "0.0" + !define REV "000" +!endif +!ifdef BETA + !define OUTFILE "Rainmeter-${VER}-r${REV}-beta.exe" +!else + !define OUTFILE "Rainmeter-${VER}.exe" +!endif + +Name "Rainmeter" +VIAddVersionKey "ProductName" "Rainmeter" +VIAddVersionKey "FileDescription" "Rainmeter Installer" +VIAddVersionKey "FileVersion" "${VER}.0" +VIAddVersionKey "ProductVersion" "${VER}.0.${REV}" +VIAddVersionKey "OriginalFilename" "${OUTFILE}" +VIAddVersionKey "LegalCopyright" "Copyright (C) 2009-2012 - All authors" +VIProductVersion "${VER}.0.${REV}" +BrandingText " " +SetCompressor /SOLID lzma +RequestExecutionLevel user +InstallDirRegKey HKLM "SOFTWARE\Rainmeter" "" +XPStyle on +OutFile "..\${OUTFILE}" +ReserveFile "${NSISDIR}\Plugins\LangDLL.dll" +ReserveFile "${NSISDIR}\Plugins\nsDialogs.dll" +ReserveFile "${NSISDIR}\Plugins\System.dll" +ReserveFile ".\UAC.dll" + +!include "MUI2.nsh" +!include "x64.nsh" +!include "ProcFunc.nsh" +!include "FileFunc.nsh" +!include "WordFunc.nsh" +!include "WinVer.nsh" +!include "UAC.nsh" + +!define BCM_SETSHIELD 0x0000160c + +!define MUI_HEADERIMAGE +!define MUI_ICON ".\Icon.ico" +!define MUI_UNICON ".\Icon.ico" +!define MUI_HEADERIMAGE_BITMAP ".\Header.bmp" +!define MUI_HEADERIMAGE_UNBITMAP ".\Header.bmp" +!define MUI_WELCOMEFINISHPAGE_BITMAP ".\Wizard.bmp" +!define MUI_FINISHPAGE_RUN +!define MUI_FINISHPAGE_RUN_FUNCTION FinishRun + +!define MUI_PAGE_CUSTOMFUNCTION_SHOW PageWelcomeOnShow +!insertmacro MUI_PAGE_WELCOME +Page custom PageOptions PageOptionsOnLeave +!define MUI_PAGE_CUSTOMFUNCTION_SHOW PageDirectoryOnShow +!define MUI_PAGE_CUSTOMFUNCTION_LEAVE PageDirectoryOnLeave +!insertmacro MUI_PAGE_DIRECTORY +!insertmacro MUI_PAGE_INSTFILES +!insertmacro MUI_PAGE_FINISH + +UninstPage custom un.PageOptions un.GetOptions +!insertmacro MUI_UNPAGE_INSTFILES + +!macro IncludeLanguage LANGUAGE CUSTOMLANGUAGE + ; Modified variant of the MUI_LANGUAGE macro in Localization.h + ; Uses "EnglishLangName (LocalizedLangName)" instead of "LocalizedLangName" for the language selection dialog + !insertmacro MUI_INSERT + + LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf" + + ; Include language file + !insertmacro LANGFILE_INCLUDE_WITHDEFAULT "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nsh" "${NSISDIR}\Contrib\Language files\English.nsh" + + ;Add language to list of languages for selection dialog + !ifndef MUI_LANGDLL_LANGUAGES + !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' " + !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_IDNAME} - ${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' " + !else + !ifdef MUI_LANGDLL_LANGUAGES_TEMP + !undef MUI_LANGDLL_LANGUAGES_TEMP + !endif + !define MUI_LANGDLL_LANGUAGES_TEMP "${MUI_LANGDLL_LANGUAGES}" + !undef MUI_LANGDLL_LANGUAGES + + !ifdef MUI_LANGDLL_LANGUAGES_CP_TEMP + !undef MUI_LANGDLL_LANGUAGES_CP_TEMP + !endif + !define MUI_LANGDLL_LANGUAGES_CP_TEMP "${MUI_LANGDLL_LANGUAGES_CP}" + !undef MUI_LANGDLL_LANGUAGES_CP + + !define MUI_LANGDLL_LANGUAGES "'${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_LANGUAGES_TEMP}" + !define MUI_LANGDLL_LANGUAGES_CP "'${LANGFILE_IDNAME} - ${LANGFILE_${LANGUAGE}_NAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_LANGUAGES_CP_TEMP}" + !endif + + !insertmacro LANGFILE_INCLUDE "..\..\Language\${CUSTOMLANGUAGE}.nsh" +!macroend + +!include "Languages.nsh" + +; Error levels (for silent install) +!define ERROR_UNSUPPORTED 3 +!define ERROR_NOTADMIN 4 +!define ERROR_WRITEFAIL 5 +!define ERROR_NOVCREDIST 6 +!define ERROR_CLOSEFAIL 7 + +Var ctlDesktop +Var ctlStartup +Var ctlAllUsers +Var ctlDelete +Var ctlStandard +Var ctlPortable +Var ctlBit32 +Var ctlBit64 +Var instArc +Var instType +Var defLang + + +; Install +; -------------------------------------- +Function .onInit + ${If} ${RunningX64} + ${EnableX64FSRedirection} + ${EndIf} + + ${IfNot} ${UAC_IsInnerInstance} + ${If} ${IsWin2000} + ${If} ${Silent} + SetErrorLevel ${ERROR_UNSUPPORTED} + ${Else} + MessageBox MB_OK|MB_ICONINFORMATION "$(WIN2KERROR)" + ${EndIf} + Quit + ${ElseIf} ${IsWinXP} + ${AndIf} ${AtMostServicePack} 1 + ${If} ${Silent} + SetErrorLevel ${ERROR_UNSUPPORTED} + ${Else} + MessageBox MB_OK|MB_ICONINFORMATION "$(WINXPS2ERROR)" + ${EndIf} + Quit + ${ElseIf} ${IsWin2003} + ${AndIf} ${AtMostServicePack} 0 + ${If} ${Silent} + SetErrorLevel ${ERROR_UNSUPPORTED} + ${Else} + MessageBox MB_OK|MB_ICONINFORMATION "$(WIN2003SP1ERROR)" + ${EndIf} + Quit + ${EndIf} + + StrCpy $R0 $LANGUAGE + StrCpy $defLang "0" + ReadRegDWORD $0 HKLM "SOFTWARE\Rainmeter" "NonDefault" + ${If} $0 == 1 + ; Rainmeter already installed and user selected non-default language last time + ReadRegStr $0 HKLM "SOFTWARE\Rainmeter" "Language" + ${If} $0 != "" + StrCpy $LANGUAGE $0 + ${EndIf} + ${EndIf} + + ${IfNot} ${Silent} + LangDLL::LangDialog "$(^SetupCaption)" "Please select the installer language.$\n$(SELECTLANGUAGE)" AC ${MUI_LANGDLL_LANGUAGES_CP} "" + Pop $LANGUAGE + ${If} $LANGUAGE == "cancel" + Abort + ${EndIf} + + ${If} $LANGUAGE == $R0 + ; User selected default language + StrCpy $defLang "1" + ${EndIf} + ${Else} + ${GetParameters} $R1 + + ClearErrors + ${GetOptions} $R1 "/LANGUAGE=" $0 + ${IfNot} ${Errors} + StrCpy $LANGUAGE $0 + ${EndIf} + ${If} $LANGUAGE == $R0 + ; User selected default language + StrCpy $defLang "1" + ${EndIf} + + ${GetOptions} $R1 "/DESKTOPSHORTCUT=" $0 + ${If} $0 = 1 + StrCpy $ctlDesktop "1" + ${EndIf} + + ${GetOptions} $R1 "/STARTUP=" $0 + ${If} $0 = 1 + StrCpy $ctlStartup "1" + ${EndIf} + + ${GetOptions} $R1 "/ALLUSERS=" $0 + ${If} $0 = 1 + StrCpy $ctlAllUsers "1" + ${EndIf} + + ${GetOptions} $R1 "/PORTABLE=" $0 + ${If} $0 = 1 + StrCpy $instType "P" + ${Else} + ${IfNot} ${UAC_IsAdmin} + SetErrorLevel ${ERROR_NOTADMIN} + Quit + ${EndIf} + + StrCpy $instType "S" + ${EndIf} + + ${GetOptions} $R1 "/VERSION=" $0 + ${If} $0 = 64 + StrCpy $instArc "x64" + + ${If} $INSTDIR == "" + StrCpy $INSTDIR "$PROGRAMFILES64\Rainmeter" + ${EndIf} + ${Else} + StrCpy $instArc "x86" + + ${If} $INSTDIR == "" + StrCpy $INSTDIR "$PROGRAMFILES\Rainmeter" + ${EndIf} + ${EndIf} + + ClearErrors + CreateDirectory "$INSTDIR" + WriteINIStr "$INSTDIR\_rainmeter_writetest.tmp" "1" "1" "1" + Delete "$INSTDIR\_rainmeter_writetest.tmp" + + ${If} ${Errors} + SetErrorLevel ${ERROR_WRITEFAIL} + Quit + ${EndIf} + ${EndIf} + ${Else} + ; Sync variables with user instance + !insertmacro UAC_AsUser_Call Function ExchangeVars ${UAC_SYNCREGISTERS} + StrCpy $instType "S" + StrCpy $ctlDesktop $0 + StrCpy $ctlStartup $1 + StrCpy $ctlAllUsers $2 + StrCpy $instArc $3 + StrCpy $defLang $4 + StrCpy $LANGUAGE $5 + ${EndIf} +FunctionEnd + +Function ExchangeVars + StrCpy $0 $ctlDesktop + StrCpy $1 $ctlStartup + StrCpy $2 $ctlAllUsers + StrCpy $3 $instArc + StrCpy $4 $defLang + StrCpy $5 $LANGUAGE + HideWindow +FunctionEnd + +Function PageWelcomeOnShow + ; Skip to the directory page if we're the elevated process + ${If} ${UAC_IsInnerInstance} + ${If} ${UAC_IsAdmin} + SendMessage $HWNDPARENT "0x408" "2" "" + ${Else} + MessageBox MB_OK|MB_ICONSTOP "$(ADMINERROR) (Inner)" + Quit + ${EndIf} + ${EndIf} +FunctionEnd + +Function PageOptions + !insertmacro MUI_HEADER_TEXT "$(INSTALLOPTIONS)" "$(INSTALLOPTIONSDESC)" + nsDialogs::Create 1018 + nsDialogs::SetRTL $(^RTL) + + ${NSD_CreateRadioButton} 0 0u 310u 12u "$(STANDARDINST)" + Pop $ctlStandard + ${NSD_AddStyle} $ctlStandard ${WS_GROUP} + SendMessage $ctlStandard ${WM_SETFONT} $mui.Header.Text.Font 0 + ${NSD_OnClick} $ctlStandard setStandard + + ${NSD_CreateLabel} 12u 12u 285u 12u "$(STANDARDINSTDESC)" + + ${NSD_CreateRadioButton} 0 24u 310u 12u "$(PORTABLEINST)" + Pop $ctlPortable + ${NSD_AddStyle} $ctlPortable ${WS_TABSTOP} + SendMessage $ctlPortable ${WM_SETFONT} $mui.Header.Text.Font 0 + ${NSD_OnClick} $ctlPortable setPortable + + ${NSD_CreateLabel} 12u 36u 285u 32u "$(PORTABLEINSTDESC)" + + ${NSD_CreateGroupBox} 0 72u 200u 54u "$(ADDITIONALOPTIONS)" + + Push $ctlDesktop + ${NSD_CreateCheckbox} 6u 84u 190u 12u "$(DESKTOPSHORTCUT)" + Pop $ctlDesktop + Pop $0 + StrCmp $0 "1" 0 +2 + ${NSD_Check} $ctlDesktop + + Push $ctlAllUsers + ${NSD_CreateCheckbox} 6u 96u 190u 12u "$(ALLUSERSSHORTCUT)" + Pop $ctlAllUsers + Pop $0 + StrCmp $0 "1" 0 +2 + ${NSD_Check} $ctlAllUsers + + Push $ctlStartup + ${NSD_CreateCheckbox} 6u 108u 190u 12u "$(AUTOSTARTUP)" + Pop $ctlStartup + Pop $0 + StrCmp $0 "1" 0 +2 + ${NSD_Check} $ctlStartup + + ${NSD_CreateGroupBox} 205u 72u 94u 40u "$(RAINMETERVERSION)" + + ${NSD_CreateRadioButton} 211u 82u 80u 12u "$(32BIT)" + Pop $ctlBit32 + ${NSD_AddStyle} $ctlBit32 ${WS_GROUP} + + ${NSD_CreateRadioButton} 211u 94u 80u 12u "$(64BIT)" + Pop $ctlBit64 + + ReadRegStr $0 HKLM "Software\Rainmeter" "" + ${If} $0 == "" + ${NSD_Check} $ctlStartup + ${NSD_Check} $ctlAllUsers + ${Else} + SetShellVarContext all + Call GetEnvPaths + StrCpy $R1 $1 + StrCpy $R2 $2 + StrCpy $R3 $3 + SetShellVarContext current + !insertmacro UAC_AsUser_Call Function GetEnvPaths ${UAC_SYNCREGISTERS} + + ${If} ${FileExists} "$R1\Rainmeter\Rainmeter.lnk" + ${NSD_Check} $ctlAllUsers + ${EndIf} + ${If} ${FileExists} "$R2\Rainmeter.lnk" + ${OrIf} ${FileExists} "$2\Rainmeter.lnk" + ${NSD_Check} $ctlStartup + ${EndIf} + ${If} ${FileExists} "$R3\Rainmeter.lnk" + ${OrIf} ${FileExists} "$3\Rainmeter.lnk" + ${NSD_Check} $ctlDesktop + ${EndIf} + ${EndIf} + + ${If} $instType == "P" + ${NSD_Check} $ctlPortable + Call SetPortable + ${Else} + Call SetStandard + ${NSD_Check} $ctlStandard + ${EndIf} + + nsDialogs::Show +FunctionEnd + +Function SetStandard + EnableWindow $ctlDesktop 1 + EnableWindow $ctlAllUsers 1 + EnableWindow $ctlStartup 1 + + ${If} ${RunningX64} + ${If} ${FileExists} "$INSTDIR\Rainmeter.exe" + MoreInfo::GetProductVersion "$INSTDIR\Rainmeter.exe" + Pop $0 + StrCpy $0 $0 2 -7 + + ${If} $0 == "32" + ${NSD_Check} $ctlBit32 + ${NSD_UnCheck} $ctlBit64 + EnableWindow $ctlBit64 0 + ${Else} + ${NSD_Check} $ctlBit64 + ${NSD_UnCheck} $ctlBit32 + EnableWindow $ctlBit32 0 + ${EndIf} + ${Else} + ${NSD_Check} $ctlBit64 + ${EndIf} + ${Else} + ${NSD_Check} $ctlBit32 + ${NSD_UnCheck} $ctlBit64 + EnableWindow $ctlBit64 0 + ${EndIf} + + ${IfNot} ${UAC_IsAdmin} + GetDlgItem $0 $HWNDPARENT 1 + SendMessage $0 ${BCM_SETSHIELD} 0 1 + ${EndIf} +FunctionEnd + +Function SetPortable + EnableWindow $ctlDesktop 0 + EnableWindow $ctlAllUsers 0 + EnableWindow $ctlStartup 0 + EnableWindow $ctlBit32 1 + + ${If} ${RunningX64} + EnableWindow $ctlBit64 1 + ${Endif} + + ${IfNot} ${UAC_IsAdmin} + GetDlgItem $0 $HWNDPARENT 1 + SendMessage $0 ${BCM_SETSHIELD} 0 0 + ${EndIf} +FunctionEnd + +Function PageOptionsOnLeave + GetDlgItem $0 $HWNDPARENT 1 + EnableWindow $0 0 + + ${NSD_GetState} $ctlDesktop $ctlDesktop + ${NSD_GetState} $ctlStartup $ctlStartup + ${NSD_GetState} $ctlAllUsers $ctlAllUsers + + ${NSD_GetState} $ctlStandard $0 + ${If} $0 == ${BST_CHECKED} + StrCpy $instType "S" + ${Else} + StrCpy $instType "P" + ${EndIf} + + ${NSD_GetState} $ctlBit32 $0 + ${If} $0 == ${BST_CHECKED} + StrCpy $instArc "x86" + ${Else} + StrCpy $instArc "x64" + ${EndIf} + + ${If} $instType == "S" + ${IfNot} ${UAC_IsAdmin} + ; UAC_IsAdmin seems to return incorrect result sometimes. Recheck with UserInfo::GetAccountType to be sure. + UserInfo::GetAccountType + Pop $0 + ${If} $0 != "Admin" +UAC_TryAgain: + !insertmacro UAC_RunElevated + ${Switch} $0 + ${Case} 0 + ${IfThen} $1 = 1 ${|} Quit ${|} + ${IfThen} $3 <> 0 ${|} ${Break} ${|} + ${If} $1 = 3 + MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND "$(ADMINERROR)" /SD IDNO IDOK UAC_TryAgain IDNO 0 + ${EndIf} + ${Case} 1223 + Quit + ${Case} 1062 + MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND "$(LOGONERROR)" + Quit + ${Default} + MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND "$(UACERROR) ($0)" + Quit + ${EndSwitch} + ${EndIf} + ${EndIf} + ${EndIf} +FunctionEnd + +Function PageDirectoryOnShow + ${If} $instType == "P" + ${GetRoot} "$WINDIR" $0 + ${NSD_SetText} $mui.DirectoryPage.Directory "$0\Rainmeter" + ${Else} + ${If} $INSTDIR == "" + ; Fresh install + ${If} $instArc == "x86" + ${If} ${RunningX64} + ${NSD_SetText} $mui.DirectoryPage.Directory "$PROGRAMFILES32\Rainmeter" + ${Else} + ${NSD_SetText} $mui.DirectoryPage.Directory "$PROGRAMFILES\Rainmeter" + ${EndIf} + ${Else} + ${NSD_SetText} $mui.DirectoryPage.Directory "$PROGRAMFILES64\Rainmeter" + ${EndIf} + ${Else} + ; Upgrade install + EnableWindow $mui.DirectoryPage.Directory 0 + EnableWindow $mui.DirectoryPage.BrowseButton 0 + + ; Set focus on the Install button + GetDlgItem $0 $HWNDPARENT 1 + System::Call "user32::SetFocus(i$0)" + ${EndIf} + ${EndIf} +FunctionEnd + +Function PageDirectoryOnLeave + ${If} $instType == "P" + ClearErrors + CreateDirectory "$INSTDIR" + WriteINIStr "$INSTDIR\_rainmeter_writetest.tmp" "1" "1" "1" + + ${If} ${Errors} + MessageBox MB_OK|MB_ICONEXCLAMATION "$(WRITEERROR)" + Abort + ${EndIf} + + Delete "$INSTDIR\_rainmeter_writetest.tmp" + ${EndIf} +FunctionEnd + +!macro InstallFiles DIR + File "..\..\TestBench\${DIR}\Release\Rainmeter.exe" + File "..\..\TestBench\${DIR}\Release\Rainmeter.dll" + File "..\..\TestBench\${DIR}\Release\SkinInstaller.exe" + + SetOutPath "$INSTDIR\Plugins" + File /x *Example*.dll "..\..\TestBench\${DIR}\Release\Plugins\*.dll" +!macroend + +!macro RemoveShortcuts + ; $1=$SMPROGRAMS, $2=$SMSTARTUP, $3=$DESKTOP + Delete "$1\Rainmeter\Rainmeter.lnk" + Delete "$1\Rainmeter\Rainmeter Help.lnk" + Delete "$1\Rainmeter\Rainmeter Help.URL" + Delete "$1\Rainmeter\Remove Rainmeter.lnk" + Delete "$1\Rainmeter\RainThemes.lnk" + Delete "$1\Rainmeter\RainThemes Help.lnk" + Delete "$1\Rainmeter\RainBrowser.lnk" + Delete "$1\Rainmeter\RainBackup.lnk" + Delete "$1\Rainmeter\Rainstaller.lnk" + Delete "$1\Rainmeter\Skin Installer.lnk" + Delete "$1\Rainmeter\Rainstaller Help.lnk" + RMDir "$1\Rainmeter" + Delete "$2\Rainmeter.lnk" + Delete "$3\Rainmeter.lnk" +!macroend + +Section + SetOutPath "$PLUGINSDIR" + SetShellVarContext current + + ${If} $instType == "S" + ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\$instArc" "Bld" + ${VersionCompare} "$0" "40219" $1 + + ReadRegDWORD $2 HKLM "SOFTWARE\Microsoft\VisualStudio\10.0\VC\VCRedist\$instArc" "Installed" + + ; Download and install VC++ redist if required + ${If} $1 == "2" + ${OrIf} $2 != "1" + ${If} ${Silent} + SetErrorLevel ${ERROR_NOVCREDIST} + Quit + ${EndIf} + + ${If} $instArc == "x86" + NSISdl::download /TIMEOUT=30000 "http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe" "$PLUGINSDIR\vcredist.exe" + Pop $0 + ${Else} + NSISdl::download /TIMEOUT=30000 "http://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe" "$PLUGINSDIR\vcredist.exe" + Pop $0 + ${EndIf} + + ${If} $0 != "cancel" + ${AndIf} $0 != "success" + ; download from MS failed, try from rainmter.net + Delete "$PLUGINSDIR\vcredist.exe" + + ${If} $instArc == "x86" + NSISdl::download /TIMEOUT=30000 "http://rainmeter.net/redist/vc10SP1redist_x86.exe" "$PLUGINSDIR\vcredist.exe" + Pop $0 + ${Else} + NSISdl::download /TIMEOUT=30000 "http://rainmeter.net/redist/vc10SP1redist_x64.exe" "$PLUGINSDIR\vcredist.exe" + Pop $0 + ${EndIf} + ${EndIf} + + ${If} $0 == "success" + ExecWait '"$PLUGINSDIR\vcredist.exe" /q /norestart' $0 + Delete "$PLUGINSDIR\vcredist.exe" + + ${If} $0 == "3010" + SetRebootFlag true + ${ElseIf} $0 != "0" + MessageBox MB_OK|MB_ICONSTOP "$(VCINSTERROR)" + Quit + ${EndIf} + ${ElseIf} $0 == "cancel" + Quit + ${Else} + MessageBox MB_OK|MB_ICONSTOP "$(VCINSTERROR)" + Quit + ${EndIf} + ${EndIf} + + ; Download and install .NET if required + ReadRegDWORD $0 HKLM "SOFTWARE\Microsoft\NET Framework Setup\NDP\v2.0.50727" "Install" + ${If} $0 != "1" + ${If} $instArc == "x86" + NSISdl::download /TIMEOUT=30000 "http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe" "$PLUGINSDIR\dotnetfx.exe" + ${Else} + NSISdl::download /TIMEOUT=30000 "http://download.microsoft.com/download/a/3/f/a3f1bf98-18f3-4036-9b68-8e6de530ce0a/NetFx64.exe" "$PLUGINSDIR\dotnetfx.exe" + ${EndIf} + + Pop $0 + + ${If} $0 != "cancel" + ${AndIf} $0 != "success" + Delete "$PLUGINSDIR\dotnetfx.exe" + + ${If} $instArc == "x86" + NSISdl::download /TIMEOUT=30000 "http://rainmeter.net/redist/dotnetfx.exe" "$PLUGINSDIR\dotnetfx.exe" + ${Else} + NSISdl::download /TIMEOUT=30000 "http://rainmeter.net/redist/NetFx64.exe" "$PLUGINSDIR\dotnetfx.exe" + ${EndIf} + + Pop $0 + ${EndIf} + + ${If} $0 == "success" + ExecWait '"$PLUGINSDIR\dotnetfx.exe" /q:a /c:"install /q"' $0 + Delete "$PLUGINSDIR\dotnetfx.exe" + + ${If} $0 == "3010" + SetRebootFlag true + ${ElseIf} $0 != "0" + MessageBox MB_OK|MB_ICONSTOP "$(DOTNETINSTERROR)" + Quit + ${EndIf} + ${ElseIf} $0 == "cancel" + Quit + ${Else} + MessageBox MB_OK|MB_ICONSTOP "$(DOTNETINSTERROR)" + Quit + ${EndIf} + ${EndIf} + ${EndIf} + + SetOutPath "$INSTDIR" + + FindWindow $0 "RainmeterTrayClass" + ${If} $0 != "0" + Exec '"$INSTDIR\Rainmeter.exe" !Quit' + + ; Wait up to for up to 5 seconds for Rainmeter to close + StrCpy $1 "0" + ${DoWhile} ${ProcessExists} "Rainmeter.exe" + IntOp $1 $1 + 1 + ${If} $1 >= "10" + ${If} ${Silent} + SetErrorLevel ${ERROR_CLOSEFAIL} + Quit + ${Else} + MessageBox MB_RETRYCANCEL|MB_ICONSTOP "$(RAINMETERCLOSEERROR)" IDRETRY +2 + Quit + ${EndIf} + ${EndIf} + Sleep 500 + SendMessage $0 ${WM_CLOSE} 0 0 + ${Loop} + ${EndIf} + + ; Check if Rainmeter.ini is located in the installation folder and + ; if the installation folder is in Program Files + ${IfNot} ${Silent} + ${AndIf} ${FileExists} "$INSTDIR\Rainmeter.ini" + ${If} $instType == "S" + !ifdef X64 + StrCmp $INSTDIR "$PROGRAMFILES64\Rainmeter" 0 RainmeterIniDoesntExistLabel + !else + StrCmp $INSTDIR "$PROGRAMFILES\Rainmeter" 0 RainmeterIniDoesntExistLabel + !endif + + MessageBox MB_YESNO|MB_ICONEXCLAMATION "$(SETTINGSFILEERROR)" IDNO RainmeterIniDoesntExistLabel + CreateDirectory $APPDATA\Rainmeter + Rename "$INSTDIR\Rainmeter.ini" "$APPDATA\Rainmeter\Rainmeter.ini" + ${If} ${Errors} + MessageBox MB_OK|MB_ICONSTOP "$(SETTINGSMOVEERROR)" + ${EndIf} + ${Else} + ReadINIStr $0 "$INSTDIR\Rainmeter.ini" "Rainmeter" "SkinPath" + ${If} $0 == "$INSTDIR\Skins\" + DeleteINIStr "$INSTDIR\Rainmeter.ini" "Rainmeter" "SkinPath" + ${EndIf} + ${EndIf} + ${EndIf} + +RainmeterIniDoesntExistLabel: + SetOutPath "$INSTDIR" + Delete "$INSTDIR\Rainmeter.exe.config" + Delete "$INSTDIR\Rainmeter.chm" + Delete "$INSTDIR\Default.ini" + + ${If} $instArc == "x86" + !insertmacro InstallFiles "x32" + ${Else} + !insertmacro InstallFiles "x64" + ${EndIf} + + RMDir /r "$INSTDIR\Languages" + SetOutPath "$INSTDIR\Languages" + File "..\..\TestBench\x32\Release\Languages\*.*" + + RMDir /r "$INSTDIR\Addons\Rainstaller" + + SetOutPath "$INSTDIR\Skins" + RMDir /r "$INSTDIR\Skins\illustro" + Delete "$INSTDIR\Skins\*.txt" + File /r /x .svn ".\Skins\*.*" + + SetOutPath "$INSTDIR\Themes" + File /r /x .svn ".\Themes\*.*" + + SetOutPath "$INSTDIR" + + ${If} $instType == "S" + ReadRegStr $0 HKLM "SOFTWARE\Rainmeter" "" + WriteRegStr HKLM "SOFTWARE\Rainmeter" "" "$INSTDIR" + WriteRegStr HKLM "SOFTWARE\Rainmeter" "Language" "$LANGUAGE" + ${If} $defLang == "1" + DeleteRegValue HKLM "SOFTWARE\Rainmeter" "NonDefault" + ${Else} + WriteRegDWORD HKLM "SOFTWARE\Rainmeter" "NonDefault" 1 + ${EndIf} + + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Rainmeter" "DisplayName" "Rainmeter" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Rainmeter" "DisplayIcon" "$INSTDIR\Rainmeter.exe,0" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Rainmeter" "URLInfoAbout" "http://rainmeter.net" + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Rainmeter" "UninstallString" "$INSTDIR\uninst.exe" + +!ifdef BETA + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Rainmeter" "DisplayVersion" "${VER} beta r${REV}" +!else + WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\Rainmeter" "DisplayVersion" "${VER} r${REV}" +!endif + + WriteRegStr HKCR ".rmskin" "" "Rainmeter skin" + WriteRegStr HKCR "Rainmeter skin" "" "Rainmeter skin file" + WriteRegStr HKCR "Rainmeter skin\shell" "" "open" + WriteRegStr HKCR "Rainmeter skin\DefaultIcon" "" "$INSTDIR\SkinInstaller.exe,0" + WriteRegStr HKCR "Rainmeter skin\shell\open\command" "" '"$INSTDIR\SkinInstaller.exe" %1' + WriteRegStr HKCR "Rainmeter skin\shell\edit" "" "Install Rainmeter skin" + WriteRegStr HKCR "Rainmeter skin\shell\edit\command" "" '"$INSTDIR\SkinInstaller.exe" %1' + + ; Refresh shell icons if new install + ${If} $0 == "" + System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)' + ${EndIf} + + ; Remove all shortcuts + ${If} $ctlAllUsers == "1" + SetShellVarContext current + Call GetEnvPaths + !insertmacro RemoveShortcuts + !insertmacro UAC_AsUser_Call Function GetEnvPaths ${UAC_SYNCREGISTERS} + !insertmacro RemoveShortcuts + SetShellVarContext all + Call GetEnvPaths + !insertmacro RemoveShortcuts + ${Else} + SetShellVarContext all + Call GetEnvPaths + !insertmacro RemoveShortcuts + SetShellVarContext current + Call GetEnvPaths + !insertmacro RemoveShortcuts + !insertmacro UAC_AsUser_Call Function GetEnvPaths ${UAC_SYNCREGISTERS} + !insertmacro RemoveShortcuts + ${EndIf} + + ; Create shortcuts ($1=$SMPROGRAMS, $2=$SMSTARTUP, $3=$DESKTOP) + CreateDirectory "$1\Rainmeter" + CreateShortCut "$1\Rainmeter\Rainmeter.lnk" "$INSTDIR\Rainmeter.exe" "" "$INSTDIR\Rainmeter.exe" 0 + + SetOutPath "$INSTDIR" + ${If} $ctlStartup == "1" + CreateShortCut "$2\Rainmeter.lnk" "$INSTDIR\Rainmeter.exe" "" "$INSTDIR\Rainmeter.exe" 0 + ${EndIf} + + ${If} $ctlDesktop == "1" + CreateShortCut "$3\Rainmeter.lnk" "$INSTDIR\Rainmeter.exe" "" "$INSTDIR\Rainmeter.exe" 0 + ${EndIf} + + WriteUninstaller "$INSTDIR\uninst.exe" + ${Else} + ${IfNot} ${FileExists} "Rainmeter.ini" + CopyFiles /SILENT "$INSTDIR\Themes\illustro default\Rainmeter.thm" "$INSTDIR\Rainmeter.ini" + ${EndIf} + + WriteINIStr "$INSTDIR\Rainmeter.ini" "Rainmeter" "Language" "$LANGUAGE" + ${EndIf} +SectionEnd + +Function GetEnvPaths + StrCpy $1 $SMPROGRAMS + StrCpy $2 $SMSTARTUP + StrCpy $3 $DESKTOP +FunctionEnd + +Function FinishRun + !insertmacro UAC_AsUser_ExecShell "" "$INSTDIR\Rainmeter.exe" "" "" "" +FunctionEnd + + +; Uninstall +; -------------------------------------- +Function un.onInit +UAC_TryAgain: + ; Request administrative rights + !insertmacro UAC_RunElevated + ${Switch} $0 + ${Case} 0 + ${IfThen} $1 = 1 ${|} Quit ${|} + ${IfThen} $3 <> 0 ${|} ${Break} ${|} + ${If} $1 = 3 + MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND "$(ADMINERROR)" /SD IDNO IDOK UAC_TryAgain IDNO 0 + ${EndIf} + ${Case} 1223 + Quit + ${Case} 1062 + MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND "$(LOGONERROR)" + Quit + ${Default} + MessageBox MB_OK|MB_ICONSTOP|MB_TOPMOST|MB_SETFOREGROUND "$(UACERROR) ($0)" + Quit + ${EndSwitch} + + ReadRegStr $0 HKLM "SOFTWARE\Rainmeter" "Language" + ${If} $0 != "" + StrCpy $LANGUAGE $0 + ${EndIf} +FunctionEnd + +Function un.PageOptions + !insertmacro MUI_HEADER_TEXT "$(UNSTALLOPTIONS)" "$(UNSTALLOPTIONSDESC)" + nsDialogs::Create 1018 + nsDialogs::SetRTL $(^RTL) + + ${NSD_CreateCheckbox} 0 0u 95% 12u "$(UNSTALLRAINMETER)" + Pop $0 + EnableWindow $0 0 + ${NSD_Check} $0 + + ${NSD_CreateCheckbox} 0 15u 70% 12u "$(UNSTALLSETTINGS)" + Pop $ctlDelete + + ${NSD_CreateLabel} 16 26u 95% 12u "$(UNSTALLSETTINGSDESC)" + + nsDialogs::Show +FunctionEnd + +Function un.GetOptions + ${NSD_GetState} $ctlDelete $ctlDelete +FunctionEnd + +Section Uninstall + FindWindow $0 "RainmeterTrayClass" + ${If} $0 != "0" + Exec '"$INSTDIR\Rainmeter.exe" !RainmeterQuit' + + ; Wait up to for up to 5 seconds for Rainmeter to close + StrCpy $1 "0" + ${DoWhile} ${ProcessExists} "Rainmeter.exe" + IntOp $1 $1 + 1 + ${If} $1 >= "10" + MessageBox MB_RETRYCANCEL|MB_ICONSTOP "$(RAINMETERCLOSEERROR)" IDRETRY +2 + Quit + ${EndIf} + Sleep 500 + ${Loop} + ${EndIf} + + RMDir /r "$TEMP\Rainmeter-Cache" + RMDir /r "$INSTDIR\Skins\Gnometer" + RMDir /r "$INSTDIR\Skins\Tranquil" + RMDir /r "$INSTDIR\Skins\Enigma" + RMDir /r "$INSTDIR\Skins\Arcs" + RMDir /r "$INSTDIR\Skins\illustro" + Delete "$INSTDIR\Skins\*.txt" + RMDir "$INSTDIR\Skins" + + RMDir /r "$INSTDIR\Addons\RainThemes" + RMDir /r "$INSTDIR\Addons\RainBrowser" + RMDir /r "$INSTDIR\Addons\RainBackup" + RMDir /r "$INSTDIR\Addons\Rainstaller" + RMDir "$INSTDIR\Addons" + Delete "$INSTDIR\Plugins\*.*" + Delete "$INSTDIR\Plugins\Dependencies\*.*" + RMDir "$INSTDIR\Plugins" + RMDir /r "$INSTDIR\Languages" + RMDir /r "$INSTDIR\Themes" + Delete "$INSTDIR\*.*" + + ${If} $ctlDelete == "1" + RMDir /r "$INSTDIR\Skins" + RMDir /r "$INSTDIR\Addons" + RMDir /r "$INSTDIR\Plugins" + RMDir /r "$INSTDIR\Fonts" + ${EndIf} + + RMDir "$INSTDIR" + + SetShellVarContext all + RMDir /r "$APPDATA\Rainstaller" + + SetShellVarContext current + Call un.GetEnvPaths + !insertmacro RemoveShortcuts + ${If} $ctlDelete == "1" + RMDir /r "$APPDATA\Rainmeter" + RMDir /r "$DOCUMENTS\Rainmeter\Skins" + RMDir "$DOCUMENTS\Rainmeter" + RMDir /r "$1\Rainmeter" + ${EndIf} + + !insertmacro UAC_AsUser_Call Function un.GetEnvPaths ${UAC_SYNCREGISTERS} + !insertmacro RemoveShortcuts + ${If} $ctlDelete == "1" + RMDir /r "$APPDATA\Rainmeter" + RMDir /r "$DOCUMENTS\Rainmeter\Skins" + RMDir "$DOCUMENTS\Rainmeter" + ${EndIf} + + SetShellVarContext all + Call un.GetEnvPaths + !insertmacro RemoveShortcuts + + DeleteRegKey HKLM "SOFTWARE\Rainmeter" + DeleteRegKey HKCR ".rmskin" + DeleteRegKey HKCR "Rainmeter skin" + DeleteRegKey HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Rainmeter" + System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)' +SectionEnd + +Function un.GetEnvPaths + StrCpy $1 $SMPROGRAMS + StrCpy $2 $SMSTARTUP + StrCpy $3 $DESKTOP +FunctionEnd diff --git a/Build/Installer/MoreInfo.dll b/Build/Installer/MoreInfo.dll new file mode 100644 index 00000000..274d9819 Binary files /dev/null and b/Build/Installer/MoreInfo.dll differ diff --git a/Build/Installer/ProcFunc.nsh b/Build/Installer/ProcFunc.nsh new file mode 100644 index 00000000..74b0b9d0 --- /dev/null +++ b/Build/Installer/ProcFunc.nsh @@ -0,0 +1,835 @@ +/* +_____________________________________________________________________________ + + Process Functions Header v2.2 +_____________________________________________________________________________ + + 2008-2010 Erik Pilsits aka wraithdu + License: zlib/libpng + + See documentation for more information about the following functions. + + Usage in script: + 1. !include "ProcFunc.nsh" + 2. [Section|Function] + ${ProcFunction} "Param1" "Param2" "..." $var + [SectionEnd|FunctionEnd] + + + ProcFunction=[GetProcessPID|GetProcessPath|GetProcessParent|GetProcessName| + EnumProcessPaths|ProcessWait|ProcessWait2|ProcessWaitClose| + CloseProcess|TerminateProcess|Execute] + + There is also a LogicLib extension: + ${If} ${ProcessExists} file.exe + ... + ${EndIf} + +_____________________________________________________________________________ + + Thanks to: +_____________________________________________________________________________ + +Some functions based on work by Donald Miller and Phoenix1701@gmail.com + +_____________________________________________________________________________ + + Individual documentation: +_____________________________________________________________________________ + +${ProcessExists} "[process]" + "[process]" ; Name or PID + + Use with a LogicLib conditional command like If or Unless. + Evaluates to true if the process exists or false if it does not or + the CreateToolhelp32Snapshot fails. + +${GetProcessPID} "[process]" $var + "[process]" ; Name or PID + + $var(output) ; -2 - CreateToolhelp32Snapshot failed + ; 0 - process does not exist + ; >0 - PID + +${GetProcessPath} "[process]" $var + "[process]" ; Name or PID + + $var(output) ; -2 - CreateToolhelp32Snapshot failed + ; -1 - OpenProcess failed + ; 0 - process does not exist + ; Or path to process + +${GetProcessParent} "[process]" $var + "[process]" ; Name or PID + + $var(output) ; -2 - CreateToolhelp32Snapshot failed + ; 0 - process does not exist + ; Or PPID + +${GetProcessName} "[PID]" $var + "[PID]" ; PID + + $var(output) ; -2 - CreateToolhelp32Snapshot failed + ; 0 - process does not exist + ; Or process name + +${EnumProcessPaths} "Function" $var + "Function" ; Callback function + $var(output) ; -2 - EnumProcesses failed + ; 1 - success + + Function "Function" + Pop $var1 ; matching path string + Pop $var2 ; matching process PID + ...user commands + Push [1/0] ; must return 1 on the stack to continue + ; must return some value or corrupt the stack + ; DO NOT save data in $0-$9 + FunctionEnd + +${ProcessWait} "[process]" "[timeout]" $var + "[process]" ; Name + "[timeout]" ; -1 - do not timeout + ; >0 - timeout in milliseconds + + $var(output) ; -2 - CreateToolhelp32Snapshot failed + ; -1 - operation timed out + ; Or PID + +${ProcessWait2} "[process]" "[timeout]" $var + "[process]" ; Name + "[timeout]" ; -1 - do not timeout + ; >0 - timeout in milliseconds + + $var(output) ; -1 - operation timed out + ; Or PID + +${ProcessWaitClose} "[process]" "[timeout]" $var + "[process]" ; Name + "[timeout]" ; -1 - do not timeout + ; >0 - timeout in milliseconds + + $var(output) ; -1 - operation timed out + ; 0 - process does not exist + ; Or PID of ended process + +${CloseProcess} "[process]" $var + "[process]" ; Name or PID + + $var(output) ; 0 - process does not exist + ; Or PID of ended process + +${TerminateProcess} "[process]" $var + "[process]" ; Name or PID + + $var(output) ; -1 - operation failed + ; 0 - process does not exist + ; Or PID of ended process + +${Execute} "[command]" "[working_dir]" $var + "[command]" ; '"X:\path\to\prog.exe" arg1 arg2 "arg3 with space"' + "[working_dir]" ; Working directory ("X:\path\to\dir") or nothing ("") + + $var(output) ; 0 - failed to create process + ; Or PID +*/ + + +;_____________________________________________________________________________ +; +; Macros +;_____________________________________________________________________________ +; +; Change log window verbosity (default: 3=no script) +; +; Example: +; !include "ProcFunc.nsh" +; ${PROCFUNC_VERBOSE} 4 # all verbosity +; ${PROCFUNC_VERBOSE} 3 # no script + +!ifndef PROCFUNC_INCLUDED +!define PROCFUNC_INCLUDED + +!include Util.nsh +!include LogicLib.nsh + +!verbose push +!verbose 3 +!ifndef _PROCFUNC_VERBOSE + !define _PROCFUNC_VERBOSE 3 +!endif +!verbose ${_PROCFUNC_VERBOSE} +!define PROCFUNC_VERBOSE `!insertmacro PROCFUNC_VERBOSE` +!verbose pop + +!macro PROCFUNC_VERBOSE _VERBOSE + !verbose push + !verbose 3 + !undef _PROCFUNC_VERBOSE + !define _PROCFUNC_VERBOSE ${_VERBOSE} + !verbose pop +!macroend + +!define PROCESS_QUERY_INFORMATION 0x0400 +!define PROCESS_TERMINATE 0x0001 +!define PROCESS_VM_READ 0x0010 +!define SYNCHRONIZE 0x00100000 + +!define WAIT_TIMEOUT 0x00000102 + +!ifdef NSIS_UNICODE + !define _PROCFUNC_WSTRING "&w260" +!else + !define _PROCFUNC_WSTRING "&w520" +!endif + +!macro ProcessExists + !error "ProcessExists has been renamed to GetProcessPID" +!macroend +!macro _ProcessExists _a _b _t _f + !insertmacro _LOGICLIB_TEMP + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push `${_b}` + ${CallArtificialFunction} LLProcessExists_ + IntCmp $_LOGICLIB_TEMP 0 `${_f}` + Goto `${_t}` + !verbose pop +!macroend +!define ProcessExists `"" ProcessExists` + +!macro GetProcessPID +!macroend +!define GetProcessPID "!insertmacro GetProcessPIDCall" +!macro GetProcessPIDCall process outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push 0 + Push `${process}` + !ifdef CallArtificialFunction_TYPE ; macro nesting disallowed, breaks otherwise if used from WaitClose + ${CallArtificialFunction2} ProcFuncs_ + !else + ${CallArtificialFunction} ProcFuncs_ + !endif + Pop ${outVar} + !verbose pop +!macroend + +!macro GetProcessPath +!macroend +!define GetProcessPath "!insertmacro GetProcessPathCall" +!macro GetProcessPathCall process outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push 1 + Push `${process}` + ${CallArtificialFunction} ProcFuncs_ + Pop ${outVar} + !verbose pop +!macroend + +!macro GetProcessParent +!macroend +!define GetProcessParent "!insertmacro GetProcessParentCall" +!macro GetProcessParentCall process outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push 2 + Push `${process}` + ${CallArtificialFunction} ProcFuncs_ + Pop ${outVar} + !verbose pop +!macroend + +!macro GetProcessName +!macroend +!define GetProcessName "!insertmacro GetProcessNameCall" +!macro GetProcessNameCall process outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push 6 + Push `${process}` + ${CallArtificialFunction} ProcFuncs_ + Pop ${outVar} + !verbose pop +!macroend + +!macro EnumProcessPaths +!macroend +!define EnumProcessPaths "!insertmacro EnumProcessPathsCall" +!macro EnumProcessPathsCall user_func outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push $0 + GetFunctionAddress $0 `${user_func}` + Push `$0` + ${CallArtificialFunction} EnumProcessPaths_ + Exch + Pop $0 + Pop ${outVar} + !verbose pop +!macroend + +!macro ProcessWait +!macroend +!define ProcessWait "!insertmacro ProcessWaitCall" +!macro ProcessWaitCall process timeout outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push `${timeout}` + Push `${process}` + ${CallArtificialFunction} ProcessWait_ + Pop ${outVar} + !verbose pop +!macroend + +!macro ProcessWait2 +!macroend +!define ProcessWait2 "!insertmacro ProcessWait2Call" +!macro ProcessWait2Call process timeout outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push `${timeout}` + Push `${process}` + ${CallArtificialFunction} ProcessWait2_ + Pop ${outVar} + !verbose pop +!macroend + +!macro ProcessWaitClose +!macroend +!define ProcessWaitClose "!insertmacro ProcessWaitCloseCall" +!macro ProcessWaitCloseCall process timeout outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push `${timeout}` + Push `${process}` + ${CallArtificialFunction} ProcessWaitClose_ + Pop ${outVar} + !verbose pop +!macroend + +!macro CloseProcess +!macroend +!define CloseProcess "!insertmacro CloseProcessCall" +!macro CloseProcessCall process outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push `${process}` + ${CallArtificialFunction} CloseProcess_ + Pop ${outVar} + !verbose pop +!macroend + +!macro TerminateProcess +!macroend +!define TerminateProcess "!insertmacro TerminateProcessCall" +!macro TerminateProcessCall process outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push `${process}` + ${CallArtificialFunction} TerminateProcess_ + Pop ${outVar} + !verbose pop +!macroend + +!macro Execute +!macroend +!define Execute "!insertmacro ExecuteCall" +!macro ExecuteCall cmdline wrkdir outVar + !verbose push + !verbose ${_PROCFUNC_VERBOSE} + Push `${wrkdir}` + Push `${cmdline}` + ${CallArtificialFunction} Execute_ + Pop ${outVar} + !verbose pop +!macroend + +!macro ProcFuncs_ + System::Store "s" ; store registers in System's private stack + Pop $0 ; process / PID + Pop $1 ; mode + + Push 0 ; set return value if not found + + ; set mode of operation in $1 + ${Select} $1 ; mode 0 = GetProcessPID, mode 1 = GetProcessPath, mode 2 = GetProcessParent + ${Case} 0 + StrCpy $2 $0 4 -4 + ${If} $2 == ".exe" + ; exists from process name + StrCpy $1 0 + ${Else} + ; exists from pid + StrCpy $1 1 + ${EndIf} + ${Case} 1 + StrCpy $2 $0 4 -4 + ${If} $2 == ".exe" + ; get path from process name + StrCpy $1 2 + ${Else} + ; get path from pid + StrCpy $1 3 + ${EndIf} + ${Case} 2 + StrCpy $2 $0 4 -4 + ${If} $2 == ".exe" + ; get parent from process name + StrCpy $1 4 + ${Else} + ; get parent from pid + StrCpy $1 5 + ${EndIf} + ${EndSelect} + + System::Call '*(&l4,i,i,i,i,i,i,i,i,${_PROCFUNC_WSTRING})i .r2' ; $2 = PROCESSENTRY32W structure + ; take system process snapshot in $3 + System::Call 'kernel32::CreateToolhelp32Snapshot(i 2, i 0)i .r3' + ${Unless} $3 = -1 + System::Call 'kernel32::Process32FirstW(i r3, i r2)i .r4' + ${Unless} $4 = 0 + ${Do} + ${Select} $1 + ${Case3} 0 2 4 + ; get process name in $5 + System::Call '*$2(i,i,i,i,i,i,i,i,i,${_PROCFUNC_WSTRING} .r5)' + ${Case4} 1 3 5 6 + ; get process PID in $5 + System::Call '*$2(i,i,i .r5)' + ${EndSelect} + ; is this process the one we are looking for? + ${If} $5 == $0 ; string test works ok for numeric PIDs as well + ${Select} $1 ; mode 0/1 = GetProcessPID, mode 2/3 = GetProcessPath, mode 4/5 = GetProcessParent, mode 6 = GetProcessName + ${Case2} 0 1 + ; return pid + Pop $5 ; old return value + System::Call '*$2(i,i,i .s)'; process pid to stack + ${Case2} 2 3 + ; return full path + Pop $5 + ; open process + System::Call '*$2(i,i,i .s)'; process pid to stack + System::Call 'kernel32::OpenProcess(i ${PROCESS_QUERY_INFORMATION}|${PROCESS_VM_READ}, i 0, i s)i .r5' ; process handle to $5 + ${Unless} $5 = 0 + ; full path to stack + System::Call 'psapi::GetModuleFileNameExW(i r5, i 0, w .s, i ${NSIS_MAX_STRLEN})' + System::Call 'kernel32::CloseHandle(i r5)' + ${Else} + Push -1 ; OpenProcess failure return value + ${EndUnless} + ${Case2} 4 5 + ; return parent PID + Pop $5 + System::Call '*$2(i,i,i,i,i,i,i .s)'; parent pid to stack + ${Case} 6 + ; return base name + Pop $5 + System::Call '*$2(i,i,i,i,i,i,i,i,i,${_PROCFUNC_WSTRING} .s)' + ${EndSelect} + ${Break} + ${EndIf} + System::Call 'kernel32::Process32NextW(i r3, i r2)i .r4' + ${LoopUntil} $4 = 0 + System::Call 'kernel32::CloseHandle(i r3)' ; close snapshot + ${EndUnless} + ${Else} + Pop $5 + Push -2 ; function failure return value + ${EndUnless} + System::Free $2 ; free buffer + + System::Store "l" ; restore registers +!macroend + +!macro EnumProcessPaths_ + System::Store "s" ; store registers in System's private stack + Pop $0 ; user_func + + StrCpy $1 1 ; OK to loop + + System::Alloc 1024 + Pop $2 ; process list buffer + ; get an array of all process ids + System::Call 'psapi::EnumProcesses(i r2, i 1024, *i .r3)i .r4' ; $3 = sizeof buffer + ${Unless} $4 = 0 + IntOp $3 $3 / 4 ; Divide by sizeof(DWORD) to get $3 process count + IntOp $3 $3 - 1 ; decrement for 0 base loop + ${For} $4 0 $3 + ${IfThen} $1 != 1 ${|} ${Break} ${|} + ; get a PID from the array + IntOp $5 $4 * 4 ; calculate offset + IntOp $5 $5 + $2 ; add offset to original buffer address + System::Call '*$5(i .r5)' ; get next PID = $5 + ${Unless} $5 = 0 + System::Call 'kernel32::OpenProcess(i ${PROCESS_QUERY_INFORMATION}|${PROCESS_VM_READ}, i 0, i r5)i .r6' + ${Unless} $6 = 0 ; $6 is hProcess + ; get full path + System::Call 'psapi::GetModuleFileNameExW(i r6, i 0, w .r7, i ${NSIS_MAX_STRLEN})i .r8' ; $7 = path + ${Unless} $8 = 0 ; no path + System::Store "s" ; store registers in System's private stack + Push $5 ; PID to stack + Push $7 ; path to stack + Call $0 ; user func must return 1 on the stack to continue looping + System::Store "l" ; restore registers + Pop $1 ; continue? + ${EndUnless} + System::Call 'kernel32::CloseHandle(i r6)' + ${EndUnless} + ${EndUnless} + ${Next} + Push 1 ; return value + ${Else} + Push -2 ; function failure return value + ${EndUnless} + System::Free $2 ; free buffer + + System::Store "l" ; restore registers +!macroend + +!macro ProcessWait_ + System::Store "s" ; store registers in System's private stack + Pop $0 ; process + Pop $1 ; timeout + + StrCpy $6 1 ; initialize loop + StrCpy $7 0 ; initialize timeout counter + + System::Call '*(&l4,i,i,i,i,i,i,i,i,${_PROCFUNC_WSTRING})i .r2' ; $2 = PROCESSENTRY32W structure + ${DoWhile} $6 = 1 ; processwait loop + ; take system process snapshot in $3 + System::Call 'kernel32::CreateToolhelp32Snapshot(i 2, i 0)i .r3' + ${Unless} $3 = -1 + System::Call 'kernel32::Process32FirstW(i r3, i r2)i .r4' + ${Unless} $4 = 0 + ${Do} + ; get process name in $5 + System::Call '*$2(i,i,i,i,i,i,i,i,i,${_PROCFUNC_WSTRING} .r5)' + ${If} $5 == $0 + ; exists, return pid + System::Call '*$2(i,i,i .s)'; process pid to stack ; process pid + StrCpy $6 0 ; end loop + ${Break} + ${EndIf} + System::Call 'kernel32::Process32NextW(i r3, i r2)i .r4' + ${LoopUntil} $4 = 0 + System::Call 'kernel32::CloseHandle(i r3)' ; close snapshot + ${EndUnless} + ${Else} + Push -2 + ${Break} + ${EndUnless} + ; timeout loop + ${If} $6 = 1 + ${If} $1 >= 0 + IntOp $7 $7 + 500 ; increment timeout counter + ${AndIf} $7 >= $1 ; timed out, break loop + Push -1 ; timeout return value + ${Break} ; end loop if timeout + ${EndIf} + Sleep 500 ; pause before looping + ${EndIf} + ${Loop} ; processwaitloop + System::Free $2 ; free buffer + + System::Store "l" ; restore registers +!macroend + +!macro ProcessWait2_ + System::Store "s" ; store registers in System's private stack + System::Store "P0" ; FindProcDLL return value + Pop $0 ; process + Pop $1 ; timeout + + StrCpy $2 0 ; initialize timeout counter + + ${Do} + FindProcDLL::FindProc $0 + ${IfThen} $R0 = 1 ${|} ${Break} ${|} + ${If} $1 >= 0 + IntOp $2 $2 + 250 + ${AndIf} $2 >= $1 + Push -1 ; timeout return value + ${Break} + ${EndIf} + Sleep 250 + ${Loop} + + ${If} $R0 = 1 ; success, get pid + ${GetProcessPID} $0 $0 + Push $0 ; return pid + ${EndIf} + + System::Store "R0" ; restore registers + System::Store "l" +!macroend + +!macro ProcessWaitClose_ + System::Store "s" ; store registers in System's private stack + Pop $0 ; process / PID + Pop $1 ; timeout + + ; passed process name or pid + StrCpy $2 $0 4 -4 + ${If} $2 == ".exe" + ${GetProcessPID} $0 $0 + ${EndIf} + + ; else passed pid directly + + ${Unless} $0 = 0 + System::Call 'kernel32::OpenProcess(i ${SYNCHRONIZE}, i 0, i r0)i .r2' + ${Unless} $2 = 0 ; $2 is hProcess + System::Call 'kernel32::WaitForSingleObject(i r2, i $1)i .r1' + ${If} $1 = ${WAIT_TIMEOUT} + Push -1 ; timed out + ${Else} + Push $0 ; return pid of ended process + ${EndIf} + System::Call 'kernel32::CloseHandle(i r2)' + ${Else} + Push 0 ; failure return value + ${EndUnless} + ${Else} + Push 0 ; failure return value + ${EndUnless} + + System::Store "l" ; restore registers +!macroend + +!macro CloseProcess_ + System::Store "s" ; store registers in System's private stack + Pop $0 ; process / PID + + ; passed process name or pid + StrCpy $1 $0 4 -4 + ${If} $1 == ".exe" + ${GetProcessPID} $0 $0 + ${EndIf} + + ; else passed pid directly + + ${Unless} $0 = 0 ; $0 = target pid + Push $0 ; return pid of process + ; use EnumWindows and a callback + System::Get '(i .r1, i)i sr4' ; $1 = hwnd, $4 = callback#, s (stack) = source for return value + Pop $3 ; $3 = callback address + System::Call 'user32::EnumWindows(k r3, i)i' ; enumerate top-level windows + ${DoWhile} $4 == "callback1" + System::Call 'user32::GetWindowThreadProcessId(i r1, *i .r2)i' ; $2 = pid that created the window + ${If} $2 = $0 ; match to target pid + SendMessage $1 16 0 0 /TIMEOUT=1 ; send WM_CLOSE to all top-level windows owned by process, timeout immediately + ${EndIf} + Push 1 ; callback return value; keep enumerating windows (returning 0 stops) + StrCpy $4 "" ; clear callback# + System::Call '$3' ; return from callback + ${Loop} + System::Free $3 ; free callback + ${Else} + Push 0 ; failure return value + ${EndUnless} + + System::Store "l" ; restore registers +!macroend + +!macro TerminateProcess_ + System::Store "s" ; store registers in System's private stack + Pop $0 ; process / PID + + ; passed process name or pid + StrCpy $1 $0 4 -4 + ${If} $1 == ".exe" + ${GetProcessPID} $0 $0 + ${EndIf} + + ; else passed pid directly + + ${Unless} $0 = 0 + System::Call 'kernel32::OpenProcess(i ${PROCESS_TERMINATE}, i 0, i r0)i .r1' + ${Unless} $1 = 0 ; $1 is hProcess + System::Call 'kernel32::TerminateProcess(i r1, i 0)i .r1' + ${If} $1 = 0 ; fail + Push -1 + ${Else} + Push $0 ; return pid of ended process + ${EndIf} + System::Call 'kernel32::CloseHandle(i r1)' + ${Else} + Push 0 ; failure return value + ${EndUnless} + ${Else} + Push 0 ; failure return value + ${EndUnless} + + System::Store "l" ; restore registers +!macroend + +!macro Execute_ + System::Store "s" ; store registers in System's private stack + Pop $0 ; cmdline + Pop $1 ; wrkdir + + System::Alloc 68 ; 4*16 + 2*2 / STARTUPINFO structure = $2 + Pop $2 + System::Call '*$2(i 68)' ; set cb = sizeof(STARTUPINFO) + System::Call '*(i,i,i,i)i .r3' ; PROCESS_INFORMATION structure = $3 + + ${If} $1 == "" + StrCpy $1 "i" + ${Else} + StrCpy $1 'w "$1"' + ${EndIf} + + System::Call `kernel32::CreateProcessW(i, w '$0', i, i, i 0, i 0, i, $1, i r2, i r3)i .r4` ; return 0 if fail + ${Unless} $4 = 0 ; failed to create process + System::Call '*$3(i .r4, i .r5, i .r6)' ; read handles and PID + System::Call 'kernel32::CloseHandle(i $4)' ; close hProcess + System::Call 'kernel32::CloseHandle(i $5)' ; close hThread + Push $6 ; return PID + ${Else} + Push 0 ; return val if failed + ${EndUnless} + + System::Free $2 ; free STARTUPINFO struct + System::Free $3 ; free PROCESS_INFORMATION struct + + System::Store "l" ; restore registers +!macroend + +!macro LLProcessExists_ + System::Store "s" ; store registers in System's private stack + Pop $0 ; process name + + StrCpy $_LOGICLIB_TEMP 0 + + System::Call '*(&l4,i,i,i,i,i,i,i,i,${_PROCFUNC_WSTRING})i .r2' ; $2 = PROCESSENTRY32W structure + ; take system process snapshot in $3 + System::Call 'kernel32::CreateToolhelp32Snapshot(i 2, i 0)i .r3' + IntCmp $3 -1 done + System::Call 'kernel32::Process32FirstW(i r3, i r2)i .r4' + IntCmp $4 0 endloop + loop: + System::Call '*$2(i,i,i,i,i,i,i,i,i,${_PROCFUNC_WSTRING} .r5)' + StrCmp $5 $0 0 next_process + StrCpy $_LOGICLIB_TEMP 1 + Goto endloop + next_process: + System::Call 'kernel32::Process32NextW(i r3, i r2)i .r4' + IntCmp $4 0 endloop + Goto loop + endloop: + System::Call 'kernel32::CloseHandle(i r3)' ; close snapshot + done: + System::Free $2 ; free buffer + + System::Store "l" ; restore registers +!macroend + +!endif ; PROCFUNC_INCLUDED + +/**************************************************************************** + Functions + ========= + + HANDLE WINAPI OpenProcess( + __in DWORD dwDesiredAccess, + __in BOOL bInheritHandle, + __in DWORD dwProcessId + ); + + BOOL WINAPI CreateProcess( + __in_opt LPCTSTR lpApplicationName, + __inout_opt LPTSTR lpCommandLine, + __in_opt LPSECURITY_ATTRIBUTES lpProcessAttributes, + __in_opt LPSECURITY_ATTRIBUTES lpThreadAttributes, + __in BOOL bInheritHandles, + __in DWORD dwCreationFlags, + __in_opt LPVOID lpEnvironment, + __in_opt LPCTSTR lpCurrentDirectory, + __in LPSTARTUPINFO lpStartupInfo, + __out LPPROCESS_INFORMATION lpProcessInformation + ); + + typedef struct _STARTUPINFO { + DWORD cb; + LPTSTR lpReserved; + LPTSTR lpDesktop; + LPTSTR lpTitle; + DWORD dwX; + DWORD dwY; + DWORD dwXSize; + DWORD dwYSize; + DWORD dwXCountChars; + DWORD dwYCountChars; + DWORD dwFillAttribute; + DWORD dwFlags; + WORD wShowWindow; + WORD cbReserved2; + LPBYTE lpReserved2; + HANDLE hStdInput; + HANDLE hStdOutput; + HANDLE hStdError; + } STARTUPINFO, + *LPSTARTUPINFO; + + typedef struct _PROCESS_INFORMATION { + HANDLE hProcess; + HANDLE hThread; + DWORD dwProcessId; + DWORD dwThreadId; + } PROCESS_INFORMATION, + *LPPROCESS_INFORMATION; + + BOOL WINAPI EnumProcesses( + __out DWORD* pProcessIds, + __in DWORD cb, + __out DWORD* pBytesReturned + ); + + DWORD WINAPI GetModuleBaseName( + __in HANDLE hProcess, + __in_opt HMODULE hModule, + __out LPTSTR lpBaseName, + __in DWORD nSize + ); + + DWORD WINAPI GetModuleFileNameEx( + __in HANDLE hProcess, + __in_opt HMODULE hModule, + __out LPTSTR lpFilename, + __in DWORD nSize + ); + + BOOL WINAPI CloseHandle( + __in HANDLE hObject + ); + + DWORD WINAPI WaitForSingleObject( + __in HANDLE hHandle, + __in DWORD dwMilliseconds + ); + + BOOL WINAPI TerminateProcess( + __in HANDLE hProcess, + __in UINT uExitCode + ); + + BOOL EnumWindows( + __in WNDENUMPROC lpEnumFunc, + __in LPARAM lParam + ); + + DWORD GetWindowThreadProcessId( + __in HWND hWnd, + __out LPDWORD lpdwProcessId + ); + + BOOL PostMessage( + __in HWND hWnd, + __in UINT Msg, + __in WPARAM wParam, + __in LPARAM lParam + ); + +****************************************************************************/ \ No newline at end of file diff --git a/Build/Installer/UAC.dll b/Build/Installer/UAC.dll new file mode 100644 index 00000000..ccaa050e Binary files /dev/null and b/Build/Installer/UAC.dll differ diff --git a/Build/Installer/UAC.nsh b/Build/Installer/UAC.nsh new file mode 100644 index 00000000..a0e137fa --- /dev/null +++ b/Build/Installer/UAC.nsh @@ -0,0 +1,200 @@ +!ifndef UAC_HDR__INC +!verbose push +!verbose 3 +!ifndef UAC_VERBOSE + !define UAC_VERBOSE 3 +!endif +!verbose ${UAC_VERBOSE} + +!define UAC_HDR__INC 0x00020204 ;MMmmbbrr + +!include LogicLib.nsh + +!macro _UAC_definemath def val1 op val2 +!define /math _UAC_definemath "${val1}" ${op} ${val2} +!ifdef ${def} + !undef ${def} +!endif +!define ${def} "${_UAC_definemath}" +!undef _UAC_definemath +!macroend + +!macro _UAC_ParseDefineFlags_orin parse outflags +!searchparse /noerrors ${${parse}} "" _UAC_ParseDefineFlags_orin_f1 "|" _UAC_ParseDefineFlags_orin_f2 +!define _UAC_ParseDefineFlags_orin_this ${_UAC_ParseDefineFlags_orin_f1} +!undef ${parse} +!define ${parse} ${_UAC_ParseDefineFlags_orin_f2} +!define _UAC_ParseDefineFlags_orin_saveout ${${outflags}} +!undef ${outflags} +!define /math ${outflags} "${_UAC_ParseDefineFlags_orin_saveout}" | "${_UAC_ParseDefineFlags_orin_this}" +!undef _UAC_ParseDefineFlags_orin_saveout +!undef _UAC_ParseDefineFlags_orin_this +!ifdef _UAC_ParseDefineFlags_orin_f1 + !undef _UAC_ParseDefineFlags_orin_f1 + !undef _UAC_ParseDefineFlags_orin_f2 +!endif +!macroend +!macro _UAC_ParseDefineFlags_Begin _outdef _in +!define _UAC_PDF${_outdef}_parse "${_in}" +!define _UAC_PDF${_outdef}_flags "" +!define _UAC_PDF${_outdef}_r 0 +!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x1 +!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x2 +!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x4 +!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x8 +!insertmacro _UAC_ParseDefineFlags_orin _UAC_PDF${_outdef}_parse _UAC_PDF${_outdef}_flags ;0x10 +!macroend +!macro _UAC_ParseDefineFlags_End _outdef +!define ${_outdef} ${_UAC_PDF${_outdef}_r} +!undef _UAC_PDF${_outdef}_r +!undef _UAC_PDF${_outdef}_flags +!undef _UAC_PDF${_outdef}_parse +!macroend +!macro _UAC_ParseDefineFlags_IncludeFlag _outdef flag +!if ${_UAC_PDF${_outdef}_flags} & ${flag} + !insertmacro _UAC_definemath _UAC_PDF${_outdef}_r ${_UAC_PDF${_outdef}_r} | ${flag} +!endif +!macroend +!macro _UAC_ParseDefineFlagsToInt _outdef _in +!insertmacro _UAC_ParseDefineFlags_Begin _UAC_ParseDefineFlagsToInt_tmp "${_in}" +!define ${_outdef} ${_UAC_PDF_UAC_ParseDefineFlagsToInt_tmp_flags} +!insertmacro _UAC_ParseDefineFlags_End _UAC_ParseDefineFlagsToInt_tmp +!undef _UAC_ParseDefineFlagsToInt_tmp +!macroend + +!macro _UAC_IncL +!insertmacro _UAC_definemath __UAC_L "${__UAC_L}" + 1 +!macroend + + +!macro _UAC_MakeLL_Cmp cmpop cmp pluginparams +!insertmacro _LOGICLIB_TEMP +UAC::_ ${pluginparams} +pop $_LOGICLIB_TEMP +!insertmacro ${cmpop} $_LOGICLIB_TEMP ${cmp} `${_t}` `${_f}` +!macroend + + +!macro UAC_RunElevated +UAC::_ 0 +!macroend +!macro UAC_PageElevation_RunElevated +UAC::_ 0 +!macroend +/*!macro UAC_OnInitElevation_RunElevated +UAC::_ 0 +!macroend +!macro UAC_OnInitElevation_OnGuiInit +!macroend*/ + + +!macro UAC_IsAdmin +UAC::_ 2 +!macroend +!define UAC_IsAdmin `"" UAC_IsAdmin ""` +!macro _UAC_IsAdmin _a _b _t _f +!insertmacro _UAC_MakeLL_Cmp _!= 0 2s +!macroend + + + +!macro UAC_IsInnerInstance +UAC::_ 3 +!macroend +!define UAC_IsInnerInstance `"" UAC_IsInnerInstance ""` +!macro _UAC_IsInnerInstance _a _b _t _f +!insertmacro _UAC_MakeLL_Cmp _!= 0 3s +!macroend + +!macro UAC_Notify_OnGuiInit +UAC::_ 4 +!macroend +!macro UAC_PageElevation_OnGuiInit +!insertmacro UAC_Notify_OnGuiInit +!macroend +!macro UAC_PageElevation_OnInit +UAC::_ 5 +${IfThen} ${Errors} ${|} Quit ${|} +!macroend + + +!define UAC_SYNCREGISTERS 0x1 +#!define UAC_SYNCSTACK 0x2 +!define UAC_SYNCOUTDIR 0x4 +!define UAC_SYNCINSTDIR 0x8 +#!define UAC_CLEARERRFLAG 0x10 +!macro UAC_AsUser_Call type name flags +push $0 +Get${type}Address $0 ${name} +!verbose push +!verbose ${UAC_VERBOSE} +!insertmacro _UAC_ParseDefineFlagsToInt _UAC_AsUser_Call__flags ${flags} +!verbose pop +StrCpy $0 "1$0:${_UAC_AsUser_Call__flags}" +!undef _UAC_AsUser_Call__flags +Exch $0 +UAC::_ +!macroend + +!macro _UAC_AsUser_GenOp outvar op opparam1 opparam2 +!define _UAC_AUGOGR_ID _UAC_AUGOGR_OP${outvar}${op}${opparam1}${opparam2} +!ifndef ${_UAC_AUGOGR_ID} ;Has this exact action been done before? + !if ${outvar} == $0 + !define ${_UAC_AUGOGR_ID} $1 + !else + !define ${_UAC_AUGOGR_ID} $0 + !endif + !if "${opparam1}" == "" + !define _UAC_AUGOGR_OPP1 ${${_UAC_AUGOGR_ID}} + !define _UAC_AUGOGR_OPP2 ${opparam2} + !else + !define _UAC_AUGOGR_OPP1 ${opparam1} + !define _UAC_AUGOGR_OPP2 ${${_UAC_AUGOGR_ID}} + !endif + goto ${_UAC_AUGOGR_ID}_C + ${_UAC_AUGOGR_ID}_F: + ${op} ${_UAC_AUGOGR_OPP1} ${_UAC_AUGOGR_OPP2} + return + ${_UAC_AUGOGR_ID}_C: + !undef _UAC_AUGOGR_OPP1 + !undef _UAC_AUGOGR_OPP2 +!endif +push ${${_UAC_AUGOGR_ID}} +!insertmacro UAC_AsUser_Call Label ${_UAC_AUGOGR_ID}_F ${UAC_SYNCREGISTERS} +StrCpy ${outvar} ${${_UAC_AUGOGR_ID}} +pop ${${_UAC_AUGOGR_ID}} +!undef _UAC_AUGOGR_ID +!macroend + +!macro UAC_AsUser_GetSection datatype secidx outvar +!insertmacro _UAC_AsUser_GenOp ${outvar} SectionGet${datatype} ${secidx} "" +!macroend + +!macro UAC_AsUser_GetGlobalVar var +!insertmacro _UAC_AsUser_GenOp ${var} StrCpy "" ${var} +!macroend +!macro UAC_AsUser_GetGlobal outvar srcvar +!insertmacro _UAC_AsUser_GenOp ${outvar} StrCpy "" ${srcvar} +!macroend + + +!macro UAC_AsUser_ExecShell verb command params workdir show +!insertmacro _UAC_IncL +goto _UAC_L_E_${__UAC_L} +_UAC_L_F_${__UAC_L}: +ExecShell "${verb}" "${command}" ${params} ${show} +return +_UAC_L_E_${__UAC_L}: +!if "${workdir}" != "" + push $outdir + SetOutPath "${workdir}" +!endif +!insertmacro UAC_AsUser_Call Label _UAC_L_F_${__UAC_L} ${UAC_SYNCREGISTERS}|${UAC_SYNCOUTDIR}|${UAC_SYNCINSTDIR} #|${UAC_CLEARERRFLAG} +!if "${workdir}" != "" + pop $outdir + SetOutPath $outdir +!endif +!macroend + +!verbose pop +!endif /* UAC_HDR__INC */ \ No newline at end of file diff --git a/Build/Installer/Wizard.bmp b/Build/Installer/Wizard.bmp new file mode 100644 index 00000000..c9c7eddf Binary files /dev/null and b/Build/Installer/Wizard.bmp differ diff --git a/Build/Instructions.txt b/Build/Instructions.txt new file mode 100644 index 00000000..eea39e82 --- /dev/null +++ b/Build/Instructions.txt @@ -0,0 +1,47 @@ +Building +-------------------------- + +Note: If you already have any paid version of Visual Studio 2010 installed (e.g. Professional, Premium, Ultimate, etc.), simply open Rainmeter.sln to build (and skip the instructions below). + +* To build Rainmeter and C++ plugins, install the following tools in the listed order: + 1. Visual C++ 2010 Express Edition + 2. Visual Studio 2010 SP1 (yes, this is for Visual C++ 2010 as well) + 3. Windows 7.1 SDK + 4. KB2519277 compiler update + 5. Open RainmeterCPP.sln to build. + +* To build Rainmeter, C/C++ plugins, and C# plugins, install the following tools in the listed order: + 1. Visual C++ 2010 Express Edition + 2. Visual C# 2010 Express Edition + 3. Visual Studio 2010 SP1 (yes, this is for Visual C++/C# 2010 as well) + 4. Windows 7.1 SDK + 5. KB2519277 compiler update + 6. Open Rainmeter.sln to build. + +* To build only C# plugins, install the following tools in the listed order: + 7. Visual C# 2010 Express Edition + 8. Visual Studio 2010 SP1 (yes, this is for Visual C++/C# 2010 as well) + 9. Open RainmeterCS.sln to build. + + +Building installer +-------------------------- + +To build the full Rainmeter distribution, run Build.bat. If you receive "not found" errors, open Build.bat and change the variables at the top to match your system. + +To sign the installer and the Rainmeter executables, create a Certificate.bat file alongside Build.bat with the following contents: + + set CERTFILE=/path/to/PFXcert.p12 + set CERTKEY=certpassword + + +Building old versions +-------------------------- + +The Rainmeter GitHub repository does not contain the full source code history required to build the installer for versions prior to r1249. To obtain the full source from r1 to r1248, use the old Google Code SVN repository located at: + + http://rainmeter.googlecode.com/svn + +The build instructions above are applicable to r1130 - r1248. Build instructions for r27 - r1129 can be found in svn/wiki/. + +The language files for r963 - r1214 were in a separate repository (svn:externals), which is not available any longer. As a result, the language .dll's for those revisions cannot be built. \ No newline at end of file diff --git a/Build/Skins/illustro/Clock/Clock.ini b/Build/Skins/illustro/Clock/Clock.ini new file mode 100644 index 00000000..7f811d49 --- /dev/null +++ b/Build/Skins/illustro/Clock/Clock.ini @@ -0,0 +1,139 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 +Background=#ROOTCONFIGPATH#SHARED\Background.png +; #ROOTCONFIGPATH# is a global variable. In this case, the value of the variable +; is equal to DocumentsPath\Rainmeter\Skins\illustro\ +BackgroundMode=3 +BackgroundMargins=0,34,0,14 + +[Metadata] +; Contains basic information of the skin. +Description=Displays the current date and time. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=8 +colorBar=235,170,0,255 +colorText=255,255,255,205 + +; ---------------------------------- +; MEASURES return some kind of value +; ---------------------------------- + +[measureTime] +; This measure returns the time in a 24-hour format (i.e. HH:MM). +Measure=Time +Format=%H:%M +; For a 12-hour clock, change the Format option above to: %I:%M %p +; Refer to the Rainmeter manual for other format codes. + +[measureDate] +; Returns the date as DD.MM.YYYY +Measure=Time +Format=%d.%m.%Y + +[measureDay] +; Returns the current day +Measure=Time +Format=%A + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=CENTER +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleRightText] +StringAlign=RIGHT +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleSeperator] +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the +; contents of the [styleTitle] section here during runtime. +MeasureName=measureTime +X=100 +Y=12 +W=190 +H=18 +Text="%1" +; %1 stands for the value of MeasureName (measureTime in this case). + +[meterDay] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureDay +X=10 +Y=40 +W=190 +H=14 +Text="%1" + +[meterDate] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureDate +X=200 +Y=0r +; r stands for relative. In this case, the Y postition of meterValueCPU is 0 pixels +; below the Y value of the previous meter (i.e it's the same as in meterLabelCPU). +W=190 +H=14 +Text="%1" + +[meterSeperator] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=52 +W=190 +H=1 \ No newline at end of file diff --git a/Build/Skins/illustro/Disk/1 Disk.ini b/Build/Skins/illustro/Disk/1 Disk.ini new file mode 100644 index 00000000..ce44e6db --- /dev/null +++ b/Build/Skins/illustro/Disk/1 Disk.ini @@ -0,0 +1,150 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +; NOTE! If you want to add more disks, take a look at 'Disks 2.ini'. + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 +Background=#ROOTCONFIGPATH#SHARED\Background.png +; #ROOTCONFIGPATH# is a global variable. In this case, the value of the variable +; is equal to DocumentsPath\Rainmeter\Skins\illustro\ +BackgroundMode=3 +BackgroundMargins=0,34,0,14 + +[Metadata] +; Contains basic information of the skin. +Description=Displays disk usage. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=8 +colorBar=235,170,0,255 +colorText=255,255,255,205 +disk1=C: + +; ---------------------------------- +; MEASURES return some kind of value +; ---------------------------------- + +[measureTotalDisk1] +; This measure returns the total disk space +Measure=FreeDiskSpace +Drive=#disk1# +Total=1 +UpdateDivider=120 + +[measureUsedDisk1] +; Returns inverted value of free disk space (i.e. used disk space) +Measure=FreeDiskSpace +Drive=#disk1# +InvertMeasure=1 +UpdateDivider=120 + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=CENTER +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleRightText] +StringAlign=RIGHT +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleBar] +BarColor=#colorBar# +BarOrientation=HORIZONTAL +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the +; contents of the [styleTitle] section here during runtime. +X=100 +Y=12 +W=190 +H=18 +Text="Disks" +; Even though the text is set to Disks, Rainmeter will display +; it as DISKS, because styleTitle contains StringCase=UPPER. + +[meterLabelDisk1] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=40 +W=190 +H=14 +Text="#disk1#\" + +[meterValueDisk1] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureUsedDisk1 +MeasureName2=measureTotalDisk1 +X=200 +Y=0r +; r stands for relative. In this case, the Y postition of meterValueCPU is 0 pixels +; below the Y value of the previous meter (i.e it's the same as in meterLabelCPU). +W=190 +H=14 +Text="%1B/%2B used" +; %1 stands for the value of MeasureName (measureUsedDisk1 in this case). +; %2 stands for the value of MeasureName2. +NumOfDecimals=1 +AutoScale=1 +; Because disk measures return the free/used space in bytes, we must use AutoScale=1 to +; automatically scale the value into a more readable figure. +LeftMouseUpAction=!Execute ["#disk1#\"] +; Open #disk1# on click + +[meterBarDisk1] +Meter=BAR +MeterStyle=styleBar +MeasureName=measureUsedDisk1 +X=10 +Y=52 +W=190 +H=1 \ No newline at end of file diff --git a/Build/Skins/illustro/Disk/2 Disks.ini b/Build/Skins/illustro/Disk/2 Disks.ini new file mode 100644 index 00000000..6587327e --- /dev/null +++ b/Build/Skins/illustro/Disk/2 Disks.ini @@ -0,0 +1,210 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +; HOWTO: Adding more disks +; ---------------------------------- +; Adding more disks is a pretty straightforward process. Follow the following steps to turn +; this 2 disks skin into a 3 disks skin. You can then extend it even further as you wish. +; +; 1) Create a new variable called disk3=X: directly below disk2=D: in the [Variables] section +; 2) Create a copy of the [measureTotalDisk2] and [measureUsedDisk2] sections +; 3) Rename the copied sections to [measureTotalDisk3] and [measureUsedDisk3], respectively. +; Also change Drive=#disk2# to Drive=#disk3# +; 4) Create a copy of the [meterLabelDisk2], [meterValueDisk2], and [meterBarDisk2]. +; Rename all Disk2's in the copied sections to Disk3. +; 5) Now we need to change the Y= values to adjust height. Change Y= under [meterLabelDisk2] +; to Y=80 (calculated by adding 20 to the Y= value of previous meterLabel). +; Then change Y= under [meterBarDisk3] to Y=92 (calculated by adding 20 to the Y= value of previous meterBar). +; 6) Save the file as '3 Disks.ini'. Now right-click on the Rainmeter tray icon and select +; 'Refresh All'. Now go activate the '3 Disks.ini' skin and enjoy! :) + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 +Background=#ROOTCONFIGPATH#SHARED\Background.png +; #ROOTCONFIGPATH# is a global variable. In this case, the value of the variable +; is equal to DocumentsPath\Rainmeter\Skins\illustro\ +BackgroundMode=3 +BackgroundMargins=0,34,0,14 + +[Metadata] +; Contains basic information of the skin. +Description=Displays disk usage. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=8 +colorBar=235,170,0,255 +colorText=255,255,255,205 +disk1=C: +disk2=D: + +; ---------------------------------- +; MEASURES return some kind of value +; ---------------------------------- + +[measureTotalDisk1] +; This measure returns the total disk space +Measure=FreeDiskSpace +Drive=#disk1# +Total=1 +UpdateDivider=120 + +[measureUsedDisk1] +; Returns inverted value of free disk space (i.e. used disk space) +Measure=FreeDiskSpace +Drive=#disk1# +InvertMeasure=1 +UpdateDivider=120 + +[measureTotalDisk2] +Measure=FreeDiskSpace +Drive=#disk2# +Total=1 +UpdateDivider=120 + +[measureUsedDisk2] +Measure=FreeDiskSpace +Drive=#disk2# +InvertMeasure=1 +UpdateDivider=120 + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=CENTER +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleRightText] +StringAlign=RIGHT +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleBar] +BarColor=#colorBar# +BarOrientation=HORIZONTAL +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the +; contents of the [styleTitle] section here during runtime. +X=100 +Y=12 +W=190 +H=18 +Text="Disk" +; Even though the text is set to Disk, Rainmeter will display +; it as DISK, because styleTitle contains StringCase=UPPER. + +[meterLabelDisk1] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=40 +W=190 +H=14 +Text="#disk1#\" + +[meterValueDisk1] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureUsedDisk1 +MeasureName2=measureTotalDisk1 +X=200 +Y=0r +; r stands for relative. In this case, the Y postition of meterValueCPU is 0 pixels +; below the Y value of the previous meter (i.e it's the same as in meterLabelCPU). +W=190 +H=14 +Text="%1B/%2B used" +; %1 stands for the value of MeasureName (measureUsedDisk1 in this case). +; %2 stands for the value of MeasureName2. +NumOfDecimals=1 +AutoScale=1 +; Because disk measures return the free/used space in bytes, we must use AutoScale=1 to +; automatically scale the value into a more readable figure. +LeftMouseUpAction=!Execute ["#disk1#\"] +; Open #disk1# on click + +[meterBarDisk1] +Meter=BAR +MeterStyle=styleBar +MeasureName=measureUsedDisk1 +X=10 +Y=52 +W=190 +H=1 + +[meterLabelDisk2] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=60 +W=190 +H=14 +Text="#disk2#\" +LeftMouseUpAction=!Execute ["#disk2#\"] + +[meterValueDisk2] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureUsedDisk2 +MeasureName2=measureTotalDisk2 +X=200 +Y=0r +W=190 +H=14 +Text="%1B/%2B used" +NumOfDecimals=1 +AutoScale=1 + +[meterBarDisk2] +Meter=BAR +MeterStyle=styleBar +MeasureName=measureUsedDisk2 +X=10 +Y=72 +W=190 +H=1 \ No newline at end of file diff --git a/Build/Skins/illustro/Feeds/Feeds.ini b/Build/Skins/illustro/Feeds/Feeds.ini new file mode 100644 index 00000000..3a95e0e5 --- /dev/null +++ b/Build/Skins/illustro/Feeds/Feeds.ini @@ -0,0 +1,367 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 +Background=#ROOTCONFIGPATH#SHARED\Background.png +; #ROOTCONFIGPATH# is a global variable. In this case, the value of the variable +; is equal to DocumentsPath\Rainmeter\Skins\illustro\ +BackgroundMode=3 +BackgroundMargins=0,34,0,14 + +[Metadata] +; Contains basic information of the skin +Description=Displays the latest entries of a RSS or Atom feed. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=8 +colorBar=235,170,0,255 +colorText=255,255,255,205 +getItem=.*(?(?=.*
).*
.*(.*)) +feedURL=http://feeds.gawker.com/lifehacker/full +; edit feedURL to change displayed feed + +; ---------------------------------- +; MEASURES return some kind of value +; ---------------------------------- + +[measureFeed] +; WebParser measures are relatively complicated. If you're a beginner with +; Rainmeter, take a look at some of the other illustro skins before modifying this one. +Measure=Plugin +Plugin=WebParser.dll +Url=http://www.google.com/reader/view/feed/#feedURL#?n=8 +RegExp="(?siU)

(.*)

#getItem##getItem##getItem##getItem##getItem##getItem##getItem##getItem#" +UpdateRate=1500 +StringIndex=1 +Substitute="":"N/A" +; Substitute works as follows: "A":"B" where A is a string to substitute and B is a string +; to substitute with. In this case, it substutes "" (i.e. empty) to N/A + +; The WebParser plugin requires a unique measure for every string index it returns that needs to be read. +; The RegExp parameter only needs to be specified once per URL. +[measureLink1] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=2 + +[measureItem1] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=3 +DecodeCharacterReference=1 +; When is set to DecodeCharacterReference=1, WebParser automatically decodes numeric character references +; and character entity references. For example, " will automatically be decoded to " + +[measureLink2] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=4 + +[measureItem2] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=5 +DecodeCharacterReference=1 + +[measureLink3] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=6 + +[measureItem3] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=7 +DecodeCharacterReference=1 + +[measureLink4] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=8 + +[measureItem4] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=9 +DecodeCharacterReference=1 + +[measureLink5] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=10 + +[measureItem5] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=11 +DecodeCharacterReference=1 + +[measureLink6] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=12 + +[measureItem6] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=13 +DecodeCharacterReference=1 + +[measureLink7] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=14 + +[measureItem7] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=15 +DecodeCharacterReference=1 + +[measureLink8] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=16 + +[measureItem8] +Measure=Plugin +Plugin=WebParser.dll +Url=[measureFeed] +StringIndex=17 +DecodeCharacterReference=1 + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=CENTER +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleSeperator] +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the contents +; of the [styleTitle] section here during runtime. +MeasureName=measureFeed +X=100 +Y=12 +W=190 +H=18 +Text="%1" +; %1 stands for the value of MeasureName (measureFeed in this case). + +[meterItem1] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureItem1 +X=10 +Y=40 +W=190 +H=14 +Text="%1" +LeftMouseUpAction=!Execute ["[measureLink1]"] +; When the mouse is clicked and released on this meter, the value of +; measureLink1 (an address) will be opened in the default browser. +ToolTipText="%1" +; Hovering over this meter will display a tooltip with the text of %1 (i.e. the value of measureItem1). + +[meterSeperator1] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=52 +W=190 +H=1 + +[meterItem2] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureItem2 +X=10 +Y=60 +W=190 +H=14 +Text="%1" +LeftMouseUpAction=!Execute ["[measureLink2]"] +ToolTipText="%1" + +[meterSeperator2] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=72 +W=190 +H=1 + +[meterItem3] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureItem3 +X=10 +Y=80 +W=190 +H=14 +Text="%1" +LeftMouseUpAction=!Execute ["[measureLink3]"] +ToolTipText="%1" + +[meterSeperator3] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=92 +W=190 +H=1 + +[meterItem4] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureItem4 +X=10 +Y=100 +W=190 +H=14 +Text="%1" +LeftMouseUpAction=!Execute ["[measureLink4]"] +ToolTipText="%1" + +[meterSeperator4] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=112 +W=190 +H=1 + +[meterItem5] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureItem5 +X=10 +Y=120 +W=190 +H=14 +Text="%1" +LeftMouseUpAction=!Execute ["[measureLink5]"] +ToolTipText="%1" + +[meterSeperator5] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=132 +W=190 +H=1 + +[meterItem6] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureItem6 +X=10 +Y=140 +W=190 +H=14 +Text="%1" +LeftMouseUpAction=!Execute ["[measureLink6]"] +ToolTipText="%1" + +[meterSeperator6] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=152 +W=190 +H=1 + +[meterItem7] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureItem7 +X=10 +Y=160 +W=190 +H=14 +Text="%1" +LeftMouseUpAction=!Execute ["[measureLink7]"] +ToolTipText="%1" + +[meterSeperator7] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=172 +W=190 +H=1 + +[meterItem8] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureItem8 +X=10 +Y=180 +W=190 +H=14 +Text="%1" +LeftMouseUpAction=!Execute ["[measureLink8]"] +ToolTipText="%1" + +[meterSeperator8] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=192 +W=190 +H=1 \ No newline at end of file diff --git a/Build/Skins/illustro/Google/Google.ini b/Build/Skins/illustro/Google/Google.ini new file mode 100644 index 00000000..9c284b33 --- /dev/null +++ b/Build/Skins/illustro/Google/Google.ini @@ -0,0 +1,120 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 +Background=#ROOTCONFIGPATH#SHARED\Background.png +; #ROOTCONFIGPATH# is a global variable. In this case, the value of the variable +; is equal to DocumentsPath\Rainmeter\Skins\illustro\ +BackgroundMode=3 +BackgroundMargins=0,34,0,14 + +[Metadata] +; Contains basic information of the skin. +Description=Allows searching through Google. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=8 +colorBar=235,170,0,255 +colorText=255,255,255,205 + +; ---------------------------------- +; MEASURES return some kind of value +; ---------------------------------- + +[measureInput] +; The InputText.dll plugin has special powers: it allows user input. +; However, it's not the easiest way to start learning Rainmeter. Get a +; hold of the basics, and then check out the manual entry for InputText. +Measure=Plugin +Plugin=InputText.dll +SolidColor=20,20,20,255 +StringAlign=LEFT +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +X=10 +Y=38 +W=188 +H=17 +FocusDismiss=1 +DefaultValue="" +Command1=!Execute ["http://www.google.com/search?q=$UserInput$"] +UpdateDivider=86400 + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=CENTER +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleSeperator] +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the +; contents of the [styleTitle] section here during runtime. +X=100 +Y=12 +W=190 +H=18 +Text="Google" + +[meterSearch] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=40 +W=190 +H=14 +Text="Search..." +LeftMouseUpAction=!PluginBang "measureInput ExecuteBatch 1" + +[meterSeperator] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=52 +W=190 +H=1 \ No newline at end of file diff --git a/Build/Skins/illustro/Network/Network.ini b/Build/Skins/illustro/Network/Network.ini new file mode 100644 index 00000000..33873880 --- /dev/null +++ b/Build/Skins/illustro/Network/Network.ini @@ -0,0 +1,216 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 +Background=#ROOTCONFIGPATH#SHARED\Background.png +; #ROOTCONFIGPATH# is a global variable. In this case, the value of the variable +; is equal to DocumentsPath\Rainmeter\Skins\illustro\ +BackgroundMode=3 +BackgroundMargins=0,34,0,14 + +[Metadata] +; Contains basic information of the skin. +Description=Shows your IP address and network activity. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=8 +colorBar=235,170,0,255 +colorText=255,255,255,205 +maxDownload=10485760 +MaxUpload=10485760 +; Set maxDownload and maxUpload to your maximum download and upload speed in bits. +; To convert kilobits, megabits, kilobytes, and megabytes into bits, go to www.google.com +; and search for something like "10 megabytes in bits". + +; ---------------------------------- +; MEASURES return some kind of value +; ---------------------------------- + +[measureIP] +; This measure returns your IP. WebParser measures are relatively complicated. If you're a beginner with +; Rainmeter, take a look at some of the other illustro skins before modifying this one. +Measure=Plugin +Plugin=WebParser.dll +Url=http://checkip.dyndns.org +UpdateRate=14400 +RegExp="(?siU)Address: (.*)" +StringIndex=1 +Substitute="":"N/A" +; Substitute works as follows: "A":"B" where A is a string to substitute and B is a string +; to substitute with. In this case, it substutes "" (i.e. empty) to N/A + +[measureNetIn] +Measure=NetIn +NetInSpeed=#maxDownload# +; NetInSpeed must be set so your maximun download speed for the download bar to scale correctly + +[measureNetOut] +Measure=NetOut +NetOutSpeed=#maxUpload# + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=CENTER +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleRightText] +StringAlign=RIGHT +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleBar] +BarColor=#colorBar# +BarOrientation=HORIZONTAL +SolidColor=255,255,255,15 + +[styleSeperator] +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the +; contents of the [styleTitle] section here during runtime. +X=100 +Y=12 +W=190 +H=18 +Text="Network" +; Even though the text is set to Network, Rainmeter will display +; it as NETWORK, because styleTitle contains StringCase=UPPER. + +[meterIPLabel] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=40 +W=190 +H=14 +Text="IP Address" + +[meterIPValue] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureIP +X=200 +Y=0r +; r stands for relative. In this case, the Y postition of meterValueCPU is 0 pixels +; below the Y value of the previous meter (i.e it's the same as in meterLabelCPU). +W=190 +H=14 +Text="%1" +; %1 stands for the value of MeasureName (measureIP in this case). + +[meterSeperator] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=52 +W=190 +H=1 + +[meterUploadLabel] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=60 +W=190 +H=14 +Text="Upload" + +[meterUploadValue] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureNetOut +X=200 +Y=0r +W=190 +H=14 +Text="%1B/s" +NumOfDecimals=1 +AutoScale=1 +; Because measureIP returns the current upload speed in bytes, we must use AutoScale=1 to +; automatically scale the value into a more readable figure. + +[meterUploadBar] +Meter=BAR +MeterStyle=styleBar +MeasureName=measureNetOut +X=10 +Y=72 +W=190 +H=1 + +[meterDownloadLabel] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=80 +W=190 +H=14 +Text="Download" + +[meterDownloadValue] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureNetIn +X=200 +Y=0r +W=190 +H=14 +Text="%1B/s" +NumOfDecimals=1 +AutoScale=1 + +[meterDownloadBar] +Meter=BAR +MeterStyle=styleBar +MeasureName=measureNetIn +X=10 +Y=92 +W=190 +H=1 \ No newline at end of file diff --git a/Build/Skins/illustro/Recycle Bin/Recycle Bin.ini b/Build/Skins/illustro/Recycle Bin/Recycle Bin.ini new file mode 100644 index 00000000..f1ff0933 --- /dev/null +++ b/Build/Skins/illustro/Recycle Bin/Recycle Bin.ini @@ -0,0 +1,149 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 +Background=#ROOTCONFIGPATH#SHARED\Background.png +; #ROOTCONFIGPATH# is a global variable. In this case, the value of the variable +; is equal to DocumentsPath\Rainmeter\Skins\illustro\ +BackgroundMode=3 +BackgroundMargins=0,34,0,14 + +[Metadata] +; Contains basic information of the skin. +Description=Shows the state and size of your Recycle Bin. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=8 +colorBar=235,170,0,255 +colorText=255,255,255,205 + +; ---------------------------------- +; MEASURES return some kind of value +; ---------------------------------- + +[measureBinItems] +; This measure returns the amount of items in the Recycle Bin. +Measure=Plugin +Plugin=RecycleManager.dll +RecycleType=COUNT +Drives=D:|C: +UpdateDivider=3 +; UpdateDivider sets the rate at which the value of the measure is updated. It is +; calculated as follows: UpdateDivider x Update. In this case, Update is set to +; 1000 milliseconds (in the [Rainmeter] section). 1000 x 3 = 3000 ms or 3 seconds. + +[measureBinSize] +; Returns the total size of the Recycle Bin in bytes. +Measure=Plugin +Plugin=RecycleManager.dll +RecycleType=SIZE +UpdateDivider=3 + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=CENTER +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleRightText] +StringAlign=RIGHT +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleSeperator] +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the +; contents of the [styleTitle] section here during runtime. +X=100 +Y=12 +W=190 +H=18 +Text="Recycle Bin" +; Even though the text is set to Recycle Bin, Rainmeter will display +; it as RECYCLE BIN, because styleTitle contains StringCase=UPPER. +LeftMouseUpAction=!Execute [!PluginBang "measureBinItems OpenBin"] +RightMouseUpAction=!Execute [!PluginBang "measureBinItems EmptyBin"] +ToolTipText="Left-click to open Recycle Bin#CRLF#Right-click to empty" +; Hovering over this meter will display a tooltip with the text above. +; The #CRLF# variable creates a new line. + +[meterBinItems] +Meter=STRING +MeterStyle=styleLeftText +MeasureName=measureBinItems +X=10 +Y=40 +W=190 +H=14 +Text="%1 items" +; %1 stands for the value of MeasureName (measureBinItems in this case). + +[meterBinSize] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureBinSize +X=200 +Y=0r +; r stands for relative. In this case, the Y postition of meterValueCPU is 0 pixels +; below the Y value of the previous meter (i.e it's the same as in meterLabelCPU). +W=190 +H=14 +Text="%1B" +AutoScale=1 +; Because measureBinSize returns the size in bytes, we must use AutoScale=1 to +; automatically scale the value into a more readable figure. + +[meterSeperator] +Meter=IMAGE +MeterStyle=styleSeperator +X=10 +Y=52 +W=190 +H=1 \ No newline at end of file diff --git a/Build/Skins/illustro/SHARED/Background.png b/Build/Skins/illustro/SHARED/Background.png new file mode 100644 index 00000000..1aa0d7d0 Binary files /dev/null and b/Build/Skins/illustro/SHARED/Background.png differ diff --git a/Build/Skins/illustro/System/System.ini b/Build/Skins/illustro/System/System.ini new file mode 100644 index 00000000..cfcb3050 --- /dev/null +++ b/Build/Skins/illustro/System/System.ini @@ -0,0 +1,207 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 +Background=#ROOTCONFIGPATH#SHARED\Background.png +; #ROOTCONFIGPATH# is a global variable. In this case, the value of the variable +; is equal to DocumentsPath\Rainmeter\Skins\illustro\ +BackgroundMode=3 +BackgroundMargins=0,34,0,14 + +[Metadata] +; Contains basic information of the skin. +Description=Displays basic system stats. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=8 +colorBar=235,170,0,255 +colorText=255,255,255,205 + +; ---------------------------------- +; MEASURES return some kind of value +; ---------------------------------- + +[measureCPU] +; This measure returns the average CPU load between all cores. +Measure=CPU +Processor=0 + +[measureRAM] +; Returns the amount of RAM used in bytes. +Measure=PhysicalMemory +UpdateDivider=20 +; UpdateDivider sets the rate at which the value of the measure is updated. It is +; calculated as follows: UpdateDivider x Update. In this case, Update is set to +; 1000 milliseconds (in the [Rainmeter] section). 1000 x 20 = 20000 ms or 20 seconds. + +[measureSWAP] +; Returns the amount of SWAP (pagefile) used in bytes. +Measure=SWAPMemory +UpdateDivider=20 + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=CENTER +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleRightText] +StringAlign=RIGHT +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleBar] +BarColor=#colorBar# +BarOrientation=HORIZONTAL +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the +; contents of the [styleTitle] section here during runtime. +X=100 +Y=12 +W=190 +H=18 +Text="System" +; Even though the text is set to System, Rainmeter will display +; it as SYSTEM, because styleTitle contains StringCase=UPPER. +LeftMouseUpAction=!Execute ["taskmgr.exe"] +; Left-clicking this meter will launch taskmgr.exe (the Task Manager). +ToolTipText="Open Task Manager" +; Hovering over this meter will display a tooltip with the text above. + +[meterLabelCPU] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=40 +W=190 +H=14 +Text="CPU Usage" + +[meterValueCPU] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureCPU +X=200 +Y=0r +; r stands for relative. In this case, the Y postition of meterValueCPU is 0 pixels +; below the Y value of the previous meter (i.e it's the same as in meterLabelCPU). +W=190 +H=14 +Text="%1%" +; %1 stands for the value of MeasureName (measureCPU in this case). + +[meterBarCPU] +Meter=BAR +MeterStyle=styleBar +MeasureName=measureCPU +X=10 +Y=52 +W=190 +H=1 + +[meterLabelRAM] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=60 +W=190 +H=14 +Text="RAM Usage" + +[meterValueRAM] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureRAM +X=200 +Y=0r +W=190 +H=14 +Text="%1%" +Percentual=1 +; Percentual=1 needs to be added her because measureRAM returns the amount +; of RAM used in bytes. Using Percentual=1 will convert that into a percentual value. + +[meterBarRAM] +Meter=BAR +MeterStyle=styleBar +MeasureName=measureRAM +X=10 +Y=72 +W=190 +H=1 + +[meterLabelSWAP] +Meter=STRING +MeterStyle=styleLeftText +X=10 +Y=80 +W=190 +H=14 +Text="SWAP Usage" + +[meterValueSWAP] +Meter=STRING +MeterStyle=styleRightText +MeasureName=measureSWAP +X=200 +Y=0r +W=190 +H=14 +Text="%1%" +Percentual=1 + +[meterBarSWAP] +Meter=BAR +MeterStyle=styleBar +MeasureName=measureSWAP +X=10 +Y=92 +W=190 +H=1 \ No newline at end of file diff --git a/Build/Skins/illustro/Welcome/Background.png b/Build/Skins/illustro/Welcome/Background.png new file mode 100644 index 00000000..5cf11194 Binary files /dev/null and b/Build/Skins/illustro/Welcome/Background.png differ diff --git a/Build/Skins/illustro/Welcome/Welcome.ini b/Build/Skins/illustro/Welcome/Welcome.ini new file mode 100644 index 00000000..730e7a83 --- /dev/null +++ b/Build/Skins/illustro/Welcome/Welcome.ini @@ -0,0 +1,173 @@ +; Lines starting ; (semicolons) are commented out. +; That is, they do not affect the code and are here for demonstration purposes only. +; ---------------------------------- + +[Rainmeter] +; This section contains general settings that can be used to change how Rainmeter behaves. +Author=poiru +AppVersion=2000000 +Update=1000 + +[Metadata] +; Contains basic information of the skin. +Description=The welcome skin for illustro. +License=Creative Commons BY-NC-SA 3.0 +Version=1.0.0 + +[Variables] +; Variables declared here can be used later on between two # characters (e.g. #MyVariable#). +fontName=Trebuchet MS +textSize=9 +colorBar=235,170,0,255 +colorText=255,255,255,205 + +; ---------------------------------- +; STYLES are used to "centralize" options +; ---------------------------------- + +[styleTitle] +StringAlign=LEFT +StringCase=UPPER +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,50 +FontColor=#colorText# +FontFace=#fontName# +FontSize=10 +AntiAlias=1 +ClipString=1 + +[styleLeftText] +StringAlign=LEFT +; Meters using styleLeftText will be left-aligned. +StringCase=NONE +StringStyle=BOLD +StringEffect=SHADOW +FontEffectColor=0,0,0,20 +FontColor=#colorText# +FontFace=#fontName# +FontSize=#textSize# +AntiAlias=1 +ClipString=1 + +[styleSeperator] +SolidColor=255,255,255,15 + +; ---------------------------------- +; METERS display images, text, bars, etc. +; ---------------------------------- + +[meterBackground] +Meter=IMAGE +ImageName=Background.png +X=0 +Y=0 + +[meterMidLine] +Meter=IMAGE +SolidColor=255,255,255,80 +W=1 +H=200 +X=245 +Y=60 + +[meterTitle] +Meter=STRING +MeterStyle=styleTitle +; Using MeterStyle=styleTitle will basically "copy" the +; contents of the [styleTitle] section here during runtime. +X=20 +Y=18 +W=400 +H=18 +FontSize=11 +Text="Welcome to Rainmeter!" + +[meterIllustroTitle] +Meter=STRING +MeterStyle=styleLeftText +X=20 +Y=55 +W=240 +H=30 +FontColor=255,217,120,255 +FontSize=10 +Text="illustro: Getting started with Rainmeter skinning" + +[meterIllustroLine] +Meter=STRING +MeterStyle=styleLeftText +X=20 +Y=95 +W=225 +H=175 +FontColor=#colorText# +FontSize=9 +Text="illustro is a simple set of skins designed to show some of the capabilities of Rainmeter. It offers a good place to start learning how to edit Rainmeter to make it your own. Use the "Rainmeter 101" link on the right to learn the basics.#CRLF##CRLF#To explore installed skins and change Rainmeter settings, simply click on the Rainmeter tray icon." +; #CRLF# is a pre-defined varaible for newline. + +[meterLinksTitle] +Meter=STRING +MeterStyle=styleLeftText +X=260 +Y=55 +W=235 +H=30 +FontColor=255,217,120,255 +FontSize=10 +Text=Recommended skin suites: Start using Rainmeter now! + +[meterLinksLine] +Meter=STRING +MeterStyle=styleLeftText +X=260 +Y=95 +W=225 +H=80 +FontColor=#colorText# +FontSize=9 +Text=There are literally thousands of skins available for Rainmeter. We have a few popular ones we recommend, which you can install with just a few clicks. + +[meterLink1] +Meter=STRING +MeterStyle=styleLeftText +X=260 +Y=175 +W=225 +H=14 +FontColor=255,217,120,255 +Text=" Recommended Skin Suites" +LeftMouseUpAction=!Execute ["http://rainmeter.net/cms/Discover"] + +[meterLink2] +Meter=STRING +MeterStyle=styleLeftText +X=260 +Y=195 +W=225 +H=14 +FontColor=255,174,69,255 +Text=" Rainmeter 101" +LeftMouseUpAction=!Execute ["http://rainmeter.net/cms/Rainmeter101"] + +[meterLink3] +Meter=STRING +MeterStyle=styleLeftText +X=260 +Y=215 +W=225 +H=14 +FontColor=255,174,69,255 +Text=" Rainmeter Manual" +LeftMouseUpAction=!Execute ["http://rainmeter.net/cms/Support"] + +[meterLink4] +Meter=STRING +MeterStyle=styleLeftText +X=260 +Y=235 +W=225 +H=14 +FontColor=255,174,69,255 +Text=" Rainmeter Forums" +LeftMouseUpAction=!Execute ["http://rainmeter.net/forums"] \ No newline at end of file diff --git a/Build/Themes/illustro default/Rainmeter.thm b/Build/Themes/illustro default/Rainmeter.thm new file mode 100644 index 00000000..f9a3b953 --- /dev/null +++ b/Build/Themes/illustro default/Rainmeter.thm @@ -0,0 +1,28 @@ +[Rainmeter] + +[illustro\Clock] +Active=1 +WindowX=(#SCREENAREAWIDTH#-200) +WindowY=0 + +[illustro\Disk] +Active=2 +WindowX=(#SCREENAREAWIDTH#-200) +WindowY=176 + +[illustro\Feeds] +Active=1 +WindowX=(#SCREENAREAWIDTH#-200) +WindowY=264 + +[illustro\System] +Active=1 +WindowX=(#SCREENAREAWIDTH#-200) +WindowY=68 + +[illustro\Welcome] +Active=1 +WindowX=50.000000% +WindowY=50.000000% +AnchorX=50.000000% +AnchorY=50.000000% \ No newline at end of file diff --git a/Language/Arabic.h b/Language/Arabic.h new file mode 100644 index 00000000..e2ec67cf Binary files /dev/null and b/Language/Arabic.h differ diff --git a/Language/Arabic.nsh b/Language/Arabic.nsh new file mode 100644 index 00000000..6584bda2 --- /dev/null +++ b/Language/Arabic.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "هذه النسخة ${VER} لا تدعم ويندوز 2000 لتشغيل البرنامج على ويندوز 2000 قم بتنزيل الإصدار رقم 2.0 من البرنامج." +${LangFileString} WINXPS2ERROR "هذه النسخة ${VER} تتطلب الحزمة الخدمية الثانية لويندوز إكس بي أو أعلى. الرجاء تحديثها." +${LangFileString} WIN2003SP1ERROR "هذه النسخة ${VER} تتطلب الحزمة الخدمية الثانية لويندوز 2003 أو أعلى. الرجاء تحديثها." +${LangFileString} ADMINERROR "صلاحيات إدارية مطلوبة." +${LangFileString} LOGONERROR "خدمة تسجيل الدخول لا تعمل." +${LangFileString} UACERROR "غير قادر على التنشيط." +${LangFileString} WRITEERROR "يجب تثبيت النسخة المحمولة في مكان ذو وصول كامل للقراءة و الكتابة .$\nإذا أرت تثبيت البرنامج في '$INSTDIR', ارجع و اختر تثبيت قياسي.$\n$\nأو اختر مكان آخر ذو وصول كامل للقراءة و الكتابة." +${LangFileString} VCINSTERROR "Visual C++ $instArc فشل التثبيت مع رمز الخطأ $0.$\n$\nقد تحتاج تنزيل حزمة فيجوال سي بلس بلس $instArc يدوياً من http://rainmeter.net/redist$\n$\nاضغط موافق للخروج." +${LangFileString} DOTNETINSTERROR ".NET $instArc فشل التثبيت مع رمز الخطأ $0.$\n$\nقد تحتاج تنزيل حزمة the .NET $instArc يدوياً من http://rainmeter.net/redist$\n$\nاضغط موافق للخروج." +${LangFileString} RAINMETERCLOSEERROR "فشل إغلاق البرنامج.$\n$\nالرجاء إغلاق البرنامج يدوياً و المحاولة مرة أخرى." +${LangFileString} SETTINGSFILEERROR "ملف الإعدادات موجود في مجلد التثبيت. الإبقاء عليه هناك قد يسبب مشاكل عند استخدام البرنامج من أكثر من مستخدم أو مستخدم ذو صلاحيات محدودة .$\n$\nهل تريد نقل الملف إلى مجلد بيانات البرنامج؟" +${LangFileString} SETTINGSMOVEERROR "لا يمكن نقل الملف '$INSTDIR\Rainmeter.ini' إلى '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "اختر لغة المثبت." +${LangFileString} INSTALLOPTIONS "خيارات التثبيت" +${LangFileString} INSTALLOPTIONSDESC "اختيار خيارات التثبيت الإضافية" +${LangFileString} STANDARDINST "تثبيت قياسي (مستحسن)" +${LangFileString} STANDARDINSTDESC "تثبيت البرنامج و تنزيل المكتبات المطلوبة." +${LangFileString} PORTABLEINST "تثبيت محمول" +${LangFileString} PORTABLEINSTDESC "لا تختر هذا إلا إذا كنت تعرف ماذا تفعل. لن يتم عمل اختصارات .rmskin و لن يتم تسجيل امتداد الأنماط. و قد تحتاج إلى تنزيل المكتبات التالية تلقائياً Visual C++ 2010 و .NET 2.0." +${LangFileString} DESKTOPSHORTCUT "عمل اختصار على سطح المكتب" +${LangFileString} ALLUSERSSHORTCUT "عمل اختصار لكل المستخدمين" +${LangFileString} AUTOSTARTUP "تشغيل البرنامج عند بدء التشغيل" +${LangFileString} INSTALLDOTNET "مستحسن .NET 2.0 framework تثبيت" +${LangFileString} ADDITIONALOPTIONS "خيارات إضافية" +${LangFileString} RAINMETERVERSION "Rainmeter إصدار" +${LangFileString} 32BIT "32-بت" +${LangFileString} 64BIT "64-بت" +${LangFileString} UNSTALLOPTIONS "خيارات إلغاء التثبيت" +${LangFileString} UNSTALLOPTIONSDESC "تحديد أي خيارات إضافية" +${LangFileString} UNSTALLRAINMETER "إزالة Rainmeter" +${LangFileString} UNSTALLSETTINGS "إزالة كل الإعدادات و الملفات الشخصية بشكل كامل" +${LangFileString} UNSTALLSETTINGSDESC "(تضمين الأنماط ، السمات ، الإضافات ، إعدادات التسجيل و عناصر قائمة ابدأ)" \ No newline at end of file diff --git a/Language/Bulgarian.h b/Language/Bulgarian.h new file mode 100644 index 00000000..4c1a0b0b Binary files /dev/null and b/Language/Bulgarian.h differ diff --git a/Language/Bulgarian.nsh b/Language/Bulgarian.nsh new file mode 100644 index 00000000..d3c618c4 --- /dev/null +++ b/Language/Bulgarian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} не поддържа Windows 2000. За да използвате Rainmeter под Windows 2000, свалете по-старата Rainmeter 2.0 версия." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} изисква Windows XP SP2 или по-висока версия. Моля, обновете до най-новия сервизен пакет и опитайте отново." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} изисква Windows 2003 SP1 или по-висока версия. Моля, обновете до най-новия сервизен пакет и опитайте отново." +${LangFileString} ADMINERROR "Нужни са административни права." +${LangFileString} LOGONERROR "Услугата Logon service не е стартирана." +${LangFileString} UACERROR "Unable to elevate." +${LangFileString} WRITEERROR "Портативната инсталация на Rainmeter може да се осъществи само в папка с пълни права за четене и писане (като нормален потребител).$\nАко искате да инсталирате Rainmeter в '$INSTDIR', се върнете обратно и изберете 'Стандартна инсталация'.$\n$\nВ противен случай посочете папка с пълен достъп (писане/четене)." +${LangFileString} VCINSTERROR "Visual C++ $instArc инсталацията е неуспешна с код за грешка $0.$\n$\nПрепоръчваме ви да свалите ръчно Visual C++ 2010 SP1 $instArc пакета от http://rainmeter.net/redist$\n$\nНатиснете OK за да излезете." +${LangFileString} DOTNETINSTERROR ".NET $instArc инсталацията е неуспешна с код за грешка $0.$\n$\nПрепоръчваме ви да свалите ръчно .NET $instArc пакета от http://rainmeter.net/redist$\n$\nНатиснете OK за да излезете." +${LangFileString} RAINMETERCLOSEERROR "Rainmeter не може да бъде затворен.$\n$\nМоля, затворете Rainmeter ръчно и опитайте отново." +${LangFileString} SETTINGSFILEERROR "Файла с опциите (Rainmeter.ini) се намира в инсталационната папка. Възможно е да възникнат проблеми при използване на програмата от повече от един потребител или от някого с ограничени права.$\n$\nИскате ли да преместите файла в потребителската папка за данни?" +${LangFileString} SETTINGSMOVEERROR "Файла '$INSTDIR\Rainmeter.ini' не може да бъде преместен в '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Посочете език на инсталатора." +${LangFileString} INSTALLOPTIONS "Опции за инсталацията" +${LangFileString} INSTALLOPTIONSDESC "Посочете опции за инсталацията" +${LangFileString} STANDARDINST "Стандартна инсталация (препоръчително)" +${LangFileString} STANDARDINSTDESC "Инсталирай Rainmeter и свали нужните библиотеки." +${LangFileString} PORTABLEINST "Портативна инсталация" +${LangFileString} PORTABLEINSTDESC "Не използвайте тази опция ако не знаете какво означава. Няма да бъдат създадени връзки в Старт менюто, нито асоциации за .rmskin разширенията. Възможно е библиотеките на Visual C++ 2010 и .NET 2.0 да трябва да се инсталират ръчно." +${LangFileString} DESKTOPSHORTCUT "Добави връзка на работния плот" +${LangFileString} ALLUSERSSHORTCUT "Добави връзки за всички потребители" +${LangFileString} AUTOSTARTUP "Стартирай Rainmeter с Windows" +${LangFileString} INSTALLDOTNET "Инсталирай .NET 2.0 framework (препоръчително)" +${LangFileString} ADDITIONALOPTIONS "Допълнителни опции" +${LangFileString} RAINMETERVERSION "Rainmeter версия" +${LangFileString} 32BIT "32-битова" +${LangFileString} 64BIT "64-битова" +${LangFileString} UNSTALLOPTIONS "Опции за деинсталация" +${LangFileString} UNSTALLOPTIONSDESC "Посочете допълнителни опции" +${LangFileString} UNSTALLRAINMETER "Деинсталирай Rainmeter" +${LangFileString} UNSTALLSETTINGS "Премахни всички персонални настройки и файлове" +${LangFileString} UNSTALLSETTINGSDESC "(включително кофи, теми, добавки, опции в регистрите и връзки в Старт менюто)" \ No newline at end of file diff --git a/Language/ChineseSimplified.h b/Language/ChineseSimplified.h new file mode 100644 index 00000000..d6bafa6a Binary files /dev/null and b/Language/ChineseSimplified.h differ diff --git a/Language/ChineseSimplified.nsh b/Language/ChineseSimplified.nsh new file mode 100644 index 00000000..b3c7eea0 --- /dev/null +++ b/Language/ChineseSimplified.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} 不支持Windows 2000。 如果要在Windows 2000上运行Rainmeter,请下载Rainmeter 2.0或更早版本。" +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} 支持Windows XP SP2或更高版本。 请升级到最新的服务包,然后再试一次。" +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} 支持Windows 2003 SP1或更高版本。 请升级到最新的服务包,然后再试一次。" +${LangFileString} ADMINERROR "需要管理员权限。" +${LangFileString} LOGONERROR "Logon 服务未运行。" +${LangFileString} UACERROR "无法创建。" +${LangFileString} WRITEERROR "便携式Rainmeter必须安装在一个普通用户具有完全读写权限的位置。$\n如果你要将Rainmeter安装在'$INSTDIR', 请返回并选择'标准安装'.$\n$\n 否则,请选择一个普通用户具有完全读写权限的位置。" +${LangFileString} VCINSTERROR "Visual C++ $instArc 安装失败 错误代码 $0。$\n$\n 你可能需要手动从http://rainmeter.net/redist下载Visual C++ 2010 SP1 $instArc 组件安装包 $\n$\n点击确认退出。" +${LangFileString} DOTNETINSTERROR ".NET $instArc 安装失败 错误代码 $0。$\n$\n 你可能需要手动从http://rainmeter.net/redist下载.NET $instArc 组件安装包 $\n$\n点击确认退出。" +${LangFileString} RAINMETERCLOSEERROR "无法关闭Rainmeter.$\n$\n请手动关闭Rainmeter后再试。" +${LangFileString} SETTINGSFILEERROR "配置文件(Rainmeter.ini)位于安装文件夹内. 如果该文件被多个用户在共同使用,将它移动到此处可能会导致错误.$\n$\n你确定要将该文件移动到application data文件夹吗?" +${LangFileString} SETTINGSMOVEERROR "无法将文件'$INSTDIR\Rainmeter.ini' 移动到 '$APPDATA\Rainmeter\Rainmeter.ini'。" +${LangFileString} SELECTLANGUAGE "请选择安装语言。" +${LangFileString} INSTALLOPTIONS "安装选项" +${LangFileString} INSTALLOPTIONSDESC "选择其它安装选项" +${LangFileString} STANDARDINST "标准安装(推荐)" +${LangFileString} STANDARDINSTDESC "安装Rainmeter并下载所需的运行库。" +${LangFileString} PORTABLEINST "便携式安装" +${LangFileString} PORTABLEINSTDESC "如果你不了解该项,请不要选择。便携式安装不会创建快捷方式、也不会与rmskin文件关联。您可能还需要手动下载安装Visual C++ 2010和.NET 2.0运行库。" +${LangFileString} DESKTOPSHORTCUT "创建桌面快捷方式" +${LangFileString} ALLUSERSSHORTCUT "为所有用户创建快捷方式" +${LangFileString} AUTOSTARTUP "开机运行Rainmeter" +${LangFileString} INSTALLDOTNET "安装.NET 2.0 framework (推荐)" +${LangFileString} ADDITIONALOPTIONS "附加选项" +${LangFileString} RAINMETERVERSION "选择Rainmeter版本" +${LangFileString} 32BIT "32位" +${LangFileString} 64BIT "64位" +${LangFileString} UNSTALLOPTIONS "卸载选项" +${LangFileString} UNSTALLOPTIONSDESC "选择所有附加项" +${LangFileString} UNSTALLRAINMETER "卸载 Rainmeter" +${LangFileString} UNSTALLSETTINGS "完全移除所有个人设置和文件" +${LangFileString} UNSTALLSETTINGSDESC "(包括皮肤,主题,插件,注册表设置以及开始菜单项)" \ No newline at end of file diff --git a/Language/ChineseTraditional.h b/Language/ChineseTraditional.h new file mode 100644 index 00000000..2dd515b4 Binary files /dev/null and b/Language/ChineseTraditional.h differ diff --git a/Language/ChineseTraditional.nsh b/Language/ChineseTraditional.nsh new file mode 100644 index 00000000..39ed5921 --- /dev/null +++ b/Language/ChineseTraditional.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} 不支援 Windows 2000。如果要在 Windows 2000 上執行 Rainmeter,請下載 Rainmeter 2.0 或更早版本。" +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} 需要 Windows XP SP2 或更高版本。請升級到最新的 Service Pack,然後再試一次。" +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} 需要 Windows 2003 SP1 或更高版本。請升級到最新的 Service Pack,然後再試一次。" +${LangFileString} ADMINERROR "需要管理員權限。" +${LangFileString} LOGONERROR "Logon 服務未執行。" +${LangFileString} UACERROR "無法建立。" +${LangFileString} WRITEERROR "便攜式 Rainmeter 必須安裝在一個普通使用者具有完全存取權限的位置。$\n如果你要將 Rainmeter 安裝在'$INSTDIR', 請返回並選擇'標準安裝'。$\n$\n 否則,請選擇一個普通使用者具有完全存取權限的位置。" +${LangFileString} VCINSTERROR "Visual C++ $instArc 安裝失敗 錯誤代碼 $0。$\n$\n 你可能需要手動從 http://rainmeter.net/redist 下載 Visual C++ 2010 SP1 $instArc 組件庫 $\n$\n點擊確認離開。" +${LangFileString} DOTNETINSTERROR ".NET $instArc 安裝失敗 錯誤代碼 $0。$\n$\n 你可能需要手動從 http://rainmeter.net/redist 下載 .NET $instArc 組件庫 $\n$\n點擊確認離開。" +${LangFileString} RAINMETERCLOSEERROR "無法關閉 Rainmeter。$\n$\n請手動關閉Rainmeter後再試。" +${LangFileString} SETTINGSFILEERROR "設定檔案(Rainmeter.ini)位於安裝資料夾內。如果該檔案被多個使用者共同使用,將它移動到此處可能會導致錯誤。$\n$\n你確定要將該檔案移動到 application data 資料夾嗎?" +${LangFileString} SETTINGSMOVEERROR "無法將檔案'$INSTDIR\Rainmeter.ini' 移動到 '$APPDATA\Rainmeter\Rainmeter.ini'。" +${LangFileString} SELECTLANGUAGE "請選擇安裝語言。" +${LangFileString} INSTALLOPTIONS "安裝選項" +${LangFileString} INSTALLOPTIONSDESC "選擇其它安裝選項" +${LangFileString} STANDARDINST "標準安裝(建議)" +${LangFileString} STANDARDINSTDESC "安裝 Rainmeter 並下載所需的組件庫。" +${LangFileString} PORTABLEINST "便攜式安裝" +${LangFileString} PORTABLEINSTDESC "如果你不了解該選項,請不要選擇。便攜式安裝不會建立快捷方式、也不會與 rmskin 檔案關聯。你可能還需要手動下載安裝 Visual C++ 2010 和 .NET 2.0 組件庫。" +${LangFileString} DESKTOPSHORTCUT "建立桌面快捷方式" +${LangFileString} ALLUSERSSHORTCUT "為所有使用者建立快捷方式" +${LangFileString} AUTOSTARTUP "開機時執行 Rainmeter" +${LangFileString} INSTALLDOTNET "安裝 .NET 2.0 framework (建議)" +${LangFileString} ADDITIONALOPTIONS "附加選項" +${LangFileString} RAINMETERVERSION "選擇 Rainmeter 版本" +${LangFileString} 32BIT "32位元" +${LangFileString} 64BIT "64位元" +${LangFileString} UNSTALLOPTIONS "移除選項" +${LangFileString} UNSTALLOPTIONSDESC "選擇所有附加選項" +${LangFileString} UNSTALLRAINMETER "移除 Rainmeter" +${LangFileString} UNSTALLSETTINGS "完全移除所有個人設定和檔案" +${LangFileString} UNSTALLSETTINGSDESC "(包括面板,主題,插件,登錄值設定以及開始選單項目)" \ No newline at end of file diff --git a/Language/Croatian.h b/Language/Croatian.h new file mode 100644 index 00000000..d50a0660 Binary files /dev/null and b/Language/Croatian.h differ diff --git a/Language/Croatian.nsh b/Language/Croatian.nsh new file mode 100644 index 00000000..e7a38f77 --- /dev/null +++ b/Language/Croatian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} ne podržava Windowse 2000. Za korištenje Rainmetera na Windowsima 2000, skinite stariju verziju, Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} zahtjeva Windowse XP SP2 ili više. Molimo vas nadogradite na najnoviji service pack i pokušajte ponovo." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} zahtjeva Windows 2003 SP1 ili više. Molimo vas nadogradite na najnoviji service pack i pokušajte ponovo." +${LangFileString} ADMINERROR "Potrebne su adminstrativne ovlasti." +${LangFileString} LOGONERROR "Logon servis nije pokrenut." +${LangFileString} UACERROR "Nije moguće uzdići prava." +${LangFileString} WRITEERROR "Prijenosni Rainmeter mora biti instaliran u lokaciju s punim pravima čitanja i pisanja (kao običan korisnik).$\nUkoliko želite instalirati Rainmeter u '$INSTDIR', vratite se i izaberite 'Standardna instalacija'.$\n$\nInače, nađite drugu lokaciju s punim pravima čitanja i pisanja." +${LangFileString} VCINSTERROR "Visual C++ $instArc instalacija nije uspjela s kodom greške $0.$\n$\nPokušajte ručno skinuti Visual C++ 2010 SP1 $instArc redistributable package sa http://rainmeter.net/redist$\n$\nKliknite OK za izlaz." +${LangFileString} DOTNETINSTERROR ".NET $instArc instalacija nije uspjela s kodom greške $0.$\n$\nPokušajte skinuti .NET $instArc redistributable package ručno sa http://rainmeter.net/redist$\n$\nPritisnite OK za izlaz." +${LangFileString} RAINMETERCLOSEERROR "Gašenje Rainmetera nije uspjelo.$\n$\nMolimo vas ručno ugasite Rainmeter i pokušajte ponovo." +${LangFileString} SETTINGSFILEERROR "Datoteka s postavkama (Rainmeter.ini) nalazi se u instalacijskom direktoriju. Ukoliko ju ostavite tamo, može prouzročiti probleme ako aplikaciju koristi više korisnika ili bilo tko sa ograničenim pravima pristupa.$\n$\nŽelite li premjestiti datoteku u podatkovni direktorij aplikacije?" +${LangFileString} SETTINGSMOVEERROR "Nije moguće premjestiti '$INSTDIR\Rainmeter.ini' u '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Molimo vas izaberite jezik instalacijske procedure." +${LangFileString} INSTALLOPTIONS "Instalacijske opcije" +${LangFileString} INSTALLOPTIONSDESC "Izaberite dodatne instalacijske opcije" +${LangFileString} STANDARDINST "Standardna instalacija (preporučeno)" +${LangFileString} STANDARDINSTDESC "Instalira Rainmeter i skida potrebne biblioteke." +${LangFileString} PORTABLEINST "Prijenosna instalacija" +${LangFileString} PORTABLEINSTDESC "Nemojte izabrati ovu opciju osim ako točno znate što radite. Prečice neće biti kreirane i .rmskin ekstenzija neće biti registrirana. Možda će biti potrebno ručno instalirati Visual C++ 2010 i .NET 2.0 biblioteke." +${LangFileString} DESKTOPSHORTCUT "Dodaj prečicu na radnu povrsinu" +${LangFileString} ALLUSERSSHORTCUT "Dodaj prečice za sve korisnike" +${LangFileString} AUTOSTARTUP "Pokreni Rainmeter na pokretanje računala" +${LangFileString} INSTALLDOTNET "Instaliraj .NET 2.0 framework (preporučeno)" +${LangFileString} ADDITIONALOPTIONS "Dodatne opcije" +${LangFileString} RAINMETERVERSION "Rainmeter Verzija" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Deinstalacijske mogućnosti" +${LangFileString} UNSTALLOPTIONSDESC "Izaberite dodatne mogućnosti" +${LangFileString} UNSTALLRAINMETER "Deinstaliraj Rainmeter" +${LangFileString} UNSTALLSETTINGS "U potpunosti izbriši sve osobne postavke i datoteke." +${LangFileString} UNSTALLSETTINGSDESC "(uključujući skinove, teme, dodatke, registry postavke i stavke u start meniju.)" diff --git a/Language/Czech.h b/Language/Czech.h new file mode 100644 index 00000000..81e0194a Binary files /dev/null and b/Language/Czech.h differ diff --git a/Language/Czech.nsh b/Language/Czech.nsh new file mode 100644 index 00000000..700ab9fc --- /dev/null +++ b/Language/Czech.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} nepodporuje Windows 2000. Pro použití Rainmeteru ve Windows 2000 stáhněte starší verzi Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} vyžaduje Windows XP SP2 nebo vyšší. Prosím upgradujte na nejnovější verzi service packu a zkuste to znovu." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} vyžaduje Windows 2003 SP1 nebo vyšší. Prosím upgradujte na nejnovější verzi service packu a zkuste to znovu." +${LangFileString} ADMINERROR "Požadováno administrátorské oprávnění." +${LangFileString} LOGONERROR "Služba přihlášení není spuštěna." +${LangFileString} UACERROR "Nelze povýšit." +${LangFileString} WRITEERROR "Přenosný Rainmeter musí být instalován do umístění s plným oprávněním čtení i zápisu (jako běžný uživatel).$\nPokud chcete instalovat Rainmeter do '$INSTDIR', jděte zpět a vyberte 'Standardní instalace'.$\n$\nPřípadně vyberte jiné umístění s plným oprávněním čtení i zápisu." +${LangFileString} VCINSTERROR "Instalace Visual C++ $instArc selhala s chybovým kódem $0.$\n$\nMůžete zkusit stáhnout Visual C++ 2010 SP1 $instArc redistributable package ručně z http://rainmeter.net/redist$\n$\nStiskněte OK pro konec." +${LangFileString} DOTNETINSTERROR "Instalace .NET $instArc selhala s chybovým kódem $0.$\n$\nMůžete zkusit stáhnout .NET $instArc redistributable package ručně z http://rainmeter.net/redist$\n$\nStiskněte OK pro konec." +${LangFileString} RAINMETERCLOSEERROR "Ukončení Rainmeteru selhalo.$\n$\nProsím ukončete Rainmeter ručně a zkuste to znovu." +${LangFileString} SETTINGSFILEERROR "Soubor nastavení (Rainmeter.ini) je umístěn v instalační složce. Může to způsobit problémy, bude-li aplikace používána více uživateli nebo uživateli s omezeným oprávněním.$\n$\nChcete přesunout soubor do složky data aplikací?" +${LangFileString} SETTINGSMOVEERROR "Nelze přesunout soubor '$INSTDIR\Rainmeter.ini' do '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE " " +${LangFileString} INSTALLOPTIONS "Možnosti instalace" +${LangFileString} INSTALLOPTIONSDESC "Vyberte další možnosti instalace" +${LangFileString} STANDARDINST "Standardní instalace (doporučeno)" +${LangFileString} STANDARDINSTDESC "Instalace Rainmeteru a stažení požadovaných knihoven." +${LangFileString} PORTABLEINST "Přenosná instalace" +${LangFileString} PORTABLEINSTDESC "Nevybírejte tuto možnost, pokud nevíte, co děláte. Zástupci nebudou vytvořeny a přípona .rmskin nebude registrována. VC++ 2010 a .NET 2.0 bude možná potřeba nainstalovat ručně." +${LangFileString} DESKTOPSHORTCUT "Přidat zástupce na plochu" +${LangFileString} ALLUSERSSHORTCUT "Přidat zástupce pro všechny uživatele" +${LangFileString} AUTOSTARTUP "Spustit Rainmeter po startu" +${LangFileString} INSTALLDOTNET "Instalovat .NET 2.0 framework (doporučeno)" +${LangFileString} ADDITIONALOPTIONS "Další možnosti" +${LangFileString} RAINMETERVERSION "Verze Rainmeteru" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Možnosti odinstalace" +${LangFileString} UNSTALLOPTIONSDESC "Vyberte další možnosti" +${LangFileString} UNSTALLRAINMETER "Odinstalovat Rainmeter" +${LangFileString} UNSTALLSETTINGS "Úplně odebrat všechny soubory a osobní nastavení" +${LangFileString} UNSTALLSETTINGSDESC "(včetně skinů, témat, doplňků, nastavení registrů a položek nabídky Start)" \ No newline at end of file diff --git a/Language/Danish.h b/Language/Danish.h new file mode 100644 index 00000000..5dcc39f4 Binary files /dev/null and b/Language/Danish.h differ diff --git a/Language/Danish.nsh b/Language/Danish.nsh new file mode 100644 index 00000000..a6d9a4d4 --- /dev/null +++ b/Language/Danish.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} understøtter ikke Windows 2000. For at bruge Rainmeter på Windows 2000 skal du hente den ældre Rainmeter 2.0 version." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} kræver Windows XP SP2 eller nyere. Opdater venligst til den seneste service pack og prøv igen." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} kræver Windows 2003 SP1 eller senere. Opdater venligst til den seneste service pack og prøv igen." +${LangFileString} ADMINERROR "Adminstrative rettigheder påkrævet." +${LangFileString} LOGONERROR "Logon service kører ikke." +${LangFileString} UACERROR "Kunne ikke elevere rettigheder." +${LangFileString} WRITEERROR "Portabel Rainmeter skal installeres til en placering med fulde læse/skriverettigheder (som normal bruger).$\nHvis du ønsker at installere Rainmeter i '$INSTDIR', gå tilbage og vælg 'Standard installation'.$\n$\nEller gå til en anden placering med fulde læse/skriverettigheder." +${LangFileString} VCINSTERROR "Visual C++ $instArc installation slog fejl med fejlkode $0.$\n$\nDu kan prøve at hente og installere Visual C++ 2010 SP1 $instArc redistributable pakken manuelt fra http://rainmeter.net/redist$\n$\nTryk OK for at afslutte." +${LangFileString} DOTNETINSTERROR ".NET $instArc installation slog fejl med fejlkode $0.$\n$\nDu kan prøve at hente og installere .NET $instArc redistributable pakken manuelt fra http://rainmeter.net/redist$\n$\nTryk OK for at afslutte." +${LangFileString} RAINMETERCLOSEERROR "Kunne ikke lukke Rainmeter.$\n$\nLuk venligst Rainmeter manuelt og prøv igen." +${LangFileString} SETTINGSFILEERROR "Indstillings-filen (Rainmeter.ini) ligger i installationsmappen. At have den der kan give problemer hvis programmet bruges af flere brugere eller af brugere med begrænsede brugerrettigheder.$\n$\nØnsker du at flytte filen til applikationsdatamappen?" +${LangFileString} SETTINGSMOVEERROR "Kunne ikke flytte filen '$INSTDIR\Rainmeter.ini' til '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Vælg installationssprog." +${LangFileString} INSTALLOPTIONS "Installationsindstillinger" +${LangFileString} INSTALLOPTIONSDESC "Vælg yderligere installationsindstillinger" +${LangFileString} STANDARDINST "Standard installation (anbefales)" +${LangFileString} STANDARDINSTDESC "Installerer Rainmeter og henter manglende biblioteker." +${LangFileString} PORTABLEINST "Portabel installation" +${LangFileString} PORTABLEINSTDESC "Vælg ikke dette med mindre du ved hvad du laver. Der oprettes ingen genveje og .rmskin-filtypen vil ikke blive associeret. Visual C++ 2010 og .NET 2.0 bibliotekerne skal muligvis installeres manuelt." +${LangFileString} DESKTOPSHORTCUT "Tilføj skrivebordsgenvej" +${LangFileString} ALLUSERSSHORTCUT "Tilføj genveje til alle brugere" +${LangFileString} AUTOSTARTUP "Start Rainmeter ved opstart" +${LangFileString} INSTALLDOTNET "Installer .NET 2.0-framework (anbefales)" +${LangFileString} ADDITIONALOPTIONS "Yderligere indstillinger" +${LangFileString} RAINMETERVERSION "Rainmeter Version" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Uninstaller-indstillinger" +${LangFileString} UNSTALLOPTIONSDESC "Vælg yderligere indstillinger" +${LangFileString} UNSTALLRAINMETER "Afinstaller Rainmeter" +${LangFileString} UNSTALLSETTINGS "Fjern fuldstændigt alle personlige indstillinger og filer" +${LangFileString} UNSTALLSETTINGSDESC "(inkluderer skins, temaer, addons, registreringsdatabase-indstillinger, og Start menu-elementer)" \ No newline at end of file diff --git a/Language/Dutch.h b/Language/Dutch.h new file mode 100644 index 00000000..9b989258 Binary files /dev/null and b/Language/Dutch.h differ diff --git a/Language/Dutch.nsh b/Language/Dutch.nsh new file mode 100644 index 00000000..8bfdea01 --- /dev/null +++ b/Language/Dutch.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} Steunt geen Windows 2000. Om gebruik te maken van Rainmeter op Windows 2000, download de ouwe Rainmeter 2.0 versie." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} Vereist Windows XP SP2 of hoger. Alstublieft vooruitgang naar de laatste dienstpak en probeer opnieuw." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} Vereist Windows 2003 SP1 of hoger. Alstublieft vooruitgang naar de laatste dienstpak en probeer opnieuw." +${LangFileString} ADMINERROR "Adminstrative rechten zijn noodzakelijk." +${LangFileString} LOGONERROR "Logon dienst loopt niet." +${LangFileString} UACERROR "Onbekwaam om op te heffen." +${LangFileString} WRITEERROR "Draagbare Rainmeter moet in een locatie met volledige lees en schrijfrechten zijn geïnstalleerd worden (als normale gebruiker) .$\nAls u wilt installeren Rainmeter in '$INSTDIR', ga terug en selecteer 'Normale installatie' die .$\n$\nAnders, voor nog een locatie met volledige lezing en schrijfrecten schrijft toe." +${LangFileString} VCINSTERROR "Visual C++ $instArc installeer mislukt met foutcode $0.$\n$\nU kunt de Visuele C willen proberen downloaden Visual C++ 2010 SP1 $instArc redistributable pakket handmatig van http://rainmeter.net/redist$\n$\nDruk op OK op te sluiten." +${LangFileString} DOTNETINSTERROR ".NET $instArc installeer mislukt met foutcode $0.$\n$\nU kunt proberen om het downloaden van het .NET $instArc redistributable pakket handmatig via http://rainmeter.net/redist$\n$\nDruk op OK op te sluiten." +${LangFileString} RAINMETERCLOSEERROR "Mislukt om Rainmeter te sluiten.$\n$\nSluit alstublieft Rainmeter handmatig en probeer opnieuw." +${LangFileString} SETTINGSFILEERROR "Het instellingsbestand (Rainmeter.ini) bevindt zich in de installatiefolder. Bijhoudend kan het daar problemen veroorzaken indien de toepassing door veelvoudige gebruikers of door iemand met beperkte gebruikerprivileges wordt gebruikt.$\n$\nDoe u wilt het bestand naar de toepassingsgegevensfolder verplaatsen?" +${LangFileString} SETTINGSMOVEERROR "Unable to move the file '$INSTDIR\Rainmeter.ini' to '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Selecteer alstublieft de installatie taal." +${LangFileString} INSTALLOPTIONS "Installeer Opties" +${LangFileString} INSTALLOPTIONSDESC "Selecteer bijkomend installeer opties" +${LangFileString} STANDARDINST "Normale installatie (Aangeraden)" +${LangFileString} STANDARDINSTDESC "Installeert Rainmeter en downloadt noodzakelijke bibliotheken." +${LangFileString} PORTABLEINST "Draagbare installatie" +${LangFileString} PORTABLEINSTDESC "Selecteer dit niet tenzij u weet wat u doet. Snelkoppelingen zullen niet gecreëerd worden .rmskin Uitbreiding zal niet ingeschreven worden. De Visual C++ 2010 en .NET 2.0 bibliotheken kan handmatig nodig hebben om geïnstalleerd te worden." +${LangFileString} DESKTOPSHORTCUT "Voeg Deskop snelkoppeling Toe" +${LangFileString} ALLUSERSSHORTCUT "Voeg snelkoppelingen voor alle gebruikers" +${LangFileString} AUTOSTARTUP "Lanceer Rainmeter bij opstart Windows" +${LangFileString} INSTALLDOTNET "Installeer de .NET 2.0 framework (Aangeraden)" +${LangFileString} ADDITIONALOPTIONS "Additional Options" +${LangFileString} RAINMETERVERSION "Rainmeter Versie" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Verwijder opties" +${LangFileString} UNSTALLOPTIONSDESC "Selecteer bijkomende optiess" +${LangFileString} UNSTALLRAINMETER "Verwijder Rainmeter" +${LangFileString} UNSTALLSETTINGS "Verwijder volledig alle persoonlijke instellingen en bestanden" +${LangFileString} UNSTALLSETTINGSDESC "(inclusief skins, themas, addons, register settings, en start menu Onderdelen)" \ No newline at end of file diff --git a/Language/English.h b/Language/English.h new file mode 100644 index 00000000..38777ddf Binary files /dev/null and b/Language/English.h differ diff --git a/Language/English.nsh b/Language/English.nsh new file mode 100644 index 00000000..d0874546 --- /dev/null +++ b/Language/English.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} does not support Windows 2000. To use Rainmeter on Windows 2000, download the older Rainmeter 2.0 version." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} requires Windows XP SP2 or higher. Please upgrade to the latest service pack and try again." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} requires Windows 2003 SP1 or higher. Please upgrade to the latest service pack and try again." +${LangFileString} ADMINERROR "Adminstrative rights required." +${LangFileString} LOGONERROR "Logon service not running." +${LangFileString} UACERROR "Unable to elevate." +${LangFileString} WRITEERROR "Portable Rainmeter must be installed into a location with full read and write access (as normal user).$\nIf you want to install Rainmeter into '$INSTDIR', go back and select 'Standard installation'.$\n$\nOtherwise, browse for another location with full read and write access." +${LangFileString} VCINSTERROR "Visual C++ $instArc install failed with error code $0.$\n$\nYou might want to try downloading the Visual C++ 2010 SP1 $instArc redistributable package manually from http://rainmeter.net/redist$\n$\nPress OK to exit." +${LangFileString} DOTNETINSTERROR ".NET $instArc install failed with error code $0.$\n$\nYou might want to try downloading the .NET $instArc redistributable package manually from http://rainmeter.net/redist$\n$\nPress OK to exit." +${LangFileString} RAINMETERCLOSEERROR "Failed to close Rainmeter.$\n$\nPlease close Rainmeter manually and try again." +${LangFileString} SETTINGSFILEERROR "The settings file (Rainmeter.ini) is located in the installation folder. Keeping it there can cause problems if the application is used by multiple users or by anyone with restricted user privileges.$\n$\nDo you want to move the file to the application data folder?" +${LangFileString} SETTINGSMOVEERROR "Unable to move the file '$INSTDIR\Rainmeter.ini' to '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE " " +${LangFileString} INSTALLOPTIONS "Install Options" +${LangFileString} INSTALLOPTIONSDESC "Select additional install options" +${LangFileString} STANDARDINST "Standard installation (recommended)" +${LangFileString} STANDARDINSTDESC "Installs Rainmeter and downloads required libraries." +${LangFileString} PORTABLEINST "Portable installation" +${LangFileString} PORTABLEINSTDESC "Do not select this unless you know what you're doing. Shortcuts will not be created and the .rmskin extension will not be registered. The Visual C++ 2010 and .NET 2.0 libraries may need to be manually installed." +${LangFileString} DESKTOPSHORTCUT "Add desktop shortcut" +${LangFileString} ALLUSERSSHORTCUT "Add shortcuts for all users" +${LangFileString} AUTOSTARTUP "Launch Rainmeter on startup" +${LangFileString} INSTALLDOTNET "Install the .NET 2.0 framework (recommended)" +${LangFileString} ADDITIONALOPTIONS "Additional Options" +${LangFileString} RAINMETERVERSION "Rainmeter Version" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Uninstall options" +${LangFileString} UNSTALLOPTIONSDESC "Select any additional options" +${LangFileString} UNSTALLRAINMETER "Uninstall Rainmeter" +${LangFileString} UNSTALLSETTINGS "Completely remove all personal settings and files" +${LangFileString} UNSTALLSETTINGSDESC "(including skins, themes, addons, registry settings, and Start menu items)" \ No newline at end of file diff --git a/Language/Finnish.h b/Language/Finnish.h new file mode 100644 index 00000000..0d7d7b3f Binary files /dev/null and b/Language/Finnish.h differ diff --git a/Language/Finnish.nsh b/Language/Finnish.nsh new file mode 100644 index 00000000..cb07bb36 --- /dev/null +++ b/Language/Finnish.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} ei enää tue Windows 2000:tta. Ole hyvä ja lataa vanhempi Rainmeter 2.0 versio." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} tarvitsee Windows XP SP2:n tai uudemman. Ole hyvä ja päivitä Windows uusimpaan Service Pack -päivityspakettiin ja yritä sen jälkeen uudelleen." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} tarvitsee Windows 2003 SP1:n tai uudemman. Ole hyvä ja päivitä Windows uusimpaan Service Pack -päivityspakettiin ja yritä sen jälkeen uudelleen." +${LangFileString} ADMINERROR "Tarvitaan järjestelmänvalvojan oikeudet." +${LangFileString} LOGONERROR "Kirjautumispalvelu ei ole käynnissä." +${LangFileString} UACERROR "UAC korottaminen epäonnistui." +${LangFileString} WRITEERROR "Siirrettävä Rainmeter on asennettava sijaintiin johon on sekä kirjoitus- että lukuoikeudet (normaalikäyttäjänä).$\nJos haluat asentaa ohjelman Rainmeter kohteeseen '$INSTDIR', palaa takaisin ja valitse 'Normaali asennus'.$\n$\nMuussa tapauksessa valitse sijainti johon on täydet luku- ja kirjoitusoikeudet." +${LangFileString} VCINSTERROR "Kirjaston Visual C++ $instArc asennus epäonnistui virhekoodilla $0.$\n$\nKoita ladata Visual C++ 2010 SP1 $instArc uudelleenjaeltava paketti käsin osoitteesta http://rainmeter.net/redist$\n$\nPaina OK poistuaksesi." +${LangFileString} DOTNETINSTERROR "Kirjaston .NET $instArc asennus epäonnistui virhekoodilla $0.$\n$\nKoita ladata .NET $instArc uudelleenjaeltava paketti käsin osoitteesta http://rainmeter.net/redist$\n$\nPaina OK poistuaksesi." +${LangFileString} RAINMETERCLOSEERROR "Rainmeter:n sulkeminen epäonnistui.$\n$\nSulje Rainmeter käsin ja yritä uudelleen." +${LangFileString} SETTINGSFILEERROR "Asetustiedosto (Rainmeter.ini) on havaittu sijaitsevan asennuskansiossa. Tämä saattaa tuottaa ongelmia mikäli ohjelmaa käyttävät useat käyttäjät tai sitä käytetään rajoitetuin oikeuksin.$\n$\nTahdotko siirtää tiedoston 'application data' kansioon?" +${LangFileString} SETTINGSMOVEERROR "Tiedostoa '$INSTDIR\Rainmeter.ini' ei voitu siirtää kohteeseen '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Valitse asennuskieli." +${LangFileString} INSTALLOPTIONS "Asennusvaihtoehdot" +${LangFileString} INSTALLOPTIONSDESC "Valitse asennuksen lisäasetukset" +${LangFileString} STANDARDINST "Oletusasennus (suositeltu)" +${LangFileString} STANDARDINSTDESC "Asentaa Rainmeter ohjelman ja lataa tarvittavat kirjastot." +${LangFileString} PORTABLEINST "Siirrettävä asennus" +${LangFileString} PORTABLEINSTDESC "Jätä tämä valitsematta ellet ole varma toimistasi. Pikakuvakkeita ei luoda eikä .rmskin tiedostopäätettä rekisteröidä. Saatat joutua asentamaan Visual C++ 2010 ja .NET 2.0 -kirjastot käsin." +${LangFileString} DESKTOPSHORTCUT "Lisää pikakuvake työpöydälle" +${LangFileString} ALLUSERSSHORTCUT "Lisää pikakuvakkeet kaikille käyttäjille" +${LangFileString} AUTOSTARTUP "Aloita Rainmeter käynnistyksessä" +${LangFileString} INSTALLDOTNET "Asenna .NET 2.0 framework (suositeltu)" +${LangFileString} ADDITIONALOPTIONS "Lisäasetukset" +${LangFileString} RAINMETERVERSION "Rainmeter -versio" +${LangFileString} 32BIT "32-bittinen" +${LangFileString} 64BIT "64-bittinen" +${LangFileString} UNSTALLOPTIONS "Poista asetukset" +${LangFileString} UNSTALLOPTIONSDESC "Valitse lisäasetukset" +${LangFileString} UNSTALLRAINMETER "Poista Rainmeter" +${LangFileString} UNSTALLSETTINGS "Poista kaikki tekemäsi asetukset ja tiedostot" +${LangFileString} UNSTALLSETTINGSDESC "(mukaanlukien olemukset, teemat, liitännäiset, rekisteriasetukset ja Käynnistä-valikon kohdat)" diff --git a/Language/French.h b/Language/French.h new file mode 100644 index 00000000..faa8b76a Binary files /dev/null and b/Language/French.h differ diff --git a/Language/French.nsh b/Language/French.nsh new file mode 100644 index 00000000..4c7eb885 --- /dev/null +++ b/Language/French.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} ne supporte pas Windows 2000. Veuillez télécharger une version antérieure à Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} requiert Windows XP SP2 ou ultérieur. Veuillez installer le dernier service pack et réessayer." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} requiert Windows 2003 SP1 ou ultérieur. Veuillez installer le dernier service pack et réessayer." +${LangFileString} ADMINERROR "Droits administratifs requis." +${LangFileString} LOGONERROR "Le service Logon n'est pas démarré." +${LangFileString} UACERROR "Impossible d'élever les privilèges." +${LangFileString} WRITEERROR "Rainmeter version portable doit être installé dans un dossier à accès total(en tant qu'utilisateur normal).$\nSi vous voulez installer Rainmeter dans le dossier '$INSTDIR', faites Précédent et sélectionnez 'Installation normale'.$\n$\nSinon, parcourez un autre emplacement avec un accès total." +${LangFileString} VCINSTERROR "Visual C++ $instArc l'installation a échoué avec le code d'erreur $0.$\n$\nVous pourriez essayer de télécharger le progiciel redistribuable Visual C++ 2010 SP1 $instArc manuellement à http://rainmeter.net/redist$\n$\nOK pour quitter." +${LangFileString} DOTNETINSTERROR ".NET $instArc l'installation a échoué avec le code d'erreur $0.$\n$\nVous pourriez essayer de télécharger le progiciel redistribuable .NET $instArc manuellement à http://rainmeter.net/redist$\n$\nOK pour quitter." +${LangFileString} RAINMETERCLOSEERROR "La fermeture de Rainmeter a échoué.$\n$\nVeuillez fermer Rainmeter manuellement et réessayer." +${LangFileString} SETTINGSFILEERROR "Le fichier de configuration (Rainmeter.ini) est localisé dans le dossier d'installation. Le conserver ici peut causer des problèmes si l'application est utilisée par plusieurs utilisateurs ou par quelqu'un ayant des privilèges d'utilisateur restreint.$\n$\nVoulez-vous déplacer le fichier dans le dossier application data ?" +${LangFileString} SETTINGSMOVEERROR "Impossible de déplacer le fichier '$INSTDIR\Rainmeter.ini' dans '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "S'il vous plait, sélectionnez la langue d'installation." +${LangFileString} INSTALLOPTIONS "Options d'installation" +${LangFileString} INSTALLOPTIONSDESC "Sélectionner des options d'installation additionnelles" +${LangFileString} STANDARDINST "Installation normale (recommandé)" +${LangFileString} STANDARDINSTDESC "Installer Rainmeter et télécharger les librairies requises." +${LangFileString} PORTABLEINST "Installation portable" +${LangFileString} PORTABLEINSTDESC "Ne sélectionnez pas ceci à moins que vous sachiez ce que vous faites. Le raccourci ne sera pas créé et les fichiers .rmskin ne seront pas enregistrés . Visual C++ 2010 et .NET 2.0 devront être installés manuellement." +${LangFileString} DESKTOPSHORTCUT "Raccourci sur le bureau" +${LangFileString} ALLUSERSSHORTCUT "Raccourci pour tous les utilisateurs" +${LangFileString} AUTOSTARTUP "Démarrer automatiquement avec Windows" +${LangFileString} INSTALLDOTNET "Installer le .NET Framework 2.0 (recommandé)" +${LangFileString} ADDITIONALOPTIONS "Options additionnelles" +${LangFileString} RAINMETERVERSION "Version de Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Options de désinstallation" +${LangFileString} UNSTALLOPTIONSDESC "Sélectionner une option additionnelle" +${LangFileString} UNSTALLRAINMETER "Désinstaller Rainmeter" +${LangFileString} UNSTALLSETTINGS "Supprimer tous les paramètres personnels et les fichiers" +${LangFileString} UNSTALLSETTINGSDESC "(y compris les skins, les thèmes, les addons, les paramètres de registre et les éléments du menu Démarrer)" \ No newline at end of file diff --git a/Language/German.h b/Language/German.h new file mode 100644 index 00000000..ca341ec2 Binary files /dev/null and b/Language/German.h differ diff --git a/Language/German.nsh b/Language/German.nsh new file mode 100644 index 00000000..35984a3b --- /dev/null +++ b/Language/German.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} unterstützt nicht Windows 2000. Um Rainmeter unter Windows 2000 zu verwenden, laden Sie die ältere Rainmeter Version 2.0 herunter." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} benötigt Windows XP SP2 oder höher. Bitte das letzte Servicepack einspielen und neu versuchen." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} benötigt Windows 2003 SP1 oder höher. Bitte das letzte Servicepack einspielen und neu versuchen." +${LangFileString} ADMINERROR "Benötigt Adminstratorrechte." +${LangFileString} LOGONERROR "Logon Service läuft nicht." +${LangFileString} UACERROR "Ausführen mit erweiterten Rechten fehlgeschlagen." +${LangFileString} WRITEERROR "Die portable Rainmeter-Version muss in einen Ordner mit vollem Lese- und Schreibzugriff intalliert werden (als normaler Benutzer).$\nFalls Sie Rainmeter in '$INSTDIR' installieren wollen, gehen Sie zurück und wählen 'Standardinstallation'.$\n$\nAndernfalls, suchen Sie einen anderen Ordner auf den Sie vollen Lese- und Schreibzugriff haben." +${LangFileString} VCINSTERROR "Visual C++ $instArc Installation fehlgeschlagen mit Fehlercode $0.$\n$\nSie können versuchen das Visual C++ 2010 SP1 $instArc redistributable Paket manuell von http://rainmeter.net/redist zu laden$\n$\nZum Schließen drücken Sie OK." +${LangFileString} DOTNETINSTERROR ".NET $instArc Installation fehlgeschlagen mit Fehlercode $0.$\n$\nSie können versuchen das .NET $instArc redistributable Paket manuell von http://rainmeter.net/redist zu laden$\n$\nZum Schließen drücken Sie OK." +${LangFileString} RAINMETERCLOSEERROR "Schließen von Rainmeter fehlgeschlagen.$\n$\nBitte Rainmeter manuell schließen und neu versuchen." +${LangFileString} SETTINGSFILEERROR "Die Einstellungsdatei (Rainmeter.ini) befindet sich im Installationsordner. Verbleib in diesem Ordner führt zu Problemen, falls die Anwendung von mehreren Benutzern oder von einem Benutzer mit eingeschränkten Rechten verwendet wird.$\n$\nWollen Sie die Datei in den Anwendungsdatenordner verschieben?" +${LangFileString} SETTINGSMOVEERROR "Datei '$INSTDIR\Rainmeter.ini' kann nicht nach '$APPDATA\Rainmeter\Rainmeter.ini' verschoben werden." +${LangFileString} SELECTLANGUAGE "Bitte wählen Sie eine Sprache aus." +${LangFileString} INSTALLOPTIONS "Installationsoptionen" +${LangFileString} INSTALLOPTIONSDESC "Zusätzliche Installationsoptionen auswählen" +${LangFileString} STANDARDINST "Standardinstallation (empfohlen)" +${LangFileString} STANDARDINSTDESC "Installiert Rainmeter und lädt benötigte Bibliotheken nach." +${LangFileString} PORTABLEINST "Portable Installation" +${LangFileString} PORTABLEINSTDESC "Nicht auswählen, es sei denn, Sie wissen was Sie tun. Verknüpfungen werden nicht angelegt und die .rmskin Erweiterung wird nicht registriert. Die Visual C++ 2010 und .NET 2.0 Bibliotheken müssen ggf. manuell installiert werden." +${LangFileString} DESKTOPSHORTCUT "Verknüpfung auf dem Desktop anlegen" +${LangFileString} ALLUSERSSHORTCUT "Verknüpfungen für alle Benutzer anlegen" +${LangFileString} AUTOSTARTUP "Rainmeter mit Windows starten" +${LangFileString} INSTALLDOTNET "NET 2.0 Framework installieren (empfohlen)" +${LangFileString} ADDITIONALOPTIONS "Zusätzliche Optionen" +${LangFileString} RAINMETERVERSION "Rainmeter Version" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Deinstallationsoptionen" +${LangFileString} UNSTALLOPTIONSDESC "Zusätzliche Optionen auswählen" +${LangFileString} UNSTALLRAINMETER "Rainmeter deinstallieren" +${LangFileString} UNSTALLSETTINGS "Alle persönlichen Einstellungen und Dateien löschen" +${LangFileString} UNSTALLSETTINGSDESC "(einschließlich Skins, Themes, Addons, Einträge in der Registry und Einträge im Startmenü)" \ No newline at end of file diff --git a/Language/Greek.h b/Language/Greek.h new file mode 100644 index 00000000..6852c1f4 Binary files /dev/null and b/Language/Greek.h differ diff --git a/Language/Greek.nsh b/Language/Greek.nsh new file mode 100644 index 00000000..bac52186 --- /dev/null +++ b/Language/Greek.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Το Rainmeter ${VER} δεν υποστηρίζει Windows 2000. Για να χρησιμοποιήσετε το Rainmeter στα Windows 2000, κατεβάστε την έκδοση 2.0 του Rainmeter." +${LangFileString} WINXPS2ERROR "Το Rainmeter ${VER} απαιτεί Windows XP SP2 ή υψηλότερο. Παρακαλώ αναβαθμίστε στην τελευταία έκδοση του service pack των Windows και δοκιμάστε ξανά." +${LangFileString} WIN2003SP1ERROR "Το Rainmeter ${VER} απαιτεί Windows 2003 SP1 ή υψηλότερο. Παρακαλώ αναβαθμίστε στην τελευταία έκδοση του service pack των Windows και δοκιμάστε ξανά." +${LangFileString} ADMINERROR "Χρειάζονται δικαιώματα διαχειριστή." +${LangFileString} LOGONERROR "Η υπηρεσία Logon δεν λειτουργεί." +${LangFileString} UACERROR "Λάθος UAC. Αδύνατον να συνεχίσει." +${LangFileString} WRITEERROR "Η έκδοση Portable Rainmeter πρέπει να εγκατασταθεί σε μέσο με πλήρη δικαιώματα read/write (σαν απλός χρήστης).$\nΑν θέλετε να εγκαταστήσετε το Rainmeter στο '$INSTDIR', πηγαίνετε πίσω και διαλέξτε 'Standard installation'.$\n$\nή, διαλέξτε άλλο μέσο με πλήρη δικαιώματα read/write." +${LangFileString} VCINSTERROR "Visual C++ $instArc η εγκατάσταση απέτυχε με κωδικό λάθους $0.$\n$\nΊσως να πρέπει να κατεβάσετε τη Visual C++ 2010 SP1 $instArc redistributable package χειροκίνητα από τη διεύθυνση http://rainmeter.net/redist$\n$\nΠατήστε OK για έξοδο." +${LangFileString} DOTNETINSTERROR ".NET $instArc η εγκατάσταση απέτυχε με κωδικό λάθους $0.$\n$\nΊσως να πρέπει να κατεβάσετε τη .NET $instArc redistributable package χειροκίνητα από τη διεύθυνση http://rainmeter.net/redist$\n$\nΠατήστε OK για έξοδο." +${LangFileString} RAINMETERCLOSEERROR "Απέτυχε το κλείσιμο του Rainmeter.$\n$\nΠαρακαλώ κλείστε το Rainmeter χειροκίνητα και δοκιμάστε ξανά." +${LangFileString} SETTINGSFILEERROR "Το αρχείο ρυθμίσεων (Rainmeter.ini) βρίσκεται στο φάκελο εγκατάστασης. Κρατώντας το εκεί μπορεί να δημιουργήσει προβλήματα αν η εφαρμογή χρησιμοποιείται από πολλούς χρήστες ή οποιονδήποτε με περιορισμένα προνόμια.$\n$\nΘέλετε να μετακινήσετε το αρχείο στο φάκελο δεδομένων της εφαρμογής;" +${LangFileString} SETTINGSMOVEERROR "Αδύνατον να μετακινηθεί το αρχείο '$INSTDIR\Rainmeter.ini' στο '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Επιλέξτε τη γλώσσα εγκατάστασης." +${LangFileString} INSTALLOPTIONS "Επιλογές εγκτάστασης." +${LangFileString} INSTALLOPTIONSDESC "Επιλέξτε επιπλέον επιλογές εγκατάστασης." +${LangFileString} STANDARDINST "Κανονική εγκατάσταση (συνιστάται)" +${LangFileString} STANDARDINSTDESC "Εγκατάσταση του Rainmeter και αυτόματο κατέβασμα των απαιτούμενων βιβλιοθηκών." +${LangFileString} PORTABLEINST "Εγκατάσταση Portable έκδοσης." +${LangFileString} PORTABLEINSTDESC "Μην το επιλέγετε αν δεν ξέρετε τί κάνει. Δεν θα δημιουργηθούν συντομεύσεις και η προέκταση .rmskin δεν θα εγγραφεί στο μητρώο. Οι βιβλιοθήκες Visual C++ 2010 και .NET 2.0 ίσως να χρειαστεί να εγκατασταθούν χειροκίνητα." +${LangFileString} DESKTOPSHORTCUT "Προσθήκη συντόμευσης στην επιφάνεια εργασίας." +${LangFileString} ALLUSERSSHORTCUT "Προσθήκη συντόμευσης για όλους τους χρήστες." +${LangFileString} AUTOSTARTUP "Εκκίνηση του Rainmeter κατά την εκκίνηση του υπολογιστή." +${LangFileString} INSTALLDOTNET "Εγκαταστήστε το .NET 2.0 framework (συνιστάται)" +${LangFileString} ADDITIONALOPTIONS "Επιπλέον επιλογές." +${LangFileString} RAINMETERVERSION "Έκδοση του Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Επιλογές απεγκατάστασης." +${LangFileString} UNSTALLOPTIONSDESC "Επιλέξτε επιπλέον επιλογές." +${LangFileString} UNSTALLRAINMETER "Απεγκατάσταση του Rainmeter" +${LangFileString} UNSTALLSETTINGS "Διαγραφή όλων των προσωπικών ρυθμίσεων και αρχείων." +${LangFileString} UNSTALLSETTINGSDESC "(συμπεριλαμβανομένων skins, themes, addons, ρυθμίσεων registry, και στοιχεία του μενού Έναρξη.)" \ No newline at end of file diff --git a/Language/Hebrew.h b/Language/Hebrew.h new file mode 100644 index 00000000..dfe459e0 Binary files /dev/null and b/Language/Hebrew.h differ diff --git a/Language/Hebrew.nsh b/Language/Hebrew.nsh new file mode 100644 index 00000000..7ab17249 Binary files /dev/null and b/Language/Hebrew.nsh differ diff --git a/Language/Hungarian.h b/Language/Hungarian.h new file mode 100644 index 00000000..c123f260 Binary files /dev/null and b/Language/Hungarian.h differ diff --git a/Language/Hungarian.nsh b/Language/Hungarian.nsh new file mode 100644 index 00000000..998f849b --- /dev/null +++ b/Language/Hungarian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "A Rainmeter ${VER} nem támogatja a Windows 2000 operációs rendszert. A program használatához töltsd le a korábbi Rainmeter 2.0 verziót." +${LangFileString} WINXPS2ERROR "A Rainmeter ${VER} telepítéséhez Windows XP SP2 vagy újabb operációs rendszer szükséges. Kérlek frissítsd a legújabb szervíz csomagra és próbáld újra." +${LangFileString} WIN2003SP1ERROR "A Rainmeter ${VER} telepítéséhez Windows 2003 SP1 vagy újabb operációs rendszer szükséges. Kérlek frissítsd a legújabb szervíz csomagra és próbáld újra." +${LangFileString} ADMINERROR "Rendszergazdai engedély szükséges" +${LangFileString} LOGONERROR "A bejelentkezési szolgáltatás nem fut." +${LangFileString} UACERROR "Jogosultságemelés nem lehetséges" +${LangFileString} WRITEERROR "A Rainmeter hordozható verzióját teljes írási és olvasási hozzáféréssel rendelkező helyre kell telepíteni (normál felhasználóként).$\nHa a Rainmetert a(z) '$INSTDIR' mappába szeretnéd telepíteni, akkor lépj vissza és válaszd a 'Szabványos telepítés'-t.$\n$\nEgyébként válassz egy másik helyet teljes írási és olvasási hozzáféréssel. " +${LangFileString} VCINSTERROR "A Visual C++ $instArc telepítése sikertelen, hibakód: $0$\n$\nPróbáld meg a Visual C++ 2010 SP1 $instArc terjeszthető csomag manuális letöltését a http://rainmeter.net/redist webhelyről.$\n$\nKattints az OK-ra a kilépéshez." +${LangFileString} DOTNETINSTERROR ".NET $instArc telepítése sikertelen, hibakód: $0$\n$\nPróbáld meg a .NET $instArc terjeszthető csomag manuális letöltését a http://rainmeter.net/redist webhelyről.$\n$\nKattints az OK-ra a kilépéshez." +${LangFileString} RAINMETERCLOSEERROR "A Rainmeter bezárása sikertelen volt.$\n$\nKérlek zárd be a Rainmetert manuálisan, majd próbáld újra." +${LangFileString} SETTINGSFILEERROR "A beállításfájl (Rainmeter.ini) a telepítési mappában található. Ha ott marad, az problémát okozhat, ha az alkalmazást többen használják a programot, vagy valaki akinek korlátozott jogosultsága van.$\n$\nÁthelyezed a fájlt az application data mappába?" +${LangFileString} SETTINGSMOVEERROR "Nem sikerült áthelyezni a '$INSTDIR\Rainmeter.ini' fájlt a(z) '$APPDATA\Rainmeter\Rainmeter.ini' helyre." +${LangFileString} SELECTLANGUAGE " " +${LangFileString} INSTALLOPTIONS "Telepítési beállítások" +${LangFileString} INSTALLOPTIONSDESC "További telepítési beállítások kiválasztása" +${LangFileString} STANDARDINST "Szabványos telepítés (ajánlott)" +${LangFileString} STANDARDINSTDESC "Telepíti a Rainmetert és letölti a szükséges csomagokat." +${LangFileString} PORTABLEINST "Hordozható telepítés" +${LangFileString} PORTABLEINSTDESC "Ne válaszd ki, csak ha tudod mit csinálsz. Nem lesznek létrehozva parancsikonok és az .rmskin kiterjesztés nem lesz társítva. A Visual C++ 2010 és a .NET 2.0 csomagok manuális telepítésére is szükség lehet." +${LangFileString} DESKTOPSHORTCUT "Parancsikon létrehozása az asztalon" +${LangFileString} ALLUSERSSHORTCUT "Parancsikon létrehozása minden felhasználó részére" +${LangFileString} AUTOSTARTUP "Rainmeter indítása a Windowssal" +${LangFileString} INSTALLDOTNET "A .NET 2.0 keretrendszer telepítése (ajánlott)" +${LangFileString} ADDITIONALOPTIONS "További beállítások" +${LangFileString} RAINMETERVERSION "Verziószám" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Eltávolítási beállítások" +${LangFileString} UNSTALLOPTIONSDESC "További beállítások kiválasztása" +${LangFileString} UNSTALLRAINMETER "Rainmeter eltávolítása" +${LangFileString} UNSTALLSETTINGS "Személyes beállítások és fájlok végleges törlése" +${LangFileString} UNSTALLSETTINGSDESC "(beleértve a felületeket, témákat, bővítményeket, registry beállításokat, és a Start menü elemeket.)" \ No newline at end of file diff --git a/Language/Indonesian.h b/Language/Indonesian.h new file mode 100644 index 00000000..b948c5e7 Binary files /dev/null and b/Language/Indonesian.h differ diff --git a/Language/Indonesian.nsh b/Language/Indonesian.nsh new file mode 100644 index 00000000..0265b723 --- /dev/null +++ b/Language/Indonesian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} tidak mendukung Windows 2000. Untuk menggunakan pada Windows 2000, unduh Rainmeter 2.0 versi lama." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} membutuhkan Windows XP SP2 atau lebih tinggi. Mohon naikan ke service pack terbaru dan coba lagi." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} membutuhkan Windows 2003 SP1 atau lebih tinggi. Mohon naikan ke service pack terbaru dan coba lagi." +${LangFileString} ADMINERROR "Adminstrative rights dibutuhkan." +${LangFileString} LOGONERROR "Logon service tidak berjalan." +${LangFileString} UACERROR "Tak dapat meningkatkan." +${LangFileString} WRITEERROR "Portable Rainmeter harus di instal pada lokasi dengan full read and write access (as normal user).$\njika Anda mau menginstal Rainmeter pada '$INSTDIR', kembali dan pilih 'Standard installation'.$\n$\nAtau, cari lokasi lain dengan full read and write access." +${LangFileString} VCINSTERROR "Visual C++ $instArc instal gagal dengan kode galat $0.$\n$\nAnda mungkin mau coba unduh secara manual paket Visual C++ 2010 SP1 $instArc redistributable dari http://rainmeter.net/redist$\n$\nTekan OK untuk keluar." +${LangFileString} DOTNETINSTERROR ".NET $instArc instal gagal dengan kode galat $0.$\n$\nAnda mungkin mau coba unduh secara manual paket Visual .Net $instArc redistributable dari http://rainmeter.net/redist$\n$\nTekan OK untuk keluar." +${LangFileString} RAINMETERCLOSEERROR "Failed to close Rainmeter.$\n$\nPlease close Rainmeter manually and try again." +${LangFileString} SETTINGSFILEERROR "Berkas pengaturan-pengaturan (Rainmeter.ini) berada di bilah instalasi. Membiarkan disitu bisa menyebabkan masalah-masalah jika aplikasi digunakan oleh multiple users atau oleh seseorang dengan restricted user privileges.$\n$\nApakah Anda mau memindahkan berkas ke bilah data applikasi?" +${LangFileString} SETTINGSMOVEERROR "Tak dapat memindahkan berkas '$INSTDIR\Rainmeter.ini' ke '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Silahkan pilih bahasa instalasian." +${LangFileString} INSTALLOPTIONS "Opsi Instal" +${LangFileString} INSTALLOPTIONSDESC "Pilih opsi-opsi instal tambahan" +${LangFileString} STANDARDINST "Instalasi tandar (dianjurkan)" +${LangFileString} STANDARDINSTDESC "Instal Rainmeter dan unduh pustaka yang dibutuhkan." +${LangFileString} PORTABLEINST "Instalasi portabel" +${LangFileString} PORTABLEINSTDESC "Jangan pilih ini kecuali Anda tahu yang sedang Anda lakukan. Shortcuts takan dibuat dan .rmskin extension takan di-registered. Pustaka Visual C++ 2010 dan .NET 2.0 mungkin harus di instal secara manual." +${LangFileString} DESKTOPSHORTCUT "Tambahkan desktop shortcut" +${LangFileString} ALLUSERSSHORTCUT "Tambahkan shortcut-shortcut untuk semua user" +${LangFileString} AUTOSTARTUP "Jalankan Rainmeter saat startup" +${LangFileString} INSTALLDOTNET "Instal .NET 2.0 framework (dianjurkan)" +${LangFileString} ADDITIONALOPTIONS "Opsi-opsi tambahan" +${LangFileString} RAINMETERVERSION " Versi Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Opsi-opsi penidakpasangan" +${LangFileString} UNSTALLOPTIONSDESC "Pilih opsi-opsi tambahan lainnya" +${LangFileString} UNSTALLRAINMETER "Penidakpasang Rainmeter" +${LangFileString} UNSTALLSETTINGS "Singkirkan semua pengaturan-pengaturan dan berkas-berkas pribadi secara menyeluruh" +${LangFileString} UNSTALLSETTINGSDESC "(termasuk skin-skin, tema-tema, addon-addon, pengaturan registry, dan item-item Start menu )" \ No newline at end of file diff --git a/Language/Italian.h b/Language/Italian.h new file mode 100644 index 00000000..befaeac7 Binary files /dev/null and b/Language/Italian.h differ diff --git a/Language/Italian.nsh b/Language/Italian.nsh new file mode 100644 index 00000000..de88abd3 --- /dev/null +++ b/Language/Italian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} non supporta Windows 2000. Per usare Rainmeter su Windows 2000, scaricare la versione obsoleta di Rainmeter 2.0" +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} necessita Windows XP SP2 o superiore. Aggiornare all'ultimo Service Pack e riprovare." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} necessita Windows 2003 SP1 o superiore. Aggiornare all'ultimo Service Pack e riprovare." +${LangFileString} ADMINERROR "Richiesti diritti d'amministratore." +${LangFileString} LOGONERROR "Servizio di login non disponibile." +${LangFileString} UACERROR "Impossibile alzare i privilegi." +${LangFileString} WRITEERROR "Rainmeter portable deve essere installato in una cartella con pieno accesso di lettura e scrittura (come utente normale).$\nISe vuoi installare Rainmeter in '$INSTDIR', torna indietro e seleziona 'Installazione standard'.$\n$\nAltrimenti, cerca un'altra cartella con pieno accesso di lettura e scrittura." +${LangFileString} VCINSTERROR "Visual C++ $instArc installazione fallita, codice errore $0.$\n$\nPuoi scaricare Visual C++ 2010 SP1 $instArc redistributable manualmente da http://rainmeter.net/redist$\n$\nPremi OK per uscire." +${LangFileString} DOTNETINSTERROR ".NET $instArc installazione fallita, codice errore $0.$\n$\nPuoi scaricare .NET $instArc redistributable manualmente da http://rainmeter.net/redist$\n$\nPremi OK per uscire." +${LangFileString} RAINMETERCLOSEERROR "Chiusura di Rainmeter non riuscita.$\n$\nChiudere Rainmeter manualmente e riprovare." +${LangFileString} SETTINGSFILEERROR "Il file di impostazioni (Rainmeter.ini) si trova nella cartella d'installazione. Tenendolo lì potrebbero esserci problemi se l'applicazione è utilizzata da diversi utenti o da un utente con privilegi limitati.$\n$\nVuoi spostare il file nella cartella Dati Applicazioni?" +${LangFileString} SETTINGSMOVEERROR "Impossibile muovere il file '$INSTDIR\Rainmeter.ini' in '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Selezionare la lingua di installazione." +${LangFileString} INSTALLOPTIONS "Opzioni di installazione" +${LangFileString} INSTALLOPTIONSDESC "Selezionare le opzioni aggiuntive di installazione" +${LangFileString} STANDARDINST "Installazione standard (raccomandato)" +${LangFileString} STANDARDINSTDESC "Installa Rainmeter e scarica le librerie richieste." +${LangFileString} PORTABLEINST "Installazione portable" +${LangFileString} PORTABLEINSTDESC "Non selezionare a meno che non sai quel che stai facendo. I collegamenti non saranno creati e l'estensione .rmskin non sarà registrata. Le librerie Visual C++ 2010 e .NET 2.0 potrebbero dover essere installate manualmente." +${LangFileString} DESKTOPSHORTCUT "Aggiungi collegamento al desktop" +${LangFileString} ALLUSERSSHORTCUT "Aggiungi collegamento a tutti gli utenti" +${LangFileString} AUTOSTARTUP "Lancia Rainmeter all'avvio" +${LangFileString} INSTALLDOTNET "Installare .NET 2.0 framework (raccomandato)" +${LangFileString} ADDITIONALOPTIONS "Opzioni aggiuntive" +${LangFileString} RAINMETERVERSION "Versione Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Opzioni di disinstallazione" +${LangFileString} UNSTALLOPTIONSDESC "Selezionare opzioni aggiuntive" +${LangFileString} UNSTALLRAINMETER "Disinstalla Rainmeter" +${LangFileString} UNSTALLSETTINGS "Rimuovere completamente tutti i file e le impostazioni personali" +${LangFileString} UNSTALLSETTINGSDESC "(includendo skin, temi, addon, impostazioni di registro e voci del menù Start)" \ No newline at end of file diff --git a/Language/Japanese.h b/Language/Japanese.h new file mode 100644 index 00000000..9ec78afd Binary files /dev/null and b/Language/Japanese.h differ diff --git a/Language/Japanese.nsh b/Language/Japanese.nsh new file mode 100644 index 00000000..cb520117 --- /dev/null +++ b/Language/Japanese.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER}はWindows 2000に対応しておりません。RainmeterをWindows 2000で使用するには、バージョン2.0以前のRainmeterをダウンロードしてください。" +${LangFileString} WINXPS2ERROR "Rainmeter ${VER}を動作させるには、Windows XP SP2以降である必要があります。最新のServicePackを適用後にもう一度お試しください。" +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER}を動作させるには、Windows 2003 SP1以降である必要があります。最新のServicePackを適用後にもう一度お試しください。" +${LangFileString} ADMINERROR "管理者権限が必要です。" +${LangFileString} LOGONERROR "ログオンサービスが起動していません。" +${LangFileString} UACERROR "権限の昇格に失敗しました。" +${LangFileString} WRITEERROR "ポータブル版Rainmeterをインストールするには、通常ユーザーとしての完全なファイルの読み書きの権限を必要とします。$\nRainmeterを「$INSTDIR」へインストールを行うには、前のメニューへ戻り、「通常インストール」を選択してください。$\n$\nまたは、完全なファイルの読み書きの権限のある別の場所を選択してください。" +${LangFileString} VCINSTERROR "Visual C++ $instArcのインストールに失敗しました。(エラー$0)$\n$\n必要ならば、Visual C++ 2010 SP1 $instArc ランタイムをhttp://rainmeter.net/redistからダウンロードすることが可能です。$\n$\nOKを押すと終了します。" +${LangFileString} DOTNETINSTERROR ".NET $instArcのインストールに失敗しました。(エラー$0)$\n$\n必要ならば、.NET $instArc ランタイムをhttp://rainmeter.net/redistからダウンロードすることが可能です。$\n$\nOKを押すと終了します。" +${LangFileString} RAINMETERCLOSEERROR "Rainmeterの終了に失敗しました。$\n$\nRainmeterを手動で終了した後にもう一度お試しください。" +${LangFileString} SETTINGSFILEERROR "設定ファイル(Rainmeter.ini)の保存先がインストールフォルダに指定されています。そのままにした場合、制限ユーザーがアプリケーションを実行した際に問題を引き起こす可能性があります。$\n$\nこのファイルをアプリケーションデータフォルダに移動してもよろしいですか?" +${LangFileString} SETTINGSMOVEERROR "「$INSTDIR\Rainmeter.ini」から「$APPDATA\Rainmeter\Rainmeter.ini」へのファイルの移動に失敗しました。" +${LangFileString} SELECTLANGUAGE "インストール時に使用する言語を選択してください。" +${LangFileString} INSTALLOPTIONS "インストールの設定" +${LangFileString} INSTALLOPTIONSDESC "追加のインストールの設定を選択" +${LangFileString} STANDARDINST "通常インストール (推奨)" +${LangFileString} STANDARDINSTDESC "Rainmeterのインストールと必要なライブラリのダウンロードが行われます。" +${LangFileString} PORTABLEINST "ポータブル版のインストール" +${LangFileString} PORTABLEINSTDESC "この項目を理解している場合のみこちらを選択してください。ショートカットの作成やrmskinファイルの関連付けは一切行われません。Visual C++ 2010及び、.NET 2.0ライブラリを手動でインストールする必要があるかもしれません。" +${LangFileString} DESKTOPSHORTCUT "デスクトップにショートカットを追加" +${LangFileString} ALLUSERSSHORTCUT "すべてのユーザーにショートカットを追加" +${LangFileString} AUTOSTARTUP "Windowsの起動時にRainmeterを起動する" +${LangFileString} INSTALLDOTNET ".NET 2.0 frameworkをインストールする (推奨)" +${LangFileString} ADDITIONALOPTIONS "追加の設定" +${LangFileString} RAINMETERVERSION "Rainmeterのバージョン" +${LangFileString} 32BIT "32ビット" +${LangFileString} 64BIT "64ビット" +${LangFileString} UNSTALLOPTIONS "アンインストールの設定" +${LangFileString} UNSTALLOPTIONSDESC "追加の設定を選択" +${LangFileString} UNSTALLRAINMETER "Rainmeterをアンインストール" +${LangFileString} UNSTALLSETTINGS "すべての個人の設定とファイルは完全に削除されます。" +${LangFileString} UNSTALLSETTINGSDESC "(スキン、テーマ、レジストリの設定、スタートメニューの項目を含む)" diff --git a/Language/Korean.h b/Language/Korean.h new file mode 100644 index 00000000..e238100f Binary files /dev/null and b/Language/Korean.h differ diff --git a/Language/Korean.nsh b/Language/Korean.nsh new file mode 100644 index 00000000..e0e87724 --- /dev/null +++ b/Language/Korean.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "레인미터 ${VER}은 Windows 2000을 지원하지 않습니다. 레인미터를 Windows 2000에서 사용하려면, 레인미터 2.0 이전 버전을 다운로드 하세요." +${LangFileString} WINXPS2ERROR "레인미터 ${VER}은 Windows XP 서비스팩2 이상이 필요합니다. 최신 서비스팩으로 업그레이드 후 다시 시도해 주세요." +${LangFileString} WIN2003SP1ERROR "레인미터 ${VER}은 Windows 2003 서비스팩1 이상이 필요합니다. 최신 서비스팩으로 업그레이드 후 다시 시도해 주세요." +${LangFileString} ADMINERROR "관리자 권한이 필요합니다." +${LangFileString} LOGONERROR "로그온 서비스가 실행 중이 아닙니다." +${LangFileString} UACERROR "권한 상승 실패." +${LangFileString} WRITEERROR "포터블 레인미터는 반드시 (일반 사용자로) 완전한 읽기 및 쓰기 권한을 가진 위치에 설치되야 합니다.$\nIf 레인미터를 '$INSTDIR'에 설치하려면 이전으로 가서 '일반 설치'를 선택하세요.$\n$\n또는 완전한 읽기 및 쓰기 권한을 가진 다른 위치를 선택하세요." +${LangFileString} VCINSTERROR "Visual C++ $instArc 설치가 오류 코드 $0로 실패하였습니다.$\n$\nhttp://rainmeter.net/redist에서 직접 Visual C++ 2010 SP1 $instArc 재배포 가능 패키지를 다운로드하세요.$\n$\nOK를 누르면 종료됩니다." +${LangFileString} DOTNETINSTERROR ".NET $instArc 설치가 오류 코드 $0로 실패하였습니다.$\n$\nhttp://rainmeter.net/redist에서 직접 .NET $instArc 재배포 가능 패키지를 다운로드하세요.$\n$\nPress OK to exit." +${LangFileString} RAINMETERCLOSEERROR "레인미터 종료 실패.$\n$\n레인미터를 직접 종료한 후 다시 시도해 주세요." +${LangFileString} SETTINGSFILEERROR "설정 파일(Rainmeter.ini)는 레인미터가 설치된 폴더에 있습니다. 응용 프로그램을 여러 사용자 혹은 제한된 권한의 사용자가 사용할 경우 설정을 유지하는데 문제가 생길 수 있습니다.$\n$\n이 파일을 응용 프로그램 데이터 폴더로 옮기시겠습니까?" +${LangFileString} SETTINGSMOVEERROR "'$INSTDIR\Rainmeter.ini' 파일을 '$APPDATA\Rainmeter\Rainmeter.ini'로 이동할 수 없습습니다." +${LangFileString} SELECTLANGUAGE "설치 언어를 선택하세요." +${LangFileString} INSTALLOPTIONS "설치 옵션" +${LangFileString} INSTALLOPTIONSDESC "추가 설치 옵션을 선택하세요" +${LangFileString} STANDARDINST "일반 설치 (권장)" +${LangFileString} STANDARDINSTDESC "레인미터를 설치하고 필요한 라이브러리들을 다운로드 합니다." +${LangFileString} PORTABLEINST "포터블 설치" +${LangFileString} PORTABLEINSTDESC "이 항목을 알지 못한다면 선택하지 마십시오. 바로 가기가 설치되지 않고 .rmskin 파일 연결이 되지 않습니다. Visual C++ 2010과 .NET 2.0 라이브러리를 수동으로 설치해야 할 수도 있습니다." +${LangFileString} DESKTOPSHORTCUT "바탕 화면에 바로 가기 설치" +${LangFileString} ALLUSERSSHORTCUT "모든 사용자에 바로 가기 설치" +${LangFileString} AUTOSTARTUP "Windows를 시작 시 레인미터 실행" +${LangFileString} INSTALLDOTNET ".NET 2.0 framework 설치 (권장)" +${LangFileString} ADDITIONALOPTIONS "추가 옵션" +${LangFileString} RAINMETERVERSION "레인미터 버전" +${LangFileString} 32BIT "32 비트" +${LangFileString} 64BIT "64 비트" +${LangFileString} UNSTALLOPTIONS "제거 옵션" +${LangFileString} UNSTALLOPTIONSDESC "다른 추가 옵션을 선택하세요" +${LangFileString} UNSTALLRAINMETER "레인미터 제거" +${LangFileString} UNSTALLSETTINGS "모든 개인 설정 및 파일 제거" +${LangFileString} UNSTALLSETTINGSDESC "(스킨, 테마, 애드온, 레지스트리 설정, 시작 메뉴 항목 포함)" \ No newline at end of file diff --git a/Language/Language.rc b/Language/Language.rc new file mode 100644 index 00000000..2c767bba --- /dev/null +++ b/Language/Language.rc @@ -0,0 +1,2 @@ +#include "English.h" +#include "Resource.rc" diff --git a/Language/Language.vcxproj b/Language/Language.vcxproj new file mode 100644 index 00000000..d54603b7 --- /dev/null +++ b/Language/Language.vcxproj @@ -0,0 +1,163 @@ + + + + + Release + Win32 + + + Release + x64 + + + Debug + Win32 + + + Debug + x64 + + + + {6BE6F228-B741-4DA9-9FBC-E9F2A7BD483A} + Language + + + + + DynamicLibrary + false + Unicode + + + DynamicLibrary + Unicode + + + DynamicLibrary + $(COMPILER64) + false + Unicode + + + DynamicLibrary + $(COMPILER64) + Unicode + + + + + + + + + + + + + + + + + + + $(SolutionDir)TestBench\x32\$(Configuration)\Languages\ + .\x32\$(Configuration)\ + 1033 + false + + + $(SolutionDir)TestBench\x32\$(Configuration)\Languages\ + .\x32\$(Configuration)\ + 1033 + false + true + + + $(SolutionDir)TestBench\x64\$(Configuration)\Languages\ + .\x64\$(Configuration)\ + 1033 + false + + + $(SolutionDir)TestBench\x64\$(Configuration)\Languages\ + .\x64\$(Configuration)\ + 1033 + false + true + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + _UNICODE;UNICODE + true + + + + + Disabled + + + true + true + true + + + _UNICODE;UNICODE + true + + + + + Level3 + MaxSpeed + true + true + + + true + true + true + + + _UNICODE;UNICODE + true + + + + + Disabled + + + true + true + true + + + _UNICODE;UNICODE + true + + + + + + true + true + true + true + + + + + + \ No newline at end of file diff --git a/Language/Language.vcxproj.filters b/Language/Language.vcxproj.filters new file mode 100644 index 00000000..a5e7646f --- /dev/null +++ b/Language/Language.vcxproj.filters @@ -0,0 +1,25 @@ + + + + + {4FC737F1-C7A5-4376-A066-2A32D752A2FF} + cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx + + + {93995380-89BD-4b04-88EB-625FBE52EBFB} + h;hpp;hxx;hm;inl;inc;xsd + + + {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} + rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms + + + + + Resource Files + + + Resource Files + + + \ No newline at end of file diff --git a/Language/Language.vcxproj.user b/Language/Language.vcxproj.user new file mode 100644 index 00000000..695b5c78 --- /dev/null +++ b/Language/Language.vcxproj.user @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/Language/Latvian.h b/Language/Latvian.h new file mode 100644 index 00000000..27b2f5b3 Binary files /dev/null and b/Language/Latvian.h differ diff --git a/Language/Latvian.nsh b/Language/Latvian.nsh new file mode 100644 index 00000000..ac316547 --- /dev/null +++ b/Language/Latvian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter programa ${VER} neatbalsta Windows 2000. Lai izmantotu Rainmeter uz Windows 2000 platformas, lejuplādējiet vecāku Rainmeter 2.0 programas versiju." +${LangFileString} WINXPS2ERROR "Rainmeter programai ${VER} nepieciešams Windows XP Servisa paka 2 (SP2) vai augstāks. Lūdzu uzlabojiet uz jaunāku servisa paku un mēģiniet vēlreiz." +${LangFileString} WIN2003SP1ERROR "Rainmeter programai ${VER} nepieciešams Windows 2003 Servisa paka 1 (SP1) vai augstāks. Lūdzu uzlabojiet uz jaunāku servisa paku un mēģiniet vēlreiz." +${LangFileString} ADMINERROR "Nepieciešamas administratora tiesības." +${LangFileString} LOGONERROR "'Logon service' nav ieslēgts." +${LangFileString} UACERROR "Nevar paaugstināt." +${LangFileString} WRITEERROR "Mobīlai Rainmeter programai jābūt instalētai mapē ar pilnīgu piekļuvi (kā parastam lietotājam).$\nJa jūs vēlaties instalēt Rainmeter programu mapē '$INSTDIR', tad ejat atpakaļ un izvēlaties 'Standarta instalāciju'.$\n$\nVai arī, definējiet citu mapi ar pilnīgu piekļuvi." +${LangFileString} VCINSTERROR "Visual C++ $instArc instalēšana neizdevās anr kļūdas kodu $0.$\n$\nJums vajag lejuplādēt Visual C++ 2010 SP1 $instArc redistributable package manuāli no http://rainmeter.net/redist$\n$\nNospiediet OK lai izietu." +${LangFileString} DOTNETINSTERROR ".NET $instArc instalēšana neizdevās ar kļūdas kodu $0.$\n$\nJums vajag lejuplādēt .NET $instArc redistributable package manuāli no http://rainmeter.net/redist$\n$\nNospiediet OK lai izietu." +${LangFileString} RAINMETERCLOSEERROR "Neizdevās aizvērt Rainmeter.$\n$\nLūdzu aizveriet Rainmeter programu manuāli un mēģiniet vēlreiz." +${LangFileString} SETTINGSFILEERROR "Uzstādījumu fails (Rainmeter.ini) atrodas instalācijas mapē. Faila atstāšana tur, var radīt problēmas, ja programu izmanto vairāki lietotāji vai jebkurš ar ierobežotām lietotāja privilēģijām.$\n$\nVai jūs vēlaties pārvietot failu uz programas datu mapi?" +${LangFileString} SETTINGSMOVEERROR "Nevar pārvietot failu '$INSTDIR\Rainmeter.ini' uz '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Lūdzu izvēlieties instalēšanas valodu." +${LangFileString} INSTALLOPTIONS "Instalēšanas opcijas" +${LangFileString} INSTALLOPTIONSDESC "Izvēlieties papildus instalēšanas opcijas" +${LangFileString} STANDARDINST "Standarta instalācija (rekomendējam)" +${LangFileString} STANDARDINSTDESC "Instalē programu Rainmeter un lejuplādē nepieciešamos failus." +${LangFileString} PORTABLEINST "Mobīlā instalēcija" +${LangFileString} PORTABLEINSTDESC "Neizvēlieties šo, ja jūs nezinat ko jūs darat. Īsceļi netiks izveidoti un .rmskin extension netiks reģistrēts. Visual C++ 2010 un .NET 2.0 faili nepieciešams instalēt manuāli." +${LangFileString} DESKTOPSHORTCUT "Izveidot darba virsmas īsceļu" +${LangFileString} ALLUSERSSHORTCUT "Izveidot Isceļus visiem lietotājiem" +${LangFileString} AUTOSTARTUP "Palaist Rainmeter līdz ar sistēmas ieslēgšanu" +${LangFileString} INSTALLDOTNET "Instalēt .NET 2.0 framework (rekomendējam)" +${LangFileString} ADDITIONALOPTIONS "Papildu opcijas" +${LangFileString} RAINMETERVERSION "Rainmeter programas versija" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Atinstalēšanas opcijas" +${LangFileString} UNSTALLOPTIONSDESC "Izvēlieties jebkuras papildu opcijas" +${LangFileString} UNSTALLRAINMETER "Atinstalēt Rainmeter programu" +${LangFileString} UNSTALLSETTINGS "Izdzēst pilnībā visus personiskus uzstādijumus un failus" +${LangFileString} UNSTALLSETTINGSDESC "(ieskaitot ierīces, tēmas, paplašinājumus, reģistra uzstādijumus, un Start izvēlnes īsceļus)" \ No newline at end of file diff --git a/Language/List b/Language/List new file mode 100644 index 00000000..66ab5310 --- /dev/null +++ b/Language/List @@ -0,0 +1,36 @@ +Arabic,Arabic,1025 +Bulgarian,Bulgarian,1026 +ChineseSimplified,SimpChinese,2052 +ChineseTraditional,TradChinese,1028 +Croatian,Croatian,1050 +Czech,Czech,1029 +Danish,Danish,1030 +Dutch,Dutch,1043 +English,English,1033 +Finnish,Finnish,1035 +French,French,1036 +German,German,1031 +Greek,Greek,1032 +Hebrew,Hebrew,1037 +Hungarian,Hungarian,1038 +Indonesian,Indonesian,1057 +Italian,Italian,1040 +Japanese,Japanese,1041 +Korean,Korean,1042 +Latvian,Latvian,1062 +Lithuanian,Lithuanian,1063 +NorwegianBokmal,Norwegian,1044 +Polish,Polish,1045 +PortugueseBrazil,PortugueseBR,1046 +PortuguesePortugal,Portuguese,2070 +Romanian,Romanian,1048 +Russian,Russian,1049 +SerbianCyrillic,Serbian,3098 +SerbianLatin,SerbianLatin,2074 +Slovak,Slovak,1051 +Slovenian,Slovenian,1060 +SpanishModern,SpanishInternational,3082 +Swedish,Swedish,1053 +Turkish,Turkish,1055 +Ukrainian,Ukrainian,1058 +Vietnamese,Vietnamese,1066 \ No newline at end of file diff --git a/Language/Lithuanian.h b/Language/Lithuanian.h new file mode 100644 index 00000000..56c2bc2c Binary files /dev/null and b/Language/Lithuanian.h differ diff --git a/Language/Lithuanian.nsh b/Language/Lithuanian.nsh new file mode 100644 index 00000000..b7efe030 --- /dev/null +++ b/Language/Lithuanian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "'Rainmeter' ${VER} nepalaiko 'Windows 2000'. Norėdami naudoti 'Rainmeter' 'Windows 2000' systemoje, atsisiųskite senesnę ''Rainmeter'' 2.0 versija." +${LangFileString} WINXPS2ERROR "'Rainmeter' ${VER} reikia 'Windows XP SP2' arba naujesnės. Prašome įdiegti naujausią pakeitimų paketą ir bandyti dar kartą." +${LangFileString} WIN2003SP1ERROR "'Rainmeter' ${VER} reikia 'Windows 2003 SP1' arba naujesnės. Prašome įdiegti naujausią pakeitimų paketą ir bandyti dar kartą." +${LangFileString} ADMINERROR "Turite turėti administratoriaus teises." +${LangFileString} LOGONERROR "Registravimosi tarnyba neveikia." +${LangFileString} UACERROR "Nepavyko sukelti teisių." +${LangFileString} WRITEERROR "Kilnojamas 'Rainmeter' privalo būti įdiegtas į vietą su pilna skaitymo ir rašymo prieiga (normaliam vartotojui).$\nJei norite įdiegti 'Rainmeter' į '$INSTDIR', grįžkite ir pasirinkite 'Standartinis įdiegimas'.$\n$\nPriešingu atveju, paieškokite kitą vietą su pilna skaitymo ir rašymo prieiga." +${LangFileString} VCINSTERROR "'Visual C++' $instArc diegimas buvo nesėkmingas, klaidos kodas $0.$\n$\nGalbūt norėsite atsisiųsti Visual C++ 2010 SP1 $instArc platinimo paketą rankiniu būdu šiuo adresu http://rainmeter.net/redist$\n$\nPaspauskite Gerai, kad išeitumėte." +${LangFileString} DOTNETINSTERROR "'.NET' $instArc diegimas buvo nesėkmingas, klaidos kodas $0.$\n$\nGalbūt norėsite atsisiųsti '.NET' $instArc platinimo paketą rankiniu būdu šiuo adresu http://rainmeter.net/redist$\n$\nPaspauskite Gerai, kad išeitumėte." +${LangFileString} RAINMETERCLOSEERROR "Nepavyko uždaryti 'Rainmeter'.$\n$\nPrašome rankiniu būdu uždaryti 'Rainmeter' ir bandyti dar kartą įdiegti." +${LangFileString} SETTINGSFILEERROR "Parametrų failas ('Rainmeter'.ini) yra diegimo aplanke. Palikus jį ten, gali kelti problemų, jei programa yra naudojasi keleta vartotojų arba nors vienas vartotojas su apribotomis teisėmis.$\n$\nAr norite perkelti failą į Programų duomenų aplanką?" +${LangFileString} SETTINGSMOVEERROR "Nepavyko perkelti failą iš '$INSTDIR\Rainmeter.ini' į '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Prašome pasirinkti diegimo kalbą." +${LangFileString} INSTALLOPTIONS "Diegimo Parinktis" +${LangFileString} INSTALLOPTIONSDESC "Pasirinkite papildomas diegimo parinktis" +${LangFileString} STANDARDINST "Standartinis įdiegimas (rekomenduojama)" +${LangFileString} STANDARDINSTDESC "Įdiegia 'Rainmeter' ir atsisiunčia reikalingas bibliotekas." +${LangFileString} PORTABLEINST "Įdiegti kilnojamą" +${LangFileString} PORTABLEINSTDESC "Nežymėkite, nebent žinote ką darote. Nebus sukurtos nuorodos ir .rmskin failo išplėtimas nebus registruotas. 'Visual C++ 2010' ir '.NET 2.0' bibliotekas gali tekti įdiegti rankiniu būdu." +${LangFileString} DESKTOPSHORTCUT "Pridėti darbastalio nuorodą" +${LangFileString} ALLUSERSSHORTCUT "Pridėti nuorodas visiems vartotojams" +${LangFileString} AUTOSTARTUP "Įkelti 'Rainmeter' paleidus operacinę sistemą" +${LangFileString} INSTALLDOTNET "Įdiegti '.NET 2.0 framework' (rekomenduojama)" +${LangFileString} ADDITIONALOPTIONS "Papildomi parametrai" +${LangFileString} RAINMETERVERSION "'Rainmeter' versija" +${LangFileString} 32BIT "32-bitų" +${LangFileString} 64BIT "64-bitų" +${LangFileString} UNSTALLOPTIONS "Pašalinimo parametrai" +${LangFileString} UNSTALLOPTIONSDESC "Pasirinkite bet kokius papildomus parametrus" +${LangFileString} UNSTALLRAINMETER "Pašalinti 'Rainmeter'" +${LangFileString} UNSTALLSETTINGS "Visiškai pašalinkite visus asmeninius parametrus ir failus" +${LangFileString} UNSTALLSETTINGSDESC "(įskaitant išvaizdas, temos, priedai, registro nustatymus, ir nuorodas iš pagrindinio meniu)" \ No newline at end of file diff --git a/Language/NorwegianBokmal.h b/Language/NorwegianBokmal.h new file mode 100644 index 00000000..45ea8ecd Binary files /dev/null and b/Language/NorwegianBokmal.h differ diff --git a/Language/NorwegianBokmal.nsh b/Language/NorwegianBokmal.nsh new file mode 100644 index 00000000..4a64f077 --- /dev/null +++ b/Language/NorwegianBokmal.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} støtter ikke Windows 2000. For å benytte Rainmeter på Windows 2000, last ned den eldre versjonen, Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} krever Windows XP SP2 eller nyere. Vennligst oppdater til siste service pakke og prøv igjen." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} krever Windows 2003 SP1 eller nyere. Vennligst oppdater til siste service pakke og prøv igjen." +${LangFileString} ADMINERROR "Administratortilgang kreves." +${LangFileString} LOGONERROR "Påloggingstjenesten kjører ikke." +${LangFileString} UACERROR "Kunne ikke heve." +${LangFileString} WRITEERROR "Portabel Rainmeter må installeres på en lokasjon med full lese- og skrivetilgang (som en normal bruker).$\nHvis du vil installere Rainmeter til '$INSTDIR', gå tilbake og velg 'Standard installasjon'.$\n$\nEllers bla til en annen lokasjon med lese- og skrivetilgang." +${LangFileString} VCINSTERROR "Kunne ikke installere Visual C++ $instArc (feilkode $0).$\n$\nDu kan forsøke å laste ned Visual C++ 2010 SP1 $instArc redistributable package manuelt fra http://rainmeter.net/redist$\n$\nKlikk OK for å avslutte." +${LangFileString} DOTNETINSTERROR "Kunne ikke installere .NET $instArc (feilkode $0).$\n$\nDu kan forsøke å laste ned .NET $instArc redistributable package manuelt fra http://rainmeter.net/redist$\n$\nKlikk OK for å avslutte." +${LangFileString} RAINMETERCLOSEERROR "Kunne ikke avslutte Rainmeter.$\n$\nVennligst avslutt Rainmeter manuelt og prøv igjen." +${LangFileString} SETTINGSFILEERROR "Konfigurasjonsfilen (Rainmeter.ini) er lokalisert i installasjonsmappen. Å beholde filen der kan føre til problemer hvis programmet benyttes av flere brukere eller brukere med begrensede rettigheter.$\n$\nØnsker du å flytte filen til mappen for brukerdata?" +${LangFileString} SETTINGSMOVEERROR "Kunne ikke flytte filen '$INSTDIR\Rainmeter.ini' til '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Velg språk for installasjonsveilederen." +${LangFileString} INSTALLOPTIONS "Innstillinger" +${LangFileString} INSTALLOPTIONSDESC "Velg flere innstillinger" +${LangFileString} STANDARDINST "Standard installasjon (anbefalt)" +${LangFileString} STANDARDINSTDESC "Installerer Rainmeter og laster ned påkrevde biblioteker." +${LangFileString} PORTABLEINST "Portabel installasjon" +${LangFileString} PORTABLEINSTDESC "Ikke velg denne dersom du ikke er helt sikker på hva du gjør. Snarveier blir ikke opprettet og filtypen .rmskin blir ikke registrert. Visual C++ 2010 og .NET 2.0 bibliotek må installeres manuelt." +${LangFileString} DESKTOPSHORTCUT "Legg til snarvei på skrivebordet" +${LangFileString} ALLUSERSSHORTCUT "Legg til snarvei for alle brukere" +${LangFileString} AUTOSTARTUP "Kjør Rainmeter ved oppstart" +${LangFileString} INSTALLDOTNET "Installer .NET 2.0 rammeverk (anbefalt)" +${LangFileString} ADDITIONALOPTIONS "Flere innstillinger" +${LangFileString} RAINMETERVERSION "Rainmeter versjon" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Innstillinger for avinstallering" +${LangFileString} UNSTALLOPTIONSDESC "Velg flere innstillinger" +${LangFileString} UNSTALLRAINMETER "Avinstaller Rainmeter" +${LangFileString} UNSTALLSETTINGS "Fjern alle personlige innstillinger og filer" +${LangFileString} UNSTALLSETTINGSDESC "(inkludert skins, temaer, tillegg, registerinnstillinger, og Startmenyvalg)" \ No newline at end of file diff --git a/Language/Polish.h b/Language/Polish.h new file mode 100644 index 00000000..0e92a6d4 Binary files /dev/null and b/Language/Polish.h differ diff --git a/Language/Polish.nsh b/Language/Polish.nsh new file mode 100644 index 00000000..ec8c814b --- /dev/null +++ b/Language/Polish.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} nie wspiera Windows 2000. W celu użycia na Windows 2000, pobierz starszą wersję Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} wymaga wersji Windows XP SP2 lub wyższej. Pobierz ostatnią wersję pakietu aktualizującego i spróbuj ponownie." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} wymaga wersji Windows 2003 SP1 lub wyższej. Pobierz ostatnią wersję pakietu aktualizującego i spróbuj ponownie." +${LangFileString} ADMINERROR "Potrzebne uprawnienia administratora." +${LangFileString} LOGONERROR "Usługa logowania nie uruchomiona." +${LangFileString} UACERROR "Nie można podnieść." +${LangFileString} WRITEERROR "Przenośny Rainmeter musi być zainstalowany w lokalizacji z pełnymi uprawnieniami do odczytu i zapisu (jako zwykły użytkownik).$\nJeżeli chcesz zapisać Rainmeter w '$INSTDIR', wróć i wybierz 'Instalacja standardowa'.$\n$\nW przeciwnym wypadku, wybierz inną lokalizację z pełnymi uprawnieniami do odczytu i zapisu." +${LangFileString} VCINSTERROR "Instalacja Visual C++ $instArc nieudana. Kod błędu $0.$\n$\nMożesz spróbować pobrać pakiet Visual C++ 2010 SP1 $instArc ręcznie z http://rainmeter.net/redist$\n$\nNaciśnij OK żeby wyjść." +${LangFileString} DOTNETINSTERROR "Instalacja .NET $instArc nieudana. Kod błędu $0.$\n$\nMożesz spróbować pobrać pakiet .NET $instArc ręcznie z http://rainmeter.net/redist$\n$\nNaciśnij OK żeby wyjść." +${LangFileString} RAINMETERCLOSEERROR "Nie udało się zamknąć Rainmeter.$\n$\nZamknij Rainmeter ręcznie i spróbuj ponownie." +${LangFileString} SETTINGSFILEERROR "Plik konfiguracyjny (Rainmeter.ini) jest umieszczony w folderze instalacyjnym. Trzymanie go w tej lokalizacji może powodować problemy jeżeli z aplikacji korzysta wielu użytkowników lub gdy któryś z nich ma ograniczone uprawnienia.$\n$\nCzy chcesz przenieść plik do folderu danych aplikacji?" +${LangFileString} SETTINGSMOVEERROR "Nie można przenieść pliku '$INSTDIR\Rainmeter.ini' do '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Please select the installer language." +${LangFileString} INSTALLOPTIONS "Opcje instalacji" +${LangFileString} INSTALLOPTIONSDESC "Wybierz dodatkowe opcje instalacji" +${LangFileString} STANDARDINST "Standardowa instalacja (zalecane)" +${LangFileString} STANDARDINSTDESC "Instaluje Rainmeter i pobiera wymagane biblioteki." +${LangFileString} PORTABLEINST "Instalacja przenośna" +${LangFileString} PORTABLEINSTDESC "Nie zaznaczaj tego jeżeli nie wiesz co robisz. Skróty nie zostaną utworzone a rozszerzenie .rmskin nie będzie zarejestrowane. Może być konieczne ręczne zainstalowanie bibliotek Visual C++ 2010 oraz .NET 2.0." +${LangFileString} DESKTOPSHORTCUT "Dodaj srót na Pulpicie" +${LangFileString} ALLUSERSSHORTCUT "Dodaj skrót dla wszystkich użytkowników" +${LangFileString} AUTOSTARTUP "Automatycznie uruchamiaj Rainmeter wraz z Windows" +${LangFileString} INSTALLDOTNET "Zainstaluj .NET 2.0 framework (zalecane)" +${LangFileString} ADDITIONALOPTIONS "Dodatkowe opcje" +${LangFileString} RAINMETERVERSION "Wersja Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Opcje odinstalowania" +${LangFileString} UNSTALLOPTIONSDESC "Wybierz dodatkowe opcje" +${LangFileString} UNSTALLRAINMETER "Odinstaluj Rainmeter" +${LangFileString} UNSTALLSETTINGS "Całkowicie usuń wszystkie osobiste ustawienia i pliki" +${LangFileString} UNSTALLSETTINGSDESC "(wraz ze skórkami, tematami, dodatkami, ustawieniami rejestru i wpisami menu Start)" \ No newline at end of file diff --git a/Language/PortugueseBrazil.h b/Language/PortugueseBrazil.h new file mode 100644 index 00000000..adb98fd2 Binary files /dev/null and b/Language/PortugueseBrazil.h differ diff --git a/Language/PortugueseBrazil.nsh b/Language/PortugueseBrazil.nsh new file mode 100644 index 00000000..944dd14d --- /dev/null +++ b/Language/PortugueseBrazil.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} não suporta Windows 2000. Para usar o Rainmeter no seu computador, faça download da versão mais antiga do Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} requer Windows XP SP2 ou mais recente. Por favor atualize o Service Pack mais recente e tente novamente." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} requer Windows 2003 SP1 ou mais recente. Por favor atualize o Service Pack e tente novamente." +${LangFileString} ADMINERROR "Direitos administrativos são necessários." +${LangFileString} LOGONERROR "Serviço de login não está sendo executado." +${LangFileString} UACERROR "Não foi possível elevar." +${LangFileString} WRITEERROR "Rainmeter Portable deve ser instalado em um local com total acesso a criação e edição de arquivos (como usuário comum). $\nSe você deseja instalar o Rainmeter em '$INSTDIR', volte e selecione 'Instalação Padrão'. $\n$\nOu procure outro local com total acesso a criação e edição de arquivos." +${LangFileString} VCINSTERROR "Visual C++$instArc falha na instalação, código de erro $0.$\n$\nVocê pode desejar baixar o Visual C++ 2010 SP1 $instArc manualmente em http://rainmeter.net/redist$\n$\nPressione OK para sair." +${LangFileString} DOTNETINSTERROR ".NET $instArc falha na instalação, código de erro $0.$\n$\nVocê pode desejar baixar o .NET $instArc manualmente em http://rainmeter.net/redist$\n$\nPressione OK para sair." +${LangFileString} RAINMETERCLOSEERROR "Falha ao encerrar o Rainmeter. $\n$\nPor favor, feche o Rainmeter manualmente e tente novamente." +${LangFileString} SETTINGSFILEERROR "O arquivo de configurações (Rainmeter.ini) está localizado na pasta de instalação. Mantê-lo nesta pasta pode causar problemas se o aplicativo for usado por vários usuários ou por algum usuário com privilégios restritos.$\n$\nVocê deseja mover o arquivo para a pasta de dados do aplicativo?" +${LangFileString} SETTINGSMOVEERROR "Não foi possível mover o arquivo '$INSTDIR\Rainmeter.ini' para '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Por favor, selecione o idioma do instalador." +${LangFileString} INSTALLOPTIONS "Opções de Instalação" +${LangFileString} INSTALLOPTIONSDESC "Selecione opções de instalação adcionais" +${LangFileString} STANDARDINST "Instalação padrão (recomendável)" +${LangFileString} STANDARDINSTDESC "Instala o Rainmeter e baixa bibliotecas necessárias." +${LangFileString} PORTABLEINST "Instalação Portable" +${LangFileString} PORTABLEINSTDESC "Não selecione se não souber o que está fazendo. Atalhos não serão criados e a extensão .rmskin não será registrada. As bibliotecas Visual C++ 2010 e .NET 2.0 provavelmente terão de ser instaladas manualmente." +${LangFileString} DESKTOPSHORTCUT "Adicionar atalho na área de trabalho" +${LangFileString} ALLUSERSSHORTCUT "Adicionar atalhos para todos os usuários" +${LangFileString} AUTOSTARTUP "Iniciar com o Windows" +${LangFileString} INSTALLDOTNET "Instalar .NET Framework 2.0 (recomendável)" +${LangFileString} ADDITIONALOPTIONS "Opções Adicionais" +${LangFileString} RAINMETERVERSION "Versão do Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Opções de desinstalação" +${LangFileString} UNSTALLOPTIONSDESC "Selecione opções adcionais" +${LangFileString} UNSTALLRAINMETER "Desistalar o Rainmeter" +${LangFileString} UNSTALLSETTINGS "Remover completamente arquivos e configurações pessoais" +${LangFileString} UNSTALLSETTINGSDESC "(incluindo skins, temas, addons, opções de registro, e itens do menu Iniciar)" \ No newline at end of file diff --git a/Language/PortuguesePortugal.h b/Language/PortuguesePortugal.h new file mode 100644 index 00000000..fb14a14e Binary files /dev/null and b/Language/PortuguesePortugal.h differ diff --git a/Language/PortuguesePortugal.nsh b/Language/PortuguesePortugal.nsh new file mode 100644 index 00000000..de003feb --- /dev/null +++ b/Language/PortuguesePortugal.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} suporta o Windows 2000. Para usar o Rainmeter no Windows 2000, faz download do Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} requer o Windows XP SP2 ou melhor. Por favor atualiza para o último Service Pack e tenta outra vez." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} requer o Windows 2003 SP1 ou melhor. Por favor atualiza para o último Service Pack e tenta outra vez." +${LangFileString} ADMINERROR "Direitos de administração necessários." +${LangFileString} LOGONERROR "O serviço de inicio de sessão não está a ser executado." +${LangFileString} UACERROR "Unable to elevate." +${LangFileString} WRITEERROR "A versão portátil do Rainmeter tem de ser instalada num local onde seja com direitos completos de escrita e leitura sem necessidade de direitos de administrador.$\nSe instalaste o Rainmetem em '$INSTDIR', volta atrás e seleciona 'Instalação Normal'.$\n$\nCaso contrário, escolhe outro local que respeite o direitos requeridos." +${LangFileString} VCINSTERROR "A instalação do Visual C++ $instArc falhou com o código de erro $0.$\n$\nÉ melhor fazer download manualmente do Visual C++ 2010 SP1 $instArc em http://rainmeter.net/redist$\n$\nPressiona ok para sair." +${LangFileString} DOTNETINSTERROR "A instalação do .NET $instArc falhou com o código de erro $0.$\n$\nÉ melhor fazer download manualmente do .NET $instArc em http://rainmeter.net/redist$\n$\nPressiona ok para sair." +${LangFileString} RAINMETERCLOSEERROR "Não foi possível fechar o Rainmeter.$\n$\nPor favor, fecha o Rainmeter manualmente e tenta outra vez." +${LangFileString} SETTINGSFILEERROR "O ficheiro de configurações (Rainmeter.ini) está localizado no local de instalação. Mantê-lo lá pode causar problemas se a aplicação for usada por múltiplos utilizadores ou por alguem com privilégios de utilizador restritos.$\n$\nQueres mover o ficheiro paraa pasta application data?" +${LangFileString} SETTINGSMOVEERROR "Não foi possível mover o ficheiro '$INSTDIR\Rainmeter.ini' para '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Seleciona a linguagem a ser utilizada na instalação." +${LangFileString} INSTALLOPTIONS "Opções de instalação" +${LangFileString} INSTALLOPTIONSDESC "Seleciona opções adicionais de instalação" +${LangFileString} STANDARDINST "Instalação normal (recomendado)" +${LangFileString} STANDARDINSTDESC "Instala o Rainmeter e faz download das bases de dados necessárias." +${LangFileString} PORTABLEINST "Instalação portátil" +${LangFileString} PORTABLEINSTDESC "Não seleciones isto a não ser que saibas o que estás a fazer. Os talhos não serão criados e a extensão .rmskin não vai será registada. As bases de dados Visual C++ 2010 e .NET 2.0 terão de ser manualmente instaladas." +${LangFileString} DESKTOPSHORTCUT "Adicionar atalho ao ambiente de trabalho" +${LangFileString} ALLUSERSSHORTCUT "Adicionar atalhos para todos os utilizadores" +${LangFileString} AUTOSTARTUP "Ligar o Rainmeter ao ligar o computador" +${LangFileString} INSTALLDOTNET "Instalar o .NET 2.0 Framework (recomendado)" +${LangFileString} ADDITIONALOPTIONS "Opções adicionais" +${LangFileString} RAINMETERVERSION "Versão do Rainmeteter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Opções de desinstalação" +${LangFileString} UNSTALLOPTIONSDESC "Selecionar opções adicionais" +${LangFileString} UNSTALLRAINMETER "Desinstalar Rainmeter" +${LangFileString} UNSTALLSETTINGS "Remover completamente todas a configurações e ficheiro do Rainmeter" +${LangFileString} UNSTALLSETTINGSDESC "(incluíndo skins, temas, addons, opções do registo e ficheiros do Menu Iniciar)" \ No newline at end of file diff --git a/Language/Resource.rc b/Language/Resource.rc new file mode 100644 index 00000000..7a2668ba --- /dev/null +++ b/Language/Resource.rc @@ -0,0 +1,341 @@ +#include +#include "../Library/resource.h" +#include "../Version.h" + +LANGUAGE LANG_ENGLISH, SUBLANG_DEFAULT + +///////////////////////////////////////////////////////////////////////////// +// +// Menu +// + +IDR_CONTEXT_MENU MENU +{ + POPUP "Rainmeter" + { + MENUITEM STR_MANAGE, IDM_MANAGE + MENUITEM STR_ABOUT, IDM_ABOUT + MENUITEM STR_HELP, IDM_SHOW_HELP + MENUITEM SEPARATOR + POPUP STR_SKINS + { + MENUITEM STR_NOSKINS, 0, GRAYED + MENUITEM SEPARATOR + MENUITEM STR_OPENFOLDER, IDM_OPENSKINSFOLDER + MENUITEM STR_DISABLEDRAGGING, IDM_DISABLEDRAG + } + POPUP STR_THEMES + { + MENUITEM STR_NOTHEMES, 0, GRAYED + } + MENUITEM SEPARATOR + MENUITEM STR_EDITSETTINGS, IDM_EDITCONFIG + MENUITEM STR_REFRESHALL, IDM_REFRESH + MENUITEM SEPARATOR + POPUP STR_LOGGING + { + MENUITEM STR_SHOWLOGFILE, IDM_SHOWLOGFILE + MENUITEM SEPARATOR + MENUITEM STR_STARTLOGGING, IDM_STARTLOG + MENUITEM STR_STOPLOGGING, IDM_STOPLOG + MENUITEM SEPARATOR + MENUITEM STR_DELETELOGFILE, IDM_DELETELOGFILE + MENUITEM STR_DEBUGMODE, IDM_DEBUGLOG + } + MENUITEM SEPARATOR + MENUITEM STR_EXIT, IDM_QUIT + } +} + +IDR_SKIN_MENU MENU +{ + POPUP "Skin" + { + MENUITEM " ", IDM_SKIN_OPENSKINSFOLDER // " " is intentional + MENUITEM SEPARATOR + POPUP STR_VARIANTS + { + MENUITEM SEPARATOR // Dummy + } + MENUITEM SEPARATOR + POPUP STR_SETTINGS + { + POPUP STR_POSITION + { + POPUP STR_DISPLAYMONITOR + { + MENUITEM STR_USEDEFAULTMONITOR, IDM_SKIN_MONITOR_PRIMARY + MENUITEM STR_VIRTUALSCREEN, ID_MONITOR_FIRST + MENUITEM SEPARATOR + MENUITEM SEPARATOR + MENUITEM STR_AUTOSELECTMONITOR, IDM_SKIN_MONITOR_AUTOSELECT + } + MENUITEM SEPARATOR + MENUITEM STR_STAYTOPMOST, IDM_SKIN_VERYTOPMOST + MENUITEM STR_TOPMOST, IDM_SKIN_TOPMOST + MENUITEM STR_NORMAL, IDM_SKIN_NORMAL + MENUITEM STR_BOTTOM, IDM_SKIN_BOTTOM + MENUITEM STR_ONDESKTOP, IDM_SKIN_ONDESKTOP + MENUITEM SEPARATOR + MENUITEM STR_FROMRIGHT, IDM_SKIN_FROMRIGHT + MENUITEM STR_FROMBOTTOM, IDM_SKIN_FROMBOTTOM + MENUITEM STR_XASPERCENTAGE, IDM_SKIN_XPERCENTAGE + MENUITEM STR_YASPERCENTAGE, IDM_SKIN_YPERCENTAGE + } + POPUP STR_TRANSPARENCY + { + MENUITEM "0%", IDM_SKIN_TRANSPARENCY_0 + MENUITEM "10%", IDM_SKIN_TRANSPARENCY_10 + MENUITEM "20%", IDM_SKIN_TRANSPARENCY_20 + MENUITEM "30%", IDM_SKIN_TRANSPARENCY_30 + MENUITEM "40%", IDM_SKIN_TRANSPARENCY_40 + MENUITEM "50%", IDM_SKIN_TRANSPARENCY_50 + MENUITEM "60%", IDM_SKIN_TRANSPARENCY_60 + MENUITEM "70%", IDM_SKIN_TRANSPARENCY_70 + MENUITEM "80%", IDM_SKIN_TRANSPARENCY_80 + MENUITEM "90%", IDM_SKIN_TRANSPARENCY_90 + MENUITEM SEPARATOR + MENUITEM STR_FADEIN, IDM_SKIN_TRANSPARENCY_FADEIN + MENUITEM STR_FADEOUT, IDM_SKIN_TRANSPARENCY_FADEOUT + } + MENUITEM SEPARATOR + MENUITEM STR_HIDEONMOUSEOVER, IDM_SKIN_HIDEONMOUSE + MENUITEM STR_DRAGGABLE, IDM_SKIN_DRAGGABLE + MENUITEM STR_SAVEPOSITION, IDM_SKIN_REMEMBERPOSITION + MENUITEM STR_SNAPTOEDGES, IDM_SKIN_SNAPTOEDGES + MENUITEM STR_CLICKTHROUGH, IDM_SKIN_CLICKTHROUGH + MENUITEM STR_KEEPONSCREEN, IDM_SKIN_KEEPONSCREEN + } + MENUITEM SEPARATOR + MENUITEM STR_MANAGESKIN, IDM_SKIN_MANAGESKIN + MENUITEM STR_EDITSKIN, IDM_SKIN_EDITSKIN + MENUITEM STR_REFRESHSKIN, IDM_SKIN_REFRESH + MENUITEM SEPARATOR + MENUITEM STR_UNLOADSKIN, IDM_CLOSESKIN + } +} + +IDR_MANAGESKINS_MENU MENU +{ + POPUP "Folder" + { + MENUITEM STR_EXPAND, IDM_MANAGESKINSMENU_EXPAND + MENUITEM STR_OPENFOLDER, IDM_MANAGESKINSMENU_OPENFOLDER + } + POPUP "Item" + { + MENUITEM STR_LOAD, IDM_MANAGESKINSMENU_LOAD + MENUITEM STR_REFRESH, IDM_MANAGESKINSMENU_REFRESH + MENUITEM STR_EDIT, IDM_MANAGESKINSMENU_EDIT + } +} + +///////////////////////////////////////////////////////////////////////////// +// +// Dialog +// + +IDD_ABOUT_DIALOG DIALOGEX 0, 0, 400, 210 +STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME +EXSTYLE WS_EX_APPWINDOW | WS_EX_CONTROLPARENT +CAPTION STR_ABOUTRAINMETER +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + CONTROL "", IDC_ABOUT_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 388, 181 + DEFPUSHBUTTON STR_CLOSE, IDCLOSE, 344, 191, 50, 14 +} + +IDD_ABOUTLOG_DIALOG DIALOGEX 15, 30, 370, 148 +STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + CONTROL "", IDC_ABOUTLOG_ITEMS_LISTVIEW, "SysListView32", LVS_ICON | LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 0, 0, 368, 135 + AUTOCHECKBOX STR_ERROR, IDC_ABOUTLOG_ERROR_CHECKBOX, 0, 139, 70, 9 + AUTOCHECKBOX STR_WARNING, IDC_ABOUTLOG_WARNING_CHECKBOX, 70, 139, 70, 9 + AUTOCHECKBOX STR_NOTICE, IDC_ABOUTLOG_NOTICE_CHECKBOX, 140, 139, 70, 9 + AUTOCHECKBOX STR_DEBUG, IDC_ABOUTLOG_DEBUG_CHECKBOX, 210, 139, 70, 9 +} + +IDD_ABOUTSKINS_DIALOG DIALOGEX 15, 30, 370, 148 +STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + LISTBOX IDC_ABOUTSKINS_ITEMS_LISTBOX, 0, 0, 120, 148, LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP + CONTROL "", IDC_ABOUTSKINS_ITEMS_LISTVIEW, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 125, 0, 242, 148 +} + +IDD_ABOUTPLUGINS_DIALOG DIALOGEX 15, 30, 370, 148 +STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + CONTROL "", IDC_ABOUTPLUGINS_ITEMS_LISTVIEW, "SysListView32", LVS_REPORT | LVS_SINGLESEL | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP, 0, 0, 368, 148 +} + +IDD_ABOUTVERSION_DIALOG DIALOGEX 15, 30, 370, 148 +STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + CONTROL 0, IDC_ABOUTVERSION_RAINMETER_ICON, STATIC, SS_ICON | WS_CHILD | WS_VISIBLE, 0, 8, 24, 24 + LTEXT "", IDC_ABOUTVERSION_VERSION_TEXT, 28, 0, 300, 9 + CONTROL STR_GETLATESTVERSION, IDC_STATIC, "SysLink", 0x0, 28, 13, 300, 9 + CONTROL STR_COPYRIGHTNOTICE, IDC_STATIC, "SysLink", 0x0, 28, 26, 300, 9 + LTEXT "", IDC_ABOUTVERSION_PATH_TEXT, 0, 43, 360, 9, SS_ENDELLIPSIS | SS_NOPREFIX + LTEXT "", IDC_ABOUTVERSION_INIFILE_TEXT, 0, 56, 360, 9, SS_ENDELLIPSIS | SS_NOPREFIX + LTEXT "", IDC_ABOUTVERSION_SKINPATH_TEXT, 0, 69, 360, 9, SS_ENDELLIPSIS | SS_NOPREFIX + PUSHBUTTON STR_COPYTOCLIPBOARD, IDC_ABOUTVERSION_COPY_BUTTON, 0, 85, NUM_BUTTONWIDTH + 25, 14, WS_TABSTOP +} + +IDD_MANAGE_DIALOG DIALOGEX 0, 0, 500, 322 +STYLE DS_CENTER | WS_MINIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU +EXSTYLE WS_EX_APPWINDOW | WS_EX_CONTROLPARENT +CAPTION STR_MANAGERAINMETER +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + CONTROL "", IDC_MANAGE_TAB, "SysTabControl32", TCS_TABS | TCS_FIXEDWIDTH, 6, 6, 488, 293 + PUSHBUTTON STR_REFRESHALL, IDC_REFRESHALL_BUTTON, 5, 303, NUM_BUTTONWIDTH, 14 + PUSHBUTTON STR_EDITSETTINGS, IDC_EDITSETTINGS_BUTTON, NUM_BUTTONWIDTH + 9, 303, NUM_BUTTONWIDTH, 14 + PUSHBUTTON STR_OPENLOG, IDC_OPENLOG_BUTTON, NUM_BUTTONWIDTH + NUM_BUTTONWIDTH + 13, 303, NUM_BUTTONWIDTH, 14 + PUSHBUTTON STR_CLOSE, IDCLOSE, 444, 303, 50, 14 +} + +IDD_MANAGESKINS_DIALOG DIALOGEX 15, 30, 470, 260 +STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + PUSHBUTTON "", IDC_MANAGESKINS_ACTIVESKINS_BUTTON, 0, 0, 145, 14, WS_TABSTOP + CONTROL "", IDC_MANAGESKINS_SKINS_TREEVIEW, "SysTreeView32", TVS_HASBUTTONS | TVS_HASLINES | TVS_LINESATROOT | TVS_SHOWSELALWAYS | WS_BORDER | WS_VSCROLL, 0, 18, 145, 241 + + LTEXT "N/A", IDC_MANAGESKINS_FILE_TEXT, 165, 0, 130, 14, SS_ENDELLIPSIS | SS_NOPREFIX + LTEXT "N/A", IDC_MANAGESKINS_CONFIG_TEXT, 165, 16, 130, 9, SS_ENDELLIPSIS | SS_NOPREFIX + PUSHBUTTON STR_LOAD, IDC_MANAGESKINS_LOAD_BUTTON, 310, 0, 50, 14, WS_DISABLED | WS_TABSTOP + PUSHBUTTON STR_REFRESH, IDC_MANAGESKINS_REFRESH_BUTTON, 364, 0, 50, 14, WS_DISABLED | WS_TABSTOP + PUSHBUTTON STR_EDIT, IDC_MANAGESKINS_EDIT_BUTTON, 418, 0, 50, 14, WS_DISABLED | WS_TABSTOP + + LTEXT STR_AUTHORSC, IDC_STATIC, 165, 30, 80, 9 + LTEXT "", IDC_MANAGESKINS_AUTHOR_TEXT, 230, 30, 245, 9, SS_ENDELLIPSIS | SS_NOPREFIX + LTEXT STR_VERSIONSC, IDC_STATIC, 165, 43, 80, 9 + LTEXT "", IDC_MANAGESKINS_VERSION_TEXT, 230, 43, 245, 9, SS_ENDELLIPSIS | SS_NOPREFIX + LTEXT STR_LICENSESC, IDC_STATIC, 165, 56, 80, 9 + LTEXT "", IDC_MANAGESKINS_LICENSE_TEXT, 230, 56, 245, 9, SS_ENDELLIPSIS | SS_NOPREFIX + LTEXT STR_INFORMATIONSC, IDC_STATIC, 165, 69, 80, 9 + EDITTEXT IDC_MANAGESKINS_DESCRIPTION_TEXT, 228, 69, 238, 64, ES_MULTILINE | ES_READONLY + CONTROL STR_ADDMETADATA, IDC_MANAGESKINS_ADDMETADATA_LINK, "SysLink", NOT WS_VISIBLE, 165, 142, 150, 9 + + CONTROL "", IDC_STATIC, STATIC, SS_ETCHEDHORZ | WS_CHILD | WS_VISIBLE, 165, 156, 304, 1 + LTEXT STR_COORDINATESSC, IDC_STATIC, 165, 169, NUM_LABELWIDTH, 9 + EDITTEXT IDC_MANAGESKINS_X_TEXT, 165 + NUM_LABELWIDTH, 166, 38, 14, WS_BORDER | WS_TABSTOP | WS_DISABLED + EDITTEXT IDC_MANAGESKINS_Y_TEXT, 165 + NUM_LABELWIDTH + 42, 166, 38, 14, ES_NUMBER | WS_BORDER | WS_TABSTOP | WS_DISABLED + LTEXT STR_POSITIONSC, IDC_STATIC, 165, 190, NUM_LABELWIDTH, 9 + COMBOBOX IDC_MANAGESKINS_ZPOSITION_COMBOBOX, 165 + NUM_LABELWIDTH, 187, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | WS_DISABLED + LTEXT STR_LOADORDERSC, IDC_STATIC, 165, 208, NUM_LABELWIDTH, 9 + EDITTEXT IDC_MANAGESKINS_LOADORDER_TEXT, 165 + NUM_LABELWIDTH, 205, 80, 14, WS_BORDER | WS_TABSTOP | WS_DISABLED + LTEXT STR_TRANSPARENCYSC, IDC_STATIC, 165, 229, NUM_LABELWIDTH, 9 + COMBOBOX IDC_MANAGESKINS_TRANSPARENCY_COMBOBOX, 165 + NUM_LABELWIDTH, 226, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | WS_DISABLED + LTEXT STR_ONHOVERSC, IDC_STATIC, 165, 247, NUM_LABELWIDTH, 9 + COMBOBOX IDC_MANAGESKINS_ONHOVER_COMBOBOX, 165 + NUM_LABELWIDTH, 244, 80, 14, CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP | WS_DISABLED + PUSHBUTTON "", IDC_MANAGESKINS_DISPLAYMONITOR_BUTTON, 350, 166, 118, 14, WS_DISABLED | WS_TABSTOP + AUTOCHECKBOX STR_DRAGGABLE, IDC_MANAGESKINS_DRAGGABLE_CHECKBOX, 350, 190, 118, 9, WS_DISABLED + AUTOCHECKBOX STR_CLICKTHROUGH, IDC_MANAGESKINS_CLICKTHROUGH_CHECKBOX, 350, 203, 118, 9, WS_DISABLED + AUTOCHECKBOX STR_KEEPONSCREEN, IDC_MANAGESKINS_KEEPONSCREEN_CHECKBOX, 350, 216, 118, 9, WS_DISABLED + AUTOCHECKBOX STR_SAVEPOSITION, IDC_MANAGESKINS_SAVEPOSITION_CHECKBOX, 350, 229, 118, 9, WS_DISABLED + AUTOCHECKBOX STR_SNAPTOEDGES, IDC_MANAGESKINS_SNAPTOEDGES_CHECKBOX, 350, 242, 118, 9, WS_DISABLED +} + +IDD_MANAGETHEMES_DIALOG DIALOGEX 15, 30, 470, 260 +STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + GROUPBOX STR_SAVENEWTHEME, IDC_STATIC, 0, 0, 230, 150 + LTEXT STR_THEMEDESCRIPTION, IDC_STATIC, 6, 16, 205, 44 + AUTOCHECKBOX STR_SAVEASEMPTYTHEME, IDC_MANAGETHEMES_EMPTYTHEME_CHECKBOX, 6, 70, 220, 9, WS_TABSTOP + AUTOCHECKBOX STR_EXCLUDEUNUSEDSKINS, IDC_MANAGETHEMES_UNUSEDSKINS_CHECKBOX, 6, 83, 220, 9, WS_TABSTOP + AUTOCHECKBOX STR_INCLUDEWALLPAPER, IDC_MANAGETHEMES_WALLPAPER_CHECKBOX, 6, 96, 220, 9, WS_TABSTOP + LTEXT STR_NAMESC, IDC_STATIC, 6, 115, 100, 9 + EDITTEXT IDC_MANAGETHEMES_NAME_TEXT, 6, 128, 162, 14, WS_BORDER | WS_TABSTOP + PUSHBUTTON STR_SAVE, IDC_MANAGETHEMES_SAVE_BUTTON, 172, 128, 50, 14, WS_DISABLED | WS_TABSTOP + + GROUPBOX STR_SAVEDTHEMES, IDC_STATIC, 238, 0, 230, 150 + LISTBOX IDC_MANAGETHEMES_LIST, 244, 16, 160, 125, LBS_STANDARD | LBS_NOINTEGRALHEIGHT + PUSHBUTTON STR_LOAD, IDC_MANAGETHEMES_LOAD_BUTTON, 410, 16, 50, 14, WS_DISABLED + PUSHBUTTON STR_DELETE, IDC_MANAGETHEMES_DELETE_BUTTON, 410, 34, 50, 14, WS_DISABLED + PUSHBUTTON STR_EDIT, IDC_MANAGETHEMES_EDIT_BUTTON, 410, 52, 50, 14, WS_DISABLED + + GROUPBOX STR_BACKUP, IDC_STATIC, 0, 200, 468, 60 + LTEXT STR_BACKUPDESCRIPTION, IDC_STATIC, 6, 216, 455, 34 + PUSHBUTTON STR_BACKUPE, IDC_MANAGETHEMES_BACKUP_BUTTON, 460 - NUM_BUTTONWIDTH, 240, NUM_BUTTONWIDTH, 14 +} + +IDD_MANAGESETTINGS_DIALOG DIALOGEX 15, 30, 470, 260 +STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS +FONT 8, "MS Shell Dlg 2", 0, 0, 0x0 +{ + GROUPBOX STR_GENERAL, IDC_STATIC, 0, 0, 468, 86 + LTEXT STR_LANGUAGESC, IDC_STATIC, 6, 16, 87, 44 + COMBOBOX IDC_MANAGESETTINGS_LANGUAGE_COMBOBOX, 87, 13, 140, 14, CBS_DROPDOWNLIST | CBS_SORT | WS_VSCROLL | WS_TABSTOP + //AUTOCHECKBOX "Run automatically at startup", IDC_MANAGESETTINGS_AUTOSTART_CHECKBOX, 6, 16, 140, 9, WS_DISABLED + AUTOCHECKBOX STR_CHECKFORUPDATES, IDC_MANAGESETTINGS_CHECKUPDATES_CHECKBOX, 6, 34, 200, 9 + AUTOCHECKBOX STR_DISABLEDRAGGING, IDC_MANAGESETTINGS_LOCKSKINS_CHECKBOX, 6, 47, 200, 9 + PUSHBUTTON STR_RESETSTATISTICS, IDC_MANAGESETTINGS_RESETSTATISTICS_BUTTON, 6, 64, NUM_BUTTONWIDTH + 20, 14 + + GROUPBOX STR_LOGGING, IDC_STATIC, 0, 91, 468, 68 + AUTOCHECKBOX STR_DEBUGMODE, IDC_MANAGESETTINGS_VERBOSELOGGING_CHECKBOX, 6, 107, 200, 9 + AUTOCHECKBOX STR_LOGTOFILE, IDC_MANAGESETTINGS_LOGTOFILE_CHECKBOX, 6, 120, 200, 9 + PUSHBUTTON STR_SHOWLOGFILE, IDC_MANAGESETTINGS_SHOWLOGFILE_BUTTON, 6, 137, NUM_BUTTONWIDTH + 20, 14 + PUSHBUTTON STR_DELETELOGFILE, IDC_MANAGESETTINGS_DELETELOGFILE_BUTTON, NUM_BUTTONWIDTH + 30, 137, NUM_BUTTONWIDTH + 20, 14 +} + +///////////////////////////////////////////////////////////////////////////// +// +// String Table +// + +STRINGTABLE +{ + ID_STR_ISRTL, STR_ISRTL + ID_STR_UPDATEAVAILABLE, STR_UPDATEAVAILABLE + ID_STR_LOG, STR_LOG + ID_STR_MEASURES, STR_MEASURES + ID_STR_PLUGINS, STR_PLUGINS + ID_STR_VERSION, STR_VERSION + ID_STR_TYPE, STR_TYPE + ID_STR_TIME, STR_TIME + ID_STR_MESSAGE, STR_MESSAGE + ID_STR_NAME, STR_NAME + ID_STR_RANGE, STR_RANGE + ID_STR_VALUE, STR_VALUE + ID_STR_AUTHOR, STR_AUTHOR + ID_STR_MANAGERAINMETER, STR_MANAGERAINMETER + ID_STR_SKINS, STR_SKINS + ID_STR_THEMES, STR_THEMES + ID_STR_SETTINGS, STR_SETTINGS + ID_STR_ACTIVESKINS, STR_ACTIVESKINS + ID_STR_DISPLAYMONITOR, STR_DISPLAYMONITOR + ID_STR_STAYTOPMOST, STR_STAYTOPMOST + ID_STR_TOPMOST, STR_TOPMOST + ID_STR_NORMAL, STR_NORMAL + ID_STR_BOTTOM, STR_BOTTOM + ID_STR_ONDESKTOP, STR_ONDESKTOP + ID_STR_DONOTHING, STR_DONOTHING + ID_STR_HIDE, STR_HIDE + ID_STR_FADEIN, STR_FADEIN + ID_STR_FADEOUT, STR_FADEOUT + ID_STR_LOAD, STR_LOAD + ID_STR_UNLOAD, STR_UNLOAD + ID_STR_COLLAPSE, STR_COLLAPSE + ID_STR_SETTINGSNOTWRITABLE, STR_SETTINGSNOTWRITABLE + ID_STR_SETTINGSMOVEFILE, STR_SETTINGSMOVEFILE + ID_STR_SETTINGSREADONLY, STR_SETTINGSREADONLY + ID_STR_THEMEALREADYEXISTS, STR_THEMEALREADYEXISTS + ID_STR_THEMESAVEFAIL, STR_THEMESAVEFAIL + ID_STR_THEMEDELETE, STR_THEMEDELETE + ID_STR_VARIABLES, STR_VARIABLES + ID_STR_LOGFILECREATEFAIL, STR_LOGFILECREATEFAIL + ID_STR_LOGFILEDELETE, STR_LOGFILEDELETE + ID_STR_NOAVAILABLESKINS, STR_NOAVAILABLESKINS + ID_STR_UNABLETOACTIVATESKIN, STR_UNABLETOACTIVATESKIN + ID_STR_UNABLETOREFRESHSKIN, STR_UNABLETOREFRESHSKIN + ID_STR_NEWVERSIONREQUIRED, STR_NEWVERSIONREQUIRED + ID_STR_NOMETERSINSKIN, STR_NOMETERSINSKIN + ID_STR_INCLUDEINFINITELOOP, STR_INCLUDEINFINITELOOP + ID_STR_ABOUTRAINMETER, STR_ABOUTRAINMETER +} \ No newline at end of file diff --git a/Language/Romanian.h b/Language/Romanian.h new file mode 100644 index 00000000..9eb5035f Binary files /dev/null and b/Language/Romanian.h differ diff --git a/Language/Romanian.nsh b/Language/Romanian.nsh new file mode 100644 index 00000000..d3cab5ba --- /dev/null +++ b/Language/Romanian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} nu suportă Windows 2000. Pentru a utiliza Rainmeter în Windows 2000, descărcaţi versiunea Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} solicită Windows XP SP2 sau mai nou. Vă rugăm să actualizaţi service pack-ul, apoi să încercaţi din nou." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} solicită Windows 2003 SP1 sau mai nou. Vă rugăm să actualizaţi service pack-ul, apoi să încercaţi din nou." +${LangFileString} ADMINERROR "Se solicită drepturi de administrator." +${LangFileString} LOGONERROR "Serviciul logon nu este pornit." +${LangFileString} UACERROR "Imposibilă ridicarea." +${LangFileString} WRITEERROR "Versiunea portabilă a Rainmeter trebuie instalată (ca utilizator normal) într-o locaţie cu acces de citire şi scriere.$\nDacă doriţi instalarea Rainmeter în '$INSTDIR', selectaţi 'Instalare standard'.$\n$\nAltfel selectaţi o locaţie la care aveţi acces pentru citire şi scriere." +${LangFileString} VCINSTERROR "Instalarea Visual C++ $instArc a eşuat din cauza erorii $0.$\n$\nPuteţi încerca descărcarea manuală a pachetului Visual C++ 2010 SP1 $instArc de la adresa http://rainmeter.net/redist$\n$\nApăsaţi OK pentru ieşire." +${LangFileString} DOTNETINSTERROR "Instalarea .NET $instArc a eşuat din cauza erorii $0.$\n$\nPuteţi încerca descărcarea manuală a pachetului .NET $instArc de la adresa http://rainmeter.net/redist$\n$\nApăsaţi OK pentru ieşire." +${LangFileString} RAINMETERCLOSEERROR "Eroare la închiderea Rainmeter.$\n$\nVă rugăm închideţi programul manual, apoi încercaţi din nou." +${LangFileString} SETTINGSFILEERROR "Fişierul de setări (Rainmeter.ini) se găseşte în folderul de instalare. Păstrându-l acolo, există posibilitatea unor erori dacă programul este folosit de mai mulţi utilizatori sau de către un utilizator standard.$\n$\nDoriţi mutarea fişierului în folderul application data?" +${LangFileString} SETTINGSMOVEERROR "Imposibilă mutarea fişierului '$INSTDIR\Rainmeter.ini' la '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Vă rugăm selectaţi limba pachetului de instalare." +${LangFileString} INSTALLOPTIONS "Opţiuni de instalare" +${LangFileString} INSTALLOPTIONSDESC "Selectaţi opţiunile adiţionale de instalare" +${LangFileString} STANDARDINST "Instalare standard (recomandat)" +${LangFileString} STANDARDINSTDESC "Instalarea Rainmeter şi descărcarea pachetelor necesare." +${LangFileString} PORTABLEINST "Instalare portabilă" +${LangFileString} PORTABLEINSTDESC "Nu selectaţi această opţiune până nu sunteţi sigur de ceea ce faceţi. Comenzile rapide nu vor fi create şi extensia .rmskin nu va fi înregistrată. Poate fi necesară instalarea manuală a Visual C++ 2010 şi .NET 2.0." +${LangFileString} DESKTOPSHORTCUT "Creare comandă rapidă pe desktop" +${LangFileString} ALLUSERSSHORTCUT "Creare comenzi pentru toţi utilizatorii" +${LangFileString} AUTOSTARTUP "Lansare Rainmeter după pornire" +${LangFileString} INSTALLDOTNET "Instalare .NET 2.0 framework (recomandat)" +${LangFileString} ADDITIONALOPTIONS "Opţiuni adiţionale" +${LangFileString} RAINMETERVERSION "Versiune Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Opţiuni dezinstalare" +${LangFileString} UNSTALLOPTIONSDESC "Selectaţi opţiunile adiţionale" +${LangFileString} UNSTALLRAINMETER "Dezinstalare Rainmeter" +${LangFileString} UNSTALLSETTINGS "Eliminare completă a setărilor personale şi fişierelor" +${LangFileString} UNSTALLSETTINGSDESC "(incluzând gadgeturi, teme, suplimentare, setările registrului şi elementele meniului Start)" \ No newline at end of file diff --git a/Language/Russian.h b/Language/Russian.h new file mode 100644 index 00000000..4030c5e0 Binary files /dev/null and b/Language/Russian.h differ diff --git a/Language/Russian.nsh b/Language/Russian.nsh new file mode 100644 index 00000000..6e106402 --- /dev/null +++ b/Language/Russian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} не поддерживает Windows 2000. Чтобы использовать Rainmeter на Windows 2000, скачайте позднюю версию Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Для Rainmeter ${VER} требуется Windows XP SP2 или выше. Пожалуйста обновитесь до самого последнего SP и попробуйте снова." +${LangFileString} WIN2003SP1ERROR "Для Rainmeter ${VER} требуется Windows 2003 SP1 или выше. Пожалуйста обновитесь до самого последнего SP и попробуйте снова." +${LangFileString} ADMINERROR "Требуются права Администратора." +${LangFileString} LOGONERROR "Служба входа в систему не запущена." +${LangFileString} UACERROR "Не удается повысить." +${LangFileString} WRITEERROR "Портативный Rainmeter должен быть установлен в директории с полным доступом для чтения и записи (как обычный пользователь).$\nЕсли вы хотите установить Rainmeter в '$INSTDIR', вернитесь назад и выберите «Стандартная Установка».$\n$\nВ противном случае укажите другое расположение с полным доступом для чтения и записи." +${LangFileString} VCINSTERROR "Visual C++ $instArc установка завершилась с кодом ошибки $0.$\n$\nВы можете попробовать загрузить Visual C++ 2010 SP1 $instArc распространяемый пакет вручную из http://rainmeter.net/redist$\n$\nНажмите кнопку OK для выхода." +${LangFileString} DOTNETINSTERROR ".NET $instArc установка завершилась с кодом ошибки $0.$\n$\nВы можете попробовать загрузить .NET $instArc распространяемый пакет вручную из http://rainmeter.net/redist$\n$\nНажмите кнопку OK для выхода." +${LangFileString} RAINMETERCLOSEERROR "Не удалось закрыть Rainmeter.$\n$\nПожалуйста закройте Rainmeter вручную и повторите попытку." +${LangFileString} SETTINGSFILEERROR "Файл настроек (Rainmeter.ini) расположен в папке установки. Нахождение его там может вызвать проблемы, если приложение используется несколькими пользователями или кем-либо с привилегиями пользователя с ограниченными правами.$\n$\nХотите переместить файл в папку для данных приложения?" +${LangFileString} SETTINGSMOVEERROR "Не удается переместить файл '$INSTDIR\Rainmeter.ini' в '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Пожалуйста выберете язык установщика." +${LangFileString} INSTALLOPTIONS "Настройки Установки" +${LangFileString} INSTALLOPTIONSDESC "Выберите дополнительные параметры установки" +${LangFileString} STANDARDINST "Стандартная установка (рекомендуеться)" +${LangFileString} STANDARDINSTDESC "Установить Rainmeter и загрузить необходимые библиотеки." +${LangFileString} PORTABLEINST "Портативная установка" +${LangFileString} PORTABLEINSTDESC "Не выбирайте это, если вы не знаете, что вы делаете. Ярлыки не создадуться и .rmskin расширение будет не зарегистрировано. Может потребоваться вручную установить sVisual C++ 2010 и .NET 2.0 библиотеки." +${LangFileString} DESKTOPSHORTCUT "Добавить ярлык на рабочий стол" +${LangFileString} ALLUSERSSHORTCUT "Добавить ярлыки для всех пользователей" +${LangFileString} AUTOSTARTUP "Запускать Rainmeter при старте системы" +${LangFileString} INSTALLDOTNET "Установить .NET 2.0 framework (рекомендуеться)" +${LangFileString} ADDITIONALOPTIONS "Дополнительные настройки" +${LangFileString} RAINMETERVERSION "Версия Rainmeter" +${LangFileString} 32BIT "32-бит" +${LangFileString} 64BIT "64-бит" +${LangFileString} UNSTALLOPTIONS "Настройки Удаления" +${LangFileString} UNSTALLOPTIONSDESC "Выберите любые дополнительные опции" +${LangFileString} UNSTALLRAINMETER "Удалить Rainmeter" +${LangFileString} UNSTALLSETTINGS "Полностью удалить все личные настройки и файлы" +${LangFileString} UNSTALLSETTINGSDESC "(включая скины, темы, аддоны, параметры реестра и элементы меню Пуск)" \ No newline at end of file diff --git a/Language/SerbianCyrillic.h b/Language/SerbianCyrillic.h new file mode 100644 index 00000000..80db7823 Binary files /dev/null and b/Language/SerbianCyrillic.h differ diff --git a/Language/SerbianCyrillic.nsh b/Language/SerbianCyrillic.nsh new file mode 100644 index 00000000..e86f45e7 --- /dev/null +++ b/Language/SerbianCyrillic.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} не подржава Windows 2000. Да бисте користили Rainmeter на Windows-у 2000, преузмите старију верзију (2.0) Rainmeter-а." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} захтева Windows XP SP2 или новији. Надоградите последњи сервисни пакет и покушајте поново." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} захтева Windows 2003 SP1 или новији. Надоградите последњи сервисни пакет и покушајте поново." +${LangFileString} ADMINERROR "Потребна су администраторска права." +${LangFileString} LOGONERROR "Услуга пријављивања није покренута." +${LangFileString} UACERROR "Покретање није могуће." +${LangFileString} WRITEERROR "Преносива верзија Rainmeter-а мора да буде инсталирана на локацију са пуним правима читања и писања (за стандардног корисника).$\nАко желите да инсталирате Rainmeter у $INSTDIR', вратите се и изаберите 'Стандардна инсталација'.$\n$\nУ супротном, изаберите другу локацију за коју је дозвољено писање и читање." +${LangFileString} VCINSTERROR "Инсталација Visual C++ $instArc није успела. Кôд грешке: $0.$\n$\nПробајте да ручно преузмете пакет Visual C++ 2010 SP1 $instArc redistributable са адресе http://rainmeter.net/redist$\n$\nКликните 'У реду' за излазак." +${LangFileString} DOTNETINSTERROR "Инсталација .NET $instArc није успела. Кôд грешке: $0.$\n$\nПробајте да ручно преузмете пакет .NET $instArc redistributable са адресе http://rainmeter.net/redist$\n$\nКликните 'У реду' за излазак." +${LangFileString} RAINMETERCLOSEERROR "Затварање Rainmeter-а није успело.$\n$\nЗатворите Rainmeter ручно и покушајте поново." +${LangFileString} SETTINGSFILEERROR "Датотека са подешавањима (Rainmeter.ini) се налази у инсталационој фасцикли. То може довести до проблема ако апликацију користи више корисника или корисник са ограниченим правима.$\n$\nДа ли желите да преместите датотеку у фасциклу за податке апликације?" +${LangFileString} SETTINGSMOVEERROR "Премештање датотеке '$INSTDIR\Rainmeter.ini' на локацију '$APPDATA\Rainmeter\Rainmeter.ini' није могуће." +${LangFileString} SELECTLANGUAGE "Одаберите језик инсталације." +${LangFileString} INSTALLOPTIONS "Опције инсталације" +${LangFileString} INSTALLOPTIONSDESC "Одаберите додатне опције инсталације" +${LangFileString} STANDARDINST "Стандардна инсталација (препоручује се)" +${LangFileString} STANDARDINSTDESC "Rainmeter ће се инсталирати и преузеће се потребне библиотеке." +${LangFileString} PORTABLEINST "Преносива инсталација" +${LangFileString} PORTABLEINSTDESC "Одаберите ову опцију само ако знате шта радите. Пречице неће бити направљене и тип датотеке .rmskin неће бити регистрован. Можда ће бити потребно да ручно инсталирате библиотеке Visual C++ 2010 и .NET 2.0." +${LangFileString} DESKTOPSHORTCUT "Додај пречицу на радну површину" +${LangFileString} ALLUSERSSHORTCUT "Додај пречице за све кориснике" +${LangFileString} AUTOSTARTUP "Покрени Rainmeter заједно са системом" +${LangFileString} INSTALLDOTNET "Инсталирај .NET 2.0 framework (препоручује се)" +${LangFileString} ADDITIONALOPTIONS "Додатне опције" +${LangFileString} RAINMETERVERSION "Верзија Rainmeter-а" +${LangFileString} 32BIT "32-битна" +${LangFileString} 64BIT "64-битна" +${LangFileString} UNSTALLOPTIONS "Опције деинсталације" +${LangFileString} UNSTALLOPTIONSDESC "Одаберите додатне опције" +${LangFileString} UNSTALLRAINMETER "Деинсталирај Rainmeter" +${LangFileString} UNSTALLSETTINGS "Потпуно уклони сва лична подешавања и датотеке" +${LangFileString} UNSTALLSETTINGSDESC "(укључујући маске, теме, додатке, подешавања registry базе и ставке менија Старт" \ No newline at end of file diff --git a/Language/SerbianLatin.h b/Language/SerbianLatin.h new file mode 100644 index 00000000..4810d1fa Binary files /dev/null and b/Language/SerbianLatin.h differ diff --git a/Language/SerbianLatin.nsh b/Language/SerbianLatin.nsh new file mode 100644 index 00000000..f97843e3 --- /dev/null +++ b/Language/SerbianLatin.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} ne podržava Windows 2000. Da biste koristili Rainmeter na Windows-u 2000, preuzmite stariju verziju (2.0) Rainmeter-a." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} zahteva Windows XP SP2 ili noviji. Nadogradite poslednji servisni paket i pokušajte ponovo." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} zahteva Windows 2003 SP1 ili noviji. Nadogradite poslednji servisni paket i pokušajte ponovo." +${LangFileString} ADMINERROR "Potrebna su administratorska prava." +${LangFileString} LOGONERROR "Usluga prijavljivanja nije pokrenuta." +${LangFileString} UACERROR "Pokretanje nije moguće." +${LangFileString} WRITEERROR "Prenosiva verzija Rainmeter-a mora da bude instalirana na lokaciju sa punim pravima čitanja i pisanja (za standardnog korisnika).$\nAko želite da instalirate Rainmeter u $INSTDIR', vratite se i izaberite 'Standardna instalacija'.$\n$\nU suprotnom, izaberite drugu lokaciju za koju je dozvoljeno pisanje i čitanje." +${LangFileString} VCINSTERROR "Instalacija Visual C++ $instArc nije uspela. Kôd greške: $0.$\n$\nProbajte da ručno preuzmete paket Visual C++ 2010 SP1 $instArc redistributable sa adrese http://rainmeter.net/redist$\n$\nKliknite 'U redu' za izlazak." +${LangFileString} DOTNETINSTERROR "Instalacija .NET $instArc nije uspela. Kôd greške: $0.$\n$\nProbajte da ručno preuzmete paket .NET $instArc redistributable sa adrese http://rainmeter.net/redist$\n$\nKliknite 'U redu' za izlazak." +${LangFileString} RAINMETERCLOSEERROR "Zatvaranje Rainmeter-a nije uspelo.$\n$\nZatvorite Rainmeter ručno i pokušajte ponovo." +${LangFileString} SETTINGSFILEERROR "Datoteka sa podešavanjima (Rainmeter.ini) se nalazi u instalacionoj fascikli. To može dovesti do problema ako aplikaciju koristi više korisnika ili korisnik sa ograničenim pravima.$\n$\nDa li želite da premestite datoteku u fasciklu za podatke aplikacije?" +${LangFileString} SETTINGSMOVEERROR "Premeštanje datoteke '$INSTDIR\Rainmeter.ini' na lokaciju '$APPDATA\Rainmeter\Rainmeter.ini' nije moguće." +${LangFileString} SELECTLANGUAGE "Odaberite jezik instalacije." +${LangFileString} INSTALLOPTIONS "Opcije instalacije" +${LangFileString} INSTALLOPTIONSDESC "Odaberite dodatne opcije instalacije" +${LangFileString} STANDARDINST "Standardna instalacija (preporučuje se)" +${LangFileString} STANDARDINSTDESC "Rainmeter će se instalirati i preuzeće se potrebne biblioteke." +${LangFileString} PORTABLEINST "Prenosiva instalacija" +${LangFileString} PORTABLEINSTDESC "Odaberite ovu opciju samo ako znate šta radite. Prečice neće biti napravljene i tip datoteke .rmskin neće biti registrovan. Možda će biti potrebno da ručno instalirate biblioteke Visual C++ 2010 i .NET 2.0." +${LangFileString} DESKTOPSHORTCUT "Dodaj prečicu na radnu površinu" +${LangFileString} ALLUSERSSHORTCUT "Dodaj prečice za sve korisnike" +${LangFileString} AUTOSTARTUP "Pokreni Rainmeter zajedno sa sistemom" +${LangFileString} INSTALLDOTNET "Instaliraj .NET 2.0 framework (preporučuje se)" +${LangFileString} ADDITIONALOPTIONS "Dodatne opcije" +${LangFileString} RAINMETERVERSION "Verzija Rainmeter-a" +${LangFileString} 32BIT "32-bitna" +${LangFileString} 64BIT "64-bitna" +${LangFileString} UNSTALLOPTIONS "Opcije deinstalacije" +${LangFileString} UNSTALLOPTIONSDESC "Odaberite dodatne opcije" +${LangFileString} UNSTALLRAINMETER "Deinstaliraj Rainmeter" +${LangFileString} UNSTALLSETTINGS "Potpuno ukloni sva lična podešavanja i datoteke" +${LangFileString} UNSTALLSETTINGSDESC "(uključujući maske, teme, dodatke, podešavanja registry baze i stavke menija Start)" \ No newline at end of file diff --git a/Language/Slovak.h b/Language/Slovak.h new file mode 100644 index 00000000..00feb4a7 Binary files /dev/null and b/Language/Slovak.h differ diff --git a/Language/Slovak.nsh b/Language/Slovak.nsh new file mode 100644 index 00000000..28a6f64a --- /dev/null +++ b/Language/Slovak.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} nepodporuje systém Windows 2000. Na používanie programu Rainmeter v systéme Windows 2000 si stiahnite staršiu verziu programu Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} požaduje systém Windows XP SP2 alebo vyšší. Prosím, zaktualizujte systém na najnovší service pack a skúste znova." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} požaduje systém Windows 2003 SP1 alebo vyšší. Prosím, zaktualizujte systém na najnovší service pack a skúste znova." +${LangFileString} ADMINERROR "Požadované práva administrátora." +${LangFileString} LOGONERROR "Služba prihlasovania nie je aktívna." +${LangFileString} UACERROR "Zakázaný prístup." +${LangFileString} WRITEERROR "Portable Rainmeter musí byť nainštalovaný do priečinka s plnou podporou čítania a zápisu (ako normálny používateľ).$\nAk chcete nainštalovať Rainmeter do '$INSTDIR', choďte späť a zadajte 'Štandardná inštalácia'.$\n$\nAlebo zadajte iný priečinok s plnou podporou čítania a zápisu." +${LangFileString} VCINSTERROR "Visual C++ $instArc inštalácia zlyhala s chybovým kódom $0.$\n$\nSkúste stiahnuť Visual C++ 2010 SP1 $instArc redistributable package manuálne z http://rainmeter.net/redist$\n$\nStlačte OK pre ukončenie." +${LangFileString} DOTNETINSTERROR ".NET $instArc inštalácia zlyhala s chybovým kódom $0.$\n$\nSkúste stiahnuť .NET $instArc redistributable package manuálne z http://rainmeter.net/redist$\n$\nStlačte OK pre ukončenie." +${LangFileString} RAINMETERCLOSEERROR "Nemožno ukončiť Rainmeter.$\n$\nProsím zatvorte Rainmeter manuálne a skúste znova." +${LangFileString} SETTINGSFILEERROR "Súbor nastavení (Rainmeter.ini) je uložený v inštalačnom priečinku. Ak tam bude ponechaný, môžu nastať problémy pri používaní aplikácie viacerými používateľmi alebo kýmkoľvek s obmedzenými právami.$\n$\nPrajete si presunúť súbor nastavení do priečinka application data?" +${LangFileString} SETTINGSMOVEERROR "Nemožno presunúť súbor '$INSTDIR\Rainmeter.ini' do '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Prosím zvoľte jazyk inštalácie." +${LangFileString} INSTALLOPTIONS "Možnosti inštalácie" +${LangFileString} INSTALLOPTIONSDESC "Zvoliť ďalšie možnosti inštalácie" +${LangFileString} STANDARDINST "Štandardná inštalácia (doporučené)" +${LangFileString} STANDARDINSTDESC "Nainštaluje Rainmeter do Vášho počítača a stiahne požadované knižnice." +${LangFileString} PORTABLEINST "Portable inštalácia" +${LangFileString} PORTABLEINSTDESC "Nevyberajte túto možnosť pokiaľ neviete, čo robíte. Nebudú vytvorené odkazy a rozšírenie .rmskin nebude zaregistrované. Knižnice Visual C++ 2010 a .NET 2.0 bude možno potrebné nainštalovať manuálne." +${LangFileString} DESKTOPSHORTCUT "Pridať odkaz na plochu" +${LangFileString} ALLUSERSSHORTCUT "Pridať odkazy pre všetkých používateľov" +${LangFileString} AUTOSTARTUP "Spustiť Rainmeter pri štarte Windowsu" +${LangFileString} INSTALLDOTNET "Nainštalovať .NET 2.0 framework (doporučené)" +${LangFileString} ADDITIONALOPTIONS "Ďalšie možnosti" +${LangFileString} RAINMETERVERSION "Rainmeter verzia" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Možnosti odinštalácie" +${LangFileString} UNSTALLOPTIONSDESC "Zvoľte ďalšie možnosti" +${LangFileString} UNSTALLRAINMETER "Odinštalovať Rainmeter" +${LangFileString} UNSTALLSETTINGS "Odstrániť všetky osobné nastavenia a súbory." +${LangFileString} UNSTALLSETTINGSDESC "(vrátane skinov, tém, addonov, nastavení registrov a položiek v menu Štart)" \ No newline at end of file diff --git a/Language/Slovenian.h b/Language/Slovenian.h new file mode 100644 index 00000000..8babc9e5 Binary files /dev/null and b/Language/Slovenian.h differ diff --git a/Language/Slovenian.nsh b/Language/Slovenian.nsh new file mode 100644 index 00000000..3b38ce64 --- /dev/null +++ b/Language/Slovenian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} ne podpira Windows 2000. Če želite uporabljati Rainmeter na Windows 2000, si posnemite starejšo različico Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} zahteva Windows XP SP2 ali novejši. Prosim, namestite zadnji servisni popravek in poskusite ponovno." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} zahteva Windows 2003 SP1 ali novejši. Prosim, namestite zadnji servisni popravek in poskusite ponovno." +${LangFileString} ADMINERROR "Potrebne so administratorske pravice." +${LangFileString} LOGONERROR "Servis za prijavo ni zagnan." +${LangFileString} UACERROR "Ne morem dvigniti pravic." +${LangFileString} WRITEERROR "Prenosni Rainmeter mora biti nameščen na v mapo s polnim dostopom za branje in pisanje (kot navaden uporabnik).$\nČe želite namestiti Rainmeter v '$INSTDIR', se vrnite in izberite 'Standardna namestitev'.$\n$\nV nasprotnem primeru izberite mapo s polnim dostopom do branja in pisanja." +${LangFileString} VCINSTERROR "Namestiev Visual C++ $instArc ni uspela. Koda napake je $0.$\n$\nLahko poskusite posneti in ročno namestiti Visual C++ 2010 SP1 $instArc redistributable package s strani http://rainmeter.net/redist$\n$\nKliknite OK za izhod." +${LangFileString} DOTNETINSTERROR "Namestitev .NET $instArc ni uspela. Koda napake je $0.$\n$\nLahko poskusite posneti in ročno namestiti .NET $instArc redistributable package s strani http://rainmeter.net/redist$\n$\nKliknite OK za izhod." +${LangFileString} RAINMETERCLOSEERROR "Ne morem zapreti Rainmetra.$\n$\nProsim, zaprite Rainmeter ročno in poskusite znova." +${LangFileString} SETTINGSFILEERROR "Konfiguracijska datoteka (Rainmeter.ini) se nahaja v mapi namestitve. To lahko privede to težav, če program uporablja več uporabnikov, oziroma če ima kdo od njih omejene pravice.$\n$\nŽelite premakniti datoteko v lastno mapo uporabnika?" +${LangFileString} SETTINGSMOVEERROR "Ne morem premakniti datoteke '$INSTDIR\Rainmeter.ini' v '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Prosim, izberite jezik namestitve." +${LangFileString} INSTALLOPTIONS "Nastavitve namestitve" +${LangFileString} INSTALLOPTIONSDESC "Izberite dodatne nastavitve namestitve" +${LangFileString} STANDARDINST "Standardna namestitev (priporočena)" +${LangFileString} STANDARDINSTDESC "Namesti Rainmeter in posname potrebne knjižnice." +${LangFileString} PORTABLEINST "Prenosna namestitev" +${LangFileString} PORTABLEINSTDESC "Ne izberite te opcije, razen če veste, kaj počnete. Namestitev ne bo ustvarila bližnjic in registrirala končnice .rmskin. Knjižnice Visual C++ 2010 in .NET 2.0 libraries bo verjetno potrebno namestiti ročno." +${LangFileString} DESKTOPSHORTCUT "Dodaj bližnjico nanamizje" +${LangFileString} ALLUSERSSHORTCUT "Dodaj bližnjice za vse uporabnike" +${LangFileString} AUTOSTARTUP "Poženi Rainmeter ob zagonu" +${LangFileString} INSTALLDOTNET "Namesti .NET 2.0 framework (priporočeno)" +${LangFileString} ADDITIONALOPTIONS "Dodatne možnosti" +${LangFileString} RAINMETERVERSION "Različica programa Rainmeter" +${LangFileString} 32BIT "32-bitna" +${LangFileString} 64BIT "64-bitna" +${LangFileString} UNSTALLOPTIONS "Možnosti odstranitve" +${LangFileString} UNSTALLOPTIONSDESC "Izberi dodatne možnosti" +${LangFileString} UNSTALLRAINMETER "Odstrani Rainmeter" +${LangFileString} UNSTALLSETTINGS "Povsem pobriši vse osebne nastavitve in datoteke" +${LangFileString} UNSTALLSETTINGSDESC "(vključno s preoblekami, temami, dodatki, zapisi v registru in vnosi v meniju Start)" \ No newline at end of file diff --git a/Language/SpanishModern.h b/Language/SpanishModern.h new file mode 100644 index 00000000..d924718b Binary files /dev/null and b/Language/SpanishModern.h differ diff --git a/Language/SpanishModern.nsh b/Language/SpanishModern.nsh new file mode 100644 index 00000000..c93dcac9 --- /dev/null +++ b/Language/SpanishModern.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} no esta sorportado en 2000. Para usar Rainmeter en Windows 2000, descargue la versión 2.0 de Rainmeter." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} requiere Windows XP SP2 o superior. Por favor actualice al último service pack e intentelo de nuevo." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} requiere Windows 2003 SP1 o superior. Por favor actualiza al último service pack e intentalo de nuevo." +${LangFileString} ADMINERROR "Derechos de administrador requeridos." +${LangFileString} LOGONERROR "El servicio de inicio de sesión no se esta ejecutando." +${LangFileString} UACERROR "No es posible elevar." +${LangFileString} WRITEERROR "La carpeta de instalación de Rainmeter Portable debe tener acceso completo de lectura y escritura (como usuario normal).$\nSi desea instalar Rainmeter en '$INSTDIR', vuelva atrás y seleccione 'Instalación Estandar'.$\n$\nEn caso contrario, cambie la ubicación o los permisos en la carpeta." +${LangFileString} VCINSTERROR "Visual C++ $instArc La instalación ha fallado, código de error: $0.$\n$\nQuizás debería intentar descargar Visual C++ 2010 SP1 $instArc paquete redistribuible manualmente desde http://rainmeter.net/redist$\n$\nPulse OK para salir." +${LangFileString} DOTNETINSTERROR ".NET $instArc La instalación ha fallado, código de error: $0.$\n$\nQuizás debería intentar descargar el .NET $instArc paquete redistribuible manualmente desde http://rainmeter.net/redist$\n$\nPulse OK para salir." +${LangFileString} RAINMETERCLOSEERROR "No se pudo cerrar Rainmeter.$\n$\nPor favor cierre Rainmeter manualmente e intentelo de nuevo." +${LangFileString} SETTINGSFILEERROR "El archivo de ajustes (Rainmeter.ini) se encuentra en la carpeta de instalación. Mantenerlo ahí puede causar problemas si la aplicación es usada por múltiples usuarios.$\n$\nQuiere mover el archivo a la carpeta Datos de Programa?" +${LangFileString} SETTINGSMOVEERROR "No se puede mover el archivo '$INSTDIR\Rainmeter.ini' a '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Por favor seleccione el idioma de la instalación." +${LangFileString} INSTALLOPTIONS "Opciones de instalación" +${LangFileString} INSTALLOPTIONSDESC "Seleccione opciones adicionales de instalación" +${LangFileString} STANDARDINST "Instalación estandar (recomendado)" +${LangFileString} STANDARDINSTDESC "Instala Rainmeter y descarga las librerias necesarias." +${LangFileString} PORTABLEINST "Instalación Portable" +${LangFileString} PORTABLEINSTDESC "No seleccione esto a menos que sepa lo que está haciendo. Los accesos directos no se crearán y la extensión .rmskin no será registrada. Las librerias Visual C++ 2010 y .NET 2.0 puede que necesiten ser instaladas manualmente." +${LangFileString} DESKTOPSHORTCUT "Añade acceso directo al Escritorio" +${LangFileString} ALLUSERSSHORTCUT "Añade accesos directos para todos los usuarios" +${LangFileString} AUTOSTARTUP "Ejecuta Rainmeter al iniciar windows" +${LangFileString} INSTALLDOTNET "Instala .NET 2.0 framework (recomendado)" +${LangFileString} ADDITIONALOPTIONS "Opciones Adicionales" +${LangFileString} RAINMETERVERSION "Versión de Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Desinstalar opciones" +${LangFileString} UNSTALLOPTIONSDESC "Selecciona cualquier otra opción adicional" +${LangFileString} UNSTALLRAINMETER "Desinstalar Rainmeter" +${LangFileString} UNSTALLSETTINGS "Elimina por completo todos los ajustes y archivos personales" +${LangFileString} UNSTALLSETTINGSDESC "(incluyendo pieles, temas, extensiones, configuración del registro, y elementos del menú Inicio)" \ No newline at end of file diff --git a/Language/Swedish.h b/Language/Swedish.h new file mode 100644 index 00000000..b40d0899 Binary files /dev/null and b/Language/Swedish.h differ diff --git a/Language/Swedish.nsh b/Language/Swedish.nsh new file mode 100644 index 00000000..befc319a --- /dev/null +++ b/Language/Swedish.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} stöder inte Windows 2000. För att använda Rainmeter på Windows 2000, ladda ner den äldre Rainmeter version 2,0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} kräver Windows XP SP2 eller senare. Uppgradera till senaste Service Pack och försök igen." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} kräver Windows 2003 SP1 eller senare. Uppgradera till senaste Service Pack och försök igen." +${LangFileString} ADMINERROR "Administrativa rättigheter krävs." +${LangFileString} LOGONERROR "Logon service körs ej." +${LangFileString} UACERROR "Kan inte höja nivån." +${LangFileString} WRITEERROR "Portabel Rainmeter måste installeras på en plats med full läs-och skrivrättigheter (som vanlig användare).$\nOm du vill installera Rainmeter i '$INSTDIR', gå tillbaka och välj 'Standard installation'.$\n$\nAnnars leta efter en annan plats med full läs-och skrivrättigheter." +${LangFileString} VCINSTERROR "Visual C++ $instArc installation misslyckades med felkod $0.$\n$\nDu kanske vill prova att ladda ner Visual C++ 2010 SP1 $instArc distribuera paketet manuellt från http://rainmeter.net/redist$\n$\nTryck OK för att avsluta." +${LangFileString} DOTNETINSTERROR ".NET $instArc installation misslyckades med felkod $0.$\n$\nDu kanske vill prova att ladda ner .NET $instArc distribuera paketet manuellt från http://rainmeter.net/redist$\n$\nTryck OK för att avsluta." +${LangFileString} RAINMETERCLOSEERROR "Kunde inte stänga Rainmeter.$\n$\nStäng Rainmeter manuellt och försök igen." +${LangFileString} SETTINGSFILEERROR "Inställningsfilen (Rainmeter.ini) ligger i installationsmappen. Att behålla den där kan orsaka problem om datorn används av fler användare eller av någon med begränsade användarrättigheter.$\n$\nVill du flytta filen till mappen Application data mapp?" +${LangFileString} SETTINGSMOVEERROR "Kan inte flytta filen '$INSTDIR\Rainmeter.ini' till '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Välj installations språk." +${LangFileString} INSTALLOPTIONS "Installationsalternativ" +${LangFileString} INSTALLOPTIONSDESC "Välj ytterligare installations alternativ" +${LangFileString} STANDARDINST "Standard installation (rekommenderas)" +${LangFileString} STANDARDINSTDESC "Installerar Rainmeter och hämtar nödvändiga bibliotek." +${LangFileString} PORTABLEINST "Portabel installation" +${LangFileString} PORTABLEINSTDESC "Välj inte detta om du inte vet vad du gör. Genvägar kommer inte att skapas samt .rmskin kommer inte att registeras. Visual C++ 2010 och .NET 2.0 biblioteken kan behövas att installeras självständigt." +${LangFileString} DESKTOPSHORTCUT "Lägg till genväg på skrivbordet" +${LangFileString} ALLUSERSSHORTCUT "Lägg till genvägar till alla användare" +${LangFileString} AUTOSTARTUP "Starta Rainmeter vid systemstart" +${LangFileString} INSTALLDOTNET "Installera .NET 2.0 framework (rekommenderas)" +${LangFileString} ADDITIONALOPTIONS "Fler alternativ" +${LangFileString} RAINMETERVERSION "Rainmeter Version" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Avinstallations alternativ" +${LangFileString} UNSTALLOPTIONSDESC "Välj andra alternativ" +${LangFileString} UNSTALLRAINMETER "Avinstallera Rainmeter" +${LangFileString} UNSTALLSETTINGS "Ta bort alla personliga inställningar och filer" +${LangFileString} UNSTALLSETTINGSDESC "(inklusive skins, teman, addons, registerinställningar, och Start-menyobjekt)" \ No newline at end of file diff --git a/Language/Turkish.h b/Language/Turkish.h new file mode 100644 index 00000000..49b5a920 Binary files /dev/null and b/Language/Turkish.h differ diff --git a/Language/Turkish.nsh b/Language/Turkish.nsh new file mode 100644 index 00000000..c644bc13 --- /dev/null +++ b/Language/Turkish.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} Windows 2000 üzerinde çalışmaz. Rainmeter'i Windows 2000 üzerinde kullanmak için, Rainmeter 2.0 sürümünü indirin." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} Windows XP SP2 veya daha sonraki sürümlerini gerektirir. Lütfen son sürüme güncelleyip tekrar deneyin." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} Windows 2003 SP1 veya daha sonraki sürümlerini gerektirir. Lütfen son sürüme güncelleyip tekrar deneyin." +${LangFileString} ADMINERROR "Yönetici hakları gerektirir." +${LangFileString} LOGONERROR "Giriş servisi çalışmıyor." +${LangFileString} UACERROR "Yükseltilemiyor." +${LangFileString} WRITEERROR "Taşınabilir Rainmeter, (normal kullanıcı olarak) tam yazma ve okuma haklarının olduğu bir dizine kurulmalıdır.$\nEğer Rainmeter'ı '$INSTDIR' dizinine kurmak istiyorsanız, geri dönüp 'Standart kurulum'u seçin.$\n$\nAksi hallerde tam yazma ve okuma hakları olan bir dizin seçin." +${LangFileString} VCINSTERROR "Visual C++ $instArc kurulumu $0 hata kodu ile sonlandı.$\n$\nVisual C++ 2010 SP1 $instArc dağıtım paketini http://rainmeter.net/redist adresinden kendiniz indirmek isteyebilirsiniz.$\n$\nÇıkmak için Tamam tuşuna basın." +${LangFileString} DOTNETINSTERROR ".NET $instArc kurulumu $0 hata kodu ile sonlandı.$\n$\nVisual C++ 2010 SP1 $instArc dağıtım paketini http://rainmeter.net/redist adresinden kendiniz indirmek isteyebilirsiniz.$\n$\nÇıkmak için Tamam tuşuna basın." +${LangFileString} RAINMETERCLOSEERROR "Rainmeter kapatılamadı.$\n$\nLütfen Rainmeter'i elle kapatıp yeniden deneyiniz." +${LangFileString} SETTINGSFILEERROR "Kurulum dosyası (Rainmeter.ini) kurulum dizinindedir. Bu dizinde kalması farklı veya yetkisi olmayan kullanıcılar tarafından kullanıldığında sorun yaratabilir.$\n$\nDosyayı uygulama veri dizinine kopyalamak ister misiniz?" +${LangFileString} SETTINGSMOVEERROR "'$INSTDIR\Rainmeter.ini' dosyası '$APPDATA\Rainmeter\Rainmeter.ini' dizinine kopyalanamadı." +${LangFileString} SELECTLANGUAGE "Lütfen kurulum dilini seçiniz." +${LangFileString} INSTALLOPTIONS "Kurulum Seçenekleri" +${LangFileString} INSTALLOPTIONSDESC "Ek kurulum seçeneklerini seçin" +${LangFileString} STANDARDINST "Standart Kurulum (Önerilen)" +${LangFileString} STANDARDINSTDESC "Rainmeter'i kurar ve gerekli kütüphaneleri indirir." +${LangFileString} PORTABLEINST "Taşınabilir Kurulum" +${LangFileString} PORTABLEINSTDESC "Eğer ne yaptığınızı tam olarak bilmiyorsanız bunu seçmeyin. Kısayollar yaratılmayacak ve .rmskin uzantısı kayıt anahtarına eklenmeyecek. Visual C++ 2010 ve .NET 2.0 kütüphanelerinin elle yüklenmesi gerekebilir." +${LangFileString} DESKTOPSHORTCUT "Masaüstü kısayolu ekle" +${LangFileString} ALLUSERSSHORTCUT "Kısayolları tüm kullanıcılar için ekle" +${LangFileString} AUTOSTARTUP "Rainmeter'ı başlangıçta çalıştır" +${LangFileString} INSTALLDOTNET ".NET 2.0 yükle (Önerilen)" +${LangFileString} ADDITIONALOPTIONS "Ek Seçenekler" +${LangFileString} RAINMETERVERSION "Rainmeter Sürümü" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Kaldırma seçenekleri" +${LangFileString} UNSTALLOPTIONSDESC "Herhangi bir ek seçeneği seçin" +${LangFileString} UNSTALLRAINMETER "Rainmeter'ı kaldır" +${LangFileString} UNSTALLSETTINGS "Tüm kişisel ayar ve dosyaları tamamen kaldır" +${LangFileString} UNSTALLSETTINGSDESC "(Kabuklar, temalar, eklentiler, kayıt ayarları ve başlangıç menüsü maddelerini içerir)" \ No newline at end of file diff --git a/Language/Ukrainian.h b/Language/Ukrainian.h new file mode 100644 index 00000000..55f83e86 Binary files /dev/null and b/Language/Ukrainian.h differ diff --git a/Language/Ukrainian.nsh b/Language/Ukrainian.nsh new file mode 100644 index 00000000..1eba50f5 --- /dev/null +++ b/Language/Ukrainian.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} не підтримує Windows 2000. Щоб використовувати Rainmeter на Windows 2000, закачайте пізню версію Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Для Rainmeter ${VER} потрібно Windows XP SP2 або вище. Будь ласка оновіть до самого останнього SP і спробуйте знову." +${LangFileString} WIN2003SP1ERROR "Для Rainmeter ${VER} потрібно Windows 2003 SP1 або вище. Будь ласка оновіть до самого останнього SP і спробуйте знову." +${LangFileString} ADMINERROR "Потрібні права Адміністратора." +${LangFileString} LOGONERROR "Служба входу в систему не запущена." +${LangFileString} UACERROR "Не вдається підвищити." +${LangFileString} WRITEERROR "Портативний Rainmeter повинен бути встановлений в директорії з повним доступом для читання і запису (як звичайний користувач).$\nЯкщо ви хочете встановити Rainmeter в '$INSTDIR', поверніться назад і оберіть «Стандартна Установка».$\n$\nВ іншому випадку вкажіть інше розташування з повним доступом для читання і запису." +${LangFileString} VCINSTERROR "Visual C++ $instArc установка завершилася з кодом помилки $0.$\n$\nВи можете спробувати завантажити Visual C++ 2010 SP1 $instArc розповсюджуваний пакет вручну з http://rainmeter.net/redist$\n$\nНатисніть кнопку OK для виходу. " +${LangFileString} DOTNETINSTERROR ".NET $instArc установка завершилася з кодом помилки $0.$\n$\nВы можете спробувати завантажити .NET $instArc розповсюджуваний пакет вручну з http://rainmeter.net/redist$\n$\nНатисніть кнопку OK для виходу. " +${LangFileString} RAINMETERCLOSEERROR "Не вдалося закрити Rainmeter.$\n$\nБудь ласка закрийте Rainmeter вручну і повторіть спробу." +${LangFileString} SETTINGSFILEERROR "Файл налаштувань (Rainmeter.ini) розташований в папці установки. Знаходження його там може викликати проблеми, якщо програма використовується декількома користувачами або будь-ким з привілеями користувача з обмеженими правами. $\n$\nБажаєте перемістити файл в папку для даних програми?" +${LangFileString} SETTINGSMOVEERROR "Не вдається перемістити файл '$INSTDIR\Rainmeter.ini' в '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Будь ласка, виберіть мову установки." +${LangFileString} INSTALLOPTIONS "Параметри Установки" +${LangFileString} INSTALLOPTIONSDESC "Виберіть додаткові параметри установки" +${LangFileString} STANDARDINST "Стандартна установка (рекомендується)" +${LangFileString} STANDARDINSTDESC "Встановити Rainmeter і завантажити необхідні бібліотеки." +${LangFileString} PORTABLEINST "Портативна установка" +${LangFileString} PORTABLEINSTDESC "Не вибирайте це, якщо ви не знаєте, що ви робите. Ярлики не будуть створені і. rmskin розширення буде не зареєстровано. Може знадобитися вручну встановити Visual C++ 2010 і .NET 2.0 бібліотеки." +${LangFileString} DESKTOPSHORTCUT "Додати ярлик на робочий стіл" +${LangFileString} ALLUSERSSHORTCUT "Додати ярлики для всіх користувачів" +${LangFileString} AUTOSTARTUP "Запускати Rainmeter при старті системи" +${LangFileString} INSTALLDOTNET "Встановити .NET 2.0 framework (рекомендується)" +${LangFileString} ADDITIONALOPTIONS "Додаткові налаштування" +${LangFileString} RAINMETERVERSION "Версія Rainmeter" +${LangFileString} 32BIT "32-біт" +${LangFileString} 64BIT "64-біт" +${LangFileString} UNSTALLOPTIONS "Настройки Видалення" +${LangFileString} UNSTALLOPTIONSDESC "Виберіть будь-які додаткові опції" +${LangFileString} UNSTALLRAINMETER "Видалити Rainmeter" +${LangFileString} UNSTALLSETTINGS "Повністю видалити всі особисті настройки та файли" +${LangFileString} UNSTALLSETTINGSDESC "(включаючи скіни, теми, аддони, параметри реєстру та елементи меню Пуск)" \ No newline at end of file diff --git a/Language/Vietnamese.h b/Language/Vietnamese.h new file mode 100644 index 00000000..134cb167 Binary files /dev/null and b/Language/Vietnamese.h differ diff --git a/Language/Vietnamese.nsh b/Language/Vietnamese.nsh new file mode 100644 index 00000000..68471dec --- /dev/null +++ b/Language/Vietnamese.nsh @@ -0,0 +1,32 @@ +${LangFileString} WIN2KERROR "Rainmeter ${VER} không hỗ trợ Windows 2000. Để sử dụng Rainmeter trên Windows 2000, tải bản cũ hơn phiên bản Rainmeter 2.0." +${LangFileString} WINXPS2ERROR "Rainmeter ${VER} yêu cầu Windows XP SP2 hoặc hơn. Vui lòng nâng cấp lên gói mới nhất và thử lại." +${LangFileString} WIN2003SP1ERROR "Rainmeter ${VER} yêu cầu Windows 2003 SP1 hoặc hơn. Vui lòng nâng cấp lên gói mới nhất và thử lại." +${LangFileString} ADMINERROR "Yêu cầu quyền Admin." +${LangFileString} LOGONERROR "Truy cập hệ thống không hoạt động." +${LangFileString} UACERROR "Không thể nâng cấp." +${LangFileString} WRITEERROR "Portable Rainmeter phải được cài đặt tại địa chỉ có thể đọc và viết được (tức là sử dụng bình thường).$\nNếu bạn muốn cài đặt Rainmeter tại '$INSTDIR', quay lại và chọn 'Cài đặt thông thường'.$\n$\nCòn không, tìm một địa chỉ nào đó có thể đọc và viết được." +${LangFileString} VCINSTERROR "Visual C++ $instArc đã cài đặt thất bại error code $0.$\n$\nBạn có muốn thử tải bằng tay Visual C++ 2010 SP1 $instArc đã được đóng gói phân phối từ http://rainmeter.net/redist$\n$\nẤn OK để thoát." +${LangFileString} DOTNETINSTERROR ".NET $instArc đã cài đặt thất bại error code $0.$\n$\nBạn có muốn thử tải bằng tay .NET $instArc đã được đóng gói phân phối từ http://rainmeter.net/redist$\n$\nẤn OK để thoát." +${LangFileString} RAINMETERCLOSEERROR "Thất bại khi đóng Rainmeter.$\n$\nVui lòng đóng Rainmeter bằng tay và thử lại." +${LangFileString} SETTINGSFILEERROR "File cấu hình (Rainmeter.ini) đã có ở trong thư mục cài đặt. Giữ nó ở đây có thể gây vấn đề nếu ứng dụng được sử dụng bởi nhiều người hoặc bất kỳ ai với quyền sử dụng bị hạn chế.$\n$\nBạn có muốn chuyển file vào thư mục dữ liệu của ứng dụng?" +${LangFileString} SETTINGSMOVEERROR "Không thể di chuyển file '$INSTDIR\Rainmeter.ini' đến '$APPDATA\Rainmeter\Rainmeter.ini'." +${LangFileString} SELECTLANGUAGE "Vui lòng lựa chọn ngôn ngữ cài đặt." +${LangFileString} INSTALLOPTIONS "Tùy chọn cài đặt" +${LangFileString} INSTALLOPTIONSDESC "Chọn bổ sung tùy chọn cài đặt" +${LangFileString} STANDARDINST "Cài đặt thông thường (khuyến nghị)" +${LangFileString} STANDARDINSTDESC "Cài đặt Rainmeter và tải về dữ liệu được yêu cầu." +${LangFileString} PORTABLEINST "Bản cài đặt Portable" +${LangFileString} PORTABLEINSTDESC "Không chọn nếu như bạn không biết mình đang làm gì. Sẽ không có shortcut nào được tạo và phần đuôi .rmskin sẽ không được nhận diện. Thư viện Visual C++ 2010 và .NET 2.0 sẽ phải tự cài bằng tay." +${LangFileString} DESKTOPSHORTCUT "Tạo lối tắt ở màn hình nền" +${LangFileString} ALLUSERSSHORTCUT "Thêm lối tắt cho tất cả người dùng" +${LangFileString} AUTOSTARTUP "Chạy Rainmeter cùng window" +${LangFileString} INSTALLDOTNET "Cài đặt .NET 2.0 framework (khuyến nghị)" +${LangFileString} ADDITIONALOPTIONS "Lựa chọn bổ sung" +${LangFileString} RAINMETERVERSION "Phiên bản Rainmeter" +${LangFileString} 32BIT "32-bit" +${LangFileString} 64BIT "64-bit" +${LangFileString} UNSTALLOPTIONS "Tùy chọn gỡ cài đặt" +${LangFileString} UNSTALLOPTIONSDESC "Chọn và thêm các lựa chọn bổ sung" +${LangFileString} UNSTALLRAINMETER "Gỡ cài đặt Rainmeter" +${LangFileString} UNSTALLSETTINGS "Gỡ bỏ hoàn toàn các tùy chọn cá nhân và các tệp tin" +${LangFileString} UNSTALLSETTINGSDESC "(bao gồm skin, chủ đề, trình cắm, cấu hình, và thư mục trong Start menu)" \ No newline at end of file