diff --git a/CommonProject.properties b/CommonProject.properties deleted file mode 100644 index db6e37df8..000000000 --- a/CommonProject.properties +++ /dev/null @@ -1,34 +0,0 @@ - - - - 1685 - true - bin\Debug\ - DEBUG;TRACE - true - 4096 - Full - x86 - Off - - - 1685 - true - bin\Debug\ - DEBUG;TRACE - true - 4096 - Full - AnyCPU - Off - - - 1685 - bin\Release\ - true - 4096 - pdbonly - AnyCPU - Off - - diff --git a/Directory.Build.props b/Directory.Build.props new file mode 100644 index 000000000..8f62e6686 --- /dev/null +++ b/Directory.Build.props @@ -0,0 +1,77 @@ + + + Copyright © Greenshot 2004-2020 + Greenshot + https://getgreenshot.org/favicon.ico + https://github.com/greenshot/greenshot + git + https://github.com/greenshot/greenshot + https://www.gnu.org/licenses/gpl.html + GPL + latest + true + true + win10-x64;win10-x86;win-x64;win-x86 + + true + + true + net471 + + + + + + + + + false + true + + + + false + true + false + + + + false + false + + + + DEBUG;TRACE + True + true + embedded + false + + + + true + embedded + True + + + + + all + runtime; build; native; contentfiles; analyzers + + + + + + + + diff --git a/Greenshot.sln b/Greenshot.sln index 20f767cf9..a88278243 100644 --- a/Greenshot.sln +++ b/Greenshot.sln @@ -3,13 +3,13 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.29728.190 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Greenshot", "Greenshot\Greenshot.csproj", "{CD642BF4-D815-4D67-A0B5-C69F0B8231AF}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Greenshot", "Greenshot\Greenshot.csproj", "{CD642BF4-D815-4D67-A0B5-C69F0B8231AF}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotPlugin", "GreenshotPlugin\GreenshotPlugin.csproj", "{5B924697-4DCD-4F98-85F1-105CB84B7341}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GreenshotPlugin", "GreenshotPlugin\GreenshotPlugin.csproj", "{5B924697-4DCD-4F98-85F1-105CB84B7341}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotExternalCommandPlugin", "GreenshotExternalCommandPlugin\GreenshotExternalCommandPlugin.csproj", "{47F23C86-604E-4CC3-8767-B3D4088F30BB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotConfluencePlugin", "GreenshotConfluencePlugin\GreenshotConfluencePlugin.csproj", "{C3052651-598A-44E2-AAB3-2E41311D50F9}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GreenshotConfluencePlugin", "GreenshotConfluencePlugin\GreenshotConfluencePlugin.csproj", "{C3052651-598A-44E2-AAB3-2E41311D50F9}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotImgurPlugin", "GreenshotImgurPlugin\GreenshotImgurPlugin.csproj", "{80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}" EndProject @@ -22,7 +22,7 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotOCRCommand", "Gree {C6988EE8-2FEE-4349-9F09-F9628A0D8965} = {C6988EE8-2FEE-4349-9F09-F9628A0D8965} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotBoxPlugin", "GreenshotBoxPlugin\GreenshotBoxPlugin.csproj", "{697CF066-9077-4F22-99D9-D989CCE7282B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GreenshotBoxPlugin", "GreenshotBoxPlugin\GreenshotBoxPlugin.csproj", "{697CF066-9077-4F22-99D9-D989CCE7282B}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotDropboxPlugin", "GreenshotDropboxPlugin\GreenshotDropboxPlugin.csproj", "{AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}" EndProject @@ -30,11 +30,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotFlickrPlugin", "Gr EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotPicasaPlugin", "GreenshotPicasaPlugin\GreenshotPicasaPlugin.csproj", "{1893A2E4-A78A-4713-A8E7-E70058DABEE0}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotOfficePlugin", "GreenshotOfficePlugin\GreenshotOfficePlugin.csproj", "{92599C09-FF29-4ABD-B6E6-C48ECD781BAB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GreenshotOfficePlugin", "GreenshotOfficePlugin\GreenshotOfficePlugin.csproj", "{92599C09-FF29-4ABD-B6E6-C48ECD781BAB}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotPhotobucketPlugin", "GreenshotPhotobucketPlugin\GreenshotPhotobucketPlugin.csproj", "{9C0ECC4C-7807-4111-916A-4F57BB29788A}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GreenshotPhotobucketPlugin", "GreenshotPhotobucketPlugin\GreenshotPhotobucketPlugin.csproj", "{9C0ECC4C-7807-4111-916A-4F57BB29788A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "GreenshotWin10Plugin", "GreenshotWin10Plugin\GreenshotWin10Plugin.csproj", "{9801F62C-540F-4BFE-9211-6405DEDE563B}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "GreenshotWin10Plugin", "GreenshotWin10Plugin\GreenshotWin10Plugin.csproj", "{9801F62C-540F-4BFE-9211-6405DEDE563B}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -49,136 +49,152 @@ Global {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Debug|Any CPU.Build.0 = Debug|Any CPU {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Debug|x86.ActiveCfg = Debug|x86 - {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Debug|x86.Build.0 = Debug|x86 + {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Debug|x86.ActiveCfg = Debug|Any CPU + {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Debug|x86.Build.0 = Debug|Any CPU {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Release|Any CPU.ActiveCfg = Release|Any CPU {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Release|Any CPU.Build.0 = Release|Any CPU {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Release|x86.ActiveCfg = Release|x86 + {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Release|x86.ActiveCfg = Release|Any CPU + {CD642BF4-D815-4D67-A0B5-C69F0B8231AF}.Release|x86.Build.0 = Release|Any CPU {5B924697-4DCD-4F98-85F1-105CB84B7341}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {5B924697-4DCD-4F98-85F1-105CB84B7341}.Debug|Any CPU.Build.0 = Debug|Any CPU {5B924697-4DCD-4F98-85F1-105CB84B7341}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {5B924697-4DCD-4F98-85F1-105CB84B7341}.Debug|x86.ActiveCfg = Debug|x86 - {5B924697-4DCD-4F98-85F1-105CB84B7341}.Debug|x86.Build.0 = Debug|x86 + {5B924697-4DCD-4F98-85F1-105CB84B7341}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {5B924697-4DCD-4F98-85F1-105CB84B7341}.Debug|x86.ActiveCfg = Debug|Any CPU + {5B924697-4DCD-4F98-85F1-105CB84B7341}.Debug|x86.Build.0 = Debug|Any CPU {5B924697-4DCD-4F98-85F1-105CB84B7341}.Release|Any CPU.ActiveCfg = Release|Any CPU {5B924697-4DCD-4F98-85F1-105CB84B7341}.Release|Any CPU.Build.0 = Release|Any CPU {5B924697-4DCD-4F98-85F1-105CB84B7341}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {5B924697-4DCD-4F98-85F1-105CB84B7341}.Release|x86.ActiveCfg = Release|x86 + {5B924697-4DCD-4F98-85F1-105CB84B7341}.Release|x86.ActiveCfg = Release|Any CPU + {5B924697-4DCD-4F98-85F1-105CB84B7341}.Release|x86.Build.0 = Release|Any CPU {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Debug|Any CPU.Build.0 = Debug|Any CPU {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Debug|x86.ActiveCfg = Debug|x86 - {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Debug|x86.Build.0 = Debug|x86 + {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Debug|x86.ActiveCfg = Debug|Any CPU + {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Debug|x86.Build.0 = Debug|Any CPU {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Release|Any CPU.ActiveCfg = Release|Any CPU {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Release|Any CPU.Build.0 = Release|Any CPU {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Release|x86.ActiveCfg = Release|x86 + {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Release|x86.ActiveCfg = Release|Any CPU + {47F23C86-604E-4CC3-8767-B3D4088F30BB}.Release|x86.Build.0 = Release|Any CPU {C3052651-598A-44E2-AAB3-2E41311D50F9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C3052651-598A-44E2-AAB3-2E41311D50F9}.Debug|Any CPU.Build.0 = Debug|Any CPU {C3052651-598A-44E2-AAB3-2E41311D50F9}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C3052651-598A-44E2-AAB3-2E41311D50F9}.Debug|x86.ActiveCfg = Debug|x86 - {C3052651-598A-44E2-AAB3-2E41311D50F9}.Debug|x86.Build.0 = Debug|x86 + {C3052651-598A-44E2-AAB3-2E41311D50F9}.Debug|x86.ActiveCfg = Debug|Any CPU + {C3052651-598A-44E2-AAB3-2E41311D50F9}.Debug|x86.Build.0 = Debug|Any CPU {C3052651-598A-44E2-AAB3-2E41311D50F9}.Release|Any CPU.ActiveCfg = Release|Any CPU {C3052651-598A-44E2-AAB3-2E41311D50F9}.Release|Any CPU.Build.0 = Release|Any CPU {C3052651-598A-44E2-AAB3-2E41311D50F9}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {C3052651-598A-44E2-AAB3-2E41311D50F9}.Release|x86.ActiveCfg = Release|x86 + {C3052651-598A-44E2-AAB3-2E41311D50F9}.Release|x86.ActiveCfg = Release|Any CPU + {C3052651-598A-44E2-AAB3-2E41311D50F9}.Release|x86.Build.0 = Release|Any CPU {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Debug|Any CPU.Build.0 = Debug|Any CPU {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Debug|x86.ActiveCfg = Debug|x86 - {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Debug|x86.Build.0 = Debug|x86 + {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Debug|x86.ActiveCfg = Debug|Any CPU + {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Debug|x86.Build.0 = Debug|Any CPU {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Release|Any CPU.ActiveCfg = Release|Any CPU {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Release|Any CPU.Build.0 = Release|Any CPU {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Release|x86.ActiveCfg = Release|x86 + {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Release|x86.ActiveCfg = Release|Any CPU + {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50}.Release|x86.Build.0 = Release|Any CPU {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Debug|Any CPU.Build.0 = Debug|Any CPU {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Debug|x86.ActiveCfg = Debug|x86 - {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Debug|x86.Build.0 = Debug|x86 + {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Debug|x86.ActiveCfg = Debug|Any CPU + {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Debug|x86.Build.0 = Debug|Any CPU {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Release|Any CPU.ActiveCfg = Release|Any CPU {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Release|Any CPU.Build.0 = Release|Any CPU {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Release|x86.ActiveCfg = Release|x86 + {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Release|x86.ActiveCfg = Release|Any CPU + {19FEEF09-313F-43C7-819D-F1BCA782B08B}.Release|x86.Build.0 = Release|Any CPU {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Debug|Any CPU.Build.0 = Debug|Any CPU {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Debug|x86.ActiveCfg = Debug|x86 - {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Debug|x86.Build.0 = Debug|x86 + {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Debug|x86.ActiveCfg = Debug|Any CPU + {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Debug|x86.Build.0 = Debug|Any CPU {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Release|Any CPU.ActiveCfg = Release|Any CPU {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Release|Any CPU.Build.0 = Release|Any CPU {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Release|x86.ActiveCfg = Release|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|Any CPU.ActiveCfg = Debug|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|Any CPU.Build.0 = Debug|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|x86.ActiveCfg = Debug|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|x86.Build.0 = Debug|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|Any CPU.ActiveCfg = Release|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|Any CPU.Build.0 = Release|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|x86.ActiveCfg = Release|x86 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|x86.Build.0 = Release|x86 + {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Release|x86.ActiveCfg = Release|Any CPU + {C6988EE8-2FEE-4349-9F09-F9628A0D8965}.Release|x86.Build.0 = Release|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|x86.ActiveCfg = Debug|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Debug|x86.Build.0 = Debug|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|Any CPU.Build.0 = Release|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|Mixed Platforms.Build.0 = Release|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|x86.ActiveCfg = Release|Any CPU + {D61E6ECE-E0B6-4467-B492-F08A06BA8F02}.Release|x86.Build.0 = Release|Any CPU {697CF066-9077-4F22-99D9-D989CCE7282B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {697CF066-9077-4F22-99D9-D989CCE7282B}.Debug|Any CPU.Build.0 = Debug|Any CPU {697CF066-9077-4F22-99D9-D989CCE7282B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {697CF066-9077-4F22-99D9-D989CCE7282B}.Debug|x86.ActiveCfg = Debug|x86 - {697CF066-9077-4F22-99D9-D989CCE7282B}.Debug|x86.Build.0 = Debug|x86 + {697CF066-9077-4F22-99D9-D989CCE7282B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU + {697CF066-9077-4F22-99D9-D989CCE7282B}.Debug|x86.ActiveCfg = Debug|Any CPU + {697CF066-9077-4F22-99D9-D989CCE7282B}.Debug|x86.Build.0 = Debug|Any CPU {697CF066-9077-4F22-99D9-D989CCE7282B}.Release|Any CPU.ActiveCfg = Release|Any CPU {697CF066-9077-4F22-99D9-D989CCE7282B}.Release|Any CPU.Build.0 = Release|Any CPU {697CF066-9077-4F22-99D9-D989CCE7282B}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {697CF066-9077-4F22-99D9-D989CCE7282B}.Release|x86.ActiveCfg = Release|x86 + {697CF066-9077-4F22-99D9-D989CCE7282B}.Release|x86.ActiveCfg = Release|Any CPU + {697CF066-9077-4F22-99D9-D989CCE7282B}.Release|x86.Build.0 = Release|Any CPU {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Debug|Any CPU.Build.0 = Debug|Any CPU {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Debug|x86.ActiveCfg = Debug|x86 - {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Debug|x86.Build.0 = Debug|x86 + {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Debug|x86.ActiveCfg = Debug|Any CPU + {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Debug|x86.Build.0 = Debug|Any CPU {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Release|Any CPU.ActiveCfg = Release|Any CPU {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Release|Any CPU.Build.0 = Release|Any CPU {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Release|x86.ActiveCfg = Release|x86 + {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Release|x86.ActiveCfg = Release|Any CPU + {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12}.Release|x86.Build.0 = Release|Any CPU {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Debug|Any CPU.Build.0 = Debug|Any CPU {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Debug|x86.ActiveCfg = Debug|x86 - {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Debug|x86.Build.0 = Debug|x86 + {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Debug|x86.ActiveCfg = Debug|Any CPU + {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Debug|x86.Build.0 = Debug|Any CPU {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Release|Any CPU.ActiveCfg = Release|Any CPU {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Release|Any CPU.Build.0 = Release|Any CPU {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Release|x86.ActiveCfg = Release|x86 + {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Release|x86.ActiveCfg = Release|Any CPU + {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E}.Release|x86.Build.0 = Release|Any CPU {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Debug|Any CPU.Build.0 = Debug|Any CPU {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU - {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Debug|x86.ActiveCfg = Debug|x86 - {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Debug|x86.Build.0 = Debug|x86 + {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Debug|x86.ActiveCfg = Debug|Any CPU + {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Debug|x86.Build.0 = Debug|Any CPU {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Release|Any CPU.ActiveCfg = Release|Any CPU {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Release|Any CPU.Build.0 = Release|Any CPU {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU - {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Release|x86.ActiveCfg = Release|x86 + {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Release|x86.ActiveCfg = Release|Any CPU + {1893A2E4-A78A-4713-A8E7-E70058DABEE0}.Release|x86.Build.0 = Release|Any CPU {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Debug|Any CPU.Build.0 = Debug|Any CPU {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Debug|x86.ActiveCfg = Debug|x86 - {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Debug|x86.Build.0 = Debug|x86 + {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Debug|x86.ActiveCfg = Debug|Any CPU + {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Debug|x86.Build.0 = Debug|Any CPU {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Release|Any CPU.ActiveCfg = Release|Any CPU {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Release|Any CPU.Build.0 = Release|Any CPU {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Release|x86.ActiveCfg = Release|x86 - {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Release|x86.Build.0 = Release|x86 + {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Release|x86.ActiveCfg = Release|Any CPU + {92599C09-FF29-4ABD-B6E6-C48ECD781BAB}.Release|x86.Build.0 = Release|Any CPU {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Debug|Any CPU.Build.0 = Debug|Any CPU {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU - {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Debug|x86.ActiveCfg = Debug|x86 - {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Debug|x86.Build.0 = Debug|x86 + {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Debug|x86.ActiveCfg = Debug|Any CPU + {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Debug|x86.Build.0 = Debug|Any CPU {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|Any CPU.ActiveCfg = Release|Any CPU {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|Any CPU.Build.0 = Release|Any CPU {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|Mixed Platforms.Build.0 = Release|Any CPU - {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|x86.ActiveCfg = Release|x86 - {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|x86.Build.0 = Release|x86 + {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|x86.ActiveCfg = Release|Any CPU + {9C0ECC4C-7807-4111-916A-4F57BB29788A}.Release|x86.Build.0 = Release|Any CPU {9801F62C-540F-4BFE-9211-6405DEDE563B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {9801F62C-540F-4BFE-9211-6405DEDE563B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU {9801F62C-540F-4BFE-9211-6405DEDE563B}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU diff --git a/Greenshot/App.config b/Greenshot/App.config index 163c4c3a2..f724aa5aa 100644 --- a/Greenshot/App.config +++ b/Greenshot/App.config @@ -1,13 +1,15 @@ - - - + + + - - + + + - + + diff --git a/Greenshot/AssemblyInfo.cs b/Greenshot/AssemblyInfo.cs deleted file mode 100644 index efd0f77c8..000000000 --- a/Greenshot/AssemblyInfo.cs +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom - * - * For more information see: http://getgreenshot.org/ - * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("Greenshot")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("Greenshot")] -[assembly: AssemblyCopyright("")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// This sets the default COM visibility of types in the assembly to invisible. -// If you need to expose a type to COM, use [ComVisible(true)] on that type. -[assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/Greenshot/Configuration/EditorConfiguration.cs b/Greenshot/Configuration/EditorConfiguration.cs index 2a95136d3..25def41ed 100644 --- a/Greenshot/Configuration/EditorConfiguration.cs +++ b/Greenshot/Configuration/EditorConfiguration.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Configuration/LanguageKeys.cs b/Greenshot/Configuration/LanguageKeys.cs index c2280f2f4..08f982374 100644 --- a/Greenshot/Configuration/LanguageKeys.cs +++ b/Greenshot/Configuration/LanguageKeys.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/BindableToolStripButton.cs b/Greenshot/Controls/BindableToolStripButton.cs index 7c1c50b85..893264403 100644 --- a/Greenshot/Controls/BindableToolStripButton.cs +++ b/Greenshot/Controls/BindableToolStripButton.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/BindableToolStripComboBox.cs b/Greenshot/Controls/BindableToolStripComboBox.cs index d0f706260..e6e8ad105 100644 --- a/Greenshot/Controls/BindableToolStripComboBox.cs +++ b/Greenshot/Controls/BindableToolStripComboBox.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/BindableToolStripDropDownButton.cs b/Greenshot/Controls/BindableToolStripDropDownButton.cs index da638d481..4a04e1f23 100644 --- a/Greenshot/Controls/BindableToolStripDropDownButton.cs +++ b/Greenshot/Controls/BindableToolStripDropDownButton.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/ColorButton.cs b/Greenshot/Controls/ColorButton.cs index a08f0afab..935729732 100644 --- a/Greenshot/Controls/ColorButton.cs +++ b/Greenshot/Controls/ColorButton.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -55,11 +55,11 @@ namespace Greenshot.Controls { brush = new HatchBrush(HatchStyle.Percent50, Color.White, Color.Gray); } - if (Image != null) { - using (Graphics graphics = Graphics.FromImage(Image)) { - graphics.FillRectangle(brush, new Rectangle(4,17,16,3)); - } - } + if (Image != null) + { + using Graphics graphics = Graphics.FromImage(Image); + graphics.FillRectangle(brush, new Rectangle(4,17,16,3)); + } // cleanup GDI Object brush.Dispose(); diff --git a/Greenshot/Controls/ContextMenuToolStripProfessionalRenderer.cs b/Greenshot/Controls/ContextMenuToolStripProfessionalRenderer.cs index d3e8b5db2..6d0d5d757 100644 --- a/Greenshot/Controls/ContextMenuToolStripProfessionalRenderer.cs +++ b/Greenshot/Controls/ContextMenuToolStripProfessionalRenderer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/CustomToolStripProfessionalRenderer.cs b/Greenshot/Controls/CustomToolStripProfessionalRenderer.cs index bbf59f368..cb851ea2f 100644 --- a/Greenshot/Controls/CustomToolStripProfessionalRenderer.cs +++ b/Greenshot/Controls/CustomToolStripProfessionalRenderer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/FontFamilyComboBox.cs b/Greenshot/Controls/FontFamilyComboBox.cs index 53a89111a..dc5975be3 100644 --- a/Greenshot/Controls/FontFamilyComboBox.cs +++ b/Greenshot/Controls/FontFamilyComboBox.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -98,24 +98,23 @@ namespace Greenshot.Controls { /// /// /// - private void DrawText(Graphics graphics, FontFamily fontFamily, FontStyle fontStyle, Rectangle bounds, string text) { - using (Font font = new Font(fontFamily, Font.Size + 5, fontStyle, GraphicsUnit.Pixel)) { - // Make sure the text is visible by centering it in the line - using (StringFormat stringFormat = new StringFormat()) { - stringFormat.LineAlignment = StringAlignment.Center; - graphics.DrawString(text, font, Brushes.Black, bounds, stringFormat); - } - } - } + private void DrawText(Graphics graphics, FontFamily fontFamily, FontStyle fontStyle, Rectangle bounds, string text) + { + using Font font = new Font(fontFamily, Font.Size + 5, fontStyle, GraphicsUnit.Pixel); + // Make sure the text is visible by centering it in the line + using StringFormat stringFormat = new StringFormat + { + LineAlignment = StringAlignment.Center + }; + graphics.DrawString(text, font, Brushes.Black, bounds, stringFormat); + } private void BindableToolStripComboBox_SelectedIndexChanged(object sender, EventArgs e) { - if (PropertyChanged != null) { - PropertyChanged(this, new PropertyChangedEventArgs("Text")); - PropertyChanged(this, new PropertyChangedEventArgs("FontFamily")); - PropertyChanged(this, new PropertyChangedEventArgs("SelectedIndex")); - PropertyChanged(this, new PropertyChangedEventArgs("SelectedItem")); - - } - } + if (PropertyChanged == null) return; + PropertyChanged(this, new PropertyChangedEventArgs("Text")); + PropertyChanged(this, new PropertyChangedEventArgs("FontFamily")); + PropertyChanged(this, new PropertyChangedEventArgs("SelectedIndex")); + PropertyChanged(this, new PropertyChangedEventArgs("SelectedItem")); + } } } diff --git a/Greenshot/Controls/MenuStripEx.cs b/Greenshot/Controls/MenuStripEx.cs index b8f1ab264..b4e42082a 100644 --- a/Greenshot/Controls/MenuStripEx.cs +++ b/Greenshot/Controls/MenuStripEx.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/NonJumpingPanel.cs b/Greenshot/Controls/NonJumpingPanel.cs index 8a4747adf..51658a105 100644 --- a/Greenshot/Controls/NonJumpingPanel.cs +++ b/Greenshot/Controls/NonJumpingPanel.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/Pipette.cs b/Greenshot/Controls/Pipette.cs index 662b30931..efdf67c9b 100644 --- a/Greenshot/Controls/Pipette.cs +++ b/Greenshot/Controls/Pipette.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -56,17 +56,16 @@ namespace Greenshot.Controls { /// Hotspot X coordinate /// Hotspot Y coordinate /// Cursor - private static Cursor CreateCursor(Bitmap bitmap, int hotspotX, int hotspotY) { - using (SafeIconHandle iconHandle = new SafeIconHandle( bitmap.GetHicon())) { - IconInfo iconInfo; - User32.GetIconInfo(iconHandle, out iconInfo); - iconInfo.xHotspot = hotspotX; - iconInfo.yHotspot = hotspotY; - iconInfo.fIcon = false; - var icon = User32.CreateIconIndirect(ref iconInfo); - return new Cursor(icon); - } - } + private static Cursor CreateCursor(Bitmap bitmap, int hotspotX, int hotspotY) + { + using SafeIconHandle iconHandle = new SafeIconHandle( bitmap.GetHicon()); + User32.GetIconInfo(iconHandle, out var iconInfo); + iconInfo.xHotspot = hotspotX; + iconInfo.yHotspot = hotspotY; + iconInfo.fIcon = false; + var icon = User32.CreateIconIndirect(ref iconInfo); + return new Cursor(icon); + } /// /// The bulk of the clean-up code is implemented in Dispose(bool) @@ -151,9 +150,7 @@ namespace Greenshot.Controls { base.OnMouseCaptureChanged(e); } - #region IMessageFilter Members - - public bool PreFilterMessage(ref Message m) { + public bool PreFilterMessage(ref Message m) { if (_dragging) { if (m.Msg == (int)WindowsMessages.WM_CHAR) { if ((int)m.WParam == VkEsc) { @@ -163,9 +160,7 @@ namespace Greenshot.Controls { } return false; } - - #endregion - } + } public class PipetteUsedArgs : EventArgs { public Color Color; diff --git a/Greenshot/Controls/ToolStripColorButton.cs b/Greenshot/Controls/ToolStripColorButton.cs index 8f5acd7d9..706a54cf3 100644 --- a/Greenshot/Controls/ToolStripColorButton.cs +++ b/Greenshot/Controls/ToolStripColorButton.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -53,11 +53,11 @@ namespace Greenshot.Controls { brush = new HatchBrush(HatchStyle.Percent50, Color.White, Color.Gray); } - if (Image != null) { - using (Graphics graphics = Graphics.FromImage(Image)) { - graphics.FillRectangle(brush, new Rectangle(0,13,16,3)); - } - } + if (Image != null) + { + using Graphics graphics = Graphics.FromImage(Image); + graphics.FillRectangle(brush, new Rectangle(0,13,16,3)); + } // cleanup GDI Object brush.Dispose(); diff --git a/Greenshot/Controls/ToolStripEx.cs b/Greenshot/Controls/ToolStripEx.cs index 1298db21f..b3f669fdd 100644 --- a/Greenshot/Controls/ToolStripEx.cs +++ b/Greenshot/Controls/ToolStripEx.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Controls/ToolStripNumericUpDown.cs b/Greenshot/Controls/ToolStripNumericUpDown.cs index f683f7c9b..2cb53314b 100644 --- a/Greenshot/Controls/ToolStripNumericUpDown.cs +++ b/Greenshot/Controls/ToolStripNumericUpDown.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Destinations/ClipboardDestination.cs b/Greenshot/Destinations/ClipboardDestination.cs index 147571e78..cf0330a94 100644 --- a/Greenshot/Destinations/ClipboardDestination.cs +++ b/Greenshot/Destinations/ClipboardDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Destinations/EditorDestination.cs b/Greenshot/Destinations/EditorDestination.cs index ab66cd04e..8cfb8c13d 100644 --- a/Greenshot/Destinations/EditorDestination.cs +++ b/Greenshot/Destinations/EditorDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Destinations/EmailDestination.cs b/Greenshot/Destinations/EmailDestination.cs index 5c6b7e013..eae59d05a 100644 --- a/Greenshot/Destinations/EmailDestination.cs +++ b/Greenshot/Destinations/EmailDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Destinations/FileDestination.cs b/Greenshot/Destinations/FileDestination.cs index daada3f41..7c6730ca0 100644 --- a/Greenshot/Destinations/FileDestination.cs +++ b/Greenshot/Destinations/FileDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Destinations/FileWithDialogDestination.cs b/Greenshot/Destinations/FileWithDialogDestination.cs index a33332cca..3cdef2bea 100644 --- a/Greenshot/Destinations/FileWithDialogDestination.cs +++ b/Greenshot/Destinations/FileWithDialogDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Destinations/PickerDestination.cs b/Greenshot/Destinations/PickerDestination.cs index 6a7fc29be..f94c1af98 100644 --- a/Greenshot/Destinations/PickerDestination.cs +++ b/Greenshot/Destinations/PickerDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Destinations/PrinterDestination.cs b/Greenshot/Destinations/PrinterDestination.cs index 8fa0c5f2e..66cf248bf 100644 --- a/Greenshot/Destinations/PrinterDestination.cs +++ b/Greenshot/Destinations/PrinterDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -118,20 +118,19 @@ namespace Greenshot.Destinations { public override ExportInformation ExportCapture(bool manuallyInitiated, ISurface surface, ICaptureDetails captureDetails) { ExportInformation exportInformation = new ExportInformation(Designation, Description); PrinterSettings printerSettings; - if (!string.IsNullOrEmpty(printerName)) { - using (PrintHelper printHelper = new PrintHelper(surface, captureDetails)) { - printerSettings = printHelper.PrintTo(printerName); - } - } else if (!manuallyInitiated) { + if (!string.IsNullOrEmpty(printerName)) + { + using PrintHelper printHelper = new PrintHelper(surface, captureDetails); + printerSettings = printHelper.PrintTo(printerName); + } else if (!manuallyInitiated) { PrinterSettings settings = new PrinterSettings(); - using (PrintHelper printHelper = new PrintHelper(surface, captureDetails)) { - printerSettings = printHelper.PrintTo(settings.PrinterName); - } - } else { - using (PrintHelper printHelper = new PrintHelper(surface, captureDetails)) { - printerSettings = printHelper.PrintWithDialog(); - } - } + using PrintHelper printHelper = new PrintHelper(surface, captureDetails); + printerSettings = printHelper.PrintTo(settings.PrinterName); + } else + { + using PrintHelper printHelper = new PrintHelper(surface, captureDetails); + printerSettings = printHelper.PrintWithDialog(); + } if (printerSettings != null) { exportInformation.ExportMade = true; } diff --git a/Greenshot/Drawing/Adorners/AbstractAdorner.cs b/Greenshot/Drawing/Adorners/AbstractAdorner.cs index 886abf937..5411a8906 100644 --- a/Greenshot/Drawing/Adorners/AbstractAdorner.cs +++ b/Greenshot/Drawing/Adorners/AbstractAdorner.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/ diff --git a/Greenshot/Drawing/Adorners/MoveAdorner.cs b/Greenshot/Drawing/Adorners/MoveAdorner.cs index 6e0aed9c7..2add1b1f4 100644 --- a/Greenshot/Drawing/Adorners/MoveAdorner.cs +++ b/Greenshot/Drawing/Adorners/MoveAdorner.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/ diff --git a/Greenshot/Drawing/Adorners/ResizeAdorner.cs b/Greenshot/Drawing/Adorners/ResizeAdorner.cs index 55635e098..e541615c4 100644 --- a/Greenshot/Drawing/Adorners/ResizeAdorner.cs +++ b/Greenshot/Drawing/Adorners/ResizeAdorner.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/ diff --git a/Greenshot/Drawing/Adorners/TargetAdorner.cs b/Greenshot/Drawing/Adorners/TargetAdorner.cs index 92c51b5b9..950765315 100644 --- a/Greenshot/Drawing/Adorners/TargetAdorner.cs +++ b/Greenshot/Drawing/Adorners/TargetAdorner.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/ diff --git a/Greenshot/Drawing/ArrowContainer.cs b/Greenshot/Drawing/ArrowContainer.cs index e79475c6d..9cf8d4e39 100644 --- a/Greenshot/Drawing/ArrowContainer.cs +++ b/Greenshot/Drawing/ArrowContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -68,27 +68,27 @@ namespace Greenshot.Drawing { int alpha = basealpha; int steps = 5; int currentStep = 1; - while (currentStep <= steps) { - using (Pen shadowCapPen = new Pen(Color.FromArgb(alpha, 100, 100, 100), lineThickness)) { - SetArrowHeads(heads, shadowCapPen); + while (currentStep <= steps) + { + using Pen shadowCapPen = new Pen(Color.FromArgb(alpha, 100, 100, 100), lineThickness); + SetArrowHeads(heads, shadowCapPen); - graphics.DrawLine(shadowCapPen, - Left + currentStep, - Top + currentStep, - Left + currentStep + Width, - Top + currentStep + Height); + graphics.DrawLine(shadowCapPen, + Left + currentStep, + Top + currentStep, + Left + currentStep + Width, + Top + currentStep + Height); - currentStep++; - alpha = alpha - basealpha / steps; - } - } + currentStep++; + alpha -= basealpha / steps; + } } - using (Pen pen = new Pen(lineColor, lineThickness)) { - SetArrowHeads(heads, pen); - graphics.DrawLine(pen, Left, Top, Left + Width, Top + Height); - } - } + + using Pen pen = new Pen(lineColor, lineThickness); + SetArrowHeads(heads, pen); + graphics.DrawLine(pen, Left, Top, Left + Width, Top + Height); + } } } @@ -104,36 +104,37 @@ namespace Greenshot.Drawing { public override Rectangle DrawingBounds { get { int lineThickness = GetFieldValueAsInt(FieldType.LINE_THICKNESS); - if (lineThickness > 0) { - using (Pen pen = new Pen(Color.White)) { - pen.Width = lineThickness; - SetArrowHeads((ArrowHeadCombination)GetFieldValue(FieldType.ARROWHEADS), pen); - using (GraphicsPath path = new GraphicsPath()) { - path.AddLine(Left, Top, Left + Width, Top + Height); - using (Matrix matrix = new Matrix()) { - Rectangle drawingBounds = Rectangle.Round(path.GetBounds(matrix, pen)); - drawingBounds.Inflate(2, 2); - return drawingBounds; - } - } - } - } + if (lineThickness > 0) + { + using Pen pen = new Pen(Color.White) + { + Width = lineThickness + }; + SetArrowHeads((ArrowHeadCombination)GetFieldValue(FieldType.ARROWHEADS), pen); + using GraphicsPath path = new GraphicsPath(); + path.AddLine(Left, Top, Left + Width, Top + Height); + using Matrix matrix = new Matrix(); + Rectangle drawingBounds = Rectangle.Round(path.GetBounds(matrix, pen)); + drawingBounds.Inflate(2, 2); + return drawingBounds; + } return Rectangle.Empty; } } public override bool ClickableAt(int x, int y) { int lineThickness = GetFieldValueAsInt(FieldType.LINE_THICKNESS) + 10; - if (lineThickness > 0) { - using (Pen pen = new Pen(Color.White)) { - pen.Width = lineThickness; - SetArrowHeads((ArrowHeadCombination)GetFieldValue(FieldType.ARROWHEADS), pen); - using (GraphicsPath path = new GraphicsPath()) { - path.AddLine(Left, Top, Left + Width, Top + Height); - return path.IsOutlineVisible(x, y, pen); - } - } - } + if (lineThickness > 0) + { + using Pen pen = new Pen(Color.White) + { + Width = lineThickness + }; + SetArrowHeads((ArrowHeadCombination)GetFieldValue(FieldType.ARROWHEADS), pen); + using GraphicsPath path = new GraphicsPath(); + path.AddLine(Left, Top, Left + Width, Top + Height); + return path.IsOutlineVisible(x, y, pen); + } return false; } } diff --git a/Greenshot/Drawing/CropContainer.cs b/Greenshot/Drawing/CropContainer.cs index 1eb22d151..42645b302 100644 --- a/Greenshot/Drawing/CropContainer.cs +++ b/Greenshot/Drawing/CropContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -64,22 +64,22 @@ namespace Greenshot.Drawing { { return; } - using (Brush cropBrush = new SolidBrush(Color.FromArgb(100, 150, 150, 100))) { - Rectangle cropRectangle = GuiRectangle.GetGuiRectangle(Left, Top, Width, Height); - Rectangle selectionRect = new Rectangle(cropRectangle.Left - 1, cropRectangle.Top - 1, cropRectangle.Width + 1, cropRectangle.Height + 1); - DrawSelectionBorder(g, selectionRect); + using Brush cropBrush = new SolidBrush(Color.FromArgb(100, 150, 150, 100)); + Rectangle cropRectangle = GuiRectangle.GetGuiRectangle(Left, Top, Width, Height); + Rectangle selectionRect = new Rectangle(cropRectangle.Left - 1, cropRectangle.Top - 1, cropRectangle.Width + 1, cropRectangle.Height + 1); + + DrawSelectionBorder(g, selectionRect); - // top - g.FillRectangle(cropBrush, new Rectangle(0, 0, _parent.Width, cropRectangle.Top)); - // left - g.FillRectangle(cropBrush, new Rectangle(0, cropRectangle.Top, cropRectangle.Left, cropRectangle.Height)); - // right - g.FillRectangle(cropBrush, new Rectangle(cropRectangle.Left + cropRectangle.Width, cropRectangle.Top, _parent.Width - (cropRectangle.Left + cropRectangle.Width), cropRectangle.Height)); - // bottom - g.FillRectangle(cropBrush, new Rectangle(0, cropRectangle.Top + cropRectangle.Height, _parent.Width, _parent.Height - (cropRectangle.Top + cropRectangle.Height))); - } - } + // top + g.FillRectangle(cropBrush, new Rectangle(0, 0, _parent.Width, cropRectangle.Top)); + // left + g.FillRectangle(cropBrush, new Rectangle(0, cropRectangle.Top, cropRectangle.Left, cropRectangle.Height)); + // right + g.FillRectangle(cropBrush, new Rectangle(cropRectangle.Left + cropRectangle.Width, cropRectangle.Top, _parent.Width - (cropRectangle.Left + cropRectangle.Width), cropRectangle.Height)); + // bottom + g.FillRectangle(cropBrush, new Rectangle(0, cropRectangle.Top + cropRectangle.Height, _parent.Width, _parent.Height - (cropRectangle.Top + cropRectangle.Height))); + } public override bool HasContextMenu { get { diff --git a/Greenshot/Drawing/CursorContainer.cs b/Greenshot/Drawing/CursorContainer.cs index b1f67fd24..61721008a 100644 --- a/Greenshot/Drawing/CursorContainer.cs +++ b/Greenshot/Drawing/CursorContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -89,11 +89,11 @@ namespace Greenshot.Drawing { if (!File.Exists(filename)) { return; } - using (Cursor fileCursor = new Cursor(filename)) { - Cursor = fileCursor; - LOG.Debug("Loaded file: " + filename + " with resolution: " + Height + "," + Width); - } - } + + using Cursor fileCursor = new Cursor(filename); + Cursor = fileCursor; + LOG.Debug("Loaded file: " + filename + " with resolution: " + Height + "," + Width); + } public override void Draw(Graphics graphics, RenderMode rm) { if (cursor == null) { diff --git a/Greenshot/Drawing/DrawableContainer.cs b/Greenshot/Drawing/DrawableContainer.cs index 92c3a92d7..1da19cb56 100644 --- a/Greenshot/Drawing/DrawableContainer.cs +++ b/Greenshot/Drawing/DrawableContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -408,13 +408,15 @@ namespace Greenshot.Drawing return r.Contains(x, y); } - protected void DrawSelectionBorder(Graphics g, Rectangle rect) { - using (Pen pen = new Pen(Color.MediumSeaGreen)) { - pen.DashPattern = new float[]{1,2}; - pen.Width = 1; - g.DrawRectangle(pen, rect); - } - } + protected void DrawSelectionBorder(Graphics g, Rectangle rect) + { + using Pen pen = new Pen(Color.MediumSeaGreen) + { + DashPattern = new float[] { 1, 2 }, + Width = 1 + }; + g.DrawRectangle(pen, rect); + } public void ResizeTo(int width, int height, int anchorPosition) { diff --git a/Greenshot/Drawing/DrawableContainerList.cs b/Greenshot/Drawing/DrawableContainerList.cs index 849cf5ddc..d641708b4 100644 --- a/Greenshot/Drawing/DrawableContainerList.cs +++ b/Greenshot/Drawing/DrawableContainerList.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -483,10 +483,12 @@ namespace Greenshot.Drawing { }; menu.Items.Add(item); - // Delete - item = new ToolStripMenuItem(Language.GetString(LangKey.editor_deleteelement)); - item.Image = (Image)EditorFormResources.GetObject("removeObjectToolStripMenuItem.Image"); - item.Click += delegate { + // Delete + item = new ToolStripMenuItem(Language.GetString(LangKey.editor_deleteelement)) + { + Image = (Image)EditorFormResources.GetObject("removeObjectToolStripMenuItem.Image") + }; + item.Click += delegate { surface.RemoveElements(this); }; menu.Items.Add(item); @@ -556,8 +558,7 @@ namespace Greenshot.Drawing { } } - #region IDisposable Support - private bool _disposedValue; // To detect redundant calls + private bool _disposedValue; // To detect redundant calls protected virtual void Dispose(bool disposing) { @@ -581,6 +582,5 @@ namespace Greenshot.Drawing { // Do not change this code. Put cleanup code in Dispose(bool disposing) above. Dispose(true); } - #endregion - } + } } diff --git a/Greenshot/Drawing/EllipseContainer.cs b/Greenshot/Drawing/EllipseContainer.cs index a2bc4b6ee..9b67992de 100644 --- a/Greenshot/Drawing/EllipseContainer.cs +++ b/Greenshot/Drawing/EllipseContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -75,27 +75,29 @@ namespace Greenshot.Drawing { int alpha = basealpha; int steps = 5; int currentStep = lineVisible ? 1 : 0; - while (currentStep <= steps) { - using (Pen shadowPen = new Pen(Color.FromArgb(alpha, 100, 100, 100))) { - shadowPen.Width = lineVisible ? lineThickness : 1; - Rectangle shadowRect = GuiRectangle.GetGuiRectangle(rect.Left + currentStep, rect.Top + currentStep, rect.Width, rect.Height); - graphics.DrawEllipse(shadowPen, shadowRect); - currentStep++; - alpha = alpha - basealpha / steps; - } - } + while (currentStep <= steps) + { + using Pen shadowPen = new Pen(Color.FromArgb(alpha, 100, 100, 100)) + { + Width = lineVisible ? lineThickness : 1 + }; + Rectangle shadowRect = GuiRectangle.GetGuiRectangle(rect.Left + currentStep, rect.Top + currentStep, rect.Width, rect.Height); + graphics.DrawEllipse(shadowPen, shadowRect); + currentStep++; + alpha -= basealpha / steps; + } } //draw the original shape - if (Colors.IsVisible(fillColor)) { - using (Brush brush = new SolidBrush(fillColor)) { - graphics.FillEllipse(brush, rect); - } - } - if (lineVisible) { - using (Pen pen = new Pen(lineColor, lineThickness)) { - graphics.DrawEllipse(pen, rect); - } - } + if (Colors.IsVisible(fillColor)) + { + using Brush brush = new SolidBrush(fillColor); + graphics.FillEllipse(brush, rect); + } + if (lineVisible) + { + using Pen pen = new Pen(lineColor, lineThickness); + graphics.DrawEllipse(pen, rect); + } } public override bool Contains(int x, int y) { @@ -133,14 +135,13 @@ namespace Greenshot.Drawing { } // check the rest of the lines - if (lineThickness > 0) { - using (Pen pen = new Pen(Color.White, lineThickness)) { - using (GraphicsPath path = new GraphicsPath()) { - path.AddEllipse(rect); - return path.IsOutlineVisible(x, y, pen); - } - } - } + if (lineThickness > 0) + { + using Pen pen = new Pen(Color.White, lineThickness); + using GraphicsPath path = new GraphicsPath(); + path.AddEllipse(rect); + return path.IsOutlineVisible(x, y, pen); + } return false; } } diff --git a/Greenshot/Drawing/Fields/AbstractFieldHolder.cs b/Greenshot/Drawing/Fields/AbstractFieldHolder.cs index 6be20aa92..081eca156 100644 --- a/Greenshot/Drawing/Fields/AbstractFieldHolder.cs +++ b/Greenshot/Drawing/Fields/AbstractFieldHolder.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -135,8 +135,7 @@ namespace Greenshot.Drawing.Fields return GetField(fieldType)?.Value; } - #region convenience methods to save us some casts outside - public string GetFieldValueAsString(IFieldType fieldType) + public string GetFieldValueAsString(IFieldType fieldType) { return Convert.ToString(GetFieldValue(fieldType)); } @@ -166,13 +165,12 @@ namespace Greenshot.Drawing.Fields return Convert.ToBoolean(GetFieldValue(fieldType)); } - public Color GetFieldValueAsColor(IFieldType fieldType, Color defaultColor = default(Color)) + public Color GetFieldValueAsColor(IFieldType fieldType, Color defaultColor = default) { return (Color)(GetFieldValue(fieldType) ?? defaultColor); } - #endregion - public bool HasField(IFieldType fieldType) + public bool HasField(IFieldType fieldType) { return _fieldsByType.ContainsKey(fieldType); } diff --git a/Greenshot/Drawing/Fields/AbstractFieldHolderWithChildren.cs b/Greenshot/Drawing/Fields/AbstractFieldHolderWithChildren.cs index e76626b2c..636e708e4 100644 --- a/Greenshot/Drawing/Fields/AbstractFieldHolderWithChildren.cs +++ b/Greenshot/Drawing/Fields/AbstractFieldHolderWithChildren.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -45,7 +45,7 @@ namespace Greenshot.Drawing.Fields remove { childrenChanged -= value; } } - public List Children = new List(); + public IList Children = new List(); public AbstractFieldHolderWithChildren() { diff --git a/Greenshot/Drawing/Fields/Binding/AbstractBindingConverter.cs b/Greenshot/Drawing/Fields/Binding/AbstractBindingConverter.cs index fd86f07b1..ff3232d2f 100644 --- a/Greenshot/Drawing/Fields/Binding/AbstractBindingConverter.cs +++ b/Greenshot/Drawing/Fields/Binding/AbstractBindingConverter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/Binding/BidirectionalBinding.cs b/Greenshot/Drawing/Fields/Binding/BidirectionalBinding.cs index 69aa3feae..e83c3718f 100644 --- a/Greenshot/Drawing/Fields/Binding/BidirectionalBinding.cs +++ b/Greenshot/Drawing/Fields/Binding/BidirectionalBinding.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/Binding/DecimalDoublePercentageConverter.cs b/Greenshot/Drawing/Fields/Binding/DecimalDoublePercentageConverter.cs index d7d8da778..ce057a34e 100644 --- a/Greenshot/Drawing/Fields/Binding/DecimalDoublePercentageConverter.cs +++ b/Greenshot/Drawing/Fields/Binding/DecimalDoublePercentageConverter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/Binding/DecimalFloatConverter.cs b/Greenshot/Drawing/Fields/Binding/DecimalFloatConverter.cs index 1a9ce5de4..df44ab46a 100644 --- a/Greenshot/Drawing/Fields/Binding/DecimalFloatConverter.cs +++ b/Greenshot/Drawing/Fields/Binding/DecimalFloatConverter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/Binding/DecimalIntConverter.cs b/Greenshot/Drawing/Fields/Binding/DecimalIntConverter.cs index 07b131088..b11768d25 100644 --- a/Greenshot/Drawing/Fields/Binding/DecimalIntConverter.cs +++ b/Greenshot/Drawing/Fields/Binding/DecimalIntConverter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/Binding/IBindingConverter.cs b/Greenshot/Drawing/Fields/Binding/IBindingConverter.cs index 0811d9550..1a8fcefc3 100644 --- a/Greenshot/Drawing/Fields/Binding/IBindingConverter.cs +++ b/Greenshot/Drawing/Fields/Binding/IBindingConverter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/Binding/IBindingValidator.cs b/Greenshot/Drawing/Fields/Binding/IBindingValidator.cs index ad0ac6215..146b91afb 100644 --- a/Greenshot/Drawing/Fields/Binding/IBindingValidator.cs +++ b/Greenshot/Drawing/Fields/Binding/IBindingValidator.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/Binding/NotNullValidator.cs b/Greenshot/Drawing/Fields/Binding/NotNullValidator.cs index 971ae7b20..027309762 100644 --- a/Greenshot/Drawing/Fields/Binding/NotNullValidator.cs +++ b/Greenshot/Drawing/Fields/Binding/NotNullValidator.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/Field.cs b/Greenshot/Drawing/Fields/Field.cs index f6434b73a..798444625 100644 --- a/Greenshot/Drawing/Fields/Field.cs +++ b/Greenshot/Drawing/Fields/Field.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -115,8 +115,7 @@ namespace Greenshot.Drawing.Fields public override bool Equals(object obj) { - var other = obj as Field; - if (other == null) + if (!(obj is Field other)) { return false; } diff --git a/Greenshot/Drawing/Fields/FieldAggregator.cs b/Greenshot/Drawing/Fields/FieldAggregator.cs index 3eb2f8bac..b357f5946 100644 --- a/Greenshot/Drawing/Fields/FieldAggregator.cs +++ b/Greenshot/Drawing/Fields/FieldAggregator.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -80,8 +80,7 @@ namespace Greenshot.Drawing.Fields public void BindElement(IDrawableContainer dc) { - DrawableContainer container = dc as DrawableContainer; - if (container == null || _boundContainers.Contains(container)) + if (!(dc is DrawableContainer container) || _boundContainers.Contains(container)) { return; } @@ -100,8 +99,7 @@ namespace Greenshot.Drawing.Fields public void UpdateElement(IDrawableContainer dc) { - DrawableContainer container = dc as DrawableContainer; - if (container == null) + if (!(dc is DrawableContainer container)) { return; } @@ -168,30 +166,26 @@ namespace Greenshot.Drawing.Fields if (_boundContainers.Count > 0) { // take all fields from the least selected container... - DrawableContainer leastSelectedContainer = _boundContainers[_boundContainers.Count - 1] as DrawableContainer; - if (leastSelectedContainer != null) + if (_boundContainers[_boundContainers.Count - 1] is DrawableContainer leastSelectedContainer) { returnFields = leastSelectedContainer.GetFields(); for (int i = 0; i < _boundContainers.Count - 1; i++) { - DrawableContainer dc = _boundContainers[i] as DrawableContainer; - if (dc != null) - { - IList fieldsToRemove = new List(); - foreach (IField field in returnFields) - { - // ... throw out those that do not apply to one of the other containers - if (!dc.HasField(field.FieldType)) - { - fieldsToRemove.Add(field); - } - } - foreach (var field in fieldsToRemove) - { - returnFields.Remove(field); - } - } - } + if (!(_boundContainers[i] is DrawableContainer dc)) continue; + IList fieldsToRemove = new List(); + foreach (IField field in returnFields) + { + // ... throw out those that do not apply to one of the other containers + if (!dc.HasField(field.FieldType)) + { + fieldsToRemove.Add(field); + } + } + foreach (var field in fieldsToRemove) + { + returnFields.Remove(field); + } + } } } return returnFields ?? new List(); diff --git a/Greenshot/Drawing/Fields/FieldType.cs b/Greenshot/Drawing/Fields/FieldType.cs index d99af3759..9976d24af 100644 --- a/Greenshot/Drawing/Fields/FieldType.cs +++ b/Greenshot/Drawing/Fields/FieldType.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Fields/IFieldHolder.cs b/Greenshot/Drawing/Fields/IFieldHolder.cs deleted file mode 100644 index 063ca48d7..000000000 --- a/Greenshot/Drawing/Fields/IFieldHolder.cs +++ /dev/null @@ -1,53 +0,0 @@ -/* - * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2015 Thomas Braun, Jens Klingen, Robin Krom - * - * For more information see: http://getgreenshot.org/ - * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -using System.Collections.Generic; - -namespace Greenshot.Drawing.Fields { - /// - /// Any element holding Fields must provide access to it. - /// AbstractFieldHolder is the basic implementation. - /// If you need the fieldHolder to have child fieldHolders, - /// you should consider using IFieldHolderWithChildren. - /// - public interface IFieldHolder { - - event FieldChangedEventHandler FieldChanged; - - void AddField(Field field); - void RemoveField(Field field); - List GetFields(); - Field GetField(FieldType fieldType); - bool HasField(FieldType fieldType); - void SetFieldValue(FieldType fieldType, object value); - } - - /// - /// Extended fieldHolder which has fieldHolder children. - /// Implementations should pass field values to and from - /// their children. - /// AbstractFieldHolderWithChildren is the basic implementation. - /// - public interface IFieldHolderWithChildren : IFieldHolder { - void AddChild(IFieldHolder fieldHolder); - void RemoveChild(IFieldHolder fieldHolder); - } -} diff --git a/Greenshot/Drawing/FilterContainer.cs b/Greenshot/Drawing/FilterContainer.cs index b69af0a53..bec5bbd87 100644 --- a/Greenshot/Drawing/FilterContainer.cs +++ b/Greenshot/Drawing/FilterContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -77,21 +77,21 @@ namespace Greenshot.Drawing { int alpha = basealpha; int steps = 5; int currentStep = lineVisible ? 1 : 0; - while (currentStep <= steps) { - using (Pen shadowPen = new Pen(Color.FromArgb(alpha, 100, 100, 100), lineThickness)) { - Rectangle shadowRect = GuiRectangle.GetGuiRectangle(Left + currentStep, Top + currentStep, Width, Height); - graphics.DrawRectangle(shadowPen, shadowRect); - currentStep++; - alpha = alpha - basealpha / steps; - } - } + while (currentStep <= steps) + { + using Pen shadowPen = new Pen(Color.FromArgb(alpha, 100, 100, 100), lineThickness); + Rectangle shadowRect = GuiRectangle.GetGuiRectangle(Left + currentStep, Top + currentStep, Width, Height); + graphics.DrawRectangle(shadowPen, shadowRect); + currentStep++; + alpha -= basealpha / steps; + } } Rectangle rect = GuiRectangle.GetGuiRectangle(Left, Top, Width, Height); - if (lineThickness > 0) { - using (Pen pen = new Pen(lineColor, lineThickness)) { - graphics.DrawRectangle(pen, rect); - } - } + if (lineThickness > 0) + { + using Pen pen = new Pen(lineColor, lineThickness); + graphics.DrawRectangle(pen, rect); + } } } } diff --git a/Greenshot/Drawing/Filters/AbstractFilter.cs b/Greenshot/Drawing/Filters/AbstractFilter.cs index d9e8806ac..fb1ca782a 100644 --- a/Greenshot/Drawing/Filters/AbstractFilter.cs +++ b/Greenshot/Drawing/Filters/AbstractFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Filters/BlurFilter.cs b/Greenshot/Drawing/Filters/BlurFilter.cs index f9b2c843c..1b2d98d38 100644 --- a/Greenshot/Drawing/Filters/BlurFilter.cs +++ b/Greenshot/Drawing/Filters/BlurFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -54,12 +54,12 @@ namespace Greenshot.Drawing.Filters { } if (GDIplus.IsBlurPossible(blurRadius)) { GDIplus.DrawWithBlur(graphics, applyBitmap, applyRect, null, null, blurRadius, false); - } else { - using (IFastBitmap fastBitmap = FastBitmap.CreateCloneOf(applyBitmap, applyRect)) { - ImageHelper.ApplyBoxBlur(fastBitmap, blurRadius); - fastBitmap.DrawTo(graphics, applyRect); - } - } + } else + { + using IFastBitmap fastBitmap = FastBitmap.CreateCloneOf(applyBitmap, applyRect); + ImageHelper.ApplyBoxBlur(fastBitmap, blurRadius); + fastBitmap.DrawTo(graphics, applyRect); + } graphics.Restore(state); } } diff --git a/Greenshot/Drawing/Filters/BrightnessFilter.cs b/Greenshot/Drawing/Filters/BrightnessFilter.cs index b5154f783..f4755ed7d 100644 --- a/Greenshot/Drawing/Filters/BrightnessFilter.cs +++ b/Greenshot/Drawing/Filters/BrightnessFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Filters/GrayscaleFilter.cs b/Greenshot/Drawing/Filters/GrayscaleFilter.cs index c6318dc22..76cce4d62 100644 --- a/Greenshot/Drawing/Filters/GrayscaleFilter.cs +++ b/Greenshot/Drawing/Filters/GrayscaleFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Filters/HighlightFilter.cs b/Greenshot/Drawing/Filters/HighlightFilter.cs index 41248b01f..49a459d31 100644 --- a/Greenshot/Drawing/Filters/HighlightFilter.cs +++ b/Greenshot/Drawing/Filters/HighlightFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Filters/IFilter.cs b/Greenshot/Drawing/Filters/IFilter.cs index 74895d582..4156c5815 100644 --- a/Greenshot/Drawing/Filters/IFilter.cs +++ b/Greenshot/Drawing/Filters/IFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Filters/MagnifierFilter.cs b/Greenshot/Drawing/Filters/MagnifierFilter.cs index e0b69c263..9a3d2c0e5 100644 --- a/Greenshot/Drawing/Filters/MagnifierFilter.cs +++ b/Greenshot/Drawing/Filters/MagnifierFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Filters/PixelizationFilter.cs b/Greenshot/Drawing/Filters/PixelizationFilter.cs index 5e4727af8..3001ad957 100644 --- a/Greenshot/Drawing/Filters/PixelizationFilter.cs +++ b/Greenshot/Drawing/Filters/PixelizationFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -48,37 +48,37 @@ namespace Greenshot.Drawing.Filters { if (rect.Height < pixelSize) { pixelSize = rect.Height; } - using (IFastBitmap dest = FastBitmap.CreateCloneOf(applyBitmap, rect)) { - using (IFastBitmap src = FastBitmap.Create(applyBitmap, rect)) { - List colors = new List(); - int halbPixelSize = pixelSize / 2; - for (int y = src.Top - halbPixelSize; y < src.Bottom + halbPixelSize; y = y + pixelSize) { - for (int x = src.Left - halbPixelSize; x <= src.Right + halbPixelSize; x = x + pixelSize) { - colors.Clear(); - for (int yy = y; yy < y + pixelSize; yy++) { - if (yy >= src.Top && yy < src.Bottom) { - for (int xx = x; xx < x + pixelSize; xx++) { - if (xx >= src.Left && xx < src.Right) { - colors.Add(src.GetColorAt(xx, yy)); - } - } - } - } - Color currentAvgColor = Colors.Mix(colors); - for (int yy = y; yy <= y + pixelSize; yy++) { - if (yy >= src.Top && yy < src.Bottom) { - for (int xx = x; xx <= x + pixelSize; xx++) { - if (xx >= src.Left && xx < src.Right) { - dest.SetColorAt(xx, yy, currentAvgColor); - } - } - } - } - } - } - } - dest.DrawTo(graphics, rect.Location); - } - } + + using IFastBitmap dest = FastBitmap.CreateCloneOf(applyBitmap, rect); + using (IFastBitmap src = FastBitmap.Create(applyBitmap, rect)) { + List colors = new List(); + int halbPixelSize = pixelSize / 2; + for (int y = src.Top - halbPixelSize; y < src.Bottom + halbPixelSize; y += pixelSize) { + for (int x = src.Left - halbPixelSize; x <= src.Right + halbPixelSize; x += pixelSize) { + colors.Clear(); + for (int yy = y; yy < y + pixelSize; yy++) { + if (yy >= src.Top && yy < src.Bottom) { + for (int xx = x; xx < x + pixelSize; xx++) { + if (xx >= src.Left && xx < src.Right) { + colors.Add(src.GetColorAt(xx, yy)); + } + } + } + } + Color currentAvgColor = Colors.Mix(colors); + for (int yy = y; yy <= y + pixelSize; yy++) { + if (yy >= src.Top && yy < src.Bottom) { + for (int xx = x; xx <= x + pixelSize; xx++) { + if (xx >= src.Left && xx < src.Right) { + dest.SetColorAt(xx, yy, currentAvgColor); + } + } + } + } + } + } + } + dest.DrawTo(graphics, rect.Location); + } } } diff --git a/Greenshot/Drawing/FreehandContainer.cs b/Greenshot/Drawing/FreehandContainer.cs index ccff8a690..235c4cb72 100644 --- a/Greenshot/Drawing/FreehandContainer.cs +++ b/Greenshot/Drawing/FreehandContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -182,31 +182,32 @@ namespace Greenshot.Drawing { int lineThickness = GetFieldValueAsInt(FieldType.LINE_THICKNESS); Color lineColor = GetFieldValueAsColor(FieldType.LINE_COLOR); - using (var pen = new Pen(lineColor)) { - pen.Width = lineThickness; - if (!(pen.Width > 0)) - { - return; - } - // Make sure the lines are nicely rounded - pen.EndCap = LineCap.Round; - pen.StartCap = LineCap.Round; - pen.LineJoin = LineJoin.Round; - // Move to where we need to draw - graphics.TranslateTransform(Left, Top); - lock (_freehandPathLock) - { - if (isRecalculated && Selected && renderMode == RenderMode.EDIT) - { - DrawSelectionBorder(graphics, pen, freehandPath); - } - graphics.DrawPath(pen, freehandPath); - } + using var pen = new Pen(lineColor) + { + Width = lineThickness + }; + if (!(pen.Width > 0)) + { + return; + } + // Make sure the lines are nicely rounded + pen.EndCap = LineCap.Round; + pen.StartCap = LineCap.Round; + pen.LineJoin = LineJoin.Round; + // Move to where we need to draw + graphics.TranslateTransform(Left, Top); + lock (_freehandPathLock) + { + if (isRecalculated && Selected && renderMode == RenderMode.EDIT) + { + DrawSelectionBorder(graphics, pen, freehandPath); + } + graphics.DrawPath(pen, freehandPath); + } - // Move back, otherwise everything is shifted - graphics.TranslateTransform(-Left,-Top); - } - } + // Move back, otherwise everything is shifted + graphics.TranslateTransform(-Left,-Top); + } /// /// Draw a selectionborder around the freehand path @@ -214,20 +215,19 @@ namespace Greenshot.Drawing { /// Graphics /// Pen /// GraphicsPath - protected static void DrawSelectionBorder(Graphics graphics, Pen linePen, GraphicsPath path) { - using (var selectionPen = (Pen) linePen.Clone()) { - using (var selectionPath = (GraphicsPath)path.Clone()) { - selectionPen.Width += 5; - selectionPen.Color = Color.FromArgb(120, Color.LightSeaGreen); - graphics.DrawPath(selectionPen, selectionPath); - selectionPath.Widen(selectionPen); - selectionPen.DashPattern = new float[]{2,2}; - selectionPen.Color = Color.LightSeaGreen; - selectionPen.Width = 1; - graphics.DrawPath(selectionPen, selectionPath); - } - } - } + protected static void DrawSelectionBorder(Graphics graphics, Pen linePen, GraphicsPath path) + { + using var selectionPen = (Pen) linePen.Clone(); + using var selectionPath = (GraphicsPath)path.Clone(); + selectionPen.Width += 5; + selectionPen.Color = Color.FromArgb(120, Color.LightSeaGreen); + graphics.DrawPath(selectionPen, selectionPath); + selectionPath.Widen(selectionPen); + selectionPen.DashPattern = new float[]{2,2}; + selectionPen.Color = Color.LightSeaGreen; + selectionPen.Width = 1; + graphics.DrawPath(selectionPen, selectionPath); + } /// /// Get the bounds in which we have something drawn, plus safety margin, these are not the normal bounds... @@ -254,8 +254,8 @@ namespace Greenshot.Drawing { { return false; } - var other = obj as FreehandContainer; - if (other != null && Equals(freehandPath, other.freehandPath)) { + + if (obj is FreehandContainer other && Equals(freehandPath, other.freehandPath)) { ret = true; } return ret; @@ -272,14 +272,15 @@ namespace Greenshot.Drawing { bool returnValue = base.ClickableAt(x, y); if (returnValue) { int lineThickness = GetFieldValueAsInt(FieldType.LINE_THICKNESS); - using (var pen = new Pen(Color.White)) { - pen.Width = lineThickness + 10; - lock (_freehandPathLock) - { - returnValue = freehandPath.IsOutlineVisible(x - Left, y - Top, pen); - } + using var pen = new Pen(Color.White) + { + Width = lineThickness + 10 + }; + lock (_freehandPathLock) + { + returnValue = freehandPath.IsOutlineVisible(x - Left, y - Top, pen); } - } + } return returnValue; } } diff --git a/Greenshot/Drawing/HighlightContainer.cs b/Greenshot/Drawing/HighlightContainer.cs index 82a352469..858e1508b 100644 --- a/Greenshot/Drawing/HighlightContainer.cs +++ b/Greenshot/Drawing/HighlightContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -84,9 +84,11 @@ namespace Greenshot.Drawing { Add(blurFilter); break; case PreparedFilter.GRAYSCALE: - AbstractFilter f = new GrayscaleFilter(this); - f.Invert = true; - Add(f); + AbstractFilter f = new GrayscaleFilter(this) + { + Invert = true + }; + Add(f); break; case PreparedFilter.MAGNIFICATION: Add(new MagnifierFilter(this)); diff --git a/Greenshot/Drawing/IconContainer.cs b/Greenshot/Drawing/IconContainer.cs index 2277bd48a..9f9e145d2 100644 --- a/Greenshot/Drawing/IconContainer.cs +++ b/Greenshot/Drawing/IconContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -79,12 +79,12 @@ namespace Greenshot.Drawing { } public void Load(string filename) { - if (File.Exists(filename)) { - using (Icon fileIcon = new Icon(filename)) { - Icon = fileIcon; - Log.Debug("Loaded file: " + filename + " with resolution: " + Height + "," + Width); - } - } + if (File.Exists(filename)) + { + using Icon fileIcon = new Icon(filename); + Icon = fileIcon; + Log.Debug("Loaded file: " + filename + " with resolution: " + Height + "," + Width); + } } public override void Draw(Graphics graphics, RenderMode rm) { diff --git a/Greenshot/Drawing/ImageContainer.cs b/Greenshot/Drawing/ImageContainer.cs index ab8d4e541..c51c4a6f7 100644 --- a/Greenshot/Drawing/ImageContainer.cs +++ b/Greenshot/Drawing/ImageContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -92,14 +92,14 @@ namespace Greenshot.Drawing { CheckShadow(true); Width = _shadowBitmap.Width; Height = _shadowBitmap.Height; - Left = Left - _shadowOffset.X; - Top = Top - _shadowOffset.Y; + Left -= _shadowOffset.X; + Top -= _shadowOffset.Y; } else { Width = image.Width; Height = image.Height; if (_shadowBitmap != null) { - Left = Left + _shadowOffset.X; - Top = Top + _shadowOffset.Y; + Left += _shadowOffset.X; + Top += _shadowOffset.Y; } } } @@ -118,8 +118,8 @@ namespace Greenshot.Drawing { } else { Width = _shadowBitmap.Width; Height = _shadowBitmap.Height; - Left = Left - _shadowOffset.X; - Top = Top - _shadowOffset.Y; + Left -= _shadowOffset.X; + Top -= _shadowOffset.Y; } } get { return image; } @@ -160,13 +160,12 @@ namespace Greenshot.Drawing { if (rotateAngle != 0) { Log.DebugFormat("Rotating element with {0} degrees.", rotateAngle); DisposeShadow(); - using (var tmpMatrix = new Matrix()) { - using (image) - { - image = ImageHelper.ApplyEffect(image, new RotateEffect(rotateAngle), tmpMatrix); - } - } - } + using var tmpMatrix = new Matrix(); + using (image) + { + image = ImageHelper.ApplyEffect(image, new RotateEffect(rotateAngle), tmpMatrix); + } + } base.Transform(matrix); } @@ -192,11 +191,11 @@ namespace Greenshot.Drawing { /// /// private void CheckShadow(bool shadow) { - if (shadow && _shadowBitmap == null) { - using (var matrix = new Matrix()) { - _shadowBitmap = ImageHelper.ApplyEffect(image, new DropShadowEffect(), matrix); - } - } + if (shadow && _shadowBitmap == null) + { + using var matrix = new Matrix(); + _shadowBitmap = ImageHelper.ApplyEffect(image, new DropShadowEffect(), matrix); + } } /// diff --git a/Greenshot/Drawing/LineContainer.cs b/Greenshot/Drawing/LineContainer.cs index c443f64fc..9c5898854 100644 --- a/Greenshot/Drawing/LineContainer.cs +++ b/Greenshot/Drawing/LineContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -73,37 +73,37 @@ namespace Greenshot.Drawing { int alpha = basealpha; int steps = 5; int currentStep = 1; - while (currentStep <= steps) { - using (Pen shadowCapPen = new Pen(Color.FromArgb(alpha, 100, 100, 100), lineThickness)) { - graphics.DrawLine(shadowCapPen, - Left + currentStep, - Top + currentStep, - Left + currentStep + Width, - Top + currentStep + Height); + while (currentStep <= steps) + { + using Pen shadowCapPen = new Pen(Color.FromArgb(alpha, 100, 100, 100), lineThickness); + graphics.DrawLine(shadowCapPen, + Left + currentStep, + Top + currentStep, + Left + currentStep + Width, + Top + currentStep + Height); - currentStep++; - alpha = alpha - basealpha / steps; - } - } + currentStep++; + alpha -= basealpha / steps; + } } - using (Pen pen = new Pen(lineColor, lineThickness)) { - graphics.DrawLine(pen, Left, Top, Left + Width, Top + Height); - } - } + using Pen pen = new Pen(lineColor, lineThickness); + graphics.DrawLine(pen, Left, Top, Left + Width, Top + Height); + } } public override bool ClickableAt(int x, int y) { int lineThickness = GetFieldValueAsInt(FieldType.LINE_THICKNESS) +5; - if (lineThickness > 0) { - using (Pen pen = new Pen(Color.White)) { - pen.Width = lineThickness; - using (GraphicsPath path = new GraphicsPath()) { - path.AddLine(Left, Top, Left + Width, Top + Height); - return path.IsOutlineVisible(x, y, pen); - } - } - } + if (lineThickness > 0) + { + using Pen pen = new Pen(Color.White) + { + Width = lineThickness + }; + using GraphicsPath path = new GraphicsPath(); + path.AddLine(Left, Top, Left + Width, Top + Height); + return path.IsOutlineVisible(x, y, pen); + } return false; } diff --git a/Greenshot/Drawing/ObfuscateContainer.cs b/Greenshot/Drawing/ObfuscateContainer.cs index ec3b0d734..07ea899ba 100644 --- a/Greenshot/Drawing/ObfuscateContainer.cs +++ b/Greenshot/Drawing/ObfuscateContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/Positions.cs b/Greenshot/Drawing/Positions.cs index 8ed2611bf..847d08415 100644 --- a/Greenshot/Drawing/Positions.cs +++ b/Greenshot/Drawing/Positions.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/ diff --git a/Greenshot/Drawing/RectangleContainer.cs b/Greenshot/Drawing/RectangleContainer.cs index 92261ca7e..63ea2e2cb 100644 --- a/Greenshot/Drawing/RectangleContainer.cs +++ b/Greenshot/Drawing/RectangleContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -93,34 +93,36 @@ namespace Greenshot.Drawing { int alpha = basealpha; int steps = 5; int currentStep = lineVisible ? 1 : 0; - while (currentStep <= steps) { - using (Pen shadowPen = new Pen(Color.FromArgb(alpha, 100, 100, 100))) { - shadowPen.Width = lineVisible ? lineThickness : 1; - Rectangle shadowRect = GuiRectangle.GetGuiRectangle( - rect.Left + currentStep, - rect.Top + currentStep, - rect.Width, - rect.Height); - graphics.DrawRectangle(shadowPen, shadowRect); - currentStep++; - alpha = alpha - basealpha / steps; - } - } + while (currentStep <= steps) + { + using Pen shadowPen = new Pen(Color.FromArgb(alpha, 100, 100, 100)) + { + Width = lineVisible ? lineThickness : 1 + }; + Rectangle shadowRect = GuiRectangle.GetGuiRectangle( + rect.Left + currentStep, + rect.Top + currentStep, + rect.Width, + rect.Height); + graphics.DrawRectangle(shadowPen, shadowRect); + currentStep++; + alpha -= basealpha / steps; + } } - if (Colors.IsVisible(fillColor)) { - using (Brush brush = new SolidBrush(fillColor)) { - graphics.FillRectangle(brush, rect); - } - } + if (Colors.IsVisible(fillColor)) + { + using Brush brush = new SolidBrush(fillColor); + graphics.FillRectangle(brush, rect); + } graphics.SmoothingMode = SmoothingMode.HighSpeed; - if (lineVisible) { - using (Pen pen = new Pen(lineColor, lineThickness)) { - graphics.DrawRectangle(pen, rect); - } - } + if (lineVisible) + { + using Pen pen = new Pen(lineColor, lineThickness); + graphics.DrawRectangle(pen, rect); + } } public override bool ClickableAt(int x, int y) { @@ -142,14 +144,13 @@ namespace Greenshot.Drawing { } // check the rest of the lines - if (lineThickness > 0) { - using (Pen pen = new Pen(Color.White, lineThickness)) { - using (GraphicsPath path = new GraphicsPath()) { - path.AddRectangle(rect); - return path.IsOutlineVisible(x, y, pen); - } - } - } + if (lineThickness > 0) + { + using Pen pen = new Pen(Color.White, lineThickness); + using GraphicsPath path = new GraphicsPath(); + path.AddRectangle(rect); + return path.IsOutlineVisible(x, y, pen); + } return false; } } diff --git a/Greenshot/Drawing/RoundedRectangle.cs b/Greenshot/Drawing/RoundedRectangle.cs index 54553ac37..8a519d1ed 100644 --- a/Greenshot/Drawing/RoundedRectangle.cs +++ b/Greenshot/Drawing/RoundedRectangle.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Drawing/SpeechbubbleContainer.cs b/Greenshot/Drawing/SpeechbubbleContainer.cs index 0cdfb91c1..db44b4b73 100644 --- a/Greenshot/Drawing/SpeechbubbleContainer.cs +++ b/Greenshot/Drawing/SpeechbubbleContainer.cs @@ -38,8 +38,7 @@ namespace Greenshot.Drawing private Point _initialGripperPoint; - #region TargetGripper serializing code - // Only used for serializing the TargetGripper location + // Only used for serializing the TargetGripper location private Point _storedTargetGripperLocation; /// @@ -62,9 +61,8 @@ namespace Greenshot.Drawing base.OnDeserialized(streamingContext); InitAdorner(Color.Green, _storedTargetGripperLocation); } - #endregion - public SpeechbubbleContainer(Surface parent) + public SpeechbubbleContainer(Surface parent) : base(parent) { } @@ -132,13 +130,11 @@ namespace Greenshot.Drawing int lineThickness = GetFieldValueAsInt(FieldType.LINE_THICKNESS); Color lineColor = GetFieldValueAsColor(FieldType.LINE_COLOR); bool shadow = GetFieldValueAsBool(FieldType.SHADOW); - using (Pen pen = new Pen(lineColor, lineThickness)) { - int inflateValue = lineThickness + 2 + (shadow ? 6 : 0); - using (GraphicsPath tailPath = CreateTail()) { - return Rectangle.Inflate(Rectangle.Union(Rectangle.Round(tailPath.GetBounds(new Matrix(), pen)), GuiRectangle.GetGuiRectangle(Left, Top, Width, Height)), inflateValue, inflateValue); - } - } - } + using Pen pen = new Pen(lineColor, lineThickness); + int inflateValue = lineThickness + 2 + (shadow ? 6 : 0); + using GraphicsPath tailPath = CreateTail(); + return Rectangle.Inflate(Rectangle.Union(Rectangle.Round(tailPath.GetBounds(new Matrix(), pen)), GuiRectangle.GetGuiRectangle(Left, Top, Width, Height)), inflateValue, inflateValue); + } return Rectangle.Empty; } } @@ -239,32 +235,30 @@ namespace Greenshot.Drawing int alpha = basealpha; const int steps = 5; int currentStep = lineVisible ? 1 : 0; - using (Matrix shadowMatrix = new Matrix()) - using (GraphicsPath bubbleClone = (GraphicsPath)bubble.Clone()) - using (GraphicsPath tailClone = (GraphicsPath)tail.Clone()) { - shadowMatrix.Translate(1, 1); - while (currentStep <= steps) { - using (Pen shadowPen = new Pen(Color.FromArgb(alpha, 100, 100, 100))) { - shadowPen.Width = lineVisible ? lineThickness : 1; - tailClone.Transform(shadowMatrix); - graphics.DrawPath(shadowPen, tailClone); - bubbleClone.Transform(shadowMatrix); - graphics.DrawPath(shadowPen, bubbleClone); - } - currentStep++; - alpha = alpha - basealpha / steps; - } - } - } + using Matrix shadowMatrix = new Matrix(); + using GraphicsPath bubbleClone = (GraphicsPath)bubble.Clone(); + using GraphicsPath tailClone = (GraphicsPath)tail.Clone(); + shadowMatrix.Translate(1, 1); + while (currentStep <= steps) { + using (Pen shadowPen = new Pen(Color.FromArgb(alpha, 100, 100, 100))) { + shadowPen.Width = lineVisible ? lineThickness : 1; + tailClone.Transform(shadowMatrix); + graphics.DrawPath(shadowPen, tailClone); + bubbleClone.Transform(shadowMatrix); + graphics.DrawPath(shadowPen, bubbleClone); + } + currentStep++; + alpha -= basealpha / steps; + } + } GraphicsState state = graphics.Save(); // draw the tail border where the bubble is not visible using (Region clipRegion = new Region(bubble)) { graphics.SetClip(clipRegion, CombineMode.Exclude); - using (Pen pen = new Pen(lineColor, lineThickness)) { - graphics.DrawPath(pen, tail); - } - } + using Pen pen = new Pen(lineColor, lineThickness); + graphics.DrawPath(pen, tail); + } graphics.Restore(state); if (Colors.IsVisible(fillColor)) { @@ -282,11 +276,10 @@ namespace Greenshot.Drawing // Draw bubble where the Tail is not visible. using (Region clipRegion = new Region(tail)) { graphics.SetClip(clipRegion, CombineMode.Exclude); - using (Pen pen = new Pen(lineColor, lineThickness)) { - //pen.EndCap = pen.StartCap = LineCap.Round; - graphics.DrawPath(pen, bubble); - } - } + using Pen pen = new Pen(lineColor, lineThickness); + //pen.EndCap = pen.StartCap = LineCap.Round; + graphics.DrawPath(pen, bubble); + } graphics.Restore(state); } @@ -315,21 +308,20 @@ namespace Greenshot.Drawing if (Status != EditStatus.UNDRAWN) { int lineThickness = GetFieldValueAsInt(FieldType.LINE_THICKNESS); Color lineColor = GetFieldValueAsColor(FieldType.LINE_COLOR); - using (Pen pen = new Pen(lineColor, lineThickness)) { - using (GraphicsPath bubblePath = CreateBubble(lineThickness)) { - bubblePath.Widen(pen); - if (bubblePath.IsVisible(clickedPoint)) { - return true; - } - } - using (GraphicsPath tailPath = CreateTail()) { - tailPath.Widen(pen); - if (tailPath.IsVisible(clickedPoint)) { - return true; - } - } - } - } + using Pen pen = new Pen(lineColor, lineThickness); + using (GraphicsPath bubblePath = CreateBubble(lineThickness)) { + bubblePath.Widen(pen); + if (bubblePath.IsVisible(clickedPoint)) { + return true; + } + } + + using GraphicsPath tailPath = CreateTail(); + tailPath.Widen(pen); + if (tailPath.IsVisible(clickedPoint)) { + return true; + } + } return false; } diff --git a/Greenshot/Drawing/StepLabelContainer.cs b/Greenshot/Drawing/StepLabelContainer.cs index 5994bf617..e3e9c9c6b 100644 --- a/Greenshot/Drawing/StepLabelContainer.cs +++ b/Greenshot/Drawing/StepLabelContainer.cs @@ -54,8 +54,7 @@ namespace Greenshot.Drawing { CreateDefaultAdorners(); } - #region Number serializing - // Used to store the number of this label, so when deserializing it can be placed back to the StepLabels list in the right location + // Used to store the number of this label, so when deserializing it can be placed back to the StepLabels list in the right location private int _number; // Used to store the counter start of the Surface, as the surface is NOT stored. private int _counterStart = 1; @@ -79,9 +78,8 @@ namespace Greenshot.Drawing { _counterStart = ((Surface) Parent).CounterStart; } } - #endregion - /// + /// /// Restore values that don't serialize /// /// @@ -211,12 +209,11 @@ namespace Greenshot.Drawing { } else { EllipseContainer.DrawEllipse(rect, graphics, rm, 0, Color.Transparent, fillColor, false); } - using (FontFamily fam = new FontFamily(FontFamily.GenericSansSerif.Name)) { - using (Font font = new Font(fam, fontSize, FontStyle.Bold, GraphicsUnit.Pixel)) { - TextContainer.DrawText(graphics, rect, 0, lineColor, false, _stringFormat, text, font); - } - } - } + + using FontFamily fam = new FontFamily(FontFamily.GenericSansSerif.Name); + using Font font = new Font(fam, fontSize, FontStyle.Bold, GraphicsUnit.Pixel); + TextContainer.DrawText(graphics, rect, 0, lineColor, false, _stringFormat, text, font); + } public override bool ClickableAt(int x, int y) { Rectangle rect = GuiRectangle.GetGuiRectangle(Left, Top, Width, Height); diff --git a/Greenshot/Drawing/Surface.cs b/Greenshot/Drawing/Surface.cs index e8b90026d..335858a69 100644 --- a/Greenshot/Drawing/Surface.cs +++ b/Greenshot/Drawing/Surface.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -913,16 +913,14 @@ namespace Greenshot.Drawing string possibleUrl = ClipboardHelper.GetText(e.Data); // Test if it's an url and try to download the image so we have it in the original form if (possibleUrl != null && possibleUrl.StartsWith("http")) - { - using (Image image = NetworkHelper.DownloadImage(possibleUrl)) - { - if (image != null) - { - AddImageContainer(image, mouse.X, mouse.Y); - return; - } - } - } + { + using Image image = NetworkHelper.DownloadImage(possibleUrl); + if (image != null) + { + AddImageContainer(image, mouse.X, mouse.Y); + return; + } + } } foreach (Image image in ClipboardHelper.GetImages(e.Data)) @@ -1537,10 +1535,9 @@ namespace Greenshot.Drawing public void AddElement(IDrawableContainer element, bool makeUndoable = true, bool invalidate = true) { _elements.Add(element); - DrawableContainer container = element as DrawableContainer; - if (container != null) + if (element is DrawableContainer container) { - container.FieldChanged += element_FieldChanged; + container.FieldChanged += Element_FieldChanged; } element.Parent = this; if (element.Status == EditStatus.UNDRAWN) @@ -1602,10 +1599,9 @@ namespace Greenshot.Drawing { DeselectElement(elementToRemove, generateEvents); _elements.Remove(elementToRemove); - DrawableContainer element = elementToRemove as DrawableContainer; - if (element != null) + if (elementToRemove is DrawableContainer element) { - element.FieldChanged -= element_FieldChanged; + element.FieldChanged -= Element_FieldChanged; } if (elementToRemove != null) { @@ -2099,7 +2095,7 @@ namespace Greenshot.Drawing return _elements.CanPushDown(selectedElements); } - public void element_FieldChanged(object sender, FieldChangedEventArgs e) + public void Element_FieldChanged(object sender, FieldChangedEventArgs e) { selectedElements.HandleFieldChangedEvent(sender, e); } diff --git a/Greenshot/Drawing/TextContainer.cs b/Greenshot/Drawing/TextContainer.cs index d352aa056..717dfb7a2 100644 --- a/Greenshot/Drawing/TextContainer.cs +++ b/Greenshot/Drawing/TextContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -334,43 +334,41 @@ namespace Greenshot.Drawing FontStyle fontStyle = FontStyle.Regular; bool hasStyle = false; - using (var fontFamily = new FontFamily(fontFamilyName)) + using var fontFamily = new FontFamily(fontFamilyName); + bool boldAvailable = fontFamily.IsStyleAvailable(FontStyle.Bold); + if (fontBold && boldAvailable) { - bool boldAvailable = fontFamily.IsStyleAvailable(FontStyle.Bold); - if (fontBold && boldAvailable) - { - fontStyle |= FontStyle.Bold; - hasStyle = true; - } - - bool italicAvailable = fontFamily.IsStyleAvailable(FontStyle.Italic); - if (fontItalic && italicAvailable) - { - fontStyle |= FontStyle.Italic; - hasStyle = true; - } - - if (!hasStyle) - { - bool regularAvailable = fontFamily.IsStyleAvailable(FontStyle.Regular); - if (regularAvailable) - { - fontStyle = FontStyle.Regular; - } - else - { - if (boldAvailable) - { - fontStyle = FontStyle.Bold; - } - else if (italicAvailable) - { - fontStyle = FontStyle.Italic; - } - } - } - return new Font(fontFamily, fontSize, fontStyle, GraphicsUnit.Pixel); + fontStyle |= FontStyle.Bold; + hasStyle = true; } + + bool italicAvailable = fontFamily.IsStyleAvailable(FontStyle.Italic); + if (fontItalic && italicAvailable) + { + fontStyle |= FontStyle.Italic; + hasStyle = true; + } + + if (!hasStyle) + { + bool regularAvailable = fontFamily.IsStyleAvailable(FontStyle.Regular); + if (regularAvailable) + { + fontStyle = FontStyle.Regular; + } + else + { + if (boldAvailable) + { + fontStyle = FontStyle.Bold; + } + else if (italicAvailable) + { + fontStyle = FontStyle.Italic; + } + } + } + return new Font(fontFamily, fontSize, fontStyle, GraphicsUnit.Pixel); } /// @@ -592,12 +590,11 @@ namespace Greenshot.Drawing { shadowRect.Inflate(-textOffset, -textOffset); } - using (Brush fontBrush = new SolidBrush(Color.FromArgb(alpha, 100, 100, 100))) - { - graphics.DrawString(text, font, fontBrush, shadowRect, stringFormat); - currentStep++; - alpha = alpha - basealpha / steps; - } + + using Brush fontBrush = new SolidBrush(Color.FromArgb(alpha, 100, 100, 100)); + graphics.DrawString(text, font, fontBrush, shadowRect, stringFormat); + currentStep++; + alpha -= basealpha / steps; } } diff --git a/Greenshot/Forms/AboutForm.Designer.cs b/Greenshot/Forms/AboutForm.Designer.cs index 66c86ac20..1182094ee 100644 --- a/Greenshot/Forms/AboutForm.Designer.cs +++ b/Greenshot/Forms/AboutForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/AboutForm.cs b/Greenshot/Forms/AboutForm.cs index 68f2d48a5..f83c219e5 100644 --- a/Greenshot/Forms/AboutForm.cs +++ b/Greenshot/Forms/AboutForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool -* Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom +* Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -211,17 +211,16 @@ namespace Greenshot { /// /// /// - private void LinkLabelClicked(object sender, LinkLabelLinkClickedEventArgs e) { - LinkLabel linkLabel = sender as LinkLabel; - if (linkLabel != null) { - try { - linkLabel.LinkVisited = true; - Process.Start(linkLabel.Text); - } catch (Exception) { - MessageBox.Show(Language.GetFormattedString(LangKey.error_openlink, linkLabel.Text), Language.GetString(LangKey.error)); - } - } - } + private void LinkLabelClicked(object sender, LinkLabelLinkClickedEventArgs e) + { + if (!(sender is LinkLabel linkLabel)) return; + try { + linkLabel.LinkVisited = true; + Process.Start(linkLabel.Text); + } catch (Exception) { + MessageBox.Show(Language.GetFormattedString(LangKey.error_openlink, linkLabel.Text), Language.GetString(LangKey.error)); + } + } /// /// Called from the AnimatingForm, for every frame @@ -274,20 +273,19 @@ namespace Greenshot { graphics.TranslateTransform(2, -2); graphics.RotateTransform(20); - using (SolidBrush brush = new SolidBrush(_pixelColor)) { - int index = 0; - // We asume there is nothing to animate in the next Animate loop - _hasAnimationsLeft = false; - // Pixels of the G - foreach (RectangleAnimator pixel in _pixels) { - brush.Color = _pixelColors[index++]; - graphics.FillEllipse(brush, pixel.Current); - // If a pixel still has frames left, the hasAnimationsLeft will be true - _hasAnimationsLeft = _hasAnimationsLeft | pixel.HasNext; - pixel.Next(); - } - } - } + using SolidBrush brush = new SolidBrush(_pixelColor); + int index = 0; + // We asume there is nothing to animate in the next Animate loop + _hasAnimationsLeft = false; + // Pixels of the G + foreach (RectangleAnimator pixel in _pixels) { + brush.Color = _pixelColors[index++]; + graphics.FillEllipse(brush, pixel.Current); + // If a pixel still has frames left, the hasAnimationsLeft will be true + _hasAnimationsLeft |= pixel.HasNext; + pixel.Next(); + } + } pictureBox1.Invalidate(); } diff --git a/Greenshot/Forms/AnimatingBaseForm.cs b/Greenshot/Forms/AnimatingBaseForm.cs index c97780417..db1c2b54d 100644 --- a/Greenshot/Forms/AnimatingBaseForm.cs +++ b/Greenshot/Forms/AnimatingBaseForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/BaseForm.cs b/Greenshot/Forms/BaseForm.cs index 532f42bc9..392f37803 100644 --- a/Greenshot/Forms/BaseForm.cs +++ b/Greenshot/Forms/BaseForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/BugReportForm.Designer.cs b/Greenshot/Forms/BugReportForm.Designer.cs index 48d06fdc1..3b4c6afdb 100644 --- a/Greenshot/Forms/BugReportForm.Designer.cs +++ b/Greenshot/Forms/BugReportForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/BugReportForm.cs b/Greenshot/Forms/BugReportForm.cs index 9cf72b968..f74aa431d 100644 --- a/Greenshot/Forms/BugReportForm.cs +++ b/Greenshot/Forms/BugReportForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/CaptureForm.Designer.cs b/Greenshot/Forms/CaptureForm.Designer.cs index 5ec1d8903..124a34d3e 100644 --- a/Greenshot/Forms/CaptureForm.Designer.cs +++ b/Greenshot/Forms/CaptureForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/CaptureForm.cs b/Greenshot/Forms/CaptureForm.cs index 7af509c03..3578cc94d 100644 --- a/Greenshot/Forms/CaptureForm.cs +++ b/Greenshot/Forms/CaptureForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -185,9 +185,7 @@ namespace Greenshot.Forms { } } - #region key handling - - private void CaptureFormKeyUp(object sender, KeyEventArgs e) { + private void CaptureFormKeyUp(object sender, KeyEventArgs e) { switch(e.KeyCode) { case Keys.ShiftKey: _fixMode = FixMode.None; @@ -306,10 +304,8 @@ namespace Greenshot.Forms { break; } } - #endregion - #region events - /// + /// /// The mousedown handler of the capture form /// /// @@ -568,7 +564,7 @@ namespace Greenshot.Forms { screenBounds.Location = WindowCapture.GetLocationRelativeToScreenBounds(screenBounds.Location); int relativeZoomSize = Math.Min(screenBounds.Width, screenBounds.Height) / 5; // Make sure the final size is a plural of 4, this makes it look better - relativeZoomSize = relativeZoomSize - relativeZoomSize % 4; + relativeZoomSize -= relativeZoomSize % 4; Size zoomSize = new Size(relativeZoomSize, relativeZoomSize); Point zoomOffset = new Point(20, 20); @@ -742,40 +738,40 @@ namespace Greenshot.Forms { Pen rulerPen = new Pen(Color.SeaGreen); // horizontal ruler - if (fixedRect.Width > hSpace + 3) { - using (GraphicsPath p = RoundedRectangle.Create2( - fixedRect.X + (fixedRect.Width / 2 - hSpace / 2) + 3, - fixedRect.Y - dist - 7, - measureWidth.Width - 3, - measureWidth.Height, - 3)) { - graphics.FillPath(bgBrush, p); - graphics.DrawPath(rulerPen, p); - graphics.DrawString(captureWidth, rulerFont, rulerPen.Brush, fixedRect.X + (fixedRect.Width / 2 - hSpace / 2) + 3, fixedRect.Y - dist - 7); - graphics.DrawLine(rulerPen, fixedRect.X, fixedRect.Y - dist, fixedRect.X + (fixedRect.Width / 2 - hSpace / 2), fixedRect.Y - dist); - graphics.DrawLine(rulerPen, fixedRect.X + fixedRect.Width / 2 + hSpace / 2, fixedRect.Y - dist, fixedRect.X + fixedRect.Width, fixedRect.Y - dist); - graphics.DrawLine(rulerPen, fixedRect.X, fixedRect.Y - dist - 3, fixedRect.X, fixedRect.Y - dist + 3); - graphics.DrawLine(rulerPen, fixedRect.X + fixedRect.Width, fixedRect.Y - dist - 3, fixedRect.X + fixedRect.Width, fixedRect.Y - dist + 3); - } - } + if (fixedRect.Width > hSpace + 3) + { + using GraphicsPath p = RoundedRectangle.Create2( + fixedRect.X + (fixedRect.Width / 2 - hSpace / 2) + 3, + fixedRect.Y - dist - 7, + measureWidth.Width - 3, + measureWidth.Height, + 3); + graphics.FillPath(bgBrush, p); + graphics.DrawPath(rulerPen, p); + graphics.DrawString(captureWidth, rulerFont, rulerPen.Brush, fixedRect.X + (fixedRect.Width / 2 - hSpace / 2) + 3, fixedRect.Y - dist - 7); + graphics.DrawLine(rulerPen, fixedRect.X, fixedRect.Y - dist, fixedRect.X + (fixedRect.Width / 2 - hSpace / 2), fixedRect.Y - dist); + graphics.DrawLine(rulerPen, fixedRect.X + fixedRect.Width / 2 + hSpace / 2, fixedRect.Y - dist, fixedRect.X + fixedRect.Width, fixedRect.Y - dist); + graphics.DrawLine(rulerPen, fixedRect.X, fixedRect.Y - dist - 3, fixedRect.X, fixedRect.Y - dist + 3); + graphics.DrawLine(rulerPen, fixedRect.X + fixedRect.Width, fixedRect.Y - dist - 3, fixedRect.X + fixedRect.Width, fixedRect.Y - dist + 3); + } // vertical ruler - if (fixedRect.Height > vSpace + 3) { - using (GraphicsPath p = RoundedRectangle.Create2( - fixedRect.X - measureHeight.Width + 1, - fixedRect.Y + (fixedRect.Height / 2 - vSpace / 2) + 2, - measureHeight.Width - 3, - measureHeight.Height - 1, - 3)) { - graphics.FillPath(bgBrush, p); - graphics.DrawPath(rulerPen, p); - graphics.DrawString(captureHeight, rulerFont, rulerPen.Brush, fixedRect.X - measureHeight.Width + 1, fixedRect.Y + (fixedRect.Height / 2 - vSpace / 2) + 2); - graphics.DrawLine(rulerPen, fixedRect.X - dist, fixedRect.Y, fixedRect.X - dist, fixedRect.Y + (fixedRect.Height / 2 - vSpace / 2)); - graphics.DrawLine(rulerPen, fixedRect.X - dist, fixedRect.Y + fixedRect.Height / 2 + vSpace / 2, fixedRect.X - dist, fixedRect.Y + fixedRect.Height); - graphics.DrawLine(rulerPen, fixedRect.X - dist - 3, fixedRect.Y, fixedRect.X - dist + 3, fixedRect.Y); - graphics.DrawLine(rulerPen, fixedRect.X - dist - 3, fixedRect.Y + fixedRect.Height, fixedRect.X - dist + 3, fixedRect.Y + fixedRect.Height); - } - } + if (fixedRect.Height > vSpace + 3) + { + using GraphicsPath p = RoundedRectangle.Create2( + fixedRect.X - measureHeight.Width + 1, + fixedRect.Y + (fixedRect.Height / 2 - vSpace / 2) + 2, + measureHeight.Width - 3, + measureHeight.Height - 1, + 3); + graphics.FillPath(bgBrush, p); + graphics.DrawPath(rulerPen, p); + graphics.DrawString(captureHeight, rulerFont, rulerPen.Brush, fixedRect.X - measureHeight.Width + 1, fixedRect.Y + (fixedRect.Height / 2 - vSpace / 2) + 2); + graphics.DrawLine(rulerPen, fixedRect.X - dist, fixedRect.Y, fixedRect.X - dist, fixedRect.Y + (fixedRect.Height / 2 - vSpace / 2)); + graphics.DrawLine(rulerPen, fixedRect.X - dist, fixedRect.Y + fixedRect.Height / 2 + vSpace / 2, fixedRect.X - dist, fixedRect.Y + fixedRect.Height); + graphics.DrawLine(rulerPen, fixedRect.X - dist - 3, fixedRect.Y, fixedRect.X - dist + 3, fixedRect.Y); + graphics.DrawLine(rulerPen, fixedRect.X - dist - 3, fixedRect.Y + fixedRect.Height, fixedRect.X - dist + 3, fixedRect.Y + fixedRect.Height); + } rulerPen.Dispose(); bgBrush.Dispose(); @@ -783,43 +779,41 @@ namespace Greenshot.Forms { // Display size of selected rectangle // Prepare the font and text. - using (Font sizeFont = new Font( FontFamily.GenericSansSerif, 12 )) { - // When capturing a Region we need to add 1 to the height/width for correction - string sizeText; - if (_captureMode == CaptureMode.Region) { - // correct the GUI width to real width for the shown size - sizeText = _captureRect.Width + 1 + " x " + (_captureRect.Height + 1); - } else { - sizeText = _captureRect.Width + " x " + _captureRect.Height; - } + using Font sizeFont = new Font( FontFamily.GenericSansSerif, 12 ); + // When capturing a Region we need to add 1 to the height/width for correction + string sizeText; + if (_captureMode == CaptureMode.Region) { + // correct the GUI width to real width for the shown size + sizeText = _captureRect.Width + 1 + " x " + (_captureRect.Height + 1); + } else { + sizeText = _captureRect.Width + " x " + _captureRect.Height; + } - // Calculate the scaled font size. - SizeF extent = graphics.MeasureString( sizeText, sizeFont ); - float hRatio = _captureRect.Height / (extent.Height * 2); - float wRatio = _captureRect.Width / (extent.Width * 2); - float ratio = hRatio < wRatio ? hRatio : wRatio; - float newSize = sizeFont.Size * ratio; + // Calculate the scaled font size. + SizeF extent = graphics.MeasureString( sizeText, sizeFont ); + float hRatio = _captureRect.Height / (extent.Height * 2); + float wRatio = _captureRect.Width / (extent.Width * 2); + float ratio = hRatio < wRatio ? hRatio : wRatio; + float newSize = sizeFont.Size * ratio; - if ( newSize >= 4 ) { - // Only show if 4pt or larger. - if (newSize > 20) { - newSize = 20; - } - // Draw the size. - using (Font newSizeFont = new Font(FontFamily.GenericSansSerif, newSize, FontStyle.Bold)) { - PointF sizeLocation = new PointF(fixedRect.X + _captureRect.Width / 2 - extent.Width / 2, fixedRect.Y + _captureRect.Height / 2 - newSizeFont.GetHeight() / 2); - graphics.DrawString(sizeText, newSizeFont, Brushes.LightSeaGreen, sizeLocation); + if ( newSize >= 4 ) { + // Only show if 4pt or larger. + if (newSize > 20) { + newSize = 20; + } + // Draw the size. + using Font newSizeFont = new Font(FontFamily.GenericSansSerif, newSize, FontStyle.Bold); + PointF sizeLocation = new PointF(fixedRect.X + _captureRect.Width / 2 - extent.Width / 2, fixedRect.Y + _captureRect.Height / 2 - newSizeFont.GetHeight() / 2); + graphics.DrawString(sizeText, newSizeFont, Brushes.LightSeaGreen, sizeLocation); - if (_showDebugInfo && _selectedCaptureWindow != null) - { - string title = $"#{_selectedCaptureWindow.Handle.ToInt64():X} - {(_selectedCaptureWindow.Text.Length > 0 ? _selectedCaptureWindow.Text : _selectedCaptureWindow.Process.ProcessName)}"; - PointF debugLocation = new PointF(fixedRect.X, fixedRect.Y); - graphics.DrawString(title, sizeFont, Brushes.DarkOrange, debugLocation); - } - } - } - } - } else { + if (_showDebugInfo && _selectedCaptureWindow != null) + { + string title = $"#{_selectedCaptureWindow.Handle.ToInt64():X} - {(_selectedCaptureWindow.Text.Length > 0 ? _selectedCaptureWindow.Text : _selectedCaptureWindow.Process.ProcessName)}"; + PointF debugLocation = new PointF(fixedRect.X, fixedRect.Y); + graphics.DrawString(title, sizeFont, Brushes.DarkOrange, debugLocation); + } + } + } else { if (!IsTerminalServerSession) { using (Pen pen = new Pen(Color.LightSeaGreen)) { pen.DashStyle = DashStyle.Dot; @@ -829,20 +823,18 @@ namespace Greenshot.Forms { } string xy = _cursorPos.X + " x " + _cursorPos.Y; - using (Font f = new Font(FontFamily.GenericSansSerif, 8)) { - Size xySize = TextRenderer.MeasureText(xy, f); - using (GraphicsPath gp = RoundedRectangle.Create2(_cursorPos.X + 5, _cursorPos.Y + 5, xySize.Width - 3, xySize.Height, 3)) { - using (Brush bgBrush = new SolidBrush(Color.FromArgb(200, 217, 240, 227))) { - graphics.FillPath(bgBrush, gp); - } - using (Pen pen = new Pen(Color.SeaGreen)) { - graphics.DrawPath(pen, gp); - Point coordinatePosition = new Point(_cursorPos.X + 5, _cursorPos.Y + 5); - graphics.DrawString(xy, f, pen.Brush, coordinatePosition); - } - } - } - } + using Font f = new Font(FontFamily.GenericSansSerif, 8); + Size xySize = TextRenderer.MeasureText(xy, f); + using GraphicsPath gp = RoundedRectangle.Create2(_cursorPos.X + 5, _cursorPos.Y + 5, xySize.Width - 3, xySize.Height, 3); + using (Brush bgBrush = new SolidBrush(Color.FromArgb(200, 217, 240, 227))) { + graphics.FillPath(bgBrush, gp); + } + using (Pen pen = new Pen(Color.SeaGreen)) { + graphics.DrawPath(pen, gp); + Point coordinatePosition = new Point(_cursorPos.X + 5, _cursorPos.Y + 5); + graphics.DrawString(xy, f, pen.Brush, coordinatePosition); + } + } } // Zoom @@ -857,6 +849,5 @@ namespace Greenshot.Forms { DrawZoom(graphics, sourceRectangle, destinationRectangle); } } - #endregion - } + } } diff --git a/Greenshot/Forms/ColorDialog.Designer.cs b/Greenshot/Forms/ColorDialog.Designer.cs index 94dda653d..32330fb3a 100644 --- a/Greenshot/Forms/ColorDialog.Designer.cs +++ b/Greenshot/Forms/ColorDialog.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/ColorDialog.cs b/Greenshot/Forms/ColorDialog.cs index 5799e0351..6ddf7b961 100644 --- a/Greenshot/Forms/ColorDialog.cs +++ b/Greenshot/Forms/ColorDialog.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -35,7 +35,7 @@ namespace Greenshot { /// public partial class ColorDialog : BaseForm { private static readonly EditorConfiguration EditorConfig = IniConfig.GetIniSection(); - + private static ColorDialog _instance; public ColorDialog() { SuspendLayout(); InitializeComponent(); @@ -44,7 +44,10 @@ namespace Greenshot { CreateLastUsedColorButtonRow(5, 190, 15, 15); ResumeLayout(); UpdateRecentColorsButtonRow(); - } + _instance = this; + } + + public static ColorDialog GetInstance() => _instance; private readonly List /// /// - private void PropertiesToolStrip_Paint(object sender, PaintEventArgs e) { - using (Pen cbBorderPen = new Pen(SystemColors.ActiveBorder)) { - // Loop over all items in the propertiesToolStrip - foreach (ToolStripItem item in propertiesToolStrip.Items) { - ToolStripComboBox cb = item as ToolStripComboBox; - // Only ToolStripComboBox that are visible - if (cb == null || !cb.Visible) { - continue; - } - // Calculate the rectangle - if (cb.ComboBox != null) - { - Rectangle r = new Rectangle(cb.ComboBox.Location.X - 1, cb.ComboBox.Location.Y - 1, cb.ComboBox.Size.Width + 1, cb.ComboBox.Size.Height + 1); + private void PropertiesToolStrip_Paint(object sender, PaintEventArgs e) + { + using Pen cbBorderPen = new Pen(SystemColors.ActiveBorder); + // Loop over all items in the propertiesToolStrip + foreach (ToolStripItem item in propertiesToolStrip.Items) { + ToolStripComboBox cb = item as ToolStripComboBox; + // Only ToolStripComboBox that are visible + if (cb == null || !cb.Visible) { + continue; + } + // Calculate the rectangle + if (cb.ComboBox != null) + { + Rectangle r = new Rectangle(cb.ComboBox.Location.X - 1, cb.ComboBox.Location.Y - 1, cb.ComboBox.Size.Width + 1, cb.ComboBox.Size.Height + 1); - // Draw the rectangle - e.Graphics.DrawRectangle(cbBorderPen, r); - } - } - } - } + // Draw the rectangle + e.Graphics.DrawRectangle(cbBorderPen, r); + } + } + } /// /// Get all the destinations and display them in the file menu and the buttons @@ -337,8 +337,7 @@ namespace Greenshot { /// private void ClearItems(ToolStripItemCollection items) { foreach(var item in items) { - ToolStripMenuItem menuItem = item as ToolStripMenuItem; - if (menuItem != null && menuItem.ShortcutKeys != Keys.None) { + if (item is ToolStripMenuItem menuItem && menuItem.ShortcutKeys != Keys.None) { menuItem.ShortcutKeys = Keys.None; } } @@ -440,7 +439,7 @@ namespace Greenshot { Text = Path.GetFileName(fullpath) + " - " + Language.GetString(LangKey.editor_title); } - private void surface_DrawingModeChanged(object source, SurfaceDrawingModeEventArgs eventArgs) { + private void Surface_DrawingModeChanged(object source, SurfaceDrawingModeEventArgs eventArgs) { switch (eventArgs.DrawingMode) { case DrawingModes.None: SetButtonChecked(btnCursor); @@ -481,9 +480,7 @@ namespace Greenshot { } } - #region plugin interfaces - - /** + /** * Interfaces for plugins, see GreenshotInterface for more details! */ @@ -500,11 +497,8 @@ namespace Greenshot { public ToolStripMenuItem GetFileMenuItem() { return fileStripMenuItem; } - #endregion - - #region filesystem options - private void BtnSaveClick(object sender, EventArgs e) { + private void BtnSaveClick(object sender, EventArgs e) { string destinationDesignation = FileDestination.DESIGNATION; if (_surface.LastSaveFullPath == null) { destinationDesignation = FileWithDialogDestination.DESIGNATION; @@ -526,11 +520,8 @@ namespace Greenshot { private void CloseToolStripMenuItemClick(object sender, EventArgs e) { Close(); } - #endregion - - #region drawing options - private void BtnEllipseClick(object sender, EventArgs e) { + private void BtnEllipseClick(object sender, EventArgs e) { _surface.DrawingMode = DrawingModes.Ellipse; RefreshFieldControls(); } @@ -642,11 +633,8 @@ namespace Greenshot { private void BtnDeleteClick(object sender, EventArgs e) { RemoveObjectToolStripMenuItemClick(sender, e); } - #endregion - - #region copy&paste options - private void CutToolStripMenuItemClick(object sender, EventArgs e) { + private void CutToolStripMenuItemClick(object sender, EventArgs e) { _surface.CutSelectedElements(); UpdateClipboardSurfaceDependencies(); } @@ -695,11 +683,8 @@ namespace Greenshot { _surface.DuplicateSelectedElements(); UpdateClipboardSurfaceDependencies(); } - #endregion - - #region element properties - private void UpOneLevelToolStripMenuItemClick(object sender, EventArgs e) { + private void UpOneLevelToolStripMenuItemClick(object sender, EventArgs e) { _surface.PullElementsUp(); } @@ -714,13 +699,9 @@ namespace Greenshot { private void DownToBottomToolStripMenuItemClick(object sender, EventArgs e) { _surface.PushElementsToBottom(); } - - - #endregion - - #region help - private void HelpToolStripMenuItem1Click(object sender, EventArgs e) { + + private void HelpToolStripMenuItem1Click(object sender, EventArgs e) { HelpFileLoader.LoadHelp(); } @@ -739,11 +720,8 @@ namespace Greenshot { private void BtnHelpClick(object sender, EventArgs e) { HelpToolStripMenuItem1Click(sender, e); } - #endregion - - #region image editor event handlers - private void ImageEditorFormActivated(object sender, EventArgs e) { + private void ImageEditorFormActivated(object sender, EventArgs e) { UpdateClipboardSurfaceDependencies(); UpdateUndoRedoSurfaceDependencies(); } @@ -882,10 +860,8 @@ namespace Greenshot { private void PanelMouseWheel(object sender, MouseEventArgs e) { panel1.Focus(); } - #endregion - - #region key handling - protected override bool ProcessKeyPreview(ref Message msg) { + + protected override bool ProcessKeyPreview(ref Message msg) { // disable default key handling if surface has requested a lock if (!_surface.KeysLocked) { return base.ProcessKeyPreview(ref msg); @@ -919,11 +895,8 @@ namespace Greenshot { } return false; } - #endregion - - #region helpers - - private void UpdateUndoRedoSurfaceDependencies() { + + private void UpdateUndoRedoSurfaceDependencies() { if (_surface == null) { return; } @@ -980,19 +953,12 @@ namespace Greenshot { pasteToolStripMenuItem.Enabled = hasClipboard && !_controlsDisabledDueToConfirmable; } - #endregion - - #region status label handling - private void UpdateStatusLabel(string text, ContextMenuStrip contextMenu = null) { + private void UpdateStatusLabel(string text, ContextMenuStrip contextMenu = null) { statusLabel.Text = text; statusStrip1.ContextMenuStrip = contextMenu; } - private void ClearStatusLabel() { - UpdateStatusLabel(null); - } - - private void StatusLabelClicked(object sender, MouseEventArgs e) { + private void StatusLabelClicked(object sender, MouseEventArgs e) { ToolStrip ss = (StatusStrip)((ToolStripStatusLabel)sender).Owner; ss.ContextMenuStrip?.Show(ss, e.X, e.Y); } @@ -1004,9 +970,8 @@ namespace Greenshot { private void OpenDirectoryMenuItemClick(object sender, EventArgs e) { ExplorerHelper.OpenInExplorer(_surface.LastSaveFullPath); } - #endregion - - private void BindFieldControls() { + + private void BindFieldControls() { // TODO: This is actually risky, if there are no references than the objects may be garbage collected new BidirectionalBinding(btnFillColor, "SelectedColor", _surface.FieldAggregator.GetField(FieldType.FILL_COLOR), "Value", NotNullValidator.GetInstance()); new BidirectionalBinding(btnLineColor, "SelectedColor", _surface.FieldAggregator.GetField(FieldType.LINE_COLOR), "Value", NotNullValidator.GetInstance()); @@ -1221,11 +1186,11 @@ namespace Greenshot { FileName = FilenameHelper.GetFilenameWithoutExtensionFromPattern(coreConfiguration.OutputFileFilenamePattern, _surface.CaptureDetails) }; DialogResult dialogResult = saveFileDialog.ShowDialog(); - if(dialogResult.Equals(DialogResult.OK)) { - using (Stream streamWrite = File.OpenWrite(saveFileDialog.FileName)) { - _surface.SaveElementsToStream(streamWrite); - } - } + if(dialogResult.Equals(DialogResult.OK)) + { + using Stream streamWrite = File.OpenWrite(saveFileDialog.FileName); + _surface.SaveElementsToStream(streamWrite); + } } private void LoadElementsToolStripMenuItemClick(object sender, EventArgs e) { @@ -1243,8 +1208,7 @@ namespace Greenshot { private void DestinationToolStripMenuItemClick(object sender, EventArgs e) { IDestination clickedDestination = null; - var control = sender as Control; - if (control != null) { + if (sender is Control control) { Control clickedControl = control; if (clickedControl.ContextMenuStrip != null) { clickedControl.ContextMenuStrip.Show(Cursor.Position); @@ -1254,8 +1218,7 @@ namespace Greenshot { } else { - var item = sender as ToolStripMenuItem; - if (item != null) { + if (sender is ToolStripMenuItem item) { ToolStripMenuItem clickedMenuItem = item; clickedDestination = (IDestination)clickedMenuItem.Tag; } diff --git a/Greenshot/Forms/ImageEditorForm.resx b/Greenshot/Forms/ImageEditorForm.resx index 88fd73b87..e4188604b 100644 --- a/Greenshot/Forms/ImageEditorForm.resx +++ b/Greenshot/Forms/ImageEditorForm.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -940,90 +940,90 @@ - ..\icons\notification-counter-01.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-01.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-02.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-02.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-03.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-03.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-04.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-04.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-05.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-05.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-06.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-06.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-07.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-07.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-08.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-08.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-09.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-09.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-10.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-10.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-11.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-11.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-12.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-12.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-13.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-13.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-14.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-14.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-15.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-15.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-16.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-16.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-17.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-17.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-18.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-18.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-19.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-19.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-20-plus.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-20-plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\notification-counter-20.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\notification-counter-20.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\balloon.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\balloon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\icons\resize.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\icons\resize.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - + 551, 17 - + 17, 54 - + 662, 17 - + 452, 17 - + 116, 54 - + 17, 17 \ No newline at end of file diff --git a/Greenshot/Forms/LanguageDialog.Designer.cs b/Greenshot/Forms/LanguageDialog.Designer.cs index 20d61cbc3..6ae29249b 100644 --- a/Greenshot/Forms/LanguageDialog.Designer.cs +++ b/Greenshot/Forms/LanguageDialog.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/LanguageDialog.cs b/Greenshot/Forms/LanguageDialog.cs index c043017da..3b597e810 100644 --- a/Greenshot/Forms/LanguageDialog.cs +++ b/Greenshot/Forms/LanguageDialog.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/MainForm.Designer.cs b/Greenshot/Forms/MainForm.Designer.cs index d77a39c10..61f7ec29d 100644 --- a/Greenshot/Forms/MainForm.Designer.cs +++ b/Greenshot/Forms/MainForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/MainForm.cs b/Greenshot/Forms/MainForm.cs index 23bb8960f..6e135ea23 100644 --- a/Greenshot/Forms/MainForm.cs +++ b/Greenshot/Forms/MainForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -30,7 +30,7 @@ using System.Reflection; using System.Text; using System.Threading; using System.Windows.Forms; - +using System.Windows.Forms.Integration; using Greenshot.Configuration; using Greenshot.Experimental; using Greenshot.Forms; @@ -219,27 +219,30 @@ namespace Greenshot { } greenshotProcess.Dispose(); } - if (!matchedThisProcess) { - using (Process currentProcess = Process.GetCurrentProcess()) { - instanceInfo.Append(index + ": ").AppendLine(Kernel32.GetProcessPath(currentProcess.Id)); - } - } + if (!matchedThisProcess) + { + using Process currentProcess = Process.GetCurrentProcess(); + instanceInfo.Append(index + ": ").AppendLine(Kernel32.GetProcessPath(currentProcess.Id)); + } - // A dirty fix to make sure the messagebox is visible as a Greenshot window on the taskbar - using (Form dummyForm = new Form()) { - dummyForm.Icon = GreenshotResources.getGreenshotIcon(); - dummyForm.ShowInTaskbar = true; - dummyForm.FormBorderStyle = FormBorderStyle.None; - dummyForm.Location = new Point(int.MinValue, int.MinValue); - dummyForm.Load += delegate { dummyForm.Size = Size.Empty; }; - dummyForm.Show(); - MessageBox.Show(dummyForm, Language.GetString(LangKey.error_multipleinstances) + "\r\n" + instanceInfo, Language.GetString(LangKey.error), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); - } - } + // A dirty fix to make sure the message box is visible as a Greenshot window on the taskbar + using Form dummyForm = new Form + { + Icon = GreenshotResources.getGreenshotIcon(), + ShowInTaskbar = true, + FormBorderStyle = FormBorderStyle.None, + Location = new Point(int.MinValue, int.MinValue) + }; + dummyForm.Load += delegate { dummyForm.Size = Size.Empty; }; + dummyForm.Show(); + MessageBox.Show(dummyForm, Language.GetString(LangKey.error_multipleinstances) + "\r\n" + instanceInfo, Language.GetString(LangKey.error), MessageBoxButtons.OK, MessageBoxIcon.Exclamation); + } FreeMutex(); Application.Exit(); return; } + // Make sure we can use forms + WindowsFormsHost.EnableWindowsFormsInterop(); // BUG-1809: Add message filter, to filter out all the InputLangChanged messages which go to a target control with a handle > 32 bit. Application.AddMessageFilter(new WmInputLangChangeRequestFilter()); @@ -489,9 +492,7 @@ namespace Greenshot { base.WndProc(ref m); } - #region hotkeys - - /// + /// /// Helper method to cleanly register a hotkey /// /// @@ -653,9 +654,8 @@ namespace Greenshot { } return success; } - #endregion - - public void UpdateUi() { + + public void UpdateUi() { // As the form is never loaded, call ApplyLanguage ourselves ApplyLanguage(); @@ -666,11 +666,9 @@ namespace Greenshot { contextmenu_capturefullscreen.ShortcutKeyDisplayString = HotkeyControl.GetLocalizedHotkeyStringFromString(_conf.FullscreenHotkey); contextmenu_captureie.ShortcutKeyDisplayString = HotkeyControl.GetLocalizedHotkeyStringFromString(_conf.IEHotkey); } - - - #region mainform events - private void MainFormFormClosing(object sender, FormClosingEventArgs e) { + + private void MainFormFormClosing(object sender, FormClosingEventArgs e) { LOG.DebugFormat("Mainform closing, reason: {0}", e.CloseReason); _instance = null; Exit(); @@ -680,11 +678,8 @@ namespace Greenshot { Hide(); ShowInTaskbar = false; } - #endregion - #region key handlers - - private void CaptureRegion() { + private void CaptureRegion() { CaptureHelper.CaptureRegion(true); } @@ -721,12 +716,9 @@ namespace Greenshot { CaptureHelper.CaptureWindow(true); } } - #endregion - #region contextmenu - - private void ContextMenuOpening(object sender, CancelEventArgs e) { + private void ContextMenuOpening(object sender, CancelEventArgs e) { contextmenu_captureclipboard.Enabled = ClipboardHelper.ContainsImage(); contextmenu_capturelastregion.Enabled = coreConfiguration.LastCapturedRegion != Rectangle.Empty; @@ -880,15 +872,13 @@ namespace Greenshot { } private void ShowThumbnailOnEnter(object sender, EventArgs e) { - ToolStripMenuItem captureWindowItem = sender as ToolStripMenuItem; - if (captureWindowItem != null) { - WindowDetails window = captureWindowItem.Tag as WindowDetails; - if (_thumbnailForm == null) { - _thumbnailForm = new ThumbnailForm(); - } - _thumbnailForm.ShowThumbnail(window, captureWindowItem.GetCurrentParent().TopLevelControl); - } - } + if (!(sender is ToolStripMenuItem captureWindowItem)) return; + WindowDetails window = captureWindowItem.Tag as WindowDetails; + if (_thumbnailForm == null) { + _thumbnailForm = new ThumbnailForm(); + } + _thumbnailForm.ShowThumbnail(window, captureWindowItem.GetCurrentParent().TopLevelControl); + } private void HideThumbnailOnLeave(object sender, EventArgs e) { @@ -1083,8 +1073,7 @@ namespace Greenshot { } private void CheckStateChangedHandler(object sender, EventArgs e) { - ToolStripMenuSelectListItem captureMouseItem = sender as ToolStripMenuSelectListItem; - if (captureMouseItem != null) { + if (sender is ToolStripMenuSelectListItem captureMouseItem) { _conf.CaptureMousepointer = captureMouseItem.Checked; } } @@ -1191,8 +1180,7 @@ namespace Greenshot { private void QuickSettingBoolItemChanged(object sender, EventArgs e) { ToolStripMenuSelectListItem item = ((ItemCheckedChangedEventArgs)e).Item; - IniValue iniValue = item.Data as IniValue; - if (iniValue != null) { + if (item.Data is IniValue iniValue) { iniValue.Value = item.Checked; IniConfig.Save(); } @@ -1228,9 +1216,8 @@ namespace Greenshot { // Rebuild the quick settings menu with the new settings. InitializeQuickSettingsMenu(); } - #endregion - - private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { + + private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) { Exception exceptionToLog = e.ExceptionObject as Exception; string exceptionText = EnvironmentInfo.BuildReport(exceptionToLog); LOG.Error("Exception caught in the UnhandledException handler."); diff --git a/Greenshot/Forms/MainForm.resx b/Greenshot/Forms/MainForm.resx index 41c34bc68..5a4b3f951 100644 --- a/Greenshot/Forms/MainForm.resx +++ b/Greenshot/Forms/MainForm.resx @@ -112,15 +112,15 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 293, 17 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 @@ -290,10 +290,10 @@ +SFiYP97gICHXEhM7AyNjTWERES8ohKJlsECgPwD74Vfj6xWOBYAAAAASUVORK5CYII= - + 193, 17 - + 17, 17 \ No newline at end of file diff --git a/Greenshot/Forms/MovableShowColorForm.cs b/Greenshot/Forms/MovableShowColorForm.cs index 86f193206..243f246c0 100644 --- a/Greenshot/Forms/MovableShowColorForm.cs +++ b/Greenshot/Forms/MovableShowColorForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -85,16 +85,16 @@ namespace Greenshot.Forms { /// /// Point with the coordinates /// Color at the specified screenCoordinates - private static Color GetPixelColor(Point screenCoordinates) { - using (SafeWindowDcHandle screenDC = SafeWindowDcHandle.FromDesktop()) { - try { - uint pixel = GDI32.GetPixel(screenDC, screenCoordinates.X, screenCoordinates.Y); - Color color = Color.FromArgb(255, (int)(pixel & 0xFF), (int)(pixel & 0xFF00) >> 8, (int)(pixel & 0xFF0000) >> 16); - return color; - } catch (Exception) { - return Color.Empty; - } - } - } + private static Color GetPixelColor(Point screenCoordinates) + { + using SafeWindowDcHandle screenDC = SafeWindowDcHandle.FromDesktop(); + try { + uint pixel = GDI32.GetPixel(screenDC, screenCoordinates.X, screenCoordinates.Y); + Color color = Color.FromArgb(255, (int)(pixel & 0xFF), (int)(pixel & 0xFF00) >> 8, (int)(pixel & 0xFF0000) >> 16); + return color; + } catch (Exception) { + return Color.Empty; + } + } } } diff --git a/Greenshot/Forms/PrintOptionsDialog.Designer.cs b/Greenshot/Forms/PrintOptionsDialog.Designer.cs index 57071d867..990fedc5b 100644 --- a/Greenshot/Forms/PrintOptionsDialog.Designer.cs +++ b/Greenshot/Forms/PrintOptionsDialog.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/PrintOptionsDialog.cs b/Greenshot/Forms/PrintOptionsDialog.cs index 34884d402..ff1307b7e 100644 --- a/Greenshot/Forms/PrintOptionsDialog.cs +++ b/Greenshot/Forms/PrintOptionsDialog.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/ResizeSettingsForm.Designer.cs b/Greenshot/Forms/ResizeSettingsForm.Designer.cs index 6061844ff..0cf811fbe 100644 --- a/Greenshot/Forms/ResizeSettingsForm.Designer.cs +++ b/Greenshot/Forms/ResizeSettingsForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/ResizeSettingsForm.cs b/Greenshot/Forms/ResizeSettingsForm.cs index 4471ed443..0d0aad23f 100644 --- a/Greenshot/Forms/ResizeSettingsForm.cs +++ b/Greenshot/Forms/ResizeSettingsForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -65,10 +65,8 @@ namespace Greenshot.Forms { } private static bool Validate(object sender) { - TextBox textbox = sender as TextBox; - if (textbox != null) { - double numberEntered; - if (!double.TryParse(textbox.Text, out numberEntered)) { + if (sender is TextBox textbox) { + if (!double.TryParse(textbox.Text, out var numberEntered)) { textbox.BackColor = Color.Red; return false; } diff --git a/Greenshot/Forms/SettingsForm.Designer.cs b/Greenshot/Forms/SettingsForm.Designer.cs index c07019503..473463a1e 100644 --- a/Greenshot/Forms/SettingsForm.Designer.cs +++ b/Greenshot/Forms/SettingsForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -736,7 +736,7 @@ namespace Greenshot { this.radiobuttonInteractiveCapture.TabIndex = 6; this.radiobuttonInteractiveCapture.TabStop = true; this.radiobuttonInteractiveCapture.UseVisualStyleBackColor = true; - this.radiobuttonInteractiveCapture.CheckedChanged += new System.EventHandler(this.radiobutton_CheckedChanged); + this.radiobuttonInteractiveCapture.CheckedChanged += new System.EventHandler(this.Radiobutton_CheckedChanged); // // combobox_window_capture_mode // @@ -1244,7 +1244,7 @@ namespace Greenshot { this.checkbox_enableexpert.Size = new System.Drawing.Size(394, 24); this.checkbox_enableexpert.TabIndex = 1; this.checkbox_enableexpert.UseVisualStyleBackColor = true; - this.checkbox_enableexpert.CheckedChanged += new System.EventHandler(this.checkbox_enableexpert_CheckedChanged); + this.checkbox_enableexpert.CheckedChanged += new System.EventHandler(this.Checkbox_enableexpert_CheckedChanged); // // listview_clipboardformats // diff --git a/Greenshot/Forms/SettingsForm.cs b/Greenshot/Forms/SettingsForm.cs index 6f5b65eca..b38f72fbd 100644 --- a/Greenshot/Forms/SettingsForm.cs +++ b/Greenshot/Forms/SettingsForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -305,8 +305,7 @@ namespace Greenshot { /// private void UpdateDestinationDescriptions() { foreach (ListViewItem item in listview_destinations.Items) { - IDestination destinationFromTag = item.Tag as IDestination; - if (destinationFromTag != null) { + if (item.Tag is IDestination destinationFromTag) { item.Text = destinationFromTag.Description; } } @@ -457,9 +456,8 @@ namespace Greenshot { } foreach(int index in listview_destinations.CheckedIndices) { ListViewItem item = listview_destinations.Items[index]; - - IDestination destinationFromTag = item.Tag as IDestination; - if (item.Checked && destinationFromTag != null) { + + if (item.Checked && item.Tag is IDestination destinationFromTag) { destinations.Add(destinationFromTag.Designation); } } @@ -587,8 +585,7 @@ namespace Greenshot { foreach(int index in listview_destinations.CheckedIndices) { ListViewItem item = listview_destinations.Items[index]; - IDestination destinationFromTag = item.Tag as IDestination; - if (destinationFromTag != null && destinationFromTag.Designation.Equals(ClipboardDestination.DESIGNATION)) { + if (item.Tag is IDestination destinationFromTag && destinationFromTag.Designation.Equals(ClipboardDestination.DESIGNATION)) { clipboardDestinationChecked = true; break; } @@ -644,14 +641,13 @@ namespace Greenshot { /// /// /// - private void checkbox_enableexpert_CheckedChanged(object sender, EventArgs e) { - CheckBox checkBox = sender as CheckBox; - if (checkBox != null) { + private void Checkbox_enableexpert_CheckedChanged(object sender, EventArgs e) { + if (sender is CheckBox checkBox) { ExpertSettingsEnableState(checkBox.Checked); } } - private void radiobutton_CheckedChanged(object sender, EventArgs e) { + private void Radiobutton_CheckedChanged(object sender, EventArgs e) { combobox_window_capture_mode.Enabled = radiobuttonWindowCapture.Checked; } } @@ -669,9 +665,8 @@ namespace Greenshot { ListViewItem l2 = (ListViewItem)y; IDestination firstDestination = l1.Tag as IDestination; - IDestination secondDestination = l2.Tag as IDestination; - if (secondDestination == null) { + if (!(l2.Tag is IDestination secondDestination)) { return 1; } if (firstDestination != null && firstDestination.Priority == secondDestination.Priority) { diff --git a/Greenshot/Forms/SettingsForm.resx b/Greenshot/Forms/SettingsForm.resx index d6671649c..c1d301171 100644 --- a/Greenshot/Forms/SettingsForm.resx +++ b/Greenshot/Forms/SettingsForm.resx @@ -112,15 +112,15 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + 116, 17 - + iVBORw0KGgoAAAANSUhEUgAAABcAAAAYCAYAAAARfGZ1AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6 diff --git a/Greenshot/Forms/ToolStripMenuSelectList.cs b/Greenshot/Forms/ToolStripMenuSelectList.cs index e6a77f53b..ab739eaa6 100644 --- a/Greenshot/Forms/ToolStripMenuSelectList.cs +++ b/Greenshot/Forms/ToolStripMenuSelectList.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/TornEdgeSettingsForm.Designer.cs b/Greenshot/Forms/TornEdgeSettingsForm.Designer.cs index fc966f257..c14ed7557 100644 --- a/Greenshot/Forms/TornEdgeSettingsForm.Designer.cs +++ b/Greenshot/Forms/TornEdgeSettingsForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Forms/TornEdgeSettingsForm.cs b/Greenshot/Forms/TornEdgeSettingsForm.cs index 1eb9b7e53..632d554ae 100644 --- a/Greenshot/Forms/TornEdgeSettingsForm.cs +++ b/Greenshot/Forms/TornEdgeSettingsForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/GlobalSuppressions.cs b/Greenshot/GlobalSuppressions.cs deleted file mode 100644 index c3a0d1715..000000000 Binary files a/Greenshot/GlobalSuppressions.cs and /dev/null differ diff --git a/Greenshot/Greenshot.csproj b/Greenshot/Greenshot.csproj index d51065ada..f1187d7ce 100644 --- a/Greenshot/Greenshot.csproj +++ b/Greenshot/Greenshot.csproj @@ -1,254 +1,27 @@ - - - + - {CD642BF4-D815-4D67-A0B5-C69F0B8231AF} - WinExe Greenshot Greenshot - OnBuildSuccess + WinExe icons\applicationIcon\icon.ico True - False - 4 - false - v4.7.1 greenshot.manifest - - - - 3.5 - - - - - false - - - false - - - false - - - false - - - true + false + false + - - - + + PreserveNewest + + - - - - - Component - - - Component - - - Component - - - Component - - - - - Component - - - Component - - - Component - - - Component - - - Component - - - Component - - - Component - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Component - - - - Form - - - AboutForm.cs - - - Form - - - Form - - - CaptureForm.cs - - - Form - - - DropShadowSettingsForm.cs - - - Form - - - ImageEditorForm.cs - - - Form - - - Form - - - ResizeSettingsForm.cs - - - Form - - - TornEdgeSettingsForm.cs - - - Form - - - LanguageDialog.cs - - - Form - - - MainForm.cs - - - Form - - - PrintOptionsDialog.cs - - - Form - - - SettingsForm.cs - - - Component - - - Form - - - BugReportForm.cs - - - Form - - - MovableShowColorForm.cs - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + ColorDialog.cs @@ -261,205 +34,42 @@ SettingsForm.cs - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - - - PreserveNewest - - - Never - - - ColorDialog.cs - - - Form - + - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - + + - - - Always - - - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - Always - - - - - 2.0.8 - - - 6.0.3 - - - - - -copy "$(ProjectDir)log4net-debug.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\log4net.xml" - - \ No newline at end of file + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Greenshot/GreenshotMain.cs b/Greenshot/GreenshotMain.cs index 150e2aecb..c6fd9a714 100644 --- a/Greenshot/GreenshotMain.cs +++ b/Greenshot/GreenshotMain.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -19,6 +19,7 @@ * along with this program. If not, see . */ using System; +using System.Globalization; using System.Reflection; // Remove AppendPrivatePath warning: @@ -47,6 +48,8 @@ namespace Greenshot { [STAThread] public static void Main(string[] args) { + CultureInfo.DefaultThreadCurrentCulture = CultureInfo.InvariantCulture; + CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCulture; MainForm.Start(args); } } diff --git a/Greenshot/Help/HelpFileLoader.cs b/Greenshot/Help/HelpFileLoader.cs index d51fffcc4..10c4c69bb 100644 --- a/Greenshot/Help/HelpFileLoader.cs +++ b/Greenshot/Help/HelpFileLoader.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -76,11 +76,9 @@ namespace Greenshot.Help private static HttpStatusCode? GetHttpStatus(string url) { try { HttpWebRequest req = NetworkHelper.CreateWebRequest(url); - using (HttpWebResponse res = (HttpWebResponse)req.GetResponse()) - { - return res.StatusCode; - } - } catch (WebException e) { + using HttpWebResponse res = (HttpWebResponse)req.GetResponse(); + return res.StatusCode; + } catch (WebException e) { return ((HttpWebResponse) e.Response)?.StatusCode; } } diff --git a/Greenshot/Helpers/CaptureHelper.cs b/Greenshot/Helpers/CaptureHelper.cs index adffadb58..34cc40abd 100644 --- a/Greenshot/Helpers/CaptureHelper.cs +++ b/Greenshot/Helpers/CaptureHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -82,82 +82,90 @@ namespace Greenshot.Helpers { PsAPI.EmptyWorkingSet(); } } - public static void CaptureClipboard() { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Clipboard)) { - captureHelper.MakeCapture(); - } - } - public static void CaptureRegion(bool captureMouse) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Region, captureMouse)) { - captureHelper.MakeCapture(); - } - } - public static void CaptureRegion(bool captureMouse, IDestination destination) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Region, captureMouse, destination)) { - captureHelper.MakeCapture(); - } - } - public static void CaptureRegion(bool captureMouse, Rectangle region) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Region, captureMouse)) { - captureHelper.MakeCapture(region); - } - } - public static void CaptureFullscreen(bool captureMouse, ScreenCaptureMode screenCaptureMode) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.FullScreen, captureMouse)) { - captureHelper._screenCaptureMode = screenCaptureMode; - captureHelper.MakeCapture(); - } - } - public static void CaptureLastRegion(bool captureMouse) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.LastRegion, captureMouse)) { - captureHelper.MakeCapture(); - } - } + public static void CaptureClipboard() + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Clipboard); + captureHelper.MakeCapture(); + } + public static void CaptureRegion(bool captureMouse) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Region, captureMouse); + captureHelper.MakeCapture(); + } + public static void CaptureRegion(bool captureMouse, IDestination destination) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Region, captureMouse, destination); + captureHelper.MakeCapture(); + } + public static void CaptureRegion(bool captureMouse, Rectangle region) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Region, captureMouse); + captureHelper.MakeCapture(region); + } + public static void CaptureFullscreen(bool captureMouse, ScreenCaptureMode screenCaptureMode) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.FullScreen, captureMouse) + { + _screenCaptureMode = screenCaptureMode + }; + captureHelper.MakeCapture(); + } + public static void CaptureLastRegion(bool captureMouse) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.LastRegion, captureMouse); + captureHelper.MakeCapture(); + } - public static void CaptureIe(bool captureMouse, WindowDetails windowToCapture) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.IE, captureMouse)) { - captureHelper.SelectedCaptureWindow = windowToCapture; - captureHelper.MakeCapture(); - } - } + public static void CaptureIe(bool captureMouse, WindowDetails windowToCapture) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.IE, captureMouse) + { + SelectedCaptureWindow = windowToCapture + }; + captureHelper.MakeCapture(); + } - public static void CaptureWindow(bool captureMouse) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.ActiveWindow, captureMouse)) { - captureHelper.MakeCapture(); - } - } + public static void CaptureWindow(bool captureMouse) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.ActiveWindow, captureMouse); + captureHelper.MakeCapture(); + } - public static void CaptureWindow(WindowDetails windowToCapture) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.ActiveWindow)) { - captureHelper.SelectedCaptureWindow = windowToCapture; - captureHelper.MakeCapture(); - } - } + public static void CaptureWindow(WindowDetails windowToCapture) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.ActiveWindow) + { + SelectedCaptureWindow = windowToCapture + }; + captureHelper.MakeCapture(); + } - public static void CaptureWindowInteractive(bool captureMouse) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Window)) { - captureHelper.MakeCapture(); - } - } + public static void CaptureWindowInteractive(bool captureMouse) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.Window); + captureHelper.MakeCapture(); + } - public static void CaptureFile(string filename) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.File)) { - captureHelper.MakeCapture(filename); - } - } + public static void CaptureFile(string filename) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.File); + captureHelper.MakeCapture(filename); + } - public static void CaptureFile(string filename, IDestination destination) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.File)) { - captureHelper.AddDestination(destination).MakeCapture(filename); - } - } + public static void CaptureFile(string filename, IDestination destination) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.File); + captureHelper.AddDestination(destination).MakeCapture(filename); + } - public static void ImportCapture(ICapture captureToImport) { - using (CaptureHelper captureHelper = new CaptureHelper(CaptureMode.File)) { - captureHelper._capture = captureToImport; - captureHelper.HandleCapture(); - } - } + public static void ImportCapture(ICapture captureToImport) + { + using CaptureHelper captureHelper = new CaptureHelper(CaptureMode.File) + { + _capture = captureToImport + }; + captureHelper.HandleCapture(); + } public CaptureHelper AddDestination(IDestination destination) { _capture.CaptureDetails.AddDestination(destination); @@ -500,8 +508,7 @@ namespace Greenshot.Helpers { /// /// private void OpenCaptureOnClick(object sender, EventArgs e) { - SurfaceMessageEventArgs eventArgs = MainForm.Instance.NotifyIcon.Tag as SurfaceMessageEventArgs; - if (eventArgs == null) { + if (!(MainForm.Instance.NotifyIcon.Tag is SurfaceMessageEventArgs eventArgs)) { Log.Warn("OpenCaptureOnClick called without SurfaceMessageEventArgs"); RemoveEventHandler(sender, e); return; @@ -816,37 +823,38 @@ namespace Greenshot.Helpers { int blackPercentageGdi = blackCountGdi * 100 / gdiPixels; if (blackPercentageGdi >= 1) { int screenPixels = windowRectangle.Width * windowRectangle.Height; - using (ICapture screenCapture = new Capture()) { - screenCapture.CaptureDetails = captureForWindow.CaptureDetails; - if (WindowCapture.CaptureRectangleFromDesktopScreen(screenCapture, windowRectangle) != null) { - int blackCountScreen = ImageHelper.CountColor(screenCapture.Image, Color.Black, false); - int blackPercentageScreen = blackCountScreen * 100 / screenPixels; - if (screenPixels == gdiPixels) { - // "easy compare", both have the same size - // If GDI has more black, use the screen capture. - if (blackPercentageGdi > blackPercentageScreen) { - Log.Debug("Using screen capture, as GDI had additional black."); - // changeing the image will automatically dispose the previous - tmpCapture.Image = screenCapture.Image; - // Make sure it's not disposed, else the picture is gone! - screenCapture.NullImage(); - } - } else if (screenPixels < gdiPixels) { - // Screen capture is cropped, window is outside of screen - if (blackPercentageGdi > 50 && blackPercentageGdi > blackPercentageScreen) { - Log.Debug("Using screen capture, as GDI had additional black."); - // changeing the image will automatically dispose the previous - tmpCapture.Image = screenCapture.Image; - // Make sure it's not disposed, else the picture is gone! - screenCapture.NullImage(); - } - } else { - // Use the GDI capture by doing nothing - Log.Debug("This should not happen, how can there be more screen as GDI pixels?"); - } - } - } - } + using ICapture screenCapture = new Capture + { + CaptureDetails = captureForWindow.CaptureDetails + }; + if (WindowCapture.CaptureRectangleFromDesktopScreen(screenCapture, windowRectangle) != null) { + int blackCountScreen = ImageHelper.CountColor(screenCapture.Image, Color.Black, false); + int blackPercentageScreen = blackCountScreen * 100 / screenPixels; + if (screenPixels == gdiPixels) { + // "easy compare", both have the same size + // If GDI has more black, use the screen capture. + if (blackPercentageGdi > blackPercentageScreen) { + Log.Debug("Using screen capture, as GDI had additional black."); + // changeing the image will automatically dispose the previous + tmpCapture.Image = screenCapture.Image; + // Make sure it's not disposed, else the picture is gone! + screenCapture.NullImage(); + } + } else if (screenPixels < gdiPixels) { + // Screen capture is cropped, window is outside of screen + if (blackPercentageGdi > 50 && blackPercentageGdi > blackPercentageScreen) { + Log.Debug("Using screen capture, as GDI had additional black."); + // changeing the image will automatically dispose the previous + tmpCapture.Image = screenCapture.Image; + // Make sure it's not disposed, else the picture is gone! + screenCapture.NullImage(); + } + } else { + // Use the GDI capture by doing nothing + Log.Debug("This should not happen, how can there be more screen as GDI pixels?"); + } + } + } } } if (tmpCapture != null) { @@ -915,9 +923,9 @@ namespace Greenshot.Helpers { } - #region capture with feedback - private void CaptureWithFeedback() { - // The following, to be precise the HideApp, causes the app to close as described in BUG-1620 + private void CaptureWithFeedback() + { + // The following, to be precise the HideApp, causes the app to close as described in BUG-1620 // Added check for metro (Modern UI) apps, which might be maximized and cover the screen. //foreach(WindowDetails app in WindowDetails.GetMetroApps()) { @@ -926,37 +934,34 @@ namespace Greenshot.Helpers { // } //} - using (CaptureForm captureForm = new CaptureForm(_capture, _windows)) { - // Make sure the form is hidden after showing, even if an exception occurs, so all errors will be shown - DialogResult result; - try { - result = captureForm.ShowDialog(MainForm.Instance); - } finally { - captureForm.Hide(); - } - if (result == DialogResult.OK) { - _selectedCaptureWindow = captureForm.SelectedCaptureWindow; - _captureRect = captureForm.CaptureRectangle; - // Get title - if (_selectedCaptureWindow != null) { - _capture.CaptureDetails.Title = _selectedCaptureWindow.Text; - } + using CaptureForm captureForm = new CaptureForm(_capture, _windows); + // Make sure the form is hidden after showing, even if an exception occurs, so all errors will be shown + DialogResult result; + try { + result = captureForm.ShowDialog(MainForm.Instance); + } finally { + captureForm.Hide(); + } + if (result == DialogResult.OK) { + _selectedCaptureWindow = captureForm.SelectedCaptureWindow; + _captureRect = captureForm.CaptureRectangle; + // Get title + if (_selectedCaptureWindow != null) { + _capture.CaptureDetails.Title = _selectedCaptureWindow.Text; + } - if (_captureRect.Height > 0 && _captureRect.Width > 0) { - // Take the captureRect, this already is specified as bitmap coordinates - _capture.Crop(_captureRect); + if (_captureRect.Height > 0 && _captureRect.Width > 0) { + // Take the captureRect, this already is specified as bitmap coordinates + _capture.Crop(_captureRect); - // save for re-capturing later and show recapture context menu option - // Important here is that the location needs to be offsetted back to screen coordinates! - Rectangle tmpRectangle = _captureRect; - tmpRectangle.Offset(_capture.ScreenBounds.Location.X, _capture.ScreenBounds.Location.Y); - CoreConfig.LastCapturedRegion = tmpRectangle; - HandleCapture(); - } - } - } - } - - #endregion - } + // save for re-capturing later and show recapture context menu option + // Important here is that the location needs to be offsetted back to screen coordinates! + Rectangle tmpRectangle = _captureRect; + tmpRectangle.Offset(_capture.ScreenBounds.Location.X, _capture.ScreenBounds.Location.Y); + CoreConfig.LastCapturedRegion = tmpRectangle; + HandleCapture(); + } + } + } + } } diff --git a/Greenshot/Helpers/Colors.cs b/Greenshot/Helpers/Colors.cs index 31ade9946..0b30c7373 100644 --- a/Greenshot/Helpers/Colors.cs +++ b/Greenshot/Helpers/Colors.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/CopyData.cs b/Greenshot/Helpers/CopyData.cs index 131684e9d..36f707e79 100644 --- a/Greenshot/Helpers/CopyData.cs +++ b/Greenshot/Helpers/CopyData.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -89,11 +89,9 @@ namespace Greenshot.Helpers { private const int WM_COPYDATA = 0x4A; private const int WM_DESTROY = 0x2; - #region Member Variables - private CopyDataChannels _channels; - #endregion + private CopyDataChannels _channels; - /// + /// /// Override for a form's Window Procedure to handle WM_COPYDATA /// messages sent by other instances of this class. /// @@ -338,8 +336,7 @@ namespace Greenshot.Helpers { /// A channel on which messages can be sent. /// public class CopyDataChannel : IDisposable { - #region Unmanaged Code - [DllImport("user32", CharSet = CharSet.Unicode, SetLastError = true)] + [DllImport("user32", CharSet = CharSet.Unicode, SetLastError = true)] private static extern IntPtr GetProp(IntPtr hwnd, string lpString); [DllImport("user32", CharSet = CharSet.Unicode, SetLastError = true)] private static extern bool SetProp(IntPtr hwnd, string lpString, IntPtr hData); @@ -357,15 +354,11 @@ namespace Greenshot.Helpers { } private const int WM_COPYDATA = 0x4A; - #endregion - #region Member Variables - - private readonly NativeWindow _owner; + private readonly NativeWindow _owner; private bool _recreateChannel; - #endregion - /// + /// /// Gets the name associated with this channel. /// public string ChannelName { get; private set; } diff --git a/Greenshot/Helpers/DestinationHelper.cs b/Greenshot/Helpers/DestinationHelper.cs index 6ce287460..e0b99bc5a 100644 --- a/Greenshot/Helpers/DestinationHelper.cs +++ b/Greenshot/Helpers/DestinationHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/EnvironmentInfo.cs b/Greenshot/Helpers/EnvironmentInfo.cs index 70ce20a8c..af18625bf 100644 --- a/Greenshot/Helpers/EnvironmentInfo.cs +++ b/Greenshot/Helpers/EnvironmentInfo.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -209,8 +209,7 @@ namespace Greenshot.Helpers /// public static class OsInfo { - #region BITS - /// + /// /// Determines if the current application is 32 or 64-bit. /// public static int Bits @@ -220,10 +219,8 @@ namespace Greenshot.Helpers return IntPtr.Size * 8; } } - #endregion BITS - #region EDITION - private static string _sEdition; + private static string _sEdition; /// /// Gets the edition of the operating system running on this computer. /// @@ -251,8 +248,7 @@ namespace Greenshot.Helpers byte productType = osVersionInfo.wProductType; short suiteMask = osVersionInfo.wSuiteMask; - #region VERSION 4 - if (majorVersion == 4) + if (majorVersion == 4) { if (productType == VER_NT_WORKSTATION) { @@ -264,10 +260,8 @@ namespace Greenshot.Helpers edition = (suiteMask & VER_SUITE_ENTERPRISE) != 0 ? "Enterprise Server" : "Standard Server"; } } - #endregion VERSION 4 - #region VERSION 5 - else if (majorVersion == 5) + else if (majorVersion == 5) { if (productType == VER_NT_WORKSTATION) { @@ -327,13 +321,10 @@ namespace Greenshot.Helpers } } } - #endregion VERSION 5 - #region VERSION 6 - else if (majorVersion == 6) + else if (majorVersion == 6) { - int ed; - if (GetProductInfo(majorVersion, minorVersion, osVersionInfo.wServicePackMajor, osVersionInfo.wServicePackMinor, out ed)) + if (GetProductInfo(majorVersion, minorVersion, osVersionInfo.wServicePackMajor, osVersionInfo.wServicePackMinor, out var ed)) { switch (ed) { @@ -451,17 +442,14 @@ namespace Greenshot.Helpers } } } - #endregion VERSION 6 - } + } _sEdition = edition; return edition; } } - #endregion EDITION - #region NAME - private static string _name; + private static string _name; /// /// Gets the name of the operating system running on this computer. /// @@ -539,66 +527,42 @@ namespace Greenshot.Helpers name = "Windows 2000"; break; case 1: - switch (suiteMask) - { - case 0x0200: - name = "Windows XP Professional"; - break; - default: - name = "Windows XP"; - break; - } - break; + name = suiteMask switch + { + 0x0200 => "Windows XP Professional", + _ => "Windows XP" + }; + break; case 2: - switch (suiteMask) - { - case 0x0200: - name = "Windows XP Professional x64"; - break; - case 0x0002: - name = "Windows Server 2003 Enterprise"; - break; - case 0x0080: - name = "Windows Server 2003 Data Center"; - break; - case 0x0400: - name = "Windows Server 2003 Web Edition"; - break; - case unchecked((short)0x8000): - name = "Windows Home Server"; - break; - default: - name = "Windows Server 2003"; - break; - } - break; + name = suiteMask switch + { + 0x0200 => "Windows XP Professional x64", + 0x0002 => "Windows Server 2003 Enterprise", + 0x0080 => "Windows Server 2003 Data Center", + 0x0400 => "Windows Server 2003 Web Edition", + unchecked((short) 0x8000) => "Windows Home Server", + _ => "Windows Server 2003" + }; + break; } break; case 6: switch (minorVersion) { case 0: - switch (productType) - { - case 3: - name = "Windows Server 2008"; - break; - default: - name = "Windows Vista"; - break; - } - break; + name = productType switch + { + 3 => "Windows Server 2008", + _ => "Windows Vista" + }; + break; case 1: - switch (productType) - { - case 3: - name = "Windows Server 2008 R2"; - break; - default: - name = "Windows 7"; - break; - } - break; + name = productType switch + { + 3 => "Windows Server 2008 R2", + _ => "Windows 7" + }; + break; case 2: name = "Windows 8"; break; @@ -619,12 +583,8 @@ namespace Greenshot.Helpers return name; } } - #endregion NAME - #region PINVOKE - #region GET - #region PRODUCT INFO - [DllImport("Kernel32.dll")] + [DllImport("Kernel32.dll")] [return: MarshalAs(UnmanagedType.Bool)] internal static extern bool GetProductInfo( int osMajorVersion, @@ -632,17 +592,12 @@ namespace Greenshot.Helpers int spMajorVersion, int spMinorVersion, out int edition); - #endregion PRODUCT INFO - #region VERSION - [DllImport("kernel32.dll", CharSet = CharSet.Unicode)] + [DllImport("kernel32.dll", CharSet = CharSet.Unicode)] [return: MarshalAs(UnmanagedType.Bool)] private static extern bool GetVersionEx(ref OSVERSIONINFOEX osVersionInfo); - #endregion VERSION - #endregion GET - #region OSVERSIONINFOEX - [StructLayout(LayoutKind.Sequential)] + [StructLayout(LayoutKind.Sequential)] private struct OSVERSIONINFOEX { public int dwOSVersionInfoSize; @@ -658,10 +613,8 @@ namespace Greenshot.Helpers public readonly byte wProductType; public readonly byte wReserved; } - #endregion OSVERSIONINFOEX - #region PRODUCT - private const int PRODUCT_UNDEFINED = 0x00000000; + private const int PRODUCT_UNDEFINED = 0x00000000; private const int PRODUCT_ULTIMATE = 0x00000001; private const int PRODUCT_HOME_BASIC = 0x00000002; private const int PRODUCT_HOME_PREMIUM = 0x00000003; @@ -680,13 +633,11 @@ namespace Greenshot.Helpers private const int PRODUCT_BUSINESS_N = 0x00000010; private const int PRODUCT_WEB_SERVER = 0x00000011; private const int PRODUCT_CLUSTER_SERVER = 0x00000012; - private const int PRODUCT_HOME_SERVER = 0x00000013; private const int PRODUCT_STORAGE_EXPRESS_SERVER = 0x00000014; private const int PRODUCT_STORAGE_STANDARD_SERVER = 0x00000015; private const int PRODUCT_STORAGE_WORKGROUP_SERVER = 0x00000016; private const int PRODUCT_STORAGE_ENTERPRISE_SERVER = 0x00000017; private const int PRODUCT_SERVER_FOR_SMALLBUSINESS = 0x00000018; - private const int PRODUCT_SMALLBUSINESS_SERVER_PREMIUM = 0x00000019; private const int PRODUCT_HOME_PREMIUM_N = 0x0000001A; private const int PRODUCT_ENTERPRISE_N = 0x0000001B; private const int PRODUCT_ULTIMATE_N = 0x0000001C; @@ -700,20 +651,15 @@ namespace Greenshot.Helpers private const int PRODUCT_STANDARD_SERVER_CORE_V = 0x00000028; private const int PRODUCT_ENTERPRISE_SERVER_CORE_V = 0x00000029; private const int PRODUCT_HYPERV = 0x0000002A; - #endregion PRODUCT - #region VERSIONS - private const int VER_NT_WORKSTATION = 1; + private const int VER_NT_WORKSTATION = 1; private const int VER_NT_SERVER = 3; private const int VER_SUITE_ENTERPRISE = 2; private const int VER_SUITE_DATACENTER = 128; private const int VER_SUITE_PERSONAL = 512; private const int VER_SUITE_BLADE = 1024; - #endregion VERSIONS - #endregion PINVOKE - #region SERVICE PACK - /// + /// /// Gets the service pack information of the operating system running on this computer. /// public static string ServicePack @@ -735,20 +681,13 @@ namespace Greenshot.Helpers return servicePack; } } - #endregion SERVICE PACK - #region VERSION - #region BUILD - /// + /// /// Gets the build version number of the operating system running on this computer. /// public static int BuildVersion => Environment.OSVersion.Version.Build; - #endregion BUILD - - #region FULL - #region STRING - /// + /// /// Gets the full version string of the operating system running on this computer. /// public static string VersionString @@ -758,10 +697,8 @@ namespace Greenshot.Helpers return string.Format("{0}.{1} build {3} revision {2:X}", Environment.OSVersion.Version.Major, Environment.OSVersion.Version.Minor, Environment.OSVersion.Version.Revision, Environment.OSVersion.Version.Build); } } - #endregion STRING - #region VERSION - /// + /// /// Gets the full version of the operating system running on this computer. /// public static Version Version @@ -771,11 +708,8 @@ namespace Greenshot.Helpers return Environment.OSVersion.Version; } } - #endregion VERSION - #endregion FULL - #region MAJOR - /// + /// /// Gets the major version number of the operating system running on this computer. /// public static int MajorVersion @@ -785,10 +719,8 @@ namespace Greenshot.Helpers return Environment.OSVersion.Version.Major; } } - #endregion MAJOR - #region MINOR - /// + /// /// Gets the minor version number of the operating system running on this computer. /// public static int MinorVersion @@ -798,10 +730,8 @@ namespace Greenshot.Helpers return Environment.OSVersion.Version.Minor; } } - #endregion MINOR - #region REVISION - /// + /// /// Gets the revision version number of the operating system running on this computer. /// public static int RevisionVersion @@ -811,7 +741,5 @@ namespace Greenshot.Helpers return Environment.OSVersion.Version.Revision; } } - #endregion REVISION - #endregion VERSION - } + } } \ No newline at end of file diff --git a/Greenshot/Helpers/GeometryHelper.cs b/Greenshot/Helpers/GeometryHelper.cs index 56b6a5381..d8f2dd3fd 100644 --- a/Greenshot/Helpers/GeometryHelper.cs +++ b/Greenshot/Helpers/GeometryHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/GuiRectangle.cs b/Greenshot/Helpers/GuiRectangle.cs index b7af60ec0..770874e78 100644 --- a/Greenshot/Helpers/GuiRectangle.cs +++ b/Greenshot/Helpers/GuiRectangle.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/IECaptureHelper.cs b/Greenshot/Helpers/IECaptureHelper.cs index b7440825b..b9183d7e9 100644 --- a/Greenshot/Helpers/IECaptureHelper.cs +++ b/Greenshot/Helpers/IECaptureHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -192,8 +192,7 @@ namespace Greenshot.Helpers { } Log.DebugFormat("Trying WM_HTML_GETOBJECT on {0}", ieServer.ClassName); - UIntPtr response; - User32.SendMessageTimeout(ieServer.Handle, windowMessage, IntPtr.Zero, IntPtr.Zero, SendMessageTimeoutFlags.SMTO_NORMAL, 5000, out response); + User32.SendMessageTimeout(ieServer.Handle, windowMessage, IntPtr.Zero, IntPtr.Zero, SendMessageTimeoutFlags.SMTO_NORMAL, 5000, out var response); IHTMLDocument2 document2; if (response != UIntPtr.Zero) { document2 = (IHTMLDocument2)Accessible.ObjectFromLresult(response, typeof(IHTMLDocument).GUID, IntPtr.Zero); @@ -560,11 +559,11 @@ namespace Greenshot.Helpers { DrawDocument(documentContainer, contentWindowDetails, graphicsTarget); // Loop over the frames and clear their source area so we don't see any artefacts - foreach(DocumentContainer frameDocument in documentContainer.Frames) { - using(Brush brush = new SolidBrush(clearColor)) { - graphicsTarget.FillRectangle(brush, frameDocument.SourceRectangle); - } - } + foreach(DocumentContainer frameDocument in documentContainer.Frames) + { + using Brush brush = new SolidBrush(clearColor); + graphicsTarget.FillRectangle(brush, frameDocument.SourceRectangle); + } // Loop over the frames and capture their content foreach(DocumentContainer frameDocument in documentContainer.Frames) { DrawDocument(frameDocument, contentWindowDetails, graphicsTarget); diff --git a/Greenshot/Helpers/IEInterop/IEContainer.cs b/Greenshot/Helpers/IEInterop/IEContainer.cs index f0c3de49f..a91ecea32 100644 --- a/Greenshot/Helpers/IEInterop/IEContainer.cs +++ b/Greenshot/Helpers/IEInterop/IEContainer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -308,10 +308,9 @@ namespace Greenshot.Helpers.IEInterop { IServiceProvider sp = (IServiceProvider)htmlWindow; // Use IServiceProvider.QueryService to get IWebBrowser2 object. - object brws; - Guid webBrowserApp = IID_IWebBrowserApp; + Guid webBrowserApp = IID_IWebBrowserApp; Guid webBrowser2 = IID_IWebBrowser2; - sp.QueryService(ref webBrowserApp, ref webBrowser2, out brws); + sp.QueryService(ref webBrowserApp, ref webBrowser2, out var brws); // Get the document from IWebBrowser2. IWebBrowser2 browser = (IWebBrowser2)brws; diff --git a/Greenshot/Helpers/MailHelper.cs b/Greenshot/Helpers/MailHelper.cs index f2dfbbfd9..7d28605e0 100644 --- a/Greenshot/Helpers/MailHelper.cs +++ b/Greenshot/Helpers/MailHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -37,9 +37,8 @@ namespace Greenshot.Helpers { /// Datum: 10.03.2006 /// Available from here /// - #region Public MapiMailMessage Class - /// + /// /// Represents an email message to be sent through MAPI. /// public class MapiMailMessage : IDisposable { @@ -51,21 +50,21 @@ namespace Greenshot.Helpers { /// /// Path to file /// - public static void SendImage(string fullPath, string title) { - using (MapiMailMessage message = new MapiMailMessage(title, null)) { - message.Files.Add(fullPath); - if (!string.IsNullOrEmpty(CoreConfig.MailApiTo)) { - message.Recipients.Add(new Recipient(CoreConfig.MailApiTo, RecipientType.To)); - } - if (!string.IsNullOrEmpty(CoreConfig.MailApiCC)) { - message.Recipients.Add(new Recipient(CoreConfig.MailApiCC, RecipientType.CC)); - } - if (!string.IsNullOrEmpty(CoreConfig.MailApiBCC)) { - message.Recipients.Add(new Recipient(CoreConfig.MailApiBCC, RecipientType.BCC)); - } - message.ShowDialog(); - } - } + public static void SendImage(string fullPath, string title) + { + using MapiMailMessage message = new MapiMailMessage(title, null); + message.Files.Add(fullPath); + if (!string.IsNullOrEmpty(CoreConfig.MailApiTo)) { + message.Recipients.Add(new Recipient(CoreConfig.MailApiTo, RecipientType.To)); + } + if (!string.IsNullOrEmpty(CoreConfig.MailApiCC)) { + message.Recipients.Add(new Recipient(CoreConfig.MailApiCC, RecipientType.CC)); + } + if (!string.IsNullOrEmpty(CoreConfig.MailApiBCC)) { + message.Recipients.Add(new Recipient(CoreConfig.MailApiBCC, RecipientType.BCC)); + } + message.ShowDialog(); + } /// @@ -91,9 +90,8 @@ namespace Greenshot.Helpers { WindowDetails.ActiveNewerWindows(windowsBefore); } } - #region Private MapiFileDescriptor Class - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] private class MapiFileDescriptor { public int reserved = 0; public int flags = 0; @@ -103,11 +101,7 @@ namespace Greenshot.Helpers { public IntPtr type = IntPtr.Zero; } - #endregion Private MapiFileDescriptor Class - - #region Enums - - /// + /// /// Specifies the valid RecipientTypes for a Recipient. /// public enum RecipientType @@ -128,17 +122,9 @@ namespace Greenshot.Helpers { BCC = 3 }; - #endregion Enums + private readonly ManualResetEvent _manualResetEvent; - #region Member Variables - - private readonly ManualResetEvent _manualResetEvent; - - #endregion Member Variables - - #region Constructors - - /// + /// /// Creates a blank mail message. /// public MapiMailMessage() { @@ -162,11 +148,7 @@ namespace Greenshot.Helpers { Body = body; } - #endregion Constructors - - #region Public Properties - - /// + /// /// Gets or sets the subject of this mail message. /// public string Subject { get; set; } @@ -186,11 +168,7 @@ namespace Greenshot.Helpers { /// public List Files { get; } - #endregion Public Properties - - #region Public Methods - - /// + /// /// Displays the mail message dialog asynchronously. /// public void ShowDialog() { @@ -213,11 +191,7 @@ namespace Greenshot.Helpers { GC.SuppressFinalize(this); } - #endregion Public Methods - - #region Private Methods - - protected virtual void Dispose(bool disposing) { + protected virtual void Dispose(bool disposing) { if (!disposing) { return; } @@ -230,49 +204,48 @@ namespace Greenshot.Helpers { private void _ShowMail() { var message = new MapiHelperInterop.MapiMessage(); - using (var interopRecipients = Recipients.GetInteropRepresentation()) { - message.Subject = Subject; - message.NoteText = Body; + using var interopRecipients = Recipients.GetInteropRepresentation(); + message.Subject = Subject; + message.NoteText = Body; - message.Recipients = interopRecipients.Handle; - message.RecipientCount = Recipients.Count; + message.Recipients = interopRecipients.Handle; + message.RecipientCount = Recipients.Count; - // Check if we need to add attachments - if (Files.Count > 0) { - // Add attachments - message.Files = _AllocAttachments(out message.FileCount); - } + // Check if we need to add attachments + if (Files.Count > 0) { + // Add attachments + message.Files = _AllocAttachments(out message.FileCount); + } - // Signal the creating thread (make the remaining code async) - _manualResetEvent.Set(); + // Signal the creating thread (make the remaining code async) + _manualResetEvent.Set(); - const int MAPI_DIALOG = 0x8; - //const int MAPI_LOGON_UI = 0x1; - int error = MapiHelperInterop.MAPISendMail(IntPtr.Zero, IntPtr.Zero, message, MAPI_DIALOG, 0); + const int MAPI_DIALOG = 0x8; + //const int MAPI_LOGON_UI = 0x1; + int error = MapiHelperInterop.MAPISendMail(IntPtr.Zero, IntPtr.Zero, message, MAPI_DIALOG, 0); - if (Files.Count > 0) { - // Deallocate the files - _DeallocFiles(message); - } - MAPI_CODES errorCode = (MAPI_CODES)Enum.ToObject(typeof(MAPI_CODES), error); + if (Files.Count > 0) { + // Deallocate the files + _DeallocFiles(message); + } + MAPI_CODES errorCode = (MAPI_CODES)Enum.ToObject(typeof(MAPI_CODES), error); - // Check for error - if (errorCode == MAPI_CODES.SUCCESS || errorCode == MAPI_CODES.USER_ABORT) - { - return; - } - string errorText = GetMapiError(errorCode); - Log.Error("Error sending MAPI Email. Error: " + errorText + " (code = " + errorCode + ")."); - MessageBox.Show(errorText, "Mail (MAPI) destination", MessageBoxButtons.OK, MessageBoxIcon.Error); - // Recover from bad settings, show again - if (errorCode != MAPI_CODES.INVALID_RECIPS) - { - return; - } - Recipients = new RecipientCollection(); - _ShowMail(); - } - } + // Check for error + if (errorCode == MAPI_CODES.SUCCESS || errorCode == MAPI_CODES.USER_ABORT) + { + return; + } + string errorText = GetMapiError(errorCode); + Log.Error("Error sending MAPI Email. Error: " + errorText + " (code = " + errorCode + ")."); + MessageBox.Show(errorText, "Mail (MAPI) destination", MessageBoxButtons.OK, MessageBoxIcon.Error); + // Recover from bad settings, show again + if (errorCode != MAPI_CODES.INVALID_RECIPS) + { + return; + } + Recipients = new RecipientCollection(); + _ShowMail(); + } /// /// Deallocates the files in a message. @@ -452,29 +425,20 @@ namespace Greenshot.Helpers { } return error; } - #endregion Private Methods - #region Private MAPIHelperInterop Class - - /// + /// /// Internal class for calling MAPI APIs /// internal class MapiHelperInterop { - #region Constructors - - /// + /// /// Private constructor. /// private MapiHelperInterop() { // Intenationally blank } - #endregion Constructors - - #region Structs - - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] public class MapiMessage { public int Reserved = 0; public string Subject; @@ -502,24 +466,14 @@ namespace Greenshot.Helpers { [DllImport("MAPI32.DLL", SetLastError = true, CharSet=CharSet.Ansi)] public static extern int MAPISendMail(IntPtr session, IntPtr hwnd, MapiMessage message, int flg, int rsv); + } + } - #endregion Structs - } - - #endregion Private MAPIHelperInterop Class - } - - #endregion Public MapiMailMessage Class - - #region Public Recipient Class - - /// + /// /// Represents a Recipient for a MapiMailMessage. /// public class Recipient { - #region Public Properties - - /// + /// /// The email address of this recipient. /// public string Address; @@ -534,11 +488,7 @@ namespace Greenshot.Helpers { /// public MapiMailMessage.RecipientType RecipientType = MapiMailMessage.RecipientType.To; - #endregion Public Properties - - #region Constructors - - /// + /// /// Creates a new recipient with the specified address. /// public Recipient(string address) { @@ -570,11 +520,7 @@ namespace Greenshot.Helpers { RecipientType = recipientType; } - #endregion Constructors - - #region Internal Methods - - /// + /// /// Returns an interop representation of a recepient. /// /// @@ -592,15 +538,9 @@ namespace Greenshot.Helpers { return interop; } + } - #endregion Internal Methods - } - - #endregion Public Recipient Class - - #region Public RecipientCollection Class - - /// + /// /// Represents a colleciton of recipients for a mail message. /// public class RecipientCollection : CollectionBase { @@ -652,15 +592,9 @@ namespace Greenshot.Helpers { /// Struct which contains an interop representation of a colleciton of recipients. /// internal struct InteropRecipientCollection : IDisposable { - #region Member Variables + private int _count; - private int _count; - - #endregion Member Variables - - #region Constructors - - /// + /// /// Default constructor for creating InteropRecipientCollection. /// /// @@ -687,17 +621,9 @@ namespace Greenshot.Helpers { } } - #endregion Costructors + public IntPtr Handle { get; private set; } - #region Public Properties - - public IntPtr Handle { get; private set; } - - #endregion Public Properties - - #region Public Methods - - /// + /// /// Disposes of resources. /// public void Dispose() { @@ -719,10 +645,6 @@ namespace Greenshot.Helpers { _count = 0; } } - - #endregion Public Methods - } + } } - - #endregion Public RecipientCollection Class } \ No newline at end of file diff --git a/Greenshot/Helpers/PluginHelper.cs b/Greenshot/Helpers/PluginHelper.cs index ed4adc649..49c9ceef9 100644 --- a/Greenshot/Helpers/PluginHelper.cs +++ b/Greenshot/Helpers/PluginHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -42,9 +42,8 @@ namespace Greenshot.Helpers { private static readonly string ApplicationPath = Path.GetDirectoryName(Application.ExecutablePath); private static readonly string PafPath = Path.Combine(Application.StartupPath, @"App\Greenshot"); private static readonly IDictionary plugins = new SortedDictionary(); - private static readonly PluginHelper instance = new PluginHelper(); - public static PluginHelper Instance => instance; + public static PluginHelper Instance { get; } = new PluginHelper(); private PluginHelper() { PluginUtils.Host = this; @@ -103,9 +102,7 @@ namespace Greenshot.Helpers { plugin.Configure(); } - #region Implementation of IGreenshotPluginHost - - /// + /// /// Create a Thumbnail /// /// Image of which we need a Thumbnail @@ -173,10 +170,8 @@ namespace Greenshot.Helpers { }; return capture; } - #endregion - #region Plugin loading - public PluginAttribute FindPlugin(string name) { + public PluginAttribute FindPlugin(string name) { foreach(PluginAttribute pluginAttribute in plugins.Keys) { if (name.Equals(pluginAttribute.Name)) { return pluginAttribute; @@ -185,7 +180,7 @@ namespace Greenshot.Helpers { return null; } - private bool isNewer(string version1, string version2) { + private bool IsNewer(string version1, string version2) { string [] version1Parts = version1.Split('.'); string [] version2Parts = version2.Split('.'); int parts = Math.Min(version1Parts.Length, version2Parts.Length); @@ -207,10 +202,10 @@ namespace Greenshot.Helpers { /// /// /// - private void findPluginsOnPath(List pluginFiles, string path) { + private void FindPluginsOnPath(List pluginFiles, string path) { if (Directory.Exists(path)) { try { - foreach (string pluginFile in Directory.GetFiles(path, "*.gsp", SearchOption.AllDirectories)) { + foreach (string pluginFile in Directory.GetFiles(path, "*Plugin.dll", SearchOption.AllDirectories)) { pluginFiles.Add(pluginFile); } } catch (UnauthorizedAccessException) { @@ -227,10 +222,10 @@ namespace Greenshot.Helpers { List pluginFiles = new List(); if (IniConfig.IsPortable) { - findPluginsOnPath(pluginFiles, PafPath); + FindPluginsOnPath(pluginFiles, PafPath); } else { - findPluginsOnPath(pluginFiles, PluginPath); - findPluginsOnPath(pluginFiles, ApplicationPath); + FindPluginsOnPath(pluginFiles, PluginPath); + FindPluginsOnPath(pluginFiles, ApplicationPath); } Dictionary tmpAttributes = new Dictionary(); @@ -271,7 +266,7 @@ namespace Greenshot.Helpers { if (checkPluginAttribute != null) { Log.WarnFormat("Duplicate plugin {0} found", pluginAttribute.Name); - if (isNewer(pluginAttribute.Version, checkPluginAttribute.Version)) { + if (IsNewer(pluginAttribute.Version, checkPluginAttribute.Version)) { // Found is newer tmpAttributes[pluginAttribute.Name] = pluginAttribute; tmpAssemblies[pluginAttribute.Name] = assembly; @@ -330,6 +325,5 @@ namespace Greenshot.Helpers { } } } - #endregion - } + } } diff --git a/Greenshot/Helpers/PrintHelper.cs b/Greenshot/Helpers/PrintHelper.cs index ad10d48d1..a78060f67 100644 --- a/Greenshot/Helpers/PrintHelper.cs +++ b/Greenshot/Helpers/PrintHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -143,11 +143,11 @@ namespace Greenshot.Helpers { /// result of the print dialog, or null if the dialog has not been displayed by config private DialogResult? ShowPrintOptionsDialog() { DialogResult? ret = null; - if (CoreConfig.OutputPrintPromptOptions) { - using (PrintOptionsDialog printOptionsDialog = new PrintOptionsDialog()) { - ret = printOptionsDialog.ShowDialog(); - } - } + if (CoreConfig.OutputPrintPromptOptions) + { + using PrintOptionsDialog printOptionsDialog = new PrintOptionsDialog(); + ret = printOptionsDialog.ShowDialog(); + } return ret; } @@ -159,8 +159,7 @@ namespace Greenshot.Helpers { ApplyEffects(printOutputSettings); - Image image; - bool disposeImage = ImageOutput.CreateImageFromSurface(_surface, printOutputSettings, out image); + bool disposeImage = ImageOutput.CreateImageFromSurface(_surface, printOutputSettings, out var image); try { ContentAlignment alignment = CoreConfig.OutputPrintCenter ? ContentAlignment.MiddleCenter : ContentAlignment.TopLeft; @@ -170,11 +169,10 @@ namespace Greenshot.Helpers { string footerString = null; //DateTime.Now.ToLongDateString() + " " + DateTime.Now.ToLongTimeString(); if (CoreConfig.OutputPrintFooter) { footerString = FilenameHelper.FillPattern(CoreConfig.OutputPrintFooterPattern, _captureDetails, false); - using (Font f = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Regular)) { - footerStringWidth = e.Graphics.MeasureString(footerString, f).Width; - footerStringHeight = e.Graphics.MeasureString(footerString, f).Height; - } - } + using Font f = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Regular); + footerStringWidth = e.Graphics.MeasureString(footerString, f).Width; + footerStringHeight = e.Graphics.MeasureString(footerString, f).Height; + } // Get a rectangle representing the printable Area RectangleF pageRect = e.PageSettings.PrintableArea; @@ -211,12 +209,12 @@ namespace Greenshot.Helpers { // align the image printRect = ScaleHelper.GetAlignedRectangle(printRect, new RectangleF(0, 0, pageRect.Width, pageRect.Height), alignment); - if (CoreConfig.OutputPrintFooter) { - //printRect = new RectangleF(0, 0, printRect.Width, printRect.Height - (dateStringHeight * 2)); - using (Font f = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Regular)) { - e.Graphics.DrawString(footerString, f, Brushes.Black, pageRect.Width / 2 - footerStringWidth / 2, pageRect.Height); - } - } + if (CoreConfig.OutputPrintFooter) + { + //printRect = new RectangleF(0, 0, printRect.Width, printRect.Height - (dateStringHeight * 2)); + using Font f = new Font(FontFamily.GenericSansSerif, 10, FontStyle.Regular); + e.Graphics.DrawString(footerString, f, Brushes.Black, pageRect.Width / 2 - footerStringWidth / 2, pageRect.Height); + } e.Graphics.DrawImage(image, printRect, imageRect, GraphicsUnit.Pixel); } finally { diff --git a/Greenshot/Helpers/ProcessorHelper.cs b/Greenshot/Helpers/ProcessorHelper.cs index dcd1a74e9..b8a83ed3d 100644 --- a/Greenshot/Helpers/ProcessorHelper.cs +++ b/Greenshot/Helpers/ProcessorHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/ResourceMutex.cs b/Greenshot/Helpers/ResourceMutex.cs index ae5e12bc6..17815dcb3 100644 --- a/Greenshot/Helpers/ResourceMutex.cs +++ b/Greenshot/Helpers/ResourceMutex.cs @@ -19,16 +19,12 @@ // You should have Config a copy of the GNU Lesser General Public License // along with Dapplo.Addons. If not, see . -#region using - using log4net; using System; using System.Security.AccessControl; using System.Security.Principal; using System.Threading; -#endregion - namespace Greenshot.Helpers { /// @@ -91,9 +87,8 @@ namespace Greenshot.Helpers mutexsecurity.AddAccessRule(new MutexAccessRule(sid, MutexRights.ChangePermissions, AccessControlType.Deny)); mutexsecurity.AddAccessRule(new MutexAccessRule(sid, MutexRights.Delete, AccessControlType.Deny)); - bool createdNew; - // 1) Create Mutex - _applicationMutex = new Mutex(true, _mutexId, out createdNew, mutexsecurity); + // 1) Create Mutex + _applicationMutex = new Mutex(true, _mutexId, out var createdNew, mutexsecurity); // 2) if the mutex wasn't created new get the right to it, this returns false if it's already locked if (!createdNew && !_applicationMutex.WaitOne(100, false)) { @@ -130,9 +125,7 @@ namespace Greenshot.Helpers return IsLocked; } - #region IDisposable Support - - // To detect redundant Dispose calls + // To detect redundant Dispose calls private bool _disposedValue; /// @@ -179,7 +172,5 @@ namespace Greenshot.Helpers Dispose(true); GC.SuppressFinalize(this); } - - #endregion - } + } } \ No newline at end of file diff --git a/Greenshot/Helpers/ScaleHelper.cs b/Greenshot/Helpers/ScaleHelper.cs index a946c012c..b7c7b1d62 100644 --- a/Greenshot/Helpers/ScaleHelper.cs +++ b/Greenshot/Helpers/ScaleHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/SoundHelper.cs b/Greenshot/Helpers/SoundHelper.cs index 581a18051..e3dd5a41c 100644 --- a/Greenshot/Helpers/SoundHelper.cs +++ b/Greenshot/Helpers/SoundHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/StartupHelper.cs b/Greenshot/Helpers/StartupHelper.cs index 4944d4dee..9e5e4461b 100644 --- a/Greenshot/Helpers/StartupHelper.cs +++ b/Greenshot/Helpers/StartupHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -160,11 +160,11 @@ namespace Greenshot.Helpers { { return; } - try { - using (var key = Registry.LocalMachine.OpenSubKey(RunKey, true)) { - key?.DeleteValue(ApplicationName); - } - } catch (Exception e) { + try + { + using var key = Registry.LocalMachine.OpenSubKey(RunKey, true); + key?.DeleteValue(ApplicationName); + } catch (Exception e) { Log.Error("Error in deleteRunAll.", e); } try @@ -174,10 +174,10 @@ namespace Greenshot.Helpers { { return; } - using (var key = Registry.LocalMachine.OpenSubKey(RunKey6432, false)) { - key?.DeleteValue(ApplicationName); - } - } catch (Exception e) { + + using var key = Registry.LocalMachine.OpenSubKey(RunKey6432, false); + key?.DeleteValue(ApplicationName); + } catch (Exception e) { Log.Error("Error in deleteRunAll.", e); } } @@ -190,11 +190,11 @@ namespace Greenshot.Helpers { { return; } - try { - using (var key = Registry.CurrentUser.OpenSubKey(RunKey, true)) { - key?.DeleteValue(ApplicationName); - } - } catch (Exception e) { + try + { + using var key = Registry.CurrentUser.OpenSubKey(RunKey, true); + key?.DeleteValue(ApplicationName); + } catch (Exception e) { Log.Error("Error in deleteRunUser.", e); } try @@ -204,10 +204,10 @@ namespace Greenshot.Helpers { { return; } - using (var key = Registry.CurrentUser.OpenSubKey(RunKey6432, false)) { - key?.DeleteValue(ApplicationName); - } - } catch (Exception e) { + + using var key = Registry.CurrentUser.OpenSubKey(RunKey6432, false); + key?.DeleteValue(ApplicationName); + } catch (Exception e) { Log.Error("Error in deleteRunUser.", e); } } @@ -216,12 +216,11 @@ namespace Greenshot.Helpers { /// Set the RUN key for the current user /// public static void SetRunUser() { - try { - using (var key = Registry.CurrentUser.OpenSubKey(RunKey, true)) - { - key?.SetValue(ApplicationName, GetExecutablePath()); - } - } catch (Exception e) { + try + { + using var key = Registry.CurrentUser.OpenSubKey(RunKey, true); + key?.SetValue(ApplicationName, GetExecutablePath()); + } catch (Exception e) { Log.Error("Error in setRunUser.", e); } } diff --git a/Greenshot/Helpers/ToolStripItemEndisabler.cs b/Greenshot/Helpers/ToolStripItemEndisabler.cs index dc62f4cc7..268a8d2b2 100644 --- a/Greenshot/Helpers/ToolStripItemEndisabler.cs +++ b/Greenshot/Helpers/ToolStripItemEndisabler.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/UpdateHelper.cs b/Greenshot/Helpers/UpdateHelper.cs index 28c522c18..3833414e6 100644 --- a/Greenshot/Helpers/UpdateHelper.cs +++ b/Greenshot/Helpers/UpdateHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Helpers/WindowWrapper.cs b/Greenshot/Helpers/WindowWrapper.cs index 63cb51e81..1fde215e0 100644 --- a/Greenshot/Helpers/WindowWrapper.cs +++ b/Greenshot/Helpers/WindowWrapper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Languages/language-ca-CA.xml b/Greenshot/Languages/language-ca-CA.xml index df48b4bc3..374d58705 100644 --- a/Greenshot/Languages/language-ca-CA.xml +++ b/Greenshot/Languages/language-ca-CA.xml @@ -5,7 +5,7 @@ Si Greenshot us agrada , us agrairem que ens ajudeu: Greenshot s'allotja a sourceforge.net Icones del conjunt d'icones Fugue de Yusuke Kamiyamane(Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot s'ofereix SENSE CAP GARANTIA. Aquest és un programari gratuït, i podeu redistribuir-lo amb algunes condicions. Detalls sobre la Llicència General Publica GNU: Quant a Greenshot diff --git a/Greenshot/Languages/language-el-GR.xml b/Greenshot/Languages/language-el-GR.xml index e248a55f3..732b54f0c 100644 --- a/Greenshot/Languages/language-el-GR.xml +++ b/Greenshot/Languages/language-el-GR.xml @@ -5,7 +5,7 @@ Αν σας αρέσει το Greenshot, είστε ευπρόσδεκτοι να μας υποστηρίξετε: Το Greenshot φιλοξενείται από τη GitHub: Εικονίδια από Yusuke Kamiyamane's Fugue icon set (Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Δεν παρέχεται ΚΑΜΙΑ ΕΓΓΥΗΣΗ για το Greenshot. Είναι ελεύθερο λογισμικό. Είστε ελεύθεροι να το αναδιανείμετε κάτω από ορισμένες συνθήκες. Λεπτομέρειες σχετικά με την GNU General Public License: Πληροφορίες για το Greenshot diff --git a/Greenshot/Languages/language-en-US.xml b/Greenshot/Languages/language-en-US.xml index 41e990728..f2f2e1137 100644 --- a/Greenshot/Languages/language-en-US.xml +++ b/Greenshot/Languages/language-en-US.xml @@ -5,7 +5,7 @@ If you like Greenshot, you are welcome to support us: Greenshot is hosted by GitHub at Icons from Yusuke Kamiyamane's Fugue icon set (Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Details about the GNU General Public License: About Greenshot diff --git a/Greenshot/Languages/language-es-ES.xml b/Greenshot/Languages/language-es-ES.xml index 190e1f832..22d44abf5 100644 --- a/Greenshot/Languages/language-es-ES.xml +++ b/Greenshot/Languages/language-es-ES.xml @@ -5,7 +5,7 @@ Si te gusta Greenshot, te agradeceremos que nos ayudes: Greenshot está alojado en GitHub en Iconos del conjunto de iconos Fugue de Yusuke Kamiyamane(Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot viene ABSOLUTAMENTE SIN GARANTIA. Este es software gratuito, y eres bienvenido a redistribuirlo bajo ciertas condiciones. Detalles acerca de la Licencia General Publica GNU: Acerca de Greenshot diff --git a/Greenshot/Languages/language-fi-FI.xml b/Greenshot/Languages/language-fi-FI.xml index 88384f60e..13a01263c 100644 --- a/Greenshot/Languages/language-fi-FI.xml +++ b/Greenshot/Languages/language-fi-FI.xml @@ -5,7 +5,7 @@ Jos pidät Greenshotista niin toivottavasti tuet meitä: Greenshot is hosted by GitHub at Ikonit ovat Yusuke Kamiyamane:n Fugue ikonisarjasta (Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Details about the GNU General Public License: Tietoja Greenshotista diff --git a/Greenshot/Languages/language-fr-FR.xml b/Greenshot/Languages/language-fr-FR.xml index 0a6ff34a5..26349708d 100644 --- a/Greenshot/Languages/language-fr-FR.xml +++ b/Greenshot/Languages/language-fr-FR.xml @@ -5,7 +5,7 @@ Si vous aimez Greenshot, vous pouvez nous soutenir : Greenshot est hébergé par GitHub à Icônes provenant du lot d'icônes Fugue de Kamiyamane Yuusuke (Creative Commons Attribution 3.0 license) - Copyright © 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright © 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot vous est fourni SANS AUCUNE GARANTIE. C'est un logiciel gratuit que vous êtes libres de redistribuer sous certaines conditions. Détails de la GNU General Public License : À propos de Greenshot diff --git a/Greenshot/Languages/language-he-IL.xml b/Greenshot/Languages/language-he-IL.xml index b8e219bf0..10f5a3c31 100644 --- a/Greenshot/Languages/language-he-IL.xml +++ b/Greenshot/Languages/language-he-IL.xml @@ -5,7 +5,7 @@ :אם את\ה נהנה\ית משימוש בתוכנה, את\ה מוזמן לתרום לנו Greenshot is hosted by GitHub at Icons from Yusuke Kamiyamane's Fugue icon set (Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. Details about the GNU General Public License: Greenshot אודות התוכנה diff --git a/Greenshot/Languages/language-it-IT.xml b/Greenshot/Languages/language-it-IT.xml index 5e7243f54..58c8d11de 100644 --- a/Greenshot/Languages/language-it-IT.xml +++ b/Greenshot/Languages/language-it-IT.xml @@ -5,7 +5,7 @@ Se gradisci Greenshot, puoi darci il tuo aiuto su: Greenshot è disponibile su GitHub a Icone prese da Yusuke Kamiyamane's Fugue icon set (Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot viene fornito SENZA ALCUNA GARANZIA. Questo è "free software", e potete ri-distribuirlo secondo certe condizioni. Dettagli sulla General Public License GNU: Notizie su Greenshot diff --git a/Greenshot/Languages/language-ja-JP.xml b/Greenshot/Languages/language-ja-JP.xml index 9e0c1ad84..2111930ad 100644 --- a/Greenshot/Languages/language-ja-JP.xml +++ b/Greenshot/Languages/language-ja-JP.xml @@ -5,7 +5,7 @@ Greenshot がお気に召したなら、是非支援をお願いします : Greenshot は GitHub によって運営されています : 上山根 祐輔氏の Fugue Icons を使用しています (Creative Commons Attribution 3.0 license) : - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot には一切の保障がありません。GNU General Public License に定められた条件下で再配布をおこなうことができます。: Greenshot について Greenshot - the revolutionary screenshot utility diff --git a/Greenshot/Languages/language-pl-PL.xml b/Greenshot/Languages/language-pl-PL.xml index 6b394c750..ea6e96b0a 100644 --- a/Greenshot/Languages/language-pl-PL.xml +++ b/Greenshot/Languages/language-pl-PL.xml @@ -5,7 +5,7 @@ Jeśli podoba Ci się Greenshot, chętnie przyjmiemy Twoje wsparcie: Greenshot jest utrzymywany przez GitHub pod adresem: Ikony z zestawu Fugue od Yusuke Kamiyamane (licencja Creative Commons Attribution 3.0): - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot nie jest objęty JAKĄKOLWIEK GWARANCJĄ. Jako wolne oprogramowanie może być rozpowszechniany na określonych warunkach. Szczegóły na temat Powszechnej Licencji Publicznej GNU: O Greenshot diff --git a/Greenshot/Languages/language-pt-BR.xml b/Greenshot/Languages/language-pt-BR.xml index dea43a9b8..efeee419a 100644 --- a/Greenshot/Languages/language-pt-BR.xml +++ b/Greenshot/Languages/language-pt-BR.xml @@ -5,7 +5,7 @@ Se você gostou do Greenshot, por favor contribua: O Greenshot está armazenado no GitHub em Ícones de Yusuke Kamiyamane (Biblioteca Fugue, licença "Creative Commons Attribution 3.0") - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom O Greenshot não tem NENHUMA GARANTIA. Este software gratuito pode ser redistribuido sob algumas condições. Detalhes sobre a licença GNU: Sobre o Greenshot diff --git a/Greenshot/Languages/language-pt-PT.xml b/Greenshot/Languages/language-pt-PT.xml index 8792f399f..8e53f804b 100644 --- a/Greenshot/Languages/language-pt-PT.xml +++ b/Greenshot/Languages/language-pt-PT.xml @@ -5,7 +5,7 @@ Se gostou do Greenshot, por favor contribua: O Greenshot está armazenado no GitHub em Ícones da colecção Fugue de Yusuke Kamiyamane (Licença "Creative Commons Attribution 3.0") - Direitos de Autor (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Direitos de Autor (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom O Greenshot não tem NENHUMA GARANTIA. Este software gratuito pode ser redistribuído sob algumas condições. Detalhes sobre a licença GNU: Acerca do Greenshot diff --git a/Greenshot/Languages/language-sk-SK.xml b/Greenshot/Languages/language-sk-SK.xml index 53e0e8a9f..47ed2b116 100644 --- a/Greenshot/Languages/language-sk-SK.xml +++ b/Greenshot/Languages/language-sk-SK.xml @@ -5,7 +5,7 @@ Ak se vám Greenshot páči, uvítame vašu podporu: Greenshot je na GitHub Ikony z Yusuke Kamiyamane's Fugue icon set (Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot je ÚPLNE BEZ ZÁRUKY. Toto je FREE software, a môžete ho distribuovať za určitých podmienok. Podrobnosti o GNU General Public License: O Greenshote diff --git a/Greenshot/Languages/language-sv-SE.xml b/Greenshot/Languages/language-sv-SE.xml index f0ae0679c..dedd0b5ef 100644 --- a/Greenshot/Languages/language-sv-SE.xml +++ b/Greenshot/Languages/language-sv-SE.xml @@ -5,7 +5,7 @@ Om du gillar Greenshot, så är du välkommen att stödja oss: Greenshots hemsida tillhandahålls av GitHub på Ikoner från "Yusuke Kamiyamane's Fugue icon set" (Creative Commons Attribution 3.0 license) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot lämnar ABSOLUT INGA GARANTIER. Detta är ett gratisprogram, och du får vidaredistribuera programmet under vissa villkor. Detaljer om "GNU General Public License": Om Greenshot diff --git a/Greenshot/Languages/language-tr-TR.xml b/Greenshot/Languages/language-tr-TR.xml index 6cbee3f0c..16c5e94ed 100644 --- a/Greenshot/Languages/language-tr-TR.xml +++ b/Greenshot/Languages/language-tr-TR.xml @@ -5,7 +5,7 @@ Greenshot'ı sevdiyseniz, bizi destekleyin: Greenshot GitHub üzerinde şu adreste barındırılmaktadır: Simgeler Yusuke Kamiyamane'nin Fugue simge setidir (Creative Commons Attribution 3.0 lisansı) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot HİÇ BİR GARANTİ vermez. Serbest bir yazılımdır ve belirli koşullar altında dağıtmakta serbestsiniz. GNU Genel Kamu Lisanslı hakkında daha fazla bilgi için: Greenshot Hakkında diff --git a/Greenshot/Languages/language-uk-UA.xml b/Greenshot/Languages/language-uk-UA.xml index f05ffd078..041d73095 100644 --- a/Greenshot/Languages/language-uk-UA.xml +++ b/Greenshot/Languages/language-uk-UA.xml @@ -5,7 +5,7 @@ Якщо Вам подобається Greenshot, можете підтримати нас: Greenshot розташовується на GitHub Набір піктограм Fugue від Yusuke Kamiyamane (ліцензія Creative Commons Attribution 3.0) - Авторство © 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Авторство © 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot постачається АБСОЛЮТНО БЕЗ ГАРАНТІЇ. Це вільне програмне забезпечення, Ви можете розповсюджувати його за певних умов. Подробиці Загальної Публічної Ліцензії GNU: Про Greenshot diff --git a/Greenshot/Languages/language-zh-TW.xml b/Greenshot/Languages/language-zh-TW.xml index 26b25065b..320db2614 100644 --- a/Greenshot/Languages/language-zh-TW.xml +++ b/Greenshot/Languages/language-zh-TW.xml @@ -5,7 +5,7 @@ 如果您喜歡 Greenshot,歡迎您支持我們: Greenshot 的主機在 GitHub 網址是 圖片來源: Yusuke Kamiyamane's Fugue 圖示集 (Creative Commons Attribution 3.0 授權) - Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom Greenshot 不對這個程式做任何擔保。 這個程式是自由軟體,您可以在 GNU General Public License 下任意散佈本軟體。 關於GNU General Public License 詳細資料: 關於 Greenshot diff --git a/Greenshot/Lib/log4net.dll b/Greenshot/Lib/log4net.dll deleted file mode 100644 index 53d65f10b..000000000 Binary files a/Greenshot/Lib/log4net.dll and /dev/null differ diff --git a/Greenshot/Memento/AddElementMemento.cs b/Greenshot/Memento/AddElementMemento.cs index ff7aac4d1..73b72677a 100644 --- a/Greenshot/Memento/AddElementMemento.cs +++ b/Greenshot/Memento/AddElementMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Memento/AddElementsMemento.cs b/Greenshot/Memento/AddElementsMemento.cs index b28543512..192a96968 100644 --- a/Greenshot/Memento/AddElementsMemento.cs +++ b/Greenshot/Memento/AddElementsMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Memento/ChangeFieldHolderMemento.cs b/Greenshot/Memento/ChangeFieldHolderMemento.cs index 0e5c371f3..808b21ccb 100644 --- a/Greenshot/Memento/ChangeFieldHolderMemento.cs +++ b/Greenshot/Memento/ChangeFieldHolderMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -56,8 +56,7 @@ namespace Greenshot.Memento public bool Merge(IMemento otherMemento) { - ChangeFieldHolderMemento other = otherMemento as ChangeFieldHolderMemento; - if (other != null) + if (otherMemento is ChangeFieldHolderMemento other) { if (other._drawableContainer.Equals(_drawableContainer)) { diff --git a/Greenshot/Memento/DeleteElementMemento.cs b/Greenshot/Memento/DeleteElementMemento.cs index 818d28264..bd3161dc8 100644 --- a/Greenshot/Memento/DeleteElementMemento.cs +++ b/Greenshot/Memento/DeleteElementMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Memento/DeleteElementsMemento.cs b/Greenshot/Memento/DeleteElementsMemento.cs index e0178a36e..52cd71240 100644 --- a/Greenshot/Memento/DeleteElementsMemento.cs +++ b/Greenshot/Memento/DeleteElementsMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Memento/DrawableContainerBoundsChangeMemento.cs b/Greenshot/Memento/DrawableContainerBoundsChangeMemento.cs index 08b4db616..00e2f25a7 100644 --- a/Greenshot/Memento/DrawableContainerBoundsChangeMemento.cs +++ b/Greenshot/Memento/DrawableContainerBoundsChangeMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -76,8 +76,7 @@ namespace Greenshot.Memento public bool Merge(IMemento otherMemento) { - var other = otherMemento as DrawableContainerBoundsChangeMemento; - if (other != null) + if (otherMemento is DrawableContainerBoundsChangeMemento other) { if (ObjectExtensions.CompareLists(_listOfdrawableContainer, other._listOfdrawableContainer)) { diff --git a/Greenshot/Memento/IMemento.cs b/Greenshot/Memento/IMemento.cs deleted file mode 100644 index c0a28417c..000000000 --- a/Greenshot/Memento/IMemento.cs +++ /dev/null @@ -1,51 +0,0 @@ -/* - * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2015 Thomas Braun, Jens Klingen, Robin Krom - * - * For more information see: http://getgreenshot.org/ - * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -using System; -using Greenshot.Configuration; - -namespace Greenshot.Memento { - /// - /// Description of IMemento. - /// - public interface IMemento : IDisposable { - /// - /// Restores target to the state memorized by this memento. - /// - /// - /// A memento of the state before restoring - /// - IMemento Restore(); - - /// - /// Try to merge the current memento with another, preventing loads of items on the stack - /// - /// The memento to try to merge with - /// - bool Merge(IMemento other); - - /// - /// Returns the language key for the action which is performed - /// - LangKey ActionLanguageKey { - get; - } - } -} diff --git a/Greenshot/Memento/SurfaceBackgroundChangeMemento.cs b/Greenshot/Memento/SurfaceBackgroundChangeMemento.cs index ea0752c68..14155e11a 100644 --- a/Greenshot/Memento/SurfaceBackgroundChangeMemento.cs +++ b/Greenshot/Memento/SurfaceBackgroundChangeMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Memento/TextChangeMemento.cs b/Greenshot/Memento/TextChangeMemento.cs index 04d467716..3c817c9ab 100644 --- a/Greenshot/Memento/TextChangeMemento.cs +++ b/Greenshot/Memento/TextChangeMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -45,8 +45,7 @@ namespace Greenshot.Memento { } public bool Merge(IMemento otherMemento) { - TextChangeMemento other = otherMemento as TextChangeMemento; - if (other != null) { + if (otherMemento is TextChangeMemento other) { if (other.textContainer.Equals(textContainer)) { // Match, do not store anything as the initial state is what we want. return true; diff --git a/Greenshot/Processors/TitleFixProcessor.cs b/Greenshot/Processors/TitleFixProcessor.cs index 25495901e..e98881ac1 100644 --- a/Greenshot/Processors/TitleFixProcessor.cs +++ b/Greenshot/Processors/TitleFixProcessor.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/Greenshot/Sounds.resx b/Greenshot/Sounds.resx index 56901a7fe..1b69c685e 100644 --- a/Greenshot/Sounds.resx +++ b/Greenshot/Sounds.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + UklGRiRAAABXQVZFZm10IBAAAAABAAEAESsAACJWAAACABAAZGF0YQBAAAAAAAAAAAAAAAAAAAAAAAAA diff --git a/Greenshot/releases/additional_files/readme.txt.template b/Greenshot/releases/additional_files/readme.txt similarity index 98% rename from Greenshot/releases/additional_files/readme.txt.template rename to Greenshot/releases/additional_files/readme.txt index af435f2b2..fc8c4c8c5 100644 --- a/Greenshot/releases/additional_files/readme.txt.template +++ b/Greenshot/releases/additional_files/readme.txt @@ -7,7 +7,13 @@ CHANGE LOG: All details to our tickets can be found here: https://greenshot.atlassian.net -@DETAILVERSION@ +Greenshot 1.3.xx RELEASE + +Bugs fixed: +* [BUG-xxxx] - xxxx + + +Greenshot 1.2.10 RELEASE Bugs fixed: * [BUG-2235] - Imgur authentication issues due to imgur api change diff --git a/Greenshot/releases/innosetup/Languages/Afrikaans.isl b/Greenshot/releases/innosetup/Languages/Afrikaans.isl new file mode 100644 index 000000000..95879478e --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Afrikaans.isl @@ -0,0 +1,338 @@ + +; *** Inno Setup version 5.5.3+ Afrikaans messages *** +; +; Created by: Leon Odendaal +; E-mail: leonrsa@gmail.com +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +LanguageName=Afrikaans +LanguageID=$0436 +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Installasie +SetupWindowTitle=Installasie - %1 +UninstallAppTitle=Verwyder +UninstallAppFullTitle=Verwyder %1 + +; *** Misc. common +InformationTitle=Inligting +ConfirmTitle=Bevestig +ErrorTitle=Fout + +; *** SetupLdr messages +SetupLdrStartupMessage=Hierdie program sal %1 installeer. Wil u voortgaan? +LdrCannotCreateTemp=Onmoontlik om 'n tydelike ler te skep. Installasie gestaak. +LdrCannotExecTemp=Onmoontlik om 'n uitvoerbare ler in die tydelike vouer te skep. Installasie gestaak. + +; *** Startup error messages +LastErrorMessage=%1.%n%nFout %2: %3 +SetupFileMissing=Die ler %1 word vermis in die installasiegids. Korrigeer die fout of verkry 'n nuwe weergawe van die program. +SetupFileCorrupt=Die installasie lers is korrup. Verkry 'n nuwe weergawe van die program. +SetupFileCorruptOrWrongVer=Die installasielers is korrup, of onversoenbaar met hierdie weergawe van Installeerder. Korrigeer die problem of verkry 'n nuwe weergawe van die program. +InvalidParameter='n Ongeldige parameter is deurgegee op die opdraglyn:%n%n%1 +SetupAlreadyRunning=Installasie reeds aktief. +WindowsVersionNotSupported=Hierdie program ondersteun nie die Windows-weergawe op u rekenaar nie. +WindowsServicePackRequired=Hierdie program benodig %1 Service Pack %2 of nuwer. +NotOnThisPlatform=Hierdie program sal nie uitvoer op %1 nie. +OnlyOnThisPlatform=Hierdie program moet uitgevoer word op %1. +OnlyOnTheseArchitectures=Hierdie program kan net genstalleer word op weergawes van Windows ontwerp vir die volgende verwerkerargitekture:%n%n%1 +MissingWOW64APIs=Die weergawe van Windows wat u gebruik, sluit nie die funksionaliteit in wat die Installeerder vereis vir 'n 64-bis-installasie nie. Om hierdie probleem te korrigeer, installeer asb. Service Pack %1. +WinVersionTooLowError=Hierdie program vereis %1 weergawe %2 of nuwer. +WinVersionTooHighError=Hierdie program kan nie genstalleer word op %1 weergawe %2 of nuwer nie. +AdminPrivilegesRequired=U moet ingeteken wees as 'n administrateur om hierdie program te installeer. +PowerUserPrivilegesRequired=U moet aangeteken wees as 'n administrateur of as 'n lid van die Power Users groep om hierdie program te installeer. +SetupAppRunningError=Die installeerder het bespeur dat %1 op die oomblik loop.%n%nMaak asb. nou alle kopie daarvan toe, en kliek dan Aanvaar om voort te gaan, of Kanselleer om die installasie te verlaat. +UninstallAppRunningError=Verwyder het bespeur dat %1 op die oomblik oop is.%n%nMaak asb. alle kopie daarvan toe, en kliek dan op Aanvaar om voort te gaan, of Kanselleer om die verwyderaar te verlaat. + +; *** Misc. errors +ErrorCreatingDir=Die installeerder kon nie die gids %1 skep nie +ErrorTooManyFilesInDir=Onmoontlik om 'n ler in die gids "%1" te skep omdat dit te veel lers bevat + +; *** Setup common messages +ExitSetupTitle=Verlaat Installeerder +ExitSetupMessage=Installasie is nog nie voltooi nie. Indien u dit nou verlaat, sal die program nie genstalleer wees nie.%n%nU kan die Installeerder later weer uitvoer om die installasie te voltooi.%n%nVerlaat die Installeerder? +AboutSetupMenuItem=&Meer oor die Installeerder... +AboutSetupTitle=Meer oor die Installeerder +AboutSetupMessage=%1 weergawe %2%n%3%n%n%1 tuisblad: %n%4 +AboutSetupNote= +TranslatorNote=Vertaling deur Leon Odendaal + +; *** Buttons +ButtonBack=< &Terug +ButtonNext=&Volgende > +ButtonInstall=&Installeer +ButtonOK=Aanvaar +ButtonCancel=Kanselleer +ButtonYes=&Ja +ButtonYesToAll=Ja vir &Almal +ButtonNo=&Nee +ButtonNoToAll=N&ee vir Almal +ButtonFinish=&Voltooi +ButtonBrowse=&Rondblaai... +ButtonWizardBrowse=R&ondblaai... +ButtonNewFolder=&Skep Nuwe Vouer + +; *** "Select Language" dialog messages +SelectLanguageTitle=Kies Installeerdertaal +SelectLanguageLabel=Kies die taal om te gebruik gedurende die installasie: + +; *** Common wizard text +ClickNext=Kliek Volgende om voort te gaan, of Kanselleer om die installeerder te verlaat. +BeveledLabel= +BrowseDialogTitle=Blaai rond vir vouer +BrowseDialogLabel=Kies 'n vouer in die lys hieronder en kliek Aanvaar. +NewFolderName=Nuwe Vouer + +; *** "Welcome" wizard page +WelcomeLabel1=Welkom by die Installasie-Assistent vir [name] +WelcomeLabel2=Hierdie program sal [name/ver] installeer op u rekenaar.%n%nDit word aanbeveel dat u alle ander programme toemaak voor dat u voortgaan. + +; *** "Password" wizard page +WizardPassword=Wagwoord +PasswordLabel1=Hierdie installasie word deur 'n wagwoord beskerm. +PasswordLabel3=Verskaf asb die wagwoord, en kliek Volgende om voor te gaan. Wagwoorde is kassensitief. +PasswordEditLabel=&Wagwoord: +IncorrectPassword=Die wagwoord wat u ingesleutel het, is nie korrek nie. Probeer weer. + +; *** "License Agreement" wizard page +WizardLicense=Lisensie-ooreenkoms +LicenseLabel=Lees asb die volgende belangrike inligting voordat u voortgaan. +LicenseLabel3=Lees asb die volgende lisensieooreenkoms. U moet die terme van hierdie ooreenkoms aanvaar voordat u voortgaan met die installasie. +LicenseAccepted=Ek &aanvaar die ooreenkoms. +LicenseNotAccepted=Ek aan&vaar nie die ooreenkoms nie. + +; *** "Information" wizard pages +WizardInfoBefore=Inligting +InfoBeforeLabel=Lees asb die volgende belangrike inligting voordat u voortgaan. +InfoBeforeClickLabel=Wanneer u gereed is om voort te gaan met die Installasie, kliek Volgende. +WizardInfoAfter=Inligting +InfoAfterLabel=Lees asb die volgende belangrike inligting voordat u voortgaan. +InfoAfterClickLabel=Wanneer u gereed is om voort te gaan met die Installasie, kliek Volgende. + +; *** "User Information" wizard page +WizardUserInfo=Gebruikerinligting +UserInfoDesc=Sleutel asb u inligting in. +UserInfoName=&Gebruikernaam: +UserInfoOrg=&Organisasie: +UserInfoSerial=&Registrasienommer: +UserInfoNameRequired=U moet 'n naam insleutel. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Kies bestemming +SelectDirDesc=Waar moet [name] genstalleer word? +SelectDirLabel3=Die installeerder sal [name] installeer in die volgende vouer. +SelectDirBrowseLabel=Om voort te gaan, kliek Volgende. Indien u 'n ander vouer wil kies, kliek Rondblaai. +DiskSpaceMBLabel=Ten minste [mb] MG oop hardeskyfspasie word benodig. +CannotInstallToNetworkDrive=Installeerder kan nie op 'n netwerk-skyf installeer word nie. +CannotInstallToUNCPath=Installeerder kan nie na 'n UNC-roete installeer nie. +InvalidPath=U moet 'n volledige roete insleutel met 'n aandrywerletter; bv.:%n%nC:\APP%n%nof 'n UNC-pad in die vorm:%n%n\\server\share +InvalidDrive=Die aandrywer of UNC-netwerkgids wat u gekies het, bestaan nie of is nie toeganklik nie. Kies asb 'n ander een. +DiskSpaceWarningTitle=Onvoldoende skyfspasie +DiskSpaceWarning=Die installasie vereis ten minste %1 KG oop spasie, maar die gekose skyf het slegs %2 KG spasie beskikbaar.%n%nWil u voortgaan ten spyte daarvan? +DirNameTooLong=Die vouernaam of roete is te lank. +InvalidDirName=Die vouernaam is ongeldig. +BadDirName32=Vouername mag nie een van die volgende karakters bevat nie:%n%n%1 +DirExistsTitle=Voer bestaan +DirExists=Die vouer:%n%n%1%n%nbestaan alreeds. Wil u ten spyte daarvan steeds daarheen installeer? +DirDoesntExistTitle=Voeur bestaan nie +DirDoesntExist=Die vouer:%n%n%1%n%n bestaan nie. Wil u die vouer skep? + +; *** "Select Components" wizard page +WizardSelectComponents=Kies komponente +SelectComponentsDesc=Watter komponente moet genstalleer word? +SelectComponentsLabel2=Kies die komponente wat u wil installeer; deselekteer die komponente wat u nie wil installeer nie. Kliek Volgende wanneer u gereed is om voort te gaan. +FullInstallation=Volledige installasie +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompakte installasie +CustomInstallation=Pasgemaakte installasie +NoUninstallWarningTitle=Komponente Bestaan +NoUninstallWarning=Die installeerder het bespeur dat die volgende komponente reeds op u rekenaar genstalleer is:%n%n%1%n%nDeur die komponente te deselekteer sal hulle nie verwyder nie.%n%nWil u ten spyte daarvan voortgaan? +ComponentSize1=%1 KG +ComponentSize2=%1 MG +ComponentsDiskSpaceMBLabel=Huidige keuse vereis ten minste [mb] MG skyfspasie. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Kies bykomende take +SelectTasksDesc=Watter bykomende take moet uitgevoer word? +SelectTasksLabel2=Kies die bykomende take wat u wil h die Installeerder moet uitvoer tydens die installasie van [name], en kliek dan Volgende. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Kies Begin-kieslysvouer +SelectStartMenuFolderDesc=Waar moet die Installeerder die program se kortpaaie plaas? +SelectStartMenuFolderLabel3=Die installeerder sal die program se kortpaaie in die volgende Begin-kieslysvouer plaas. +SelectStartMenuFolderBrowseLabel=Om voort te gaan, kliek Volgende. Indien u 'n ander vouer wil kies, kliek Rondblaai. +MustEnterGroupName=U moet 'n vouernaam insleutel. +GroupNameTooLong=Die vouernaam of roete is te lank. +InvalidGroupName=Die vouernaam is ongeldig. +BadGroupName=Die vouernaam mag nie enige van die volgende karakters bevat nie:%n%n%1 +NoProgramGroupCheck2=&Moenie 'n Begin-kieslysvouer skep nie + +; *** "Ready to Install" wizard page +WizardReady=Gereed om te Installeer +ReadyLabel1=Die installeerder is nou gereed om [name] te installeer op u rekenaar. +ReadyLabel2a=Kliek Installeer om voort te gaan met die installasie, of kliek Terug indien u enige keuses wil hersien of verander. +ReadyLabel2b=Kliek Installeer om voort te gaan met die installasie. +ReadyMemoUserInfo=Gebruikerinligting: +ReadyMemoDir=Bestemmingligging: +ReadyMemoType=Installasietipe: +ReadyMemoComponents=Geselekteerde komponente: +ReadyMemoGroup=Begin-kieslysvouer: +ReadyMemoTasks=Bykomende take: + +; *** "Preparing to Install" wizard page +WizardPreparing=Berei voor om te Installeer +PreparingDesc=Die installeerder is besig om voor te berei om [name] op u rekenaar te installeer. +PreviousInstallNotCompleted=Die installasie/verwydering van 'n vorige program is nie voltooi nie. U moet u rekenaar herbegin om daardie installasie te voltooi.%n%nNadat u die rekenaar herbegin het, kan u die installeerder weer uitvoer om die installasie van [name] te voltooi. +CannotContinue=Die installeerder kan nie voortgaan nie. Kliek asb. Kanselleer om dit te verlaat. +ApplicationsFound=Die volgende programme gebruik tans lers wat deur die installeerder opgedateer moet word. Dit word aanbeveel dat u die installeerder toelaat om die programme outomaties toe te maak. +ApplicationsFound2=Die volgende programme gebruik tans lers wat deur die installeerder opgedateer moet word. Dit word aanbeveel dat u die installeerder toelaat om hierdie programme outomaties toe te maak. Na afloop van die installasie, sal die installeerder probeer om die programme te herbegin. +CloseApplications=&Maak die programme outomaties toe +DontCloseApplications=M&oet nie die programme toemaak nie +ErrorCloseApplications=Die Installeerder kon nie al die programme outomaties sluit nie. Dit word aanbeveel dat u al die programme toemaak wat lers bevat wat opdateer moet word voor u aangaan. + +; *** "Installing" wizard page +WizardInstalling=Besig om te Installeer +InstallingLabel=Wag asb. terwyl [name] op u rekenaar genstalleer word. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Finalisering van die Installasie-Assistent van [name] +FinishedLabelNoIcons=Die installasie van [name] is voltooi. +FinishedLabel=Die installasie van [name] is voltooi. Die program kan uitgevoer word deur die genstalleerde ikone te gebruik. +ClickFinish=Kliek Voltooi om die installeerder te verlaat. +FinishedRestartLabel=Om die installasie van [name] te voltooi, moet u rekenaar herbegin word. Wil u die rekenaar nou herbegin? +FinishedRestartMessage=Om die [name] installasie te voltooi, moet u rekenaar herbegin word.%n%nWil u die rekenaar nou herbegin? +ShowReadmeCheck=Ja, ek wil die README-ler sien +YesRadio=&Ja, herbegin die rekenaar nou +NoRadio=&Nee, ek sal die rekenaar later herbegin +; used for example as 'Run MyProg.exe' +RunEntryExec=Voer %1 uit +; used for example as 'View Readme.txt' +RunEntryShellExec=Bekyk %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Installeerder benodig volgende CD/DVD +SelectDiskLabel2=Plaas asb. skyf %1 in die aandrywer en kliek Aanvaar.%n%nIndien die lers in 'n ander vouer gevind kan word as die een hieronder, sleutel die korrekte roete in of kliek Rondblaai. +PathLabel=&Roete: +FileNotInDir2=Die ler "%1" kan nie gevind word in "%2" nie. Plaas asb. die korrekte skyf in die aandrywer of kies 'n ander vouer. +SelectDirectoryLabel=Spesifiseer asb. die ligging van die volgende skyf. + +; *** Installation phase messages +SetupAborted=Die installasie is nie voltooi nie.%n%nKorrigeer asb. die probleem en voer die installeerder weer uit. +EntryAbortRetryIgnore=Kliek Probeer weer om weer te probeer, Ignoreer om ten spyte hiervan voort te gaan, of Stop om die installasie te kanselleer. + +; *** Installation status messages +StatusClosingApplications=Maak programme toe... +StatusCreateDirs=Skep vouers... +StatusExtractFiles=Pak lers uit... +StatusCreateIcons=Skep kortpaaie... +StatusCreateIniEntries=Skep INI-inskrywings... +StatusCreateRegistryEntries=Skep van registerinskrywings... +StatusRegisterFiles=Registreer lers... +StatusSavingUninstall=Stoor verwyderingsinligting... +StatusRunProgram=Voltooi installasie... +StatusRestartingApplications=Herbegin programme... +StatusRollback=Rol veranderinge terug... + +; *** Misc. errors +ErrorInternal2=Interne fout: %1 +ErrorFunctionFailedNoCode=%1 gefaal +ErrorFunctionFailed=%1 gefaal; kode %2 +ErrorFunctionFailedWithMessage=%1 gefaal; kode %2.%n%3 +ErrorExecutingProgram=Onmoontlik om die volgende ler uit te voer:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Fout terwyl registersleutel oopgemaak word:%n%1\%2 +ErrorRegCreateKey=Fout terwyl registersleutel geskep word:%n%1\%2 +ErrorRegWriteKey=Fout terwyl geskryf word na registersleutel:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Fout terwyl INI-inskrywing in die ler "%1" gemaak word. + +; *** File copying errors +FileAbortRetryIgnore=Kliek Probeer weer om weer te probeer, Ignoreer om hierdie ler oor te slaan (nie aanbeveel nie), of Stop om die installasie te verlaat. +FileAbortRetryIgnore2=Kliek Probeer weer om weer te probeer, Ignoreer om voort te gaan ten spyte hiervan (nie aanbeveel nie), of Stop om die installasie te verlaat. +SourceIsCorrupted=Die bronler is korrup +SourceDoesntExist=Die bronler "%1" bestaan nie +ExistingFileReadOnly=Die bestaande ler is gemerk as lees-alleen.%n%nKliek Probeer weer om die lees-alleen-attribuut te verwyder en weer te probeer, Ignoreer om hierdie ler oor te slaan, of Stop om die installasie te verlaat. +ErrorReadingExistingDest='n Fout het voorgekom terwyl die bestaande ler gelees is: +FileExists=Die ler bestaan alreeds.%n%nWil u die ler oorskryf? +ExistingFileNewer=Die bestaande ler is nuwer as die een wat die Installeerder probeer installeer. Dit word aanbeveel dat u die bestaande ler hou.%n%nWil u die bestaande ler hou? +ErrorChangingAttr='n Fout het voorgekom terwyl die attribute van die bestaande ler verander is: +ErrorCreatingTemp='n Fout het voorgekom toe 'n ler in die bestaande gids geskep is: +ErrorReadingSource='n Fout het voorgekom terwyl die bronler gelees is: +ErrorCopying='n Fout het voorgekom terwyl 'n ler gekopieer is: +ErrorReplacingExistingFile='n Fout het voorgekom toe die bestaande ler oorskryf is: +ErrorRestartReplace=HerbeginVervang gefaal: +ErrorRenamingTemp='n Fout het voorgekom terwyl 'n ler in die bestemmingsgids van naam verander is: +ErrorRegisterServer=Onmoontlik om die DLL/OCX te registreer: %1 +ErrorRegSvr32Failed=RegSvr32 het gefaal met kode %1 +ErrorRegisterTypeLib=Onmoontlik om die biblioteek tipe te registreer: %1 + +; *** Post-installation errors +ErrorOpeningReadme='n Fout het voorgekom terwyl die README-ler oopgemaak is. +ErrorRestartingComputer=Die installeerder kon nie die rekenaar herbegin nie. Doen dit asb self. + +; *** Uninstaller messages +UninstallNotFound=Ler "%1" bestaan nie. Kan nie verwyder nie. +UninstallOpenError=Ler "%1" kan nie oopgemaak word nie. Onmoontlik om te verwyder. +UninstallUnsupportedVer=Die verwyder staafler "%1" se formaat word nie herken deur hierdie weergawe van die verwyderaar nie. Onmoontlik om te verwyder. +UninstallUnknownEntry='n Onbekende inskrywing (%1) is tegekom in die verwyder staafler. +ConfirmUninstall=Is u seker dat u %1 en al die komponente daarvan heeltemal wil verwyder? +UninstallOnlyOnWin64=Hierdie installasie kan slegs verwyder word op 64-bis-Windows. +OnlyAdminCanUninstall=Hierdie installasie kan slegs verwyder word deur 'n gebruiker met administratiewe regte. +UninstallStatusLabel=Wag asb. terwyl %1 van u rekenaar verwyder word. +UninstalledAll=%1 is suksesvol verwyder vanaf u rekenaar. +UninstalledMost=%1 verwydering voltooi.%n%nSommige elemente kon nie verwyder word nie. Hierdie elemente kan handmatig verwyder word. +UninstalledAndNeedsRestart=Om die verwydering van %1 te voltooi, moet u rekenaar herbegin word.%n%nWil u nou herbegin? +UninstallDataCorrupted="%1" ler is korrup. Onmoontlik om te verwyder. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Verwyder gedeelde ler? +ConfirmDeleteSharedFile2=Die stelsel dui aan dat die volgende gedeelde lers nie meer deur enige programme gebruik word nie. Moet die verwyderaar die gedeelde ler verwyder?%n%nIndien enige programme hierdie ler steeds gebruik en dit verwyder word, sal daardie programme nie meer reg funksioneer nie. Indien u onseker is, kies Nee. Indien die ler op u stelsel gelaat word, sal dit geen skade doen nie. +SharedFileNameLabel=Lernaam: +SharedFileLocationLabel=Ligging: +WizardUninstalling=Verwyderingstatus +StatusUninstalling=Verwyder %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installeer %1. +ShutdownBlockReasonUninstallingApp=Verwyder %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 weergawe %2 +AdditionalIcons=Bykomende ikone: +CreateDesktopIcon=Skep 'n &werksbladikoon +CreateQuickLaunchIcon=Skep 'n &Quick Launch ikoon +ProgramOnTheWeb=%1 op die Web +UninstallProgram=Verwyder %1 +LaunchProgram=Voer %1 uit +AssocFileExtension=&Assosieer %1 met die %2 leruitbreiding +AssocingFileExtension=Assosieer %1 met die %2 leruitbreiding... +AutoStartProgramGroupDescription=Begin: +AutoStartProgram=Begin %1 outomaties +AddonHostProgramNotFound=%1 kon nie gevind word in die vouer wat u gekies het nie.%n%nWil u voortgaan ten spyte daarvan? \ No newline at end of file diff --git a/Greenshot/releases/innosetup/Languages/Albanian.isl b/Greenshot/releases/innosetup/Languages/Albanian.isl new file mode 100644 index 000000000..f41e35f22 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Albanian.isl @@ -0,0 +1,340 @@ +; *** Inno Setup version 5.5.3+ Albanian messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Përktheu Besmir Godole +; Posta elektronike: bgodole@gmail.com +; Më kontaktoni për ndonjë gabim ose sugjerim rreth përkthimit. + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Albanian +LanguageID=$041C +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Sistemim +SetupWindowTitle=Sistemon - %1 +UninstallAppTitle=Çinstalim +UninstallAppFullTitle=Çinstalon %1 + +; *** Misc. common +InformationTitle=Informacion +ConfirmTitle=Miratim +ErrorTitle=Gabim + +; *** SetupLdr messages +SetupLdrStartupMessage=Do të instalohet %1. Të vijohet? +LdrCannotCreateTemp=Nuk mund të krijohet një skedar i përkohshëm. U ndërpre sistemimi +LdrCannotExecTemp=Nuk mund të ekzekutohet skedari në direktorinë e përkohshme. U ndërpre sistemimi + +; *** Startup error messages +LastErrorMessage=%1.%n%nGabim %2: %3 +SetupFileMissing=Mungon skedari %1 në direktorinë e instalimit. Lutemi të korrigjohet problemi ose të përdoret një kopje e re e programit. +SetupFileCorrupt=Janë dëmtuar skedarët e Sistemuesit. Lutemi të përdoret një kopje e re e programit. +SetupFileCorruptOrWrongVer=Janë dëmtuar skedarët e sistemuesit ose nuk përshtaten me këtë version të Sistemimit. Lutemi të korrigjohet problemi ose të përdoret një kopje e re e programit. +InvalidParameter=Në vijën e komandës u vendos një parametër i pasaktë:%n%n%1 +SetupAlreadyRunning=Është duke vepruar Sistemuesi. +WindowsVersionNotSupported=Nuk përshtatet programi me këtë version të Windows-it. +WindowsServicePackRequired=Programi ka nevojë për %1 me Paketë Sigurie %2 ose më të re. +NotOnThisPlatform=Programi nuk do të veprojë në %1. +OnlyOnThisPlatform=Programi duhet të veprojë në %1. +OnlyOnTheseArchitectures=Programi mund të instalohet vetëm në versionet e Windows-it me këto modele arkitekturore të procesorit:%n%n%1 +MissingWOW64APIs=Ky version i Windows-it nuk përmban funksionet që kërkohen për të kryer një instalim 64-bit. Lutemi të korrigjohet problemi duke instaluar Paketën e Shërbimit %1. +WinVersionTooLowError=Programi ka nevojë për %1 në versionin %2 a më të ri. +WinVersionTooHighError=Programi nuk mund të instalohet në %1 në versionin %2 a më të ri. +AdminPrivilegesRequired=Instalimi i programit duhet të kryhet nga administratori. +PowerUserPrivilegesRequired=Instalimi i këtij programi duhet të kryhet nga administratori ose nga një Përdorues me Privilegje. +SetupAppRunningError=Sistemuesi vëren se aktualisht po vepron %1.%n%nLutemi të mbyllet dhe të vijoni duke klikuar OK, ose Anuloj për t'u larguar. +UninstallAppRunningError=Çinstaluesi vëren se aktualisht po vepron %1.%n%nLutemi të mbyllet dhe të vijoni duke klikuar OK, ose Anuloj për t'u larguar. + +; *** Misc. errors +ErrorCreatingDir=Sistemuesi nuk arrin të krijojë direktorinë "%1" +ErrorTooManyFilesInDir=Nuk mund të krijohen skedarë në direktorinë "%1" sepse ka shumë të tjera + +; *** Setup common messages +ExitSetupTitle=Mbyllet sistemuesi +ExitSetupMessage=Nuk ka përfunduar sistemimi. Nuk do të instalohet programi nëse e mbyllni.%n%nQë instalimi të përfundojë, mund ta hapni Sistemuesin një herë tjetër.%n%nTë mbyllet Sistemuesi? +AboutSetupMenuItem=&Për Sistemimin... +AboutSetupTitle=Për Sistemimin +AboutSetupMessage=%1 versioni %2%n%3%n%n%1 faqe zyrtare:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Kthehem +ButtonNext=&Tjetër > +ButtonInstall=&Instaloj +ButtonOK=OK +ButtonCancel=Anuloj +ButtonYes=&Po +ButtonYesToAll=Po, &të gjitha +ButtonNo=&Jo +ButtonNoToAll=J&o, asnjë +ButtonFinish=&Përfundoj +ButtonBrowse=&Shfletoj... +ButtonWizardBrowse=S&hfletoj... +ButtonNewFolder=&Krijoj dosje të re + +; *** "Select Language" dialog messages +SelectLanguageTitle=Zgjidhet gjuha e sistemuesit +SelectLanguageLabel=Zgjidhni gjuhën e përdorur gjatë instalimit: + +; *** Common wizard text +ClickNext=Vijoni duke klikuar Tjetër, ose Anuloj për ta mbyllur Sistemuesin. +BeveledLabel= +BrowseDialogTitle=Shfletohet dosja +BrowseDialogLabel=Zgjidhni dosjen nga kjo listë, pastaj klikoni OK. +NewFolderName=Dosje të re + +; *** "Welcome" wizard page +WelcomeLabel1=Mirësevini te Udhërrëfyesi për Sistemimin e [name] +WelcomeLabel2=[name/ver] do të instalohet në kompjuter.%n%nRekomandohet të mbyllen aplikacionet e tjera para se të vijoni. + +; *** "Password" wizard page +WizardPassword=Fjalëkalimi +PasswordLabel1=Instalimi është i mbrojtur me fjalëkalim. +PasswordLabel3=Lutemi të shkruani fjalëkalimin, pastaj vijoni duke klikuar Tjetër. Fjalëkalimi duhet vendosur me kujdes. +PasswordEditLabel=&Fjalëkalimi: +IncorrectPassword=Nuk është i saktë fjalëkalimi. Lutemi të provoni sërish. + +; *** "License Agreement" wizard page +WizardLicense=Marrëveshja e licencimit +LicenseLabel=Lutemi të lexohet ky informacion i rëndësishëm para se të vijoni. +LicenseLabel3=Lutemi të lexohet Marrëveshja e licencimit. Duhet të pranoni detyrimet e kësaj marrëveshjeje para se të vijoni me instalimin. +LicenseAccepted=&Pranoj marrëveshjen +LicenseNotAccepted=&Nuk e pranoj marrëveshjen + +; *** "Information" wizard pages +WizardInfoBefore=Informacion +InfoBeforeLabel=Lutemi të lexohet ky informacion i rëndësishëm para se të vijoni. +InfoBeforeClickLabel=Kur të jeni gati për të vijuar me Sistemimin, klikoni Tjetër. +WizardInfoAfter=Informacion +InfoAfterLabel=Lutemi të lexohet ky informacion i rëndësishëm para se të vijoni. +InfoAfterClickLabel=Kur të jeni gati për të vijuar me Sistemimin, klikoni Tjetër. + +; *** "User Information" wizard page +WizardUserInfo=Informacion i përdoruesit +UserInfoDesc=Vendosni informacionin tuaj. +UserInfoName=&Përdoruesi: +UserInfoOrg=&Organizata: +UserInfoSerial=&Numri i Serisë: +UserInfoNameRequired=Të shkruhet emri. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Zgjidhet destinacioni +SelectDirDesc=Ku do të instalohet [name]? +SelectDirLabel3=Sistemuesi do e instalojë [name] në këtë dosje. +SelectDirBrowseLabel=Vijoni duke klikuar Tjetër. Klikoni Shfletoj për të zgjedhur një dosje të ndryshme. +DiskSpaceMBLabel=Kërkohet jo më pak se [mb] MB hapësirë e lirë në disk. +CannotInstallToNetworkDrive=Instalimi nuk mund të kryhet në një disk në rrjet. +CannotInstallToUNCPath=Instalimi nuk mund të kryhet në një shteg UNC. +InvalidPath=Të shkruhet i plotë shtegu i diskut, për shembull:%n%nC:\APP%n%nose shtegu UNC sipas formatit:%n%n\\server\share +InvalidDrive=Nuk ekziston ose nuk hapet disku ose shpërndarësi UNC i zgjedhur. Lutemi të zgjidhet një tjetër. +DiskSpaceWarningTitle=Nuk mjafton hapësira +DiskSpaceWarning=Sistemuesi kërkon të paktën %1 KB hapësirë të lirë për të kryer instalimin, por disku ka vetëm %2 KB të vlefshme.%n%nGjithsesi, të vijohet? +DirNameTooLong=Është tepër i gjatë emri ose shtegu i dosjes. +InvalidDirName=Nuk është i saktë emri i dosjes. +BadDirName32=Emri i dosjes nuk mund të përmbajë këto shkronja:%n%n%1 +DirExistsTitle=Ekziston dosja +DirExists=Dosja:%n%n%1%n%nekziston që më parë. Gjithsesi, të instalohet në këtë dosje? +DirDoesntExistTitle=Nuk ekziston dosja +DirDoesntExist=Nuk ekziston dosja:%n%n%1%n%n. Të krijohet dosja? + +; *** "Select Components" wizard page +WizardSelectComponents=Zgjidhen komponentët +SelectComponentsDesc=Cilët komponentë do të instalohen? +SelectComponentsLabel2=Zgjidhni komponentët që do të instaloni; mos shënoni komponentë që nuk ju duhen. Klikoni Tjetër kur të jeni gati. +FullInstallation=Instaloj të plotë +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instaloj të ngjeshur +CustomInstallation=Instaloj me zgjedhje +NoUninstallWarningTitle=Komponentë ekzistues +NoUninstallWarning=Sistemuesi vëren se këta komponentë janë instaluar më parë në kompjuter:%n%n%1%n%nNuk do të çinstalohen nëse nuk i zgjidhni.%n%nGjithsesi, të vijohet? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Kjo zgjedhje kërkon jo më pak se [mb] MB hapësirë të lirë në disk. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Zgjidhen detyrat shtesë +SelectTasksDesc=Çfarë detyrash të tjera do të kryhen? +SelectTasksLabel2=Zgjidhni detyrat shtesë që duhet të kryejë Sistemuesi kur të instalojë [name], pastaj klikoni Tjetër. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Zgjidhet dosja në Menynë Nis +SelectStartMenuFolderDesc=Ku do të vendosen shkurtoret e programit? +SelectStartMenuFolderLabel3=Shkurtoret e programit do të krijohen në këtë dosje të Menysë Nis. +SelectStartMenuFolderBrowseLabel=Për të vijuar, klikoni Tjetër. Për të zgjedhur një dosje të ndryshme, klikoni Shfletoj. +MustEnterGroupName=Të shkruhet emri i dosjes. +GroupNameTooLong=Është tepër i gjatë emri ose shtegu i dosjes. +InvalidGroupName=Nuk është i saktë emri i dosjes. +BadGroupName=Emri i dosjes nuk duhet të përmbajë asnjë nga këto shkronja:%n%n%1 +NoProgramGroupCheck2=&Nuk krijoj dosje në Menynë Nis + +; *** "Ready to Install" wizard page +WizardReady=Gati të instalohet +ReadyLabel1=Sistemuesi është gati të instalojë [name] në kompjuter. +ReadyLabel2a=Klikoni Instaloj për të vijuar instalimin ose ndryshoni ndonjë parametër duke klikuar Kthehem. +ReadyLabel2b=Klikoni Instaloj për të vijuar instalimin. +ReadyMemoUserInfo=Informacioni i përdoruesit: +ReadyMemoDir=Destinacioni: +ReadyMemoType=Lloji i sistemimit: +ReadyMemoComponents=Komponentët e zgjedhur: +ReadyMemoGroup=Dosja në Menynë Nis: +ReadyMemoTasks=Detyra shtesë: + +; *** "Preparing to Install" wizard page +WizardPreparing=Gati të instalohet +PreparingDesc=Sistemuesi është gati të instalojë [name] në kompjuter. +PreviousInstallNotCompleted=Nuk ka përfunduar instalimi/heqja e programit të mëparshëm. Instalimi do të përfundojë kur kompjuteri të rinisë.%n%nPas rinisjes, hapni sërish Sistemuesin që të kryhet instalimi i [name]. +CannotContinue=Nuk mund të vijojë sistemimi. Lutemi të mbyllet duke klikuar Anuloj. +ApplicationsFound=Këto aplikacione përdorin skedarë që do të përditësohen. Rekomandohet që Sistemuesi t'i mbyllë ato automatikisht me lejen tuaj. +ApplicationsFound2=Këto aplikacione përdorin skedarë që do të përditësohen. Rekomandohet që Sistemuesi t'i mbyllë ato automatikisht me lejen tuaj. Pasi instalimi të përfundojë, Sistemuesi do të tentojë t'i hapë sërish. +CloseApplications=&Mbyll automatikisht aplikacionet +DontCloseApplications=&Mos i mbyll aplikacionet +ErrorCloseApplications=Jo të gjitha aplikacionet u mbyllën automatikisht. Rekomandohet të mbyllen të gjithë skedarët para se të vijojë përditësimi. + +; *** "Installing" wizard page +WizardInstalling=Instalim +InstallingLabel=Kini durim që Sistemuesi të instalojë [name] në kompjuter. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Përfundon udhërrëfimi për Sistemimin e [name] +FinishedLabelNoIcons=Sistemuesi përfundoi instalimin në kompjuter të [name]. +FinishedLabel=Sistemuesi përfundoi instalimin në kompjuter të [name]. Aplikacioni mund të hapet me anë të ikonës së instaluar. +ClickFinish=Klikoni Përfundoj për ta mbyllur Sistemuesin. +FinishedRestartLabel=Duhet të riniset kompjuteri që Sistemuesi të përfundojë instalimin e [name]. Të rinisë tani? +FinishedRestartMessage=Duhet të riniset kompjuteri që Sistemuesi të përfundojë instalimin e [name].%n%nTë rinisë tani? +ShowReadmeCheck=Po, dua të shoh skedarin README +YesRadio=&Po, rinis kompjuterin tani +NoRadio=&Jo, do e rinis kompjuterin më vonë +; used for example as 'Run MyProg.exe' +RunEntryExec=Hap %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Shoh %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Sistemuesi kërkon diskun tjetër +SelectDiskLabel2=Lutemi të vendoset Disku %1 dhe klikoni OK.%n%nNëse skedarët në disk ndodhen në një dosje të ndryshme, përcaktoni shtegun e saktë ose klikoni Shfletoj. +PathLabel=&Shtegu: +FileNotInDir2=Skedari "%1" nuk ndodhet në "%2". Lutemi të vendoset disku i saktë ose të zgjidhet një dosje e ndryshme. +SelectDirectoryLabel=Lutemi të përcaktohet vendi i diskut tjetër. + +; *** Installation phase messages +SetupAborted=Nuk përfundoi sistemimi.%n%nLutemi të korrigjohet problemi dhe të provoni sërish. +EntryAbortRetryIgnore=Klikoni Provoj sërish për ta përsëritur, Shmang për të vijuar me çdo mënyrë, ose Ndërpres për të anuluar instalimin. + +; *** Installation status messages +StatusClosingApplications=Mbyllen aplikacionet... +StatusCreateDirs=Krijohen direktoritë... +StatusExtractFiles=Nxirren skedarët... +StatusCreateIcons=Krijohen shkurtoret... +StatusCreateIniEntries=Krijohen elementet INI... +StatusCreateRegistryEntries=Krijohen elementet në regjistër... +StatusRegisterFiles=Regjistrohen skedarët... +StatusSavingUninstall=Ruhet informacioni i çinstalimit... +StatusRunProgram=Përfundon instalimi... +StatusRestartingApplications=Rinisen aplikacionet... +StatusRollback=Kthehen ndryshimet... + +; *** Misc. errors +ErrorInternal2=Problem i brendshëm: %1 +ErrorFunctionFailedNoCode=%1 ndali +ErrorFunctionFailed=%1 ndali; kodi %2 +ErrorFunctionFailedWithMessage=%1 ndali; kodi %2.%n%3 +ErrorExecutingProgram=Nuk ekzekutohet skedari:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Problem me hapjen e kodit të regjistrit:%n%1\%2 +ErrorRegCreateKey=Problem me krijimin e kodit të regjistrit:%n%1\%2 +ErrorRegWriteKey=Problem me shkrimin e kodit të regjistrit:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Problem me krijimin e elementit INI te skedari "%1". + +; *** File copying errors +FileAbortRetryIgnore=Klikoni Provoj sërish për ta përsëritur, Shmang për ta evituar këtë skedarin (nuk rekomandohet), ose Ndërpres për të anuluar instalimin. +FileAbortRetryIgnore2=Klikoni Provoj sërish për ta përsëritur, Shmang për të vijuar me çdo mënyrë (nuk rekomandohet), ose Ndërpres për të anuluar instalimin. +SourceIsCorrupted=Është dëmtuar skedari burimor +SourceDoesntExist=Nuk ekziston skedari burimor "%1" +ExistingFileReadOnly=Skedari ekzistues vetëm mund të lexohet.%n%nKlikoni Provoj sërish për të hequr atributin e leximit dhe për ta provuar sërish, Shmang për ta evituar këtë skedarin, ose Ndërpres për të anuluar çinstalimin. +ErrorReadingExistingDest=Ka një problem me leximin e skedarit ekzistues: +FileExists=Skedari ekziston që më parë.%n%nTë mbishkruhet? +ExistingFileNewer=Skedari ekzistues është me e re sesa ajo që Sistemuesi po provon të instalojë. Rekomandohet që të mbahet skedari ekzistues.%n%nTë mbahet skedari ekzistues? +ErrorChangingAttr=Ka një problem me ndryshimin e atributeve të skedarëve ekzistues: +ErrorCreatingTemp=Ka një problem me krijimin e skedarit në direktorinë e destinacionit: +ErrorReadingSource=Ka një problem me leximin e skedarit nga burimi: +ErrorCopying=Ka një problem me kopjimin e skedarit: +ErrorReplacingExistingFile=Ka një problem me zëvendësimin e skedarit ekzistues: +ErrorRestartReplace=Ndali RestartReplace: +ErrorRenamingTemp=Ka një problem me emërtimin e skedarit në direktorinë e destinacionit: +ErrorRegisterServer=Nuk mund të regjistrohet DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 ndali me kodin e daljes %1 +ErrorRegisterTypeLib=Nuk mund të regjistrohet lloji i librarisë: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Ka një problem me hapjen e skedarit README. +ErrorRestartingComputer=Sistemuesi nuk e rinisi dot kompjuterin. Lutemi ta bëni vetë. + +; *** Uninstaller messages +UninstallNotFound=Nuk ekziston skedari "%1". Nuk mund të çinstalohet. +UninstallOpenError=Nuk mund të hapet skedari "%1". Nuk mund të çinstalohet. +UninstallUnsupportedVer=Formati i ditarit të çinstalimit "%1" nuk njihet nga ky version i çinstaluesit. Nuk mund të çinstalohet +UninstallUnknownEntry=Ditari i çinstalimit ka një element të panjohur (%1) +ConfirmUninstall=Të fshihet %1 bashkë me komponentët e vet? +UninstallOnlyOnWin64=Instalimi mund të kryhet vetëm në Windows 64-bit. +OnlyAdminCanUninstall=Instalimi mund të çinstalohet vetëm nga përdoruesit me privilegje administruese. +UninstallStatusLabel=Kini durim ndërkohë që %1 fshihet nga kompjuteri. +UninstalledAll=%1 u fshi me sukses nga kompjuteri. +UninstalledMost=Përfundoi çinstalimi i %1.%n%nNuk mund të fshiheshin disa elemente. Këto mund t'i fshini vetë. +UninstalledAndNeedsRestart=Duhet rinisur kompjuteri që të përfundojë çinstalimi i %1.%n%nTë rinisë tani? +UninstallDataCorrupted=Skedari "%1" është dëmtuar. Nuk mund të çinstalohet. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Të fshihet skedari i ndarë? +ConfirmDeleteSharedFile2=Sistemuesi tregon se ky skedar i ndarë nuk përdoret më nga programet. Të fshihet ky skedar i ndarë?%n%nNëse skedari është duke u përdorur nga ndonjë program tjetër, ai mund të mos punojë siç duhet. Nëse nuk jeni të sigurt, të zgjidhet Jo. Mbajtja e skedarit në sistem nuk shkakton dëm. +SharedFileNameLabel=Emri i skedarit: +SharedFileLocationLabel=Vendi: +WizardUninstalling=Statusi i çinstalimit +StatusUninstalling=Çinstalon %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instalon %1. +ShutdownBlockReasonUninstallingApp=Çinstalon %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versioni %2 +AdditionalIcons=Ikona shtesë: +CreateDesktopIcon=Krijoj një ikonë në &tryezë +CreateQuickLaunchIcon=Krijoj një ikonë në &Quick Launch +ProgramOnTheWeb=%1 në internet +UninstallProgram=Çinstaloj %1 +LaunchProgram=Hap %1 +AssocFileExtension=&Shoqëroj %1 me siglën %2 +AssocingFileExtension=%1 shoqërohet me siglën %2... +AutoStartProgramGroupDescription=Fillimi: +AutoStartProgram=Filloj automatikisht %1 +AddonHostProgramNotFound=%1 nuk ndodhet në dosjen e përzgjedhur.%n%nGjithsesi, të vijohet? diff --git a/Greenshot/releases/innosetup/Languages/Arabic.isl b/Greenshot/releases/innosetup/Languages/Arabic.isl new file mode 100644 index 000000000..cc25fe2cd --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Arabic.isl @@ -0,0 +1,364 @@ +; *** Inno Setup version 6.0.3+ arabic messages *** +; +; Translated by nacer baaziz (nacerstile@gmail.com) +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=arabic +LanguageID=$0401 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=إعداد +SetupWindowTitle=إعداد - %1 +UninstallAppTitle=إزالة التثبيت +UninstallAppFullTitle=إزالة تثبيت %1 + +; *** Misc. common +InformationTitle=معلومات +ConfirmTitle=تأكيد +ErrorTitle=خطأ + +; *** SetupLdr messages +SetupLdrStartupMessage=هذا المعالج سيقوم بتثبيت %1. هل تريد المتابعة? +LdrCannotCreateTemp=تعذر إنشاء الملفات المؤقتة, تم فشل معالج التثبيت. +LdrCannotExecTemp=تعذر تشغيل الملفات من المجلد المؤقت. فشل معالج التثبيت. +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1.%n%n خطأ %2: %3 +SetupFileMissing=الملف %1 مفقود من دليل التثبيت. الرجاء تصحيح المشكلة أو الحصول على نسخة جديدة من البرنامج. +SetupFileCorrupt=ملفات الإعداد تالفة. الرجاء الحصول على نسخة جديدة من البرنامج. +SetupFileCorruptOrWrongVer=ملفات الإعداد تالفة أو غير متوافقة مع هذا الإصدار من برنامج الإعداد. الرجاء تصحيح المشكلة أو الحصول على نسخة جديدة من البرنامج. +InvalidParameter=تم تمرير أوامر غير صالحة على سطر الأوامر : %n%n%1 +SetupAlreadyRunning=برنامج الإعداد قيد التشغيل بالفعل. +WindowsVersionNotSupported=لا يدعم هذا البرنامج إصدار Windows الذي يعمل به الكمبيوتر. +WindowsServicePackRequired=هذا البرنامج يتطلب %1 حزمة الخدمة %2 أو أعلى. +NotOnThisPlatform=لن يتم تشغيل هذا البرنامج على %1. +OnlyOnThisPlatform=يجب تشغيل هذا البرنامج على %1. +OnlyOnTheseArchitectures=يمكن تثبيت هذا البرنامج فقط على إصدارات Windows المصممة لهندسة المعالج التالية : %n%n%1 +WinVersionTooLowError=هذا البرنامج يتطلب %1 الإصدار %2 أو أعلى. +WinVersionTooHighError=لا يمكن تثبيت هذا البرنامج على %1 الإصدار %2 أو أعلى. +AdminPrivilegesRequired=يجب أن يتم تسجيل دخولك كمسؤول عند تثبيت هذا البرنامج. +PowerUserPrivilegesRequired=يجب أن يتم تسجيل دخولك كمسؤول أو كعضو في مجموعة Power Users عند تثبيت هذا البرنامج. +SetupAppRunningError=لقد كشف معالج الإعداد أن %1 يعمل بالفعل. %n%n يرجى إغلاق كل أجزائه الآن , ثم إضغط حسنا للمتابعة أو إلغاء الأمر للخروج. +UninstallAppRunningError=كشف معالج إلغاء التثبيت بأن %1 يعمل بالفعل.%n%n يرجى إغلاق كل أجزائه الآن , ثم إضغط حسنا للمتابعة أو إلغاء الأمر للخروج. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=تحديد وضع تثبيت الإعداد +PrivilegesRequiredOverrideInstruction=تحديد وضع التثبيت +PrivilegesRequiredOverrideText1=يمكن ل %1 أن يُثَبَّت على جميع المستخدمين (يتطلب إمتيازات المسؤول), أو لك فقط.. +PrivilegesRequiredOverrideText2=.يمكن ل %1 أن يُثَبَّت لك فقط, أو أن يُثَبَّت على جميع المستخدمين (يتطلب إمتيازات المسؤول). +PrivilegesRequiredOverrideAllUsers=التثبيت ل&كافة المستخدمين +PrivilegesRequiredOverrideAllUsersRecommended=تثبيت ل&كافة المستخدمين (مستحسن) +PrivilegesRequiredOverrideCurrentUser=تثبيت &لي فقط +PrivilegesRequiredOverrideCurrentUserRecommended=تثبيت بالنسبة &لي فقط (مستحسن) + +; *** Misc. errors +ErrorCreatingDir=تعذر على برنامج الإعداد إنشاء الدليل "%1" +ErrorTooManyFilesInDir=تعذر إنشاء ملف في الدليل "%1" لأنه يحتوي على ملفات كثيرة جداً + +; *** Setup common messages +ExitSetupTitle=الخروج من معالج التثبيت +ExitSetupMessage=لم يكتمل الإعداد. إذا قمت بالخروج الآن، لن يتم تثبيت البرنامج.%n%nYou يمكنك تشغيل برنامج الإعداد مرة أخرى في وقت آخر لإكمال التثبيت.%n%n إنهاء الإعداد؟ +AboutSetupMenuItem=&حول الإعداد... +AboutSetupTitle=حول برنامج الإعداد +AboutSetupMessage=%1 الإصدار %2%n%3%n%n%1 صفحة الأنترنت:%n%4 +AboutSetupNote= +TranslatorNote=تم ترجمة المعالج إلى اللغة العربية بواسطة ناصر بعزيز + +; *** Buttons +ButtonBack=< ال&سابق +ButtonNext=ال&تالي > +ButtonInstall=&تثبيت +ButtonOK=&حسنا +ButtonCancel=إل&غاء الأمر +ButtonYes=&نعم +ButtonYesToAll=نعم لل&كل +ButtonNo=&لا +ButtonNoToAll=لا &للكل +ButtonFinish=إ&نهاء +ButtonBrowse=اس&تعراض... +ButtonWizardBrowse=اس&تعراض... +ButtonNewFolder=إن&شاء مجلد جديد + +; *** "Select Language" dialog messages +SelectLanguageTitle=إختر لغة معالج الإعداد +SelectLanguageLabel=حدد اللغة التي يجب استخدامها أثناء التثبيت. + +; *** Common wizard text +ClickNext=انقر فوق التالي للمتابعة، أو إلغاء الأمر لإنهاء الإعداد. +BeveledLabel= +BrowseDialogTitle=تصفح لاختيار مجلد +BrowseDialogLabel=حدد مجلدًا في القائمة أدناه، ثم انقر فوق حسنا. +NewFolderName=مجلد جديد + +; *** "Welcome" wizard page +WelcomeLabel1=مرحبا بكم في معالج تثبيت [name] +WelcomeLabel2=هذا المعالج سيقوم بتثبيت [name/ver] على جهازك. %n%nمن المستحسن أن تقوم بإغلاق كافة التطبيقات الأخرى قبل المتابعة. + +; *** "Password" wizard page +WizardPassword=كلمة السر +PasswordLabel1=هذا التثبيت محمي بكلمة سر. +PasswordLabel3=الرجاء تقديم كلمة المرور، ثم انقر فوق التالي للمتابعة. كلمات المرور حساسة لحالة الأحرف. +PasswordEditLabel=&كلمة السر: +IncorrectPassword=كلمة السر التي أدخلتها غير صحيحة. يرجى إعادة المحاولة. + +; *** "License Agreement" wizard page +WizardLicense=اتفاقية الترخيص +LicenseLabel=يرجى قراءة المعلومات الهامة التالية قبل المتابعة. +LicenseLabel3=الرجاء قراءة اتفاقية الترخيص التالية. يجب قبول شروط هذه الاتفاقية قبل متابعة التثبيت. +LicenseAccepted=أنا أواف&ق على هذه الإتفاقية +LicenseNotAccepted=أنا &لا أوافق على الإتفاقية + +; *** "Information" wizard pages +WizardInfoBefore=معلومات +InfoBeforeLabel=يرجى قراءة المعلومات الهامة التالية قبل المتابعة. +InfoBeforeClickLabel=عندما تكون جاهزًا للمتابعة مع الإعداد، انقر فوق التالي. +WizardInfoAfter=معلومات +InfoAfterLabel=يرجى قراءة المعلومات الهامة التالية قبل المتابعة. +InfoAfterClickLabel=عندما تكون جاهزًا للمتابعة مع الإعداد، انقر فوق التالي. + +; *** "User Information" wizard page +WizardUserInfo=معلومات المستخدم +UserInfoDesc=يرجى إدخال معلوماتك. +UserInfoName=إسم ال&مستخدم : +UserInfoOrg=المن&ظمة: +UserInfoSerial=&الرقم التسلسلي: +UserInfoNameRequired=يجب إدخال إسم. + +; *** "Select Destination Location" wizard page +WizardSelectDir=تحديد موقع الوِجْهة +SelectDirDesc=أين يجب تثبيت [name]؟ +SelectDirLabel3=سيقوم معالج التثبيت بتثبيت [name] في المجلد التالي. +SelectDirBrowseLabel=للمتابعة، انقر فوق التالي. إذا كنت ترغب في تحديد مجلد آخر، انقر فوق استعراض. +DiskSpaceGBLabel=تحتاج على الأقل [gb] GB من المساحة لتثبيت البرنامج. +DiskSpaceMBLabel=تحتاج على الأقل [mb] MB من المساحة لتثبيت البرنامج. +CannotInstallToNetworkDrive=يتعذر على برنامج الإعداد التثبيت على محرك أقراص شبكة اتصال. +CannotInstallToUNCPath=يتعذر على برنامج الإعداد تثبيت مسار UNC. +InvalidPath=يجب إدخال مسار كامل مع حرف محرك الأقراص; على سبيل المثال: %n%nC:\APP%n%أو مسار UNC في النموذج:%n%n\\server\share +InvalidDrive=محرك الأقراص أو مشاركة UNC التي حددتها غير موجود أو غير قابل للوصول. الرجاء تحديد آخر. +DiskSpaceWarningTitle=مساحة القرص غير كافية +DiskSpaceWarning=Sيتطلب الإعداد على الأقل %1 KB من المساحة الفارغة للتثبيت، ولكن محرك الأقراص المحدد فيه فقط %2 KB متوفرة.%n%nهل تريد المتابعة على أية حال؟ +DirNameTooLong=اسم المجلد أو المسار طويل جداً. +InvalidDirName=اسم المجلد غير صالح. +BadDirName32=لا يمكن لأسماء المجلدات تضمين أي من الأحرف التالية:%n%n%1 +DirExistsTitle=المجلد موجود بالفعل +DirExists=المجلد:%n%n%1%n%n موجود بالفعل. هل ترغب في التثبيت على هذا المجلد على أي حال؟ +DirDoesntExistTitle=المجلد غير موجود +DirDoesntExist=المجلد:%n%n%1%n%nغير موجود. هل تريد إنشاء المجلد؟ + +; *** "Select Components" wizard page +WizardSelectComponents=تحديد المكونات +SelectComponentsDesc=ما هي المكونات التي يجب تثبيتها؟ +SelectComponentsLabel2=حدد المكونات التي تريد تثبيتها ؛ امسح المكونات التي لا تريد تثبيتها. انقر فوق "التالي" عندما تكون مستعدًا للمتابعة. +FullInstallation=تثبيت كامل +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=تثبيت مدمج +CustomInstallation=تثبيت مخصص +NoUninstallWarningTitle=مكونات موجودة +NoUninstallWarning=اكتشف برنامج الإعداد أن المكونات التالية مثبتة بالفعل على جهاز الكمبيوتر الخاص بك: %n%n%1%n%nلن يؤدي إلغاء تحديد هذه المكونات إلى إزالة تثبيتها.%n%nهل ترغب في الاستمرار على أي حال? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceGBLabel=الاختيار الحالي يتطلب على الأقل [gb] GB من مساحة القرص. +ComponentsDiskSpaceMBLabel=الاختيار الحالي يتطلب على الأقل [mb] MB من مساحة القرص. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=حدد المهام الإضافية +SelectTasksDesc=ما المهام الإضافية التي ينبغي تنفيذها؟ +SelectTasksLabel2=حدد المهام الإضافية التي ترغب في أن يقوم الإعداد بتنفيذها أثناء تثبيت [name], ثم إضغط التالي. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=حدد مجلد قائمة ابدأ +SelectStartMenuFolderDesc=أين يجب أن يضع الإعداد اختصارات البرنامج؟ +SelectStartMenuFolderLabel3=سيقوم برنامج الإعداد بإنشاء اختصارات البرنامج في مجلد قائمة ابدأ التالية. +SelectStartMenuFolderBrowseLabel=للمتابعة، انقر فوق التالي. إذا كنت ترغب في تحديد مجلد آخر، انقر فوق استعراض. +MustEnterGroupName=يجب إدخال اسم مجلد. +GroupNameTooLong=اسم المجلد أو المسار طويل جداً. +InvalidGroupName=اسم المجلد غير صالح. +BadGroupName=لا يمكن أن يتضمن اسم المجلد أي من الأحرف التالية:%n%n%1 +NoProgramGroupCheck2=&عدم إنشاء مجلد قائمة ابدأ + +; *** "Ready to Install" wizard page +WizardReady=جاهز للتثبيت +ReadyLabel1=الإعداد جاهز الآن لبدء تثبيت [name] على جهازك. +ReadyLabel2a=انقر فوق تثبيت لمتابعة التثبيت، أو انقر فوق "السابق" إذا كنت ترغب في مراجعة أو تغيير أية إعدادات. +ReadyLabel2b=انقر فوق تثبيت لمتابعة التثبيت. +ReadyMemoUserInfo=معلومات المستخدم: +ReadyMemoDir=مسار الوِجْهة: +ReadyMemoType=نوع الإعداد: +ReadyMemoComponents=المكونات المحددة: +ReadyMemoGroup=مجلد قائمة ابدأ: +ReadyMemoTasks=مهام إضافية: + +; *** "Preparing to Install" wizard page +WizardPreparing=التحضير للتثبيت +PreparingDesc=الإعداد يستعد لتثبيت [name] على جهازك. +PreviousInstallNotCompleted=لم يكتمل التثبيت / إزالة البرنامج السابق. ستحتاج إلى إعادة تشغيل الكمبيوتر لإكمال هذا التثبيت.%n%nبعد إعادة تشغيل جهاز الكمبيوتر الخاص بك ، شغّل برنامج الإعداد مرة أخرى لإكمال تثبيت [name]. +CannotContinue=لا يمكن لبرنامج الإعداد المتابعة. يرجى النقر فوق "إلغاء" للخروج. +ApplicationsFound=تستخدم التطبيقات التالية الملفات التي تحتاج إلى تحديث بواسطة برنامج الإعداد. يوصى بالسماح لبرنامج الإعداد بإغلاق هذه التطبيقات تلقائيًا. +ApplicationsFound2=تستخدم التطبيقات التالية الملفات التي تحتاج إلى تحديث بواسطة برنامج الإعداد. يوصى بالسماح لبرنامج الإعداد بإغلاق هذه التطبيقات تلقائيًا. بعد اكتمال التثبيت ، سيحاول برنامج الإعداد إعادة تشغيل التطبيقات. +CloseApplications=أغلق التطبيقات &تلقائيًا +DontCloseApplications=&لا تغلق التطبيقات +ErrorCloseApplications=لم يتمكن الإعداد من إغلاق جميع التطبيقات تلقائيًا. يوصى بإغلاق جميع التطبيقات التي تستخدم الملفات التي تحتاج إلى تحديث بواسطة برنامج الإعداد قبل المتابعة. +PrepareToInstallNeedsRestart=برنامج الإعداد يجب أن يقوم بإعادة تشغيل الجهاز. بعد إعادة تشغيل جهازك, قم بتشغيل برنامج الإعداد مرة أخرى لإكمال تثبيت [name].%n%nهل تحب إعادة التشغيل الآن? + +; *** "Installing" wizard page +WizardInstalling=جاري التثبيت +InstallingLabel=يرجى الانتظار حتى يقوم برنامج الإعداد بتثبي [name] على جهازك. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=إنهاء معالج تثبيت [name] +FinishedLabelNoIcons=إكتمل معالج التثبيت من تثبيت [name] على جهازك. +FinishedLabel=اكتمل معالج التثبيت من تثبيت [name] على جهازك. قد يتم تشغيل التطبيق عن طريق تحديد الاختصارات المثبتة. +ClickFinish=إضغط إنهاء للخروج من معالج التثبيت +FinishedRestartLabel=لاستكمال تثبيت [name], يجب على برنامج الإعداد إعادة تشغيل جهاز الكمبيوتر الخاص بك. هل ترغب في إعادة التشغيل الآن؟ +FinishedRestartMessage=لاستكمال تثبيت [name], يجب على برنامج الإعداد إعادة تشغيل جهاز الكمبيوتر الخاص بك.%n%nهل ترغب في إعادة التشغيل الآن؟ +ShowReadmeCheck=نعم ، أرغب عرض ملف README +YesRadio=&نعم أعد تشغيل الكومبيوتر الان +NoRadio=&لا ، سأعيد تشغيل الكمبيوتر لاحقًا +; used for example as 'Run MyProg.exe' +RunEntryExec=تشغيل %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=عرض %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=يحتاج برنامج الإعداد إلى القرص التالي +SelectDiskLabel2=الرجاء إدراج القرص %1 وانقر فوق حسنا.%n%nإذا كان يمكن العثور على الملفات الموجودة على هذا القرص في مجلد غير الذي يظهر أدناه، أدخل المسار الصحيح أو انقر فوق استعراض. +PathLabel=&مسار : +FileNotInDir2=لم نتمكن من العثور على الملف "%1" في "%2". الرجاء إدراج القرص الصحيح أو تحديد مجلد آخر. +SelectDirectoryLabel=الرجاء تحديد موقع القرص التالي. + +; *** Installation phase messages +SetupAborted=لم يتم إكمال الإعداد. %n%nالرجاء تصحيح المشكلة وتشغيل الإعداد مرة أخرى. +AbortRetryIgnoreSelectAction=حدد إجراء +AbortRetryIgnoreRetry=أ&عد مجددا +AbortRetryIgnoreIgnore=&تجاهل الخطأ والمتابعة +AbortRetryIgnoreCancel=إلغاء التثبيت + +; *** Installation status messages +StatusClosingApplications=إغلاق التطبيقات... +StatusCreateDirs=إنشاء المجلدات... +StatusExtractFiles=استخراج الملفات... +StatusCreateIcons=إنشاء الإختصارات... +StatusCreateIniEntries=إنشاء مدخلات INI... +StatusCreateRegistryEntries=إنشاء مفاتيح السجل... +StatusRegisterFiles=تسجيل الملفات... +StatusSavingUninstall=تسجيل معلومات إزالة التثبيت... +StatusRunProgram=الإنتهاء من التثبيت... +StatusRestartingApplications=إعادة تشغيل التطبيقات... +StatusRollback=التراجع عن التغييرات... + +; *** Misc. errors +ErrorInternal2=خطأ داخلي: %1 +ErrorFunctionFailedNoCode=فشل %1 +ErrorFunctionFailed=فشل %1; رقم الخطء %2 +ErrorFunctionFailedWithMessage=فشل %1; رقم الخطء %2.%n%3 +ErrorExecutingProgram=الإعداد غير قابل على تشغيل الملف:%n%1 + +; *** Registry errors +ErrorRegOpenKey=خطأ في فتح مفتاح التسجيل:%n%1\%2 +ErrorRegCreateKey=خطأ في إنشاء مفتاح التسجيل:%n%1\%2 +ErrorRegWriteKey=خطأ في الكتابة على مفتاح التسجيل:%n%1\%2 + +; *** INI errors +ErrorIniEntry=حدث خطأ في إنشاء إدخال INI في الملف "%1". + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=&تخطي هذا الملف (غير مستحسن) +FileAbortRetryIgnoreIgnoreNotRecommended=&تجاهل الخطأ والمتابعة (غير مستحسن) +SourceIsCorrupted=الملف المصدر تالف +SourceDoesntExist=الملف "%1"غير موجود +ExistingFileReadOnly2=تعذر استبدال الملف الموجود لأنه تم وضع علامة للقراءة فقط. +ExistingFileReadOnlyRetry=&أزل القراءة فقط عن الملفات ثم حاول مرة أخرى +ExistingFileReadOnlyKeepExisting=&إحتفظ بالملفات الموجودة +ErrorReadingExistingDest=حدث خطأ أثناء محاولة قراءة الملف الموجود: +FileExists=الملف موجود مسبقاً.%n%nهل تريد لبرنامج الإعداد أن يكتب استبداله؟ +ExistingFileNewer=الملف الموجود أحدث من الذي يحاول الإعداد تثبيته. من المستحسن الاحتفاظ بالملف الموجود.%n%nهل تريد الاحتفاظ بالملف الموجود؟ +ErrorChangingAttr=حدث خطأ أثناء محاولة تغيير سمات الملف الموجود: +ErrorCreatingTemp=حدث خطأ أثناء محاولة إنشاء ملف في الدليل الوجهة: +ErrorReadingSource=حدث خطأ أثناء محاولة قراءة ملف مصدر: +ErrorCopying=حدث خطأ أثناء محاولة نسخ ملف: +ErrorReplacingExistingFile=حدث خطأ أثناء محاولة استبدال الملف الموجود: +ErrorRestartReplace=فشل إعادة تشغيل "استبدال": +ErrorRenamingTemp=حدث خطأ أثناء محاولة إعادة تسمية ملف في الدليل الوجهة: +ErrorRegisterServer=تعذر تسجيل ملفات DLL/OCX: %1 +ErrorRegSvr32Failed=فشل RegSvr32 مع رمز الخروج %1 +ErrorRegisterTypeLib=الإعداد غير قادر على تسجيل مكتبة النوع: %1 + +; *** Uninstall display name markings +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bit +UninstallDisplayNameMark64Bit=64-bit +UninstallDisplayNameMarkAllUsers=كافة المستخدمين +UninstallDisplayNameMarkCurrentUser=المستخدم الحالي + +; *** Post-installation errors +ErrorOpeningReadme=حدث خطأ أثناء محاولة فتح ملف إقرأني. +ErrorRestartingComputer=لم يتمكن برنامج الإعداد من إعادة تشغيل الكمبيوتر. الرجاء القيام بذلك يدوياً. + +; *** Uninstaller messages +UninstallNotFound=الملف "%1" غير موجود. لا يمكن إزالة التثبيت. +UninstallOpenError=تعذر فتح "%1". لا يمكن إزالة التثبيت. +UninstallUnsupportedVer=ملف سجل الإزالة "%1" في تنسيق غير معروف من قبل هذا الإصدار من برنامج إلغاء التثبيت. لا يمكن إزالة التثبيت +UninstallUnknownEntry=إدخال غير معروف (%1) تمت مصادفة في سجل إلغاء التثبيت +ConfirmUninstall=هل أنت متأكد من أنك تريد إزالة %1 تماما, وجميع مكوناته? +UninstallOnlyOnWin64=يمكن إلغاء تثبيت هذا التثبيت على Windows 64-بت فقط. +OnlyAdminCanUninstall=يمكن إلغاء تثبيت هذا التثبيت فقط من قبل مستخدم له امتيازات إدارية. +UninstallStatusLabel=يرجى الإنتظار ريت ما يتم إزالة تثبيت %1 من جهازك. +UninstalledAll=تم إزالة %1 تماما من جهازك بنجاح. +UninstalledMost=اكتمل إزالة %1.%n%nتعذر إزالة بعض العناصر. يمكن إزالة هذه يدوياً. +UninstalledAndNeedsRestart=لإكمال إلغاء تثبيت %1, يجب إعادة تشغيل الكمبيوتر.%n%nهل تريد إعادة تشغيل الآن؟ +UninstallDataCorrupted=الملف "%1" تالف. لا يمكن إزالة التثبيت + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=إزالة ملف مشترك؟ +ConfirmDeleteSharedFile2=يشير النظام إلى أن الملف المشترك التالي لم يعد في الاستخدام من قبل أي برامج. هل ترغب في أن يقوم إلغاء التثبيت بإزالة هذا الملف المشترك?%n%nإذا كانت أية برامج لا تزال تستخدم هذا الملف وتتم إزالته، قد لا تعمل هذه البرامج بشكل صحيح. إذا كنت غير متأكد، اختر لا. ترك الملف على النظام الخاص بك لن يسبب أي ضرر. +SharedFileNameLabel=اسم الملف: +SharedFileLocationLabel=الموقع : +WizardUninstalling=حالة إزالة التثبيت +StatusUninstalling=جاري إزالة تثبيت %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=جاري تثبيت %1. +ShutdownBlockReasonUninstallingApp=جاري تثبيت %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 الإصدار %2 +AdditionalIcons=اختصارات إضافية: +CreateDesktopIcon=إنشاء اختصار في &سطح المكتب +CreateQuickLaunchIcon=إنشاء اختصار "الت&شغيل السريع" +ProgramOnTheWeb=%1 على الأنترنت +UninstallProgram=إزالة تثبيت %1 +LaunchProgram=تشغيل %1 +AssocFileExtension=اربط %1 مع صيغة ملف %2 +AssocingFileExtension=جاري ربط %1 مع صيغة ملف %2 +AutoStartProgramGroupDescription=بدأ التشغيل: +AutoStartProgram=تشغيل %1 تلقائيا +AddonHostProgramNotFound= تعذر العثور على %1 في الموقع الذي إخترته.%n%nهل تريد المتابعة على أية حال؟ diff --git a/Greenshot/releases/innosetup/Languages/Asturian.isl b/Greenshot/releases/innosetup/Languages/Asturian.isl new file mode 100644 index 000000000..540df1705 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Asturian.isl @@ -0,0 +1,292 @@ +; Translation made with Translator 1.32 (http://www2.arnes.si/~sopjsimo/translator.html) +; $Translator:NL=%n:TB=%t +; +; *** Inno Setup version 4.0.x Asturian messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; $Id: asturian-4.0.6.isl,v 0.1 2003/09/17 22:14:19 jl Exp $ + +[LangOptions] +LanguageName=Asturianu +LanguageID=$0409 +; Si el lenguaje al cual est traduciendo requiere un tipo de letra o +; tamao, quite el comentario de alguna de las siguientes entradas y cmbielas segn el caso. +;DialogFontName=MS Shell Dlg +;DialogFontSize=8 +;DialogFontStandardHeight=13 +;TitleFontName=Arial +;TitleFontSize=29 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +CopyrightFontName=Arial +CopyrightFontSize=8 +[Messages] +; *** Application titles +SetupAppTitle=Instalar +SetupWindowTitle=Instalar - %1 +UninstallAppTitle=Desinstalar +UninstallAppFullTitle=Desinstalar - %1 + +; *** Misc. common +InformationTitle=Informacin +ConfirmTitle=Confirmar +ErrorTitle=Fallu + +; *** SetupLdr messages +SetupLdrStartupMessage=Instalarse %1. Quier seguir? +LdrCannotCreateTemp=Nun pudo crease l'archivu temporal. Instalacin parada +LdrCannotExecTemp=Nun s'execut l'archivu nel directoriu temporal. Instalacin parada + +; *** Startup error messages +LastErrorMessage=%1.%n%nFallu %2: %3 +SetupFileMissing=Nun s'alcuentra l'archivu %1 de la carpeta d'instalacin. Por favor, corrixa'l problema o garre otra copia del programa. +SetupFileCorrupt=Los archivos d'instalacin tan frayaos. Por favor, garre otra copia del programa. +SetupFileCorruptOrWrongVer=Los archivos d'instalacin tan frayaos, o son incompatibles cola su versin d'instalacin. Por favor, arregle'l fallu o garre otra copia del programa. +NotOnThisPlatform=Esti programa nun va furrular en %1. +OnlyOnThisPlatform=Esti programa tien que executase en %1. +WinVersionTooLowError=Esti programa necesita %1 versin %2 o superior. +WinVersionTooHighError=Esti programa nun furrula en %1 versin %2 o superior. +AdminPrivilegesRequired=Tien qu'entamar la sesin comu alministraor cuando instale esti programa. +PowerUserPrivilegesRequired=Tien que tar conectau comu Alministrador o ser miembru del grupu d'Usuarios Avanzaos pa instalar esti programa. +SetupAppRunningError=La instalacin detect que %1 ta executandose agora.%n%nPor favor, cirrelu, llueu calque Bien pa seguir, o Cancelar para colar. +UninstallAppRunningError=La desinstalacin detect que %1 ta executandose agora.%n%nPor favor, cirrelu, llueu calque Bien pa seguir, o Cancelar para colar. + +; *** Misc. errors +ErrorCreatingDir=Nun se pue facer la carpeta "%1" +ErrorTooManyFilesInDir=Nun se puede facer un archivu ena carpeta "%1" porque tien demasiaos archivos. + +; *** Setup common messages +ExitSetupTitle=Zarrar la Instalacin +ExitSetupMessage=La instalacin nun ta completa. Si la cierra agora, el programa nun s'instalar.%n%nPuede executar el programa d'instalacin otra veg pa completala.%n%nZarrar la Instalacin? +AboutSetupMenuItem=&Acerca d'Instalar... +AboutSetupTitle=Acerca d'Instalar +AboutSetupMessage=%1 versin %2%n%3%n%n%1 pxina web:%n%4 +AboutSetupNote= + +; *** Buttons +ButtonBack=< &Tornar +ButtonNext=&Seguir > +ButtonInstall=&Instalar +ButtonOK=Bien +ButtonCancel=Cancelar +ButtonYes=&S +ButtonYesToAll=S a &Tou +ButtonNo=&Non +ButtonNoToAll=N&on a Tou +ButtonFinish=&Finar +ButtonBrowse=&Examinar... + +; *** "Select Language" dialog messages +SelectLanguageTitle=Escueya l'idioma del instalaor +SelectLanguageLabel=Escueya l'idioma pala instalacin: + +; *** Common wizard text +ClickNext=Calque Seguir pa continuar, Cancelar pa colar. +BeveledLabel= + +; *** "Welcome" wizard page +WelcomeLabel1=Bienveniu al programa d'instalacin de [name]. +WelcomeLabel2=Esti programa instalar [name/ver] nel su sistema.%n%nRecomiendase enantes de seguir, zarrar toles dems aplicaciones que ten furrulando pa evitar conflictos durante la instalacin. + +; *** "Password" wizard page +WizardPassword=Contrasea +PasswordLabel1=Esta instalacin ta protexida. +PasswordLabel3=Por favor enxerte la su contrasea, calque'n Seguir para continuar. Les contrasees diferencien les mayscules de les minscules. +PasswordEditLabel=&Contrasea: +IncorrectPassword=La contrasea nun val. Por favor, intntelu otra veg. + +; *** "License Agreement" wizard page +WizardLicense=Contratu de Llicencia +LicenseLabel=Por favor, llea la siguiente informacin enantes de seguir. +LicenseLabel3=Por favor, llea detenidamente el siguiente contratu de llicencia. Tien que aceptar los trminos d'esti contratu enantes de seguir cola instalacin. +LicenseAccepted=A&ceptu'l contratu +LicenseNotAccepted=&Nun aceptu'll contratu + +; *** "Information" wizard pages +WizardInfoBefore=Informacin +InfoBeforeLabel=Por favor, llea la siguiente informacin enantes de seguir. +InfoBeforeClickLabel=Cuandu te llistu pa continuar cola instalacin, calque Seguir. +WizardInfoAfter=Informacin +InfoAfterLabel=Por favor, llea la siguiente informacin enantes de seguir. +InfoAfterClickLabel=Cuando te llistu pa continuar, calque Seguir. + +; *** "User Information" wizard page +WizardUserInfo=Informacin d'usuariu +UserInfoDesc=Por favor, introduzca la su informacin. +UserInfoName=Nome d'&Usuariu: +UserInfoOrg=&Organizacin/Empresa: +UserInfoSerial=Nmberu de &Serie: +UserInfoNameRequired=Tien qu'enxertar un nome. + +; *** "Select Destination Directory" wizard page +WizardSelectDir=Selecin de la Carpeta Destinu +SelectDirDesc=Au tien qu'instalase [name]? +SelectDirLabel=Escueya la carpeta ena que quier instalar [name] y calque Seguir. +DiskSpaceMBLabel=Necesita polo menos [mb] MB d'espaciu llibre en discu. +ToUNCPathname=Nun puede instalase nun directoriu UNC. Si quier instalar en rede, tien que mapear una unid de la rede. +InvalidPath=Tien qu'enxertar una ruta completa cola lletra d'unidad; por exemplu:%n%nC:\APP%n%no una ruta UNC de la siguiente mena:%n%n\\servior\compartiu +InvalidDrive=La unid o ruta UNC que elixi nun existe o nun ta accesible. Por favor, escueya otra. +DiskSpaceWarningTitle=Nun hay espaciu suficiente'n discu +DiskSpaceWarning=Necesita polo menos %1 KB de espaciu llibre pala instalacin, pero la unid que elixi nams tiene %2 KB llibres.%n%nQuier seguir? +BadDirName32=El nome de la carpeta nun puede incluir dalgun de los siguientes carauteres:%n%n%1 +DirExistsTitle=La Carpeta ya Existe +DirExists=La carpeta:%n%n%1%n%nya existe. Quier instalar n'esta carpeta ent? +DirDoesntExistTitle=La Carpeta Nun Existe +DirDoesntExist=La carpeta:%n%n%1%n%n nun existe. Quier facela? + +; *** "Select Components" wizard page +WizardSelectComponents=Selecin de Componentes +SelectComponentsDesc=Qu componentes tienen qu'instalase? +SelectComponentsLabel2=Escueya los componentes a instalar; desmarque los componentes que nun quier instalar. Calque Seguir cuandu tea llistu. +FullInstallation=Instalacin Completa +; Si es posible no traduzca 'Compacta' a 'Minima' (Me refiero a 'Minima' en su lenguaje) +CompactInstallation=Instalacin Compacta +CustomInstallation=Instalacin Personalizada +NoUninstallWarningTitle=Componentes Existentes +NoUninstallWarning=La Instalacin detect que los siguientes componentes tan instalaos ena computaora:%n%n%1%n%nDesmarcando estos componentes, nun s'instalarn.%n%nDesea continuar de todos modos? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=La seleccin fecha requier polo menos [mb] MB d'espaciu llibre'n discu. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Seleccin de Tarees Adicionales +SelectTasksDesc=Qu tarees adicionales tienen que realizase? +SelectTasksLabel2=Seleccione les tarees adicionales que quiera facer durante la instalacin de [name] y calque Seguir. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Seleccin de la carpeta del Men d'entamu +SelectStartMenuFolderDesc=Au tiene que pones los iconos de programa? +SelectStartMenuFolderLabel=Escueya la carpeta del Men d'entamu au quier que'l programa de instalacin faiga los iconos de programa y calque Seguir. +NoIconsCheck=&Nun facer nengn iconu +MustEnterGroupName=Tien qu'enxertar un nome de carpeta. +BadGroupName=El nome de la carpeta nun puede tener nengn de los siguientes caracteres:%n%n%1 +NoProgramGroupCheck2=&Nun facer grupu nel Men d'entamu + +; *** "Ready to Install" wizard page +WizardReady=Llistu pa Instalar +ReadyLabel1=Agora el programa ta llistu pa entamar la instalacin de [name]. +ReadyLabel2a=Calque Instalar pa seguir cola instalacin, o Tornar si quier revisar o camudar dalguna configuracin. +ReadyLabel2b=Calque Instalar para seguir cola instalacin. +ReadyMemoUserInfo=Informacin d'usuariu: +ReadyMemoDir=Carpeta de Destinu: +ReadyMemoType=Tipu d'Instalacin: +ReadyMemoComponents=Componentes Seleccionaos: +ReadyMemoGroup=Carpeta del Men d'entamu: +ReadyMemoTasks=Tarees Adicionales: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparndose pa Instalar +PreparingDesc=El programa ta preparandose pa instalar [name]. +PreviousInstallNotCompleted=La instalacin/desinstalacin previa d'otru programa nun fin. Tien que reiniciar l'equipu pa finar la instalacin.%n%nEncuantes reinicie la computaora, execute'l programa de nueu pa completar la instalacin de [name]. +CannotContinue=El programa nun puede continuar. Por favor, calque Cancelar pa colar. + +; *** "Installing" wizard page +WizardInstalling=Instalando +InstallingLabel=Por favor, espere mientres s'instala [name] en su computaora. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Finando la instalacin de [name] +FinishedLabelNoIcons=El programa fin la instalacin de [name]. +FinishedLabel=El programa fin la instalacin de [name]. Puede executar la aplicacin calcando'l iconu instalau. +ClickFinish=Calque Finar pa zarrar la Instalacin. +FinishedRestartLabel=Pa finar la instalacin de [name], tien que reiniciar la su computaora. Quier reiniciar agora? +FinishedRestartMessage=Pa finar la instalacin de [name], tien que reiniciar la su computaora.%n%nQuier reiniciar agora? +ShowReadmeCheck=S, quiero ver l'archivu LLAME. +YesRadio=&S, quiero reiniciar la computaora agora +NoRadio=&Non, yo reiniciar la computaora ms alantre +; used for example as 'Run MyProg.exe' +RunEntryExec=Executar %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Ver %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=La Instalacin Necesita el Siguiente Discu +SelectDirectory=Escueya Carpeta +SelectDiskLabel2=Por favor, enxerte'l Discu %1 y calque Bien.%n%nSi los archivos pueden alcontrase nuna carpeta diferente a la d'abaxo, plumie la ruta correuta o calque Examinar. +PathLabel=&Ruta: +FileNotInDir2=L'archivu "%1" nun puede localizase en "%2". Por favor, enxerte'l discu correutu o escueya otra carpeta. +SelectDirectoryLabel=Por favor, especifique la llocalizacin del siguiente discu. + +; *** Installation phase messages +SetupAborted=La instalacin nun pudo completase.%n%nPor favor, arregle'l fallu y execute Instalar otra veg. +EntryAbortRetryIgnore=Calque Reintentar pa intentalu de nueu, Omitir para continuar y que seya lo que dios quiera, o Anular pa finar la instalacin. + +; *** Installation status messages +StatusCreateDirs=Faciendo carpetas... +StatusExtractFiles=Copiando archivos... +StatusCreateIcons=Faciendo iconos del programa... +StatusCreateIniEntries=Faciendo entraes nel INI... +StatusCreateRegistryEntries=Faciendo entraes de rexistru... +StatusRegisterFiles=Rexistrando archivos... +StatusSavingUninstall=Guardando informacin pa desinstalar... +StatusRunProgram=Finando la instalacin... +StatusRollback=Desfaciendo cambios... + +; *** Misc. errors +ErrorInternal2=Fallu Internu: %1 +ErrorFunctionFailedNoCode=%1 fall +ErrorFunctionFailed=%1 fall; cdigu %2 +ErrorFunctionFailedWithMessage=%1 fall; cdigu %2.%n%3 +ErrorExecutingProgram=Nun puede executase l'archivu:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Fallu abriendo clave de rexistru:%n%1\%2 +ErrorRegCreateKey=Fallu faciendo clave de rexistru:%n%1\%2 +ErrorRegWriteKey=Fallu plumiando nuna clave de rexistru:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Fallu faciendo entrada nel archivu INI "%1". +; *** File copying errors +FileAbortRetryIgnore=Calque Reintentar pa intentalu otra veg, Omitir pa omitir esti archivu (nun recomendau), o Anular pa cancelar la instalacin. +FileAbortRetryIgnore2=Calque Reintentar pa intentalu otra veg, Ignorar pa seguir de cualisquier mena (nun recomendau), o Anular pa finar la instalacin. +SourceIsCorrupted=L'archivu d'orixen ta daau +SourceDoesntExist=L'archivu d'orixen "%1" nun existe +ExistingFileReadOnly=L'archivu existente ta marcau comu namas-llectura.%n%nCalque Reintentar pa quitar l'atributu namas-llectura y intentalu otra veg, Ignorar pa omitir esti archivu, o Anular pa finar la instalacin. +ErrorReadingExistingDest=Hebo un fallu al lleer l'archivu existente: +FileExists=L'archivu ya existe.%n%nQuier machacalu? +ExistingFileNewer=L'archivu existente ye ms modernu que'l que ta instalando. Sera meyor dexar l'archivu existente.%n%nQuier dexar l'archivu existente? +ErrorChangingAttr=Hebo un fallu al camudar los atributos del archivu: +ErrorCreatingTemp=Hebo un fallu al facer un archivu ena carpeta de destinu: +ErrorReadingSource=Hebo un fallu al lleer l'archivu d'orixen: +ErrorCopying=Hebo un fallu al copiar l'archivu: +ErrorReplacingExistingFile=Hebo un fallu al machacar l'archivu: +ErrorRestartReplace=Nun pudo machacase: +ErrorRenamingTemp=Hebo un fallu al renomar un archivu ena carpeta de destin: +ErrorRegisterServer=Nun pudo rexistrar el DLL/OCX: %1 +ErrorRegisterServerMissingExport=Nun s'alcuentra DllRegisterServer export +ErrorRegisterTypeLib=Nun pudo rexistrar la llibrera de tipu: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Hebo un fallu tratando d'abrir l'archivu LLAME. +ErrorRestartingComputer=El programa d'Instalacin nun puede reiniciar la computaora. Por favor, figalo manualmente. + +; *** Uninstaller messages +UninstallNotFound=L'archivu "%1" nun existe. Nun puede desinstalase. +UninstallOpenError=Archivu "%1" nun pudo abrise. Nun puede desinstalase. + +; *** Uninstallation phase messages +UninstallUnsupportedVer=L'archivu de rexistru pa desinstalar "%1" ta nun formatu nun reconociu por esta versin de desinstalar. Nun puede desinstalase +UninstallUnknownEntry=Alcontrose una entrada desconocia (%1) nel rexistru pa desinstalar +ConfirmUninstall=Ta seguru que quier esborrar %1 y tolos sus componentes? +OnlyAdminCanUninstall=Esti programa nams pue desinstalalu un usuariu con privilexios d'alministraor. +UninstallStatusLabel=Por favor, espere demientres %1 quitase de su computaora. +UninstalledAll=%1 quitose de su computaora. +UninstalledMost=La desinstalacin de %1 fin.%n%nDalgunes coses nun pudieron esborrase. Pue ust quitales manualmente. +UninstalledAndNeedsRestart=Pa finar la desinstalacin de %1, la tien que reiniciar la computaora.%n%nQuier reiniciala agora? +UninstallDataCorrupted=L'archivu "%1" ta frayau. Nun puede desinstalase. +ConfirmDeleteSharedFileTitle=Quitar Archivos Compartios? +ConfirmDeleteSharedFile2=El sistema diz que esti archivu compartiu nun lo usa nengn otru programa. Quier quitar esti archivu compartiu?%n%nSi otros programes usen esti archivu y lo quita, podien dexar de furrular bien. Si nun ta seguru, escueya Non. Si nun quita l'archivu nu fair nengn dau. +SharedFileNameLabel=Nome d'archivu: +SharedFileLocationLabel=Llocalizacin: +WizardUninstalling=Estau de la Desinstalacin +StatusUninstalling=Desinstalando %1... diff --git a/Greenshot/releases/innosetup/Languages/Basque.isl b/Greenshot/releases/innosetup/Languages/Basque.isl new file mode 100644 index 000000000..a4b9cebeb --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Basque.isl @@ -0,0 +1,339 @@ +; *** Inno Setup version 5.5.3+ Basque messages *** +; +; Basque Translation: (EUS_Xabier Aramendi) (azpidatziak@gmail.com) +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Euskara +LanguageID=$042d +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Ezarpena +SetupWindowTitle=Ezarpena - %1 +UninstallAppTitle=Kentzea +UninstallAppFullTitle=Kentzea - %1 + +; *** Misc. common +InformationTitle=Argibideak +ConfirmTitle=Baieztatu +ErrorTitle=Akatsa + +; *** SetupLdr messages +SetupLdrStartupMessage=Honek %1 ezarriko du. Jarraitzea nahi duzu? +LdrCannotCreateTemp=Ezinezkoa aldibaterako agiri bat sortzea. Ezarpena utzita +LdrCannotExecTemp=Ezinezkoa agiria exekutatzea aldibaterako zuzenbidean. Ezarpena utzita + +; *** Startup error messages +LastErrorMessage=%1.%n%nAkatsa %2: %3 +SetupFileMissing=%1 agiria ez dago ezarpen zuzenbidean. Mesedez zuzendu arazoa edo lortu programaren kopia berri bat. +SetupFileCorrupt=Ezarpen agiriak hondatuta daude. Mesedez lortu programaren kopia berri bat. +SetupFileCorruptOrWrongVer=Ezarpen agiriak hondatuta daude, edo bateraezinak dira Ezartzaile bertsio honekin. Mesedez zuzendu arazoa edo lortu programaren kopia berri bat. +InvalidParameter=Parametro baliogabe bat igaro da komando lerroan:%n%n%1 +SetupAlreadyRunning=Ezarpena jadanik ekinean dago. +WindowsVersionNotSupported=Programa honek ez du zure ordenagailuan ekinean dagoen Windows bertsioa sostengatzen. +WindowsServicePackRequired=Programa honek %1 Service Pack %2 edo berriagoa behar du. + + +NotOnThisPlatform=Programa honek ez du ekingo hemen: %1. +OnlyOnThisPlatform=Programa hau hemen ekin behar da: %1. +OnlyOnTheseArchitectures=Programa hau hurrengo Windows arkitekturatarako diseinaturiko bertsioetan bakarrik ezarri daiteke:%n%n%1 +MissingWOW64APIs=Erabiltzen ari zaren Windows bertsioak ez du Ezartzaileak 64-biteko ezarpen bat egiteko behar dituen eginkizunak barneratzen. Arazo hau zuzentzeko, mesedez ezarri Service Pack %1. +WinVersionTooLowError=Programa honek %1 bertsioa %2 edo berriagoa behar du. +WinVersionTooHighError=Programa hau ezin da %1 bertsioa %2 edo berriagoan ezarria izan. +AdminPrivilegesRequired=Administrari bezala izena-emanda egon behar zara programa hau ezartzeko. +PowerUserPrivilegesRequired=Administrari bezala izena-emanda edo Boteredun Erabiltzaile taldeko kide bezala egon behar zara programa hau ezartzerakoan. +SetupAppRunningError=Ezartzaileak %1 ekinean dagoela atzeman du.%n%nMesedez itxi bere eskabide guztiak orain, orduan klikatu Ongi jarritzeko, edo Ezeztatu irtetzeko. +UninstallAppRunningError=Kentzaileak %1 ekinean dagoela atzeman du.%n%nMesedez itxi bere eskabide guztiak orain, orduan klikatu Ongi jarritzeko, edo Ezeztatu irtetzeko. + +; *** Misc. errors +ErrorCreatingDir=Ezartzaileak ezin izan du zuzenbidea sortu "%1" +ErrorTooManyFilesInDir=Ezinezkoa agiri bat sortzea "%1" zuzenbidean agiri gehiegi dituelako + +; *** Setup common messages +ExitSetupTitle=Irten Ezartzailetik +ExitSetupMessage=Ezarpena ez dago osatuta. Orain irtetzen bazara, programa ez da ezarriko.%n%nEzartzailea berriro edonoiz abiatu dezakezu ezarpena osatzeko.%n%nIrten Ezartzailetik? +AboutSetupMenuItem=&Ezartzaileari buruz... +AboutSetupTitle=Ezartzaileari buruz +AboutSetupMessage=%1 bertsioa %2%n%3%n%n%1 webgunea:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Atzera +ButtonNext=&Hurrengoa > +ButtonInstall=&Ezarri +ButtonOK=Ongi +ButtonCancel=Ezeztatu +ButtonYes=&Bai +ButtonYesToAll=Bai &Guztiari +ButtonNo=&Ez +ButtonNoToAll=E&z Guztiari +ButtonFinish=A&maitu +ButtonBrowse=&Bilatu... +ButtonWizardBrowse=B&ilatu... +ButtonNewFolder=Egi&n Agiritegi Berria + +; *** "Select Language" dialog messages +SelectLanguageTitle=Hautatu Ezarpen Hizkuntza +SelectLanguageLabel=Hautatu ezarpenean zehar erabiltzeko hizkuntza: + +; *** Common wizard text +ClickNext=Klikatu Hurrengoa jarraitzeko, edo Ezeztatu Ezartzailetik irtetzeko +BeveledLabel= +BrowseDialogTitle=Bilatu Agiritegia +BrowseDialogLabel=Hautatu agiritegi bat azpiko zerrendan, orduan klikatu Ongi +NewFolderName=Agiritegi Berria + +; *** "Welcome" wizard page +WelcomeLabel1=Ongi etorria [name] Ezarpen Laguntzailera +WelcomeLabel2=Honek [name/ver] zure ordenagailuan ezarriko du.%n%nGomendagarria da beste aplikazio guztiak istea jarraitu aurretik. + +; *** "Password" wizard page +WizardPassword=Sarhitza +PasswordLabel1=Ezarpen hau sarhitzez babestuta dago. +PasswordLabel3=Mesedez eman sarhitza, orduan klikatu Hurrengoa jarraitzeko. Sarhitzek hizki larri-xeheak bereizten dituzte. +PasswordEditLabel=&Sarhitza: +IncorrectPassword=Eman duzun sarhitza ez da zuzena. Mesedez saiatu berriro. + +; *** "License Agreement" wizard page +WizardLicense=Baimen Ituna +LicenseLabel=Mesedez irakurri hurrengo argibide garrantzitsuak jarraitu aurretik. +LicenseLabel3=Mesedez irakurri hurrengo Baimen Ituna. Itun honen baldintzak onartu behar dituzu ezarpenarekin jarraitu aurretik. +LicenseAccepted=&Onartzen dut ituna +LicenseNotAccepted=&Ez dut onartzen ituna + +; *** "Information" wizard pages +WizardInfoBefore=Argibideak +InfoBeforeLabel=Mesedez irakurri hurrengo argibide garrantzitsuak jarraitu aurretik. +InfoBeforeClickLabel=Ezarpenarekin jarraitzeko gertu zaudenean, klikatu Hurrengoa. +WizardInfoAfter=Argibideak +InfoAfterLabel=Mesedez irakurri hurrengo argibide garrantzitsuak jarraitu aurretik. +InfoAfterClickLabel=Ezarpenarekin jarraitzeko gertu zaudenean, klikatu Hurrengoa. + +; *** "User Information" wizard page +WizardUserInfo=Erabailtzaile Argibideak +UserInfoDesc=Mesedez sartu zure argibideak +UserInfoName=&Erabiltzaile Izena: +UserInfoOrg=&Antolakundea: +UserInfoSerial=&Serie Zenbakia: +UserInfoNameRequired=Izen bat sartu behar duzu. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Hautatu Helmuga Kokalekua +SelectDirDesc=Non ezarri behar da [name]? +SelectDirLabel3=Ezartzaileak [name] hurrengo agiritegian ezarriko du. +SelectDirBrowseLabel=Jarraitzeko, klikatu Hurrengoa. Beste agiritegi bat hautatzea nahi baduzu, klikatu Bilatu. +DiskSpaceMBLabel=Gutxienez [mb] MB-eko toki askea behar da diska gogorrean. +CannotInstallToNetworkDrive=Ezarpena ezin da sare gidagailu batean egin. +CannotInstallToUNCPath=Ezarpena ezin da UNC helburu batean egin. +InvalidPath=Helburu osoa gidagailu hizkiarekin sartu behar duzu; adibidez:%n%nC:\APP%n%nedo UNC helburu bat forma honetan:%n%n\\server\share +InvalidDrive=Hautatu duzun gidagailua edo UNC elkarbanaketa ez dago edo sarbidea ezinezkoa da. Mesedez hautatu beste bat. +DiskSpaceWarningTitle=Ez Dago Nahikoa Toki Diskan +DiskSpaceWarning=Ezarpenak gutxienez %1 KB-eko toki askea behar du ezartzeko, baina hautaturiko gidagailuak %2 KB bakarrik ditu eskuragarri.%n%nHorrela ere jarraitzea nahi duzu? +DirNameTooLong=Agiritegi izena edo helburua luzeegia da. +InvalidDirName=Agiritegi izena ez da baliozkoa. +BadDirName32=Agiritegi izenek ezin dute hurrengo hizkietako bat ere izan:%n%n%1 +DirExistsTitle=Agiritegia Badago +DirExists=Agiritegia:%n%n%1%n%njadanik badago. Horrela ere agiritegi horretan ezartzea nahi duzu? +DirDoesntExistTitle=Agiritegia Ez Dago +DirDoesntExist=Agiritegia:%n%n%1%n%nez dago. Nahi duzu agiritegia sortzea? + +; *** "Select Components" wizard page +WizardSelectComponents=Hautatu Osagaiak +SelectComponentsDesc=Zer osagai ezarri behar dira? +SelectComponentsLabel2=Hautatu ezartzea nahi dituzun osagaiak; garbitu ezartzea nahi ez dituzun osagaiak. Klikatu Hurrengoa jarraitzeko gertu zaudenean. +FullInstallation=Ezarpen osoa +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Ezarpen trinkoa +CustomInstallation=Norbere ezarpena +NoUninstallWarningTitle=Osagaiak Badaude +NoUninstallWarning=Ezartzaileak atzeman du hurrengo osagaiak jadanik zure ordenagailuan ezarrita daudela:%n%n%1%n%nOsagai hauek deshautatuz gero ez dira ezarriko.%n%nHorrela ere jarraitzea nahi duzu? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Oraingo hautapenak gutxienez [mb] MB-eko tokia behar du diskan. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Hautatu Eginkizun Gehigarriak +SelectTasksDesc=Zer eginkizun gehigarri burutu behar dira? +SelectTasksLabel2=Hautatu Ezartzaileak [name]-ren ezarpenean zehar burutzea nahi dituzun eginkizun gehigarriak, orduan klikatu Hurrengoa + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Hautatu Hasiera Menuko Agiritegia +SelectStartMenuFolderDesc=Non ezarri behar ditu Ezartzaileak programaren lasterbideak? +SelectStartMenuFolderLabel3=Ezartzaileak programaren lasterbideak hurrengo Hasiera Menuko agiritegian sortuko ditu. +SelectStartMenuFolderBrowseLabel=Jarraitzeko, klikatu Hurrengoa. Beste agiritegi bat hautatzea nahi baduzu, klikatu Bilatu. +MustEnterGroupName=Agiritegi izen bat sartu behar duzu. +GroupNameTooLong=Agiritegi izena edo helburua luzeegia da. +InvalidGroupName=Agiritegi izena ez da baliozkoa. +BadGroupName=Agiritegi izenak ezin du hurrengo hizkietako bat ere izan:%n%n%1 +NoProgramGroupCheck2=&Ez sortu Hasiera Menuko agiritegia + +; *** "Ready to Install" wizard page +WizardReady=Ezartzeko Gertu +ReadyLabel1=Ezartzailea orain gertu dago [name] zure ordenagailuan ezartzeko. +ReadyLabel2a=Klikatu Ezarri ezarpenarekin jarraitzeko, edo klikatu Atzera ezarpenen bat berrikustea edo aldatzea nahi baduzu. +ReadyLabel2b=Klikatu Ezarri ezarpenarekin jarraitzeko. +ReadyMemoUserInfo=Erabiltzaile argibideak: +ReadyMemoDir=Helmuga kokalekua: +ReadyMemoType=Ezarpen mota: +ReadyMemoComponents=Hautaturiko osagaiak: +ReadyMemoGroup=Hasiera Menuko agiritegia: +ReadyMemoTasks=Eginkizun gehigarriak: + +; *** "Preparing to Install" wizard page +WizardPreparing=Ezartzeko Gertatzen +PreparingDesc=Ezartzailea [name] zure ordenagailuan ezartzeko gertatzen ari da. +PreviousInstallNotCompleted=Aurreko programaren ezartze/kentzea ez dago osatuta. Zure ordenagailua berrabiarazi behar duzu ezarpena osatzeko.%n%nZure ordenagailua berrabiarazi ondoren, ekin Ezartzailea berriro [name]-ren ezarpena osatzeko. +CannotContinue=Ezarpenak ezin du jarraitu. Mesedez klikatu Ezeztatu irtetzeko. +ApplicationsFound=Hurrengo aplikazioak Ezartzaileak eguneratu behar dituen agiriak erabiltzen ari dira. Gomendagarria da Ezartzaileari aplikazio hauek berezgaitasunez istea ahalbidetzea. +ApplicationsFound2=Hurrengo aplikazioak Ezartzaileak eguneratu behar dituen agiriak erabiltzen ari dira. Gomendagarria da Ezartzaileari aplikazio hauek berezgaitasunez istea ahalbidetzea. Ezarpena osatu ondoren, Ezartzailea aplikazioak berrabiarazten saiatuko da. +CloseApplications=&Berezgaitasunez itxi aplikazioak +DontCloseApplications=&Ez itxi aplikazioak +ErrorCloseApplications=Ezartzaileak ezin ditu berezgaitasunez aplikazio guztiak itxi. Gomendagarria da Ezartzaileak eguneratu behar dituen agiriak erabiltzen ari diren aplikazio guztiak istea jarraitu aurretik. + +; *** "Installing" wizard page +WizardInstalling=Ezartzen +InstallingLabel=Mesedez itxaron Ezartzaileak [name] zure ordenagailuan ezartzen duen bitartean. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] Ezarpen Laguntzailea osatzen +FinishedLabelNoIcons=Ezartzaileak amaitu du [name] zure ordenagailuan ezartzeaz. +FinishedLabel=Ezartzaileak amaitu du [name] zure ordenagailuan ezartzea. Aplikazioa ezarritako ikurren bidez abiarazi daiteke. +ClickFinish=Klikatu Amaitu Ezartzailetik irtetzeko. +FinishedRestartLabel=[name]-ren ezarpena osatzeko, Ezartzaileak zure ordenagailua berrabiarazi behar du. Orain berrabiaraztea nahi duzu? +FinishedRestartMessage=[name]-ren ezarpena osatzeko, Ezartzaileak zure ordenagailua berrabiarazi behar du.%n%nOrain berrabiaraztea nahi duzu? +ShowReadmeCheck=Bai, IRAKURRI agiria ikustea nahi dut +YesRadio=&Bai, berrabiarazi ordenagailua orain +NoRadio=&Ez, geroago berrabiaraziko dut ordenagailua +; used for example as 'Run MyProg.exe' +RunEntryExec=Ekin %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Ikusi %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Ezarpenak Hurrengo Diska Behar Du +SelectDiskLabel2=Mesedez txertatu %1 Diska eta klikatu Ongi.%n%nDiska honetako agiriak azpian erakutsitakoa ez den beste agiritegi batean aurkitu badaitezke, sartu helburu zuzena edo klikatu Bilatu. +PathLabel=&Helburua: +FileNotInDir2="%1" agiria ezin da hemen aurkitu: "%2". Mesedez txertatu diska zuzena edo hautatu beste agiritegi bat. +SelectDirectoryLabel=Mesedez adierazi hurrengo diskaren kokalekua. + +; *** Installation phase messages +SetupAborted=Ezarpena ez da osatu.%n%nMesedez zuzendu arazoa eta ekin Ezartzailea berriro. +EntryAbortRetryIgnore=Klikatu Bersaiatu berriro saiatzeko, Ezikusi horrela ere jarraitzeko, edo Utzi ezarpena ezeztatzeko. + +; *** Installation status messages +StatusClosingApplications=Aplikazioak isten... +StatusCreateDirs=Zuzenbideak sortzen... +StatusExtractFiles=Agiriak ateratzen... +StatusCreateIcons=Lasterbideak sortzen... +StatusCreateIniEntries=INI sarrerak sortzen... +StatusCreateRegistryEntries=Erregistro sarrerak sortzen... +StatusRegisterFiles=Agiriak erregistratzen... +StatusSavingUninstall=Kentze argibideak gordetzen... +StatusRunProgram=Ezarpena amaitzen... +StatusRestartingApplications=Aplikazioak berrabiarazten... +StatusRollback=Aldaketak leheneratzen... + +; *** Misc. errors +ErrorInternal2=Barneko akatsa: %1 +ErrorFunctionFailedNoCode=%1 hutsegitea +ErrorFunctionFailed=%1 hutsegitea; kodea %2 +ErrorFunctionFailedWithMessage=%1 hutsegitea; kodea %2.%n%3 +ErrorExecutingProgram=Ezinezkoa agiria exekutatzea:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Akatsa erregistro giltza irekitzerakoan:%n%1\%2 +ErrorRegCreateKey=Akatsa erregistro giltza sortzerakoan:%n%1\%2 +ErrorRegWriteKey=Akatsa erregistro giltza idazterakoan:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Akatsa INI sarrera "%1" agirian sortzerakoan. + +; *** File copying errors +FileAbortRetryIgnore=Klikatu Bersaiatu berriro saitzeko, Ezikusi agiri hau jauzteko (ez da gomendatua), edo Utzi ezarpena ezeztatzeko. +FileAbortRetryIgnore2=Klikatu Bersaiatu berriro saitzeko, Ezikusi horrela ere jarraitzeko (ez da gomendatua), edo Utzi ezarpena ezeztatzeko. +SourceIsCorrupted=Iturburu agiria hondatuta dago. +SourceDoesntExist="%1" iturburu agiria ez dago +ExistingFileReadOnly=Dagoen agiria irakurtzeko-bakarrik bezala markatuta dago.%n%nKlikatu Bersaiatu irakurtzeko-bakarrik ezaugarria kentzeko eta saiatu berriro, Ezikusi agiri hau jauzteko, edo Utzi ezarpena ezeztatzeko. +ErrorReadingExistingDest=Akats bat gertatu da dagoen agiria irakurtzen saiatzerakoan: +FileExists=Agiria jadanik badago.%n%nNahi duzu Ezartzaileak gainidaztea? +ExistingFileNewer=Dagoen agiria Ezartzailea ezartzen saiatzen ari dena baino berriagoa da. Gomendagarria da dagoen agiriari heustea.%n%nDagoen agiriari heustea nahi diozu? +ErrorChangingAttr=Akats bat gertatu da dagoen agiriaren ezaugarriak aldatzen saiatzerakoan: +ErrorCreatingTemp=Akats bat gertatu da helmuga zuzenbidean agiri bat sortzen saiatzerakoan: +ErrorReadingSource=Akats bat gertatu da iturburu agiria irakurtzen saiatzerakoan: +ErrorCopying=Akats bat gertatu da agiri bat kopiatzen saiatzerakoan: +ErrorReplacingExistingFile=Akats bat gertatu da dagoen agiria ordezten saiatzerakoan: +ErrorRestartReplace=Berrabiarazte-Ordezte hutsegitea: +ErrorRenamingTemp=Akats bat gertatu da helmuga zuzenbideko agiri bat berrizendatzen saiatzerakoan: +ErrorRegisterServer=Ezinezkoa DLL/OCX erregistratzea: %1 +ErrorRegSvr32Failed=RegSvr32 hutsegitea %1 irteera kodearekin +ErrorRegisterTypeLib=Ezinezkoa liburutegi mota erregistratzea: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Akats bat gertatu da IRAKURRI agiria irekitzen saiatzerakoan. +ErrorRestartingComputer=Ezartzaileak ezin du ordenagailua berrabiarazi. Mesedez egin hau eskuz. + +; *** Uninstaller messages +UninstallNotFound="%1" agiria ez dago. Ezinezkoa kentzea +UninstallOpenError="%1" agiria ezin da ireki. Ezinezkoa kentzea +UninstallUnsupportedVer="%1" kentze ohar agiria kentzaile bertsio honek ezagutzen ez duen heuskarri batean dago. Ezinezkoa kentzea. +UninstallUnknownEntry=Sarrera ezezagun bat (%1) aurkitu da kentze oharrean +ConfirmUninstall=Zihur zaude %1 eta bere osagai guztiak erabat kentzea nahi dituzula? +UninstallOnlyOnWin64=Ezarpen hau 64-biteko Windows-etik bakarrik kendu daiteke. +OnlyAdminCanUninstall=Ezarpen hau administrari pribilegioak dituen erabiltzaile batek bakarrik kendu dezake. +UninstallStatusLabel=Mesedez itxaron %1 zure ordenagailutik kentzen den bitartean. +UninstalledAll=%1 ongi kendu da zure ordenagailutik. +UninstalledMost=%1-ren kentzea osatuta.%n%nZenbait gai ezin izan dira kendu. Hauek eskuz kendu daitezke. +UninstalledAndNeedsRestart=%1-ren kentzea osatzeko, zure ordenagailua berrabiarazi behar duzu.%n%nOrain berrabiaraztea nahi duzu? +UninstallDataCorrupted="%1" agiria hondatuta da. Ezinezkoa kentzea + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Ezabatu Agiri Elkarbanatua? +ConfirmDeleteSharedFile2=Sistemaren arabera hurrengo agiri elkarbanatua ez du inongo programak erabiliko hemendik aurrera. Kentzaileak agiri hau ezabatu dezan nahi duzu?%n%nProgramaren bat agiri hau erabiltzen ari da oraindik eta ezabatzen baduzu, programa hori ez da egoki ibiliko. Zihur ez bazaude, hautatu Ez. Agiria sisteman uzteak ez du inongo kalterik eragingo. +SharedFileNameLabel=Agiri izena: +SharedFileLocationLabel=Kokalekua: +WizardUninstalling=Kentze Egoera +StatusUninstalling=Kentzen %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Ezartzen %1. +ShutdownBlockReasonUninstallingApp=Kentzen %1. +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] +;Inno Setup Built-in Custom Messages +NameAndVersion=%1 %2 bertsioa +AdditionalIcons=Ikur gehigarriak: +CreateDesktopIcon=Sortu &mahaigain ikurra +CreateQuickLaunchIcon=Sortu &Abiarazpen Azkarreko ikurra +ProgramOnTheWeb=%1 Webean +UninstallProgram=Kendu %1 +LaunchProgram=Abiarazi %1 +AssocFileExtension=&Elkartu %1 programa %2 agiri luzapenarekin +AssocingFileExtension=%1 programa %2 agiri luzapenarekin elkartzen... +AutoStartProgramGroupDescription=Abirazpena: +AutoStartProgram=Berezgaitasunez abiarazi %1 +AddonHostProgramNotFound=%1 ezin da aurkitu hautatu duzun agiritegian.%n%nHorrela ere jarraitzea nahi duzu? diff --git a/Greenshot/releases/innosetup/Languages/Belarusian.isl b/Greenshot/releases/innosetup/Languages/Belarusian.isl new file mode 100644 index 000000000..25f616df8 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Belarusian.isl @@ -0,0 +1,319 @@ +; *** Inno Setup version 5.5.3+ Belarusian messages *** +; +; Translated by Aleg Azarousky, http://belazar.info/belsoft/ +; E-mail: olegtut@tut.by + +[LangOptions] +LanguageName=<0411><0435><043B><0430><0440><0443><0441><043A><0430><044F> +LanguageID=$0423 +LanguageCodePage=1251 + +[Messages] + +; *** Application titles +SetupAppTitle= +SetupWindowTitle= %1 +UninstallAppTitle= +UninstallAppFullTitle= %1 + +; *** Misc. common +InformationTitle= +ConfirmTitle= +ErrorTitle= + +; *** SetupLdr messages +SetupLdrStartupMessage= %1. ? +LdrCannotCreateTemp= . +LdrCannotExecTemp= . 븢 + +; *** Startup error messages +LastErrorMessage=%1.%n%n %2: %3 +SetupFileMissing= %1 . , , . +SetupFileCorrupt= 븢 . , . +SetupFileCorruptOrWrongVer= 븢 븢. , , . +InvalidParameter= :%n%n%1 +SetupAlreadyRunning= . +WindowsVersionNotSupported= Windows . +WindowsServicePackRequired= %1 Service Pack %2 . +NotOnThisPlatform= %1. +OnlyOnThisPlatform= %1. +OnlyOnTheseArchitectures= Windows :%n%n%1 +MissingWOW64APIs= Windows 64- . , (Service Pack) %1. +WinVersionTooLowError= %1 %2 . +WinVersionTooHighError= %1 %2 . +AdminPrivilegesRequired= , . +PowerUserPrivilegesRequired= , . +SetupAppRunningError=, %1!%n%n , , - . +UninstallAppRunningError=, %1!%n%n , , , - . + +; *** Misc. errors +ErrorCreatingDir= %1 +ErrorTooManyFilesInDir= %1, + +; *** Setup common messages +ExitSetupTitle= +ExitSetupMessage= . , .%n%n 븢 , .%n%n 븢? +AboutSetupMenuItem= ... +AboutSetupTitle= +AboutSetupMessage=%1, %2%n%3%n%n %1:%n%4 +AboutSetupNote= +TranslatorNote=Belarusian translation by Aleg Azarousky, http://belazar.info/belsoft/ + +; *** Buttons +ButtonBack=< & +ButtonNext=& > +ButtonInstall=& +ButtonOK= +ButtonCancel= +ButtonYes=& +ButtonYesToAll= & +ButtonNo=& +ButtonNoToAll=& +ButtonFinish= +ButtonBrowse=&... +ButtonWizardBrowse=&... +ButtonNewFolder=& + +; *** "Select Language" dialog messages +SelectLanguageTitle= 븢 +SelectLanguageLabel= : + +; *** Common wizard text +ClickNext= , - . +BeveledLabel=InnoSetup +BrowseDialogTitle= +BrowseDialogLabel= . +NewFolderName= + +; *** "Welcome" wizard page +WelcomeLabel1= [name] +WelcomeLabel2= [name/ver] .%n%n , . + +; *** "Password" wizard page +WizardPassword= +PasswordLabel1=븢 . +PasswordLabel3= , . . +PasswordEditLabel=&: +IncorrectPassword=ճ . . + +; *** "License Agreement" wizard page +WizardLicense=˳ +LicenseLabel= , , . +LicenseLabel3= , . . +LicenseAccepted= & +LicenseNotAccepted= & + +; *** "Information" wizard pages +WizardInfoBefore= +InfoBeforeLabel= . +InfoBeforeClickLabel= , . +WizardInfoAfter= +InfoAfterLabel= . +InfoAfterClickLabel= , . + +; *** "User Information" wizard page +WizardUserInfo= +UserInfoDesc= , . +UserInfoName= : +UserInfoOrg=&: +UserInfoSerial=& : +UserInfoNameRequired= . + +; *** "Select Destination Location" wizard page +WizardSelectDir= +SelectDirDesc= [name]? +SelectDirLabel3= [name] : +SelectDirBrowseLabel= . , . +DiskSpaceMBLabel= [mb] . +CannotInstallToNetworkDrive= . +CannotInstallToUNCPath= UNC-. +InvalidPath= , :%n%nC:\APP%n%n UNC:%n%n\\\ +InvalidDrive= . , . +DiskSpaceWarningTitle= +DiskSpaceWarning=븢 %1 , %2 .%n%n ? +DirNameTooLong= . +InvalidDirName= . +BadDirName32= :%n%n%1 +DirExistsTitle= +DirExists=:%n%n%1%n%n . ? +DirDoesntExistTitle= +DirDoesntExist=:%n%n%1%n%n . ? + +; *** "Select Components" wizard page +WizardSelectComponents= +SelectComponentsDesc= ? +SelectComponentsLabel2= , 븢; . , . +FullInstallation= +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation= +CustomInstallation= +NoUninstallWarningTitle= +NoUninstallWarning=, :%n%n%1%n%n , .%n%n ? +ComponentSize1=%1 +ComponentSize2=%1 +ComponentsDiskSpaceMBLabel= [mb] . + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks= +SelectTasksDesc= ? +SelectTasksLabel2= , [name], . + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup= +SelectStartMenuFolderDesc= , . +SelectStartMenuFolderLabel3= . +SelectStartMenuFolderBrowseLabel= - . - . +MustEnterGroupName= . +GroupNameTooLong= . +InvalidGroupName= . +BadGroupName= :%n%n%1 +NoProgramGroupCheck2=& + +; *** "Ready to Install" wizard page +WizardReady= +ReadyLabel1= [name] . +ReadyLabel2a= , - . +ReadyLabel2b= . +ReadyMemoUserInfo= : +ReadyMemoDir= : +ReadyMemoType= 븢: +ReadyMemoComponents= : +ReadyMemoGroup= : +ReadyMemoTasks= : + +; *** "Preparing to Install" wizard page +WizardPreparing= +PreparingDesc= [name] . +PreviousInstallNotCompleted= . , .%n%n 븢 , [name]. +CannotContinue= . . +ApplicationsFound= , 븢 . 븢 . +ApplicationsFound2= , 븢 . 븢 . , 븢 . +CloseApplications=& +DontCloseApplications=& +ErrorCloseApplications=븢 . , , . + +; *** "Installing" wizard page +WizardInstalling= +InstallingLabel=, [name] 븢 . + +; *** "Setup Completed" wizard page +FinishedHeadingLabel= [name]. +FinishedLabelNoIcons= [name] . +FinishedLabel= [name] . . +ClickFinish= , 븢. +FinishedRestartLabel= [name] . ? +FinishedRestartMessage= [name] .%n%n ? +ShowReadmeCheck= +YesRadio=&, +NoRadio=&, +; used for example as 'Run MyProg.exe' +RunEntryExec= %1 +; used for example as 'View Readme.txt' +RunEntryShellExec= %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle= +SelectDiskLabel2= %1 .%n%n , , , . +PathLabel=&: +FileNotInDir2= %1 %2. . +SelectDirectoryLabel= . + +; *** Installation phase messages +SetupAborted= .%n%n , 븢 +EntryAbortRetryIgnore= , , - , - . + +; *** Installation status messages +StatusClosingApplications= ... +StatusCreateDirs= ... +StatusExtractFiles= ... +StatusCreateIcons= ... +StatusCreateIniEntries= INI-... +StatusCreateRegistryEntries= ... +StatusRegisterFiles= ... +StatusSavingUninstall= ... +StatusRunProgram= ... +StatusRestartingApplications= ... +StatusRollback= ... + +; *** Misc. errors +ErrorInternal2= %1 +ErrorFunctionFailedNoCode=%1: +ErrorFunctionFailed=%1: ; %2 +ErrorFunctionFailedWithMessage=%1: ; %2.%n%3 +ErrorExecutingProgram= :%n%1 + +; *** Registry errors +ErrorRegOpenKey= :%n%1\%2 +ErrorRegCreateKey= :%n%1\%2 +ErrorRegWriteKey= :%n%1\%2 + +; *** INI errors +ErrorIniEntry= INI- %1. + +; *** File copying errors +FileAbortRetryIgnore= , , - ( ), - . +FileAbortRetryIgnore2= , , - ( ), - . +SourceIsCorrupted= . +SourceDoesntExist= %1 . +ExistingFileReadOnly= .%n%n , , - , - . +ErrorReadingExistingDest= : +FileExists= .%n%n ? +ExistingFileNewer= , 븢. .%n%n ? +ErrorChangingAttr= : +ErrorCreatingTemp= : +ErrorReadingSource= : +ErrorCopying= : +ErrorReplacingExistingFile= : +ErrorRestartReplace= : +ErrorRenamingTemp= : +ErrorRegisterServer= DLL/OCX: %1 +ErrorRegSvr32Failed= RegSvr32, %1 +ErrorRegisterTypeLib= : %1 + +; *** Post-installation errors +ErrorOpeningReadme= README: +ErrorRestartingComputer=븢 . . + +; *** Uninstaller messages +UninstallNotFound= %1 , . +UninstallOpenError= %1, . +UninstallUnsupportedVer= %1 븢. . +UninstallUnknownEntry= (%1) +ConfirmUninstall= %1 ? +UninstallOnlyOnWin64= 64- Windows. +OnlyAdminCanUninstall= . +UninstallStatusLabel=, %1 . +UninstalledAll= %1 . +UninstalledMost= %1 .%n%n . . +UninstalledAndNeedsRestart= %1, .%n%nֳ ? +UninstallDataCorrupted= %1 . . + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle= ? +ConfirmDeleteSharedFile2=ѳ , . ?%n%n , , . - . . +SharedFileNameLabel= : +SharedFileLocationLabel=: +WizardUninstalling= +StatusUninstalling= %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp= %1. +ShutdownBlockReasonUninstallingApp= %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1, %2 +AdditionalIcons= : +CreateDesktopIcon= & +CreateQuickLaunchIcon= & +ProgramOnTheWeb= %1 +UninstallProgram= %1 +LaunchProgram= %1 +AssocFileExtension=& %1 %2 +AssocingFileExtension= %1 %2... +AutoStartProgramGroupDescription=: +AutoStartProgram= %1 +AddonHostProgramNotFound=%1 .%n%n ? diff --git a/Greenshot/releases/innosetup/Languages/Bengali.islu b/Greenshot/releases/innosetup/Languages/Bengali.islu new file mode 100644 index 000000000..846093a33 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Bengali.islu @@ -0,0 +1,336 @@ +; *** Inno Setup version 5.5.3+ Bengali messages *** +; Translated by Mehedi Shanto [ mehediDshanto@gmail.com ] +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<09AC><09BE><0982><09B2><09BE> +LanguageID=$0445 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +DialogFontSize=10 +;WelcomeFontName= +WelcomeFontSize=15 +;TitleFontName= +TitleFontSize=35 +;CopyrightFontName= +CopyrightFontSize=9 + +[Messages] + +; *** Application titles +SetupAppTitle=সেটআপ +SetupWindowTitle=সেটআপ - %1 +UninstallAppTitle=আনইনস্টল +UninstallAppFullTitle=%1 আনইনস্টল + +; *** Misc. common +InformationTitle=তথ্যাদি +ConfirmTitle=নিশ্চিতকরণ +ErrorTitle=সমস্যা + +; *** SetupLdr messages +SetupLdrStartupMessage=এর মাধ্যমে %1 ইনস্টল হবে। আপনি কি এই প্রক্রিয়াটি চলমান রাখতে চান? +LdrCannotCreateTemp=টেম্পোরারি ফাইল তৈরি করা যাচ্ছে না। সেটআপ প্রক্রিয়া অসফলভাবে বন্ধ হয়ে গেছে +LdrCannotExecTemp=টেম্পোরারি ডাইরেক্টরিতে ফাইল সম্পাদন করা যাচ্ছে না। সেটআপ প্রক্রিয়া অসফলভাবে বন্ধ হয়ে গেছে + +; *** Startup error messages +LastErrorMessage=%1.%n%nসমস্যা %2: %3 +SetupFileMissing=%1 এই ফাইলটি ইনস্টল প্রক্রিয়ার ডাইরেক্টরিতে নেই। অনুগ্রহপূর্বক সমস্যাটি সংশোধন করুন অথবা এই প্রোগ্রামটির একটি নতুন প্রতিলিপি সংগ্রহ করুন। +SetupFileCorrupt=সেটআপের ফাইলসমূহ বিকৃত হয়ে গেছে। অনুগ্রহপূর্বক এই প্রোগ্রামটির একটি নতুন প্রতিলিপি সংগ্রহ করুন। +SetupFileCorruptOrWrongVer=সেটআপের ফাইলসমূহ বিকৃত হয়ে গেছে, অথবা সেটআপের এই সংস্করণটির সাথে সুসঙ্গত নয়। অনুগ্রহপূর্বক সমস্যাটি সংশোধন করুন অথবা এই প্রোগ্রামটির একটি নতুন প্রতিলিপি সংগ্রহ করুন। +InvalidParameter=কমান্ড লাইনে একটি অগ্রহণযোগ্য প্যারামিটার দেয়া হয়েছে:%n%n%1 +SetupAlreadyRunning=সেটআপ প্রক্রিয়া ইতিমধ্যে চলমান রয়েছে। +WindowsVersionNotSupported=আপনার কম্পিউটারে চলমান Windowsএর সংস্করণটিকে এই প্রোগ্রামটি সমর্থন করে না। +WindowsServicePackRequired=এই প্রোগ্রামটির জন্য %1 Service Pack %2 বা পরবর্তী সংস্করণসমূহ প্রয়োজন। +NotOnThisPlatform=এই প্রোগ্রামটি %1এ চালনা করা যাবে না। +OnlyOnThisPlatform=এই প্রোগ্রামটি চালনা করতে অবশ্যই %1 দরকার। +OnlyOnTheseArchitectures=এই প্রোগ্রামটি শুধুমাত্র সেসব Windowsএর সংস্করণে ইনস্টল করা যাবে যেগুলো তৈরি করা হয়েছে নিম্নোক্ত প্রসেসর আর্কিটেক্টচারসমূহের জন্য:%n%n%1 +MissingWOW64APIs=আপনি Windowsএর যে সংস্করণটি চালাচ্ছেন সেটিতে 64-বিট ইনস্টল প্রক্রিয়া সম্পাদন করার জন্য সেটআপের প্রয়োজনীয় ব্যবহার্যসমূহ অন্তর্ভুক্ত নেই। এই সমস্যাটি সমাধান করতে, অনুগ্রহপূর্বক Service Pack %1 ইনস্টল করুন। +WinVersionTooLowError=এই প্রোগ্রামটির জন্য %1এর সংস্করণ %2 বা পরবর্তী সংস্করণসমূহ প্রয়োজন। +WinVersionTooHighError=এই প্রোগ্রামটি %1এর সংস্করণ %2 বা পরবর্তী সংস্করণসমূহে ইনস্টল করা যাবে না। +AdminPrivilegesRequired=এই প্রোগ্রামটি ইনস্টল করতে আপনাকে একটি অ্যাডমিনিস্ট্রেটর একাউন্ট থেকে লগ ইন করতে হবে। +PowerUserPrivilegesRequired=এই প্রোগ্রামটি ইনস্টল করতে আপনাকে একটি অ্যাডমিনিস্ট্রেটর অথবা পাওয়ার ইউজারস্‌ গ্রুপের সদস্য একাউন্ট থেকে লগ ইন করতে হবে। +SetupAppRunningError=সেটআপ সনাক্ত করেছে যে %1 এই মুহূর্তে চলমান রয়েছে।%n%nঅনুগ্রহপূর্বক অন্যান্য সকল চালনাকৃত %1 এই মুহূর্তে বন্ধ করুন, এবং সেটআপ প্রক্রিয়া চলমান রাখতে "ঠিক আছে", অথবা বন্ধ করতে "বাতিল করি" ক্লিক করুন। +UninstallAppRunningError=আনইনস্টল সনাক্ত করেছে যে %1 এই মুহূর্তে চলমান রয়েছে।%n%nঅনুগ্রহপূর্বক অন্যান্য সকল চালনাকৃত %1 এই মুহূর্তে বন্ধ করুন, এবং আনইনস্টল চলমান রাখতে "ঠিক আছে", অথবা বন্ধ করতে "বাতিল করি" ক্লিক করুন। + +; *** Misc. errors +ErrorCreatingDir=সেটআপ "%1" ডাইরেক্টরিটি তৈরি করতে ব্যর্থ হয়েছে +ErrorTooManyFilesInDir=ডাইরেক্টরি "%1"এ অনেক বেশি ফাইল থাকার কারণে একটি ফাইল তৈরি করা যাচ্ছে না + +; *** Setup common messages +ExitSetupTitle=সেটআপ বন্ধ করি +ExitSetupMessage=সেটআপ সম্পূর্ণরূপে শেষ হয়নি। আপনি যদি এখন বন্ধ করেন, প্রোগ্রামটি ইনস্টল করা হবে না।%n%nআপনি অন্য কোন সময় পুনরায় সেটআপ চালনা করে ইনস্টল প্রক্রিয়াটি সম্পূর্ণরূপে শেষ করতে পারেন।%n%nসেটআপ প্রক্রিয়া কি বন্ধ করবেন? +AboutSetupMenuItem=সেটআপ বিষয়ক...(&A) +AboutSetupTitle=সেটআপ বিষয়ক +AboutSetupMessage=%1এর সংস্করণ %2%n%3%n%n%1 হোম পেইজ:%n%4 +AboutSetupNote= +TranslatorNote=বাংলা অনুবাদটি সম্পাদনা করেছে মেহেদী শান্ত + +; *** Buttons +ButtonBack=< পূর্ববর্তী(&B) +ButtonNext=পরবর্তী(&N) > +ButtonInstall=ইনস্টল করি(&I) +ButtonOK=ঠিক আছে +ButtonCancel=বাতিল করি +ButtonYes=হ্যাঁ(&Y) +ButtonYesToAll=সকলক্ষেত্রেই হ্যাঁ(&A) +ButtonNo=না(&N) +ButtonNoToAll=সকলক্ষেত্রেই না(&O) +ButtonFinish=শেষ করি(&F) +ButtonBrowse=ব্রাউজ করি...(&B) +ButtonWizardBrowse=ব্রাউজ করি...(&R) +ButtonNewFolder=নতুন ফোল্ডার বানাই(&M) + +; *** "Select Language" dialog messages +SelectLanguageTitle=সেটআপের ভাষা নির্ধারণ +SelectLanguageLabel=ইনস্টল প্রক্রিয়া চলাকালীন ব্যবহার্য ভাষা নির্ধারণ করুন: + +; *** Common wizard text +ClickNext=সেটআপ প্রক্রিয়া চলমান রাখতে "পরবর্তী"তে, কিংবা বন্ধ করতে "বাতিল করি" ক্লিক করুন। +BeveledLabel= +BrowseDialogTitle=ফোল্ডার ব্রাউজ করি +BrowseDialogLabel=নিচের তালিকা থেকে একটি ফোল্ডার নির্দিষ্ট করে "ঠিক আছে" ক্লিক করুন। +NewFolderName=New Folder + +; *** "Welcome" wizard page +WelcomeLabel1=[name]এর সেটআপ উইজার্ডে আপনাকে স্বাগতম +WelcomeLabel2=এর মাধ্যমে আপনার কম্পিউটারে [name/ver] ইনস্টল করা হবে।%n%nপ্রক্রিয়াটি চালিয়ে যাওয়ার পূর্বে অন্যান্য সকল অ্যাপ্লিকেশন বন্ধ করার পরামর্শ দেয়া যাচ্ছে। + +; *** "Password" wizard page +WizardPassword=পাসওয়ার্ড +PasswordLabel1=এই ইনস্টল প্রক্রিয়াটি পাসওয়ার্ড দ্বারা সংরক্ষিত। +PasswordLabel3=সেটআপ প্রক্রিয়া চলমান রাখতে অনুগ্রহপূর্বক পাসওয়ার্ডটি প্রয়োগ করে "পরবর্তী" ক্লিক করুন। পাসওয়ার্ডে বড়/ছোট হাতের অক্ষর সঠিকভাবে প্রয়োগ করতে হবে। +PasswordEditLabel=পাসওয়ার্ড(&P): +IncorrectPassword=আপনি যে পাসওয়ার্ডটি প্রবেশ করেছেন সেটি সঠিক নয়। অনুগ্রহপূর্বক পুনরায় চেষ্টা করুন। + +; *** "License Agreement" wizard page +WizardLicense=অনুমতি চুক্তি +LicenseLabel=সেটআপের পরবর্তী ধাপে যাওয়ার আগে অনুগ্রহপূর্বক নিম্নোক্ত গুরুত্বপূর্ণ তথ্যাদি পড়ুন। +LicenseLabel3=অনুগ্রহপূর্বক নিম্নোক্ত অনুমতি চুক্তিটি পড়ুন। ইনস্টল প্রক্রিয়া চলমান রাখতে আপনাকে অবশ্যই এই চুক্তির শর্তাবলী মেনে নিতে হবে। +LicenseAccepted=আমি চুক্তিটি মেনে নিলাম(&A) +LicenseNotAccepted=আমি চুক্তিটি মেনে নিলাম না(&D) + +; *** "Information" wizard pages +WizardInfoBefore=তথ্যাদি +InfoBeforeLabel=সেটআপের পরবর্তী ধাপে যাওয়ার আগে অনুগ্রহপূর্বক নিম্নোক্ত গুরুত্বপূর্ণ তথ্যাদি পড়ুন। +InfoBeforeClickLabel=সেটআপ প্রক্রিয়াটি চলমান রাখতে প্রস্তুত হলে, "পরবর্তী" ক্লিক করুন। +WizardInfoAfter=তথ্যাদি +InfoAfterLabel=সেটআপের পরবর্তী ধাপে যাওয়ার আগে অনুগ্রহপূর্বক নিম্নোক্ত গুরুত্বপূর্ণ তথ্যাদি পড়ুন। +InfoAfterClickLabel=সেটআপ প্রক্রিয়াটি চলমান রাখতে প্রস্তুত হলে, "পরবর্তী" ক্লিক করুন। + +; *** "User Information" wizard page +WizardUserInfo=ব্যবহারকারী সম্পর্কিত তথ্যাদি +UserInfoDesc=অনুগ্রহপূর্বক আপনার সম্পর্কিত তথ্যাদি প্রবেশ করুন। +UserInfoName=ব্যবহারকারীর নাম(&U): +UserInfoOrg=প্রতিষ্ঠান(&O): +UserInfoSerial=সিরিয়াল নাম্বার(&S): +UserInfoNameRequired=আপনাকে অবশ্যই নাম প্রবেশ করতে হবে। + +; *** "Select Destination Location" wizard page +WizardSelectDir=গন্তব্যের অবস্থান নির্ধারণ +SelectDirDesc=[name] কোথায় ইনস্টল করা হবে? +SelectDirLabel3=সেটআপ প্রক্রিয়া [name]কে নিম্নোক্ত ফোল্ডারে ইনস্টল করতে যাচ্ছে। +SelectDirBrowseLabel=সেটআপ প্রক্রিয়া চলমান রাখতে, "পরবর্তী" ক্লিক করুন। ইনস্টলের জন্য ভিন্ন ফোল্ডার নির্ধারণ করতে চাইলে "ব্রাউজ করি" ক্লিক করুন। +DiskSpaceMBLabel=নির্ধারিত ড্রাইভে কমপক্ষে [mb] MB খালি জায়গা থাকতে হবে। +CannotInstallToNetworkDrive=সেটআপ একটি নেটওয়ার্ক ড্রাইভে ইনস্টল করা সম্ভব নয়। +CannotInstallToUNCPath=সেটআপ একটি UNC পথে ইনস্টল করা সম্ভব নয়। +InvalidPath=আপনাকে অবশ্যই ড্রাইভ লেটার সহ একটি সম্পূর্ণ অবস্থান প্রবেশ করতে হবে; উদাহরণ স্বরূপ:%n%nC:\APP%n%nঅথবা একটি UNC পথ যা দেখতে হবে এই রূপ:%n%n\\server\share +InvalidDrive=আপনি যে ড্রাইভ বা UNC shareটি নির্ধারণ করেছেন সেটির অস্তিত্ব নেই অথবা সেটিতে প্রবেশ করা যাচ্ছে না। অনুগ্রহপূর্বক অন্য অবস্থান নির্ধারণ করুন। +DiskSpaceWarningTitle=নির্ধারিত ড্রাইভে পর্যাপ্ত জায়গা নেই +DiskSpaceWarning=ইনস্টল করতে সেটআপের কমপক্ষে %1 KB খালি জায়গা থাকতে হবে, কিন্তু নির্ধারিত ড্রাইভে রয়েছে মাত্র %2 KB।%n%nআপনি কি যাই হোক প্রক্রিয়াটি চলমান রাখতে চান? +DirNameTooLong=নির্ধারিত ফোল্ডারটির নাম অথবা অবস্থান অত্যন্ত দীর্ঘ। +InvalidDirName=নির্ধারিত ফোল্ডারের নামটি অগ্রহণযোগ্য। +BadDirName32=ফোল্ডারের নামে নিম্নোক্ত ক্যারেক্টারসমূহ ব্যবহার করা যাবে না:%n%n%1 +DirExistsTitle=ফোল্ডারটি বিদ্যমান রয়েছে +DirExists=নিম্নোক্ত ফোল্ডার:%n%n%1%n%nইতিমধ্যে বিদ্যমান রয়েছে। আপনি কি যাই হোক এই ফোল্ডারটিতেই ইনস্টল করতে চান? +DirDoesntExistTitle=ফোল্ডারটির অস্তিত্ব নেই +DirDoesntExist=নিম্নোক্ত ফোল্ডার:%n%n%1%n%nএর অস্তিত্ব নেই। আপনি কি ফোল্ডারটি তৈরি করতে চান? + +; *** "Select Components" wizard page +WizardSelectComponents=উপাদানসমূহ নির্ধারণ +SelectComponentsDesc=কোন কোন উপাদানসমূহ ইনস্টল করা হবে? +SelectComponentsLabel2=যে সকল উপাদানসমূহ আপনি ইনস্টল করতে চান সেগুলো নির্ধারণ করুন; যেগুলো ইনস্টল করতে চান না সেগুলো খালি করুন। প্রক্রিয়াটি চলমান রাখতে প্রস্তুত হলে, "পরবর্তী" ক্লিক করুন। +FullInstallation=সম্পূর্ণ ইনস্টল প্রক্রিয়া +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=ঘনবিন্যস্ত ইনস্টল প্রক্রিয়া +CustomInstallation=ব্যক্তি-নির্ধারিত ইনস্টল প্রক্রিয়া +NoUninstallWarningTitle=উপাদানসমূহ বিদ্যমান রয়েছে +NoUninstallWarning=সেটআপ সনাক্ত করেছে যে নিম্নোক্ত উপাদানসমূহ ইতিমধ্যে আপনার কম্পিউটারে ইনস্টল করা রয়েছে:%n%n%1%n%nএই উপাদানসমূহ অনির্ধারণ করে দিলে তা আনইনস্টল হবে না।%n%nআপনি কি যাই হোক প্রক্রিয়াটি চলমান রাখতে চান? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=নির্ধারণকৃত উপাদানসমূহের জন্যে কমপক্ষে [mb] MB জায়গা প্রয়োজন হবে। + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=অতিরিক্ত কাজসমূহ নির্ধারণ +SelectTasksDesc=কোন কোন অতিরিক্ত কাজসমূহ সম্পাদন করা হবে? +SelectTasksLabel2=[name] ইনস্টলের সময় যে সকল অতিরিক্ত কাজসমূহ সেটআপের মাধ্যমে সম্পাদন করতে চান, সেগুলো নির্ধারণ করে "পরবর্তী"তে ক্লিক করুন। + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=স্টার্ট মেন্যুর ফোল্ডার নির্ধারণ +SelectStartMenuFolderDesc=সেটআপ কোথায় প্রোগ্রামটির শর্টকাটসমূহ স্থাপন করবে? +SelectStartMenuFolderLabel3=সেটআপ প্রোগ্রামটির শর্টকাটসমূহ নিম্নোক্ত স্টার্ট মেন্যুর ফোল্ডারে তৈরি করবে। +SelectStartMenuFolderBrowseLabel=প্রক্রিয়াটি চলমান রাখতে, "পরবর্তী" ক্লিক করুন। ভিন্ন ফোল্ডার নির্ধারণ করতে চাইলে "ব্রাউজ করি" ক্লিক করুন। +MustEnterGroupName=আপনাকে অবশ্যই একটি ফোল্ডারের নাম প্রবেশ করতে হবে। +GroupNameTooLong=নির্ধারিত ফোল্ডারটির নাম অথবা অবস্থান অত্যন্ত দীর্ঘ। +InvalidGroupName=নির্ধারিত ফোল্ডারের নামটি অগ্রহণযোগ্য। +BadGroupName=ফোল্ডারের নামে নিম্নোক্ত ক্যারেক্টারসমূহ ব্যবহার করা যাবে না:%n%n%1 +NoProgramGroupCheck2=স্টার্ট মেন্যুতে ফোল্ডার তৈরি করা হবে না(&D) + +; *** "Ready to Install" wizard page +WizardReady=ইনস্টল করতে প্রস্তুত +ReadyLabel1=সেটআপ এখন আপনার কম্পিউটারে [name]এর ইনস্টল প্রক্রিয়া আরম্ভ করার জন্য প্রস্তুত। +ReadyLabel2a=ইনস্টল প্রক্রিয়া চলমান রাখতে "ইনস্টল করি" ক্লিক করুন, অথবা সেটিংসমূহ পুনর্বিবেচনা বা কোন সেটিং পরিবর্তন করতে চাইলে "পূর্ববর্তী" ক্লিক করুন। +ReadyLabel2b=ইনস্টল প্রক্রিয়া চলমান রাখতে "ইনস্টল করি" ক্লিক করুন। +ReadyMemoUserInfo=ব্যবহারকারী সম্পর্কিত তথ্যাদি: +ReadyMemoDir=গন্তব্যের অবস্থান: +ReadyMemoType=সেটআপের ধরন: +ReadyMemoComponents=নির্ধারণকৃত উপাদানসমূহ: +ReadyMemoGroup=স্টার্ট মেন্যুর ফোল্ডার: +ReadyMemoTasks=অতিরিক্ত কাজসমূহ: + +; *** "Preparing to Install" wizard page +WizardPreparing=ইনস্টল প্রক্রিয়ার প্রস্তুতি চলছে +PreparingDesc=সেটআপ আপনার কম্পিউটারে [name] ইনস্টল করার প্রস্তুতি নিচ্ছে। +PreviousInstallNotCompleted=পূর্বকার কোন প্রোগ্রামের ইনস্টল/অপসারণ প্রক্রিয়া সম্পূর্ণরূপে শেষ হয়ে ছিল না। সেই ইনস্টল প্রক্রিয়াটি সম্পূর্ণরূপে শেষ করতে কম্পিউটার পুনরায় চালনা করতে হবে।%n%n[name]এর ইনস্টল প্রক্রিয়া সম্পূর্ণরূপে শেষ করার জন্যে কম্পিউটার পুনরায় চালনা করার পর, সেটআপ পুনরায় চালনা করুন। +CannotContinue=সেটআপ প্রক্রিয়া চলমান রাখা যাচ্ছে না, প্রক্রিয়াটি বন্ধ করতে অনুগ্রহপূর্বক "বাতিল করি" ক্লিক করুন। +ApplicationsFound=নিম্নোক্ত অ্যাপ্লিকেশনসমূহ এমন ফাইলসমূহ ব্যবহার করছে যা সেটআপের মাধ্যমে হালনাগাদ করতে হবে। এই অ্যাপ্লিকেশনসমূহ স্বয়ংক্রিয়ভাবে বন্ধ করণে সেটআপকে অনুমতি প্রদানে পরামর্শ দেওয়া যাচ্ছে। +ApplicationsFound2=নিম্নোক্ত অ্যাপ্লিকেশনসমূহ এমন ফাইলসমূহ ব্যবহার করছে যা সেটআপের মাধ্যমে হালনাগাদ করতে হবে। এই অ্যাপ্লিকেশনসমূহ স্বয়ংক্রিয়ভাবে বন্ধ করণে সেটআপকে অনুমতি প্রদানে পরামর্শ দেওয়া যাচ্ছে। ইনস্টল প্রক্রিয়া সম্পূর্ণরূপে শেষ হওয়ার পরে, সেটআপ এই অ্যাপ্লিকেশনসমূহ পুনরায় চালনা করতে চেষ্টা করবে। +CloseApplications=অ্যাপ্লিকেশনসমূহ স্বয়ংক্রিয়ভাবে বন্ধ করা হবে(&A) +DontCloseApplications=অ্যাপ্লিকেশনসমূহ স্বয়ংক্রিয়ভাবে বন্ধ করা হবে না(&D) +ErrorCloseApplications=সেটআপ স্বয়ংক্রিয়ভাবে সকল অ্যাপ্লিকেশনসমূহ বন্ধ করতে ব্যর্থ হয়েছে। পরবর্তী ধাপে যাওয়ার আগে সেটআপের মাধ্যমে হালনাগাদ করতে হবে এমন ফাইলসমূহ ব্যবহার করা সকল অ্যাপ্লিকেশনসমূহ বন্ধ করণে পরামর্শ দেওয়া যাচ্ছে। + +; *** "Installing" wizard page +WizardInstalling=ইনস্টল হচ্ছে +InstallingLabel=সেটআপ আপনার কম্পিউটারে [name] ইনস্টল করাকালীন সময়ে অনুগ্রহপূর্বক অপেক্ষা করুন। + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name]এর সেটআপ উইজার্ডটি শেষ করি +FinishedLabelNoIcons=সেটআপ আপনার কম্পিউটারে [name] ইনস্টল করা শেষ করেছে। +FinishedLabel=সেটআপ আপনার কম্পিউটারে [name] ইনস্টল করা শেষ করেছে। ইনস্টলকৃত আইকনসমূহ সিলেক্ট করে অ্যাপ্লিকেশনটি চালনা যেতে পারে। +ClickFinish=সেটআপ প্রক্রিয়া বন্ধ করতে "শেষ করি" ক্লিক করুন। +FinishedRestartLabel=[name]এর ইনস্টল প্রক্রিয়া সম্পূর্ণরূপে শেষ করার জন্যে, সেটআপকে অবশ্যই কম্পিউটার পুনরায় চালনা করতে হবে। আপনি কি এখনই পুনরায় চালনা করতে চান? +FinishedRestartMessage=[name]এর ইনস্টল প্রক্রিয়া সম্পূর্ণরূপে শেষ করার জন্যে, সেটআপকে অবশ্যই কম্পিউটার পুনরায় চালনা করতে হবে।%n%nআপনি কি এখনই পুনরায় চালনা করতে চান? +ShowReadmeCheck=হ্যাঁ, আমি README ফাইলটি দেখতে চাই +YesRadio=হ্যাঁ, কম্পিউটার পুনরায় চালনা কর(&Y) +NoRadio=না, আমি পরে কম্পিউটার পুনরায় চালনা করব(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 চালনা কর +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 প্রদর্শন কর + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=সেটআপের পরবর্তী ডিস্কটি প্রয়োজন +SelectDiskLabel2=অনুগ্রহপূর্বক ডিস্ক %1 ঢোকান এবং "ঠিক আছে" ক্লিক করুন।%n%nযদি এই ডিস্কের ফাইলসমূহ নিম্নে প্রদর্শিত ফোল্ডার ছাড়া অন্য কোন ফোল্ডারে পাওয়া যেতে পারে, তাহলে সঠিক অবস্থানটি প্রবেশ করুন অথবা "ব্রাউজ করি" ক্লিক করুন। +PathLabel=অবস্থান(&P): +FileNotInDir2="%1" ফাইলটি "%2" অবস্থানে পাওয়া যাচ্ছে না। অনুগ্রহপূর্বক সঠিক ডিস্কটি ঢোকান অথবা অন্য একটি ফোল্ডার নির্ধারণ করুন। +SelectDirectoryLabel=অনুগ্রহপূর্বক পরবর্তী ডিস্কের অবস্থান নির্দেশ করুন। + +; *** Installation phase messages +SetupAborted=সেটআপ প্রক্রিয়াটি সম্পূর্ণরূপে শেষ হল না।%n%nঅনুগ্রহপূর্বক সমস্যাটি সমাধান করুন এবং পুনরায় সেটআপ চালনা করুন। +EntryAbortRetryIgnore=পুনরায় চেষ্টা করতে "Retry"এ, যাইহোক প্রক্রিয়াটি চালিয়ে যাতে "Ignore"এ, অথবা ইনস্টল প্রক্রিয়াটি বন্ধ করতে "Abort"এ ক্লিক করুন। + +; *** Installation status messages +StatusClosingApplications=অ্যাপ্লিকেশনসমূহ বন্ধ করা হচ্ছে... +StatusCreateDirs=ডাইরেক্টরিসমূহ তৈরি করা হচ্ছে... +StatusExtractFiles=ফাইলসমূহ এক্সট্র্যাক্ট করা হচ্ছে... +StatusCreateIcons=শর্টকাটসমূহ তৈরি করা হচ্ছে... +StatusCreateIniEntries=INI এন্ট্রিসমূহ তৈরি করা হচ্ছে... +StatusCreateRegistryEntries=রেজিস্ট্রি এন্ট্রিসমূহ তৈরি করা হচ্ছে... +StatusRegisterFiles=ফাইলসমূহ রেজিস্ট্রি করা হচ্ছে... +StatusSavingUninstall=আনইনস্টল প্রক্রিয়ার তথ্যাদি সেইভ করা হচ্ছে... +StatusRunProgram=ইনস্টল প্রক্রিয়াটি শেষ করা হচ্ছে... +StatusRestartingApplications=অ্যাপ্লিকেশনসমূহ পুনরায় চালনা করা হচ্ছে... +StatusRollback=পরিবর্তনসমূহ পূর্বাবস্থায় ফিরিয়ে আনা হচ্ছে... + +; *** Misc. errors +ErrorInternal2=অভ্যন্তরীণ সমস্যা: %1 +ErrorFunctionFailedNoCode=%1 ব্যর্থ হয়েছে +ErrorFunctionFailed=%1 ব্যর্থ হয়েছে; কোড %2 +ErrorFunctionFailedWithMessage=%1 ব্যর্থ হয়েছে; কোড %2.%n%3 +ErrorExecutingProgram=সম্পাদন করা যায়নি যে ফাইল:%n%1 + +; *** Registry errors +ErrorRegOpenKey=চালনা করতে সমস্যা করা রেজিস্ট্রি কী:%n%1\%2 +ErrorRegCreateKey=তৈরি করতে সমস্যা করা রেজিস্ট্রি কী:%n%1\%2 +ErrorRegWriteKey=লিখতে সমস্যা করা রেজিস্ট্রি কী:%n%1\%2 + +; *** INI errors +ErrorIniEntry="%1" ফাইলে INI এন্ট্রি তৈরি করতে সমস্যা হয়েছে। + +; *** File copying errors +FileAbortRetryIgnore=পুনরায় চেষ্টা করতে "Retry"এ, ফাইলটি বাদ দিয়ে সামনে অগ্রসর হতে "Ignore"এ(ব্যবহার না করণেই পরামর্শ দেওয়া যাচ্ছে), অথবা ইনস্টল প্রক্রিয়াটি বন্ধ করতে "Abort"এ ক্লিক করুন। +FileAbortRetryIgnore2=পুনরায় চেষ্টা করতে "Retry"এ, যাইহোক প্রক্রিয়াটি চালিয়ে যাতে "Ignore"এ(ব্যবহার না করণেই পরামর্শ দেওয়া যাচ্ছে), অথবা ইনস্টল প্রক্রিয়াটি বন্ধ করতে "Abort"এ ক্লিক করুন। +SourceIsCorrupted=উৎস ফাইলটি বিকৃত হয়ে গেছে +SourceDoesntExist=উৎস ফাইল "%1"এর অস্তিত্ব নেই +ExistingFileReadOnly=বিদ্যমান ফাইলটি "শুধু-পড়া যাবে"(read-only) বৈশিষ্ট্যতে নির্দেশিত রয়েছে।%n%n"শুধু-পড়া যাবে"(read-only) বৈশিষ্ট্যটি অপসারণ করে পুনরায় চেষ্টা করতে "Retry"এ, ফাইলটি বাদ দিয়ে সামনে অগ্রসর হতে "Ignore"এ, অথবা ইনস্টল প্রক্রিয়াটি বন্ধ করতে "Abort"এ ক্লিক করুন। +ErrorReadingExistingDest=বিদ্যমান ফাইলটি পড়তে চেষ্টা করার সময় একটি সমস্যা সংঘটিত হয়েছে: +FileExists=ফাইলটি ইতিমধ্যে বিদ্যমান রয়েছে।%n%nআপনি কি সেটআপ প্রক্রিয়ায় সেটি ওভাররাইট করতে চান? +ExistingFileNewer=সেটআপ যে ফাইলটি ইনস্টল করতে চেষ্টা করছে সেটি থেকে বিদ্যমান ফাইলটি আধুনিক। বিদ্যমান ফাইলটিই রেখে দিতে পরামর্শ দেওয়া যাচ্ছে।%n%nআপনি কি বিদ্যমান ফাইলটিই রেখে দিতে চান? +ErrorChangingAttr=বিদ্যমান ফাইলটির বৈশিষ্ট্যাবলী পরিবর্তন করতে চেষ্টা করার সময় একটি সমস্যা সংঘটিত হয়েছে: +ErrorCreatingTemp=গন্তব্য ডাইরেক্টরিতে ফাইল তৈরি করতে চেষ্টা করার সময় একটি সমস্যা সংঘটিত হয়েছে: +ErrorReadingSource=উৎস ফাইলটি পড়তে চেষ্টা করার সময় একটি সমস্যা সংঘটিত হয়েছে: +ErrorCopying=একটি ফাইলের প্রতিলিপি করতে চেষ্টা করার সময় একটি সমস্যা সংঘটিত হয়েছে: +ErrorReplacingExistingFile=বিদ্যমান ফাইল প্রতিস্থাপন করতে চেষ্টা করার সময় একটি সমস্যা সংঘটিত হয়েছে: +ErrorRestartReplace=পুনরায় প্রতিস্থাপন ব্যর্থ হয়েছে: +ErrorRenamingTemp=গন্তব্য ডাইরেক্টরিতে একটি ফাইলের নাম পরিবর্তন করতে চেষ্টা করার সময় একটি সমস্যা সংঘটিত হয়েছে: +ErrorRegisterServer=রেজিস্টার করা যায়নি যে DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 ব্যর্থ হয়েছে যেখানে বন্ধ হওয়ার কোড হল %1 +ErrorRegisterTypeLib=রেজিস্টার করা যায়নি যে ধরনের লাইব্রেরি: %1 + +; *** Post-installation errors +ErrorOpeningReadme=README ফাইলটি খুলতে চেষ্টা করার সময় একটি সমস্যা সংঘটিত হয়েছে। +ErrorRestartingComputer=সেটআপ কম্পিউটার পুনরায় চালনা করতে ব্যর্থ হয়েছে। অনুগ্রহপূর্বক নিজেই কাজটি সম্পাদন করুন। + +; *** Uninstaller messages +UninstallNotFound="%1" ফাইলটির অস্তিত্ব নেই। আনইনস্টল করা যাচ্ছে না। +UninstallOpenError="%1" ফাইলটি খোলা যাচ্ছে না। আনইনস্টল করা যাচ্ছে না +UninstallUnsupportedVer=আনইনস্টলারের এই সংস্করণটি আনইনস্টল লগ ফাইল "%1" ফাইলের ধরনটি সনাক্ত করতে পারে নি। আনইনস্টল করা যাচ্ছে না +UninstallUnknownEntry=আনইনস্টল লগে একটি অজানা এন্ট্রি (%1) পাওয়া গিয়েছে +ConfirmUninstall=আপনি কি নিশ্চিত যে %1 এবং এর সকল উপাদানসমূহ সম্পূর্ণরূপে অপসারণ করতে চান? +UninstallOnlyOnWin64=এই ইনস্টল প্রক্রিয়াটি শুধুমাত্র 64-বিট Windowsএ আনইনস্টল করা যাবে। +OnlyAdminCanUninstall=এই ইনস্টল প্রক্রিয়াটি শুধুমাত্র অ্যাডমিনিস্ট্রেটিভ অধিকার থাকা একজন ব্যবহারকারী দ্বারা আনইনস্টল করা যাবে। +UninstallStatusLabel=আপনার কম্পিউটার থেকে %1 অপসারণ করাকালীন সময়ে অনুগ্রহপূর্বক অপেক্ষা করুন। +UninstalledAll=আপনার কম্পিউটার থেকে %1 সফলভাবে অপসারণ করা হয়েছে। +UninstalledMost=%1এর আনইনস্টল সম্পূর্ণরূপে শেষ হয়েছে।%n%nকিছু কিছু উপাদানসমূহ অপসারণ করা যাচ্ছে না। সেগুলি আপনি নিজেই অপসারণ করতে পারবেন। +UninstalledAndNeedsRestart=%1এর আনইনস্টল সম্পূর্ণরূপে শেষ করতে, আপনার কম্পিউটারটি পুনরায় চালনা করতে হবে।%n%nআপনি কি এখনই পুনরায় চালনা করতে চান? +UninstallDataCorrupted="%1" ফাইলটি বিকৃত হয়ে গেছে। আনইনস্টল করা যাচ্ছে না + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=শেয়ারকৃত ফাইল কি অপসারণ করা হবে? +ConfirmDeleteSharedFile2=সিস্টেম জানাচ্ছে যে নিম্নোক্ত শেয়ারকৃত ফাইলটি এখন আর কোন প্রোগ্রাম দ্বারা ব্যবহৃত হয় না। আপনি কি আনইনস্টল দ্বারা এই শেয়ারকৃত ফাইলটি অপসারণ করতে চান?%n%nযদি কোন প্রোগ্রাম এখনও এই ফাইলটি ব্যবহার করে থাকে এবং এটি অপসারণ করা হয়, তাহলে ঐ ​​প্রোগ্রামসমূহ সঠিকভাবে কাজ নাও করতে পারে। আপনি যদি অনিশ্চিত হন, তাহলে "না" নির্ধারণ করুন। ফাইলটি আপনার সিস্টেমে ফেলে রাখলেও কোন ক্ষতির কারণ হবে না। +SharedFileNameLabel=ফাইলের নাম: +SharedFileLocationLabel=অবস্থান: +WizardUninstalling=আনইনস্টল প্রক্রিয়ার অবস্থিতি +StatusUninstalling=আনইনস্টল হচ্ছে %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 ইনস্টল করা হচ্ছে। +ShutdownBlockReasonUninstallingApp=%1 আনইনস্টল করা হচ্ছে। + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1এর সংস্করণ %2 +AdditionalIcons=অতিরিক্ত আইকনসমূহ: +CreateDesktopIcon=ডেক্সটপে আইকন তৈরি করি(&D) +CreateQuickLaunchIcon=&Quick Launchএ আইকন তৈরি করি +ProgramOnTheWeb=ওয়েবে %1 +UninstallProgram=%1 আনইনস্টল করি +LaunchProgram=%1 চালনা করি +AssocFileExtension=%2এর ফাইল এক্সটেনশনের সাথে %1 সংশ্লিষ্ট করি(&A) +AssocingFileExtension=%2এর ফাইল এক্সটেনশনের সাথে %1 সংশ্লিষ্ট করা হচ্ছে... +AutoStartProgramGroupDescription=স্টার্টআপ: +AutoStartProgram=%1 স্বয়ংক্রিয়ভাবে চালনা করি +AddonHostProgramNotFound=আপনার নির্ধারিত ফোল্ডারটিতে %1 পাওয়া যাচ্ছে না।%n%nআপনি কি যাই হোক প্রক্রিয়াটি চলমান রাখতে চান? diff --git a/Greenshot/releases/innosetup/Languages/Bosnian.isl b/Greenshot/releases/innosetup/Languages/Bosnian.isl new file mode 100644 index 000000000..93488c918 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Bosnian.isl @@ -0,0 +1,329 @@ +; *** Inno Setup version 5.5.3+ Bosnian messages *** +; +; Bosnian translation by Kenan Dervisevic (kenan3008@gmail.com) +; + +[LangOptions] +LanguageName=Bosanski +LanguageID=$141a +LanguageCodePage=1250 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalacija +SetupWindowTitle=Instalacija - %1 +UninstallAppTitle=Deinstalacija +UninstallAppFullTitle=%1 Deinstalacija + +; *** Misc. common +InformationTitle=Informacija +ConfirmTitle=Potvrda +ErrorTitle=Greka + +; *** SetupLdr messages +SetupLdrStartupMessage=Zapoeli ste instalaciju programa %1. elite li nastaviti? +LdrCannotCreateTemp=Ne mogu kreirati privremenu datoteku. Instalacija prekinuta +LdrCannotExecTemp=Ne mogu izvriti datoteku u privremenom folderu. Instalacija prekinuta + +; *** Startup error messages +LastErrorMessage=%1.%n%nGreka %2: %3 +SetupFileMissing=Datoteka %1 se ne nalazi u instalacijskom folderu. Molimo vas da rijeite problem ili nabavite novu kopiju programa. +SetupFileCorrupt=Instalacijske datoteke sadre greku. Molimo vas da nabavite novu kopiju programa. +SetupFileCorruptOrWrongVer=Instalacijske datoteke sadre greku, ili nisu kompatibilne sa ovom verzijom instalacije. Molimo vas rijeite problem ili nabavite novu kopiju programa. +InvalidParameter=Neispravan parametar je proslijeen komandnoj liniji:%n%n%1 +SetupAlreadyRunning=Instalacija je ve pokrenuta. +WindowsVersionNotSupported=Ovaj program ne podrava verziju Windowsa koja je instalirana na ovom raunaru. +WindowsServicePackRequired=Ovaj program zahtjeva %1 Service Pack %2 ili noviji. +NotOnThisPlatform=Ovaj program ne radi na %1. +OnlyOnThisPlatform=Ovaj program se mora pokrenuti na %1. +OnlyOnTheseArchitectures=Ovaj program se moe instalirati samo na verzijama Windowsa napravljenim za sljedee arhitekture procesora:%n%n%1 +MissingWOW64APIs=Verzija Windowsa koju koristite ne sadri funkcionalnosti potrebne da bi instalacijski program mogao instalirati 64-bitnu verziju. Da bi ispravili taj problem, molimo instalirajte Service Pack %1. +WinVersionTooLowError=Ovaj program zahtjeva %1 verzije %2 ili noviju. +WinVersionTooHighError=Ovaj program se ne moe instalirati na %1 verziji %2 ili novijoj. +AdminPrivilegesRequired=Morate imati administratorska prava pri instaliranju ovog programa. +PowerUserPrivilegesRequired=Morate imati administratorska prava ili biti lan grupe Power Users prilikom instaliranja ovog programa. +SetupAppRunningError=Instalacija je detektovala da je %1 pokrenut.%n%nMolimo zatvorite program i sve njegove kopije i potom kliknite Dalje za nastavak ili Odustani za prekid. +UninstallAppRunningError=Deinstalacija je detektovala da je %1 trenutno pokrenut.%n%nMolimo zatvorite program i sve njegove kopije i potom kliknite Dalje za nastavak ili Odustani za prekid. + +; *** Misc. errors +ErrorCreatingDir=Instalacija nije mogla kreirati folder "%1" +ErrorTooManyFilesInDir=Instalacija nije mogla kreirati datoteku u folderu "%1" zato to on sadri previe datoteka + +; *** Setup common messages +ExitSetupTitle=Prekid instalacije +ExitSetupMessage=Instalacija nije zavrena. Ako sada izaete, program nee biti instaliran.%n%nInstalaciju moete pokrenuti kasnije u sluaju da je elite zavriti.%n%nPrekid instalacije? +AboutSetupMenuItem=&O instalaciji... +AboutSetupTitle=O instalaciji +AboutSetupMessage=%1 verzija %2%n%3%n%n%1 poetna stranica:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< Na&zad +ButtonNext=Da&lje > +ButtonInstall=&Instaliraj +ButtonOK=U redu +ButtonCancel=Otkai +ButtonYes=&Da +ButtonYesToAll=Da za &sve +ButtonNo=&Ne +ButtonNoToAll=N&e za sve +ButtonFinish=&Zavri +ButtonBrowse=&Izaberi... +ButtonWizardBrowse=Iza&beri... +ButtonNewFolder=&Napravi novi folder + +; *** "Select Language" dialog messages +SelectLanguageTitle=Izaberite jezik instalacije +SelectLanguageLabel=Izaberite jezik koji elite koristiti pri instalaciji: + +; *** Common wizard text +ClickNext=Kliknite na Dalje za nastavak ili Otkai za prekid instalacije. +BeveledLabel= +BrowseDialogTitle=Izaberite folder +BrowseDialogLabel=Izaberite folder iz liste ispod, pa onda kliknite na U redu. +NewFolderName=Novi folder + +; *** "Welcome" wizard page +WelcomeLabel1=Dobro doli u instalaciju programa [name] +WelcomeLabel2=Ovaj program e instalirati [name/ver] na va raunar.%n%nPreporuujemo da zatvorite sve druge programe prije nastavka i da privremeno onemoguite va antivirus i firewall. + +; *** "Password" wizard page +WizardPassword=ifra +PasswordLabel1=Instalacija je zatiena ifrom. +PasswordLabel3=Upiite ifru i kliknite Dalje za nastavak. ifre su osjetljive na mala i velika slova. +PasswordEditLabel=&ifra: +IncorrectPassword=Upisali ste pogrenu ifru. Pokuajte ponovo. + +; *** "License Agreement" wizard page +WizardLicense=Ugovor o koritenju +LicenseLabel=Molimo vas da, prije nastavka, paljivo proitajte sljedee informacije. +LicenseLabel3=Molimo vas da paljivo proitate Ugovor o koritenju. Morate prihvatiti uslove ugovora kako biste mogli nastaviti s instalacijom. +LicenseAccepted=&Prihvatam ugovor +LicenseNotAccepted=&Ne prihvatam ugovor + +; *** "Information" wizard pages +WizardInfoBefore=Informacija +InfoBeforeLabel=Molimo vas da, prije nastavka, proitate sljedee informacije. +InfoBeforeClickLabel=Kada budete spremni nastaviti instalaciju, kliknite na Dalje. +WizardInfoAfter=Informacija +InfoAfterLabel=Molimo vas da, prije nastavka, proitate sljedee informacije. +InfoAfterClickLabel=Kada budete spremni nastaviti instalaciju, kliknite na Dalje. + +; *** "User Information" wizard page +WizardUserInfo=Informacije o korisniku +UserInfoDesc=Upiite vae line informacije. +UserInfoName=&Ime korisnika: +UserInfoOrg=&Organizacija: +UserInfoSerial=&Serijski broj: +UserInfoNameRequired=Morate upisati ime. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Odaberite odredini folder +SelectDirDesc=Gdje elite da instalirate [name]? +SelectDirLabel3=Instalacija e instalirati [name] u sljedei folder. +SelectDirBrowseLabel=Za nastavak, kliknite Dalje. Ako elite izabrati drugi folder, kliknite Izaberi. +DiskSpaceMBLabel=Ovaj program zahtjeva najmanje [mb] MB slobodnog prostora na disku. +CannotInstallToNetworkDrive=Instalacija nije mogua na mrenom disku. +CannotInstallToUNCPath=Instalacija nije mogua za UNC putanju. +InvalidPath=Morate unijeti punu putanju zajedno sa slovom diska; npr:%n%nC:\APP%n%nili UNC putanju u obliku:%n%n\\server\share +InvalidDrive=Disk ili UNC share koji ste odabrali ne postoji ili je nedostupan. Odaberite neki drugi. +DiskSpaceWarningTitle=Nedovoljno prostora na disku +DiskSpaceWarning=Instalacija zahtjeva bar %1 KB slobodnog prostora, a odabrani disk ima samo %2 KB na raspolaganju.%n%nDa li elite nastaviti? +DirNameTooLong=Naziv ili putanja do foldera su predugi. +InvalidDirName=Naziv foldera nije ispravan. +BadDirName32=Naziv foldera ne smije sadravati niti jedan od sljedeih znakova:%n%n%1 +DirExistsTitle=Folder postoji +DirExists=Folder:%n%n%1%n%nve postoji. elite li i dalje izvriti instalaciju u njega? +DirDoesntExistTitle=Folder ne postoji +DirDoesntExist=Folder:%n%n%1%n%nne postoji. elite li ga napraviti? + +; *** "Select Components" wizard page +WizardSelectComponents=Odaberite komponente +SelectComponentsDesc=Koje komponente elite instalirati? +SelectComponentsLabel2=Odaberite komponente koje elite instalirati ili uklonite kvaicu pored komponenti koje ne elite. Kliknite Dalje kad budete spremni da nastavite. +FullInstallation=Puna instalacija +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompaktna instalacija +CustomInstallation=Instalacija prema elji +NoUninstallWarningTitle=Komponente postoje +NoUninstallWarning=Instalacija je detektovala da na vaem raunaru ve postoje sljedee komponente:%n%n%1%n%nAko ove komponente ne odaberete, nee doi do njihove deinstalacije.%n%nelite li ipak nastaviti? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Trenutni izbor zahtjeva bar [mb] MB prostora na disku. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Izaberite dodatne radnje +SelectTasksDesc=Koje dodatne radnje elite da se izvre? +SelectTasksLabel2=Izaberite radnje koje e se izvriti tokom instalacije programa [name], onda kliknite Dalje. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Izaberite programsku grupu +SelectStartMenuFolderDesc=Gdje instalacija treba da napravi preice? +SelectStartMenuFolderLabel3=Izaberite folder iz Start menija u koji elite da instalacija kreira preicu, a zatim kliknite na Dalje. +SelectStartMenuFolderBrowseLabel=Za nastavak, kliknite Dalje. Ako elite da izaberete drugi folder, kliknite Izaberi. +MustEnterGroupName=Morate unijeti ime programske grupe. +GroupNameTooLong=Naziv foldera ili putanje je predug. +InvalidGroupName=Naziv foldera nije ispravan. +BadGroupName=Naziv foldera ne smije sadravati niti jedan od sljedeih znakova:%n%n%1 +NoProgramGroupCheck2=&Ne kreiraj programsku grupu + +; *** "Ready to Install" wizard page +WizardReady=Spreman za instalaciju +ReadyLabel1=Sada smo spremni za instalaciju [name] na va raunar. +ReadyLabel2a=Kliknite na Instaliraj ako elite instalirati program ili na Nazad ako elite pregledati ili promjeniti postavke. +ReadyLabel2b=Kliknite na Instaliraj ako elite nastaviti sa instalacijom programa. +ReadyMemoUserInfo=Informacije o korisniku: +ReadyMemoDir=Odredini folder: +ReadyMemoType=Tip instalacije: +ReadyMemoComponents=Odabrane komponente: +ReadyMemoGroup=Programska grupa: +ReadyMemoTasks=Dodatne radnje: + +; *** "Preparing to Install" wizard page +WizardPreparing=Pripremam instalaciju +PreparingDesc=Pripreme za instalaciju [name] na va raunar. +PreviousInstallNotCompleted=Instalacija/deinstalacija prethodnog programa nije zavrena. Morate restartovati va raunar kako bi zavrili tu instalaciju.%n%nNakon toga, ponovno pokrenite ovaj program kako bi dovrili instalaciju za [name]. +CannotContinue=Instalacija ne moe nastaviti. Molimo vas da kliknete na Odustani za izlaz. +ApplicationsFound=Sljedee aplikacije koriste datoteke koje ova instalacija treba da nadogradi. Preporuujemo vam da omoguite instalaciji da automatski zatvori ove aplikacije. +ApplicationsFound2=Sljedee aplikacije koriste datoteke koje ova instalacija treba da nadogradi. Preporuujemo vam da omoguite instalaciji da automatski zatvori ove aplikacije. Nakon to se sve zavri, bit e izvren pokuaj ponovnog pokretanja ovih aplikacija. +CloseApplications=&Automatski zatvori aplikacije +DontCloseApplications=&Ne zatvaraj aplikacije +ErrorCloseApplications=Instalacija nije mogla automatski zatvoriti sve aplikacije. Prije nego nastavite, preporuujemo vam da zatvorite sve aplikacije koje koriste datoteke koje e ova instalacija trebati da aurira. + +; *** "Installing" wizard page +WizardInstalling=Instaliram +InstallingLabel=Priekajte dok se ne zavri instalacija programa [name] na va raunar. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Zavravam instalaciju [name] +FinishedLabelNoIcons=Instalacija programa [name] je zavrena. +FinishedLabel=Instalacija programa [name] je zavrena. Program moete pokrenuti koristei instalirane ikone. +ClickFinish=Kliknite na Zavri da biste izali iz instalacije. +FinishedRestartLabel=Da biste instalaciju programa [name] zavrili, potrebno je restartovati raunar. elite li to sada uiniti? +FinishedRestartMessage=Zavretak instalacije programa [name] zahtjeva restart vaeg raunara.%n%nelite li to sada uiniti? +ShowReadmeCheck=Da, elim proitati README datoteku. +YesRadio=&Da, restartuj raunar sada +NoRadio=&Ne, restartovat u raunar kasnije +; used for example as 'Run MyProg.exe' +RunEntryExec=Pokreni %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Proitaj %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Instalacija treba sljedei disk +SelectDiskLabel2=Molimo ubacite Disk %1 i kliknite U redu.%n%nAko se datoteke na ovom disku nalaze u drugom folderu a ne u onom prikazanom ispod, unesite ispravnu putanju ili kliknite na Izaberi. +PathLabel=&Putanja: +FileNotInDir2=Datoteka "%1" ne postoji u "%2". Molimo vas ubacite odgovorajui disk ili odaberete drugi folder. +SelectDirectoryLabel=Molimo odaberite lokaciju sljedeeg diska. + +; *** Installation phase messages +SetupAborted=Instalacija nije zavrena.%n%nMolimo vas da rijeite problem i opet pokrenete instalaciju. +EntryAbortRetryIgnore=Kliknite na Retry da pokuate opet, Ignore da nastavite, ili Abort da prekinete instalaciju. + +; *** Installation status messages +StatusClosingApplications=Zatvaram aplikacije... +StatusCreateDirs=Kreiram foldere... +StatusExtractFiles=Raspakujem datoteke... +StatusCreateIcons=Kreiram preice... +StatusCreateIniEntries=Kreiram INI datoteke... +StatusCreateRegistryEntries=Kreiram podatke za registracijsku bazu... +StatusRegisterFiles=Registrujem datoteke... +StatusSavingUninstall=Snimam deinstalacijske informacije... +StatusRunProgram=Zavravam instalaciju... +StatusRestartingApplications=Restartujem aplikaciju... +StatusRollback=Ponitavam promjene... + +; *** Misc. errors +ErrorInternal2=Interna greka: %1 +ErrorFunctionFailedNoCode=%1 nije uspjelo +ErrorFunctionFailed=%1 nije uspjelo; kod %2 +ErrorFunctionFailedWithMessage=%1 nije uspjelo; kod %2.%n%3 +ErrorExecutingProgram=Ne mogu pokrenuti datoteku:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Greka pri otvaranju registracijskog kljua:%n%1\%2 +ErrorRegCreateKey=Greka pri kreiranju registracijskog kljua:%n%1\%2 +ErrorRegWriteKey=Greka pri zapisivanju registracijskog kljua:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Greka pri kreiranju INI podataka u datoteci "%1". + +; *** File copying errors +FileAbortRetryIgnore=Kliknite Retry da pokuate ponovo, Ignore da preskoite ovu datoteku (nije preporueno), ili Abort da prekinete instalaciju. +FileAbortRetryIgnore2=Kliknite Retry da pokuate ponovo, Ignore da preskoite ovu datoteku (nije preporueno), ili Abort da prekinete instalaciju. +SourceIsCorrupted=Izvorna datoteka je oteena +SourceDoesntExist=Izvorna datoteka "%1" ne postoji +ExistingFileReadOnly=Postojea datoteka je oznaena kao samo za itanje.%n%nKliknite Retry da uklonite ovu oznaku i pokuate ponovo, Ignore da preskoite ovu datoteku, ili Abort da prekinete instalaciju. +ErrorReadingExistingDest=Dolo je do greke prilikom pokuaja itanja postojee datoteke: +FileExists=Datoteka ve postoji.%n%nelite li pisati preko nje? +ExistingFileNewer=Postojea datoteka je novija od one koju pokuavate instalirati. Preporuujemo vam da zadrite postojeu datoteku.%n%nelite li zadrati postojeu datoteku? +ErrorChangingAttr=Pojavila se greka prilikom pokuaja promjene atributa postojee datoteke: +ErrorCreatingTemp=Pojavila se greka prilikom pokuaja kreiranja datoteke u odredinom folderu: +ErrorReadingSource=Pojavila se greka prilikom pokuaja itanja izvorne datoteke: +ErrorCopying=Pojavila se greka prilikom pokuaja kopiranja datoteke: +ErrorReplacingExistingFile=Pojavila se greka prilikom pokuaja zamjene datoteke: +ErrorRestartReplace=Ponovno pokretanje i zamjena nije uspjela: +ErrorRenamingTemp=Pojavila se greka prilikom pokuaja preimenovanja datoteke u odredinom folderu: +ErrorRegisterServer=Ne mogu registrovati DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 nije ispravno izvren, kod na kraju izvravanja %1 +ErrorRegisterTypeLib=Ne mogu registrovati tip biblioteke: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Pojavila se greka prilikom pokuaja otvaranja README datoteke. +ErrorRestartingComputer=Instalacija ne moe restartovati va raunar. Molimo vas da to uinite runo. + +; *** Uninstaller messages +UninstallNotFound=Datoteka "%1" ne postoji. Deinstalacija prekinuta. +UninstallOpenError=Datoteka "%1" se ne moe otvoriti. Deinstalacija nije mogua +UninstallUnsupportedVer=Deinstalacijska log datoteka "%1" je u formatu koji nije prepoznat od ove verzije deinstalera. Nije mogua deinstalacija +UninstallUnknownEntry=Nepoznat zapis (%1) je pronadjen u deinstalacijskoj log datoteci +ConfirmUninstall=Da li ste sigurni da elite ukloniti %1 i sve njegove komponente? +UninstallOnlyOnWin64=Ovaj program se moe deinstalirati samo na 64-bitnom Windowsu. +OnlyAdminCanUninstall=Ova instalacija moe biti uklonjena samo od korisnika sa administratorskim privilegijama. +UninstallStatusLabel=Molimo priekajte dok %1 ne bude uklonjen s vaeg raunara. +UninstalledAll=Program %1 je uspjeno uklonjen sa vaeg raunara. +UninstalledMost=Deinstalacija programa %1 je zavrena.%n%nNeke elemente nije bilo mogue ukloniti. Molimo vas da to uinite runo. +UninstalledAndNeedsRestart=Da bi zavrili deinstalaciju %1, Va raunar morate restartati%n%nelite li to uiniti sada? +UninstallDataCorrupted="%1" datoteka je oteena. Deinstalacija nije mogua. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Ukloni dijeljenu datoteku +ConfirmDeleteSharedFile2=Sistem smatra da sljedee dijeljene datoteke ne koristi nijedan drugi program. elite li ukloniti te dijeljene datoteke?%n%nAko neki programi i dalje koriste ove datoteke, a one se obriu, ti programi nee raditi ispravno. Ako niste sigurni, odaberite Ne. Ostavljanje datoteka nee uzrokovati tetu vaem sistemu. +SharedFileNameLabel=Datoteka: +SharedFileLocationLabel=Putanja: +WizardUninstalling=Status deinstalacije +StatusUninstalling=Deinstaliram %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instaliram %1. +ShutdownBlockReasonUninstallingApp=Deinstaliram %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 verzija %2 +AdditionalIcons=Dodatne ikone: +CreateDesktopIcon=Kreiraj &desktop ikonu +CreateQuickLaunchIcon=Kreiraj ikonu za &brzo pokretanje +ProgramOnTheWeb=%1 na webu +UninstallProgram=Deinstaliraj %1 +LaunchProgram=Pokreni %1 +AssocFileExtension=&Asociraj %1 sa %2 ekstenzijom +AssocingFileExtension=Asociram %1 sa %2 ekstenzijom... +AutoStartProgramGroupDescription=Pokretanje: +AutoStartProgram=Automatski pokrei %1 +AddonHostProgramNotFound=%1 nije mogao biti pronaen u folderu koji ste odabrali.%n%nDa li i dalje elite nastaviti s ovom akcijom? diff --git a/Greenshot/releases/innosetup/Languages/Bulgarian.isl b/Greenshot/releases/innosetup/Languages/Bulgarian.isl new file mode 100644 index 000000000..65330ca41 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Bulgarian.isl @@ -0,0 +1,359 @@ +; *** Inno Setup version 6.0.0+ Bulgarian messages *** +; Ventsislav Dimitrov +; +; За да изтеглите преводи на този файл, предоставени от потребители, посетете: +; http://www.jrsoftware.org/files/istrans/ +; +; Забележка: когато превеждате, не добавяйте точка (.) в края на съобщения, +; които нямат, защото Inno Setup им добавя автоматично (прибавянето на точка +; ще доведе до показване на две точки). + +[LangOptions] +; Следните три записа са много важни. Уверете се, че сте прочел и разбирате +; раздела "[LangOptions]" на помощния файл. +LanguageName=Български +LanguageID=$0402 +LanguageCodePage=1251 +; Ако езикът, на който превеждате, изисква специална гарнитура или размер на +; шрифта, извадете от коментар съответните записи по-долу и ги променете +; според вашите нужди. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Заглавия на приложенията +SetupAppTitle=Инсталиране +SetupWindowTitle=Инсталиране на %1 +UninstallAppTitle=Деинсталиране +UninstallAppFullTitle=Деинсталиране на %1 + +; *** Заглавия от общ тип +InformationTitle=Информация +ConfirmTitle=Потвърждение +ErrorTitle=Грешка + +; *** Съобщения на зареждащия модул +SetupLdrStartupMessage=Ще се инсталира %1. Желаете ли да продължите? +LdrCannotCreateTemp=Не е възможно да се създаде временен файл. Инсталирането бе прекратено +LdrCannotExecTemp=Не е възможно да се стартира файл от временната директория. Инсталирането бе прекратено + +; *** Съобщения за грешка при стартиране +LastErrorMessage=%1.%n%nГрешка %2: %3 +SetupFileMissing=Файлът %1 липсва от инсталационната директория. Моля, отстранете проблема или се снабдете с ново копие на програмата. +SetupFileCorrupt=Инсталационните файлове са повредени. Моля, снабдете се с ново копие на програмата. +SetupFileCorruptOrWrongVer=Инсталационните файлове са повредени или несъвместими с тази версия на инсталатора. Моля, отстранете проблема или се снабдете с ново копие на програмата. +InvalidParameter=В командния ред е подаден невалиден параметър:%n%n%1 +SetupAlreadyRunning=Инсталаторът вече се изпълнява. +WindowsVersionNotSupported=Програмата не поддържа версията на Windows, с която работи компютърът ви. +WindowsServicePackRequired=Програмата изисква %1 Service Pack %2 или по-нов. +NotOnThisPlatform=Програмата не може да се изпълнява под %1. +OnlyOnThisPlatform=Програмата трябва да се изпълнява под %1. +OnlyOnTheseArchitectures=Програмата може да се инсталира само под версии на Windows за следните процесорни архитектури:%n%n%1 +WinVersionTooLowError=Програмата изисква %1 версия %2 или по-нова. +WinVersionTooHighError=Програмата не може да бъде инсталирана в %1 версия %2 или по-нова. +AdminPrivilegesRequired=За да инсталирате програмата, трябва да влезете като администратор. +PowerUserPrivilegesRequired=За да инсталирате програмата, трябва да влезете като администратор или потребител с разширени права. +SetupAppRunningError=Инсталаторът установи, че %1 се изпълнява в момента.%n%nМоля, затворете всички копия на програмата и натиснете "OK", за да продължите, или "Cancel" за изход. +UninstallAppRunningError=Деинсталаторът установи, че %1 се изпълнява в момента.%n%nМоля, затворете всички копия на програмата и натиснете "OK", за да продължите, или "Cancel" за изход. + +; *** Въпроси при стартиране +PrivilegesRequiredOverrideTitle=Избор на режим на инсталация +PrivilegesRequiredOverrideInstruction=Изберете режим на инсталация +PrivilegesRequiredOverrideText1=%1 може да бъде инсталирана за всички потребители (изисква администраторски привилегии) или само за Вас. +PrivilegesRequiredOverrideText2=%1 може да бъде инсталирана само за Вас или за всички потребители (изисква администраторски привилегии). +PrivilegesRequiredOverrideAllUsers=Инсталирай за &всички потребители +PrivilegesRequiredOverrideAllUsersRecommended=Инсталирай за &всички потребители (препоръчва се) +PrivilegesRequiredOverrideCurrentUser=Инсталирай само за &мен +PrivilegesRequiredOverrideCurrentUserRecommended=Инсталирай само за &мен (препоръчва се) + +; *** Други грешки +ErrorCreatingDir=Не е възможно да се създаде директория "%1" +ErrorTooManyFilesInDir=Не е възможно да се създаде файл в директорията "%1", тъй като тя съдържа твърде много файлове + +; *** Съобщения от общ тип на инсталатора +ExitSetupTitle=Затваряне на инсталатора +ExitSetupMessage=Инсталирането не е завършено. Ако затворите сега, програмата няма да бъде инсталирана.%n%nПо-късно можете отново да стартирате инсталатора, за да завършите инсталирането.%n%nЗатваряте ли инсталатора? +AboutSetupMenuItem=&За инсталатора... +AboutSetupTitle=За инсталатора +AboutSetupMessage=%1 версия %2%n%3%n%nУебстраница:%n%4 +AboutSetupNote= +TranslatorNote=Превод на български: Михаил Балабанов + +; *** Бутони +ButtonBack=< На&зад +ButtonNext=На&пред > +ButtonInstall=&Инсталиране +ButtonOK=OK +ButtonCancel=Отказ +ButtonYes=&Да +ButtonYesToAll=Да за &всички +ButtonNo=&Не +ButtonNoToAll=Не за в&сички +ButtonFinish=&Готово +ButtonBrowse=Пре&глед... +ButtonWizardBrowse=Пре&глед... +ButtonNewFolder=&Нова папка + +; *** Съобщения в диалоговия прозорец за избор на език +SelectLanguageTitle=Избор на език за инсталатора +SelectLanguageLabel=Изберете кой език ще ползвате с инсталатора. + +; *** Текстове от общ тип на съветника +ClickNext=Натиснете "Напред", за да продължите, или "Отказ" за затваряне на инсталатора. +BeveledLabel= +BrowseDialogTitle=Преглед за папка +BrowseDialogLabel=Изберете папка от долния списък и натиснете "OK". +NewFolderName=Нова папка + +; *** Страница "Добре дошли" на съветника +WelcomeLabel1=Добре дошли при Съветника за инсталиране на [name] +WelcomeLabel2=Съветникът ще инсталира [name/ver] във вашия компютър.%n%nПрепоръчва се да затворите всички останали приложения, преди да продължите. + +; *** Страница "Парола" на съветника +WizardPassword=Парола +PasswordLabel1=Инсталацията е защитена с парола. +PasswordLabel3=Моля, въведете паролата и натиснете "Напред", за да продължите. Главни и малки букви са от значение. +PasswordEditLabel=&Парола: +IncorrectPassword=Въведената от вас парола е неправилна. Моля, опитайте отново. + +; *** Страница "Лицензионно споразумение" на съветника +WizardLicense=Лицензионно споразумение +LicenseLabel=Моля, прочетете следната важна информация, преди да продължите. +LicenseLabel3=Моля, прочетете следното Лицензионно споразумение. Преди инсталирането да продължи, трябва да приемете условията на споразумението. +LicenseAccepted=П&риемам споразумението +LicenseNotAccepted=&Не приемам споразумението + +; *** Страници "Информация" на съветника +WizardInfoBefore=Информация +InfoBeforeLabel=Моля, прочетете следната важна информация, преди да продължите. +InfoBeforeClickLabel=Когато сте готов да продължите, натиснете "Напред". +WizardInfoAfter=Информация +InfoAfterLabel=Моля, прочетете следната важна информация, преди да продължите. +InfoAfterClickLabel=Когато сте готов да продължите, натиснете "Напред". + +; *** Страница "Данни за потребител" на съветника +WizardUserInfo=Данни за потребител +UserInfoDesc=Моля, въведете вашите данни. +UserInfoName=&Име: +UserInfoOrg=&Организация: +UserInfoSerial=&Сериен номер: +UserInfoNameRequired=Трябва да въведете име. + +; *** Страница "Избор на местоназначение" на съветника +WizardSelectDir=Избор на местоназначение +SelectDirDesc=Къде да се инсталира [name]? +SelectDirLabel3=[name] ще се инсталира в следната папка. +SelectDirBrowseLabel=Натиснете "Напред", за да продължите. За да изберете друга папка, натиснете "Преглед". +DiskSpaceMBLabel=Изискват се поне [mb] МБ свободно дисково пространство. +CannotInstallToNetworkDrive=Инсталаторът не може да инсталира на мрежово устройство. +CannotInstallToUNCPath=Инсталаторът не може да инсталира в UNC път. +InvalidPath=Трябва да въведете пълен път с буква на устройство, например:%n%nC:\APP%n%nили UNC път във вида:%n%n\\сървър\споделено място +InvalidDrive=Избраното от вас устройство или споделено UNC място не съществува или не е достъпно. Моля, изберете друго. +DiskSpaceWarningTitle=Недостиг на дисково пространство +DiskSpaceWarning=Инсталирането изисква %1 кБ свободно място, но на избраното устройство има само %2 кБ.%n%nЖелаете ли все пак да продължите? +DirNameTooLong=Твърде дълго име на папка или път. +InvalidDirName=Името на папка е невалидно. +BadDirName32=Имената на папки не могат да съдържат следните знаци:%n%n%1 +DirExistsTitle=Папката съществува +DirExists=Папката:%n%n%1%n%nвече съществува. Желаете ли все пак да инсталирате в нея? +DirDoesntExistTitle=Папката не съществува +DirDoesntExist=Папката:%n%n%1%n%nне съществува. Желаете ли да бъде създадена? + +; *** Страница "Избор на компоненти" на съветника +WizardSelectComponents=Избор на компоненти +SelectComponentsDesc=Кои компоненти да бъдат инсталирани? +SelectComponentsLabel2=Изберете компонентите, които желаете да инсталирате, и откажете нежеланите. Натиснете "Напред", когато сте готов да продължите. +FullInstallation=Пълна инсталация +; По възможност не превеждайте "Compact" като "Minimal" (има се предвид "Minimal" на вашия език) +CompactInstallation=Компактна инсталация +CustomInstallation=Инсталация по избор +NoUninstallWarningTitle=Компонентите съществуват +NoUninstallWarning=Инсталаторът установи, че следните компоненти са вече инсталирани в компютърa:%n%n%1%n%nОтказването на тези компоненти няма да ги деинсталира.%n%nЖелаете ли все пак да продължите? +ComponentSize1=%1 кБ +ComponentSize2=%1 МБ +ComponentsDiskSpaceMBLabel=Направеният избор изисква поне [mb] МБ дисково пространство. + +; *** Страница "Избор на допълнителни задачи" на съветника +WizardSelectTasks=Избор на допълнителни задачи +SelectTasksDesc=Кои допълнителни задачи да бъдат изпълнени? +SelectTasksLabel2=Изберете кои допълнителни задачи желаете да се изпълнят при инсталиране на [name], след което натиснете "Напред". + +; *** Страница "Избор на папка в менюто "Старт" на съветника +WizardSelectProgramGroup=Избор на папка в менюто "Старт" +SelectStartMenuFolderDesc=Къде да бъдат поставени преките пътища на програмата? +SelectStartMenuFolderLabel3=Инсталаторът ще създаде преки пътища в следната папка от менюто "Старт". +SelectStartMenuFolderBrowseLabel=Натиснете "Напред", за да продължите. За да изберете друга папка, натиснете "Преглед". +MustEnterGroupName=Трябва да въведете име на папка. +GroupNameTooLong=Твърде дълго име на папка или път. +InvalidGroupName=Името на папка е невалидно. +BadGroupName=Името на папка не може да съдържа следните знаци:%n%n%1 +NoProgramGroupCheck2=И&нсталиране без папка в менюто "Старт" + +; *** Страница "Готовност за инсталиране" на съветника +WizardReady=Готовност за инсталиране +ReadyLabel1=Инсталаторът е готов да инсталира [name] във вашия компютър. +ReadyLabel2a=Натиснете "Инсталиране", за да продължите, или "Назад" за преглед или промяна на някои настройки. +ReadyLabel2b=Натиснете "Инсталиране", за да продължите с инсталирането. +ReadyMemoUserInfo=Данни за потребител: +ReadyMemoDir=Местоназначение: +ReadyMemoType=Тип инсталация: +ReadyMemoComponents=Избрани компоненти: +ReadyMemoGroup=Папка в менюто "Старт": +ReadyMemoTasks=Допълнителни задачи: + +; *** Страница "Подготовка за инсталиране" на съветника +WizardPreparing=Подготовка за инсталиране +PreparingDesc=Инсталаторът се подготвя да инсталира [name] във вашия компютър. +PreviousInstallNotCompleted=Инсталиране или премахване на предишна програма не е завършило. Рестартирайте компютъра, за да може процесът да завърши.%n%nСлед като рестартирате, стартирайте инсталатора отново, за да довършите инсталирането на [name]. +CannotContinue=Инсталирането не може да продължи. Моля, натиснете "Отказ" за изход. +ApplicationsFound=Следните приложения използват файлове, които трябва да бъдат обновени от инсталатора. Препоръчва се да разрешите на инсталатора автоматично да затвори приложенията. +ApplicationsFound2=Следните приложения използват файлове, които трябва да бъдат обновени от инсталатора. Препоръчва се да разрешите на инсталатора автоматично да затвори приложенията. След края на инсталирането ще бъде направен опит за рестартирането им. +CloseApplications=Приложенията да се затворят &автоматично +DontCloseApplications=Приложенията да &не се затварят +ErrorCloseApplications=Не бе възможно да се затворят автоматично всички приложения. Препоръчва се преди да продължите, да затворите всички приложения, използващи файлове, които инсталаторът трябва да обнови. + +; *** Страница "Инсталиране" на съветника +WizardInstalling=Инсталиране +InstallingLabel=Моля, изчакайте докато [name] се инсталира във вашия компютър. + +; *** Страница "Инсталирането завърши" на съветника +FinishedHeadingLabel=Съветникът за инсталиране на [name] завърши +FinishedLabelNoIcons=Инсталирането на [name] във вашия компютър завърши. +FinishedLabel=Инсталирането на [name] във вашия компютър завърши. Можете да стартирате приложението чрез инсталираните икони. +ClickFinish=Натиснете "Готово", за да затворите инсталатора. +FinishedRestartLabel=Инсталаторът трябва да рестартира компютъра, за да завърши инсталирането на [name]. Желаете ли да рестартирате сега? +FinishedRestartMessage=Инсталаторът трябва да рестартира компютъра, за да завърши инсталирането на [name].%n%nЖелаете ли да рестартирате сега? +ShowReadmeCheck=Да, желая да прегледам файла README +YesRadio=&Да, нека компютърът се рестартира сега +NoRadio=&Не, ще рестартирам компютъра по-късно +; Използва се например в "Стартиране на MyProg.exe" +RunEntryExec=Стартиране на %1 +; Използва се например в "Преглеждане на Readme.txt" +RunEntryShellExec=Преглеждане на %1 + +; *** Текстове от рода на "Инсталаторът изисква следващ носител" +ChangeDiskTitle=Инсталаторът изисква следващ носител +SelectDiskLabel2=Моля, поставете носител %1 и натиснете "ОК".%n%nАко файловете от носителя се намират в различна от показаната по-долу папка, въведете правилния път до тях или натиснете "Преглед". +PathLabel=П&ът: +FileNotInDir2=Файлът "%1" не бе намерен в "%2". Моля, поставете правилния носител или изберете друга папка. +SelectDirectoryLabel=Моля, посочете местоположението на следващия носител. + +; *** Съобщения от фаза "Инсталиране" +SetupAborted=Инсталирането не е завършено.%n%nМоля, отстранете проблема и стартирайте инсталатора отново. +AbortRetryIgnoreSelectAction=Изберете действие +AbortRetryIgnoreRetry=Повторен &опит +AbortRetryIgnoreIgnore=&Пренебрегни грешката и продължи +AbortRetryIgnoreCancel=Прекрати инсталацията + +; *** Съобщения за хода на инсталирането +StatusClosingApplications=Затварят се приложения... +StatusCreateDirs=Създават се директории... +StatusExtractFiles=Извличат се файлове... +StatusCreateIcons=Създават се преки пътища... +StatusCreateIniEntries=Създават се записи в INI файл... +StatusCreateRegistryEntries=Създават се записи в регистъра... +StatusRegisterFiles=Регистрират се файлове... +StatusSavingUninstall=Записват се данни за деинсталиране... +StatusRunProgram=Инсталацията приключва... +StatusRestartingApplications=Рестартират се приложения... +StatusRollback=Заличават се промени... + +; *** Грешки от общ тип +ErrorInternal2=Вътрешна грешка: %1 +ErrorFunctionFailedNoCode=Неуспешно изпълнение на %1 +ErrorFunctionFailed=Неуспешно изпълнение на %1; код на грешката: %2 +ErrorFunctionFailedWithMessage=Неуспешно изпълнение на %1; код на грешката: %2.%n%3 +ErrorExecutingProgram=Не е възможно да се стартира файл:%n%1 + +; *** Грешки, свързани с регистъра +ErrorRegOpenKey=Грешка при отваряне на ключ в регистъра:%n%1\%2 +ErrorRegCreateKey=Грешка при създаване на ключ в регистъра:%n%1\%2 +ErrorRegWriteKey=Грешка при писане в ключ от регистъра:%n%1\%2 + +; *** Грешки, свързани с INI файлове +ErrorIniEntry=Грешка при създаване на INI запис във файла "%1". + +; *** Грешки при копиране на файлове +FileAbortRetryIgnoreSkipNotRecommended=Прескочи този &файл (не се препоръчва) +FileAbortRetryIgnoreIgnoreNotRecommended=&Пренебрегни грешката и продължи (не се препоръчва) +SourceIsCorrupted=Файлът - източник е повреден +SourceDoesntExist=Файлът - източник "%1" не съществува +ExistingFileReadOnly2=Съществуващият файл не беше заменен, защото е маркиран само за четене. +ExistingFileReadOnlyRetry=&Премахни атрибута „само за четене“ и опитай отново +ExistingFileReadOnlyKeepExisting=&Запази съществуващия файл +ErrorReadingExistingDest=Грешка при опит за четене на съществуващ файл: +FileExists=Файлът вече съществува.%n%nЖелаете ли инсталаторът да го презапише? +ExistingFileNewer=Съществуващият файл е по-нов от този, който инсталаторът се опитва да инсталира. Препоръчва се да го запазите.%n%nЖелаете ли да запазите съществуващия файл? +ErrorChangingAttr=Грешка при опит за смяна на атрибути на съществуващ файл: +ErrorCreatingTemp=Грешка при опит за създаване на файл в целевата директория: +ErrorReadingSource=Грешка при опит за четене на файл - източник: +ErrorCopying=Грешка при опит за копиране на файл: +ErrorReplacingExistingFile=Грешка при опит за заместване на съществуващ файл: +ErrorRestartReplace=Неуспешно отложено заместване: +ErrorRenamingTemp=Грешка при опит за преименуване на файл в целевата директория: +ErrorRegisterServer=Не е възможно да се регистрира библиотека от тип DLL/OCX: %1 +ErrorRegSvr32Failed=Неуспешно изпълнение на RegSvr32 с код на изход %1 +ErrorRegisterTypeLib=Не е възможно да се регистрира библиотека от типове: %1 + +; *** Обозначаване на показваните имена на програми за деинсталиране +UninstallDisplayNameMark=%1 (%2) +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-битова +UninstallDisplayNameMark64Bit=64-битова +UninstallDisplayNameMarkAllUsers=Всички потребители +UninstallDisplayNameMarkCurrentUser=Текущ потребител + +; *** Грешки след инсталиране +ErrorOpeningReadme=Възникна грешка при опит за отваряне на файла README. +ErrorRestartingComputer=Инсталаторът не е в състояние да рестартира компютъра. Моля, направете го ръчно. + +; *** Съобщения на деинсталатора +UninstallNotFound=Файлът "%1" не съществува. Деинсталирането е невъзможно. +UninstallOpenError=Файлът "%1" не може да се отвори. Деинсталирането е невъзможно +UninstallUnsupportedVer=Форматът на регистрационния файл за деинсталиране "%1" не се разпознава от тази версия на деинсталатора. Деинсталирането е невъзможно +UninstallUnknownEntry=Открит бе непознат запис (%1) в регистрационния файл за деинсталиране +ConfirmUninstall=Наистина ли желаете да премахнете напълно %1 и всички прилежащи компоненти? +UninstallOnlyOnWin64=Програмата може да бъде деинсталирана само под 64-битов Windows. +OnlyAdminCanUninstall=Програмата може да бъде премахната само от потребител с администраторски права. +UninstallStatusLabel=Моля, изчакайте премахването на %1 от вашия компютър да приключи. +UninstalledAll=%1 беше премахната успешно от вашия компютър. +UninstalledMost=Деинсталирането на %1 завърши.%n%nПремахването на някои елементи не бе възможно. Можете да ги отстраните ръчно. +UninstalledAndNeedsRestart=За да приключи деинсталирането на %1, трябва да рестартирате вашия компютър.%n%nЖелаете ли да рестартирате сега? +UninstallDataCorrupted=Файлът "%1" е повреден. Деинсталирането е невъзможно + +; *** Съобщения от фаза "Деинсталиране" +ConfirmDeleteSharedFileTitle=Премахване на споделен файл? +ConfirmDeleteSharedFile2=Системата отчита, че следният споделен файл вече не се ползва от никоя програма. Желаете ли деинсталаторът да го премахне?%n%nАко някоя програма все пак ползва файла и той бъде изтрит, програмата може да спре да работи правилно. Ако се колебаете, изберете "Не". Оставянето на файла в системата е безвредно. +SharedFileNameLabel=Име на файла: +SharedFileLocationLabel=Местоположение: +WizardUninstalling=Ход на деинсталирането +StatusUninstalling=%1 се деинсталира... + +; *** Обяснения за блокирано спиране на системата +ShutdownBlockReasonInstallingApp=Инсталира се %1. +ShutdownBlockReasonUninstallingApp=Деинсталира се %1. + +; Потребителските съобщения по-долу не се ползват от самия инсталатор, но +; ако ползвате такива в скриптовете си, вероятно бихте искали да ги преведете. + +[CustomMessages] + +NameAndVersion=%1, версия %2 +AdditionalIcons=Допълнителни икони: +CreateDesktopIcon=Икона на &работния плот +CreateQuickLaunchIcon=Икона в лентата "&Бързо стартиране" +ProgramOnTheWeb=%1 в Интернет +UninstallProgram=Деинсталиране на %1 +LaunchProgram=Стартиране на %1 +AssocFileExtension=&Свързване на %1 с файловото разширение %2 +AssocingFileExtension=%1 се свързва с файловото разширение %2... +AutoStartProgramGroupDescription=Стартиране: +AutoStartProgram=Автоматично стартиране на %1 +AddonHostProgramNotFound=%1 не бе намерена в избраната от вас папка.%n%nЖелаете ли все пак да продължите? diff --git a/Greenshot/releases/innosetup/Languages/ChineseSimplified.isl b/Greenshot/releases/innosetup/Languages/ChineseSimplified.isl index 9cf26394d..1835c4f30 100644 --- a/Greenshot/releases/innosetup/Languages/ChineseSimplified.isl +++ b/Greenshot/releases/innosetup/Languages/ChineseSimplified.isl @@ -1,24 +1,23 @@ -; *** Inno Setup version 5.5.0+ Chinese (Simplified) messages *** -; by Mack Zhang (hua_wuxin@21cn.com) +; *** Inno Setup version 6.0.3+ Chinese Simplified messages *** ; -; To download user-contributed translations of this file, go to: -; http://www.jrsoftware.org/files/istrans/ +; Maintained by Zhenghan Yang +; Email: 847320916@QQ.com +; Translation based on network resource +; The latest Translation is on https://github.com/kira-96/Inno-Setup-Chinese-Simplified-Translation ; -; Note: When translating this text, do not add periods (.) to the end of -; messages that didn't have them already, because on those messages Inno -; Setup adds the periods automatically (appending a period would result in -; two periods being displayed). [LangOptions] ; The following three entries are very important. Be sure to read and ; understand the '[LangOptions] section' topic in the help file. -LanguageName=<4E2D><6587><7B80><4F53> +LanguageName=简体中文 +; If Language Name display incorrect, uncomment next line +; LanguageName=<7B80><4F53><4E2D><6587> LanguageID=$0804 LanguageCodePage=936 ; If the language you are translating to requires special font faces or ; sizes, uncomment any of the following entries and change them accordingly. -DialogFontName= -DialogFontSize=9 +;DialogFontName= +;DialogFontSize=8 ;WelcomeFontName=Verdana ;WelcomeFontSize=12 ;TitleFontName=Arial @@ -28,309 +27,339 @@ DialogFontSize=9 [Messages] -; *** Application titles -SetupAppTitle=װ -SetupWindowTitle=װ - %1 -UninstallAppTitle=ж -UninstallAppFullTitle=%1 ж +; *** 应用程序标题 +SetupAppTitle=安装 +SetupWindowTitle=安装 - %1 +UninstallAppTitle=卸载 +UninstallAppFullTitle=%1 卸载 ; *** Misc. common -InformationTitle=Ϣ -ConfirmTitle=ȷ -ErrorTitle= +InformationTitle=信息 +ConfirmTitle=确认 +ErrorTitle=错误 ; *** SetupLdr messages -SetupLdrStartupMessage=װ򵼽ĵϰװ %1ȷҪ -LdrCannotCreateTemp=޷ʱļװֹ -LdrCannotExecTemp=޷ʱļеļװֹ +SetupLdrStartupMessage=现在将安装 %1。您想要继续吗? +LdrCannotCreateTemp=不能创建临时文件。安装中断。 +LdrCannotExecTemp=不能执行临时目录中的文件。安装中断。 +HelpTextNote= -; *** Startup error messages -LastErrorMessage=%1.%n%n %2%3 -SetupFileMissing=װļȱļ %1ȡ°汾 -SetupFileCorrupt=װļ𻵡ȡ°汾 -SetupFileCorruptOrWrongVer=װļ𻵣뱾װ򵼵İ汾ݡȡ°汾 -InvalidParameter=һIJݵУ%n%n%1 -SetupAlreadyRunning=װѾС -WindowsVersionNotSupported=֧ĵе Windows 汾 -WindowsServicePackRequired=Ҫ %1 Service Pack %2 µİ汾 -NotOnThisPlatform= %1 С -OnlyOnThisPlatform= %1 С -OnlyOnTheseArchitectures=ֻܰװΪдܹƵ Windows 汾У%n%n%1 -MissingWOW64APIs=ǰ Windows 汾ûаִ 64 λװĺҪ⣬밲װ Service Pack %1 -WinVersionTooLowError=Ҫ %1 v%2 ߰汾 -WinVersionTooHighError=ܰװ %1 v%2 ߰汾ϡ -AdminPrivilegesRequired=װʱԹԱݵ¼ -PowerUserPrivilegesRequired=װʱԹԱ Power Users Աݵ¼ -SetupAppRunningError=װ򵼷 %1 С%n%nرʵȻ󵥻ȷ򵥻ȡ˳ -UninstallAppRunningError=ж򵼷 %1 С%n%nرʵȻ󵥻ȷ򵥻ȡ˳ +; *** 启动错误消息 +LastErrorMessage=%1.%n%n错误 %2: %3 +SetupFileMissing=安装目录中的文件 %1 丢失。请修正这个问题或获取一个新的程序副本。 +SetupFileCorrupt=安装文件已损坏。请获取一个新的程序副本。 +SetupFileCorruptOrWrongVer=安装文件已损坏,或是与这个安装程序的版本不兼容。请修正这个问题或获取新的程序副本。 +InvalidParameter=无效的命令行参数: %n%n%1 +SetupAlreadyRunning=安装程序正在运行。 +WindowsVersionNotSupported=这个程序不支持该版本的计算机运行。 +WindowsServicePackRequired=这个程序要求%1服务包%1或更高。 +NotOnThisPlatform=这个程序将不能运行于 %1。 +OnlyOnThisPlatform=这个程序必须运行于 %1。 +OnlyOnTheseArchitectures=这个程序只能在为下列处理器结构设计的 Windows 版本中进行安装:%n%n%1 +WinVersionTooLowError=这个程序需要 %1 版本 %2 或更高。 +WinVersionTooHighError=这个程序不能安装于 %1 版本 %2 或更高。 +AdminPrivilegesRequired=在安装这个程序时您必须以管理员身份登录。 +PowerUserPrivilegesRequired=在安装这个程序时您必须以管理员身份或有权限的用户组身份登录。 +SetupAppRunningError=安装程序发现 %1 当前正在运行。%n%n请先关闭所有运行的窗口,然后单击“确定”继续,或按“取消”退出。 +UninstallAppRunningError=卸载程序发现 %1 当前正在运行。%n%n请先关闭所有运行的窗口,然后单击“确定”继续,或按“取消”退出。 -; *** Misc. errors -ErrorCreatingDir=װ޷ļС%1 -ErrorTooManyFilesInDir=޷ļС%1дļΪ̫ļ +; *** 启动问题 +PrivilegesRequiredOverrideTitle=选择安装程序模式 +PrivilegesRequiredOverrideInstruction=选择安装模式 +PrivilegesRequiredOverrideText1=%1 可以为所有用户安装(需要管理员权限),或仅为您安装。 +PrivilegesRequiredOverrideText2=%1 只能为您安装,或为所有用户安装(需要管理员权限)。 +PrivilegesRequiredOverrideAllUsers=为所有用户安装(&A) +PrivilegesRequiredOverrideAllUsersRecommended=为所有用户安装(建议选项)(&A) +PrivilegesRequiredOverrideCurrentUser=只为我安装(&M) +PrivilegesRequiredOverrideCurrentUserRecommended=只为我安装(建议选项)(&M) -; *** Setup common messages -ExitSetupTitle=˳װ -ExitSetupMessage=װδɡ˳ᰲװ%n%nʱаװɰװ%n%n˳װ -AboutSetupMenuItem=ڰװ(&A) -AboutSetupTitle=ڰװ -AboutSetupMessage=%1 汾 %2%n%3%n%n%1 ҳ%n%4 +; *** 其它错误 +ErrorCreatingDir=安装程序不能创建目录“%1”。 +ErrorTooManyFilesInDir=不能在目录“%1”中创建文件,因为里面的文件太多 + +; *** 安装程序公共消息 +ExitSetupTitle=退出安装程序 +ExitSetupMessage=安装程序未完成安装。如果您现在退出,您的程序将不能安装。%n%n您可以以后再运行安装程序完成安装。%n%n退出安装程序吗? +AboutSetupMenuItem=关于安装程序(&A)... +AboutSetupTitle=关于安装程序 +AboutSetupMessage=%1 版本 %2%n%3%n%n%1 主页:%n%4 AboutSetupNote= TranslatorNote= -; *** Buttons -ButtonBack=< һ(&B) -ButtonNext=һ(&N) > -ButtonInstall=װ(&I) -ButtonOK=ȷ -ButtonCancel=ȡ -ButtonYes=(&Y) -ButtonYesToAll=ȫ(&A) -ButtonNo=(&N) -ButtonNoToAll=ȫ(&O) -ButtonFinish=(&F) -ButtonBrowse=(&B) -ButtonWizardBrowse=(&R) -ButtonNewFolder=ļ(&M) +; *** 按钮 +ButtonBack=< 上一步(&B) +ButtonNext=下一步(&N) > +ButtonInstall=安装(&I) +ButtonOK=确定 +ButtonCancel=取消 +ButtonYes=是(&Y) +ButtonYesToAll=全是(&A) +ButtonNo=否(&N) +ButtonNoToAll=全否(&O) +ButtonFinish=完成(&F) +ButtonBrowse=浏览(&B)... +ButtonWizardBrowse=浏览(&R)... +ButtonNewFolder=新建文件夹(&M) -; *** "Select Language" dialog messages -SelectLanguageTitle=ѡװ -SelectLanguageLabel=ѡװڼҪʹõԣ +; *** “选择语言”对话框消息 +SelectLanguageTitle=选择安装语言 +SelectLanguageLabel=选择安装时要使用的语言。 -; *** Common wizard text -ClickNext=һ򵥻ȡ˳װ +; *** 公共向导文字 +ClickNext=单击“下一步”继续,或单击“取消”退出安装程序。 BeveledLabel= -BrowseDialogTitle=ļ -BrowseDialogLabel=ѡһļУȻ󵥻ȷ -NewFolderName=½ļ +BrowseDialogTitle=浏览文件夹 +BrowseDialogLabel=在下列列表中选择一个文件夹,然后单击“确定”。 +NewFolderName=新建文件夹 -; *** "Welcome" wizard page -WelcomeLabel1=ӭʹ [name] װ -WelcomeLabel2=װ򵼽ĵϰװ [name/ver]%n%nڼ֮ǰرӦó +; *** “欢迎”向导页 +WelcomeLabel1=欢迎使用 [name] 安装向导 +WelcomeLabel2=现在将安装 [name/ver] 到您的电脑中。%n%n推荐您在继续安装前关闭所有其它应用程序。 -; *** "Password" wizard page -WizardPassword= -PasswordLabel1=װ뱣 -PasswordLabel3=룬Ȼ󵥻һһִСд -PasswordEditLabel=(&P) -IncorrectPassword=벻ȷԡ +; *** “密码”向导页 +WizardPassword=密码 +PasswordLabel1=这个安装程序有密码保护。 +PasswordLabel3=请输入密码,然后单击“下一步”继续。密码区分大小写。 +PasswordEditLabel=密码(&P): +IncorrectPassword=您输入的密码不正确,请重试。 -; *** "License Agreement" wizard page -WizardLicense=Э -LicenseLabel=ڼ֮ǰĶҪϢ -LicenseLabel3=ĶЭ顣ڼװ֮ǰܴЭ -LicenseAccepted=ҽЭ(&A) -LicenseNotAccepted=ҲЭ(&D) +; *** “许可协议”向导页 +WizardLicense=许可协议 +LicenseLabel=继续安装前请阅读下列重要信息。 +LicenseLabel3=请仔细阅读下列许可协议。您在继续安装前必须同意这些协议条款。 +LicenseAccepted=我同意此协议(&A) +LicenseNotAccepted=我不同意此协议(&D) -; *** "Information" wizard pages -WizardInfoBefore=Ϣ -InfoBeforeLabel=ڼ֮ǰĶҪϢ -InfoBeforeClickLabel=׼üװ뵥һ -WizardInfoAfter=Ϣ -InfoAfterLabel=ڼ֮ǰĶҪϢ -InfoAfterClickLabel=׼üװ뵥һ +; *** “信息”向导页 +WizardInfoBefore=信息 +InfoBeforeLabel=请在继续安装前阅读下列重要信息。 +InfoBeforeClickLabel=如果您想继续安装,单击“下一步”。 +WizardInfoAfter=信息 +InfoAfterLabel=请在继续安装前阅读下列重要信息。 +InfoAfterClickLabel=如果您想继续安装,单击“下一步”。 -; *** "User Information" wizard page -WizardUserInfo=ûϢ -UserInfoDesc=Ϣ -UserInfoName=û(&U) -UserInfoOrg=֯(&O) -UserInfoSerial=к(&S) -UserInfoNameRequired=û +; *** “用户信息”向导页 +WizardUserInfo=用户信息 +UserInfoDesc=请输入您的信息。 +UserInfoName=用户名(&U): +UserInfoOrg=组织(&O): +UserInfoSerial=序列号(&S): +UserInfoNameRequired=您必须输入名字。 -; *** "Select Destination Location" wizard page -WizardSelectDir=ѡĿλ -SelectDirDesc= [name] װ -SelectDirLabel3=װ򵼽 [name] װļС -SelectDirBrowseLabel=ҪһҪѡͬļУ뵥 -DiskSpaceMBLabel=Ҫ [mb] MB Ŀд̿ռ䡣 -CannotInstallToNetworkDrive=޷װ -CannotInstallToUNCPath=޷װ UNC · -InvalidPath=̷·磺%n%nC:\APP%n%n UNC ·ʽ%n%n\\server\share -InvalidDrive=ѡ UNC ڻ򲻿ɷʡѡ -DiskSpaceWarningTitle=û㹻Ĵ̿ռ -DiskSpaceWarning=װҪ %1 KB ʣռ䣬ѡֻ %2 KB á%n%nȻҪ -DirNameTooLong=ļƻ·̫ -InvalidDirName=ļЧ -BadDirName32=ļƲַܰ%n%n%1 -DirExistsTitle=ļѴ -DirExists=ļУ%n%n%1%n%nѴڡȷҪװļ -DirDoesntExistTitle=ļв -DirDoesntExist=ļУ%n%n%1%n%nڡļ +; *** “选择目标目录”向导面 +WizardSelectDir=选择目标位置 +SelectDirDesc=您想将 [name] 安装在什么地方? +SelectDirLabel3=安装程序将安装 [name] 到下列文件夹中。 +SelectDirBrowseLabel=单击“下一步”继续。如果您想选择其它文件夹,单击“浏览”。 +DiskSpaceGBLabel=至少需要有 [gb] GB 的可用磁盘空间。 +DiskSpaceMBLabel=至少需要有 [mb] MB 的可用磁盘空间。 +CannotInstallToNetworkDrive=安装程序无法安装到一个网络驱动器。 +CannotInstallToUNCPath=安装程序无法安装到一个UNC路径。 +InvalidPath=您必须输入一个带驱动器卷标的完整路径,例如:%n%nC:\APP%n%n或下列形式的 UNC 路径:%n%n\\server\share +InvalidDrive=您选定的驱动器或 UNC 共享不存在或不能访问。请选选择其它位置。 +DiskSpaceWarningTitle=没有足够的磁盘空间 +DiskSpaceWarning=安装程序至少需要 %1 KB 的可用空间才能安装,但选定驱动器只有 %2 KB 的可用空间。%n%n您一定要继续吗? +DirNameTooLong=文件夹名或路径太长。 +InvalidDirName=文件夹名是无效的。 +BadDirName32=文件夹名不能包含下列任何字符:%n%n%1 +DirExistsTitle=文件夹存在 +DirExists=文件夹:%n%n%1%n%n已经存在。您一定要安装到这个文件夹中吗? +DirDoesntExistTitle=文件夹不存在 +DirDoesntExist=文件夹:%n%n%1%n%n不存在。您想要创建此目录吗? -; *** "Select Components" wizard page -WizardSelectComponents=ѡ -SelectComponentsDesc=ҪװЩ -SelectComponentsLabel2=ѡҪװ㲻밲װ׼úһ -FullInstallation=װ +; *** “选择组件”向导页 +WizardSelectComponents=选择组件 +SelectComponentsDesc=您想安装哪些程序的组件? +SelectComponentsLabel2=选择您想要安装的组件;清除您不想安装的组件。然后单击“下一步”继续。 +FullInstallation=完全安装 ; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) -CompactInstallation=లװ -CustomInstallation=ưװ -NoUninstallWarningTitle=Ѵ -NoUninstallWarning=װ򵼷Ѿװ%n%n%1%n%nȡѡжЩ%n%nװ +CompactInstallation=简洁安装 +CustomInstallation=自定义安装 +NoUninstallWarningTitle=组件存在 +NoUninstallWarning=安装程序侦测到下列组件已在您的电脑中安装。:%n%n%1%n%n取消选定这些组件将不能卸载它们。%n%n您一定要继续吗? ComponentSize1=%1 KB ComponentSize2=%1 MB -ComponentsDiskSpaceMBLabel=ǰѡҪ [mb] MB ̿ռ䡣 +ComponentsDiskSpaceGBLabel=当前选择的组件至少需要 [gb] GB 的磁盘空间。 +ComponentsDiskSpaceMBLabel=当前选择的组件至少需要 [mb] MB 的磁盘空间。 -; *** "Select Additional Tasks" wizard page -WizardSelectTasks=ѡ񸽼 -SelectTasksDesc=ҪִЩ -SelectTasksLabel2=ѡڰװ [name] ڼ䰲װҪִеĸȻһ +; *** “选择附加任务”向导页 +WizardSelectTasks=选择附加任务 +SelectTasksDesc=您想要安装程序执行哪些附加任务? +SelectTasksLabel2=选择您想要安装程序在安装 [name] 时执行的附加任务,然后单击“下一步”。 -; *** "Select Start Menu Folder" wizard page -WizardSelectProgramGroup=ѡʼ˵ļ -SelectStartMenuFolderDesc=ѳݷʽŵ -SelectStartMenuFolderLabel3=װ򵼽¿ʼ˵ļдݷʽ -SelectStartMenuFolderBrowseLabel=һһҪѡͬļУ -MustEnterGroupName=ļ -GroupNameTooLong=ļƻ·̫ -InvalidGroupName=ļЧ -BadGroupName=ļƲַܰ%n%n%1 -NoProgramGroupCheck2=ʼ˵ļ(&D) +; *** “选择开始菜单文件夹”向导页 +WizardSelectProgramGroup=选择开始菜单文件夹 +SelectStartMenuFolderDesc=您想在哪里放置程序的快捷方式? +SelectStartMenuFolderLabel3=安装程序现在将在下列开始菜单文件夹中创建程序的快捷方式。 +SelectStartMenuFolderBrowseLabel=单击“下一步”继续。如果您想选择其它文件夹,单击“浏览”。 +MustEnterGroupName=您必须输入一个文件夹名。 +GroupNameTooLong=文件夹名或路径太长。 +InvalidGroupName=文件夹名是无效的。 +BadGroupName=文件夹名不能包含下列任何字符:%n%n%1 +NoProgramGroupCheck2=不创建开始菜单文件夹(&D) -; *** "Ready to Install" wizard page -WizardReady=׼װ -ReadyLabel1=װ׼ʼװ [name] -ReadyLabel2a=װװҪ鿴߸һ -ReadyLabel2b=װװ -ReadyMemoUserInfo=ûϢ -ReadyMemoDir=Ŀλã -ReadyMemoType=װͣ -ReadyMemoComponents=ѡ -ReadyMemoGroup=ʼ˵ļУ -ReadyMemoTasks= +; *** “准备安装”向导页 +WizardReady=准备安装 +ReadyLabel1=安装程序现在准备开始安装 [name] 到您的电脑中。 +ReadyLabel2a=单击“安装”继续此安装程序。如果您想要回顾或改变设置,请单击“上一步”。 +ReadyLabel2b=单击“安装”继续此安装程序? +ReadyMemoUserInfo=用户信息: +ReadyMemoDir=目标位置: +ReadyMemoType=安装类型: +ReadyMemoComponents=选定组件: +ReadyMemoGroup=开始菜单文件夹: +ReadyMemoTasks=附加任务: -; *** "Preparing to Install" wizard page -WizardPreparing=׼װ -PreparingDesc=װ׼װ [name] -PreviousInstallNotCompleted=ǰİװ/жδɡҪɰװ%n%n֮аװ [name] İװ -CannotContinue=װܼȡ˳ -ApplicationsFound=װҪ±ӦóռõļԶرЩӦó -ApplicationsFound2=װҪ±ӦóռõļԶرЩӦó򡣰װɺ󣬰װ򵼻᳢ЩӦó -CloseApplications=ԶرӦó(&A) -DontCloseApplications=ԶرӦó(&D) +; *** “正在准备安装”向导页 +WizardPreparing=正在准备安装 +PreparingDesc=安装程序正在准备安装 [name] 到您的电脑中。 +PreviousInstallNotCompleted=先前程序的安装/卸载未完成。您需要重新启动您的电脑才能完成安装。%n%n在重新启动电脑后,再运行安装完成 [name] 的安装。 +CannotContinue=安装程序不能继续。请单击“取消”退出。 +ApplicationsFound=下列应用程序正在使用的文件需要更新设置。它是建议您允许安装程序自动关闭这些应用程序。 +ApplicationsFound2=下列应用程序正在使用的文件需要更新设置。它是建议您允许安装程序自动关闭这些应用程序。安装完成后,安装程序将尝试重新启动应用程序。 +CloseApplications=自动关闭该应用程序(&A) +DontCloseApplications=不要关闭该应用程序(D) +ErrorCloseApplications=安装程序无法自动关闭所有应用程序。在继续之前,我们建议您关闭所有使用需要更新的安装程序文件。 +PrepareToInstallNeedsRestart=安装程序必须重新启动计算机。重新启动计算机后,请再次运行安装程序以完成 [name] 的安装。%n%n是否立即重新启动? -; *** "Installing" wizard page -WizardInstalling=ڰװ -InstallingLabel=ļаװ [name]Եȡ +; *** “正在安装”向导页 +WizardInstalling=正在安装 +InstallingLabel=安装程序正在安装 [name] 到您的电脑中,请稍等。 -; *** "Setup Completed" wizard page -FinishedHeadingLabel= [name] װ -FinishedLabelNoIcons=װ [name] İװ -FinishedLabel=װ [name] İװͨѡѰװͼӦó -ClickFinish=ɡ˳װ -FinishedRestartLabel=Ϊ [name] İװװ򵼱ԡҪ -FinishedRestartMessage=Ϊ [name] İװװ򵼱ԡ%n%nҪ -ShowReadmeCheck=ǣҪ鿴ļ -YesRadio=ǣ(&Y) -NoRadio=Ժ(&N) -; used for example as 'Run MyProg.exe' -RunEntryExec= %1 -; used for example as 'View Readme.txt' -RunEntryShellExec=鿴 %1 +; *** “安装完成”向导页 +FinishedHeadingLabel=[name] 安装完成 +FinishedLabelNoIcons=安装程序已在您的电脑中安装了 [name]。 +FinishedLabel=安装程序已在您的电脑中安装了 [name]。此应用程序可以通过选择安装的快捷方式运行。 +ClickFinish=单击“完成”退出安装程序。 +FinishedRestartLabel=要完成 [name] 的安装,安装程序必须重新启动您的电脑。您想现在重新启动吗? +FinishedRestartMessage=要完成 [name] 的安装,安装程序必须重新启动您的电脑。%n%n您想现在重新启动吗? +ShowReadmeCheck=是,您想查阅自述文件 +YesRadio=是,立即重新启动电脑(&Y) +NoRadio=否,稍后重新启动电脑(&N) +; 用于象“运行 MyProg.exe” +RunEntryExec=运行 %1 +; 用于象“查阅 Readme.txt” +RunEntryShellExec=查阅 %1 -; *** "Setup Needs the Next Disk" stuff -ChangeDiskTitle=װҪһ -SelectDiskLabel2= %1 ȷ%n%nڳʾļļҲôϵļȷ· -PathLabel=·(&P) -FileNotInDir2=ļ%1ڡ%2СȷĴ̻ѡļС -SelectDirectoryLabel=ָһ̵λá +; *** “安装程序需要下一张磁盘”提示 +ChangeDiskTitle=安装程序需要下一张磁盘 +SelectDiskLabel2=请插入磁盘 %1 并单击“确定”。%n%n如果这个磁盘中的文件不能在不同于下列显示的文件夹中找到,输入正确的路径或单击“浏览”。 +PathLabel=路径(&P): +FileNotInDir2=文件“%1”不能在“%2”定位。请插入正确的磁盘或选择其它文件夹。 +SelectDirectoryLabel=请指定下一张磁盘的位置。 -; *** Installation phase messages -SetupAborted=װδɡ%n%nⲢаװ򵼡 -EntryAbortRetryIgnore=ԡ³ԣԡװֹȡװ +; *** 安装状态消息 +SetupAborted=安装程序未完成安装。%n%n请修正这个问题并重新运行安装程序。 +AbortRetryIgnoreSelectAction=选项 +AbortRetryIgnoreRetry=重试(&T) +AbortRetryIgnoreIgnore=忽略错误并继续(&I) +AbortRetryIgnoreCancel=关闭安装程序 -; *** Installation status messages -StatusClosingApplications=ڹرӦó -StatusCreateDirs=ڴļС -StatusExtractFiles=ȡļ -StatusCreateIcons=ڴݷʽ -StatusCreateIniEntries=ڴ INI Ŀ -StatusCreateRegistryEntries=ڴעĿ -StatusRegisterFiles=עļ -StatusSavingUninstall=ڱжϢ -StatusRunProgram=ɰװ -StatusRestartingApplications=Ӧó -StatusRollback=ڻعġ +; *** 安装状态消息 +StatusClosingApplications=正在关闭应用程序... +StatusCreateDirs=正在创建目录... +StatusExtractFiles=正在解压缩文件... +StatusCreateIcons=正在创建快捷方式... +StatusCreateIniEntries=正在创建 INI 条目... +StatusCreateRegistryEntries=正在创建注册表条目... +StatusRegisterFiles=正在注册文件... +StatusSavingUninstall=正在保存卸载信息... +StatusRunProgram=正在完成安装... +StatusRestartingApplications=正在重启应用程序... +StatusRollback=正在撤销更改... -; *** Misc. errors -ErrorInternal2=ڲ%1 -ErrorFunctionFailedNoCode=%1 ʧ -ErrorFunctionFailed=%1 ʧܡ %2 -ErrorFunctionFailedWithMessage=%1 ʧܡ %2%n%3 -ErrorExecutingProgram=޷ִļ%n%1 +; *** 其它错误 +ErrorInternal2=内部错误: %1 +ErrorFunctionFailedNoCode=%1 失败 +ErrorFunctionFailed=%1 失败;错误代码 %2 +ErrorFunctionFailedWithMessage=%1 失败;错误代码 %2.%n%3 +ErrorExecutingProgram=不能执行文件:%n%1 -; *** Registry errors -ErrorRegOpenKey=עʱ%n%1\%2 -ErrorRegCreateKey=עʱ%n%1\%2 -ErrorRegWriteKey=дעʱ%n%1\%2 +; *** 注册表错误 +ErrorRegOpenKey=打开注册表项时出错:%n%1\%2 +ErrorRegCreateKey=创建注册表项时出错:%n%1\%2 +ErrorRegWriteKey=写入注册表项时出错:%n%1\%2 -; *** INI errors -ErrorIniEntry=ļ%1д INI Ŀʱ +; *** INI 错误 +ErrorIniEntry=在文件“%1”创建 INI 项目错误。 -; *** File copying errors -FileAbortRetryIgnore=ԡ³ԣԡļƼֹȡװ -FileAbortRetryIgnore2=ԡ³ԣԡװƼֹȡװ -SourceIsCorrupted=Դļ -SourceDoesntExist=Դļ%1 -ExistingFileReadOnly=ļΪֻ%n%nԡƳֻԲԣԡļֹȡװ -ErrorReadingExistingDest=ȡļʱ -FileExists=ļѴڡ%n%nҪ -ExistingFileNewer=ļȰװҪװĻ¡㱣ļ%n%nļ -ErrorChangingAttr=ļʱ -ErrorCreatingTemp=Ŀļдļʱ -ErrorReadingSource=ȡԴļʱ -ErrorCopying=ļʱ -ErrorReplacingExistingFile=滻ļʱ -ErrorRestartReplace=滻ʧܣ -ErrorRenamingTemp=Ŀļеļʱ -ErrorRegisterServer=޷ע DLL/OCX%1 -ErrorRegSvr32Failed=RegSvr32 ʧܡֵ%1 -ErrorRegisterTypeLib=޷עͿ⣺%1 +; *** 文件复制错误 +FileAbortRetryIgnoreSkipNotRecommended=跳过这个文件 (不推荐)(&S) +FileAbortRetryIgnoreIgnoreNotRecommended=忽略错误并继续 (不推荐)(&I) +SourceIsCorrupted=源文件已损坏 +SourceDoesntExist=源文件“%1”不存在 +ExistingFileReadOnly2=无法替换现有文件,因为它是只读的。 +ExistingFileReadOnlyRetry=移除只读属性并重试(&R) +ExistingFileReadOnlyKeepExisting=保留现有文件(&K) +ErrorReadingExistingDest=尝试读取现有文件时发生一个错误: +FileExists=文件已经存在。%n%n您想要安装程序覆盖它吗? +ExistingFileNewer=现有的文件新与安装程序要安装的文件。推荐您保留现有文件。%n%n您想要保留现有的文件吗? +ErrorChangingAttr=尝试改变下列现有的文件的属性时发生一个错误: +ErrorCreatingTemp=尝试在目标目录创建文件时发生一个错误: +ErrorReadingSource=尝试读取下列源文件时发生一个错误: +ErrorCopying=尝试复制下列文件时发生一个错误: +ErrorReplacingExistingFile=尝试替换现有的文件时发生错误: +ErrorRestartReplace=重启电脑后替换文件失败: +ErrorRenamingTemp=尝试重新命名以下目标目录中的一个文件时发生错误: +ErrorRegisterServer=不能注册 DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 失败;退出代码 %1 +ErrorRegisterTypeLib=不能注册类型库: %1 -; *** Post-installation errors -ErrorOpeningReadme=ļʱ -ErrorRestartingComputer=װ޷ԡֶ +; *** 卸载显示名字标记 +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32位 +UninstallDisplayNameMark64Bit=64位 +UninstallDisplayNameMarkAllUsers=所有用户 +UninstallDisplayNameMarkCurrentUser=当前用户 -; *** Uninstaller messages -UninstallNotFound=ļ%1ڡжء -UninstallOpenError=ļ%1ܴ򿪡ж -UninstallUnsupportedVer=ж־ļ%1ĸʽܱ˰汾жʶ𡣲ж -UninstallUnknownEntry=ж־һδ֪Ŀ (%1) -ConfirmUninstall=ǷȷҪȫɾ %1 -UninstallOnlyOnWin64=˰װֻ 64 λ Windows жء -OnlyAdminCanUninstall=˰װֻɾ߱ԱȨ޵ûжء -UninstallStatusLabel=ɾ %1Եȡ -UninstalledAll=%1 ѳɹɾ -UninstalledMost=%1 жɡ%n%nijЩĿɾֶɾ -UninstalledAndNeedsRestart=Ҫ %1 жأԡ%n%nҪ -UninstallDataCorrupted=ļ%1𻵡ж +; *** 安装后错误 +ErrorOpeningReadme=当尝试打开自述文件时发生一个错误。 +ErrorRestartingComputer=安装程序不能重新启动电脑,请手动重启。 -; *** Uninstallation phase messages -ConfirmDeleteSharedFileTitle=ɾļ -ConfirmDeleteSharedFile2=йļٱκγʹáҪɾùļ%n%nгʹøļѱɾЩ޷С㲻ȷѡ񡰷񡱡¸ļϵͳκΣ -SharedFileNameLabel=ļ -SharedFileLocationLabel=λã -WizardUninstalling=ж״̬ -StatusUninstalling=ж %1 +; *** 卸载消息 +UninstallNotFound=文件“%1”不存在。不能卸载。 +UninstallOpenError=文件“%1”不能打开。不能卸载。 +UninstallUnsupportedVer=卸载日志文件“%1”有未被这个版本的卸载器承认的格式。不能卸载 +UninstallUnknownEntry=在卸载日志中遇到一个未知的条目 (%1) +ConfirmUninstall=您确认想要完全删除 %1 及它的所有组件吗? +UninstallOnlyOnWin64=这个安装程序只能在 64 位 Windows 中进行卸载。 +OnlyAdminCanUninstall=这个安装的程序只能是有管理员权限的用户才能卸载。 +UninstallStatusLabel=正在从您的电脑中删除 %1,请等待。 +UninstalledAll=%1 已顺利地从您的电脑中删除。 +UninstalledMost=%1 卸载完成。%n%n有一些内容不能被删除。您可以手工删除它们。 +UninstalledAndNeedsRestart=要完成 %1 的卸载,您的电脑必须重新启动。%n%n您现在想重新启动电脑吗? +UninstallDataCorrupted=“%1”文件被破坏,不能卸载 + +; *** 卸载状态消息 +ConfirmDeleteSharedFileTitle=删除共享文件吗? +ConfirmDeleteSharedFile2=系统中包含的下列共享文件已经不被其它程序使用。您想要卸载程序删除这些共享文件吗?%n%n如果这些文件被删除,但还有程序正在使用这些文件,这些程序可能不能正确执行。如果您不能确定,选择“否”。把这些文件保留在系统中以免引起问题。 +SharedFileNameLabel=文件名: +SharedFileLocationLabel=位置: +WizardUninstalling=卸载状态 +StatusUninstalling=正在卸载 %1... ; *** Shutdown block reasons -ShutdownBlockReasonInstallingApp=ڰװ %1 -ShutdownBlockReasonUninstallingApp=ж %1 +ShutdownBlockReasonInstallingApp=正在安装 %1. +ShutdownBlockReasonUninstallingApp=正在卸载 %1. ; The custom messages below aren't used by Setup itself, but if you make ; use of them in your scripts, you'll want to translate them. [CustomMessages] -NameAndVersion=%1 汾 %2 -AdditionalIcons=ͼ꣺ -CreateDesktopIcon=ͼ(&D) -CreateQuickLaunchIcon=ͼ(&Q) -ProgramOnTheWeb=%1 վ -UninstallProgram=ж %1 -LaunchProgram= %1 -AssocFileExtension= %1 %2 ļչ(&A) -AssocingFileExtension=ڽ %1 %2 ļչ -AutoStartProgramGroupDescription= -AutoStartProgram=Զ %1 -AddonHostProgramNotFound=ѡļҲ %1%n%nǷȻ +NameAndVersion=%1 版本 %2 +AdditionalIcons=附加快捷方式: +CreateDesktopIcon=创建桌面快捷方式(&D) +CreateQuickLaunchIcon=创建快速运行栏快捷方式(&Q) +ProgramOnTheWeb=%1 网站 +UninstallProgram=卸载 %1 +LaunchProgram=运行 %1 +AssocFileExtension=将 %2 文件扩展名与 %1 建立关联(&A) +AssocingFileExtension=正在将 %2 文件扩展名与 %1 建立关联... +AutoStartProgramGroupDescription=启动组: +AutoStartProgram=自动启动 %1 +AddonHostProgramNotFound=%1无法找到您所选择的文件夹。%n%n您想要继续吗? + diff --git a/Greenshot/releases/innosetup/Languages/ChineseTraditional.isl b/Greenshot/releases/innosetup/Languages/ChineseTraditional.isl new file mode 100644 index 000000000..9c692956e --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/ChineseTraditional.isl @@ -0,0 +1,359 @@ +; *** Inno Setup version 6.0.0+ Chinese Traditional messages *** +; +; Name: John Wu, mr.johnwu@gmail.com +; Base on 5.5.3+ translations by Samuel Lee, Email: 751555749@qq.com +; Translation based on network resource +; + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +; If Language Name display incorrect, uncomment next line +LanguageName=<7e41><9ad4><4e2d><6587> +LanguageID=$0404 +LanguageCodepage=950 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +DialogFontName=新細明體 +DialogFontSize=9 +TitleFontName=Arial +TitleFontSize=28 +WelcomeFontName=新細明體 +WelcomeFontSize=12 +CopyrightFontName=新細明體 +CopyrightFontSize=9 + +[Messages] + +; *** Application titles +SetupAppTitle=安裝程式 +SetupWindowTitle=%1 安裝程式 +UninstallAppTitle=解除安裝 +UninstallAppFullTitle=解除安裝 %1 + +; *** Misc. common +InformationTitle=訊息 +ConfirmTitle=確認 +ErrorTitle=錯誤 + +; *** SetupLdr messages +SetupLdrStartupMessage=這將會安裝 %1。您想要繼續嗎? +LdrCannotCreateTemp=無法建立暫存檔案。安裝程式將會結束。 +LdrCannotExecTemp=無法執行暫存檔案。安裝程式將會結束。 +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1%n%n錯誤 %2: %3 +SetupFileMissing=安裝資料夾中遺失檔案 %1。請修正此問題或重新取得此軟體。 +SetupFileCorrupt=安裝檔案已經損毀。請重新取得此軟體。 +SetupFileCorruptOrWrongVer=安裝檔案已經損毀,或與安裝程式的版本不符。請重新取得此軟體。 +InvalidParameter=某個無效的變量已被傳遞到了命令列:%n%n%1 +SetupAlreadyRunning=安裝程式已經在執行。 +WindowsVersionNotSupported=本安裝程式並不支援目前在電腦所運行的 Windows 版本。 +WindowsServicePackRequired=本安裝程式需要 %1 Service Pack %2 或更新。 +NotOnThisPlatform=這個程式無法在 %1 執行。 +OnlyOnThisPlatform=這個程式必須在 %1 執行。 +OnlyOnTheseArchitectures=這個程式只能在專門為以下處理器架構而設計的 Windows 上安裝:%n%n%1 +WinVersionTooLowError=這個程式必須在 %1 版本 %2 或以上的系統執行。 +WinVersionTooHighError=這個程式無法安裝在 %1 版本 %2 或以上的系統。 +AdminPrivilegesRequired=您必須登入成系統管理員以安裝這個程式。 +PowerUserPrivilegesRequired=您必須登入成具有系統管理員或 Power User 權限的使用者以安裝這個程式。 +SetupAppRunningError=安裝程式偵測到 %1 正在執行。%n%n請關閉該程式後按 [確定] 繼續,或按 [取消] 離開。 +UninstallAppRunningError=解除安裝程式偵測到 %1 正在執行。%n%n請關閉該程式後按 [確定] 繼續,或按 [取消] 離開。 + +; *** Startup questions +PrivilegesRequiredOverrideTitle=選擇安裝程式安裝模式 +PrivilegesRequiredOverrideInstruction=選擇安裝模式 +PrivilegesRequiredOverrideText1=可以為所有使用者安裝 %1 (需要系統管理權限),或是僅為您安裝。 +PrivilegesRequiredOverrideText2=可以僅為您安裝 %1,或是為所有使用者安裝 (需要系統管理權限)。 +PrivilegesRequiredOverrideAllUsers=為所有使用者安裝 (&A) +PrivilegesRequiredOverrideAllUsersRecommended=為所有使用者安裝 (建議選項) (&A) +PrivilegesRequiredOverrideCurrentUser=僅為我安裝 (&M) +PrivilegesRequiredOverrideCurrentUserRecommended=僅為我安裝 (建議選項) (&M) + +; *** Misc. errors +ErrorCreatingDir=安裝程式無法建立資料夾“%1”。 +ErrorTooManyFilesInDir=無法在資料夾“%1”內建立檔案,因為資料夾內有太多的檔案。 + +; *** Setup common messages +ExitSetupTitle=結束安裝程式 +ExitSetupMessage=安裝尚未完成。如果您現在結束安裝程式,這個程式將不會被安裝。%n%n您可以稍後再執行安裝程式以完成安裝程序。您現在要結束安裝程式嗎? +AboutSetupMenuItem=關於安裝程式(&A)... +AboutSetupTitle=關於安裝程式 +AboutSetupMessage=%1 版本 %2%n%3%n%n%1 網址:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< 上一步(&B) +ButtonInstall=安裝(&I) +ButtonNext=下一步(&N) > +ButtonOK=確定 +ButtonCancel=取消 +ButtonYes=是(&Y) +ButtonYesToAll=全部皆是(&A) +ButtonNo=否(&N) +ButtonNoToAll=全部皆否(&O) +ButtonFinish=完成(&F) +ButtonBrowse=瀏覽(&B)... +ButtonWizardBrowse=瀏覽(&R)... +ButtonNewFolder=建立新資料夾(&M) + +; *** "Select Language" dialog messages +SelectLanguageTitle=選擇安裝語言 +SelectLanguageLabel=選擇在安裝過程中使用的語言: + +; *** Common wizard text +ClickNext=按 [下一步] 繼續安裝,或按 [取消] 結束安裝程式。 +BeveledLabel= +BrowseDialogTitle=瀏覽資料夾 +BrowseDialogLabel=在下面的資料夾列表中選擇一個資料夾,然後按 [確定]。 +NewFolderName=新資料夾 + +; *** "Welcome" wizard page +WelcomeLabel1=歡迎使用 [name] 安裝程式 +WelcomeLabel2=這個安裝程式將會安裝 [name/ver] 到您的電腦。%n%n我們強烈建議您在安裝過程中關閉其它的應用程式,以避免與安裝程式發生沖突。 + +; *** "Password" wizard page +WizardPassword=密碼 +PasswordLabel1=這個安裝程式具有密碼保護。 +PasswordLabel3=請輸入密碼,然後按 [下一步] 繼續。密碼是區分大小寫的。 +PasswordEditLabel=密碼(&P): +IncorrectPassword=您輸入的密碼不正確,請重新輸入。 + +; *** "License Agreement" wizard page +WizardLicense=授權合約 +LicenseLabel=請閱讀以下授權合約。 +LicenseLabel3=請閱讀以下授權合約,您必須接受合約的各項條款才能繼續安裝。 +LicenseAccepted=我同意(&A) +LicenseNotAccepted=我不同意(&D) + +; *** "Information" wizard pages +WizardInfoBefore=訊息 +InfoBeforeLabel=在繼續安裝之前請閱讀以下重要資訊。 +InfoBeforeClickLabel=當您準備好繼續安裝,請按 [下一步]。 +WizardInfoAfter=訊息 +InfoAfterLabel=在繼續安裝之前請閱讀以下重要資訊。 +InfoAfterClickLabel=當您準備好繼續安裝,請按 [下一步]。 + +; *** "User Information" wizard page +WizardUserInfo=使用者資訊 +UserInfoDesc=請輸入您的資料。 +UserInfoName=使用者名稱(&U): +UserInfoOrg=組織(&O): +UserInfoSerial=序號(&S): +UserInfoNameRequired=您必須輸入您的名稱。 + +; *** "Select Destination Location" wizard page +WizardSelectDir=選擇目的資料夾 +SelectDirDesc=選擇安裝程式安裝 [name] 的位置。 +SelectDirLabel3=安裝程式將會把 [name] 安裝到下面的資料夾。 +SelectDirBrowseLabel=按 [下一步] 繼續,如果您想選擇另一個資料夾,請按 [瀏覽]。 +DiskSpaceMBLabel=最少需要 [mb] MB 磁碟空間。 +CannotInstallToNetworkDrive=安裝程式無法安裝於網絡磁碟機。 +CannotInstallToUNCPath=安裝程式無法安裝於 UNC 路徑。 +InvalidPath=您必須輸入完整的路徑名稱及磁碟機代碼。%n%n例如 C:\App 或 UNC 路徑格式 \\伺服器\共用資料夾。 +InvalidDrive=您選取的磁碟機或 UNC 名稱不存在或無法存取,請選擇其他的目的地。 +DiskSpaceWarningTitle=磁碟空間不足 +DiskSpaceWarning=安裝程式需要至少 %1 KB 的磁碟空間,您所選取的磁碟只有 %2 KB 可用空間。%n%n您要繼續安裝嗎? +DirNameTooLong=資料夾名稱或路徑太長。 +InvalidDirName=資料夾名稱不正確。 +BadDirName32=資料夾名稱不得包含以下特殊字元:%n%n%1 +DirExistsTitle=資料夾已經存在 +DirExists=資料夾:%n%n%1%n%n 已經存在。仍要安裝到該資料夾嗎? +DirDoesntExistTitle=資料夾不存在 +DirDoesntExist=資料夾:%n%n%1%n%n 不存在。要建立該資料夾嗎? + +; *** "Select Components" wizard page +WizardSelectComponents=選擇元件 +SelectComponentsDesc=選擇將會被安裝的元件。 +SelectComponentsLabel2=選擇您想要安裝的元件;清除您不想安裝的元件。然後按 [下一步] 繼續安裝。 +FullInstallation=完整安裝 +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=最小安裝 +CustomInstallation=自訂安裝 +NoUninstallWarningTitle=元件已存在 +NoUninstallWarning=安裝程式偵測到以下元件已經安裝在您的電腦上:%n%n%1%n%n取消選擇這些元件將不會移除它們。%n%n您仍然要繼續嗎? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=目前的選擇需要至少 [mb] MB 磁碟空間。 + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=選擇附加的工作 +SelectTasksDesc=選擇要執行的附加工作。 +SelectTasksLabel2=選擇安裝程式在安裝 [name] 時要執行的附加工作,然後按 [下一步]。 + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=選擇「開始」功能表的資料夾 +SelectStartMenuFolderDesc=選擇安裝程式建立程式的捷徑的位置。 +SelectStartMenuFolderLabel3=安裝程式將會把程式的捷徑建立在下面的「開始」功能表資料夾。 +SelectStartMenuFolderBrowseLabel=按 [下一步] 繼續,如果您想選擇另一個資料夾,請按 [瀏覽]。 +MustEnterGroupName=您必須輸入一個資料夾的名稱。 +GroupNameTooLong=資料夾名稱或路徑太長。 +InvalidGroupName=資料夾名稱不正確。 +BadGroupName=資料夾名稱不得包含下列字元:%n%n%1 +NoProgramGroupCheck2=不要在「開始」功能表中建立資料夾(&D) + +; *** "Ready to Install" wizard page +WizardReady=準備安裝 +ReadyLabel1=安裝程式將開始安裝 [name] 到您的電腦中。 +ReadyLabel2a=按下 [安裝] 繼續安裝,或按 [上一步] 重新檢視或設定各選項的內容。 +ReadyLabel2b=按下 [安裝] 繼續安裝。 +ReadyMemoUserInfo=使用者資訊 +ReadyMemoDir=目的資料夾: +ReadyMemoType=安裝型態: +ReadyMemoComponents=選擇的元件: +ReadyMemoGroup=「開始」功能表資料夾: +ReadyMemoTasks=附加工作: + +; *** "Preparing to Install" wizard page +WizardPreparing=準備安裝程式 +PreparingDesc=安裝程式準備將 [name] 安裝到您的電腦上。 +PreviousInstallNotCompleted=先前的安裝/ 解除安裝尚未完成,您必須重新啟動電腦以完成該安裝。%n%n在重新啟動電腦之後,請再執行這個程式來安裝 [name]。 +CannotContinue=安裝程式無法繼續。請按 [取消] 離開。 +ApplicationsFound=下面的應用程式正在使用安裝程式所需要更新的文檔。建議您允許安裝程式自動關閉這些應用程式。 +ApplicationsFound2=下面的應用程式正在使用安裝程式所需要更新的文檔。建議您允許安裝程式自動關閉這些應用程式。當安裝過程結束後,本安裝程式將會嘗試重新開啟該應用程式。 +CloseApplications=關閉應用程式(&A) +DontCloseApplications=不要關閉應用程式 (&D) +ErrorCloseApplications=安裝程式無法自動關閉所有應用程式。建議您在繼續前先關閉所有應用程式使用的檔案。 + +; *** "Installing" wizard page +WizardInstalling=正在安裝 +InstallingLabel=請稍候,安裝程式正在將 [name] 安裝到您的電腦上 + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=安裝完成 +FinishedLabelNoIcons=安裝程式已經將 [name] 安裝在您的電腦上。 +FinishedLabel=安裝程式已經將 [name] 安裝在您的電腦中,您可以選擇程式的圖示來執行該應用程式。 +ClickFinish=按 [完成] 以結束安裝程式。 +FinishedRestartLabel=要完成 [name] 的安裝,安裝程式必須重新啟動您的電腦。您想要現在重新啟動電腦嗎? +FinishedRestartMessage=要完成 [name] 的安裝,安裝程式必須重新啟動您的電腦。%n%n您想要現在重新啟動電腦嗎? +ShowReadmeCheck=是,我要閱讀讀我檔案。 +YesRadio=是,立即重新啟動電腦(&Y) +NoRadio=否,我稍後重新啟動電腦(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=執行 %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=檢視 %1 + +; *** "Setup Needs the Next Disk" +ChangeDiskTitle=安裝程式需要下一張磁片 +SelectDiskLabel2=請插入磁片 %1,然後按 [確定]。%n%n如果檔案不在以下所顯示的資料夾之中,請輸入正確的資料夾名稱或按 [瀏覽] 選取。 +PathLabel=路徑(&P): +FileNotInDir2=檔案“%1”無法在“%2”找到。請插入正確的磁片或選擇其它的資料夾。 +SelectDirectoryLabel=請指定下一張磁片的位置。 + +; *** Installation phase messages +SetupAborted=安裝沒有完成。%n%n請更正問題後重新安裝一次。 +AbortRetryIgnoreSelectAction=選取動作 +AbortRetryIgnoreRetry=請再試一次 (&T) +AbortRetryIgnoreIgnore=略過錯誤並繼續 (&I) +AbortRetryIgnoreCancel=取消安裝 + +; *** Installation status messages +StatusClosingApplications=正在關閉應用程式... +StatusCreateDirs=正在建立資料夾... +StatusExtractFiles=正在解壓縮檔案... +StatusCreateIcons=正在建立程式集圖示... +StatusCreateIniEntries=寫入 INI 檔案的項目... +StatusCreateRegistryEntries=正在更新系統登錄... +StatusRegisterFiles=正在登錄檔案... +StatusSavingUninstall=儲存解除安裝資訊... +StatusRunProgram=正在完成安裝... +StatusRestartingApplications=正在重新開啟應用程式... +StatusRollback=正在復原變更... + +; *** Misc. errors +ErrorInternal2=內部錯誤: %1 +ErrorFunctionFailedNoCode=%1 失敗 +ErrorFunctionFailed=%1 失敗;代碼 %2 +ErrorFunctionFailedWithMessage=%1 失敗;代碼 %2.%n%3 +ErrorExecutingProgram=無法執行檔案:%n%1 + +; *** Registry errors +ErrorRegOpenKey=無法開啟登錄鍵:%n%1\%2 +ErrorRegCreateKey=無法建立登錄項目:%n%1\%2 +ErrorRegWriteKey=無法變更登錄項目:%n%1\%2 + +; *** INI errors +ErrorIniEntry=在檔案“%1”建立 INI 項目錯誤。 + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=略過這個檔案 (不建議) (&S) +FileAbortRetryIgnoreIgnoreNotRecommended=略過錯誤並繼續 (不建議) (&I) +SourceDoesntExist=來源檔案“%1”不存在。 +SourceIsCorrupted=來源檔案已經損毀。 +ExistingFileReadOnly2=無法取代現有檔案,因為檔案已標示為唯讀。 +ExistingFileReadOnlyRetry=移除唯讀屬性並重試 (&R) +ExistingFileReadOnlyKeepExisting=保留現有檔案 (&K) +ErrorReadingExistingDest=讀取一個已存在的檔案時發生錯誤: +FileExists=檔案已經存在。%n%n 要讓安裝程式加以覆寫嗎? +ExistingFileNewer=存在的檔案版本比較新,建議您保留目前已存在的檔案。%n%n您要保留目前已存在的檔案嗎? +ErrorChangingAttr=在變更檔案屬性時發生錯誤: +ErrorCreatingTemp=在目的資料夾中建立檔案時發生錯誤: +ErrorReadingSource=讀取原始檔案時發生錯誤: +ErrorCopying=復制檔案時發生錯誤: +ErrorReplacingExistingFile=取代檔案時發生錯誤: +ErrorRestartReplace=重新啟動電腦後取代檔案失敗: +ErrorRenamingTemp=在目的資料夾變更檔案名稱時發生錯誤: +ErrorRegisterServer=無法注冊 DLL/OCX 檔案: %1。 +ErrorRegSvr32Failed=RegSvr32 失敗;退出代碼 %1 +ErrorRegisterTypeLib=無法注冊類型庫: %1。 + +; *** Uninstall display name markings +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bit +UninstallDisplayNameMark64Bit=64-bit +UninstallDisplayNameMarkAllUsers=所有使用者 +UninstallDisplayNameMarkCurrentUser=目前使用者 + +; *** Post-installation errors +ErrorOpeningReadme=開啟讀我檔案時發生錯誤。 +ErrorRestartingComputer=安裝程式無法重新啟動電腦,請以手動方式自行重新啟動電腦。 + +; *** Uninstaller messages +UninstallNotFound=檔案“%1”不存在,無法移除程式。 +UninstallOpenError=無法開啟檔案“%1”,無法移除程式。 +UninstallUnsupportedVer=這個版本的解除安裝程式無法辨識記錄檔 “%1” 之格式,無法解除安裝。 +UninstallUnknownEntry=解除安裝記錄檔中發現未知的記錄 (%1)。 +ConfirmUninstall=您確定要完全移除 %1 及其相關的檔案嗎? +UninstallOnlyOnWin64=這個程式只能在 64 位元的 Windows 上解除安裝。 +OnlyAdminCanUninstall=這個程式要具備系統管理員權限的使用者方可解除安裝。 +UninstallStatusLabel=正在從您的電腦移除 %1 中,請稍候... +UninstalledAll=%1 已經成功從您的電腦中移除。 +UninstalledMost=%1 解除安裝完成。%n%n某些檔案及元件無法移除,您可以自行刪除這些檔案。 +UninstalledAndNeedsRestart=要完成 %1 的解除安裝程序,您必須重新啟動電腦。%n%n您想要現在重新啟動電腦嗎? +UninstallDataCorrupted=檔案“%1”已經損毀,無法解除安裝。 + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=移除共用檔案 +ConfirmDeleteSharedFile2=系統顯示下列共用檔案已不再被任何程式所使用,您要移除這些檔案嗎?%n%n%1%n%n倘若您移除了以上檔案但仍有程式需要使用它們,將造成這些程式無法正常執行,因此您若無法確定請選擇 [否]。保留這些檔案在您的系統中不會造成任何損害。 +SharedFileNameLabel=檔案名稱: +SharedFileLocationLabel=位置: +WizardUninstalling=解除安裝狀態 +StatusUninstalling=正在解除安裝 %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=正在安裝 %1. +ShutdownBlockReasonUninstallingApp=正在解除安裝 %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 版本 %2 +AdditionalIcons=附加圖示: +CreateDesktopIcon=建立桌面圖示(&D) +CreateQuickLaunchIcon=建立快速啟動圖示(&Q) +ProgramOnTheWeb=%1 的網站 +UninstallProgram=解除安裝 %1 +LaunchProgram=啟動 %1 +AssocFileExtension=將 %1 與檔案副檔名 %2 產生關聯(&A) +AssocingFileExtension=正在將 %1 與檔案副檔名 %2 產生關聯... +AutoStartProgramGroupDescription=開啟: +AutoStartProgram=自動開啟 %1 +AddonHostProgramNotFound=%1 無法在您所選的資料夾中找到。%n%n您是否還要繼續? diff --git a/Greenshot/releases/innosetup/Languages/Croatian.isl b/Greenshot/releases/innosetup/Languages/Croatian.isl new file mode 100644 index 000000000..b8d946b5a --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Croatian.isl @@ -0,0 +1,364 @@ +; *** Inno Setup version 6.0.0+ Croatian messages *** +; Translated by: Milo Ivir (mail@milotype.de) +; Based on translation by Elvis Gambiraža (el.gambo@gmail.com) +; Based on translation by Krunoslav Kanjuh (krunoslav.kanjuh@zg.t-com.hr) +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Hrvatski +LanguageID=$041a +LanguageCodePage=1250 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName=MS Shell Dlg +;DialogFontSize=8 +;WelcomeFontName=Arial +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalacija +SetupWindowTitle=Instalacija – %1 +UninstallAppTitle=Deinstalacija +UninstallAppFullTitle=Deinstalacija programa %1 + +; *** Misc. common +InformationTitle=Informacija +ConfirmTitle=Potvrda +ErrorTitle=Greška + +; *** SetupLdr messages +SetupLdrStartupMessage=Ovime ćeš instalirati %1. Želiš li nastaviti? +LdrCannotCreateTemp=Nije moguće stvoriti privremenu datoteku. Instalacija je prekinuta +LdrCannotExecTemp=Nije moguće pokrenuti datoteku u privremenoj mapi. Instalacija je prekinuta +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1.%n%nnGreška %2: %3 +SetupFileMissing=Datoteka %1 se ne nalazi u mapi instalacije. Ispravi problem ili nabavi novu kopiju programa. +SetupFileCorrupt=Datoteke instalacije su oštećene. Nabavi novu kopiju programa. +SetupFileCorruptOrWrongVer=Datoteke instalacije su oštećene ili nisu kompatibilne s ovom verzijom instalacije. Ispravi problem ili nabavi novu kopiju programa. +InvalidParameter=Neispravan parametar je prenijet u naredbenom retku:%n%n%1 +SetupAlreadyRunning=Instalacija je već pokrenuta. +WindowsVersionNotSupported=Program ne podržava verziju Windowsa koju koristite. +WindowsServicePackRequired=Program zahtijeva %1 servisni paket %2 ili noviji. +NotOnThisPlatform=Ovaj program neće raditi na %1. +OnlyOnThisPlatform=Ovaj program se mora pokrenuti na %1. +OnlyOnTheseArchitectures=Ovaj program može biti instaliran na verziji Windowsa dizajniranim za sljedeću procesorsku arhitekturu:%n%n%1 +WinVersionTooLowError=Ovaj program zahtijeva %1 verziju %2 ili noviju. +WinVersionTooHighError=Ovaj program se ne može instalirati na %1 verziji %2 ili novijoj. +AdminPrivilegesRequired=Morate biti prijavljeni kao administrator prilikom instaliranja ovog programa. +PowerUserPrivilegesRequired=Morate biti prijavljeni kao administrator ili član grupe naprednih korisnika prilikom instaliranja ovog programa. +SetupAppRunningError=Instalacija je otkrila da je %1 pokrenut.%n%nZatvorite program i potom kliknite "Dalje" za nastavak ili "Odustani" za prekid instalacije. +UninstallAppRunningError=Deinstalacija je otkrila da je %1 pokrenut.%n%nZatvorite program i potom kliknite "Dalje" za nastavak ili "Odustani" za prekid instalacije. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=Odaberite način instaliranja +PrivilegesRequiredOverrideInstruction=Odaberite način instaliranja +PrivilegesRequiredOverrideText1=%1 se može instalirati za sve korisnike (zahtijeva administrativna prava) ili samo za vas. +PrivilegesRequiredOverrideText2=%1 se može instalirati samo za vas ili za sve korisnike (zahtijeva administrativna prava). +PrivilegesRequiredOverrideAllUsers=Instaliraj z&a sve korisnike +PrivilegesRequiredOverrideAllUsersRecommended=Instaliraj z&a sve korisnike (preporučeno) +PrivilegesRequiredOverrideCurrentUser=Instaliraj samo za &mene +PrivilegesRequiredOverrideCurrentUserRecommended=Instaliraj samo za &mene (preporučeno) + +; *** Misc. errors +ErrorCreatingDir=Instalacija nije mogla stvoriti mapu "%1" +ErrorTooManyFilesInDir=Nemoguće stvaranje datoteke u mapi "%1", jer ona sadrži previše datoteka + +; *** Setup common messages +ExitSetupTitle=Prekini instalaciju +ExitSetupMessage=Instalacija nije završena. Ako sad izađete, program neće biti instaliran.%n%nInstalaciju možete pokrenuti kasnije, ukoliko ju želite završiti.%n%nPrekinuti instalaciju? +AboutSetupMenuItem=&O instalaciji … +AboutSetupTitle=O instalaciji +AboutSetupMessage=%1 verzija %2%n%3%n%n%1 početna stranica:%n%4 +AboutSetupNote= +TranslatorNote=Prevodioci:%n%nKrunoslav Kanjuh%n%nElvis Gambiraža%n%nMilo Ivir + +; *** Buttons +ButtonBack=< Na&trag +ButtonNext=&Dalje > +ButtonInstall=&Instaliraj +ButtonOK=U redu +ButtonCancel=Odustani +ButtonYes=&Da +ButtonYesToAll=D&a za sve +ButtonNo=&Ne +ButtonNoToAll=N&e za sve +ButtonFinish=&Završi +ButtonBrowse=&Pretraži … +ButtonWizardBrowse=Odabe&ri … +ButtonNewFolder=&Stvori novu mapu + +; *** "Select Language" dialog messages +SelectLanguageTitle=Odaberite jezik za instalaciju +SelectLanguageLabel=Odberite jezik koji želite koristiti tijekom instaliranja. + +; *** Common wizard text +ClickNext=Kliknite "Dalje" za nastavak ili "Odustani" za prekid instalacije. +BeveledLabel= +BrowseDialogTitle=Odaberite mapu +BrowseDialogLabel=Odaberite mapu iz popisa te kliknite "U redu". +NewFolderName=Nova mapa + +; *** "Welcome" wizard page +WelcomeLabel1=Dobro došli u instalaciju programa [name] +WelcomeLabel2=Ovaj program će instalirati [name/ver] na vaše računalo.%n%nPreporučamo da zatvorite sve programe prije nego što nastavite dalje. + +; *** "Password" wizard page +WizardPassword=Lozinka +PasswordLabel1=Instalacija je zaštićena lozinkom. +PasswordLabel3=Upišite lozinku i kliknite "Dalje". Lozinke su osjetljive na mala i velika slova. +PasswordEditLabel=&Lozinka: +IncorrectPassword=Upisana je pogrešna lozinka. Pokušajte ponovo. + +; *** "License Agreement" wizard page +WizardLicense=Licencni ugovor +LicenseLabel=Prije nastavka pažljivo pročitajte sljedeće važne informacije. +LicenseLabel3=Pročitajte licencni ugovor. Morate prihvatiti uvjete ugovora kako biste nastavili s instaliranjem. +LicenseAccepted=&Prihvaćam ugovor +LicenseNotAccepted=&Ne prihvaćam ugovor + +; *** "Information" wizard pages +WizardInfoBefore=Informacije +InfoBeforeLabel=Pročitajte sljedeće važne informacije prije nego što nastavite dalje. +InfoBeforeClickLabel=Kada ste spremni nastaviti s instaliranjem, kliknite "Dalje". +WizardInfoAfter=Informacije +InfoAfterLabel=Pročitajte sljedeće važne informacije prije nego što nastavite dalje. +InfoAfterClickLabel=Kada ste spremni nastaviti s instaliranjem, kliknite "Dalje". + +; *** "User Information" wizard page +WizardUserInfo=Informacije o korisniku +UserInfoDesc=Upišite informacije o vama. +UserInfoName=&Ime korisnika: +UserInfoOrg=&Organizacija: +UserInfoSerial=&Serijski broj: +UserInfoNameRequired=Morate upisati ime. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Odaberite odredišno mjesto +SelectDirDesc=Gdje treba instalirati [name]? +SelectDirLabel3=Instalacija će instalirati [name] u sljedeću mapu. +SelectDirBrowseLabel=Za nastavak kliknite na "Dalje". Ako želite odabrati drugu mapu, kliknite na "Odaberi". +DiskSpaceMBLabel=Potrebno je barem [mb] MB slobodnog prostora na disku. +CannotInstallToNetworkDrive=Instalacija ne može instalirati na mrežnu jedinicu. +CannotInstallToUNCPath=Instalacija ne može instalirati na UNC stazu. +InvalidPath=Morate unijeti punu stazu zajedno sa slovom diska, npr.:%n%nC:\APP%n%nili UNC stazu u obliku:%n%n\\server\share +InvalidDrive=Disk koji ste odabrali ne postoji. Odaberite neki drugi. +DiskSpaceWarningTitle=Nedovoljno prostora na disku +DiskSpaceWarning=Instalacija zahtijeva barem %1 KB slobodnog prostora, a odabrani disk ima samo %2 KB na raspolaganju.%n%nŽelite li svejedno nastaviti? +DirNameTooLong=Naziv mape ili staze je predugačak. +InvalidDirName=Naziv mape je neispravan. +BadDirName32=Naziv mape ne smije sadržavati niti jedan od sljedećih znakova:%n%n%1 +DirExistsTitle=Mapa već postoji +DirExists=Mapa:%n%n%1%n%nveć postoji. Želite li svejedno u nju instalirati? +DirDoesntExistTitle=Mapa ne postoji +DirDoesntExist=The folder:%n%n%1%n%nne postoji. Želite li ju stvoriti? + +; *** "Select Components" wizard page +WizardSelectComponents=Odaberite komponente +SelectComponentsDesc=Koje komponente želite instalirati? +SelectComponentsLabel2=Odaberite komponente koje želite instalirati, isključite komponente koje ne želite instalirati. Za nastavak kliknite na "Dalje". +FullInstallation=Kompletna instalacija +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompaktna instalacija +CustomInstallation=Prilagođena instalacija +NoUninstallWarningTitle=Postojeće komponente +NoUninstallWarning=Instalacija je utvrdila da na vašem računalu već postoje sljedeće komponente:%n%n%1%n%nIsključivanjem tih komponenata, one neće biti deinstalirane.%n%nŽelite li ipak nastaviti? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Trenutačni odabir zahtijeva barem [mb] MB na disku. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Odaberite dodatne zadatke +SelectTasksDesc=Koje dodatne zadatke želite izvršiti? +SelectTasksLabel2=Odaberite zadatke koje želite izvršiti tijekom instaliranja programa [name], zatim kliknite "Dalje". + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Odaberite mapu iz "Start" izbornika +SelectStartMenuFolderDesc=Gdje želite da instalacija spremi programske prečace? +SelectStartMenuFolderLabel3=Instalacija će stvoriti programske prečace u sljedeću mapu "Start" izbornika. +SelectStartMenuFolderBrowseLabel=Kliknite "Dalje" za nastavak ili "Odaberi" za odabir jedne druge mape. +MustEnterGroupName=Morate upisati naziv mape. +GroupNameTooLong=Naziv mape ili staze je predug. +InvalidGroupName=Naziv mape nije ispravan. +BadGroupName=Naziv mape ne smije sadržavati sljedeće znakove:%n%n%1 +NoProgramGroupCheck2=&Ne stvaraj mapu u "Start" izborniku + +; *** "Ready to Install" wizard page +WizardReady=Sve je spremno za instaliranje +ReadyLabel1=Instalacija je spremna za instaliranje [name] na vaše računalo. +ReadyLabel2a=Kliknite "Instaliraj" ako želite instalirati program ili "Natrag" ako želite pregledati ili promijeniti postavke +ReadyLabel2b=Kliknite "Instaliraj" ako želite instalirati program. +ReadyMemoUserInfo=Korisnički podaci: +ReadyMemoDir=Odredišno mjesto: +ReadyMemoType=Vrsta instalacije: +ReadyMemoComponents=Odabrane komponente: +ReadyMemoGroup=Mapa u "Start" izborniku: +ReadyMemoTasks=Dodatni zadaci: + +; *** "Preparing to Install" wizard page +WizardPreparing=Priprema za instaliranje +PreparingDesc=Instalacija se priprema za instaliranje [name] na vaše računalo. +PreviousInstallNotCompleted=The installation/removal of a previous program was not completed. You will need to restart your computer to complete that installation.%n%nAfter restarting your computer, run Setup again to complete the installation of [name]. +CannotContinue=Instalacija ne može nastaviti. Kliknite na "Odustani" za izlaz. +ApplicationsFound=Sljedeći programi koriste datoteke koje instalacija mora aktualiziranti. Preporučamo da dopustite instalaciji da zatvori ove programe. +ApplicationsFound2=Sljedeći programi koriste datoteke koje instalacija mora aktualiziranti. Preporučamo da dopustite instalaciji da zatvori ove programe. Kad instaliranje završi, instalacija će pokušati ponovo pokrenuti programe. +CloseApplications=&Zatvori programe automatski +DontCloseApplications=&Ne zatvaraj programe +ErrorCloseApplications=Instalacija nij uspjela automatski zatvoriti programe. Preporučamo da zatvorite sve programe koji koriste datoteke, koje se moraju aktulaizirati. + +; *** "Installing" wizard page +WizardInstalling=Instaliranje +InstallingLabel=Pričekajte dok ne završi instaliranje programa [name] na vaše računalo. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Završavanje instalacijskog čarobnjaka za [name] +FinishedLabelNoIcons=Instalacija je završila instaliranje programa [name] na vaše računalo. +FinishedLabel=Instalacija je završila instaliranje programa [name] na vaše računalo. Program se može pokrenuti pomoću instaliranih prečaca. +ClickFinish=Kliknite na "Završi" kako biste izašli iz instalacije. +FinishedRestartLabel=Kako biste završili instaliranje programa [name], potrebno je ponovo pokrenuti računalo. Želite li to sada učiniti? +FinishedRestartMessage=Kako biste završili instaliranje programa [name], potrebno je ponovo pokrenuti računalo.%n%nŽelite li to sada učiniti? +ShowReadmeCheck=Da, želim pročitati README datoteku +YesRadio=&Da, želim sad ponovo pokrenuti računalo +NoRadio=&Ne, kasnije ću ponovo pokrenuti računalo +; used for example as 'Run MyProg.exe' +RunEntryExec=Pokreni %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Prikaži %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Instalacija treba sljedeći disk +SelectDiskLabel2=Umetnite disk %1 i kliknite na "U redu".%n%nAko se datoteke s ovog diska nalaze na nekom drugom mjestu od prikazanog ispod, upišite ispravnu stazu ili kliknite na "Odaberi". +PathLabel=&Staza: +FileNotInDir2=Staza "%1" ne postoji u "%2". Umetnite odgovarajući disk ili odaberite jednu drugu mapu. +SelectDirectoryLabel=Odaberite mjesto sljedećeg diska. + +; *** Installation phase messages +SetupAborted=Instalacija nije završena.%n%nIspravite problem i ponovo pokrenite instalaciju. +AbortRetryIgnoreSelectAction=Odaberite radnju +AbortRetryIgnoreRetry=&Pokušaj ponovo +AbortRetryIgnoreIgnore=&Zanemari grešku i nastavi +AbortRetryIgnoreCancel=Prekini s instaliranjem + +; *** Installation status messages +StatusClosingApplications=Zatvaranje programa … +StatusCreateDirs=Stvaranje mapa … +StatusExtractFiles=Izdvajanje datoteka … +StatusCreateIcons=Stvaranje prečaca … +StatusCreateIniEntries=Stvaranje INI unosa … +StatusCreateRegistryEntries=Stvaranje unosa u registar … +StatusRegisterFiles=Registriranje datoteka … +StatusSavingUninstall=Spremanje podataka deinstalacije … +StatusRunProgram=Završavanje instaliranja … +StatusRestartingApplications=Ponovno pokretanje programa … +StatusRollback=Poništavanje promjena … + +; *** Misc. errors +ErrorInternal2=Interna greška: %1 +ErrorFunctionFailedNoCode=%1 nije uspjelo +ErrorFunctionFailed=%1 nije uspjelo; kod %2 +ErrorFunctionFailedWithMessage=%1 failed; kod %2.%n%3 +ErrorExecutingProgram=Nije moguće pokrenuti datoteku:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Greška prilikom otvaranja ključa registra:%n%1\%2 +ErrorRegCreateKey=Greška prilikom stvaranja ključa registra:%n%1\%2 +ErrorRegWriteKey=Greška prilikom pisanja u ključ registra:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Greška prilikom stvaranja INI unosa u datoteci "%1". + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=&Preskoči ovu datoteku (ne preporuča se) +FileAbortRetryIgnoreIgnoreNotRecommended=&Zanemari grešku i nastavi (ne preporuča se) +SourceIsCorrupted=Izvorišna datoteka je oštećena +SourceDoesntExist=Izvorišna datoteka "%1" ne postoji +ExistingFileReadOnly2=Postojeću datoteku nije bilo moguće zamijeniti, jer je označena sa "samo-za-čitanje". +ExistingFileReadOnlyRetry=&Uklonite atribut "samo-za-čitanje" i pokušajte ponovo +ExistingFileReadOnlyKeepExisting=&Zadrži postojeću datoteku +ErrorReadingExistingDest=Pojavila se greška prilikom pokušaja čitanja postojeće datoteke: +FileExists=The file already exists.%n%nŽelite li da ju instalacija prepiše? +ExistingFileNewer=Postojeća datoteka je novija od one, koju pokušavate instalirati. Preporuča se da zadržite postojeću datoteku.%n%nŽelite li zadržati postojeću datoteku? +ErrorChangingAttr=Pojavila se greška prilikom pokušaja promjene atributa postojeće datoteke: +ErrorCreatingTemp=Pojavila se greška prilikom pokušaja stvaranja datoteke u odredišnoj mapi: +ErrorReadingSource=Pojavila se greška prilikom pokušaja čitanja izvorišne datoteke: +ErrorCopying=Pojavila se greška prilikom pokušaja kopiranja datoteke: +ErrorReplacingExistingFile=Pojavila se greška prilikom pokušaja zamijenjivanja datoteke: +ErrorRestartReplace=Zamijenjivanje nakon ponovnog pokretanja nije uspjelo: +ErrorRenamingTemp=Pojavila se greška prilikom pokušaja preimenovanja datoteke u odredišnoj mapi: +ErrorRegisterServer=Nije moguće registrirati DLL/OCX: %1 +ErrorRegSvr32Failed=Greška u RegSvr32. Izlazni kod %1 +ErrorRegisterTypeLib=Nije moguće registrirati type library: %1 + +; *** Uninstall display name markings +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bitni +UninstallDisplayNameMark64Bit=64-bitni +UninstallDisplayNameMarkAllUsers=Svi korisnici +UninstallDisplayNameMarkCurrentUser=Trenutačni korisnik + +; *** Post-installation errors +ErrorOpeningReadme=Pojavila se greška prilikom pokušaja otvaranja README datoteke. +ErrorRestartingComputer=Instalacija nije mogla ponovo pokrenuti računalo. Učinite to ručno. + +; *** Uninstaller messages +UninstallNotFound=Datoteka "%1" ne postoji. Deinstaliranje nije moguće. +UninstallOpenError=Datoteku "%1" nije bilo moguće otvoriti. Deinstaliranje nije moguće +UninstallUnsupportedVer=Deinstalacijska datoteka "%1" je u formatu koji ova verzija deinstalacijskog programa ne prepoznaje. Deinstaliranje nije moguće +UninstallUnknownEntry=Nepoznat zapis (%1) je pronađen u deinstalacijskoj datoteci +ConfirmUninstall=Zaista želite ukloniti %1 i sve pripadajuće komponente? +UninstallOnlyOnWin64=Ovu instalaciju je moguće ukloniti samo na 64-bitnom Windows sustavu. +OnlyAdminCanUninstall=Ovu instalaciju je moguće ukloniti samo korisnik s administrativnim pravima. +UninstallStatusLabel=Pričekajte dok se %1 uklanja s vašeg računala. +UninstalledAll=%1 je uspješno uklonjen s vašeg računala. +UninstalledMost=Deinstaliranje programa %1 je završeno.%n%nNeke elemente nije bilo moguće ukloniti. Mogu se ukloniti ručno. +UninstalledAndNeedsRestart=Kako biste završili deinstalirati %1, morate ponovo pokrenuti vaše računalo%n%nŽelite li to sad učiniti? +UninstallDataCorrupted="%1" datoteka je oštećena. Deinstaliranje nije moguće + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Ukloniti dijeljene datoteke? +ConfirmDeleteSharedFile2=Sustav ukazuje na to, da sljedeće dijeljenu datoteku ne koristi niti jedan program. Želite li ukloniti tu dijeljenu datoteku?%n%nAko neki programi i dalje koriste tu datoteku, a ona se izbriše, ti programi neće ispravno raditi. Ako niste sigurni, odaberite "Ne". Datoteka neće štetiti vašem sustavu. +SharedFileNameLabel=Datoteka: +SharedFileLocationLabel=Mjesto: +WizardUninstalling=Stanje deinstalacije +StatusUninstalling=%1 deinstaliranje … + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 instaliranje. +ShutdownBlockReasonUninstallingApp=%1 deinstaliranje. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 verzija %2 +AdditionalIcons=Dodatni prečaci: +CreateDesktopIcon=Stvori prečac na ra&dnoj površini +CreateQuickLaunchIcon=Stvori prečac u traci za &brzo pokretanje +ProgramOnTheWeb=%1 na internetu +UninstallProgram=Deinstaliraj %1 +LaunchProgram=Pokreni %1 +AssocFileExtension=&Poveži program %1 s datotečnim nastavkom %2 +AssocingFileExtension=Povezivanje programa %1 s datotečnim nastavkom %2 … +AutoStartProgramGroupDescription=Pokretanje: +AutoStartProgram=Automatski pokreni %1 +AddonHostProgramNotFound=%1 nije nađen u odabranoj mapi.%n%nŽelite li svejedno nastaviti? diff --git a/Greenshot/releases/innosetup/Languages/EnglishBritish.isl b/Greenshot/releases/innosetup/Languages/EnglishBritish.isl new file mode 100644 index 000000000..309c560ae --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/EnglishBritish.isl @@ -0,0 +1,330 @@ +; *** Inno Setup version 5.5.3+ English (British) messages *** +; +; Translated by Boris Kotov + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=English (British) +LanguageID=$0809 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Setup +SetupWindowTitle=Setup - %1 +UninstallAppTitle=Uninstall +UninstallAppFullTitle=%1 Uninstall + +; *** Misc. common +InformationTitle=Information +ConfirmTitle=Confirm +ErrorTitle=Error + +; *** SetupLdr messages +SetupLdrStartupMessage=This will install %1. Do you wish to continue? +LdrCannotCreateTemp=Unable to create a temporary file. Setup aborted +LdrCannotExecTemp=Unable to execute file in the temporary directory. Setup aborted + +; *** Startup error messages +LastErrorMessage=%1.%n%nError %2: %3 +SetupFileMissing=The file %1 is missing from the installation directory. Please correct the problem or obtain a new copy of the program. +SetupFileCorrupt=The setup files are corrupted. Please obtain a new copy of the program. +SetupFileCorruptOrWrongVer=The setup files are corrupted, or are incompatible with this version of Setup. Please correct the problem or obtain a new copy of the program. +InvalidParameter=An invalid parameter was passed on the command line:%n%n%1 +SetupAlreadyRunning=Setup is already running. +WindowsVersionNotSupported=This program does not support the version of Windows your computer is running. +WindowsServicePackRequired=This program requires %1 Service Pack %2 or later. +NotOnThisPlatform=This program will not run on %1. +OnlyOnThisPlatform=This program must be run on %1. +OnlyOnTheseArchitectures=This program can only be installed on versions of Windows designed for the following processor architectures:%n%n%1 +MissingWOW64APIs=The version of Windows you are running does not include functionality required by Setup to perform a 64-bit installation. To correct this problem, please install Service Pack %1. +WinVersionTooLowError=This program requires %1 version %2 or later. +WinVersionTooHighError=This program cannot be installed on %1 version %2 or later. +AdminPrivilegesRequired=You must be logged in as an administrator when installing this program. +PowerUserPrivilegesRequired=You must be logged in as an administrator or as a member of the Power Users group when installing this program. +SetupAppRunningError=Setup has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. +UninstallAppRunningError=Uninstall has detected that %1 is currently running.%n%nPlease close all instances of it now, then click OK to continue, or Cancel to exit. + +; *** Misc. errors +ErrorCreatingDir=Setup was unable to create the directory "%1" +ErrorTooManyFilesInDir=Unable to create a file in the directory "%1" because it contains too many files + +; *** Setup common messages +ExitSetupTitle=Exit Setup +ExitSetupMessage=Setup is not complete. If you exit now, the program will not be installed.%n%nYou may run Setup again at another time to complete the installation.%n%nExit Setup? +AboutSetupMenuItem=&About Setup... +AboutSetupTitle=About Setup +AboutSetupMessage=%1 version %2%n%3%n%n%1 home page:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Back +ButtonNext=&Next > +ButtonInstall=&Install +ButtonOK=OK +ButtonCancel=Cancel +ButtonYes=&Yes +ButtonYesToAll=Yes to &All +ButtonNo=&No +ButtonNoToAll=N&o to All +ButtonFinish=&Finish +ButtonBrowse=&Browse... +ButtonWizardBrowse=B&rowse... +ButtonNewFolder=&Make New Folder + +; *** "Select Language" dialog messages +SelectLanguageTitle=Select Setup Language +SelectLanguageLabel=Select the language to use during the installation: + +; *** Common wizard text +ClickNext=Click Next to continue, or Cancel to exit Setup. +BeveledLabel= +BrowseDialogTitle=Browse For Folder +BrowseDialogLabel=Select a folder in the list below, then click OK. +NewFolderName=New Folder + +; *** "Welcome" wizard page +WelcomeLabel1=Welcome to the [name] Setup Wizard +WelcomeLabel2=This will install [name/ver] on your computer.%n%nIt is recommended that you close all other applications before continuing. + +; *** "Password" wizard page +WizardPassword=Password +PasswordLabel1=This installation is password protected. +PasswordLabel3=Please provide the password, then click Next to continue. Passwords are case-sensitive. +PasswordEditLabel=&Password: +IncorrectPassword=The password you entered is not correct. Please try again. + +; *** "License Agreement" wizard page +WizardLicense=Licence Agreement +LicenseLabel=Please read the following important information before continuing. +LicenseLabel3=Please read the following Licence Agreement. You must accept the terms of this agreement before continuing with the installation. +LicenseAccepted=I &accept the agreement +LicenseNotAccepted=I &do not accept the agreement + +; *** "Information" wizard pages +WizardInfoBefore=Information +InfoBeforeLabel=Please read the following important information before continuing. +InfoBeforeClickLabel=When you are ready to continue with Setup, click Next. +WizardInfoAfter=Information +InfoAfterLabel=Please read the following important information before continuing. +InfoAfterClickLabel=When you are ready to continue with Setup, click Next. + +; *** "User Information" wizard page +WizardUserInfo=User Information +UserInfoDesc=Please enter your information. +UserInfoName=&User Name: +UserInfoOrg=&Organisation: +UserInfoSerial=&Serial Number: +UserInfoNameRequired=You must enter a name. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Select Destination Location +SelectDirDesc=Where should [name] be installed? +SelectDirLabel3=Setup will install [name] into the following folder. +SelectDirBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse. +DiskSpaceMBLabel=At least [mb] MB of free disk space is required. +CannotInstallToNetworkDrive=Setup cannot install to a network drive. +CannotInstallToUNCPath=Setup cannot install to a UNC path. +InvalidPath=You must enter a full path with drive letter; for example:%n%nC:\APP%n%nor a UNC path in the form:%n%n\\server\share +InvalidDrive=The drive or UNC share you selected does not exist or is not accessible. Please select another. +DiskSpaceWarningTitle=Not Enough Disk Space +DiskSpaceWarning=Setup requires at least %1 KB of free space to install, but the selected drive only has %2 KB available.%n%nDo you want to continue anyway? +DirNameTooLong=The folder name or path is too long. +InvalidDirName=The folder name is not valid. +BadDirName32=Folder names cannot include any of the following characters:%n%n%1 +DirExistsTitle=Folder Exists +DirExists=The folder:%n%n%1%n%nalready exists. Would you like to install to that folder anyway? +DirDoesntExistTitle=Folder Does Not Exist +DirDoesntExist=The folder:%n%n%1%n%ndoes not exist. Would you like the folder to be created? + +; *** "Select Components" wizard page +WizardSelectComponents=Select Components +SelectComponentsDesc=Which components should be installed? +SelectComponentsLabel2=Select the components you want to install; clear the components you do not want to install. Click Next when you are ready to continue. +FullInstallation=Full installation +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Compact installation +CustomInstallation=Custom installation +NoUninstallWarningTitle=Components Exist +NoUninstallWarning=Setup has detected that the following components are already installed on your computer:%n%n%1%n%nDeselecting these components will not uninstall them.%n%nWould you like to continue anyway? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Current selection requires at least [mb] MB of disk space. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Select Additional Tasks +SelectTasksDesc=Which additional tasks should be performed? +SelectTasksLabel2=Select the additional tasks you would like Setup to perform while installing [name], then click Next. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Select Start Menu Folder +SelectStartMenuFolderDesc=Where should Setup place the program's shortcuts? +SelectStartMenuFolderLabel3=Setup will create the program's shortcuts in the following Start Menu folder. +SelectStartMenuFolderBrowseLabel=To continue, click Next. If you would like to select a different folder, click Browse. +MustEnterGroupName=You must enter a folder name. +GroupNameTooLong=The folder name or path is too long. +InvalidGroupName=The folder name is not valid. +BadGroupName=The folder name cannot include any of the following characters:%n%n%1 +NoProgramGroupCheck2=&Don't create a Start Menu folder + +; *** "Ready to Install" wizard page +WizardReady=Ready to Install +ReadyLabel1=Setup is now ready to begin installing [name] on your computer. +ReadyLabel2a=Click Install to continue with the installation, or click Back if you want to review or change any settings. +ReadyLabel2b=Click Install to continue with the installation. +ReadyMemoUserInfo=User information: +ReadyMemoDir=Destination location: +ReadyMemoType=Setup type: +ReadyMemoComponents=Selected components: +ReadyMemoGroup=Start Menu folder: +ReadyMemoTasks=Additional tasks: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparing to Install +PreparingDesc=Setup is preparing to install [name] on your computer. +PreviousInstallNotCompleted=The installation/removal of a previous program was not completed. You will need to restart your computer to complete that installation.%n%nAfter restarting your computer, run Setup again to complete the installation of [name]. +CannotContinue=Setup cannot continue. Please click Cancel to exit. +ApplicationsFound=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. +ApplicationsFound2=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. After the installation has completed, Setup will attempt to restart the applications. +CloseApplications=&Automatically close the applications +DontCloseApplications=&Do not close the applications +ErrorCloseApplications=Setup was unable to automatically close all applications. It is recommended that you close all applications using files that need to be updated by Setup before continuing. + +; *** "Installing" wizard page +WizardInstalling=Installing +InstallingLabel=Please wait while Setup installs [name] on your computer. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Completing the [name] Setup Wizard +FinishedLabelNoIcons=Setup has finished installing [name] on your computer. +FinishedLabel=Setup has finished installing [name] on your computer. The application may be launched by selecting the installed icons. +ClickFinish=Click Finish to exit Setup. +FinishedRestartLabel=To complete the installation of [name], Setup must restart your computer. Would you like to restart now? +FinishedRestartMessage=To complete the installation of [name], Setup must restart your computer.%n%nWould you like to restart now? +ShowReadmeCheck=Yes, I would like to view the README file +YesRadio=&Yes, restart the computer now +NoRadio=&No, I will restart the computer later +; used for example as 'Run MyProg.exe' +RunEntryExec=Run %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=View %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Setup Needs the Next Disk +SelectDiskLabel2=Please insert Disk %1 and click OK.%n%nIf the files on this disk can be found in a folder other than the one displayed below, enter the correct path or click Browse. +PathLabel=&Path: +FileNotInDir2=The file "%1" could not be located in "%2". Please insert the correct disk or select another folder. +SelectDirectoryLabel=Please specify the location of the next disk. + +; *** Installation phase messages +SetupAborted=Setup was not completed.%n%nPlease correct the problem and run Setup again. +EntryAbortRetryIgnore=Click Retry to try again, Ignore to proceed anyway, or Abort to cancel installation. + +; *** Installation status messages +StatusClosingApplications=Closing applications... +StatusCreateDirs=Creating directories... +StatusExtractFiles=Extracting files... +StatusCreateIcons=Creating shortcuts... +StatusCreateIniEntries=Creating INI entries... +StatusCreateRegistryEntries=Creating registry entries... +StatusRegisterFiles=Registering files... +StatusSavingUninstall=Saving uninstall information... +StatusRunProgram=Finishing installation... +StatusRestartingApplications=Restarting applications... +StatusRollback=Rolling back changes... + +; *** Misc. errors +ErrorInternal2=Internal error: %1 +ErrorFunctionFailedNoCode=%1 failed +ErrorFunctionFailed=%1 failed; code %2 +ErrorFunctionFailedWithMessage=%1 failed; code %2.%n%3 +ErrorExecutingProgram=Unable to execute file:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Error opening registry key:%n%1\%2 +ErrorRegCreateKey=Error creating registry key:%n%1\%2 +ErrorRegWriteKey=Error writing to registry key:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Error creating INI entry in file "%1". + +; *** File copying errors +FileAbortRetryIgnore=Click Retry to try again, Ignore to skip this file (not recommended), or Abort to cancel installation. +FileAbortRetryIgnore2=Click Retry to try again, Ignore to proceed anyway (not recommended), or Abort to cancel installation. +SourceIsCorrupted=The source file is corrupted +SourceDoesntExist=The source file "%1" does not exist +ExistingFileReadOnly=The existing file is marked as read-only.%n%nClick Retry to remove the read-only attribute and try again, Ignore to skip this file, or Abort to cancel installation. +ErrorReadingExistingDest=An error occurred while trying to read the existing file: +FileExists=The file already exists.%n%nWould you like Setup to overwrite it? +ExistingFileNewer=The existing file is newer than the one Setup is trying to install. It is recommended that you keep the existing file.%n%nDo you want to keep the existing file? +ErrorChangingAttr=An error occurred while trying to change the attributes of the existing file: +ErrorCreatingTemp=An error occurred while trying to create a file in the destination directory: +ErrorReadingSource=An error occurred while trying to read the source file: +ErrorCopying=An error occurred while trying to copy a file: +ErrorReplacingExistingFile=An error occurred while trying to replace the existing file: +ErrorRestartReplace=RestartReplace failed: +ErrorRenamingTemp=An error occurred while trying to rename a file in the destination directory: +ErrorRegisterServer=Unable to register the DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 failed with exit code %1 +ErrorRegisterTypeLib=Unable to register the type library: %1 + +; *** Post-installation errors +ErrorOpeningReadme=An error occurred while trying to open the README file. +ErrorRestartingComputer=Setup was unable to restart the computer. Please do this manually. + +; *** Uninstaller messages +UninstallNotFound=File "%1" does not exist. Cannot uninstall. +UninstallOpenError=File "%1" could not be opened. Cannot uninstall +UninstallUnsupportedVer=The uninstall log file "%1" is in a format not recognised by this version of the uninstaller. Cannot uninstall +UninstallUnknownEntry=An unknown entry (%1) was encountered in the uninstall log +ConfirmUninstall=Are you sure you want to completely remove %1 and all of its components? +UninstallOnlyOnWin64=This installation can only be uninstalled on 64-bit Windows. +OnlyAdminCanUninstall=This installation can only be uninstalled by a user with administrative privileges. +UninstallStatusLabel=Please wait while %1 is removed from your computer. +UninstalledAll=%1 was successfully removed from your computer. +UninstalledMost=%1 uninstall complete.%n%nSome elements could not be removed. These can be removed manually. +UninstalledAndNeedsRestart=To complete the uninstallation of %1, your computer must be restarted.%n%nWould you like to restart now? +UninstallDataCorrupted="%1" file is corrupted. Cannot uninstall + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Remove Shared File? +ConfirmDeleteSharedFile2=The system indicates that the following shared file is no longer in use by any programs. Would you like for Uninstall to remove this shared file?%n%nIf any programs are still using this file and it is removed, those programs may not function properly. If you are unsure, choose No. Leaving the file on your system will not cause any harm. +SharedFileNameLabel=File name: +SharedFileLocationLabel=Location: +WizardUninstalling=Uninstall Status +StatusUninstalling=Uninstalling %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Installing %1. +ShutdownBlockReasonUninstallingApp=Uninstalling %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 version %2 +AdditionalIcons=Additional icons: +CreateDesktopIcon=Create a &desktop icon +CreateQuickLaunchIcon=Create a &Quick Launch icon +ProgramOnTheWeb=%1 on the Web +UninstallProgram=Uninstall %1 +LaunchProgram=Launch %1 +AssocFileExtension=&Associate %1 with the %2 file extension +AssocingFileExtension=Associating %1 with the %2 file extension... +AutoStartProgramGroupDescription=Startup: +AutoStartProgram=Automatically start %1 +AddonHostProgramNotFound=%1 could not be located in the folder you selected.%n%nDo you want to continue anyway? diff --git a/Greenshot/releases/innosetup/Languages/Esperanto.isl b/Greenshot/releases/innosetup/Languages/Esperanto.isl new file mode 100644 index 000000000..5896c824c --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Esperanto.isl @@ -0,0 +1,342 @@ +; *** Inno Setup version 5.5.3+ Esperanto messages *** +; +; Author: Alexander Gritchin (E-mail - alexgrimo@mail.ru) +; +; Au`toro: Alexander Gritc`in (E-mail - alexgrimo@mail.ru) +; Versio del traduko - 15.06.08 +; +; +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Esperanto +LanguageID=$0 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + + + +[Messages] + +; *** Application titles +SetupAppTitle=Instalado +SetupWindowTitle=Instalado de - %1 +UninstallAppTitle=Forigado +UninstallAppFullTitle=Forigado de %1 + +; *** Misc. common +InformationTitle=Informacio +ConfirmTitle=Konfirmado +ErrorTitle=Eraro + +; *** SetupLdr messages +SetupLdrStartupMessage=Nun estos instalado de %1. C`u vi volas kontinui? +LdrCannotCreateTemp=Nepoveble estas krei tempan dosieron. La Majstro estas s`topita +LdrCannotExecTemp=Nepoveble estas plenumi la dosieron en tempa dosierujo. La Majstro estas s`topita + +; *** Startup error messages +LastErrorMessage=%1.%n%nEraro %2: %3 +SetupFileMissing=La dosiero %1 estas preterpasita el instala dosierujo.Bonvolu korekti problemon au` ricevu novan kopion de programo. +SetupFileCorrupt=Instalaj dosieroj estas kriplitaj. Bonvolu ricevu novan kopion de programo. +SetupFileCorruptOrWrongVer=Instalaj dosieroj estas kriplitaj, au` ne komparablaj kun tia versio del Majstro. Bonvolu korekti problemon au` ricevu novan kopion de programo. +InvalidParameter=Malg`usta parametro estis en komandlinio:%n%n%1 +SetupAlreadyRunning=La Majstro jam funkcias. +WindowsVersionNotSupported=C`i tia programo ne povas subteni la version de Vindoso en via komputilo. +WindowsServicePackRequired=Por c`i tia programo bezonas %1 Service Pack %2 au` pli olda. +NotOnThisPlatform=C`i tia programo ne funkcios en %1. +OnlyOnThisPlatform=C`i tia programo devas funkcii en %1. +OnlyOnTheseArchitectures=C`i tia programo nur povas esti instalita en version de Vindoso por sekvaj procesoraj arkitekturoj:%n%n%1 +MissingWOW64APIs=La versio de Vindoso kian vi lanc`is, ne havas posedon bezonatan por ke Majstro plenumis 64-bit instaladon. Por korekti tian problemon bonvolu instali Service Pack %1. +WinVersionTooLowError=Por c`i tia programo bezonas %1 version %2 au` pli olda. +WinVersionTooHighError=C`i tia programo ne povas esti instalita en %1 versio %2 au` pli olda. +AdminPrivilegesRequired=Vi devas eniri kiel administranto kiam instalas c`i tian programon. +PowerUserPrivilegesRequired=Vi devas eniri kiel administranto au` kiel membro de grupo de Posedaj Uzantoj kiam instalas c`i tia programo. +SetupAppRunningError=La Majstro difinis ke %1 nun funkcias.%n%nBonvolu s`topi g`in, kaj poste kliku Jes por kontinui, au` S`topi por eliri. +UninstallAppRunningError=Forigados difinis ke %1 nun funkcias.%n%nBonvolu s`topi g`in, kaj poste kliku Jes por kontinui, au` S`topi por eliri. + +; *** Misc. errors +ErrorCreatingDir=La Majstro ne povas krei dosierujon "%1" +ErrorTooManyFilesInDir=Estas nepoveble krei dosieron en dosierujo "%1" pro tio ke g`i havas tro multe da dosierojn + +; *** Setup common messages +ExitSetupTitle=S`topo Majstron +ExitSetupMessage=La instalado ne estas plena. Se vi eliros nun, la programo ne estos instalita.%n%nPor vi bezonas s`alti Majstron denove en alia tempo por plenumi instaladon.%n%nC`u fini la Majstron? +AboutSetupMenuItem=&Pri instalo... +AboutSetupTitle=Pri instalo +AboutSetupMessage=%1 version %2%n%3%n%n%1 hejma pag`o:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Reen +ButtonNext=&Antau`en > +ButtonInstall=&Instali +ButtonOK=Jes +ButtonCancel=S`topi +ButtonYes=&Jes +ButtonYesToAll=Jes por &c`iaj +ButtonNo=&Ne +ButtonNoToAll=Ne por c`iaj +ButtonFinish=&Fino +ButtonBrowse=&Elekto... +ButtonWizardBrowse=Elekto... +ButtonNewFolder=&Fari la novan dosierujon + +; *** "Select Language" dialog messages +SelectLanguageTitle=Elektu la lingvon +SelectLanguageLabel=Elektu la lingvon por uzo dum instalado: + +; *** Common wizard text +ClickNext=Kliku Antau`en por kontinui, au` S`topi por eliri Instaladon. +BeveledLabel= +BrowseDialogTitle=Elekto de dosierujo +BrowseDialogLabel=Elektu la dosierujon en listo malalte, kaj kliku Jes. +NewFolderName=Nova dosierujo + +; *** "Welcome" wizard page +WelcomeLabel1=Bonvenon al Majstro de instalado de [name] +WelcomeLabel2=Nun komencos instalado de [name/ver] en via komputilo.%n%nEstas rekomendite ke vi s`topu c`iajn viajn programojn antau` komenco. + +; *** "Password" wizard page +WizardPassword=Pasvorto +PasswordLabel1=C`i tia instalado postulas pasvorton. +PasswordLabel3=Bonvolu tajpi pasvorton kaj poste kliku Antau`en por kontinui. La pasvortoj estas tajp sentemaj. +PasswordEditLabel=&Pasvorto: +IncorrectPassword=La pasvorto, kian vi tajpis estas malg`usta. Bonvolu provi denove. + +; *** "License Agreement" wizard page +WizardLicense=Licenza konvenio +LicenseLabel=Bonvolu legi sekvan gravan informacion antau` komenci. +LicenseLabel3=Bonvolu legi sekvan Licenzan Konvenion. Vi devas akcepti dotaj`oj de tia konvenio antau` ke kontinui instaladon. +LicenseAccepted=Mi akceptas konvenion +LicenseNotAccepted=Mi ne akceptas konvenion + +; *** "Information" wizard pages +WizardInfoBefore=Informacio +InfoBeforeLabel=Bonvolu legi sekvan gravan informacion antau` komenci. +InfoBeforeClickLabel=Kiam vi estas preta por kontinui per instalo, kliku Antau`en. +WizardInfoAfter=Informacio +InfoAfterLabel=Bonvolu legi sekvan gravan informacion antau` komenci. +InfoAfterClickLabel=Kiam vi estas preta por kontinui per instalo, kliku Antau`en. + +; *** "User Information" wizard page +WizardUserInfo= Informacio pri uzanto +UserInfoDesc=Bonvolu skribi vian informacion. +UserInfoName=Nomo de uzanto: +UserInfoOrg=&Organizacio: +UserInfoSerial=&Seria Numero: +UserInfoNameRequired=Vi devas skribi nomon de uzanto. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Elektu Destinan Locon +SelectDirDesc=Kie devos [name] esti instalita? +SelectDirLabel3=La Majstro instalos [name] en sekvan dosierujon. +SelectDirBrowseLabel=Por kontinui, kliku Antau`en. Se vi volas elekti diversan dosierujon, kliku Elekto. +DiskSpaceMBLabel=Almenau` [mb] MB de neta diska spaco bezonas. +CannotInstallToNetworkDrive=Majstro ne povas instali lokan diskon. +CannotInstallToUNCPath=Majstro ne povas instali lau` UNC vojo. +InvalidPath=Vi devas skribi plenan vojon de diska litero; por ekzamplo:%n%nC:\APP%n%sed ne UNC vojo lau` formo:%n%n\\server\share +InvalidDrive=Disko au` UNC kian vi elektis ne ekzistas au` ne estas difinita. Bonvolu elekti denove. +DiskSpaceWarningTitle=Mankas Diskan Spacon +DiskSpaceWarning=Por instalo bezonas almenau` %1 KB de neta spaco por instalado, sed electita disko havas nur %2 KB.%n%nC`u vi volas kontinui per c`iokaze? +DirNameTooLong=La nomo de dosierujo au` vojo estas tro longa. +InvalidDirName=La nomo de dosierujo estas malg`usta. +BadDirName32=La nomoj de dosierujoj ne povas havi de sekvaj karakteroj:%n%n%1 +DirExistsTitle=Dosierujo ekzistas +DirExists=La dosierujo:%n%n%1%n%njam ekzistas. C`u vi volas instali en g`i c`iokaze? +DirDoesntExistTitle=La dosierujo ne ekzistas +DirDoesntExist=La dosierujo:%n%n%1%n%nne ekzistas. C`u vi volas por ke tia dosierujo estos farita? + +; *** "Select Components" wizard page +WizardSelectComponents=Elektu komponentoj +SelectComponentsDesc=Kiaj komponentoj devas esti instalitaj? +SelectComponentsLabel2=Elektu komponentoj kiaj vi volas instali; forigu la komponentojn kiaj vi ne volas instali. Kliku Antau`en kiam vi estas preta por kontinui. +FullInstallation=Tuta instalado +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompakta instalado +CustomInstallation=Kutima instalado +NoUninstallWarningTitle=Komponentoj ekzistas +NoUninstallWarning=La Majstro difinis ke sekvaj komponentoj jam estas instalitaj en via komputilo:%n%n%1%n%nNuligo de elekto de tiaj komponentoj ne forigos g`in.%n%nC`u vi volas kontinui c`iokaze? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Nuna elekto bezonas almenau` [mb] MB de diska spaco. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Elektu aldonaj taskoj +SelectTasksDesc=Kiaj aldonaj taskoj devos esti montrotaj? +SelectTasksLabel2=Elektu aldonaj taskoj kiaj bezonas por ke Majstro montros dum instalado [name], kaj poste kliku Antau`en. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Elektu dosierujon de starta menuo +SelectStartMenuFolderDesc=Kie Majstro devas krei tujklavon de programo? +SelectStartMenuFolderLabel3=La Majstro kreos tujklavojn de programo en sekva dosierujo de starta menuo. +SelectStartMenuFolderBrowseLabel=Por kontinui, kliku Antau`en. Se vi volas elekti alian dosierujon, kliku Elekto. +MustEnterGroupName=Vi devas skribi la nomo de dosierujo. +GroupNameTooLong=La nomo de dosierujo au` vojo estas tro longa. +InvalidGroupName=La nomo de dosierujo estas malg`usta. +BadGroupName=La nomoj de dosierujoj ne povas havi de sekvaj karakteroj:%n%n%1 +NoProgramGroupCheck2=Ne krei dosierujon de starta menuo + +; *** "Ready to Install" wizard page +WizardReady=Preparado por Instalo +ReadyLabel1=Nun c`io estas preparita por komenci instaladon [name] en via komputilo. +ReadyLabel2a=Kliku Instali por kontinui instaladon, au`kliku Reen se vi volas rigardi au` s`ang`i ajnajn statojn. +ReadyLabel2b=Kliku Instali por kontinui instaladon. +ReadyMemoUserInfo=Informacio de uzanto: +ReadyMemoDir=Destina loko: +ReadyMemoType=Majstra tipo: +ReadyMemoComponents=Elektitaj komponentoj: +ReadyMemoGroup=La dosierujo de starta menuo: +ReadyMemoTasks=Aldonaj taskoj: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparado por Instalo +PreparingDesc=Majstro estas preparata por instalo [name] en via komputilo. +PreviousInstallNotCompleted=Instalado/Forigo de antau`a programo ne estas plena. Por vi bezonas relanc`i vian komputilon por plenigi tian instaladon.%n%nPost relanc`o de via komputilo, s`altu Majstron denove por finigi instaladon de [name]. +CannotContinue=La Majstro ne povas kontinui. Bonvolu kliki Fino por eliri. +ApplicationsFound=Sekvaj aplikaj`oj uzas dosierojn kiajn bezonas renovigi per Instalado. Estas rekomendite ke vi permesu al Majstro automate fermi tiajn aplikaj`ojn. +ApplicationsFound2=Sekvaj aplikaj`oj uzas dosierojn kiajn bezonas renovigi per Instalado. Estas rekomendite ke vi permesu al Majstro automate fermi tiajn aplikaj`ojn. Poste de instalado Majstro provos relanc`i aplikaj`ojn. +CloseApplications=&Automate fermi aplikaj`ojn +DontCloseApplications=Ne fermu aplikaj`ojn +ErrorCloseApplications=Majstro estis nepovebla au`tomate fermi c`iajn aplikaj`ojn. Estas rekomendite ke vi fermu c`iajn aplikaj`ojn, uzantaj dosierojn, kiaj estas bezonatajn por renovigo per la Majstro antau` kontinui. + +; *** "Installing" wizard page +WizardInstalling=Instalado +InstallingLabel=Bonvolu atenti dum Majstro instalas [name] en via komputilo. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel= Fino de instalado +FinishedLabelNoIcons=La Majstro finigis instaladon [name] en via komputilo. +FinishedLabel=La Majstro finigis instaladon [name] en via komputilo. La aplikaj`o povos esti lanc`ita per elekto de instalaj ikonoj. +ClickFinish= Kliku Fino por finigi instaladon. +FinishedRestartLabel=Por plenumigi instaladon de [name], Majstro devas relanc`i vian komputilon. C`u vi volas relanc`i nun? +FinishedRestartMessage=Por plenumigi instaladon de [name], Majstro devas relanc`i vian komputilon.%n%nC`u vi volas relanc`i nun? +ShowReadmeCheck=Jes, mi volas rigardi dosieron README +YesRadio=&Jes, relanc`u komputilon nun +NoRadio=&Ne, mi volas relanc`i komputilon poste +; used for example as 'Run MyProg.exe' +RunEntryExec=S`altu %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Rigardi %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=La Majstro postulas sekvan diskon +SelectDiskLabel2=Bonvolu inserti Diskon %1 kaj kliku Jes.%n%nSe dosieroj en tia disko povos esti diversaj de prezentitaj malalte, enskribu korektan vojon au` kliku Elekto. +PathLabel=&Vojo: +FileNotInDir2=Dosieron "%1" estas nepoveble lokigi en "%2". Bonvolu inserti korectan diskon au` elektu alian dosierujon. +SelectDirectoryLabel=Bonvolu difini lokon de alia disko. + +; *** Installation phase messages +SetupAborted=Instalado ne estis plena.%n%nBonvolu korekti problemon kaj lanc`u Majstron denove. +EntryAbortRetryIgnore=Kliku Reen por provi ankorau`, Ignori por fari c`iokaze, au` S`topi por finigi instaladon. + +; *** Installation status messages +StatusClosingApplications=Fermado de aplikaj`oj... +StatusCreateDirs=Kreado de dosierujojn... +StatusExtractFiles=Ekstraktado de dosierojn... +StatusCreateIcons=Kreado de tujklavojn... +StatusCreateIniEntries=Kreado de INI dosierojn... +StatusCreateRegistryEntries=Kreado de registraj pointoj... +StatusRegisterFiles=Registrado de dosierojn... +StatusSavingUninstall=Konservas informacio por forigo... +StatusRunProgram=Finig`as instalado... +StatusRestartingApplications=Relanc`o de aplikaj`oj... +StatusRollback=Renovigo de s`ang`oj... + +; *** Misc. errors +ErrorInternal2=Interna eraro: %1 +ErrorFunctionFailedNoCode=%1 estas kripligita +ErrorFunctionFailed=%1 estas kripligita; kodnomo %2 +ErrorFunctionFailedWithMessage=%1 estas kripligita; kodnomo %2.%n%3 +ErrorExecutingProgram=Estas nepoveble plenumi dosieron:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Eraro dum malfermo de registra s`losilo:%n%1\%2 +ErrorRegCreateKey=Eraro dum kreado de registra s`losilo:%n%1\%2 +ErrorRegWriteKey=Eraro dum skribado en registra s`losilo:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Eraro dum kreado de INI pointo en dosiero "%1". + +; *** File copying errors +FileAbortRetryIgnore=Kliku Reen por provi denove, Ignori por lasi tian dosieron (ne estas rekomendite), au` S`topi por finigi instaladon. +FileAbortRetryIgnore2=Kliku Reen por provi denove, Ignori por plenumi c`iokaze (ne estas rekomendite), au` S`topi por finigi instaladon. +SourceIsCorrupted=La fonta dosiero estas kripligita +SourceDoesntExist=La fonta dosiero "%1" ne ekzistas +ExistingFileReadOnly=Ekzista dosiero estas markita kiel nurlega.%n%nKliku Reen por forigi la nurlegan atributon kaj provu reen, Ignori por lasi tian dosieron, au` S`topi por fini instaladon. +ErrorReadingExistingDest=Eraro aperis dum legado de ekzista dosiero: +FileExists=La dosiero jam ekzistas.%n%nC`u vi volas ke Majstro reskribu g`in? +ExistingFileNewer=Ekzista dosiero estas pli nova ol Majstro provas instali. Estas rekomendita ke vi konservu ekzistan dosieron.%n%nC`u vi volas konservi ekzistan dosieron? +ErrorChangingAttr=Eraro aperis dum provo c`ang`i atributoj de ekzista dosiero: +ErrorCreatingTemp=Eraro aperis dum kreado dosieron en destina dosierujo: +ErrorReadingSource=Eraro aperis dum legado de dosiero: +ErrorCopying=Eraro aperis dum kopiado de dosiero: +ErrorReplacingExistingFile=Eraro aperis dum relokig`o de ekzistan dosieron: +ErrorRestartReplace=Relanc`o/Relokig`o estas kripligita: +ErrorRenamingTemp=Eraro aperis dum renomig`o del dosiero en destina dosierujo: +ErrorRegisterServer=Estas nepoveble registri DLL/OC`: %1 +ErrorRegSvr32Failed=RegSvr32estas kripligita kun elira codo %1 +ErrorRegisterTypeLib=Estas nepoveble registri bibliotekon de tipo : %1 + +; *** Post-installation errors +ErrorOpeningReadme=Eraro aperis dum malfermado de README dosiero. +ErrorRestartingComputer=Majstro ne povis relanc`i komputilo. Bonvolu fari tion permane. + +; *** Uninstaller messages +UninstallNotFound=Dosiero "%1" ne ekzistas. Estas nepoveble forigi. +UninstallOpenError=Dosieron "%1" nepoveble estas malfermi. Estas nepoveble forigi +UninstallUnsupportedVer=\Foriga protokolo "%1" estas en nekonata formato per c`i tia versio de forigprogramo. Estas nepoveble forigi +UninstallUnknownEntry=Ekzistas nekonata pointo (%1) en foriga protokolo +ConfirmUninstall=C`u vi reale volas tute forigi %1 kaj c`iaj komponentoj de g`i? +UninstallOnlyOnWin64=C`i tian instaladon povos forigi nur en 64-bit Vindoso. +OnlyAdminCanUninstall=C`i tian instaladon povos forigi nur uzanto kun administrantaj rajtoj. +UninstallStatusLabel=Bonvolu atendi dum %1 forig`os de via komputilo. +UninstalledAll=%1 estis sukcese forigita de via komputilo. +UninstalledMost=Forigo de %1 estas plena.%n%nKelkaj elementoj ne estis forigitaj. G`in poveble estas forigi permane. +UninstalledAndNeedsRestart=Por plenumi forigadon de %1, via komputilo devas esti relanc`ita.%n%nC`u vi volas relanc`i nun? +UninstallDataCorrupted="%1" dosiero estas kriplita. Estas nepoveble forigi + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Forigi komune uzatan dosieron? +ConfirmDeleteSharedFile2=La sistemo indikas ke sekva komune uzata dosiero jam ne estas uzata per neniel aplikaj`oj. C`u vi volas forigi c`i tian dosieron?%n%nSe ajna programo jam uzas tian dosieron, dum forigo g`i povos malg`uste funkcii. Se vi ne estas certa elektu Ne. Restante en via sistemo la dosiero ne damag`os g`in. +SharedFileNameLabel=nomo de dosiero: +SharedFileLocationLabel=Loko: +WizardUninstalling=Stato de forigo +StatusUninstalling=Forigado %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instalado %1. +ShutdownBlockReasonUninstallingApp=Forigado %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versio %2 +AdditionalIcons=Aldonaj ikonoj: +CreateDesktopIcon=Krei &Labortablan ikonon +CreateQuickLaunchIcon=Krei &Rapida lanc`o ikonon +ProgramOnTheWeb=%1 en Reto +UninstallProgram=Rorig`ado %1 +LaunchProgram=Lanc`o %1 +AssocFileExtension=&Asociigi %1 kun %2 dosieraj finaj`oj +AssocingFileExtension=Asociig`as %1 kun %2 dosiera finaj`o... +AutoStartProgramGroupDescription=Lanc`o: +AutoStartProgram=Automate s`alti %1 +AddonHostProgramNotFound=%1 nepoveble estas loki en dosierujo kian vi elektis.%n%nC`u vi volas kontinui c`iokaze? diff --git a/Greenshot/releases/innosetup/Languages/Estonian.isl b/Greenshot/releases/innosetup/Languages/Estonian.isl new file mode 100644 index 000000000..003275f6c --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Estonian.isl @@ -0,0 +1,341 @@ +; *** Inno Setup version 5.5.3+ Estonian messages *** +; +; Estonian translation by LiivaneLord +; E-mail: liivane.lord@mail.ee +; Last modification date: 2013-01-09 +; Tlge baseerub rix'i tlkele, mida on parandatud ja kohandatud uuemale versioonile. +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Eesti +LanguageID=$0425 +LanguageCodePage=1257 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Paigalda +SetupWindowTitle=Paigalda %1 +UninstallAppTitle=Eemalda +UninstallAppFullTitle=Eemalda %1 + +; *** Misc. common +InformationTitle=Informatsioon +ConfirmTitle=Kinnita +ErrorTitle=Viga + +; *** SetupLdr messages +SetupLdrStartupMessage=Paigaldatakse %1. Kas soovid jtkata? +LdrCannotCreateTemp=Ei saanud luua ajutist faili. Paigaldamine katkestati +LdrCannotExecTemp=Ei saanud kivitada faili ajutises kataloogis. Paigaldamine katkestati + +; *** Startup error messages +LastErrorMessage=%1.%n%nViga %2: %3 +SetupFileMissing=%1 on paigaldamise kaustast kadunud. Palun paranda see viga vi hangi programmi uus koopia. +SetupFileCorrupt=Paigaldaja failid on rikutud. Palun hangi programmi uus koopia. +SetupFileCorruptOrWrongVer=Paigaldaja failid on kas rikutud vi ei tta selle paigaldaja versiooniga. Palun paranda see viga vi hangi programmi uus koopia. +InvalidParameter=Ksureale anti vale parameeter:%n%n%1 +SetupAlreadyRunning=Paigaldaja alles ttab. +WindowsVersionNotSupported=Seda programmi ei saa selle Windowsi versiooniga kasutada, mis arvutis praegu ttab. +WindowsServicePackRequired=See programm vajab %1 Service Pack (Hoolduspakett) %2 vi uuemat. +NotOnThisPlatform=See programm ei tta %1'i platvormil. +OnlyOnThisPlatform=See programm peab ttama %1'i platvormil. +OnlyOnTheseArchitectures=Seda programmi saab paigaldada ainult neile Windowsi versioonidele, mis on vlja ttatud jrgmistele protsessori arhitektuuridele:%n%n%1 +MissingWOW64APIs=Sinu arvutis ttaval Windowsil puuduvad 64-bitise paigaldamise jaoks vajalik funktsionaalsus. Selle probleemi parandamiseks paigalda palun Service Pack (Hoolduspakett) %1. +WinVersionTooLowError=See programm vajab %1 versiooniga %2 vi uuemat. +WinVersionTooHighError=Seda programmi ei saa paigaldada %1 versiooniga %2 vi uuema puhul. +AdminPrivilegesRequired=Selle programmi paigaldamiseks pead olema administraatorina sisse logitud. +PowerUserPrivilegesRequired=Selle programmi paigaldamiseks pead olema sisse logitud administraatorina vi Power user liikmena. +SetupAppRunningError=Paigaldaja tuvastas, et %1 ttab hetkel.%n%nPalun sulge see programm ning seejrel jtkamiseks vajuta OK, katkestamiseks Katkesta. +UninstallAppRunningError=Eemaldaja tuvastas, et %1 ttab hetkel.%n%nPalun sulge see programm ning seejrel jtkamiseks vajuta OK, katkestamiseks Katkesta. + +; *** Misc. errors +ErrorCreatingDir=Paigaldaja ei saanud luua kataloogi "%1" +ErrorTooManyFilesInDir=Ei saanud luua faili kataloogi "%1", kuna seal on juba liiga palju faile + +; *** Setup common messages +ExitSetupTitle=Vlju paigaldajast +ExitSetupMessage=Paigaldamine pole valmis. Kui praegu vljud, siis programmi ei paigaldata.%n%nPaigaldamise lpetamiseks vid paigaldaja mni teine kord uuesti kivitada.%n%nSoovid vljuda paigaldajast? +AboutSetupMenuItem=&Teave paigaldajast... +AboutSetupTitle=Teave paigaldajast +AboutSetupMessage=%1 versiooniga %2%n%3%n%n%1 koduleht:%n%4 +AboutSetupNote= +TranslatorNote=Tlkis LiivaneLord (liivane[dot]lord[at]mail[dot]ee) + +; *** Buttons +ButtonBack=< &Tagasi +ButtonNext=&Edasi > +ButtonInstall=&Paigalda +ButtonOK=OK +ButtonCancel=Katkesta +ButtonYes=&Jah +ButtonYesToAll=Kikidele J&ah +ButtonNo=&Ei +ButtonNoToAll=Kikidele E&i +ButtonFinish=&Valmis +ButtonBrowse=&Sirvi... +ButtonWizardBrowse=S&irvi... +ButtonNewFolder=&Loo uus kaust + +; *** "Select Language" dialog messages +SelectLanguageTitle=Vali paigaldaja keel +SelectLanguageLabel=Vali keel, mida soovid kasutada paigaldamise kigus: + +; *** Common wizard text +ClickNext=Jtkamiseks vajuta Edasi, paigaldajast vljumiseks vajuta Katkesta. +BeveledLabel= +BrowseDialogTitle=Sirvi kausta +BrowseDialogLabel=Vali allolevast nimekirjast kaust ja vajuta OK. +NewFolderName=Uus kaust + +; *** "Welcome" wizard page +WelcomeLabel1=Tere tulemast [name] paigaldaja viisardisse +WelcomeLabel2=Sinu arvutisse paigaldatakse [name/ver].%n%nEnne jtkamist on soovitatav sulgeda kik muud programmid. + +; *** "Password" wizard page +WizardPassword=Parool +PasswordLabel1=See paigaldaja on kaitstud parooliga. +PasswordLabel3=Palun sisesta parool ja vajuta Edasi. Paroolid on tstutundlikud. +PasswordEditLabel=&Parool: +IncorrectPassword=Sisestatud parool on vale. Palun proovi uuesti. + +; *** "License Agreement" wizard page +WizardLicense=Litsentsileping +LicenseLabel=Palun loe enne jtkamist see informatsioon lbi. +LicenseLabel3=Palun loe jrgnevat litsentsilepingut. Paigaldamise jtkamiseks pead nustuma selle lepingu tingimustega. +LicenseAccepted=Ma &nustun lepinguga +LicenseNotAccepted=Ma &ei nustu lepinguga + +; *** "Information" wizard pages +WizardInfoBefore=Informatsioon +InfoBeforeLabel=Palun loe enne jtkamist see oluline informatsioon lbi. +InfoBeforeClickLabel=Kui oled valmis jtkama paigaldamist, vajuta Edasi. +WizardInfoAfter=Informatsioon +InfoAfterLabel=Palun loe enne jtkamist see oluline informatsioon lbi. +InfoAfterClickLabel=Kui oled valmis jtkama paigaldamist, vajuta Edasi. + +; *** "User Information" wizard page +WizardUserInfo=Andmed kasutaja kohta +UserInfoDesc=Palun sisesta oma andmed. +UserInfoName=&Kasutaja nimi: +UserInfoOrg=&Organisatsioon: +UserInfoSerial=&Seerianumber: +UserInfoNameRequired=Pead sisestama nime. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Vali programmile kaust +SelectDirDesc=Kuhu [name] paigaldada? +SelectDirLabel3=Paigaldaja paigaldab [name]'i jrgnevasse kausta. +SelectDirBrowseLabel=Jtkamiseks vajuta Edasi. Kui soovid valida muu kausta, vajuta Sirvi. +DiskSpaceMBLabel=Programm vajab vhemalt [mb] MB vaba ruumi. +CannotInstallToNetworkDrive=Programmi ei saa paigaldada vrgudraivile. +CannotInstallToUNCPath=Programmi ei saa paigaldada UNC kataloogi. +InvalidPath=Pead sisestama tispika draivitee koos draivithisega; niteks:%n%nC:\APP%n%nvi UNC kataloog kujul:%n%n\\server\share +InvalidDrive=Sinu valitud draivi vi UNC kataloogi ei eksisteeri vi puudub sellele ligips. Palun vali mni teine. +DiskSpaceWarningTitle=Pole piisavalt ruumi +DiskSpaceWarning=Paigaldamiseks on vaja vhemalt %1 KB vaba ruumi, aga valitud draivil on vaba ainult %2 KB.%n%nKas soovid sellegipoolest jtkata? +DirNameTooLong=Kausta nimi vi kaustatee on liiga pikk +InvalidDirName=Kausta nimi on vale. +BadDirName32=Kausta nimed ei tohi sisaldada htegi jrgnevatest smbolitest:%n%n%1 +DirExistsTitle=Kaust on olemas +DirExists=Kaust:%n%n%1%n%non juba olemas. Kas soovid sellegipoolest sinna paigaldada? +DirDoesntExistTitle=Kaust puudub +DirDoesntExist=Kaust:%n%n%1%n%npuudub. Kas soovid, et see kaust luuakse? + +; *** "Select Components" wizard page +WizardSelectComponents=Vali komponendid +SelectComponentsDesc=Millised komponendid paigaldada? +SelectComponentsLabel2=Vali komponendid, mida paigaldada; eemalda mrgid komponentidelt, mida ei soovi paigaldada. Kui oled valmis jtkama, vajuta Edasi. +FullInstallation=Tielik paigaldamine +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Kompaktne paigaldamine +CustomInstallation=Kohandatud paigaldamine +NoUninstallWarningTitle=Komponendid on juba olemas +NoUninstallWarning=Paigaldaja tuvastas, et jrgnevad komponendid on sinu arvutis juba olemas:%n%n%1%n%nNende mittevalimine ei eemalda neid.%n%nKas soovid sellegipoolest jtkata? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Praegune valik vajab vhemalt [mb] MB vaba ruumi. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Vali tiendavad lesanded +SelectTasksDesc=Milliseid tiendavaid lesanded tita? +SelectTasksLabel2=Vali, milliseid tiendavaid lesandeid [name] paigaldaja peab titma ja vajuta Edasi. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Vali Start men kaust +SelectStartMenuFolderDesc=Kuhu luua programmi otseteed? +SelectStartMenuFolderLabel3=Paigaldaja loob programmi otseteed jrgnevasse Start men kausta. +SelectStartMenuFolderBrowseLabel=Jtkamiseks vajuta Edasi. Kui soovid valida muu kausta, vajuta Sirvi. +MustEnterGroupName=Pead sisestama kausta nime. +GroupNameTooLong=Kausta nimi vi kaustatee on liiga pikk. +InvalidGroupName=Kausta nimi on vale. +BadGroupName=Kausta nimi ei tohi sisaldada jrgnevatest smbolitest:%n%n%1 +NoProgramGroupCheck2=&ra loo Start men kausta + +; *** "Ready to Install" wizard page +WizardReady=Valmis paigaldama +ReadyLabel1=Paigaldaja on valmis paigaldama [name]'i sinu arvutisse. +ReadyLabel2a=Paigaldamise jtkamiseks vajuta Paigalda vi vajuta Tagasi, et nha vi muuta seadeid. +ReadyLabel2b=Paigaldamise jtkamiseks vajuta Paigalda. +ReadyMemoUserInfo=Kasutaja andmed: +ReadyMemoDir=Sihtkaust: +ReadyMemoType=Paigalduse tp: +ReadyMemoComponents=Valitud komponendid: +ReadyMemoGroup=Start men kaust: +ReadyMemoTasks=Lisalesanded: + +; *** "Preparing to Install" wizard page +WizardPreparing=Paigaldamiseks valmistumine +PreparingDesc=Paigaldaja valmistub paigaldama [name]'i sinu arvutisse. +PreviousInstallNotCompleted=Eelmise programmi paigaldamine/eemaldamine ei ole lpetatud. Paigaldamise lpetamiseks pead arvuti taaskivitama.%n%nPrast taaskivitust kivitage [name]'i paigaldaja uuesti, et lpetada paigaldamine. +CannotContinue=Paigaldaja ei saa jtkata. Vljumiseks vajuta palun Katkesta. +ApplicationsFound=Jrgnevad rakendused kasutavad faile, mida paigaldaja peab uuendama. Soovitatav on lubada paigaldajal need rakendused automaatselt sulgeda. +ApplicationsFound2=Jrgnevad rakendused kasutavad faile, mida paigaldaja peab uuendama. Soovitatav on lubada paigaldajal need rakendused automaatselt sulgeda. Prasta paigaldamise lpetamist ritab paigaldaja need rakendused taaskivitada. +CloseApplications=&Sulge rakendused automaatselt +DontCloseApplications=ra s&ulge rakendusi +ErrorCloseApplications=Paigaldaja ei saanud kiki rakendusi automaatselt sulgeda. Enne jtkamist on soovitatav sul sulgeda kik rakendused, mis kasutavad faile, mida paigaldaja peab uuendama. + +; *** "Installing" wizard page +WizardInstalling=Paigaldamine +InstallingLabel=Palun oota, kuni [name] paigaldatakse sinu arvutisse. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name]'i paigaldamise lpetamine +FinishedLabelNoIcons=[name]'i paigaldamine on lpetatud. +FinishedLabel=[name]'i paigaldamine on lpetatud. Programmi saab kivitada paigaldatud ikoonide abil. +ClickFinish=Paigaldajast vljumiseks vajuta Valmis. +FinishedRestartLabel=[name]'i paigaldamise lpetamiseks peab arvuti taaskivituma. Kas soovid kohe taaskivitada? +FinishedRestartMessage=[name]'i paigaldamise lpetamiseks peab arvuti taaskivituma.%n%nKas soovid kohe taaskivitada? +ShowReadmeCheck=Jah, sooviksin nha Readme (LoeMind) faili +YesRadio=&Jah, taaskivita arvuti kohe +NoRadio=&Ei, taaskivitan arvuti hiljem +; used for example as 'Run MyProg.exe' +RunEntryExec=Kivita %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Vaata %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Paigaldaja vajab jrgmist diski +SelectDiskLabel2=Palun sisesta disk %1 ja vajuta OK.%n%nKui diskil olevad failid asuvad kuskil mujal, siis sisesta ige kaustatee vi vajuta Sirvi. +PathLabel=&Asukoht: +FileNotInDir2=Fail "%1" ei asu kohas "%2". Palun sisesta ige disk vi vali teine kaust. +SelectDirectoryLabel=Palun tpsusta jrgmise diski asukoht. + +; *** Installation phase messages +SetupAborted=Paigaldamist ei lpetatud.%n%nPalun paranda viga ja kivita paigaldaja uuesti. +EntryAbortRetryIgnore=Uuesti proovimiseks vajuta Proovi uuesti, jtkamiseks Ignoreeri vi lpetamiseks Katkesta. + +; *** Installation status messages +StatusClosingApplications=Rakenduste sulgemine... +StatusCreateDirs=Kaustade loomine... +StatusExtractFiles=Failide lahtipakkimine... +StatusCreateIcons=Otseteede loomine... +StatusCreateIniEntries=INI kirjete loomine... +StatusCreateRegistryEntries=Registri kirjete loomine... +StatusRegisterFiles=Failide registreerimine... +StatusSavingUninstall=Eemaldamise teabe salvestamine... +StatusRunProgram=Paigaldamise lpetamine... +StatusRestartingApplications=Rakenduste taaskivitamine... +StatusRollback=Muudatuste tagasivtmine... + +; *** Misc. errors +ErrorInternal2=Sisemine viga: %1 +ErrorFunctionFailedNoCode=%1 luhtus +ErrorFunctionFailed=%1 luhtus; kood %2 +ErrorFunctionFailedWithMessage=%1 luhtus; kood %2.%n%3 +ErrorExecutingProgram=Ei saanud kivitada faili:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Ei saanud avada registri vtit:%n%1\%2 +ErrorRegCreateKey=Ei saanud luua registri vtit:%n%1\%2 +ErrorRegWriteKey=Ei saanud kirjutada registri vtit:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Viga INI kirje loomisel failis "%1". + +; *** File copying errors +FileAbortRetryIgnore=Uuesti proovimiseks vajuta Proovi uuesti, faili vahelejtmiseks Ignoreeri (mittesoovitatav) vi paigaldamisest loobumiseks Katkesta. +FileAbortRetryIgnore2=Uuesti proovimiseks vajuta Proovi uuesti, jtkamiseks Ignoreeri (mittesoovitatav) vi paigaldamisest loobumiseks Katkesta. +SourceIsCorrupted=Lhtefail on rikutud +SourceDoesntExist=Lhtefaili "%1" ei eksisteeri +ExistingFileReadOnly=Fail on mrgitud kui kirjutuskaitstud.%n%nKirjutuskaitstuse mahavtmiseks vajuta Proovi uuesti ja proovi uuesti, faili vahelejtmiseks Ignoreeri vi paigaldamisest loobumiseks Katkesta. +ErrorReadingExistingDest=Faili lugemisel ilmnes viga: +FileExists=Fail on juba olemas.%n%nKas soovid, et paigaldaja selle le kirjutaks? +ExistingFileNewer=Olemasolev fail on uuem kui see, mida paigaldaja ritab paigaldada. Soovitatav on olemasolev fail alles jtta.%n%nKas soovid olemasoleva faili alles jtta? +ErrorChangingAttr=Faili atribuutide muutmisel ilmnes viga: +ErrorCreatingTemp=Faili loomisel sihtkataloogi ilmnes viga: +ErrorReadingSource=Lhtefaili lugemisel ilmnes viga: +ErrorCopying=Faili kopeerimisel ilmnes viga: +ErrorReplacingExistingFile=Olemasoleva faili asendamisel ilmnes viga: +ErrorRestartReplace=Faili asendamine peale taaskivitust ei nnestunud: +ErrorRenamingTemp=Faili nime muutmisel sihtkataloogis ilmnes viga: +ErrorRegisterServer=Ei saanud registreerida DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 luhtus koodiga %1 +ErrorRegisterTypeLib=Unable to register the type library: %1 + +; *** Post-installation errors +ErrorOpeningReadme=README (LoeMind) faili avamisel ilmnes viga. +ErrorRestartingComputer=Paigaldaja ei suutnud arvutit taaskivitada. Palun tee seda ksitsi. + +; *** Uninstaller messages +UninstallNotFound=Faili "%1" ei ole olemas. Ei saa eemaldada. +UninstallOpenError=Faili "%1" ei saanud avada. Ei saa eemaldada. +UninstallUnsupportedVer=Eemaldamise logifaili "%1" formaat on tundmatu selle versiooni eemaldaja jaoks. Ei saa eemaldada +UninstallUnknownEntry=Eemaldaja logis on tundmatu kirje (%1) +ConfirmUninstall=Oled kindel, et soovid eemaldada %1'i ja kik selle komponendid? +UninstallOnlyOnWin64=Seda paigaldamist saab eemaldada ainult 64-bitises Windowsis. +OnlyAdminCanUninstall=Seda paigaldamist saab eemaldada ainult administraatoriigustega kasutaja. +UninstallStatusLabel=Palun oota, kuni %1 eemaldatakse sinu arvutist. +UninstalledAll=%1 eemaldati sinu arvutist edukalt. +UninstalledMost=%1'i eemaldamine nnestus.%n%nMned elemendid jid alles. Need vib ksitsi kustutada. +UninstalledAndNeedsRestart=%1'i eemaldamise lpetamiseks peab arvuti taaskivituma.%n%nKas soovid kohe taaskivitada? +UninstallDataCorrupted="%1" fail on rikutud. Ei saa eemaldada + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Kas kustutan hiskasutuses oleva faili? +ConfirmDeleteSharedFile2=Ssteem kinnitab, et hiskasutuses olevat faili ei kasuta kski teine programm. Kas soovid, et eemaldaja selle hiskasutuses oleva faili kustutaks?%n%nKui mni programm seda siiski veel kasutab, siis ei pruugi see enam korralikult ttada. Kui sa pole kindel, vali Ei. Faili allesjtmine ei tekita probleeme. +SharedFileNameLabel=Faili nimi: +SharedFileLocationLabel=Asukoht: +WizardUninstalling=Eemaldamise staatus +StatusUninstalling=%1'i eemaldamine... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1'i paigaldamine. +ShutdownBlockReasonUninstallingApp=%1'i eemaldamine. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versiooniga %2 +AdditionalIcons=Tiendavad ikoonid: +CreateDesktopIcon=Loo &tlaua ikoon +CreateQuickLaunchIcon=Loo &kiirkivituse ikoon +ProgramOnTheWeb=%1 veebis +UninstallProgram=%1 - eemalda +LaunchProgram=Kivita %1 +AssocFileExtension=&Seosta %1 %2 faililaiendiga +AssocingFileExtension=Seostan %1 %2 faililaiendiga... +AutoStartProgramGroupDescription=Kivitus: +AutoStartProgram=Kivita %1 automaatselt +AddonHostProgramNotFound=%1 ei asu sinu valitud kaustas.%n%nKas soovid sellegipoolest jtkata? diff --git a/Greenshot/releases/innosetup/Languages/Farsi.isl b/Greenshot/releases/innosetup/Languages/Farsi.isl new file mode 100644 index 000000000..232a7ce3b --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Farsi.isl @@ -0,0 +1,337 @@ +; *** Inno Setup version 5.5.3+ Farsi messages *** +;Translator:Hessam Mohamadi +;Email:hessam55@hotmail.com +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Farsi +LanguageID=$0429 +LanguageCodePage=1256 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +DialogFontName=Tahoma +DialogFontSize=8 +WelcomeFontName=Tahoma +WelcomeFontSize=11 +TitleFontName=Tahoma +TitleFontSize=28 +CopyrightFontName=Tahoma +CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle= +SetupWindowTitle=%1 - +UninstallAppTitle= +UninstallAppFullTitle=%1 + +; *** Misc. common +InformationTitle= +ConfirmTitle= +ErrorTitle= + +; *** SetupLdr messages +SetupLdrStartupMessage= . Ͽ %1 +LdrCannotCreateTemp= . +LdrCannotExecTemp= . + +; *** Startup error messages +LastErrorMessage=%1.%n%n %2: %3 +SetupFileMissing= . Ԙ %1 +SetupFileCorrupt= ϡ +SetupFileCorruptOrWrongVer= ϡ . Ԙ +InvalidParameter= :%n%n%1 +SetupAlreadyRunning= +WindowsVersionNotSupported= ʡ +WindowsServicePackRequired= %1 %2 +NotOnThisPlatform= %1 +OnlyOnThisPlatform= %1 +OnlyOnTheseArchitectures= Ԑ ʡ :%n%n%1 +MissingWOW64APIs= %1 ǘ ʡ Ԙ +WinVersionTooLowError= %1 %2 +WinVersionTooHighError= %1 %2 +AdminPrivilegesRequired= +PowerUserPrivilegesRequired= +SetupAppRunningError=ǘ %1 %n%n Ӂ +UninstallAppRunningError=ǘ %1 %n%n Ӂ + +; *** Misc. errors +ErrorCreatingDir= "%1" +ErrorTooManyFilesInDir= "%1" + +; *** Setup common messages +ExitSetupTitle= +ExitSetupMessage= . ǐ ǘ ϡ %n%n . Ͽ +AboutSetupMenuItem=... & +AboutSetupTitle= +AboutSetupMessage=%2 %1%n%3%n%n%1 :%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< & +ButtonNext=& > +ButtonInstall=& +ButtonOK=& +ButtonCancel=& +ButtonYes=& +ButtonYesToAll= & +ButtonNo=& +ButtonNoToAll= & +ButtonFinish=& +ButtonBrowse=& +ButtonWizardBrowse=& +ButtonNewFolder= + +; *** "Select Language" dialog messages +SelectLanguageTitle= +SelectLanguageLabel= : + +; *** Common wizard text +ClickNext= +BeveledLabel= +BrowseDialogTitle= +BrowseDialogLabel= ϡ Ӂ +NewFolderName= + +; *** "Welcome" wizard page +WelcomeLabel1= [name] +WelcomeLabel2= [name/ver] %n%n ϡ + +; *** "Password" wizard page +WizardPassword= +PasswordLabel1= +PasswordLabel3= ϡӁ . 捘 ѐ +PasswordEditLabel=: +IncorrectPassword= . + +; *** "License Agreement" wizard page +WizardLicense= +LicenseLabel= +LicenseLabel3= . ȁ +LicenseAccepted= &흁 +LicenseNotAccepted= &흁 + +; *** "Information" wizard pages +WizardInfoBefore= +InfoBeforeLabel= +InfoBeforeClickLabel= ϡ +WizardInfoAfter= +InfoAfterLabel= +InfoAfterClickLabel= ϡ + +; *** "User Information" wizard page +WizardUserInfo= +UserInfoDesc= +UserInfoName= &: +UserInfoOrg=&: +UserInfoSerial= &: +UserInfoNameRequired= + +; *** "Select Destination Location" wizard page +WizardSelectDir= +SelectDirDesc= Ͽ [name] +SelectDirLabel3= [name] +SelectDirBrowseLabel= . ʡ +DiskSpaceMBLabel=ʝ [mb] +CannotInstallToNetworkDrive= Ș +CannotInstallToUNCPath= +InvalidPath= ϡ :%n%nC:\APP%n%n :%n%n\\server\share +InvalidDrive= ǘ ϡ . +DiskSpaceWarningTitle= +DiskSpaceWarning= %1 ʡ %2 .%n%n Ͽ +DirNameTooLong= +InvalidDirName= +BadDirName32= ǘ Ȑ:%n%n%1 +DirExistsTitle= +DirExists= :%n%n%1%n%nǘ . ϡ Ͽ +DirDoesntExistTitle= +DirDoesntExist= :%n%n%1%n%n . Ͽ + +; *** "Select Components" wizard page +WizardSelectComponents= +SelectComponentsDesc= Ͽ +SelectComponentsLabel2= ȡ ϡ . ϡ +FullInstallation= +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation= +CustomInstallation= +NoUninstallWarningTitle= +NoUninstallWarning= ǘ :%n%n%1%n%n .%n%n Ͽ +ComponentSize1=%1 +ComponentSize2=%1 +ComponentsDiskSpaceMBLabel= ʝ [mb] Ә + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks= +SelectTasksDesc= Ͽ +SelectTasksLabel2= ȡӁ [name] + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup= +SelectStartMenuFolderDesc= Ͽ +SelectStartMenuFolderLabel3= ҡ +SelectStartMenuFolderBrowseLabel= . ʡ +MustEnterGroupName= +GroupNameTooLong= +InvalidGroupName= +BadGroupName= ǘ :%n%n%1 +NoProgramGroupCheck2= + +; *** "Ready to Install" wizard page +WizardReady= +ReadyLabel1= [name] ҡ +ReadyLabel2a= +ReadyLabel2b= ȡ +ReadyMemoUserInfo= : +ReadyMemoDir= : +ReadyMemoType= : +ReadyMemoComponents= : +ReadyMemoGroup= : +ReadyMemoTasks= : + +; *** "Preparing to Install" wizard page +WizardPreparing= +PreparingDesc= [name] +PreviousInstallNotCompleted= ȡ %n%n [name] +CannotContinue= ϡ +ApplicationsFound= . Ϙ +ApplicationsFound2= . Ϙ . ȡ . +CloseApplications=& Ϙ +DontCloseApplications=& +ErrorCloseApplications= Ϙ . + +; *** "Installing" wizard page +WizardInstalling= +InstallingLabel= [name] + +; *** "Setup Completed" wizard page +FinishedHeadingLabel= [name] +FinishedLabelNoIcons= [name] +FinishedLabel= [name] +ClickFinish= +FinishedRestartLabel= . Ͽ [name] +FinishedRestartMessage= [name] %n%n Ͽ +ShowReadmeCheck= +YesRadio= +NoRadio=ѡ +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle= Ә +SelectDiskLabel2= %1 Ә%n%nǐ Ә ϡ +PathLabel=&: +FileNotInDir2= "%1" "%2" . Ә +SelectDirectoryLabel= Ә + +; *** Installation phase messages +SetupAborted= %n%n Ԙ +EntryAbortRetryIgnore= ʡ + +; *** Installation status messages +StatusClosingApplications=... +StatusCreateDirs=... +StatusExtractFiles=... +StatusCreateIcons=... +StatusCreateIniEntries=...INI +StatusCreateRegistryEntries=.. +StatusRegisterFiles=... +StatusSavingUninstall=... +StatusRunProgram=... +StatusRestartingApplications=... +StatusRollback=... Ґ + +; *** Misc. errors +ErrorInternal2= : %1 +ErrorFunctionFailedNoCode=%1 +ErrorFunctionFailed=%1 ϡ %2 +ErrorFunctionFailedWithMessage=%1 ϡ %2.%n%3 +ErrorExecutingProgram= :%n%1 + +; *** Registry errors +ErrorRegOpenKey= Ҙ :%n%1\%2 +ErrorRegCreateKey= :%n%1\%2 +ErrorRegWriteKey= :%n%1\%2 + +; *** INI errors +ErrorIniEntry=" "%1 + +; *** File copying errors +FileAbortRetryIgnore= ( ) +FileAbortRetryIgnore2= ( ) +SourceIsCorrupted= +SourceDoesntExist= "%1" +ExistingFileReadOnly= %n%n 塍 +ErrorReadingExistingDest= : +FileExists= %n%n Ͽ +ExistingFileNewer= . .%n%n Ͽ +ErrorChangingAttr= : +ErrorCreatingTemp= : +ErrorReadingSource= : +ErrorCopying= : +ErrorReplacingExistingFile= : +ErrorRestartReplace= : +ErrorRenamingTemp= : +ErrorRegisterServer= / : %1 +ErrorRegSvr32Failed=%1 +ErrorRegisterTypeLib= : %1 + +; *** Post-installation errors +ErrorOpeningReadme= +ErrorRestartingComputer= . + +; *** Uninstaller messages +UninstallNotFound= . "%1" +UninstallOpenError= . "%1" +UninstallUnsupportedVer= . "%1" +UninstallUnknownEntry= (%1) +ConfirmUninstall= Ͽ %1 +UninstallOnlyOnWin64= ҝ 64 +OnlyAdminCanUninstall= +UninstallStatusLabel= %1 +UninstalledAll= %1 +UninstalledMost= %1 %n%n ϡ +UninstalledAndNeedsRestart= %1 %n%n Ͽ +UninstallDataCorrupted= . "%1" + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle= ј Ͽ +ConfirmDeleteSharedFile2= ǘ . ǘ Ͽ%n%nǐ 흘 ϡ . ǐ . Ԙ +SharedFileNameLabel= : +SharedFileLocationLabel=: +WizardUninstalling= +StatusUninstalling=...%1 + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 +ShutdownBlockReasonUninstallingApp=%1 + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 %2 +AdditionalIcons= : +CreateDesktopIcon= Әǁ +CreateQuickLaunchIcon= +ProgramOnTheWeb=%1 +UninstallProgram=%1 +LaunchProgram=%1 +AssocFileExtension= %1 %2 & +AssocingFileExtension= %1 %2 +AutoStartProgramGroupDescription= : +AutoStartProgram=%1 Ϙ +AddonHostProgramNotFound=%1 .%n%n Ͽ diff --git a/Greenshot/releases/innosetup/Languages/Galician.isl b/Greenshot/releases/innosetup/Languages/Galician.isl new file mode 100644 index 000000000..fab5215e4 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Galician.isl @@ -0,0 +1,337 @@ +; *** Inno Setup version 6.0.3+ Galician messages *** +; +; Maintained by: Julio Mojon Fuentes +; (juliomf AT edu.xunta.gal) + +[LangOptions] +LanguageName=Galego +LanguageID=$0456 +LanguageCodePage=1252 + +[Messages] +; *** Application titles +SetupAppTitle=Instalar +SetupWindowTitle=Instalar %1 +UninstallAppTitle=Desinstalar +UninstallAppFullTitle=Desinstalar %1 + +; *** Misc. common +InformationTitle=Información +ConfirmTitle=Confirmar +ErrorTitle=Erro + +; *** SetupLdr messages +SetupLdrStartupMessage=Isto vai instalar %1. Desexa continuar? +LdrCannotCreateTemp=Non foi posible crear un arquivo temporal. Instalación cancelada +LdrCannotExecTemp=Non foi posible executar un arquivo no cartafol temporal. Instalación cancelada +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1.%n%nErro %2: %3 +SetupFileMissing=Non se atopa o arquivo %1 no cartafol de instalación. Por favor, corrixa o problema ou consiga unha nova copia do programa. +SetupFileCorrupt=Os arquivos de instalación están corruptos. Por favor, consiga unha nova copia do programa. +SetupFileCorruptOrWrongVer=Os arquivos de instalación están corruptos, ou son incompatibles con esta versión do asistente de instalación. Por favor, corrixa o problema ou consiga unha nova copia do programa. +InvalidParameter=Un parámetro no válido foi pasado na liña de comando:%n%n%1 +SetupAlreadyRunning=O asistente de instalación xa está en execución. +WindowsVersionNotSupported=Este programa non é compatible coa versión de Windows que corre no seu equipo. +WindowsServicePackRequired=Este programa require %1 Service Pack %2 ou posterior. +NotOnThisPlatform=Este programa non se pode executar en %1. +OnlyOnThisPlatform=Este programa debe executarse en %1. +OnlyOnTheseArchitectures=Este programa só pode ser instalado en versións de Windows deseñadas para as seguintes arquitecturas de procesador:%n%n%1 +WinVersionTooLowError=Este programa require %1, versión %2 ou posterior. +WinVersionTooHighError=Este programa non pode ser instalado en %1, versión %2 ou posterior. +AdminPrivilegesRequired=Debe iniciar sesión como administrador para instalar este programa. +PowerUserPrivilegesRequired=Debe iniciar sesión como administrador ou como membro do grupo de Usuarios Avanzados para instalar este programa. +SetupAppRunningError=O asistente de instalación detectou que %1 está en execución.%n%nPor favor, peche agora todas as súas copias e prema Aceptar para continuar, ou Cancelar para saír. +UninstallAppRunningError=O asistente de desinstalación detectou que %1 está en execución.%n%nPor favor, peche agora todas as súas copias e prema Aceptar para continuar, ou Cancelar para saír. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=Selección do modo de instalación +PrivilegesRequiredOverrideInstruction=Seleccione o modo de instalación +PrivilegesRequiredOverrideText1=%1 pode instalarse para todos os usuarios (require privilexios administrativos), ou só para vostede. +PrivilegesRequiredOverrideText2=%1 pode instalarse só para vostede, ou para todos os usuarios (require privilexios administrativos). +PrivilegesRequiredOverrideAllUsers=Instalar para &todos os usuarios +PrivilegesRequiredOverrideAllUsersRecommended=Instalar para &todos os usuarios (recomendado) +PrivilegesRequiredOverrideCurrentUser=Instalar só para &min +PrivilegesRequiredOverrideCurrentUserRecommended=Instalar só para &min (recomendado) + +; *** Misc. errors +ErrorCreatingDir=O asistente de instalación non puido crear o cartafol "%1" +ErrorTooManyFilesInDir=Non se puido crear un arquivo no cartafol "%1" porque contén demasiados arquivos + +; *** Setup common messages +ExitSetupTitle=Saír da instalación +ExitSetupMessage=A instalación non está completa. Se sae agora, o programa non se instalará.%n%nPode executar de novo o asistente de instalación noutro momento para completar a instalación.%n%nSaír da instalación? +AboutSetupMenuItem=&Acerca do asistente de instalación... +AboutSetupTitle=Acerca do asistente de instalación +AboutSetupMessage=%1, versión %2%n%3%n%nPáxina de inicio de %1:%n%4 +AboutSetupNote= +TranslatorNote=Galician translation mantained by Julio Mojón Fuentes (juliomf AT edu.xunta.gal) + +; *** Buttons +ButtonBack=< &Anterior +ButtonNext=&Seguinte > +ButtonInstall=&Instalar +ButtonOK=Aceptar +ButtonCancel=Cancelar +ButtonYes=&Si +ButtonYesToAll=Si a &todo +ButtonNo=&Non +ButtonNoToAll=N&on a todo +ButtonFinish=&Finalizar +ButtonBrowse=&Examinar... +ButtonWizardBrowse=E&xaminar... +ButtonNewFolder=&Crear novo cartafol + +; *** "Select Language" dialog messages +SelectLanguageTitle=Seleccione a lingua de instalación +SelectLanguageLabel=Seleccione a lingua para usar durante a instalación. + +; *** Common wizard text +ClickNext=Prema Seguinte para continuar, ou Cancelar para saír da instalación. +BeveledLabel= +BrowseDialogTitle=Examinar cartafol +BrowseDialogLabel=Seleccione un cartafol na lista inferior e prema Aceptar. +NewFolderName=Novo cartafol + +; *** "Welcome" wizard page +WelcomeLabel1=Benvido ao asistente de instalación de [name] +WelcomeLabel2=Isto vai instalar [name/ver] no seu computador.%n%nRecoméndaselle que peche todas as outras aplicacións antes de continuar. + +; *** "Password" wizard page +WizardPassword=Contrasinal +PasswordLabel1=Esta instalación está protexida por contrasinal. +PasswordLabel3=Por favor, introduza o contrasinal e prema Seguinte para continuar. Os contrasinais diferencian entre maiúsculas e minúsculas. +PasswordEditLabel=&Contrasinal: +IncorrectPassword=O contrasinal que introduciu non é correcto. Por favor, ténteo de novo. + +; *** "License Agreement" wizard page +WizardLicense=Acordo de licenza +LicenseLabel=Por favor, lea a seguinte información importante antes de continuar. +LicenseLabel3=Por favor, lea o seguinte acordo de licenza. Debe aceptar os termos deste acordo antes de continuar coa instalación. +LicenseAccepted=&Acepto o acordo +LicenseNotAccepted=&Non acepto o acordo + +; *** "Information" wizard pages +WizardInfoBefore=Información +InfoBeforeLabel=Por favor, lea a seguinte información importante antes de continuar. +InfoBeforeClickLabel=Cando estea preparado para continuar coa instalación, prema Seguinte. +WizardInfoAfter=Información +InfoAfterLabel=Por favor, lea a seguinte información importante antes de continuar. +InfoAfterClickLabel=Cando estea preparado para continuar coa instalación, prema Seguinte. + +; *** "User Information" wizard page +WizardUserInfo=Información de usuario +UserInfoDesc=Por favor, introduza os seus datos. +UserInfoName=Nome de &usuario: +UserInfoOrg=&Organización: +UserInfoSerial=Número de &serie: +UserInfoNameRequired=Debe introducir un nome. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Selección da localización de destino +SelectDirDesc=Onde debería instalarse [name]? +SelectDirLabel3=O asistente de instalación vai instalar [name] no seguinte cartafol. +SelectDirBrowseLabel=Para continuar, prema Seguinte. Se desexa seleccionar un cartafol diferente, prema Examinar. +DiskSpaceGBLabel=Cómpren polo menos [gb] GB de espazo libre en disco. +DiskSpaceMBLabel=Cómpren polo menos [mb] MB de espazo libre en disco. +CannotInstallToNetworkDrive=O asistente de instalación non pode instalar nunha unidade de rede. +CannotInstallToUNCPath=O asistente de instalación non pode instalar nunha ruta UNC. +InvalidPath=Debe introducir unha ruta completa con letra de unidade; por exemplo:%n%nC:\APP%n%nou unha ruta UNC na forma:%n%n\\server\share +InvalidDrive=A unidade ou ruta UNC compartida que seleccionou non existe ou non é accesible. Por favor, seleccione outra. +DiskSpaceWarningTitle=Sen espazo en disco suficiente +DiskSpaceWarning=Ao asistente de instalación cómprelle polo menos %1 KB de espazo libre para instalar, pero a unidade seleccionada só ten %2 KB dispoñibles.%n%nDesexa continuar de todas formas? +DirNameTooLong=O nome ou a ruta do cartafol é longa de máis. +InvalidDirName=O nome do cartafol non é válido. +BadDirName32=Os nomes de cartafol non poden incluír ningún dos seguintes caracteres:%n%n%1 +DirExistsTitle=O cartafol existe +DirExists=Xa existe o cartafol:%n%n%1%n%nDesexa instalar nese cartafol de todas formas? +DirDoesntExistTitle=O cartafol non existe +DirDoesntExist=Non existe o cartafol:%n%n%1%n%nDesexa crear o cartafol? + +; *** "Select Components" wizard page +WizardSelectComponents=Selección de compoñentes +SelectComponentsDesc=Que compoñentes deberían ser instalados? +SelectComponentsLabel2=Seleccione os compoñentes que desexa instalar; quite a selección aos compoñentes que non desexa instalar. Prema Seguinte cando estea preparado para continuar. +FullInstallation=Instalación completa +CompactInstallation=Instalación compacta +CustomInstallation=Instalación personalizada +NoUninstallWarningTitle=Os compoñentes existen +NoUninstallWarning=O asistente de instalación detectou que os seguintes compoñentes xa están instalados no seu computador:%n%n%1%n%nQuitarlles a selección a estes compoñentes non os desinstalará.%n%nDesexa continuar de todas formas? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceGBLabel=A selección actual require polo menos [gb] GB de espazo en disco. +ComponentsDiskSpaceMBLabel=A selección actual require polo menos [mb] MB de espazo en disco. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Selección de tarefas adicionais +SelectTasksDesc=Que tarefas adicionais deben realizarse? +SelectTasksLabel2=Seleccione as tarefas adicionais que desexa que realice o asistente de instalación mentres instala [name], e prema Seguinte. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Selección do cartafol do Menú Inicio +SelectStartMenuFolderDesc=Onde debería colocar o asistente de instalación os atallos do programa? +SelectStartMenuFolderLabel3=O asistente de instalación vai crear os atallos do programa no seguinte cartafol do Menú Inicio. +SelectStartMenuFolderBrowseLabel=Para continuar, prema Seguinte. Se desexa seleccionar un cartafol diferente, prema Examinar. +MustEnterGroupName=Debe introducir un nome de cartafol. +GroupNameTooLong=O nome ou a ruta do cartafol é longo de máis. +InvalidGroupName=O nome do cartafol non é válido. +BadGroupName=O nome do cartafol non pode incluír ningún dos seguintes caracteres:%n%n%1 +NoProgramGroupCheck2=&Non crear un cartafol do Menú Inicio + +; *** "Ready to Install" wizard page +WizardReady=Preparado para instalar +ReadyLabel1=O asistente de instalación está preparado agora para comezar a instalar [name] no seu computador. +ReadyLabel2a=Prema Instalar para continuar coa instalación, ou prema Atrás se desexa revisar ou mudar calquera configuración. +ReadyLabel2b=Prema Instalar para continuar coa instalación. +ReadyMemoUserInfo=Información do usuario: +ReadyMemoDir=Localización do destino: +ReadyMemoType=Tipo de instalación: +ReadyMemoComponents=Compoñentes seleccionados: +ReadyMemoGroup=Cartafol do Menú Inicio: +ReadyMemoTasks=Tarefas adicionais: + +; *** "Preparing to Install" wizard page +WizardPreparing=A prepararse para instalar +PreparingDesc=O asistente de instalación está a prepararse para instalar [name] no seu computador. +PreviousInstallNotCompleted=A instalación ou desinstalación dun programa anterior non está completa. Cómpre que reinicie o seu computador para completar esa instalación.%n%nDespois de reiniciar o seu computador, execute o asistente de instalación de novo para completar a instalación de [name]. +CannotContinue=O asistente de instalación non pode continuar. Por favor, prema Cancelar para saír. +ApplicationsFound=As seguintes aplicacións están a utilizar arquivos que o asistente de instalación necesita actualizar. Recoméndaselle que permita que o asistente de instalación peche automaticamente esas aplicacións. +ApplicationsFound2=As seguintes aplicacións están a utilizar arquivos que o asistente de instalación necesita actualizar. Recoméndaselle que permita que o asistente de instalación peche automaticamente esas aplicacións. Cando a instalación estea completa, o asistente de instalación tentará reiniciar as aplicacións. +CloseApplications=Pechar &automaticamente as aplicacións +DontCloseApplications=Non &pechar as aplicacións +ErrorCloseApplications=O asistente de instalación non puido pechar automaticamente todas as aplicacións. Antes de continuar, recoméndaselle que peche todas as aplicacións que utilizan arquivos que o asistente de instalación necesita actualizar. +PrepareToInstallNeedsRestart=O asistente de instalación debe reiniciar o seu computador. Despois de reinicialo, execute o asistente de instalación de novo para completar a instalación de [name].%n%nDesexa reinicialo agora? + +; *** "Installing" wizard page +WizardInstalling=A instalar +InstallingLabel=Por favor, espere mentres o asistente de instalación instala [name] no seu computador. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=A completar o asistente de instalación de [name] +FinishedLabelNoIcons=O asistente de instalación terminou de instalar [name] no seu computador. +FinishedLabel=O asistente de instalación terminou de instalar [name] no seu computador. Pode executar a aplicación seleccionando os atallos instalados. +ClickFinish=Prema Finalizar para saír do asistente de instalación. +FinishedRestartLabel=Para completar a instalación de [name], o asistente de instalación debe reiniciar o seu computador. Desexa reinicialo agora? +FinishedRestartMessage=Para completar a instalación de [name], o asistente de instalación debe reiniciar o seu computador.%n%nWDesexa reinicialo agora? +ShowReadmeCheck=Si, desexo ver o arquivo LÉAME +YesRadio=&Si, reiniciar agora o computador +NoRadio=&Non, reiniciarei o computador máis tarde +RunEntryExec=Executar %1 +RunEntryShellExec=Ver %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Ao asistente de instalación cómprelle o seguinte disco +SelectDiskLabel2=Por favor, insira o disco %1 e prema Aceptar.%n%nSe os arquivos deste disco se poden atopar noutro cartafol diferente ao mostrado abaixo, introduza a ruta correcta ou prema Examinar. +PathLabel=&Ruta: +FileNotInDir2=Non se puido atopar o arquivo "%1" en "%2". Por favor, insira o disco correcto ou seleccione outro cartafol. +SelectDirectoryLabel=Por favor, especifique a localización do seguinte disco. + +; *** Installation phase messages +SetupAborted=A instalación non se completou.%n%nPor favor, corrixa o problema e execute o asistente de instalación de novo. +AbortRetryIgnoreSelectAction=Seleccione acción +AbortRetryIgnoreRetry=&Tentar de novo +AbortRetryIgnoreIgnore=&Ignorar o erro e continuar +AbortRetryIgnoreCancel=Cancelar a instalación + +; *** Installation status messages +StatusClosingApplications=A pechar aplicacións... +StatusCreateDirs=A crear cartafoles... +StatusExtractFiles=A extraer arquivos... +StatusCreateIcons=A crear atallos... +StatusCreateIniEntries=A crear entradas INI... +StatusCreateRegistryEntries=A crear entradas do rexistro... +StatusRegisterFiles=A rexistrar arquivos... +StatusSavingUninstall=Gardando información de desinstalación... +StatusRunProgram=A terminar a instalación... +StatusRestartingApplications=A reiniciar aplicacións... +StatusRollback=A desfacer cambios... + +; *** Misc. errors +ErrorInternal2=Erro interno: %1 +ErrorFunctionFailedNoCode=%1 fallou +ErrorFunctionFailed=%1 fallou; código %2 +ErrorFunctionFailedWithMessage=%1 fallou; código %2.%n%3 +ErrorExecutingProgram=Non foi posible executar o arquivo:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Erro ao abrir a chave do rexistro:%n%1\%2 +ErrorRegCreateKey=Erro ao crear a chave do rexistro:%n%1\%2 +ErrorRegWriteKey=Erro ao escribir na chave do rexistro:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Erro ao crear a entrada INI no arquivo "%1". + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=&Saltar este arquivo (non recomendado) +FileAbortRetryIgnoreIgnoreNotRecommended=&Ignorar o erro e continuar (non recomendado) +SourceIsCorrupted=O arquivo orixe está corrupto +SourceDoesntExist=O arquivo orixe "%1" non existe +ExistingFileReadOnly2=Non foi posible substituír o arquivo existente porque está marcado como de só lectura. +ExistingFileReadOnlyRetry=&Eliminar o atributo de só lectura e tentar de novo +ExistingFileReadOnlyKeepExisting=&Manter o arquivo existente +ErrorReadingExistingDest=Ocorreu un erro ao tentar ler o arquivo existente: +FileExists=O arquivo xa existe.%n%nDesexa que o asistente de instalación o sobrescriba? +ExistingFileNewer=O arquivo existente é máis novo ca o que o asistente de instalación tenta instalar. Recoméndaselle que manteña o arquivo existente.%n%nDesexa manter o arquivo existente? +ErrorChangingAttr=Ocorreu un erro ao tentar mudar os atributos do arquivo existente: +ErrorCreatingTemp=Ocorreu un erro ao tentar crear un arquivo no cartafol de destino: +ErrorReadingSource=Ocorreu un erro ao tentar ler o arquivo orixe: +ErrorCopying=Ocorreu un erro ao tentar copiar un arquivo: +ErrorReplacingExistingFile=Ocorreu un erro ao tentar substituír o arquivo existente: +ErrorRestartReplace=RestartReplace fallou: +ErrorRenamingTemp=Ocorreu un erro ao tentar renomear un arquivo no cartafol de destino: +ErrorRegisterServer=Non foi posible rexistrar a DLL ou OCX: %1 +ErrorRegSvr32Failed=RegSvr32 fallou co código de saída %1 +ErrorRegisterTypeLib=Non foi posible rexistrar a biblioteca de tipos: %1 + +; *** Uninstall display name markings +UninstallDisplayNameMark=%1 (%2) +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32 bits +UninstallDisplayNameMark64Bit=64 bits +UninstallDisplayNameMarkAllUsers=Todos os usuarios +UninstallDisplayNameMarkCurrentUser=Usuario actual + +; *** Post-installation errors +ErrorOpeningReadme=Ocorreu un erro ao tentar abrir o arquivo LÉAME. +ErrorRestartingComputer=O asistente de instalación non puido reiniciar o computador. Por favor, fágao manualmente. + +; *** Uninstaller messages +UninstallNotFound=O arquivo "%1" non existe. Non se pode desinstalar. +UninstallOpenError=Non se puido abrir o arquivo "%1". Non se pode desinstalar +UninstallUnsupportedVer=O arquivo de rexistro "%1" está nun formato non recoñecido por esta versión do asistente de desinstalación. Non se pode desinstalar +UninstallUnknownEntry=Atopouse unha entrada descoñecida (%1) no arquivo de rexistro da desinstalación +ConfirmUninstall=Está seguro de que desexa eliminar por completo %1 e todos os seus compoñentes? +UninstallOnlyOnWin64=Esta instalación só se pode desinstalar nun Windows de 64 bits. +OnlyAdminCanUninstall=Só un usuario con privilexios administrativos pode desinstalar esta instalación. +UninstallStatusLabel=Por favor, espere mentres se elimina %1 do seu computador. +UninstalledAll=Eliminouse %1 con éxito do seu computador. +UninstalledMost=Desinstalación de %1 completa.%n%nNon foi posible eliminar algúns elementos. Pode eliminalos manualmente. +UninstalledAndNeedsRestart=Para completar a desinstalación de %1, debe reiniciar o seu computador.%n%nDesexa reinicialo agora? +UninstallDataCorrupted=O arquivo "%1" está corrupto. Non se pode desinstalar + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Eliminar arquivo compartido? +ConfirmDeleteSharedFile2=O sistema indica que o seguinte arquivo compartido xa non é usado por ningún programa. Quere que o programa de desinstalación elimine este arquivo compartido?%n%nSe calquera programa aínda usa este arquivo e é eliminado, ese programa podería funcionar incorrectamente. Se non está certo, seleccione Non. Manter o arquivo no seu sistema non lle causará ningún problema. +SharedFileNameLabel=Nome do arquivo: +SharedFileLocationLabel=Localización: +WizardUninstalling=Estado da instalación +StatusUninstalling=A desinstalar %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=A instalar %1. +ShutdownBlockReasonUninstallingApp=A desinstalar %1. + +[CustomMessages] +NameAndVersion=%1 versión %2 +AdditionalIcons=Atallos adicionais: +CreateDesktopIcon=Crear un atallo no &Escritorio +CreateQuickLaunchIcon=Crear un atallo en &Inicio rápido +ProgramOnTheWeb=%1 na web +UninstallProgram=Desinstalar %1 +LaunchProgram=Executar %1 +AssocFileExtension=&Asociar %1 coa extensión de arquivo %2 +AssocingFileExtension=A asociar %1 coa %2 extensión de arquivo... +AutoStartProgramGroupDescription=Inicio: +AutoStartProgram=Iniciar %1 automaticamente +AddonHostProgramNotFound=Non se puido localizar %1 no cartafol que seleccionou.%n%nDesexa continuar de todas formas? diff --git a/Greenshot/releases/innosetup/Languages/Georgian.islu b/Greenshot/releases/innosetup/Languages/Georgian.islu new file mode 100644 index 000000000..6b783c137 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Georgian.islu @@ -0,0 +1,317 @@ +; *** Inno Setup version 5.1.11+ Georgian messages *** +; +; Translation was made by Otari Sakhelashvili, otosaxel@aim.com +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Georgian +LanguageID=$0437 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +DialogFontName=Sylfaen +;DialogFontSize=8 +WelcomeFontName=Sylfaen +;WelcomeFontSize=12 +TitleFontName=Sylfaen +;TitleFontSize=29 +CopyrightFontName=Sylfaen +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=ჩადგმა +SetupWindowTitle=%1-ის - დაყენება +UninstallAppTitle=წაშლა +UninstallAppFullTitle=%1-ის წაშლა + +; *** Misc. common +InformationTitle=ინფორმაცია +ConfirmTitle=დადასტურება +ErrorTitle=შეცდომა + +; *** SetupLdr messages +SetupLdrStartupMessage=ეს დააყენებს %1-ს. გინდა გაგრძელება? +LdrCannotCreateTemp=შეუძლებელია დროებითი ფაილის შექმნა. დაყენება გაჩერდა +LdrCannotExecTemp=შეუძლებელია დროებითი ფაილების საქაღალდიდან ფაილის გახსნა. დაყენება გაჩერდა + +; *** Startup error messages +LastErrorMessage=%1.%n%nშეცდომა %2: %3 +SetupFileMissing=ფაილი %1 დასაყენებელ საქაღალდეში არ არის. შეასწორეთ პრობლემა ან მოითხოვეთ პროგრამის ახალი ვერსია. +SetupFileCorrupt=დამყენებლის ფაილები დაზიანებულია. გთხოვთ მოითხოვოთ პროგრამის ახალი ვერსია. +SetupFileCorruptOrWrongVer=მოცემული ფაილები დაზინებულია ან მოცემულ დამყენებელთან არაა თავსებადი. შეასწორეთ პრობლემა ან მოითხოვეთ პროგრამის ახალი ვერსია. +NotOnThisPlatform=მოცემული პროგრამა ვერ გაეშვება %1-ზე. +OnlyOnThisPlatform=მოცემული პროგრამა უნდა გაეშვას %1-ზე. +OnlyOnTheseArchitectures=ეს პროგრამა მარტო ყენდება Windows-ის კონკრეტულ პროცესორის არქიტექტურებზე:%n%n%1 +MissingWOW64APIs=იმ Windows-ის ვერსიას რომელსაც შენ იყენებ არ მოყვება ის ფუნქცია, რომელიც დამყენებელს საშეულებას მიცემს 64 ბიტიანი სისტემაზე დაყენება განახორციელოს. რომ გამოსწოროთ ეს პრობლემა დააყენე Service Pack %1. +WinVersionTooLowError=ამ პროგრამს ჭირდება %1 ვერსია ან %2-ზე უფრო ახალი. +WinVersionTooHighError=ეს პროგრამა ვერ დაყენდება %1 ვერსიაზე და %2-ზე უფრო ახალზე. +AdminPrivilegesRequired=შენ უნდა იყო შესული როგორც ადმინისტრატორი, ამ პროგრამის დასაყენებლად. +PowerUserPrivilegesRequired=შენ უნდა იყო ადმინისტრატორის ან გამოცდილი მოხმარებლის (Power Users) პროფილით, ამ პროგრამის დასაყენებლად. +SetupAppRunningError=დამყენებელმა დააფიქსირა %1 არის გაშვებული.%n%nდაკეტეთ მისი ყველა პროცესი,მერე დააჭირე "კარგი"-ს, გასაგრძელებლად, ან "შეჩერება"-ს დასასრულებლად. +UninstallAppRunningError=წამშლელმა დააფიქსირა %1 არის გაშვებული.%n%nდაკეტეთ მისი ყველა პროცესი, მერე დააჭირე "კარგი"-ს, გასაგრძელებლად, ან "შეჩერება"-ს დასასრულებლად. + +; *** Misc. errors +ErrorCreatingDir=დამყენებელი ვერ ქმნის საქაღალდეს "%1" +ErrorTooManyFilesInDir=შეუძლებელია ფაილის შექმნა "%1" რადგან იქ უკვე ბევრი ფაილია + +; *** Setup common messages +ExitSetupTitle=დამყენებლიდან გასვლა +ExitSetupMessage=დაყენება არ დამთავრებულა. თუ გახვალ, მოცემული პროგრამა არ დაყენდება.%n%nსხვა დროს მოგიწევს დამყენებლის გაშვება.%n%nგავიდე? +AboutSetupMenuItem=&დამყენებლის შესახებ... +AboutSetupTitle=დამყენებლის შესახებ +AboutSetupMessage=%1 ვერსია %2%n%3%n%n%1 საშინაო გვერდი:%n%4 +AboutSetupNote= +TranslatorNote=ქართულად თარგმნა ოთარ სახელაშვილმა otosaxel@aim.com + +; *** Buttons +ButtonBack=< &უკან +ButtonNext=&წინ > +ButtonInstall=&დააყენე +ButtonOK=კარგი +ButtonCancel=გაჩერება +ButtonYes=&დიახ +ButtonYesToAll=დიახ &ყველასთვისl +ButtonNo=&არა +ButtonNoToAll=არა ყ&ველასთვის +ButtonFinish=&დასრულება +ButtonBrowse=&ამორჩევა... +ButtonWizardBrowse=ა&მორჩევა... +ButtonNewFolder=&შექმენი ახალი საქაღალდე + +; *** "Select Language" dialog messages +SelectLanguageTitle=აირჩიე დაყენების ენა +SelectLanguageLabel=აირჩიე ინტეფეისის ენა, დაყენების განამავლობაში: + +; *** Common wizard text +ClickNext=დააჭირე "წინ"-ს გასაგრძელებლად, "გაჩერება"-ს დაყენების შესაწყვეტად. +BeveledLabel= +BrowseDialogTitle=საქაღალდის არჩევა +BrowseDialogLabel=აირჩიე სიიდან საქაღალდე და დააჭირე "კარგი"-ს. +NewFolderName=ახალი საქაღალდე + +; *** "Welcome" wizard page +WelcomeLabel1=მოგესალმება [name]-ის დაყენების ოსტატი +WelcomeLabel2=ის დააყენებს [name/ver]-ს შენ კომპიუტერზე.%n%nრეკომენდირებულია დაკეტო ყველა პროგრამა, დაყენების დროს. + +; *** "Password" wizard page +WizardPassword=პაროლი +PasswordLabel1=ეს დაყენება პროლითაა დაცული. +PasswordLabel3=შეიყვანე პაროლი, და დააჭირე "წინ"-ს გასაგრძელებლად. პაროლი შეიყვანეთ თანრიგის გათვალიწინებით. +PasswordEditLabel=&პაროლი: +IncorrectPassword=შეყვანილი პაროლი არასწორეა. ცადე ხელახლა. + +; *** "License Agreement" wizard page +WizardLicense=სალიცენზიო შეთანხმება +LicenseLabel=გთხოვთ წაიკითხოთ მოცემული ინფორმაცია გაგრძელებამდე. +LicenseLabel3=გთხოვთ წაიკითხოთ მოცემული სალიცენზიო შეთანხმება. თქვენ უნდა დათახმდეთ მოცემულ სალიცენზიო შეთანხმებას გასაგრძელებლად. +LicenseAccepted=მე &ვეთანხმები ამ შეთანხმებას +LicenseNotAccepted=მე &არ ვეთანხმები ამ შეთანხმებას + +; *** "Information" wizard pages +WizardInfoBefore=ინფორმაცია +InfoBeforeLabel=გთხოვთ წაიკითხოთ ეს მნიშვნელოვანი ინფორმაცია გაგრძელებამდე. +InfoBeforeClickLabel=როცა მზად იქნები დააჭირე "წინ"-ს. +WizardInfoAfter=ინფორმაცია +InfoAfterLabel=გთხოვთ წაიკითხოთ ეს მნიშვნელოვანი ინფორმაცია გაგრძელებამდე. +InfoAfterClickLabel=როცა მზად იქნები დააჭირე "წინ"-ს. + +; *** "User Information" wizard page +WizardUserInfo=ინფორმაცია მომხმარებელზე +UserInfoDesc=შეიყვანე შენი ინფორმაცია. +UserInfoName=&სახელი: +UserInfoOrg=&ორგანიზაცია: +UserInfoSerial=სერიული &ნომერი: +UserInfoNameRequired=შენ უნდა შეიყვანოი სახელი. + +; *** "Select Destination Location" wizard page +WizardSelectDir=აირჩიე დასაყენებელი საქაღალდე +SelectDirDesc=სად უნდა დაყენდეს [name]? +SelectDirLabel3=დამყენებელი [name]-ს დააყენებს შემდეგ საქაღალდეში. +SelectDirBrowseLabel=გასაგრძელებლად დააჭირე "წინ"-ს. სხვა საქაღალდის ასარჩევად კი, "არჩევა"-ს. +DiskSpaceMBLabel=[mb] მბ.-ზე მეტი თავისუფალი ადგილია საჭირო. +ToUNCPathname=ვერ დააყენებ ქსელურ მისამრთზე. თუ გინდა ქსეულ მისამართზე დაყენება, დააყენე ქსელის დისკი. +InvalidPath=შენ უნდა შეიყვანო სრული მისამართი, დისკის სახელიანა;მაგალითად:%n%nC:\APP%n%ან ამ ფორმით:%n%n\\server\share +InvalidDrive=თქვენი არჩეული ქსელის მისამართი ან დისკი, მიუწდომელია ან არ არსებობს, აირჩიეთ სხვა. +DiskSpaceWarningTitle=არასაკმარისი ადგილი +DiskSpaceWarning=დამყენებელს ჭირდება %1 კბ. ცარიელი ადგილი, მაგრამ არჩეულ დისკზე მხოლოდ %2 კბ. არის თავისუფალი.%n%nგავაგრძელო? +DirNameTooLong=მოცემული საქაღალდის სახელი ან მისამართი ძალიან გრძელია. +InvalidDirName=მოცემული საქაღალდის სახელი არასწორეა. +BadDirName32=საქაღალდის სახელი არ უნდა შეიცავდეს ამ სიმბლოებს:%n%n%1 +DirExistsTitle=საქაღალდე არსებობს +DirExists=საქაღალდე:%n%n%1%n%nუკვე არსებობს. მაინც მანდ დავაყენო? +DirDoesntExistTitle=საქაღალდე არ არსებობს +DirDoesntExist=საქაღალდე:%n%n%1%n%nარ არსებობს. გინდა შეიქმნას? + +; *** "Select Components" wizard page +WizardSelectComponents=აირჩიე კომპონენტები +SelectComponentsDesc=რომელი კომპონენტი უნდა დაყენდეს? +SelectComponentsLabel2=ჩართე დასაყენებელი კომპონენტები; გამორთე კომპონენტები რომლიც არ გინდა დაყენდეს. დააჭირე "წინ"-ს გასაგრძელებლად. +FullInstallation=სრული დაყენება +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=კომპაქტური დაყენება +CustomInstallation=არჩევით დაყენება +NoUninstallWarningTitle=დასაყენებელი კომპონენტები +NoUninstallWarning=დაფიქსირდა რომ უკვე დაყენებულია შენ კომპიუტერზე ეს კომპონენტები:%n%n%1%n%nმათი ამორთვა გამოიწვევს მათ წაშლას.%n%nგავაგრძელო მაინც? +ComponentSize1=%1 კბ. +ComponentSize2=%1 მბ. +ComponentsDiskSpaceMBLabel=არჩეული კომპონენეტები, იკავებს [mb] მბ. ადგილს. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=აირჩიე დამატებითი დავალებები +SelectTasksDesc=რა უნდა შესრულდეს დამატებით? +SelectTasksLabel2=არიჩიე დავალებები რაც ჩამდგმელმა უნდა შეასრულოს [name]-ს დაყენების დროს, მერე დააჭირე "წინ"-ს. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=აირჩიე საწყისი მენიუს საქაღალდე +SelectStartMenuFolderDesc=სად უნდა განლაგდნენ პროგრამის მალმომხმობები? +SelectStartMenuFolderLabel3=მალმომხმობები განლაგდება ამ საქაღალდეში. +SelectStartMenuFolderBrowseLabel=გასაგრძელებლად დააჭირე "წინ"-ს. სხვა საქაღალდის ასარჩევად "არჩევას"-ს. +MustEnterGroupName=თქვენ უნდა შეიყვანოთ საქაღალდის სახელი. +GroupNameTooLong=საქაღალდის სახელი ან მისამრთი ძალიან გრძელია. +InvalidGroupName=მოცემული საქაღალდის სახელი არასწორეა. +BadGroupName=საქაღალდის სახელი არ უნდა შეიცავდეს ამ სიმბლოებს:%n%n%1 +NoProgramGroupCheck2=&ნუ შექმნი საწყისი მენიუს საქაღალდეს + +; *** "Ready to Install" wizard page +WizardReady=მზადაა დასაყენებლად +ReadyLabel1=დამყენებელი მზადაა [name] დააყენოს შენ კომპიუტერზე. +ReadyLabel2a=დააჭირე "დაყენებას" დასაყენებლად, ან "უკან"-ს დაყენების პარამეტრების შესაცვლელად. +ReadyLabel2b=დააჭირე "დაყენებას" დაყენების გასაგრძელებლად. +ReadyMemoUserInfo=მომხარებლის ინფორმაცია: +ReadyMemoDir=დაყენების ადგილი: +ReadyMemoType=დაყენების ტიპი: +ReadyMemoComponents=არჩეული კომპონენტები: +ReadyMemoGroup=დაწყების მენიუს საქაღალდე: +ReadyMemoTasks=სხვა დავალებები: + +; *** "Preparing to Install" wizard page +WizardPreparing=დაყნებისთვის მზადება +PreparingDesc=დამყენებელი ემზადება [name]-ის დაყენებითვის. +PreviousInstallNotCompleted=წინა დაყენება/წაშლა არ დამთავრებულა. თქვენ კომპიუტერი უნდა გადატვირთოთ მის დასამთავრებლად.%n%nგადატვირთვის შემდეგ, გაუშვი ისევ ეს დამყენებელი და დააყენე [name]. +CannotContinue=დაყენება ვერ გძელდება. დააჭირე გაჩერებას გასასვლელად. + +; *** "Installing" wizard page +WizardInstalling=ყენდება +InstallingLabel=მოიცადე სანამ დაყენება [name] შენ კომპიუტერზე. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=ვამთავრებ [name] დაყენების ოსტატს +FinishedLabelNoIcons=დასრულდა [name]-ის დაყენება. +FinishedLabel=დასრულდა [name]-ის დაყენება. მისი გაშვება დაყენებული ხატულით შეგიძლიათ. +ClickFinish=დააჭირე დასასრულს გასასვლელად. +FinishedRestartLabel=[name]-ის დაყენების დასასრულებლად, საჭიროა კომპიუტერის გადატვირთვა. გინდა ახლა გადაიტვირთოს? +FinishedRestartMessage=[name]-ის დაყენების დასასრულებლად უნდა გადატვირთო კომპიუტერი.%n%nგინდა ახლა გადაიტვირთოს? +ShowReadmeCheck=დიახ,მე მსურს დოკუმენტაციის წაკითხვა +YesRadio=&დიახ, ახლვე გადატვირთე კომპიუტერი +NoRadio=&არა, გადატვირთე მოგვიანებით +; used for example as 'Run MyProg.exe' +RunEntryExec=გახსენი %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=მაჩვენე %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=დამყენებელს შემდეგი დისკი ჭირდება +SelectDiskLabel2=გთხოვთ ჩადოთ დისკი %1 და დააჭიროთ კარგის.%n%nთუ ამ დისკი ფაილები სხვა საქაღალდეშია, ამოირჩიე ან მიუთითე სრული გზა. +PathLabel=&მისამართი: +FileNotInDir2=ფაილი "%1" ვერ ვიპოვე აქ: "%2". აირჩიე სწორი დისკი ან საქაღალდე. +SelectDirectoryLabel=აირჩიე შემდეგი დისკი ადგილი. + +; *** Installation phase messages +SetupAborted=ვერ დაყენდა.%n%nგაასწორე შეცდომა და ხელახლა გაუშვი. +EntryAbortRetryIgnore=დააჭირე გამეორებას და ისევ ცადე, დააჭირე იგნორირებას გასაგრძელებალად, ან გარეჩერებას შეჩერებისთვის. + +; *** Installation status messages +StatusCreateDirs=საქაღალდეები იქმნება... +StatusExtractFiles=ფაილების განიკუმშება... +StatusCreateIcons=მალმომხმობები იქმნება... +StatusCreateIniEntries=INI ჩანაწერები კეთდება... +StatusCreateRegistryEntries=რეესტრის იცვლება... +StatusRegisterFiles=ფაილების რეგისტრირდება... +StatusSavingUninstall=ინახება წაშლის ინფორმაცია... +StatusRunProgram=ჩადგმის დასრულება... +StatusRollback=პარამეტრების უკან დაბრუნება... + +; *** Misc. errors +ErrorInternal2=შიდა შეცდომა: %1 +ErrorFunctionFailedNoCode=%1 ჩაიშალა +ErrorFunctionFailed=%1 ჩაიშალა; კოდი %2 +ErrorFunctionFailedWithMessage=%1 ჩაიშალა; კოდი %2.%n%3 +ErrorExecutingProgram=შეუძლებელია გაეშვას ფაილი:%n%1 + +; *** Registry errors +ErrorRegOpenKey=ვერ იკითხება რეესტრის გასაღები:%n%1\%2 +ErrorRegCreateKey=ვერ იქმენება რეესტრის გასაღები:%n%1\%2 +ErrorRegWriteKey=ვერ იწერება რეესტრის გასაღები:%n%1\%2 + +; *** INI errors +ErrorIniEntry=ვერ შეიქმნა INI ჩანაწერი ამ ფაილში: "%1". + +; *** File copying errors +FileAbortRetryIgnore=დააჭირე განმეორებას კიდევ საცდელად, იგნორირებას გამოსატოვებლად (არაა რეკომენდირებული), ან გაჩერებას შესაწყვეტად. +FileAbortRetryIgnore2=დააჭირე განმეორებას კიდევ საცდელად, იგნორირებას გამოსატოვებლად (არაა რეკომენდირებული), ან გაჩერებას შესაწყვეტად. +SourceIsCorrupted=რესურსის ფაილი დაზიანებულია +SourceDoesntExist=რესურსის ფაიალი "%1" არ არსებობს +ExistingFileReadOnly=ფაილი მონიშნულია როგორც მხოლოდ წაკითხვადი.%n%nდააჭირე გაგაძელებას ამ მარკის მოსასხნელად და გასაგრძელებლად, იგნორირებას ფაილის გამოსატოვებლად, ან გაჩერებას შესაწყვეტად. +ErrorReadingExistingDest=შეცდომა მოცემული ფაილის წაკთხვის დროს: +FileExists=მოცემული ფაილი არსებობს.%n%nგინდა გადაეწეროს? +ExistingFileNewer=მოცემული ფაილი იმაზე ახალია ვიდრე ახლა ყენდება. რეკომენდირებულია მისი შენარჩუნება.%n%nგინდა შეინარჩუნო? +ErrorChangingAttr=შეცდომა ფაილის ატრიბუტის ცვლილებისას: +ErrorCreatingTemp=შეცდომა ფაილის შემნისას მოცემულ საქაღალდეში: +ErrorReadingSource=შეცდომა რესურსის ფაილის წაკითხვისას: +ErrorCopying=შეცდომა ფაილის კოპირებისას: +ErrorReplacingExistingFile=შეცდომა ფაილის გადაწერისას: +ErrorRestartReplace=გადატვირთვითი გადაწერის შეცდომა: +ErrorRenamingTemp=შეცდომა მოცემულ საქაღალდეში ფაილის გარდაქმევისას: +ErrorRegisterServer=შეუძლებელია DLL/OCX-ის რეგისტრირება: %1 +ErrorRegSvr32Failed=RegSvr32 გაითიშა, შეცდომის კოდით %1 +ErrorRegisterTypeLib=შეუძლებებლია ბიბლოთეკის რეგიტრირება: %1 + +; *** Post-installation errors +ErrorOpeningReadme=შეცოდმა დოკუმენტაციის გახსნისას. +ErrorRestartingComputer=შეცდომა კომპიუტერის გადატვირთვისას. გადატვირთეთ თვითონ. + +; *** Uninstaller messages +UninstallNotFound=File "%1" არ არსებობს. შეუძლებელია წაშლა. +UninstallOpenError=File "%1" ვერ იხსნება. შეუძლებელია წაშლა +UninstallUnsupportedVer=წაშლის ჟურნალი "%1" ამ ვერსიის წამშლელთან არათავსებადია. შეუძლებელია წაშლა +UninstallUnknownEntry=უცნობი ჩანაწერია (%1) ნაპოვნი ჟურნალში +ConfirmUninstall=ნამდვიდალდ გსურს %1-ის წაშლა ყველა კომპონენეტით? +UninstallOnlyOnWin64=ეს პროგრამა მარტო წაიშლება 64 თანრიგიანი Windows-დან. +OnlyAdminCanUninstall=ამ პროგრამის წაშლას ადმინისტრატორის უფლებები ჭირდება. +UninstallStatusLabel=მოითმინეთ, სანამ %1 წაიშლება. +UninstalledAll=%1 წარმეტებით წაიშალა. +UninstalledMost=%1 წაშლა დამთავრდა.%n%nმაგრამ ზოგიერთი კომპონენტი არ წაიშლა. ისინი შეგიძლიათ ხელით წაშალოთ. +UninstalledAndNeedsRestart=%1-ის წაშლის დასასრულებლად კომპიუტერი უნდა გადაიტვირთოს.%n%nგნებავთ ახლა? +UninstallDataCorrupted="%1"დაზიანებულია. შეუძლებელია წაშლა + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=წავშალო საზიარო ფაილი? +ConfirmDeleteSharedFile2=სისტემამ დაადგინა რომ ამ გაზირებულ ფაილს არცერთი პროგრამა იყენებს. გინდა რომ ის წაიშალოს?%n%nთუ მაინც რომელიმე პროგრამა მას იყენებს, შეწყვეტს ფუნცინირებას. თუ არ იცი, არ წაშალო. მისი სისტემაში დატოვებით არაფერი მოხდება. +SharedFileNameLabel=ფაილსი სახელი: +SharedFileLocationLabel=ადგილი: +WizardUninstalling=წაშლის მიმდინარეობა +StatusUninstalling=იშლება %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 ვერსია %2 +AdditionalIcons=დამატებითი ხატულები: +CreateDesktopIcon=შექმენი &სამუშაო დაფაზე ხატულა +CreateQuickLaunchIcon=შექმენი ს&წრაფ გამოძახებაში ხატულა +ProgramOnTheWeb=%1 ინტერნეტში +UninstallProgram=წაშალე %1 +LaunchProgram=გაუშვი %1 +AssocFileExtension=&მიაბი %1-ის გაფართოება %2-ს +AssocingFileExtension=ვაბამ %1-ს %2-ზე... diff --git a/Greenshot/releases/innosetup/Languages/Greek.isl b/Greenshot/releases/innosetup/Languages/Greek.isl new file mode 100644 index 000000000..eef0cc8dd --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Greek.isl @@ -0,0 +1,366 @@ +; *** Inno Setup version 6.0.0+ Greek messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Originally translated by Anastasis Chatzioglou, baldycom@hotmail.com +; Updated by XhmikosR [XhmikosR, my_nickname at yahoo dot com] +; Updated to version 6.0.0+ by V. Karamichail, v.karamichail@outlook.com +; + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Ελληνικά +LanguageID=$0408 +LanguageCodePage=1253 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Εγκατάσταση +SetupWindowTitle=Εγκατάσταση - %1 +UninstallAppTitle=Απεγκατάσταση +UninstallAppFullTitle=%1 Απεγκατάσταση + +; *** Misc. common +InformationTitle=Πληροφορίες +ConfirmTitle=Επιβεβαίωση +ErrorTitle=Σφάλμα + +; *** SetupLdr messages +SetupLdrStartupMessage=Θα εκτελεστεί η εγκατάσταση του %1. Θέλετε να συνεχίσετε; +LdrCannotCreateTemp=Σφάλμα στη δημιουργία προσωρινού αρχείου. Η εγκατάσταση τερματίστηκε +LdrCannotExecTemp=Αδύνατη η εκτέλεση αρχείου στον φάκελο προσωρινών αρχείων. Η εγκατάσταση τερματίστηκε +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1.%n%nΣφάλμα %2: %3 +SetupFileMissing=Το αρχείο %1 λείπει από τον κατάλογο εγκατάστασης. Διορθώστε το πρόβλημα ή αποκτήστε ένα νέο αντίγραφο του προγράμματος. +SetupFileCorrupt=Το αρχείο εγκατάστασης είναι κατεστραμμένο. Παρακαλώ προμηθευτείτε ένα νέο αντίγραφο του προγράμματος. +SetupFileCorruptOrWrongVer=Το αρχείο εγκατάστασης είναι κατεστραμμένο ή δεν είναι συμβατό με αυτήν την έκδοση του προγράμματος εγκατάστασης. Διορθώστε το πρόβλημα ή αποκτήστε ένα νέο αντίγραφο του προγράμματος. +InvalidParameter=Μία μη έγκυρη παράμετρος χρησιμοποιήθηκε στη γραμμή εντολών:%n%n%1 +SetupAlreadyRunning=Η εγκατάσταση τρέχει ήδη. +WindowsVersionNotSupported=Αυτό το πρόγραμμα δεν υποστηρίζει την έκδοση των Windows που εκτελεί ο υπολογιστής σας. +WindowsServicePackRequired=Αυτό το πρόγραμμα χρειάζεται το %1 Service Pack %2 ή νεότερο. +NotOnThisPlatform=Αυτό το πρόγραμμα δεν μπορεί να εκτελεστεί σε %1. +OnlyOnThisPlatform=Αυτό το πρόγραμμα μπορεί να εκτελεστεί μόνο σε %1. +OnlyOnTheseArchitectures=Αυτό το πρόγραμμα μπορεί να εγκατασταθεί μόνο σε εκδόσεις των Windows που έχουν σχεδιαστεί για τις ακόλουθες αρχιτεκτονικές επεξεργαστών:%n%n%1 +WinVersionTooLowError=Αυτό το πρόγραμμα απαιτεί %1 έκδοση %2 ή μεταγενέστερη. +WinVersionTooHighError=Αυτό το πρόγραμμα δεν μπορεί να εγκατασταθεί σε %1 έκδοση %2 ή μεταγενέστερη. +AdminPrivilegesRequired=Πρέπει να είστε συνδεδεμένοι ως διαχειριστής κατά την εγκατάσταση αυτού του προγράμματος. +PowerUserPrivilegesRequired=Πρέπει να είστε συνδεδεμένοι ως διαχειριστής ή ως μέλος της ομάδας Power User κατά την εγκατάσταση αυτού του προγράμματος. +SetupAppRunningError=Ο Οδηγός Εγκατάστασης εντόπισε ότι η εφαρμογή %1 εκτελείται ήδη.%n%nΠαρακαλώ κλείστε την εφαρμογή τώρα και πατήστε ΟΚ για να συνεχίσετε, ή Άκυρο για έξοδο. +UninstallAppRunningError=Ο Οδηγός Απεγκατάστασης εντόπισε ότι η εφαρμογή %1 εκτελείται ήδη.%n%nΠαρακαλώ κλείστε την εφαρμογή τώρα και πατήστε ΟΚ για να συνεχίσετε, ή Άκυρο για έξοδο. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=Επιλέξτε Τρόπο Εγκατάστασης +PrivilegesRequiredOverrideInstruction=Επιλέξτε τον τρόπο εγκατάστασης +PrivilegesRequiredOverrideText1=Το %1 μπορεί να εγκατασταθεί για όλους τους χρήστες (απαιτεί δικαιώματα διαχειριστή) ή μόνο για εσάς. +PrivilegesRequiredOverrideText2=Το %1 μπορεί να εγκατασταθεί μόνο για εσάς ή για όλους τους χρήστες (απαιτεί δικαιώματα διαχειριστή). +PrivilegesRequiredOverrideAllUsers=Εγκατάσταση για &όλους τους χρήστες +PrivilegesRequiredOverrideAllUsersRecommended=Εγκατάσταση για όλ&ους τους χρήστες (συνιστάται) +PrivilegesRequiredOverrideCurrentUser=Εγκατάσταση μόνο για &εμένα +PrivilegesRequiredOverrideCurrentUserRecommended=Εγκατάσταση μόνο για &εμένα (συνιστάται) + +; *** Misc. errors +ErrorCreatingDir=Η εγκατάσταση δεν μπόρεσε να δημιουργήσει τον φάκελο "%1" +ErrorTooManyFilesInDir=Δεν είναι δυνατή η δημιουργία ενός αρχείου στον φάκελο "%1" επειδή περιέχει πολλά αρχεία + +; *** Setup common messages +ExitSetupTitle=Τέλος Εγκατάστασης +ExitSetupMessage=Η εγκατάσταση δεν έχει ολοκληρωθεί. Αν την τερματίσετε τώρα, το πρόγραμμα δεν θα εγκατασταθεί.%n%nΜπορείτε να εκτελέσετε ξανά την εγκατάσταση αργότερα.%n%nΈξοδος; +AboutSetupMenuItem=&Σχετικά με την Εγκατάσταση... +AboutSetupTitle=Σχετικά με την Εγκατάσταση +AboutSetupMessage=%1 έκδοση %2%n%3%n%n%1 αρχική σελίδα:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Πίσω +ButtonNext=&Επόμενο > +ButtonInstall=&Εγκατάσταση +ButtonOK=ΟΚ +ButtonCancel=&Ακυρο +ButtonYes=Ν&αι +ButtonYesToAll=Ναι σε &Ολα +ButtonNo=Ό&χι +ButtonNoToAll=Όχι &σε όλα +ButtonFinish=&Τέλος +ButtonBrowse=&Αναζήτηση... +ButtonWizardBrowse=Ανα&ζήτηση... +ButtonNewFolder=&Δημιουργία νέου φακέλου + +; *** "Select Language" dialog messages +SelectLanguageTitle=Επιλογή Γλώσσας Οδηγού Εγκατάστασης +SelectLanguageLabel=Επιλέξτε τη γλώσσα που θέλετε να χρησιμοποιήσετε κατά την εγκατάσταση. + +; *** Common wizard text +ClickNext=Πατήστε Επόμενο για να συνεχίσετε ή Άκυρο για να τερματίσετε την εγκατάσταση. +BeveledLabel= +BrowseDialogTitle=Αναζήτηση Φακέλου +BrowseDialogLabel=Επιλέξτε ένα φάκελο από την ακόλουθη λίστα και πατήστε ΟΚ. +NewFolderName=Νέος φάκελος + +; *** "Welcome" wizard page +WelcomeLabel1=Καλως ορίσατε στον Οδηγό Εγκατάστασης του [name] +WelcomeLabel2=Θα γίνει εγκατάσταση του [name/ver] στον υπολογιστή σας.%n%nΣυνιστάται να κλείσετε όλες τις άλλες εφαρμογές πριν συνεχίσετε. + +; *** "Password" wizard page +WizardPassword=Κωδικός Πρόσβασης +PasswordLabel1=Αυτή η εγκατάσταση προστατεύεται με κωδικό πρόσβασης. +PasswordLabel3=Παρακαλώ εισάγετε τον κωδικό και πατήστε Επόμενο. +PasswordEditLabel=&Κωδικός: +IncorrectPassword=Ο κωδικός που έχετε εισάγει είναι λανθασμένος. Παρακαλώ, προσπαθήστε ξανά. + +; *** "License Agreement" wizard page +WizardLicense=Άδεια Χρήσης +LicenseLabel=Παρακαλώ διαβάστε προσεκτικά τις ακόλουθες πληροφορίες πριν συνεχίσετε. +LicenseLabel3=Παρακαλώ διαβάστε την ακόλουθη Άδεια Χρήσης. Θα πρέπει να αποδεχτείτε τους όρους της πριν συνεχίσετε την εγκατάσταση. +LicenseAccepted=&Δέχομαι τους όρους της Άδειας Χρήσης +LicenseNotAccepted=Δεν &αποδέχομαι τους όρους της Άδειας Χρήσης + +; *** "Information" wizard pages +WizardInfoBefore=Πληροφορίες +InfoBeforeLabel=Παρακαλώ διαβάστε προσεκτικά τις ακόλουθες πληροφορίες πριν συνεχίσετε. +InfoBeforeClickLabel=Όταν είστε έτοιμοι να συνεχίσετε με τον Οδηγό Εγκατάστασης, πατήστε Επόμενο. +WizardInfoAfter=Πληροφορίες +InfoAfterLabel=Παρακαλώ διαβάστε προσεκτικά τις ακόλουθες πληροφορίες πριν συνεχίσετε. +InfoAfterClickLabel=Όταν είστε έτοιμοι να συνεχίσετε με τον Οδηγό Εγκατάστασης, πατήστε Επόμενο. + +; *** "User Information" wizard page +WizardUserInfo=Πληροφορίες Χρήστη +UserInfoDesc=Παρακαλώ εισάγετε τα στοιχεία σας. +UserInfoName=&Ονομα Χρήστη: +UserInfoOrg=&Εταιρεία: +UserInfoSerial=&Σειριακός Αριθμός: +UserInfoNameRequired=Πρέπει να εισάγετε ένα όνομα. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Επιλογή Φακέλου Εγκατάστασης +SelectDirDesc=Πού θέλετε να εγκατασταθεί το [name]; +SelectDirLabel3=Ο Οδηγός Εγκατάστασης θα εγκαταστήσει το [name] στον ακόλουθο φάκελο. +SelectDirBrowseLabel=Για να συνεχίσετε, πατήστε Επόμενο. Εάν θέλετε να επιλέξετε διαφορετικό φάκελο, πατήστε Αναζήτηση. +DiskSpaceMBLabel=Απαιτούνται τουλάχιστον [mb] MB ελεύθερου χώρου στο δίσκο. +CannotInstallToNetworkDrive=Η εγκατάσταση δεν μπορεί να γίνει σε δίσκο δικτύου. +CannotInstallToUNCPath=Η εγκατάσταση δεν μπορεί να γίνει σε διαδρομή UNC. +InvalidPath=Πρέπει να δώσετε την πλήρη διαδρομή με το γράμμα δίσκου, για παράδειγμα:%n%nC:\APP%n%nή μια διαδρομή UNC της μορφής:%n%n\\server\share +InvalidDrive=Ο τοπικός δίσκος ή ο δίσκος δικτύου που έχετε επιλέξει δεν υπάρχει ή δεν είναι προσβάσιμος. Παρακαλώ, επιλέξτε άλλον. +DiskSpaceWarningTitle=Ανεπαρκής Χώρος στο Δίσκο +DiskSpaceWarning=Η εγκατάσταση χρειάζεται τουλάχιστον %1 KB ελεύθερο χώρο στο δίσκο αλλά ο επιλεγμένος δίσκος διαθέτει μόνον %2 KB.%n%nΘέλετε να συνεχίσετε παρόλα αυτά; +DirNameTooLong=Το όνομα ή η διαδρομή του φακέλου είναι πολύ μεγάλη. +InvalidDirName=Το όνομα του φακέλου δεν είναι έγκυρο. +BadDirName32=Το όνομα του φακέλου δεν μπορεί να περιλαμβάνει κανέναν από τους παρακάτω χαρακτήρες:%n%n%1 +DirExistsTitle=Ο Φάκελος Υπάρχει +DirExists=Ο φάκελος:%n%n%1%n%nυπάρχει ήδη. Θέλετε να γίνει η εγκατάσταση σε αυτόν τον φάκελο παρόλα αυτά; +DirDoesntExistTitle=Ο Φάκελος Δεν Υπάρχει +DirDoesntExist=Ο φάκελος:%n%n%1%n%nδεν υπάρχει. Θέλετε να δημιουργηθεί; + +; *** "Select Components" wizard page +WizardSelectComponents=Επιλογή Λειτουργιών Μονάδων +SelectComponentsDesc=Ποια στοιχεία θέλετε να εγκατασταθούν; +SelectComponentsLabel2=Επιλέξτε τα στοιχεία που θέλετε να εγκαταστήσετε, αποεπιλέξτε τα στοιχεία που δεν θέλετε να εγκαταστήσετε. Πατήστε Επόμενο όταν είστε έτοιμοι να συνεχίσετε. +FullInstallation=Πλήρης εγκατάσταση +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Τυπική εγκατάσταση +CustomInstallation=Προσαρμοσμένη εγκατάσταση +NoUninstallWarningTitle=Οι Λειτουργικές Μονάδες Υπάρχουν +NoUninstallWarning=Ο Οδηγός Εγκατάστασης εντόπισε ότι τα ακόλουθα στοιχεία είναι ήδη εγκατεστημένα στον υπολογιστή σας:%n%n%1%n%nΑποεπιλέγοντας αυτά τα στοιχεία δεν θα απεγκατασταθούν.%n%nΘέλετε να συνεχίσετε παρόλα αυτά; +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Η τρέχουσα επιλογή απαιτεί τουλάχιστον [mb] MB χώρου στο δίσκο. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Επιλογή Επιπλέον Ενεργειών +SelectTasksDesc=Ποιες επιπλέον ενέργειες θέλετε να γίνουν; +SelectTasksLabel2=Επιλέξτε τις επιπλέον ενέργειες που θέλετε να γίνουν κατά την εγκατάσταση του [name] και πατήστε Επόμενο. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Επιλογή Φακέλου Μενού Έναρξης +SelectStartMenuFolderDesc=Πού θέλετε να τοποθετηθούν οι συντομεύσεις του προγράμματος; +SelectStartMenuFolderLabel3=Η εγκατάσταση θα δημιουργήσει τις συντομεύσεις του προγράμματος στον ακόλουθο φάκελο του μενού Έναρξη. +SelectStartMenuFolderBrowseLabel=Για να συνεχίσετε, πατήστε Επόμενο. Αν θέλετε διαφορετικό φάκελο, πατήστε Αναζήτηση. +MustEnterGroupName=Πρέπει να εισαγάγετε ένα όνομα φακέλου. +GroupNameTooLong=Το όνομα ή η διαδρομή του φακέλου είναι πολύ μεγάλη. +InvalidGroupName=Το όνομα του φακέλου δεν είναι έγκυρο. +BadGroupName=Το όνομα του φακέλου δεν μπορεί να περιλαμβάνει κανέναν από τους παρακάτω χαρακτήρες:%n%n%1 +NoProgramGroupCheck2=&Χωρίς δημιουργία φακέλου στο μενού Έναρξης. + +; *** "Ready to Install" wizard page +WizardReady=Έτοιμα για Εγκατάσταση +ReadyLabel1=Ο Οδηγός Εγκατάστασης είναι έτοιμος να ξεκινήσει την εγκατάσταση του [name] στον υπολογιστή σας. +ReadyLabel2a=Πατήστε Εγκατάσταση για να συνεχίσετε με την εγκατάσταση ή πατήστε Πίσω, εάν θέλετε να ελέγξετε ή να αλλάξετε τυχόν ρυθμίσεις. +ReadyLabel2b=Πατήστε Εγκατάσταση για να συνεχίσετε την εγκατάσταση. +ReadyMemoUserInfo=Πληροφορίες Χρήστη: +ReadyMemoDir=Φάκελος προορισμού: +ReadyMemoType=Είδος εγκατάστασης: +ReadyMemoComponents=Επιλεγμένες λειτουργικές μονάδες: +ReadyMemoGroup=Φάκελος στο μενού Έναρξη: +ReadyMemoTasks=Επιπλέον ενέργειες: + +; *** "Preparing to Install" wizard page +WizardPreparing=Προετοιμασία Εγκατάστασης +PreparingDesc=Ο Οδηγός Εγκατάστασης προετοιμάζεται για την εγκατάσταση του [name] στον υπολογιστή σας. +PreviousInstallNotCompleted=Η εγκατάσταση/αφαίρεση ενός προηγούμενου προγράμματος δεν ολοκληρώθηκε. Θα χρειαστεί να κάνετε επανεκκίνηση του υπολογιστή σας για να ολοκληρωθεί.%n%nΜετά την επανεκκίνηση του υπολογιστή σας, εκτελέστε ξανά τον Οδηγό Εγκατάστασης για να ολοκληρώσετε την εγκατάσταση/αφαίρεση του [name]. +CannotContinue=Η εγκατάσταση δεν μπορεί να συνεχιστεί. Παρακαλώ πατήστε Άκυρο για τερματισμό. +ApplicationsFound=Οι ακόλουθες εφαρμογές χρησιμοποιούν αρχεία που πρέπει να ενημερωθούν από τον Οδηγό Εγκατάστασης. Συνιστάται να επιτρέψετε στον Οδηγό Εγκατάστασης να κλείσει αυτόματα αυτές τις εφαρμογές. +ApplicationsFound2=Οι ακόλουθες εφαρμογές χρησιμοποιούν αρχεία που πρέπει να ενημερωθούν από τον Οδηγό Εγκατάστασης. Συνιστάται να επιτρέψετε στον Οδηγό Εγκατάστασης να κλείσει αυτόματα αυτές τις εφαρμογές. Μετά την ολοκλήρωση της εγκατάστασης, ο Οδηγός Εγκατάστασης θα επιχειρήσει να κάνει επανεκκίνηση των εφαρμογών. +CloseApplications=&Αυτόματο κλείσιμο των εφαρμογών +DontCloseApplications=&Χωρίς κλείσιμο των εφαρμογών +ErrorCloseApplications=Η εγκατάσταση δεν μπόρεσε να κλείσει αυτόματα όλες τις εφαρμογές. Συνιστάται να κλείσετε όλες τις εφαρμογές που χρησιμοποιούν αρχεία που πρέπει να ενημερωθούν από τον Οδηγό Εγκατάστασης προτού συνεχίσετε. + +; *** "Installing" wizard page +WizardInstalling=Εγκατάσταση +InstallingLabel=Παρακαλώ περιμένετε καθώς γίνεται η εγκατάσταση του [name] στον υπολογιστή σας. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Ολοκλήρωση του Οδηγού Εγκατάστασης του [name] +FinishedLabelNoIcons=Ο Οδηγός Εγκατάστασης ολοκλήρωσε την εγκατάσταση του [name] στον υπολογιστή σας. +FinishedLabel=Ο Οδηγός Εγκατάστασης ολοκλήρωσε την εγκατάσταση του [name] στον υπολογιστή σας. Η εφαρμογή μπορεί να ξεκινήσει επιλέγοντας κάποια από τις εγκατεστημένες συντομεύσεις. +ClickFinish=Πατήστε Τέλος για να τερματίσετε τον Οδηγό Εγκατάστασης. +FinishedRestartLabel=Για να ολοκληρώσετε την εγκατάσταση του [name], ο Οδηγός Εγκατάστασης πρέπει να κάνει επανεκκίνηση του υπολογιστή σας. Θα θέλατε να κάνετε επανεκκίνηση τώρα; +FinishedRestartMessage=Για να ολοκληρώσετε την εγκατάσταση του [name], ο Οδηγός Εγκατάστασης πρέπει να κάνει επανεκκίνηση του υπολογιστή σας.%n%nΘα θέλατε να κάνετε επανεκκίνηση τώρα; +ShowReadmeCheck=Ναι, θα ήθελα να δω το αρχείο README +YesRadio=&Ναι, να γίνει επανεκκίνηση τώρα +NoRadio=&Οχι, θα κάνω επανεκκίνηση αργότερα +; used for example as 'Run MyProg.exe' +RunEntryExec=Εκτέλεση του %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Προβολή του %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Ο Οδηγός Εγκατάστασης χρειάζεται τον επόμενο δίσκο +SelectDiskLabel2=Παρακαλώ, εισάγετε τον δίσκο %1 και πατήστε ΟΚ.%n%nΕάν τα αρχεία αυτού του δίσκου βρίσκονται σε φάκελο διαφορετικό από αυτόν που εμφανίζεται παρακάτω, πληκτρολογήστε τη σωστή διαδρομή ή πατήστε Αναζήτηση. +PathLabel=&Διαδρομή: +FileNotInDir2=Το αρχείο "%1" δε βρέθηκε στο "%2". Παρακαλώ εισάγετε το σωστό δίσκο ή επιλέξτε κάποιον άλλο φάκελο. +SelectDirectoryLabel=Παρακαλώ καθορίσετε την τοποθεσία του επόμενου δίσκου. + +; *** Installation phase messages +SetupAborted=Η εγκατάσταση δεν ολοκληρώθηκε.%n%nΠαρακαλώ, διορθώστε το πρόβλημα και εκτελέστε ξανά τον Οδηγό Εγκατάστασης. +AbortRetryIgnoreSelectAction=Επιλέξτε ενέργεια +AbortRetryIgnoreRetry=&Δοκιμή +AbortRetryIgnoreIgnore=&Αγνόηση και συνέχεια +AbortRetryIgnoreCancel=Ακυρώση εγκατάστασης + +; *** Installation status messages +StatusClosingApplications=Κλείσιμο εφαρμογών... +StatusCreateDirs=Δημιουργία φακέλων... +StatusExtractFiles=Αποσυμπίεση αρχείων... +StatusCreateIcons=Δημιουργία συντομεύσεων... +StatusCreateIniEntries=Δημιουργία καταχωρήσεων INI... +StatusCreateRegistryEntries=Δημιουργία καταχωρήσεων στο μητρώο... +StatusRegisterFiles=Καταχώρηση αρχείων... +StatusSavingUninstall=Αποθήκευση πληροφοριών απεγκατάστασης... +StatusRunProgram=Ολοκλήρωση εγκατάστασης... +StatusRestartingApplications=Επανεκκίνηση εφαρμογών... +StatusRollback=Επαναφορά αλλαγών... + +; *** Misc. errors +ErrorInternal2=Εσωτερικό σφάλμα: %1 +ErrorFunctionFailedNoCode=%1 απέτυχε +ErrorFunctionFailed=%1 απέτυχε, κωδικός %2 +ErrorFunctionFailedWithMessage=%1 απέτυχε, κωδικός %2.%n%3 +ErrorExecutingProgram=Δεν είναι δυνατή η εκτέλεση του αρχείου:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Σφάλμα ανάγνωσης κλειδιού μητρώου:%n%1\%2 +ErrorRegCreateKey=Σφάλμα δημιουργίας κλειδιού μητρώου:%n%1\%2 +ErrorRegWriteKey=Σφάλμα καταχώρησης κλειδιού μητρώου:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Σφάλμα στη δημιουργία καταχώρησης INI στο αρχείο "%1". + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=&Παράλειψη αυτού του αρχείου (δεν συνιστάται) +FileAbortRetryIgnoreIgnoreNotRecommended=Παράλειψη σφάλματος και &συνέχεια (δεν συνιστάται) +SourceIsCorrupted=Το αρχείο προέλευσης είναι κατεστραμμένο +SourceDoesntExist=Το αρχείο προέλευσης "%1" δεν υπάρχει +ExistingFileReadOnly2=Το υπάρχον αρχείο δεν μπόρεσε να αντικατασταθεί επειδή είναι μόνο για ανάγνωση. +ExistingFileReadOnlyRetry=&Καταργήστε το χαρακτηριστικό μόνο για ανάγνωση και δοκιμάστε ξανά +ExistingFileReadOnlyKeepExisting=&Διατηρήστε το υπάρχον αρχείο +ErrorReadingExistingDest=Παρουσιάστηκε σφάλμα κατά την προσπάθεια ανάγνωσης του υπάρχοντος αρχείου: +FileExists=Το αρχείο υπάρχει ήδη.%n%nΘα θέλατε ο Οδηγός Εγκατάστασης να το αντικαταστήσει; +ExistingFileNewer=Το υπάρχον αρχείο είναι νεότερο από αυτό που ο Οδηγός Εγκατάστασης που προσπαθεί να εγκαταστήσει. Συνιστάται να διατηρείτε το υπάρχον αρχείο.%n%nΘέλετε να διατηρήσετε το υπάρχον αρχείο; +ErrorChangingAttr=Παρουσιάστηκε σφάλμα κατά την προσπάθεια αλλαγής των χαρακτηριστικών του υπάρχοντος αρχείου: +ErrorCreatingTemp=Παρουσιάστηκε σφάλμα κατά την προσπάθεια δημιουργίας ενός αρχείου στον φακέλο προορισμού: +ErrorReadingSource=Παρουσιάστηκε σφάλμα κατά την προσπάθεια ανάγνωσης του αρχείου προέλευσης: +ErrorCopying=Παρουσιάστηκε σφάλμα κατά την προσπάθεια αντιγραφής ενός αρχείου: +ErrorReplacingExistingFile=Παρουσιάστηκε σφάλμα κατά την προσπάθεια αντικατάστασης του υπάρχοντος αρχείου: +ErrorRestartReplace=Η ΕπανεκκίνησηΑντικατάσταση απέτυχε: +ErrorRenamingTemp=Παρουσιάστηκε σφάλμα κατά την προσπάθεια μετονομασίας ενός αρχείου στον φακέλο προορισμού: +ErrorRegisterServer=Δεν είναι δυνατή η καταχώριση του DLL/OCX: %1 +ErrorRegSvr32Failed=Το RegSvr32 απέτυχε με κωδικό εξόδου %1 +ErrorRegisterTypeLib=Δεν είναι δυνατή η καταχώριση της βιβλιοθήκης τύπων: %1 + +; *** Uninstall display name markings +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bit +UninstallDisplayNameMark64Bit=64-bit +UninstallDisplayNameMarkAllUsers=Ολοι οι χρήστες +UninstallDisplayNameMarkCurrentUser=Τρέχων χρήστης + +; *** Post-installation errors +ErrorOpeningReadme=Παρουσιάστηκε σφάλμα κατά την προσπάθεια ανοίγματος του αρχείου README. +ErrorRestartingComputer=Ο Οδηγός Εγκατάστασης δεν μπόρεσε να κάνει επανεκκίνηση του υπολογιστή. Παρακαλώ επανεκκινήσετε τον υπολογιστή μόνοι σας. + +; *** Uninstaller messages +UninstallNotFound=Το αρχείο "%1" δεν υπάρχει. Δεν είναι δυνατή η απεγκατάσταση. +UninstallOpenError=Το αρχείο "%1" δεν ήταν δυνατό να ανοίξει. Δεν είναι δυνατή η απεγκατάσταση +UninstallUnsupportedVer=Το αρχείο καταγραφής απεγκατάστασης "%1" είναι σε μορφή που δεν αναγνωρίζεται από αυτήν την έκδοση του Οδηγού Απεγκατάστασης. Δεν ήταν δυνατή η απεγκατάσταση +UninstallUnknownEntry=Μια άγνωστη καταχώρηση (%1) εντοπίστηκε στο αρχείο καταγραφής απεγκατάστασης +ConfirmUninstall=Είστε βέβαιοι ότι θέλετε να καταργήσετε εντελώς το %1 και όλα τα στοιχεία του; +UninstallOnlyOnWin64=Αυτή η εγκατάσταση μπορεί να απεγκατασταθεί μόνο σε Windows 64-bit. +OnlyAdminCanUninstall=Αυτή η εγκατάσταση μπορεί να απεγκατασταθεί μόνο από χρήστη με δικαιώματα διαχειριστή. +UninstallStatusLabel=Παρακαλώ περιμένετε μέχρι να καταργηθεί το %1 από τον υπολογιστή σας. +UninstalledAll=Το %1 αφαιρέθηκε με επιτυχία από τον υπολογιστή σας. +UninstalledMost=Το %1 αφαιρέθηκε με επιτυχία.%n%nΟρισμένα στοιχεία δεν ήταν δυνατό να καταργηθούν. Αυτά μπορούν να αφαιρεθούν από εσάς. +UninstalledAndNeedsRestart=Για να ολοκληρώσετε την απεγκατάσταση του %1, ο υπολογιστής σας πρέπει να επανεκκινηθεί.%n%nΘα θέλατε να κάνετε επανεκκίνηση τώρα; +UninstallDataCorrupted=Το "%1" αρχείο είναι κατεστραμμένο. Δεν ήταν δυνατή η απεγκατάσταση + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Κατάργηση Κοινόχρηστου Αρχείου; +ConfirmDeleteSharedFile2=Το σύστημα υποδεικνύει ότι το ακόλουθο κοινόχρηστο αρχείο δεν χρησιμοποιείται πλέον από κανένα πρόγραμμα. Θέλετε να καταργηθεί αυτό το κοινόχρηστο αρχείο;%n%nΕάν κάποιο πρόγραμμα εξακολουθεί να το χρησιμοποιεί, ενδέχεται να μην λειτουργήσει σωστά. Εάν δεν είστε βέβαιοι, επιλέξτε Όχι. Αφήνοντάς το στο σύστημά σας δεν θα προκληθεί καμία ζημιά. +SharedFileNameLabel=Όνομα Αρχείου: +SharedFileLocationLabel=Τοποθεσία: +WizardUninstalling=Πρόοδος Απεγκατάστασης +StatusUninstalling=Απεγκατάσταση %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Εγκατάσταση του %1. +ShutdownBlockReasonUninstallingApp=Απεγκατάσταση του %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 έκδοση %2 +AdditionalIcons=Επιπλέον συντομεύσεις: +CreateDesktopIcon=Δημιουργία συντόμευσης στην &επιφάνεια εργασίας +CreateQuickLaunchIcon=Δημιουργία συντόμευσης στη &Γρήγορη Εκκίνηση +ProgramOnTheWeb=Το %1 στο Internet +UninstallProgram=Απεγκατάσταση του %1 +LaunchProgram=Εκκίνηση του %1 +AssocFileExtension=&Συσχέτιση του %1 με την επέκταση αρχείου %2 +AssocingFileExtension=Γίνεται συσχέτιση του %1 με την επέκταση αρχείου "%2"... +AutoStartProgramGroupDescription=Εκκίνηση: +AutoStartProgram=Αυτόματη εκκίνηση του %1 +AddonHostProgramNotFound=Το %1 δε βρέθηκε στο φάκελο που επιλέξατε.%n%nΘέλετε να συνεχίσετε παρόλα αυτά; diff --git a/Greenshot/releases/innosetup/Languages/Hindi.islu b/Greenshot/releases/innosetup/Languages/Hindi.islu new file mode 100644 index 000000000..596783144 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Hindi.islu @@ -0,0 +1,336 @@ + ; *** Inno Setup version 5.5.3+ Hindi messages *** +; Translated by Him Prasad Gautam [ drishtibachak at gmail.com ] +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<0939><093F><0902><0926><0940> +LanguageID=$0439 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=10 +;WelcomeFontName= +WelcomeFontSize=12 +;TitleFontName= +TitleFontSize=35 +;CopyrightFontName= +CopyrightFontSize=9 + +[Messages] + +; *** Application titles +SetupAppTitle=स्थापना +SetupWindowTitle=स्थापना - %1 +UninstallAppTitle=निस्कासन +UninstallAppFullTitle=%1 कि निस्कासन + +; *** Misc. common +InformationTitle=सुचना +ConfirmTitle=पुष्टिकरण +ErrorTitle=त्रुटी + +; *** SetupLdr messages +SetupLdrStartupMessage=इस से %1 आपकि कल्पयन्त्र में अधिष्ठापन होगा. क्या आप आगे बढ़ना चाहते है? +LdrCannotCreateTemp=अस्थाई फ़ाइल नही बना पा रहा. स्थापना को बिच में ही रोकना पड़ा. +LdrCannotExecTemp=अस्थाई फोल्डर में से फ़ाइल कार्यान्वयन नही कर पाया. स्थापना को बिच में ही रोकना पड़ा. + +; *** Startup error messages +LastErrorMessage=%1.%n%nत्रुटी %2: %3 +SetupFileMissing=फ़ाइल %1 अधिष्ठापन सङ्ग्रहिका में नही है. कृपया या तो समस्या का निदान कीजिये या कार्यक्रम की नई प्रति लाइए. +SetupFileCorrupt=स्थापना फाइल में त्रुटी है. कृपया नई कार्यक्रम की प्रति लाइए. +SetupFileCorruptOrWrongVer=स्थापना फाइल में त्रुटी है या तो अलग प्रकार कि है. कृपया समस्या-निदान करे या कार्यक्रम की नई प्रति लाइए. +InvalidParameter=फोल्डर का नाम वैध नही है. +SetupAlreadyRunning=स्थापना तो पहले से हि चल रहा है +WindowsVersionNotSupported=इस से [name/ver] आपके कल्पयन्त्र में अधिष्ठापन होगा.%n%nये बहेतर होगा आगे बढने से पहेले आप अन्य सभी कार्यक्रम हाल तुरत के लिए बंध कर दे. +WindowsServicePackRequired=ये कार्यक्रम को %1 Service Pack %2 या पिछला संस्करण चाहिए. +NotOnThisPlatform=ये कार्यक्रम %1 पे नही चलेगा. +OnlyOnThisPlatform=ये कार्यक्रम केवल %1 पे ही चलेगा. +OnlyOnTheseArchitectures=ये कार्यक्रम केवल इन प्रोसेसर :%n%n%1 से अनुरूप विन्डोज़ प्लेटफॉर्म पे ही चलेगा. +MissingWOW64APIs=आपका विंडो प्लेटफॉर्म 64-bit अधिष्ठापन समर्थन नही करता. कृपया सर्विस पैक %1 अधिष्ठापन करे. +WinVersionTooLowError=ये कार्यक्रम चलने के लिए %1 संस्करण %2 या उस से पिछला चाहिए. +WinVersionTooHighError=ये कार्यक्रम नही अधिष्ठापन किया जा सकता %1 संस्करण %2 या पिछला पे. +AdminPrivilegesRequired=अगर आप प्रशासक खाते से आरम्भ करे तो ही ये कार्यक्रम अधिष्ठापन कर पाओगे. +PowerUserPrivilegesRequired=आप प्रशासक खाते या शक्ति-प्रयोग कर्ता समूह के खाते से आरम्भ करे तो ही ये कार्यक्रम अधिष्ठापन कर पाओगे. +SetupAppRunningError=स्थापना ने पकड़ा की %1 हाल चालू है..%n%n कृपया उसे बंध करे अभी, और बाद में आगे बढने वास्ते ठीक या निकल जाने वास्ते रद्द करेँ पे क्लिक करे. +UninstallAppRunningError=निस्कासन को ये ज्ञात हुआ की %1 अभी चालू है.%n%n कृपया उसे बंध करे और फिर आगे बढने के लिए ठीक या बाहर जाने के लिए रद्द करेँ पे क्लिक करे. + +; *** Misc. errors +ErrorCreatingDir=स्थापना "%1" सङ्ग्रहिका बनाने में विफल रहा +ErrorTooManyFilesInDir=%1 सङ्ग्रहिका में बहुत फाइल मौजूद होने के वजह से स्थापना फाइल बनाने में विफल रहा. + +; *** Setup common messages +ExitSetupTitle=स्थापना कि बहिर्गमन +ExitSetupMessage=स्थापना कि कार्य पूर्ण नही हुआ, यदि आप अभी बाहर जाने कि ईराधा करेंगे तो कार्यक्रम सहि ढंग से अधिष्ठापन नही होगा.%n%nआप किसी ओर वक्त फिर से अधिष्ठापन कर सकते हो.%n%nक्या बाहर जाए? +AboutSetupMenuItem=स्थापना के बारे में... +AboutSetupTitle=स्थापना के बारे में +AboutSetupMessage=%1 संस्करण %2%n%3%n%n%1 गृह पृष्ठ:%n%4 +AboutSetupNote= +TranslatorNote= यह हिन्दी में अनुवाद कि कार्य हिम प्रसाद गौतम ने किया है. + +; *** Buttons +ButtonBack=< &पिछे हटो +ButtonNext=&आगे बढो > +ButtonInstall=&अधिष्ठापन +ButtonOK=&ठीक +ButtonCancel=&रद्द करेँ +ButtonYes=&हाँ +ButtonYesToAll=&सभी के लिए हाँ +ButtonNo=&नही +ButtonNoToAll=स&भी के लिए नही +ButtonFinish=&समाप्त +ButtonBrowse=&ब्राउज़... +ButtonWizardBrowse=&ब्राउज़... +ButtonNewFolder=&नया फोल्डर बनाए + +; "Select Language" dialog messages +SelectLanguageTitle=स्थापना भाषा चयन +SelectLanguageLabel=अधिष्ठापन के दरम्यान इस्तेमाल होने वाली भाषा चयन करे: + +; *** Common wizard text +ClickNext=आगे बढने के लिए आगे बढो दबाए, या बाहर जाने के वास्ते रद्द करेँ दबाए. +BeveledLabel= सौजन्यः हिम प्रसाद गौतम +BrowseDialogTitle=फोल्डर के लिए ब्राउज़ करे +BrowseDialogLabel=नीचे की सुची में से एक फोल्डर चयन करके ठीक दबाए. +NewFolderName=नया फोल्डर + +; "Welcome" wizard page +WelcomeLabel1=यह [name] कि स्थापना हो रही समारोह में आपका स्वागत है +WelcomeLabel2=इस से [name/ver] आपके कल्पयन्त्र में अधिष्ठापन होगा.%n%nये बहेतर होगा आगे बढने से पहले आप अन्य सभी खुलि हुई कार्यक्रम हाल के लिए बंध कर दे. + +; "Password" wizard page +WizardPassword=खुपियाशब्द +PasswordLabel1=ये अधिष्ठापन खुपियाशब्द से लोक है. +PasswordLabel3=कृपया खुपियाशब्द लिखें और बाद में 'आगे बढो' बटन दबाए. खुपियाशब्द case-सम्वेदनसील है. +PasswordEditLabel=खुपियाशब्द: +IncorrectPassword=आपने लिखा हुआ खुपियाशब्द गलत है. कृपया फिर से कोशिश करे. + +; "License Agreement" wizard page +WizardLicense=इजाजत करार +LicenseLabel=आगे बढने से पहेले ये महत्वपूर्ण सूचनाए पढे. +LicenseLabel3=ये इजाजत करार पढे. आगे बढने से पहेले आपको इसकी शर्तों को मानना ही होगा. +LicenseAccepted=हाँ मुझे ये करारनामा कबूल है. +LicenseNotAccepted=नही मुझे ये करारनामा कबूल नही है. + +; "Information" wizard pages +WizardInfoBefore=सुचना +InfoBeforeLabel=आगे बढने से पहेले ये महत्वपूर्ण सूचनाए पढे. +InfoBeforeClickLabel=जब आप तयार हो, 'आगे बढो' बटन दबाए. +WizardInfoAfter=सुचना +InfoAfterLabel=आगे बढने से पहेले ये महत्वपूर्ण सूचनाए पढे. +InfoAfterClickLabel=जब आप तयार हो, 'आगे बढो' बटन दबाए. + +; "User Information" wizard page +WizardUserInfo=प्रयोग कर्ता की जानकारी +UserInfoDesc=कृपया आपकी जानकारी अंदर डाले. +UserInfoName=प्रयोग कर्ता का नाम: +UserInfoOrg=संस्था: +UserInfoSerial=क्रमाङ्क +UserInfoNameRequired=आपको नाम तो डालना ही होगा. + +; "Select Destination Location" wizard page +WizardSelectDir=लक्ष्य पथ चयन करे +SelectDirDesc=[name] को किधर अधिष्ठापन करना है? +SelectDirLabel3=स्थापना [name] को निम्नलिखित फोल्डर में डालेगा. +SelectDirBrowseLabel=आगे बढने वास्ते आगे बढो दबाए. यदि अन्य फोल्डर चयन करना है तो ब्राउज़ दबाए. +DiskSpaceMBLabel=कमसेकम [mb] MB जितनी जगह तो जरूरी होगी. +CannotInstallToNetworkDrive=श्थापना ने नेटवर्क ड्राइभ नहि रख पाया. +CannotInstallToUNCPath=स्थापना ने UNC path नहि रख पाया. +InvalidPath=आपको ड्राइव अक्षर के साथ पूर्ण पथ देना होगा उदाहरण:%n%nC:\APP%n%n या तो UNC रास्ता यह रूप में:%n%n\\server\share +InvalidDrive=जो drive या UNC share आपने चयन की है उस मे हम पहुँच नही कर पा रहे कृपया अन्य चयन करे. +DiskSpaceWarningTitle=जरूरी जगह नही है. +DiskSpaceWarning=स्थापना कम से कम %1 KB जगह मंगता है, लेकिन चयनित ड्राइव में तो केवल %2 KB ही मौजूद है.%n%nक्या आप फिर भी आगे बढ़ना चाहते हो? +DirNameTooLong=फोल्डर का नाम या पथ बहोत लंबा है. +InvalidDirName=फोल्डर का नाम वैध नही है. +BadDirName32=फोल्डर नाम में ये अक्षर नही इस्तेमाल कर सकते:%n%n%1 +DirExistsTitle=फोल्डर मौजूद है +DirExists=फोल्डर:%n%n%1%n%nपहेले से ही मौजूद है, क्या आप फिर भी उसमे अधिष्ठापन करना चाहते है? +DirDoesntExistTitle=फोल्डर मौजूद नही है +DirDoesntExist=फोल्डर:%n%n%1%n%nमौजूद नही है. क्या आप ये फोल्डर बनाना चाहते है? + +; "Select Components" wizard page +WizardSelectComponents=सहयोगियोँ पसंद करे. +SelectComponentsDesc=कोनसे सहयोगियोँ अधिष्ठापन करने है? +SelectComponentsLabel2=जो सहयोगियोँ अधिष्ठापन करना है, उन्हें चयन करे; जिन्हें नही करना हो तो उन्हें साफ करे. जब आगे बढने के लिए तयार हो तो आगे बढो दबाए. +FullInstallation=सम्पूर्ण अधिष्ठापन +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=मजबुत अधिष्ठापन +CustomInstallation=रिवाजी अधिष्ठापन. +NoUninstallWarningTitle=सहयोगियोँ मौजूद है. +NoUninstallWarning=स्थापना को ये ज्ञात हुआ है की निम्नलिखित सहयोगियोँ पहेले से ही मोजूद है.:%n%n%1%n%nइन्हें डी-चयन करने से वे निस्कासन नही होगे.%n%nक्या आप ऐसे ही आगे बढ़ना चाहते है? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=इस चयन के साथ स्थापना वास्ते [mb] MB जगह चाहिए. + +; "Select Additional Tasks" wizard page +WizardSelectTasks=अतिरिक्त काम चयन करे. +SelectTasksDesc=कोन से अतिरिक्त काम करने है? +SelectTasksLabel2=[name] को अधिष्ठापन करते वक्त जो अतिरिक्त काम करने है उन्हें चयन करे और बाद में आगे बढो पे क्लिक करे. + +; "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=सुरु मेनू फोल्डर चयन करे. +SelectStartMenuFolderDesc=कार्यक्रम के छोटीरास्ता किधर रखने है? +SelectStartMenuFolderLabel3=स्थापना कार्यक्रम के छोटीरास्ता निम्नलिखित सुरु-मेनू फोल्डर में डालेगा. +SelectStartMenuFolderBrowseLabel=आगे बढने के लिए आगे बढो दबाए. यदि अलग फोल्डर में अधिष्ठापन करना है तो Browse दबाए. +MustEnterGroupName=आपको फोल्डर का नाम तो डालना ही होगा. +GroupNameTooLong=फोल्डर का नाम या पथ बहुत लंबा है. +InvalidGroupName=फोल्डर का नाम वैध नही है. +BadGroupName=फोल्डर नाम में ये वाले अक्षर नही डाल सकते:%n%n%1 +NoProgramGroupCheck2=सुरु मेनू फोल्डर नही बनाना है. + +; "Ready to Install" wizard page +WizardReady=अधिष्ठापन के लिए तयार +ReadyLabel1=स्थापना अब [name] को आपके कल्पयन्त्रमें अधिष्ठापन करने के लिए तयार है. +ReadyLabel2a=आगे बढने के लिए अधिष्ठापन दबाए, अगर कोई बदलाव करना है तो पिछे हटो दबाए. +ReadyLabel2b=अधिष्ठापन में आगे बढने के लिए अधिष्ठापन दबाए. +ReadyMemoUserInfo=प्रयोग कर्ता की सूचनाए: +ReadyMemoDir=लक्ष्य सङ्ग्रहिका: +ReadyMemoType=स्थापना का प्रकार: +ReadyMemoComponents=चयन किये सहयोगियों: +ReadyMemoGroup=सुरु मेनू फोल्डर: +ReadyMemoTasks=अतिरिक्त काम: + +; "Preparing to Install" wizard page +WizardPreparing=अधिष्ठापन के लिए तैयारी कर रहा है. +PreparingDesc=स्थापना [name] को आपके कल्पयन्त्र में डालने की तैयारीकर रहा है. +PreviousInstallNotCompleted=पिछले कार्यक्रम का प्रतिस्थापन / अधिष्ठापन सही ढंग से पूरा नही हुआ था. आपको कल्पयन्त्र फिर सुरु करना पडेगा.%n%nकल्पयन्त्र फिर सुरु करने पश्चात आप फिर से [name] का अधिष्ठापन शुरू करे. +CannotContinue=स्थापना आगे नही बढ़ सकता, कृपया रद्द करेँ बटन दबाएँ. +ApplicationsFound=निचे वाली अनुप्रयोगो ने स्थापना द्वारा अपडेट किया जाने वाला फाइलों को इस्तेमाल किया है. आपको यह मसवरा दिया जा ता है कि आप स्थापना को यह अनुप्रयोगौं कि खुद ही बन्द करने कि इजाजत प्रदान करें. +ApplicationsFound2=यह अनुप्रयोगो ने स्थापना द्वारा अपडेट किया जाने वाला फाइलों को इस्तेमाल किया है. आपको यह मसवरा दिया जा ता है कि आप स्थापना को यह अनुप्रयोगौं को खुद ही बन्द करने कि इजाजत प्रदान करें. अधिष्ठापन खतम होने के वाद, स्थापना यह अनुप्रयोग कों फिर सुरु करने कि कोसिस करेगा. +CloseApplications=&खुद हि अनुप्रयोग कों बन्द करें +DontCloseApplications=अनुप्रयोग कों बन्द &नहि करें +ErrorCloseApplications=स्थापना खुद हि सभी अनुप्रयोगों को बन्द नहि कर सका. आपको यह मसवरा दिया जाता है कि स्थापना ने अपडेट करने वाली फाइलों को इस्तमाल कर रहे अनुप्रयोगौं को आगे बढ्ने से पहले आप खुद ही बन्द करें. + +; "Installing" wizard page +WizardInstalling=अधिष्ठापन हो रहा है. +InstallingLabel=जब तक स्थापना आपके कल्पयन्त्र में [name] अधिष्ठापन करता है, उस वख्त तक कृपया प्रतीक्षा करे. + +; "Setup Completed" wizard page +FinishedHeadingLabel=[name] स्थापना कि कार्य पूरा हो रहा है. +FinishedLabelNoIcons=स्थापना ने [name] को आपके कल्पयन्त्र में सफलतापूर्वक अधिष्ठापन कर दिया है. +FinishedLabel=स्थापना ने [name] आपके कल्पयन्त्रमें अधिष्ठापन कर दिया है. आप उपयुक्त प्रतिमा पे क्लिक कर के कभी भी ये कार्यक्रम शुरू कर सकते है. +ClickFinish=स्थापना से बाहर निकलने वास्ते समाप्त पे क्लिक करे. +FinishedRestartLabel=[name] का अधिष्ठापन पूरा करने वास्ते कल्पयन्त्र फिर सुरु करना बेहद जरूरी है. %n%nक्या आप अभी रिसुरु करना चाहते है? +FinishedRestartMessage=[name] का अधिष्ठापन पूरा करने हेतु कल्पयन्त्र फिर सुरु करना बेहद जरूरी है.%n%nक्या आप अभी फिर सुरु करना चाहते है? +ShowReadmeCheck=हाँ मुझे हमें पढो file देखनी है. +YesRadio=&हाँ, कल्पयन्त्र फिर सुरु कर दो. +NoRadio=&नही मै अपना कल्पयन्त्र स्वयं बाद में फिर सुरु करूँगा. +; used for example as 'Run MyProg.exe' +RunEntryExec=रन %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=देखे %1 + +; "Setup Needs the Next Disk" stuff +ChangeDiskTitle=स्थापना के लिए अगली डिस्क चाहिए. +SelectDiskLabel2=कृपया डिस्क %1 डालके ठीक दबाए.%n%nयदि इस डिस्क की फाइल नही मिलती तो सही पथ बताए या ब्राउज़ पे क्लिक करे. +PathLabel=पथ: +FileNotInDir2=फाइल "%1" को "%2" में ढुढ नही पाए. कृपया सही डिस्क डाले या अलग फोल्डर चयन करे. +SelectDirectoryLabel=अगली डिस्क का पता बताए. + +; *** Installation phase messages +SetupAborted=स्थापना पूरा नही हो पाया.%n%nकृपया त्रुटी ठीक करे और फिर से प्रयास करे. +EntryAbortRetryIgnore=फिर से प्रयास करने वास्ते Retry दबाए, यदि ऐसे ही आगे बढ़ना है तो Ignore दबाए, या तो स्थापना रद्द करेँ करने वास्ते Abort दबाए. + +; *** Installation status messages +StatusClosingApplications=अनुप्रयोगकों बन्द किया जा रहा है. +StatusCreateDirs=सङ्ग्रहिका बना रहा है... +StatusExtractFiles=फाइल उत्खनन कर रहा है... +StatusCreateIcons=छोटीरास्ता बना रहा है... +StatusCreateIniEntries=INI एंट्री बना रहा है... +StatusCreateRegistryEntries=पञ्जीका एंट्री बना रहा है... +StatusRegisterFiles=फाइल पञ्जिकृत कर रहा है... +StatusSavingUninstall=निस्कासन की सुचनाए बचतकर रहा है... +StatusRunProgram=अधिष्ठापन पूरा कर रहा है... +StatusRestartingApplications=अनुप्रयोगकों कि फिर सुरुवात +StatusRollback=बदलावों को पिछे हट्ने कि काम कर रहा है... + +; *** Misc. errors +ErrorInternal2=आंतरिक त्रुटी: %1 +ErrorFunctionFailedNoCode=%1 विफल +ErrorFunctionFailed=%1 विफल; कोड %2 +ErrorFunctionFailedWithMessage=%1 विफल; कोड %2.%n%3 +ErrorExecutingProgram=फाइल को कार्यान्वयन नही कर पा रहा:%n%1 + +; *** Registry errors +ErrorRegOpenKey=पञ्जीका कुञ्जी खोलते वक्त त्रुटी:%n%1\%2 +ErrorRegCreateKey=पञ्जीका कुञ्जी बनाते वक्त त्रुटी:%n%1\%2 +ErrorRegWriteKey=पञ्जीका कुञ्जी में लिखते वक्त त्रुटी:%n%1\%2 + +; *** INI errors +ErrorIniEntry=फ़ाइल "%1" में INI एंट्री डालते वक्त त्रुटी. + +; *** File copying errors +FileAbortRetryIgnore=फिर से प्रयास करने हेतु Retry बटन दबाए, यदि ऐसे ही आगे बढ़ना है तो Ignore दबाए(हम ऐसा सुजाव नही देते),या तो Abort दबाए अधिष्ठापन को रद्द करेँ करने हेतु. +FileAbortRetryIgnore2=फिर से प्रयास करने हेतु Retry बटन दबाए, यदि ऐसे ही आगे बढ़ना है तो Ignore दबाए(हम ऐसा सुजाव नही देते),या तो Abort दबाए अधिष्ठापन को रद्द करेँ करने हेतु. +SourceIsCorrupted=श्रोत फ़ाइल में गडबड है. +SourceDoesntExist=श्रोत फाइल "%1" मौजूद ही नही है. +ExistingFileReadOnly=मौजदा फ़ाइल सिर्फ-पढो है.%n%n आप Retry पे क्लिक करे, उसका सिर्फ-पढो attribute हटाने के लिए और फिर दोबारा प्रयास करे. यदि इस फाइल को छोड़ देना है तो Ignore, और यदि अधिष्ठापन रद्द करेँ करना है तो Abort बटन दबाए. +ErrorReadingExistingDest=मौजदा फाइल को पढते वक्त त्रुटी: +FileExists=फाइल पहेले से मौजूद है.%n%nक्या आप उसको ओवर-राईट करना चाहते हो? +ExistingFileNewer=मौजूदा फाइल स्थापना फ़ाइल से नई है. हमारा सुजाव है की आप इसे रखे.%n%nक्या आप फ़ाइल को रखना चाहते है? +ErrorChangingAttr=मौजूदा फाइल के एट्रीब्यूट बदलते वक्त त्रुटी: +ErrorCreatingTemp=फ़ाइल बनाते वख्त त्रुटी: +ErrorReadingSource=श्रोत फाइल खोलते वक्त त्रुटी: +ErrorCopying=फ़ाइल प्रति करने का प्रयास करते वक्त त्रुटी: +ErrorReplacingExistingFile=मौजूद फाइल को प्रतिस्थापना करते वक्त त्रुटी: +ErrorRestartReplace=प्रतिस्थापन कि फिर से सुरुवात विफल रहा: +ErrorRenamingTemp=सङ्ग्रहिका में फाइल का नाम बदलते वक्त त्रुटी हुई: +ErrorRegisterServer=इस को पञ्जिकृत नही कर पा रहा DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 असफल हो गयी, बाहर जाने कोड %1 के साथ +ErrorRegisterTypeLib=इस टाइप लाइब्रेरी को पंजीकृत नही कर पा रहा: %1 + +; *** Post-installation errors +ErrorOpeningReadme=मुझे पढो फ़ाइल खोलते वक्त त्रुटी हुई. +ErrorRestartingComputer=स्थापना कल्पयन्त्र को फिर सुरु करने में असफल रहा. कृपया आप ही इसको फिर सुरु करे. + +; *** Uninstaller messages +UninstallNotFound=फाइल "%1" मौजूद ही नही है. निस्कासन करना असंभव. +UninstallOpenError=फ़ाइल "%1" खुल नही रही. निस्कासन करना असंभव. +UninstallUnsupportedVer=निस्कासन लोग फ़ाइल "%1" जिस फोर्मेट में है उसे हम पहचान नही पा रहे. आगे बढ़ना नामुमकिन. +UninstallUnknownEntry=निस्कासन लोग में एक अज्ञात प्रविष्टी (%1)मिली. +ConfirmUninstall=क्या पक्का आप %1 को निस्कासन करना चाहते हो? +UninstallOnlyOnWin64=केवल 64-bit Windows से ही इसे निस्कासन किया जा सकता है. +OnlyAdminCanUninstall=केवल प्रशासक खातों से ही इसे निस्कासन किया जा सकता है.. +UninstallStatusLabel=जब तक %1 नही हड्ता, धैर्य रखे. +UninstalledAll=%1 सफलतापूर्वक निस्कासन हुआ. +UninstalledMost=%1 निस्कासन पूरा हुआ.%n%nकुछ तत्वों को निकाल नही पाए लेकिन आप उन्हें अपनि तरह से हटा सकते हो. +UninstalledAndNeedsRestart=%1 का निस्कासन पूरा करने वास्ते कल्पयन्त्र को फिर सुरु करना जरूरी है.%n%nक्या अभी फिर सुरु करे? +UninstallDataCorrupted=%1 फ़ाइल में त्रुटी. निस्कासन नामुमकिन. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=क्या शेरेड-फाइल को निकाल देना है? +ConfirmDeleteSharedFile2=प्रणाली से ये ज्ञात होता है की निम्नलिखिती शेरेड-फ़ाइल अब आगे इस्तेमाल में नही आएगी. क्या आप उन्हें भी निस्कासन करना चाहते है?%n%n यदि कोई अन्य कार्यक्रम इन फाइल पे आधारित है तो वो शायद इन्हें निकाल देने पर ढंग से काम ना भी करे. यदि आप फैसला नही कर पा रहे तो 'नही' पे क्लिक करे. इन फाइल को कल्पयन्त्र में पड़े रहेने दोगे तो भी कोई नुकसान नही होगा. +SharedFileNameLabel=फाइल नाम: +SharedFileLocationLabel=पता: +WizardUninstalling=निस्कासन स्थिति +StatusUninstalling=निस्कासन हो रहा है %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp= %1 कि अधिष्ठआपन हो रही है. +ShutdownBlockReasonUninstallingApp=%1 कि निस्कासन हो रही है. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 संस्करण %2 +AdditionalIcons=अतिरिक्त प्रतिमा: +CreateDesktopIcon=डेस्कटॉप प्रतिमा बनाए +CreateQuickLaunchIcon=जल्दि चलो प्रतिमा बनाए +ProgramOnTheWeb=%1 इन्टरनेट पे +UninstallProgram=निस्कासन करे %1 +LaunchProgram=लोंच करे %1 +AssocFileExtension=%1 को %2 फ़ाइल एक्सटेंशन के साथ आबद्ध करे +AssocingFileExtension=%1 को %2 फ़ाइल एक्सटेंशन के साथ आबद्ध कर रहा है.... +AutoStartProgramGroupDescription=सुरुवात +AutoStartProgram=%1 को %2 फ़ाइल एक्सटेंशन के साथ आबद्ध कर रहा है.... +AddonHostProgramNotFound=आपने चयन किया हुआफोल्डर में %1 नही मिला. %n%nक्या आप किसि हालत में यस कि निरन्तरता रख्ना चाहते है ? diff --git a/Greenshot/releases/innosetup/Languages/Hungarian.isl b/Greenshot/releases/innosetup/Languages/Hungarian.isl new file mode 100644 index 000000000..7fdee0b99 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Hungarian.isl @@ -0,0 +1,366 @@ +;Inno Setup version 6.0.3+ Hungarian messages +;Based on the translation of Kornl Pl, kornelpal@gmail.com +;Istvn Szab, E-mail: istvanszabo890629@gmail.com +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Magyar +LanguageID=$040E +LanguageCodePage=1250 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial CE +;TitleFontSize=29 +;CopyrightFontName=Arial CE +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Telept +SetupWindowTitle=%1 - Telept +UninstallAppTitle=Eltvolt +UninstallAppFullTitle=%1 Eltvolt + +; *** Misc. common +InformationTitle=Informcik +ConfirmTitle=Megerst +ErrorTitle=Hiba + +; *** SetupLdr messages +SetupLdrStartupMessage=%1 teleptve lesz. Szeretn folytatni? +LdrCannotCreateTemp=tmeneti fjl ltrehozsa nem lehetsges. A telepts megszaktva +LdrCannotExecTemp=Fjl futattsa nem lehetsges az tmeneti knyvtrban. A telepts megszaktva +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1.%n%nHiba %2: %3 +SetupFileMissing=A(z) %1 fjl hinyzik a telept knyvtrbl. Krem hrtsa el a problmt, vagy szerezzen be egy msik pldnyt a programbl! +SetupFileCorrupt=A teleptsi fjlok srltek. Krem, szerezzen be j msolatot a programbl! +SetupFileCorruptOrWrongVer=A teleptsi fjlok srltek, vagy inkompatibilisek a telept ezen verzijval. Hrtsa el a problmt, vagy szerezzen be egy msik pldnyt a programbl! +InvalidParameter=A parancssorba tadott paramter rvnytelen:%n%n%1 +SetupAlreadyRunning=A Telept mr fut. +WindowsVersionNotSupported=A program nem tmogatja a Windows ezen verzijt. +WindowsServicePackRequired=A program futtatshoz %1 Service Pack %2 vagy jabb szksges. +NotOnThisPlatform=Ez a program nem futtathat %1 alatt. +OnlyOnThisPlatform=Ezt a programot %1 alatt kell futtatni. +OnlyOnTheseArchitectures=A program kizrlag a kvetkez processzor architektrkhoz tervezett Windows-on telepthet:%n%n%1 +WinVersionTooLowError=A program futtatshoz %1 %2 verzija vagy ksbbi szksges. +WinVersionTooHighError=Ez a program nem telepthet %1 %2 vagy ksbbire. +AdminPrivilegesRequired=Csak rendszergazdai mdban telepthet ez a program. +PowerUserPrivilegesRequired=Csak rendszergazdaknt vagy kiemelt felhasznlknt telepthet ez a program. +SetupAppRunningError=A telept gy szlelte %1 jelenleg fut.%n%nZrja be az sszes pldnyt, majd kattintson az 'OK'-ra a folytatshoz, vagy a 'Mgse'-re a kilpshez. +UninstallAppRunningError=Az eltvolt gy szlelte %1 jelenleg fut.%n%nZrja be az sszes pldnyt, majd kattintson az 'OK'-ra a folytatshoz, vagy a 'Mgse'-re a kilpshez. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=Teleptsi md kivlasztsa +PrivilegesRequiredOverrideInstruction=Vlasszon teleptsi mdot +PrivilegesRequiredOverrideText1=%1 telepthet az sszes felhasznlnak (rendszergazdai jogok szksgesek), vagy csak magnak. +PrivilegesRequiredOverrideText2=%1 csak magnak telepthet, vagy az sszes felhasznlnak (rendszergazdai jogok szksgesek). +PrivilegesRequiredOverrideAllUsers=Telepts &mindenkinek +PrivilegesRequiredOverrideAllUsersRecommended=Telepts &mindenkinek (ajnlott) +PrivilegesRequiredOverrideCurrentUser=Telepts csak &nekem +PrivilegesRequiredOverrideCurrentUserRecommended=Telepts csak &nekem (ajnlott) + +; *** Misc. errors +ErrorCreatingDir=A Telept nem tudta ltrehozni a(z) "%1" knyvtrat +ErrorTooManyFilesInDir=Nem hozhat ltre fjl a(z) "%1" knyvtrban, mert az mr tl sok fjlt tartalmaz + +; *** Setup common messages +ExitSetupTitle=Kilps a teleptbl +ExitSetupMessage=A telepts mg folyamatban van. Ha most kilp, a program nem kerl teleptsre.%n%nMsik alkalommal is futtathat a telepts befejezshez%n%nKilp a teleptbl? +AboutSetupMenuItem=&Nvjegy... +AboutSetupTitle=Telept nvjegye +AboutSetupMessage=%1 %2 verzi%n%3%n%nAz %1 honlapja:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Vissza +ButtonNext=&Tovbb > +ButtonInstall=&Telept +ButtonOK=OK +ButtonCancel=Mgse +ButtonYes=&Igen +ButtonYesToAll=&Mindet +ButtonNo=&Nem +ButtonNoToAll=&Egyiket se +ButtonFinish=&Befejezs +ButtonBrowse=&Tallzs... +ButtonWizardBrowse=T&allzs... +ButtonNewFolder=j &knyvtr + +; *** "Select Language" dialog messages +SelectLanguageTitle=Telept nyelvi bellts +SelectLanguageLabel=Vlassza ki a telepts alatt hasznlt nyelvet. + +; *** Common wizard text +ClickNext=A folytatshoz kattintson a 'Tovbb'-ra, a kilpshez a 'Mgse'-re. +BeveledLabel= +BrowseDialogTitle=Vlasszon knyvtrt +BrowseDialogLabel=Vlasszon egy knyvtrat az albbi listbl, majd kattintson az 'OK'-ra. +NewFolderName=j knyvtr + +; *** "Welcome" wizard page +WelcomeLabel1=dvzli a(z) [name] Teleptvarzslja. +WelcomeLabel2=A(z) [name/ver] teleptsre kerl a szmtgpn.%n%nAjnlott minden, egyb fut alkalmazs bezrsa a folytats eltt. + +; *** "Password" wizard page +WizardPassword=Jelsz +PasswordLabel1=Ez a telepts jelszval vdett. +PasswordLabel3=Krem adja meg a jelszt, majd kattintson a 'Tovbb'-ra. A jelszavak kis- s nagy bet rzkenyek lehetnek. +PasswordEditLabel=&Jelsz: +IncorrectPassword=Az n ltal megadott jelsz helytelen. Prblja jra. + +; *** "License Agreement" wizard page +WizardLicense=Licencszerzds +LicenseLabel=Olvassa el figyelmesen az informcikat folytats eltt. +LicenseLabel3=Krem, olvassa el az albbi licencszerzdst. A telepts folytatshoz, el kell fogadnia a szerzdst. +LicenseAccepted=&Elfogadom a szerzdst +LicenseNotAccepted=&Nem fogadom el a szerzdst + +; *** "Information" wizard pages +WizardInfoBefore=Informcik +InfoBeforeLabel=Olvassa el a kvetkez fontos informcikat a folytats eltt. +InfoBeforeClickLabel=Ha kszen ll, kattintson a 'Tovbb'-ra. +WizardInfoAfter=Informcik +InfoAfterLabel=Olvassa el a kvetkez fontos informcikat a folytats eltt. +InfoAfterClickLabel=Ha kszen ll, kattintson a 'Tovbb'-ra. + +; *** "User Information" wizard page +WizardUserInfo=Felhasznl adatai +UserInfoDesc=Krem, adja meg az adatait +UserInfoName=&Felhasznlnv: +UserInfoOrg=&Szervezet: +UserInfoSerial=&Sorozatszm: +UserInfoNameRequired=Meg kell adnia egy nevet. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Vlasszon clknyvtrat +SelectDirDesc=Hova telepljn a(z) [name]? +SelectDirLabel3=A(z) [name] az albbi knyvtrba lesz teleptve. +SelectDirBrowseLabel=A folytatshoz, kattintson a 'Tovbb'-ra. Ha msik knyvtrat vlasztana, kattintson a 'Tallzs'-ra. +DiskSpaceGBLabel=At least [gb] GB szabad terletre van szksg. +DiskSpaceMBLabel=Legalbb [mb] MB szabad terletre van szksg. +CannotInstallToNetworkDrive=A Telept nem tud hlzati meghajtra telepteni. +CannotInstallToUNCPath=A Telept nem tud hlzati UNC elrsi tra telepteni. +InvalidPath=Teljes tvonalat adjon meg, a meghajt betjelvel; pldul:%n%nC:\Alkalmazs%n%nvagy egy hlzati tvonalat a kvetkez alakban:%n%n\\kiszolgl\megoszts +InvalidDrive=A kivlasztott meghajt vagy hlzati megoszts nem ltezik vagy nem elrhet. Vlasszon egy msikat. +DiskSpaceWarningTitle=Nincs elg szabad terlet +DiskSpaceWarning=A Teleptnek legalbb %1 KB szabad lemezterletre van szksge, viszont a kivlasztott meghajtn csupn %2 KB ll rendelkezsre.%n%nMindenkppen folytatja? +DirNameTooLong=A knyvtr neve vagy az tvonal tl hossz. +InvalidDirName=A knyvtr neve rvnytelen. +BadDirName32=A knyvtrak nevei ezen karakterek egyikt sem tartalmazhatjk:%n%n%1 +DirExistsTitle=A knyvtr mr ltezik +DirExists=A knyvtr:%n%n%1%n%nmr ltezik. Mindenkpp ide akar telepteni? +DirDoesntExistTitle=A knyvtr nem ltezik +DirDoesntExist=A knyvtr:%n%n%1%n%nnem ltezik. Szeretn ltrehozni? + +; *** "Select Components" wizard page +WizardSelectComponents=sszetevk kivlasztsa +SelectComponentsDesc=Mely sszetevk kerljenek teleptsre? +SelectComponentsLabel2=Jellje ki a teleptend sszetevket; trlje a telepteni nem kvnt sszetevket. Kattintson a 'Tovbb'-ra, ha kszen ll a folytatsra. +FullInstallation=Teljes telepts +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Szoksos telepts +CustomInstallation=Egyni telepts +NoUninstallWarningTitle=Ltez sszetev +NoUninstallWarning=A telept gy tallta, hogy a kvetkez sszetevk mr teleptve vannak a szmtgpre:%n%n%1%n%nEzen sszetevk kijellsnek trlse, nem tvoltja el azokat a szmtgprl.%n%nMindenkppen folytatja? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=A jelenlegi kijells legalbb [gb] GB lemezterletet ignyel. +ComponentsDiskSpaceMBLabel=A jelenlegi kijells legalbb [mb] MB lemezterletet ignyel. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Tovbbi feladatok +SelectTasksDesc=Mely kiegszt feladatok kerljenek vgrehajtsra? +SelectTasksLabel2=Jellje ki, mely kiegszt feladatokat hajtsa vgre a Telept a(z) [name] teleptse sorn, majd kattintson a 'Tovbb'-ra. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Start Men knyvtra +SelectStartMenuFolderDesc=Hova helyezze a Telept a program parancsikonjait? +SelectStartMenuFolderLabel3=A Telept a program parancsikonjait a Start men kvetkez mappjban fogja ltrehozni. +SelectStartMenuFolderBrowseLabel=A folytatshoz kattintson a 'Tovbb'-ra. Ha msik mappt vlasztana, kattintson a 'Tallzs'-ra. +MustEnterGroupName=Meg kell adnia egy mappanevet. +GroupNameTooLong=A knyvtr neve vagy az tvonal tl hossz. +InvalidGroupName=A knyvtr neve rvnytelen. +BadGroupName=A knyvtrak nevei ezen karakterek egyikt sem tartalmazhatjk:%n%n%1 +NoProgramGroupCheck2=&Ne hozzon ltre mappt a Start menben + +; *** "Ready to Install" wizard page +WizardReady=Kszen llunk a teleptsre +ReadyLabel1=A Telept kszen ll, a(z) [name] szmtgpre teleptshez. +ReadyLabel2a=Kattintson a 'Telepts'-re a folytatshoz, vagy a "Vissza"-ra a belltsok ttekintshez vagy megvltoztatshoz. +ReadyLabel2b=Kattintson a 'Telepts'-re a folytatshoz. +ReadyMemoUserInfo=Felhasznl adatai: +ReadyMemoDir=Telepts clknyvtra: +ReadyMemoType=Telepts tpusa: +ReadyMemoComponents=Vlasztott sszetevk: +ReadyMemoGroup=Start men mappja: +ReadyMemoTasks=Kiegszt feladatok: + +; *** "Preparing to Install" wizard page +WizardPreparing=Felkszls a teleptsre +PreparingDesc=A Telept felkszl a(z) [name] szmtgpre trtn teleptshez. +PreviousInstallNotCompleted=gy korbbi program teleptse/eltvoltsa nem fejezdtt be. jra kell indtania a szmtgpt a msik telepts befejezshez.%n%nA szmtgpe jraindtsa utn ismt futtassa a Teleptt a(z) [name] teleptsnek befejezshez. +CannotContinue=A telepts nem folytathat. A kilpshez kattintson a 'Mgse'-re +ApplicationsFound=A kvetkez alkalmazsok olyan fjlokat hasznlnak, amelyeket a Teleptnek frissteni kell. Ajnlott, hogy engedlyezze a Teleptnek ezen alkalmazsok automatikus bezrst. +ApplicationsFound2=A kvetkez alkalmazsok olyan fjlokat hasznlnak, amelyeket a Teleptnek frissteni kell. Ajnlott, hogy engedlyezze a Teleptnek ezen alkalmazsok automatikus bezrst. A telepts befejezse utn a Telept megksrli az alkalmazsok jraindtst. +CloseApplications=&Alkalmazsok automatikus bezrsa +DontCloseApplications=&Ne zrja be az alkalmazsokat +ErrorCloseApplications=A Telept nem tudott minden alkalmazst automatikusan bezrni. A folytats eltt ajnlott minden, a Telept ltal frisstend fjlokat hasznl alkalmazst bezrni. +PrepareToInstallNeedsRestart=A teleptnek jra kell indtania a szmtgpet. jaindtst kveten, futassa jbl a teleptt, a [name] teleptsnek befejezshez .%n%njra szeretn indtani most a szmtgpet? + +; *** "Installing" wizard page +WizardInstalling=Telepts +InstallingLabel=Krem vrjon, amg a(z) [name] teleptse zajlik. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=A(z) [name] teleptsnek befejezse +FinishedLabelNoIcons=A Telept vgzett a(z) [name] teleptsvel. +FinishedLabel=A Telept vgzett a(z) [name] teleptsvel. Az alkalmazst a ltrehozott ikonok kivlasztsval indthatja. +ClickFinish=Kattintson a 'Befejezs'-re a kilpshez. +FinishedRestartLabel=A(z) [name] teleptsnek befejezshez jra kell indtani a szmtgpet. jraindtja most? +FinishedRestartMessage=A(z) [name] teleptsnek befejezshez, a Teleptnek jra kell indtani a szmtgpet.%n%njraindtja most? +ShowReadmeCheck=Igen, szeretnm elolvasni a FONTOS fjlt +YesRadio=&Igen, jraindts most +NoRadio=&Nem, ksbb indtom jra +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 futtatsa +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 megtekintse + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=A Teleptnek szksge van a kvetkez lemezre +SelectDiskLabel2=Helyezze be a(z) %1. lemezt s kattintson az 'OK'-ra.%n%nHa a fjlok a lemez egy a megjelentettl klnbz mappjban tallhatk, rja be a helyes tvonalat vagy kattintson a 'Tallzs'-ra. +PathLabel=&tvonal: +FileNotInDir2=A(z) "%1" fjl nem tallhat a kvetkez helyen: "%2". Helyezze be a megfelel lemezt vagy vlasszon egy msik mappt. +SelectDirectoryLabel=Adja meg a kvetkez lemez helyt. + +; *** Installation phase messages +SetupAborted=A telepts nem fejezdtt be.%n%nHrtsa el a hibt s futtassa jbl a Teleptt. +AbortRetryIgnoreSelectAction=Vlasszon mveletet +AbortRetryIgnoreRetry=&jra +AbortRetryIgnoreIgnore=&Hiba elvetse s folytats +AbortRetryIgnoreCancel=Telepts megszaktsa + +; *** Installation status messages +StatusClosingApplications=Alkalmazsok bezrsa... +StatusCreateDirs=Knyvtrak ltrehozsa... +StatusExtractFiles=Fjlok kibontsa... +StatusCreateIcons=Parancsikonok ltrehozsa... +StatusCreateIniEntries=INI bejegyzsek ltrehozsa... +StatusCreateRegistryEntries=Rendszerler bejegyzsek ltrehozsa... +StatusRegisterFiles=Fjlok regisztrlsa... +StatusSavingUninstall=Eltvolt informcik mentse... +StatusRunProgram=Telepts befejezse... +StatusRestartingApplications=Alkalmazsok jraindtsa... +StatusRollback=Vltoztatsok visszavonsa... + +; *** Misc. errors +ErrorInternal2=Bels hiba: %1 +ErrorFunctionFailedNoCode=Sikertelen %1 +ErrorFunctionFailed=Sikertelen %1; kd: %2 +ErrorFunctionFailedWithMessage=Sikertelen %1; kd: %2.%n%3 +ErrorExecutingProgram=Nem hajthat vgre a fjl:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Nem nyithat meg a rendszerler kulcs:%n%1\%2 +ErrorRegCreateKey=Nem hozhat ltre a rendszerler kulcs:%n%1\%2 +ErrorRegWriteKey=Nem mdosthat a rendszerler kulcs:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Bejegyzs ltrehozsa sikertelen a kvetkez INI fjlban: "%1". + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=&Fjl kihagysa (nem ajnlott) +FileAbortRetryIgnoreIgnoreNotRecommended=&Hiba elvetse s folytats (nem ajnlott) +SourceIsCorrupted=A forrsfjl megsrlt +SourceDoesntExist=A(z) "%1" forrsfjl nem ltezik +ExistingFileReadOnly2=A fjl csak olvashatknt van jellve. +ExistingFileReadOnlyRetry=Csak &olvashat tulajdonsg eltvoltsa s jra prblkozs +ExistingFileReadOnlyKeepExisting=&Ltez fjl megtartsa +ErrorReadingExistingDest=Hiba lpett fel a fjl olvassa kzben: +FileExists=A fjl mr ltezik.%n%nFell kvnja rni? +ExistingFileNewer=A ltez fjl jabb a teleptsre kerlnl. Ajnlott a ltez fjl megtartsa.%n%nMeg kvnja tartani a ltez fjlt? +ErrorChangingAttr=Hiba lpett fel a fjl attribtumnak mdostsa kzben: +ErrorCreatingTemp=Hiba lpett fel a fjl teleptsi knyvtrban trtn ltrehozsa kzben: +ErrorReadingSource=Hiba lpett fel a forrsfjl olvassa kzben: +ErrorCopying=Hiba lpett fel a fjl msolsa kzben: +ErrorReplacingExistingFile=Hiba lpett fel a ltez fjl cserje kzben: +ErrorRestartReplace=A fjl cserje az jraindts utn sikertelen volt: +ErrorRenamingTemp=Hiba lpett fel fjl teleptsi knyvtrban trtn tnevezse kzben: +ErrorRegisterServer=Nem lehet regisztrlni a DLL-t/OCX-et: %1 +ErrorRegSvr32Failed=Sikertelen RegSvr32. A visszaadott kd: %1 +ErrorRegisterTypeLib=Nem lehet regisztrlni a tpustrat: %1 + +; *** Uninstall display name markings +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bit +UninstallDisplayNameMark64Bit=64-bit +UninstallDisplayNameMarkAllUsers=Minden felhasznl +UninstallDisplayNameMarkCurrentUser=Jelenlegi felhasznl + +; *** Post-installation errors +ErrorOpeningReadme=Hiba lpett fel a FONTOS fjl megnyitsa kzben. +ErrorRestartingComputer=A Telept nem tudta jraindtani a szmtgpet. Indtsa jra kzileg. + +; *** Uninstaller messages +UninstallNotFound=A(z) "%1" fjl nem ltezik. Nem tvolthat el. +UninstallOpenError=A(z) "%1" fjl nem nyithat meg. Nem tvolthat el +UninstallUnsupportedVer=A(z) "%1" eltvoltsi naplfjl formtumt nem tudja felismerni az eltvolt jelen verzija. Az eltvolts nem folytathat +UninstallUnknownEntry=Egy ismeretlen bejegyzs (%1) tallhat az eltvoltsi naplfjlban +ConfirmUninstall=Biztosan el kvnja tvoltani a(z) %1 programot s minden sszetevjt? +UninstallOnlyOnWin64=Ezt a teleptst csak 64-bites Windowson lehet eltvoltani. +OnlyAdminCanUninstall=Ezt a teleptst csak adminisztrcis jogokkal rendelkez felhasznl tvolthatja el. +UninstallStatusLabel=Legyen trelemmel, amg a(z) %1 szmtgprl trtn eltvoltsa befejezdik. +UninstalledAll=A(z) %1 sikeresen el lett tvoltva a szmtgprl. +UninstalledMost=A(z) %1 eltvoltsa befejezdtt.%n%nNhny elemet nem lehetetett eltvoltani. Trlje kzileg. +UninstalledAndNeedsRestart=A(z) %1 eltvoltsnak befejezshez jra kell indtania a szmtgpt.%n%njraindtja most? +UninstallDataCorrupted=A(z) "%1" fjl srlt. Nem tvolthat el. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Trli a megosztott fjlt? +ConfirmDeleteSharedFile2=A rendszer azt jelzi, hogy a kvetkez megosztott fjlra mr nincs szksge egyetlen programnak sem. Eltvoltja a megosztott fjlt?%n%nHa ms programok mg mindig hasznljk a megosztott fjlt, akkor az eltvoltsa utn lehet, hogy nem fognak megfelelen mkdni. Ha bizonytalan, vlassza a Nemet. A fjl megtartsa nem okoz problmt a rendszerben. +SharedFileNameLabel=Fjlnv: +SharedFileLocationLabel=Helye: +WizardUninstalling=Eltvolts llapota +StatusUninstalling=%1 eltvoltsa... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 teleptse. +ShutdownBlockReasonUninstallingApp=%1 eltvoltsa. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1, verzi: %2 +AdditionalIcons=Tovbbi parancsikonok: +CreateDesktopIcon=&Asztali ikon ltrehozsa +CreateQuickLaunchIcon=&Gyorsindts parancsikon ltrehozsa +ProgramOnTheWeb=%1 az interneten +UninstallProgram=Eltvolts - %1 +LaunchProgram=Indts %1 +AssocFileExtension=A(z) %1 &trstsa a(z) %2 fjlkiterjesztssel +AssocingFileExtension=A(z) %1 trstsa a(z) %2 fjlkiterjesztssel... +AutoStartProgramGroupDescription=Indtpult: +AutoStartProgram=%1 automatikus indtsa +AddonHostProgramNotFound=A(z) %1 nem tallhat a kivlasztott knyvtrban.%n%nMindenkppen folytatja? diff --git a/Greenshot/releases/innosetup/Languages/Indonesian.isl b/Greenshot/releases/innosetup/Languages/Indonesian.isl new file mode 100644 index 000000000..b86e81e26 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Indonesian.isl @@ -0,0 +1,364 @@ +; *** Inno Setup version 6.0.3+ Indonesian messages *** +; +; Untuk mengunduh berkas terjemahan hasil konstribusi pengguna, kunjungi: +; http://www.jrsoftware.org/files/istrans/ +; +; Alih bahasa oleh: MozaikTM (mozaik.tm@gmail.com) +; +; Catatan: Saat menerjemahkan pesan ini, jangan masukkan titik (.) pada +; akhir pesan tanpa titik, karena Inno Setup menambahkan titik pada pesan tersebut +; secara otomatis (menambahkan sebuah titik akan memunculkan dua titik). + +[LangOptions] +; Tiga baris berikut sangat penting. Pastikan untuk membaca dan +; memahami topik 'bagian [LangOption]' dalam berkas bantuan. +LanguageName=Bahasa Indonesia +LanguageID=$0421 +LanguageCodePage=0 +; Bila target bahasa Anda memerlukan fon atau ukuran khusus, +; hapus tanda komentar (;) dari salah satu atau beberapa baris berikut dan ubah seperlunya. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Judul aplikasi +SetupAppTitle=Pemasang +SetupWindowTitle=Pemasangan %1 +UninstallAppTitle=Pelepas +UninstallAppFullTitle=Pelepasan %1 + +; *** Misc. common +InformationTitle=Informasi +ConfirmTitle=Konfirmasi +ErrorTitle=Ada Masalah + +; *** Pesan untuk SetupLdr +SetupLdrStartupMessage=Kami akan memasang %1. Lanjutkan? +LdrCannotCreateTemp=Tidak dapat membuat berkas sementara. Pemasangan dibatalkan +LdrCannotExecTemp=Tidak dapat mengeksekusi berkas di dalam direktori sementara. Pemasangan dibatalkan +HelpTextNote= + +; *** Pesan kesalahan saat memuat Pemasang +LastErrorMessage=%1.%n%nKesalahan %2: %3 +SetupFileMissing=Berkas %1 hilang dari lokasi pemasangan. Silakan selesaikan masalah atau dapatkan salinan baru dari pemasang ini. +SetupFileCorrupt=Berkas Pemasang telah rusak. Silakan dapatkan salinan baru dari pemasang ini. +SetupFileCorruptOrWrongVer=Berkas-berkas pemasang telah rusak, atau tidak cocok dengan versi pemasang ini. Silakan selesaikan masalah atau dapatkan salinan baru dari berkas ini. +InvalidParameter=Ada parameter tidak sah pada baris perintah:%n%n%1 +SetupAlreadyRunning=Pemasang sudah berjalan. +WindowsVersionNotSupported=Program ini tidak mendukung Windows yang terpasang pada komputer ini. +WindowsServicePackRequired=Program ini memerlukan %1 Service Pack %2 atau yang terbaru. +NotOnThisPlatform=Program ini tidak akan berjalan pada %1. +OnlyOnThisPlatform=Program ini harus dijalankan pada %1. +OnlyOnTheseArchitectures=Program ini hanya dapat dipasang pada versi Windows yang didesain untuk arsitektur prosesor berikut:%n%n%1 +WinVersionTooLowError=Program ini memerlukan %1 versi %2 atau yang terbaru. +WinVersionTooHighError=Program ini tidak dapat dipasang pada %1 versi %2 atau yang terbaru. +AdminPrivilegesRequired=Anda wajib masuk sebagai seorang administrator saat memasang program ini. +PowerUserPrivilegesRequired=Anda wajib masuk sebagai seorang administrator atau pengguna dari grup Power Users saat memasang program ini. +SetupAppRunningError=Pemasang mendeteksi bahwa %1 sedang berjalan.%n%nSilakan tutup semua program terkait, kemudian klik OK untuk lanjut, atau Batal untuk keluar. +UninstallAppRunningError=Pelepas mendeteksi bahwa %1 sedang berjalan.%n%nSilakan tutup semua program terkait, kemudian klik OK untuk lanjut, atau Batal untuk keluar. + +; *** Pertanyaan saat memuat Pemasang +PrivilegesRequiredOverrideTitle=Pilih Mode Pemasang +PrivilegesRequiredOverrideInstruction=Pilih mode pemasangan +PrivilegesRequiredOverrideText1=%1 bisa dipasang untuk semua pengguna (perlu izin administratif), atau hanya untuk Anda. +PrivilegesRequiredOverrideText2=%1 bisa dipasang hanya untuk Anda, atau untuk semua pengguna (perlu izin administratif). +PrivilegesRequiredOverrideAllUsers=Pasang untuk &semua pengguna +PrivilegesRequiredOverrideAllUsersRecommended=Pasang untuk &semua pengguna (disarankan) +PrivilegesRequiredOverrideCurrentUser=Pasang hanya untuk saya +PrivilegesRequiredOverrideCurrentUserRecommended=Pasang hanya untuk saya (disarankan) + +; *** Macam-macam galat +ErrorCreatingDir=Pemasang tidak dapat membuat direktori "%1" +ErrorTooManyFilesInDir=Tidak dapat membuat berkas dalam direktori "%1" karena berisi terlalu banyak berkas. + +; *** Pesan umum pada Pemasamg +ExitSetupTitle=Tutup Pemasang +ExitSetupMessage=Pemasangan tidak lengkap. Bila Anda keluar sekarang, program tidak akan terpasang.%n%nAnda dapat menjalankan kembali Pemasang ini lain kali untuk melengkapi pemasangan.%n%nTutup Pemasang? +AboutSetupMenuItem=&Tentang Pemasang .... +AboutSetupTitle=Tentang Pemasang +AboutSetupMessage=%1 versi %2%n%3%n%n%1 laman muka:%n%4 +AboutSetupNote= +TranslatorNote=Bila Anda menemukan typo (kesalahan pengetikan), terjemahan yang salah atau kurang tepat, atau Anda ingin mendapatkan terjemahan untuk versi lawas, silakan kirimkan surel (email) ke mozaik(dot)tm(at)gmail(dot)com + +; *** Tombol-tombol +ButtonBack=< &Sebelumnya +ButtonNext=&Berikutnya > +ButtonInstall=&Pasang +ButtonOK=OK +ButtonCancel=Batal +ButtonYes=&Iya +ButtonYesToAll=Iya &semuanya +ButtonNo=&Tidak +ButtonNoToAll=&Tidak semuanya +ButtonFinish=&Selesai +ButtonBrowse=&Jelajahi .... +ButtonWizardBrowse=J&elajahi .... +ButtonNewFolder=&Buat Map Baru + +; *** Halaman "Pilih Bahasa" +SelectLanguageTitle=Pilih Bahasa Pemasang +SelectLanguageLabel=Pilih bahasa untuk digunakan selama pemasangan. + +; *** Pesan umum pada Pemasang +ClickNext=Klik Berikutnya untuk melanjutkan, atau Batal untuk menutup Pemasang. +BeveledLabel= +BrowseDialogTitle=Pilih Map +BrowseDialogLabel=Pilih satu map dalam daftar di bawah, kemudian klik OK. +NewFolderName=Map Baru + +; *** Halaman "Selamat Datang" +WelcomeLabel1=Selamat datang di Asisten Pemasangan [name] +WelcomeLabel2=Kami akan memasang [name/ver] pada komputer Anda.%n%nAnda disarankan untuk menutup semua aplikasi sebelum melanjutkan. + +; *** Halaman "Kata Sandi" +WizardPassword=Kata Sandi +PasswordLabel1=Pemasang ini dilindungi kata sandi. +PasswordLabel3=Silakan masukkan kata sandi, lalu klik Berikutnya untuk melanjutkan. Kata sandi bersifat sensitif kapitalisasi. +PasswordEditLabel=&Kata Sandi: +IncorrectPassword=Kata sandi yang Anda masukkan salah. Silakan coba lagi. + +; *** Halaman "Kesepakatan Lisensi" +WizardLicense=Kesepakatan Lisensi +LicenseLabel=Silakan baca informasi penting berikut sebelum melanjutkan. +LicenseLabel3=Silakan baca Kesepakatan Lisensi berikut. Anda wajib menyetujui syarat-syarat kesepakatan ini sebelum melanjutkan pemasangan. +LicenseAccepted=Saya &setuju dengan kesepakatan ini +LicenseNotAccepted=Saya &tidak setuju dengan kesepakatan ini + +; *** Halaman "Informasi" +WizardInfoBefore=Informasi +InfoBeforeLabel=Silakan baca informasi penting berikut sebelum melanjutkan. +InfoBeforeClickLabel=Bila Anda sudah siap melanjutkan pemasangan, klik Berikutnya. +WizardInfoAfter=Informasi +InfoAfterLabel=Silakan baca informasi penting berikut sebelum melanjutkan. +InfoAfterClickLabel=Bila Anda sudah siap melanjutkan pemasangan, klik Berikutnya. + +; *** Halaman "Informasi Pengguna" +WizardUserInfo=Informasi Pengguna +UserInfoDesc=Silakan masukkan informasi Anda. +UserInfoName=&Nama Pengguna: +UserInfoOrg=&Organisasi: +UserInfoSerial=Nomor Seri: +UserInfoNameRequired=Anda wajib memasukkan nama. + +; *** Halaman "Pilih Lokasi Pemasangan" +WizardSelectDir=Pilih Lokasi Pemasangan +SelectDirDesc=Di manakah [name] sebaiknya dipasang? +SelectDirLabel3=Kami akan memasang [name] di dalam map berikut. +SelectDirBrowseLabel=Klik Berikutnya untuk melanjutkan. Bila Anda ingin memilih map lain, klik Jelajahi. +DiskSpaceGBLabel=Diperlukan sedikitnya [gb] GB ruang kosong. +DiskSpaceMBLabel=Diperlukan sedikitnya [mb] MB ruang kosong. +CannotInstallToNetworkDrive=Kami tidak dapat memasang pada kandar jaringan. +CannotInstallToUNCPath=Kami tidak dapat memasang pada lokasi UNC. +InvalidPath=Anda wajib memasukkan lokasi map lengkap dengan nama kandar; misalnya:%n%nC:\APP%n%natau sebuah alamat UNC dengan format:%n%n\\server\share +InvalidDrive=Kandar atau alamat UNC yang Anda pilih tidak ada atau tidak dapat diakses. Silakan pilih yang lain. +DiskSpaceWarningTitle=Ruang Kosong Tidak Mencukupi +DiskSpaceWarning=Pemasang memerlukan sedikitnya %1 KB ruang kosong, tetapi kandar terpilih hanya memiliki %2 KB tersedia.%n%nTetap lanjutkan? +DirNameTooLong=Alamat atau nama map terlalu panjang. +InvalidDirName=Nama map ini tidak sah. +BadDirName32=Nama map dilarang berisi karakter berikut:%n%n%1 +DirExistsTitle=Map Sudah Ada +DirExists=Map:%n%n%1%n%nsudah ada. Tetap pasang di map tersebut? +DirDoesntExistTitle=Map Belum Ada +DirDoesntExist=Map:%n%n%1%n%nbelum ada. Buat map tersebut? + +; *** Halaman "Pilih Komponen" +WizardSelectComponents=Pilih Komponen +SelectComponentsDesc=Komponen mana sajakah yang sebaiknya dipasang? +SelectComponentsLabel2=Pilih komponen-komponen yang Anda ingin pasang; hapus centang pada komponen yang Anda tidak ingin pasang. Klik Berikutnya bila Anda siap melanjutkan. +FullInstallation=Pasang secara penuh +; kalau bisa, jangan terjemahkan "Padat" (Compact) menjadi "Minimal". Maksudnya, "Minimal" dalam bahasa Anda +CompactInstallation=Pemasangan Padat +CustomInstallation=Suka-suka saya +NoUninstallWarningTitle=Komponen Sudah Ada +NoUninstallWarning=Kami mendeteksi bahwa komponen-komponen berikut sudah terpasang pada komputer Anda:%n%n%1%n%nKomponen-komponen tersebut tidak akan dihapus walau Anda batal memilihnya.%n%nTetap lanjutkan? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceGBLabel=Pilihan Anda saat ini memerlukan sedikitnya [gb] GB ruang kosong. +ComponentsDiskSpaceMBLabel=Pilihan Anda saat ini memerlukan sedikitnya [mb] MB ruang kosong. + +; *** Halaman "Pilih Tugas Tambahan" +WizardSelectTasks=Pilih Tugas Tambahan +SelectTasksDesc=Tugas tambahan mana sajakah yang Anda ingin jalankan? +SelectTasksLabel2=Pilih tugas tambahan yang Anda ingin agar kami jalankan saat memasang [name], lalu klik Berikutnya. + +; *** Halaman "Pilih Map Menu Start" +WizardSelectProgramGroup=Pilih Map Menu Start +SelectStartMenuFolderDesc=Di manakah sebaiknya kami menempatkan pintasan program? +SelectStartMenuFolderLabel3=Kami akan membuat pintasan program di dalam map Menu Start berikut. +SelectStartMenuFolderBrowseLabel=Klik Berikutnya untuk melanjutkan. Bila Anda ingin memilih map lain, klik Jelajahi. +MustEnterGroupName=Anda wajib memasukkan nama map. +GroupNameTooLong=Alamat atau nama map terlalu panjang. +InvalidGroupName=Nama map tidak sah. +BadGroupName=Nama map dilarang berisi karakter berikut:%n%n%1 +NoProgramGroupCheck2=&Jangan buat map Menu Start + +; *** Halaman "Siap Memasang" +WizardReady=Siap Memasang +ReadyLabel1=Kami telah siap untuk mulai memasang [name] pada komputer Anda. +ReadyLabel2a=Klik Pasang untuk melanjutkan dengan pengaturan yang Anda pilih, atau klik Sebelumnya bila Anda ingin melihat ulang atau mengubah pengaturan. +ReadyLabel2b=Klik Pasang untuk melanjutkan dengan pengaturan yang Anda pilih +ReadyMemoUserInfo=Informasi pengguna: +ReadyMemoDir=Lokasi pemasangan: +ReadyMemoType=Jenis pemasangan: +ReadyMemoComponents=Komponen terpilih: +ReadyMemoGroup=Map Menu Start: +ReadyMemoTasks=Tugas Tambahan: + +; *** Halaman "Bersiap Memasang" +WizardPreparing=Bersiap Memasang +PreparingDesc=Kami sedang bersiap memasang [name] pada komputer Anda. +PreviousInstallNotCompleted=Pemasangan/pelepasan dari program sebelumnya tidaklah lengkap. Anda perlu memulai ulang komputer untuk melengkapi pemasangan tersebut.%n%nSeusai memulai ulang komputer, jalankan Pemasang ini lagi untuk melengkapi pemasangan [name]. +CannotContinue=Kami tidak dapat melanjutkan. Silakan klik Batal untuk keluar. +ApplicationsFound=Aplikasi-aplikasi berikut sedang memakai berkas-berkas yang perlu diperbarui oleh kami. Disarankan agar Anda mengizinkan kami untuk menutup aplikasi-aplikasi tersebut secara otomatis. +ApplicationsFound2=Aplikasi-aplikasi berikut sedang memakai berkas-berkas yang perlu diperbaru oleh kami. Disarankan agar Anda mengizinkan kami untuk menutup aplikasi-aplikasi tersebut secara otomatis. Seusai memasang, kami akan berusaha menjalankan ulang aplikasi-aplikasi tersebut. +CloseApplications=&Otomatis tutup aplikasi-aplikasi tersebut +DontCloseApplications=&Jangan tutup aplikasi-aplikasi tersebut +ErrorCloseApplications=Kami tidak dapat menutup semua aplikasi tersebut secara otomatis. Disarankan agar Anda menutup semua aplikasi yang memakai berkas-berkas yang perlu kami perbarui sebelum melanjutkan. +PrepareToInstallNeedsRestart=Kami harus memulai ulang komputer Anda. Seusai memulai ulang, jalankan kembali Pemasang ini untuk melengkapi pemasangan [name].%n%nMulai ulang sekarang? + +; *** Halaman "Memasang" +WizardInstalling=Memasang +InstallingLabel=Silakan tunggu sementara kami memasang [name] pada komputer Anda. + +; *** Halaman "Pemasangan Lengkap" +FinishedHeadingLabel=Menyelesaikan Asisten Pemasangan [name] +FinishedLabelNoIcons=Kami telah selesai memasang [name] pada komputer Anda. +FinishedLabel=Kami telah selesai memasang [name] pada komputer Anda. Program tersebut dapat dijalankan dengan memilih pintasan yang terpasang. +ClickFinish=Klik Selesai untuk mengakhiri pemasangan. +FinishedRestartLabel=Agar pemasangan [name] lengkap, kami harus memulai ulang komputer Anda. Mulai ulang sekarang? +FinishedRestartMessage=Agar pemasangan [name] lengkap, kami harus memulai ulang komputer Anda.%n%nMulai ulang sekarang? +ShowReadmeCheck=Ya, saya mau membaca berkas README +YesRadio=&Ya, mulai ulang sekarang +NoRadio=&Tidak, saya akan memulai ulang nanti +; contoh: 'Jalankan MyProg.exe' +RunEntryExec=Jalankan %1 +; contoh: 'Lihat Readme.txt' +RunEntryShellExec=Lihat %1 + +; *** Pesan yang berkaitan dengan "Setup Needs the Next Disk" +ChangeDiskTitle=Kami Memerlukan Kandar Lanjutan +SelectDiskLabel2=Silakan masukkan Kandar %1 dan klik OK.%n%nBila berkas-berkas pada kandar ini dapat ditemukan selain pada map berikut, masukkan alamat yang tepat atau klik Jelajahi. +PathLabel=&Alamat: +FileNotInDir2=Berkas "%1" tidak dapat ditemukan di dalam "%2". Silakan masukkan kandar yang tepat atau pilih map lain. +SelectDirectoryLabel=Silakan tunjukkan lokasi kandar lanjutan. + +; *** Pesan untuk fase pemasangan +SetupAborted=Pemasangan tidak lengkap.%n%nSilakan selesaikan masalah dan jalankan Pemasang ini kembali. +AbortRetryIgnoreSelectAction=Pilih tindakan +AbortRetryIgnoreRetry=&Coba lagi +AbortRetryIgnoreIgnore=&Abaikan masalah dan lanjutkan +AbortRetryIgnoreCancel=Batalkan pemasangan + +; *** Pesan untuk status pemasangan +StatusClosingApplications=Menutup aplikasi .... +StatusCreateDirs=Membuat direktori .... +StatusExtractFiles=Mengekstrak berkas .... +StatusCreateIcons=Membuat pintasan .... +StatusCreateIniEntries=Membuat isi berkas INI ... +StatusCreateRegistryEntries=Membuat daftar registri .... +StatusRegisterFiles=Mendaftarkan berkas .... +StatusSavingUninstall=Menyimpan informasi pelepasan .... +StatusRunProgram=Mengakhiri pemasangan .... +StatusRestartingApplications=Memulai ulang aplikasi .... +StatusRollback=Membatalkan perubahan .... + +; *** Masalah secara umum +ErrorInternal2=Masalah internal: %1 +ErrorFunctionFailedNoCode=%1 gagal +ErrorFunctionFailed=%1 gagal; kode %2 +ErrorFunctionFailedWithMessage=%1 gagal; kode %2.%n%3 +ErrorExecutingProgram=Tidak dapat mengeksekusi berkas:%n%1 + +; *** Masalah pada Registry +ErrorRegOpenKey=Masalah saat membuka kunci registri:%n%1\%2 +ErrorRegCreateKey=Masalah saat membuat kunci registri:%n%1\%2 +ErrorRegWriteKey=Masalah saat menulis pada kunci registri:%n%1\%2 + +; *** Masalah pada INI +ErrorIniEntry=Terjadi masalah saat membuat entri INI dalam berkas "%1". + +; *** Masalah saat menyalin berkas +FileAbortRetryIgnoreSkipNotRecommended=&Lewati berkas ini (tidak disarankan) +FileAbortRetryIgnoreIgnoreNotRecommended=&Abaikan masalah dan lanjutkan (tidak disarankan) +SourceIsCorrupted=Berkas sumber telah rusak +SourceDoesntExist=Berkas sumber "%1" tidak ada +ExistingFileReadOnly2=Berkas yang telah ada tidak bisa diganti karena ditandai hanya-baca. +ExistingFileReadOnlyRetry=&Hapus atribut hanya-baca dan coba lagi +ExistingFileReadOnlyKeepExisting=&Pertahankan berkas yang sudah ada +ErrorReadingExistingDest=Terjadi masalah saat mencoba membaca berkas yang sudah ada: +FileExists=Berkas sudah ada.%n%nTimpa berkas tersebut? +ExistingFileNewer=Berkas yang sudah ada lebih baru dibanding dengan yang akan kami pasang. Disarankan agar Anda mempertahankan berkas tersebut.%n%nPertahankan berkas tersebut? +ErrorChangingAttr=Terjadi masalah saat mencoba mengubah atribut berkas yang sudah ada: +ErrorCreatingTemp=Terjadi masalah saat mencoba membuat berkas di dalam direktori pemasangan: +ErrorReadingSource=Terjadi masalah saat mencoba membaca berkas sumber: +ErrorCopying=Terjadi masalah saat mencoba menyalin berkas: +ErrorReplacingExistingFile=Terjadi masalah saat mencoba menimpa berkas yang sudah ada: +ErrorRestartReplace=Fungsi RestartReplace gagal: +ErrorRenamingTemp=Terjadi masalah saat mencoba mengubah nama berkas dalam direktori pemasangan: +ErrorRegisterServer=Tidak dapat mendaftarkan berkas DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 gagal dengan kode akhir %1 +ErrorRegisterTypeLib=Tidak dapat mendaftarkan pustaka: %1 + +; *** Penandaan tampilan nama saat melepas +; contoh 'Program saya (32-bita)' +UninstallDisplayNameMark=%1 (%2) +; contoh 'Program saya (32-bita, Semua pengguna)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bita +UninstallDisplayNameMark64Bit=64-bita +UninstallDisplayNameMarkAllUsers=Semua pengguna +UninstallDisplayNameMarkCurrentUser=Pengguna saat ini + +; *** Masalah pasca-pemasangan +ErrorOpeningReadme=Terjadi masalah saat mencoba membuka berkas README. +ErrorRestartingComputer=Kami tidak dapat memulai ulang komputer. Silakan lakukan secara manual. + +; *** Pesan untuk Pelepas +UninstallNotFound=Berkas "%1" tidak ada. Tidak bisa melepas. +UninstallOpenError=Berkas "%1" tidak bisa dibuka. Tidak bisa melepas +UninstallUnsupportedVer=Berkas catatan pelepas "%1" tertulis dalam format yang tak dikenali oleh pelepas versi ini. Tidak bisa melepas. +UninstallUnknownEntry=Entri tak dikenal (%1) ditemukan dalam catatan pelepas +ConfirmUninstall=Apakah Anda yakin hendak menghapus %1 beserta semua komponennya? +UninstallOnlyOnWin64=Instalasi ini hanya dapat dilepas pada Windows 64-bita. +OnlyAdminCanUninstall=Instalasi ini hanya dapat dilepas oleh pengguna dengan izin administratif. +UninstallStatusLabel=Silakan tunggu sementara %1 dihapus dari komputer Anda. +UninstalledAll=%1 berhasil dilepas dari komputer Anda. +UninstalledMost=Selesai melepas %1.%n%nBeberapa elemen tidak dapat dihapus. Anda dapat menghapusnya secara manual. +UninstalledAndNeedsRestart=Untuk melengkapi pelepasan %1, komputer Anda harus dimulai ulang.%n%nMulai ulang sekarang? +UninstallDataCorrupted=Berkas "%1" telah rusak. Tidak bisa melepas + +; *** Pesan untuk fase pelepasan +ConfirmDeleteSharedFileTitle=Hapus Berkas Bersama? +ConfirmDeleteSharedFile2=Sistem mengindikasi bahwa berkas-berkas bersama berikut tidak lagi dipakai oleh program apa pun. Apakah Anda ingin kami menghapus berkas-berkas tersebut?%n%nJika berkas-berkas tersebut dihapus dan masih ada program yang memakainya, program tersebut mungkin akan berjalan di luar semestinya. Bila Anda tidak yakin, pilih Tidak. Membiarkan berkas tersebut pada komputer Anda tidak akan menimbulkan masalah. +SharedFileNameLabel=Nama berkas: +SharedFileLocationLabel=Lokasi: +WizardUninstalling=Status Pelepasan +StatusUninstalling=Melepas %1... + +; *** Blok alasan Shutdown +ShutdownBlockReasonInstallingApp=Memasang %1. +ShutdownBlockReasonUninstallingApp=Melepas %1. + +; Pesan khusus berikut tidak digunakan oleh Pemasang itu sendiri, +; namun bila Anda memakainya di dalam skrip Anda, maka terjemahkan. + +[CustomMessages] +NameAndVersion=%1 versi %2 +AdditionalIcons=Pintasan tambahan: +CreateDesktopIcon=Buat pintasan di &Desktop +CreateQuickLaunchIcon=Buat pintasan di &Quick Launch +ProgramOnTheWeb=%1 di web +UninstallProgram=Lepas %1 +LaunchProgram=Jalankan %1 +AssocFileExtension=&Asosiasikan %1 dengan ekstensi berkas %2 +AssocingFileExtension=Mengasosiasikan %1 dengan ekstensi berkas %2 .... +AutoStartProgramGroupDescription=Startup: +AutoStartProgram=Jalankan %1 secara otomatis +AddonHostProgramNotFound=%1 tidak dapat ditemukan di dalam map yang Anda pilih.%n%nTetap lanjutkan? diff --git a/Greenshot/releases/innosetup/Languages/Kazakh.islu b/Greenshot/releases/innosetup/Languages/Kazakh.islu new file mode 100644 index 000000000..09a566c2f --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Kazakh.islu @@ -0,0 +1,334 @@ +; *** Inno Setup version 5.5.0+ Kazakh messages *** +; +; Translated by Dauren Sarsenov, daur88@inbox.ru +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<049A><0430><0437><0430><049B> +LanguageID=$043f +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +DialogFontName=Tahoma +DialogFontSize=8 +WelcomeFontName=Tahoma +WelcomeFontSize=12 +TitleFontName=Tahoma +TitleFontSize=29 +CopyrightFontName=Tahoma +CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Орнату +SetupWindowTitle=%1 орнату +UninstallAppTitle=Жою +UninstallAppFullTitle=%1 жою + +; *** Misc. common +InformationTitle=Ақпарат +ConfirmTitle=Растау +ErrorTitle=Қате + +; *** SetupLdr messages +SetupLdrStartupMessage=Бұл шебер сіздің компьютеріңізге %1 бағдарламасын орнатпақшы, жалғастыруды қалайсыз ба? +LdrCannotCreateTemp=Уақытша файлдарды жасау мүмкін емес. Орнату тоқтатылды +LdrCannotExecTemp=Уақытша файлдар каталогындағы файлдарды орындау мүмкін емес. Орнату тоқтатылды + +; *** Startup error messages +LastErrorMessage=%1.%n%nҚате %2: %3 +SetupFileMissing=Орнату папкасында %1 файлы жоқ. Бағдарламаның жаңартылған нұсқасын алыңыз. +SetupFileCorrupt=Орнатылатын файлдар зақымданған. Бағдарламаның жаңартылған нұсқасын алыңыз. +SetupFileCorruptOrWrongVer=Орнатылатын файлдар зақымданған не нұсқалары сәйкес келмейді. Бағдарламаның жаңартылған нұсқасын алыңыз. +InvalidParameter=Команда жолында қате параметр көрсетілді:%n%n%1 +SetupAlreadyRunning=Орнату бағдарламасының басқа данасы ашылып тұр. +WindowsVersionNotSupported=Бұл бағдарлама сіздің Windows жүйеңізді қолдамайды. +WindowsServicePackRequired=Бұл бағдарлама %1 жаңарту бумасын (Service Pack) %2 не одан жаңасын талап етеді. +NotOnThisPlatform=Бұл бағдарлама %1 платформасында жұмыс істей алмайды. +OnlyOnThisPlatform=Бұл бағдарлама %1 платформасында жұмыс істей алады. +OnlyOnTheseArchitectures=Бұл бағдарлама төмендегі процессорларға арналған Windows жүйесінде ғана орнатыла алады:%n%n%1 +MissingWOW64APIs=Сіз қолданып отырған Windows жүйесінің 64-битті функциялары жоқ. Сіз %1 жаңарту бумасын (Service Pack) орнатып алуыңыз қажет. +WinVersionTooLowError=Бұл бағдарламаның жұмысына %2 не одан да жоғары нұсқалы %1 қажет. +WinVersionTooHighError=Бұл бағдарламаның жұмысына %2 не одан да төмен нұсқалы %1 қажет. +AdminPrivilegesRequired=Бұл бағдарламаны орнату үшін, жүйеге Администратор ретінде кіру қажет. +PowerUserPrivilegesRequired=Бұл бағдарламаны орнату үшін, жүйеге Администратор не «Қуатты қолданушы» (Power User) ретінде кіру қажет. +SetupAppRunningError=Орнату бағдарламасы %1 жегілгенін анықтады.%n%nАртық бағдарламаны жабыңыз да, жалғастыру үшін «OK», тоқтату үшін «Бас тарту» кнопкасын басыңыз. +UninstallAppRunningError=Жою бағдарламасы %1 жегілгенін анықтады.%n%nАртық бағдарламаны жабыңыз да, жалғастыру үшін «OK», тоқтату үшін «Бас тарту» кнопкасын басыңыз. + +; *** Misc. errors +ErrorCreatingDir="%1" папкасын жасау мүмкін емес +ErrorTooManyFilesInDir="%1" каталогында файл жасау мүмкін емес, өйткені ішіндегі файл саны тым көп + +; *** Setup common messages +ExitSetupTitle=Орнату бағдарламасынан шығу +ExitSetupMessage=Орнату соңына дейін аяқталмады. Егер орнатуды тоқтатсаңыз, бағдарлама орнатылмайтын болады.%n%nОрнатуды кейін де қайта бастауға болады.%n%nОрнатуды тоқтатуды қалайсыз ба? +AboutSetupMenuItem=&Бағдарлама туралы... +AboutSetupTitle=Орнату бағдарламасы туралы +AboutSetupMessage=%1, нұсқасы %2%n%3%n%nСайты %1:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< А&ртқа +ButtonNext=&Келесі > +ButtonInstall=&Орнату +ButtonOK=OK +ButtonCancel=Бас тарту +ButtonYes=&Иә +ButtonYesToAll=&Барлығына Иә +ButtonNo=&Жоқ +ButtonNoToAll=Ба&рлығына Жоқ +ButtonFinish=А&яқтау +ButtonBrowse=&Шолу... +ButtonWizardBrowse=&Шолу... +ButtonNewFolder=&Папка жасау + +; *** "Select Language" dialog messages +SelectLanguageTitle=Тіл таңдаңыз +SelectLanguageLabel=Орнату бағдарламасының тілін таңдаңыз: + +; *** Common wizard text +ClickNext=Жалғастыру үшін «Келесі», бағдарламадан шығу үшін «Бас тарту» кнопкасын басыңыз. +BeveledLabel= +BrowseDialogTitle=Папка шолу +BrowseDialogLabel=Қалаған папкаңызды таңдап, «ОК» кнопкасын басыңыз. +NewFolderName=Жаңа папка + +; *** "Welcome" wizard page +WelcomeLabel1=[name] орнату шеберіне %nқош келдіңіз +WelcomeLabel2=Бұл бағдарлама сіздің компьютеріңізге [name/ver] орнататын болады.%n%nЖалғастырмас бұрын, артық бағдарламаны жапқан жөн. + +; *** "Password" wizard page +WizardPassword=Пароль +PasswordLabel1=Бұл бағдарлама парольмен қорғалған. +PasswordLabel3=Парольді енгізіп, «Келесі» кнопкасын басыңыз. Јріптің үлкен-кішілігі ескерілетінін еске саламыз. +PasswordEditLabel=&Пароль: +IncorrectPassword=Сіз енгізген пароль қате, тағы да қайталап көріңіз. + +; *** "License Agreement" wizard page +WizardLicense=Лицензиялық Келісім +LicenseLabel=Орнатуды жалғастырмас бұрын осы келісімді оқып шығыңыз. +LicenseLabel3=Орнатуды жалғастыру үшін төмендегі Лицензиялық Келісімнің Шарттарын қабылдау керек. +LicenseAccepted=Келісім шарттарын қ&абылдаймын +LicenseNotAccepted=Келісім &шарттарын қабылдамаймын + +; *** "Information" wizard pages +WizardInfoBefore=Ақпарат +InfoBeforeLabel=Орнатуды жалғастырмас бұрын осы ақпаратты оқып шығыңыз. +InfoBeforeClickLabel=Дайын болғанда, «Келесі» кнопкасын басыңыз. +WizardInfoAfter=Ақпарат +InfoAfterLabel=Орнатуды жалғастырмас бұрын осы ақпаратты оқып шығыңыз. +InfoAfterClickLabel=Дайын болғанда, «Келесі» кнопкасын басыңыз. + +; *** "User Information" wizard page +WizardUserInfo=Қолданушы туралы ақпарат +UserInfoDesc=Өзіңіз жайлы біраз ақпарат енгізгеніңізді сұраймыз. +UserInfoName=Қ&олданушының аты-жөні: +UserInfoOrg=Жұмыс істейтін &мекемесі: +UserInfoSerial=&Сериялық нөмір: +UserInfoNameRequired=Есіміңізді енгізу міндетті. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Орнату папкасын таңдау +SelectDirDesc=[name] бағдарламасының қай папкаға орнатылғанын қалайсыз? +SelectDirLabel3=[name] мына папкаға орнатылатын болады. +SelectDirBrowseLabel=Жалғастыру үшін «Келесі» кнопкасын басыңыз. Өзге папка таңдаймын десеңіз, «Шолу» кнопкасын басыңыз. +DiskSpaceMBLabel=Кем дегенде [mb] Мб бос орын қажет. +CannotInstallToNetworkDrive=Бағдарлама желілік құрылғыға орнатыла алмайды. +CannotInstallToUNCPath=Бағдарлама UNC түрінде көрсетілген папкаға орнатыла алмайды. +InvalidPath=Орнату жолы диск әрпімен бірге түгел жазылуы тиіс; мысалы:%n%nC:\APP%n%nне UNC түрінде:%n%n\\сервер_аты\ресурс_аты +InvalidDrive=Сіз таңдаған диск не желілік жол қатынасуға дайын емес не олар мүлдем жоқ. Басқасын таңдап көріңіз. +DiskSpaceWarningTitle=Дискіде орын жоқ +DiskSpaceWarning=Орнату үшін кем дегенде %1 Кб бос орын қажет, сіз таңдаған дискте небары %2 Кб бос орын бар.%n%nСоған қарамастан орнатуды жалғастырасыз ба? +DirNameTooLong=Папканың аты не оның жолы тым ұзын. +InvalidDirName=Сіз көрсеткен папканың аты жарамсыз. +BadDirName32=Папка атында мына таңбалар болмау керек: %n%n%1 +DirExistsTitle=Папка бар +DirExists=%1%n%n%n%n папкасы бұрыннан бар. Соған қарамастан жалғастыруды қалайсыз ба? +DirDoesntExistTitle=Папка жоқ +DirDoesntExist=%1%n%n%n%n папкасы жоқ. Жасай салайық па? + +; *** "Select Components" wizard page +WizardSelectComponents=Компонент таңдау +SelectComponentsDesc=Қай компоненттер орнатылуға тиіс? +SelectComponentsLabel2=Қалаған компоненттердің алдына белгі қойыңыз; орнатылуға тиіс емес компоненттен белгіні алып тастаңыз. Дайын болғанда, «Келесі» кнопкасын басыңыз. +FullInstallation=Толығымен орнату +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Шағын орнату +CustomInstallation=Таңдаумен орнату +NoUninstallWarningTitle=Орнатылған компоненттер +NoUninstallWarning=Орнату бағдарламасы мына компоненттердің орнатылғанын тапты:%n%n%1%n%nТаңдауды болдырмау оларды бәрібір жоймайды.%n%nЖалғастырайық па? +ComponentSize1=%1 Кб +ComponentSize2=%1 Мб +ComponentsDiskSpaceMBLabel=Қазіргі таңдауға кем дегенде [mb] Мб бос орын керек. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Қосымша тапсырма таңдаңыз +SelectTasksDesc=Қосымша қандай тапсырма орындау керек? +SelectTasksLabel2=[name] орнату кезінде орындалатын тапсырма таңдаңыз да, «Келесі» кнопкасын басыңыз. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=«Бастау» менюіндегі папканы таңдаңыз +SelectStartMenuFolderDesc=Лақаптар қай жерде жасалуы тиіс? +SelectStartMenuFolderLabel3=Орнату бағдарламасы лақаптарды «Бастау» менюінің мына папкасына жасайды. +SelectStartMenuFolderBrowseLabel=Жалғастыру үшін «Келесі» кнопкасын басыңыз. Басқа папка таңдаймын десеңіз «Шолу» кнопкасын басыңыз. +MustEnterGroupName=Сіз папканың атын енгізуіңіз тиіс. +GroupNameTooLong=Папканың аты не оның жолы тым ұзақ. +InvalidGroupName=Сіз көрсеткен папканың аты жарамсыз. +BadGroupName=Папка атында мына таңбалар болмау керек: %n%n%1 +NoProgramGroupCheck2=«Бастау» менюі&нде папка жасалмасын + +; *** "Ready to Install" wizard page +WizardReady=Орнатуды бастауға бәрі дайын +ReadyLabel1=[name] сіздің компьютерге орнатылуға дайын тұр. +ReadyLabel2a=Жалғастыру үшін «Орнату» кнопкасын басыңыз, орнату опцияларын өзгерту не қарау үшін «Артқа» кнопкасын басыңыз. +ReadyLabel2b=Жалғастыру үшін «Орнату» кнопкасын басыңыз. +ReadyMemoUserInfo=Қолданушы туралы ақпарат: +ReadyMemoDir=Орнатылатын папка: +ReadyMemoType=Орнату түрі: +ReadyMemoComponents=Таңдалған компонент: +ReadyMemoGroup=«Бастау» менюіндегі папка: +ReadyMemoTasks=Қосымша тапсырмалар: + +; *** "Preparing to Install" wizard page +WizardPreparing=Орнатуға дайындық +PreparingDesc=[name] бағдарламасын орнатуға дайындық жүруде. +PreviousInstallNotCompleted=Алдыңғы рет жасалған орнату не жою аяғына дейін жүргізілмеді. Сол орнатуды аяқтау үшін компьютерді қайта қосу керек.%n%nСодан кейін орнату бағдарламасын қосып, [name] орнатуын аяқтау керек. +CannotContinue=Орнатуды жалғастыру мүмкін емес, шығу үшін «Бас тарту» кнопкасын басыңыз. +ApplicationsFound=Мына бағдарламалар орнату кезінде жаңартылатын файлдарды пайдалануда. Орнату кезінде осы бағдарламаларды жабуға рұқсат берген жөн. +ApplicationsFound2=Мына бағдарламалар орнату кезінде жаңартылатын файлдарды пайдалануда. Орнату кезінде осы бағдарламаларды жабуға рұқсат берген жөн. Орнату аяқталған соң бағдарламалар қайтадан ашылады. +CloseApplications=Бағ&дарламаларды өздігінен жабу +DontCloseApplications=Бағдарламаларды &жаппау + +; *** "Installing" wizard page +WizardInstalling=Орнату +InstallingLabel=[name] сіздің компьютерге орнатылып біткенше күте тұрыңыз. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] орнату Шеберін аяқтау +FinishedLabelNoIcons=[name] бағдарламасы сіздің компьютерге орнатылды. +FinishedLabel=[name] бағдарламасы сіздің компьютерге орнатылды. Оны сәйкес белгімен қосуға болады. +ClickFinish=Орнату бағдарламасынан үшін «Аяқтау» кнопкасын басыңыз. +FinishedRestartLabel=[name] орнатуды аяқтау үшін компьютерді қайта қосу керек. Компьютерді қайта қосайық па? +FinishedRestartMessage=[name] орнатуды аяқтау үшін компьютерді қайта қосу керек.%n%nКомпьютерді қайта қосайық па? +ShowReadmeCheck=README файлын оқу +YesRadio=&Иә, компьютер қайта қосылсын +NoRadio=&Жоқ, кейінге қалдырылсын +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 ашу +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 ашу + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Келесі дискті енгізу қажет +SelectDiskLabel2=%1 диск салып, «OK» кнопкасын басыңыз.%n%nЕгер ол дисктің файлдарын басқа жерден табуға болса, төмендегі жолға көрсетуге болады. +PathLabel=&Жол: +FileNotInDir2="%1" файлы "%2" папкасында табылмады. Дұрыс дискті салыңыз не басқа папка көрсетіңіз. +SelectDirectoryLabel=Келесі дисктің жолын енгізіңіз. + +; *** Installation phase messages +SetupAborted=Орнату аяқталмады.%n%nПайда болған проблемаларды жойып, қайта көріңіз. +EntryAbortRetryIgnore=Қайталап көру үшін «Қайталау», ары қарай бұл файлсыз жалғастыру үшін «Елемеу», орнатуды тоқтату үшін «Болдырмау» кнопкасын басыңыз. + +; *** Installation status messages +StatusClosingApplications=Бағдарламаларды жабу... +StatusCreateDirs=Папка жасау... +StatusExtractFiles=Файлдарды шығару... +StatusCreateIcons=Бағдарлама лақаптарын жасау... +StatusCreateIniEntries=INI-файлдарын жасау... +StatusCreateRegistryEntries=Реестр жазбаларын орналастыру... +StatusRegisterFiles=Файлдарды тіркеу... +StatusSavingUninstall=Бағдарламаны жою туралы ақпаратты сақтау... +StatusRunProgram=Орнатуды аяқтау... +StatusRestartingApplications=Бағдарламаларды қайтадан жүктеу... +StatusRollback=Жасалған өзгертулерді қалпына келтіру... + +; *** Misc. errors +ErrorInternal2=Ішкі қате: %1 +ErrorFunctionFailedNoCode=%1: қате +ErrorFunctionFailed=%1: қате; коды %2 +ErrorFunctionFailedWithMessage=%1: қате; коды %2.%n%3 +ErrorExecutingProgram=%1%n файлын жегу мүмкін емес + +; *** Registry errors +ErrorRegOpenKey=Реестр кілтін ашуда қате:%n%1\%2 +ErrorRegCreateKey=Реестр кілтін жасауда қате:%n%1\%2 +ErrorRegWriteKey=Реестр кілтін жазуда қате:%n%1\%2 + +; *** INI errors +ErrorIniEntry="%1" INI-файлына жазу қосу мүмкін емес. + +; *** File copying errors +FileAbortRetryIgnore=Қайталау үшін «Қайталау», елемеу үшін «Елемеу», бағдарламадан шығу үшін «Болдырмау» кнопкасын басыңыз. +FileAbortRetryIgnore2=Қайталау үшін «Қайталау», елемеу үшін «Елемеу», бағдарламадан шығу үшін «Болдырмау» кнопкасын басыңыз. +SourceIsCorrupted=Бастапқы файлдар зақымданған +SourceDoesntExist="%1" бастапқы файлы табылмады +ExistingFileReadOnly=Бұрыннан бар файл «тек оқуға» арналған.%n%nБұл атрубитты жою үшін «Қайталау», файлды елемеу үшін «Елемеу», бағдарламадан шығу үшін «Болдырмау» кнопкасын басыңыз. +ErrorReadingExistingDest=Файл оқу кезінде қате кетті: +FileExists=Файл бұрыннан бар.%n%nЇстіне жазуды қалайсыз ба? +ExistingFileNewer=Бұрыннан бар файл орнатылайын деп жатқанынан жаңарақ. Бұрыннан бар файлды сақтап қалу ұсынылады.%n%nБұрыннан бар файлды сақтауды қалайсыз ба? +ErrorChangingAttr=Файл атрибутын өзгерту кезінде қате кетті: +ErrorCreatingTemp=Папка ішіне файл жасау кезінде қате кетті: +ErrorReadingSource=Бастапқы файлды оқу кезінде қате кетті: +ErrorCopying=Файлды көшіру кезінде қате кетті: +ErrorReplacingExistingFile=Файлды ауыстыру кезінде қате кетті: +ErrorRestartReplace=RestartReplace қатесі: +ErrorRenamingTemp=Папка ішінде файлды қайта атау кезінде қате кетті: +ErrorRegisterServer=DLL/OCX тіркеу мүмкін емес: %1 +ErrorRegSvr32Failed=RegSvr32 %1 кодын қайтарып, сәтсіз аяқталды +ErrorRegisterTypeLib=Тип жинағын (Type Library) тіркеу мүмкін емес: %1 + +; *** Post-installation errors +ErrorOpeningReadme=README файлын ашу кезінде қате кетті. +ErrorRestartingComputer=Орнату бағдарламасы компьютерді қайта қоса алмады. Компьютерді қолдан қайта қосыңыз. + +; *** Uninstaller messages +UninstallNotFound="%1" файлы табылмады, жоюды жалғастыру мүмкін емес. +UninstallOpenError="%1" файлы ашылмады. Жоюды жалғастыру мүмкін емес +UninstallUnsupportedVer="%1" жою үшін арналған протокол файлы жою бағдарламасының бұл нұсқасына таныс емес. Жоюды жалғастыру мүмкін емес +UninstallUnknownEntry=Жою үшін арналған протоколда белгісіз пункт табылды (%1) +ConfirmUninstall=Сіз шынымен %1 және оның барлық компонентін жоюды қалайсыз ба? +UninstallOnlyOnWin64=Бұл бағдарламаны тек 64-биттік Windows ортасында жоюға болады. +OnlyAdminCanUninstall=Бұл бағдарламаны тек администратор құқықтары бар қолданушы жоя алады. +UninstallStatusLabel=%1 компьютеріңізден жойылып біткенше күте тұрыңыз. +UninstalledAll=%1 бағдарламасы компьютеріңізден толығымен жойылды. +UninstalledMost=%1 жою аяқталды.%n%nКейбір элементтерді жою мүмкін болмады, сондықтан оларды қолдан жою керек болады. +UninstalledAndNeedsRestart=%1 бағдарламасын жоюды жалғастыру үшін компьютеріңізді қайта қосу керек.%n%nҚайта қосуды қазір орындауды қалайсыз ба? +UninstallDataCorrupted="%1" файлы зақымданған. Жоюды жалғастыру мүмкін емес + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Ортақ файлды жою? +ConfirmDeleteSharedFile2=Жүйедегі мына ортақ файл басқа ешқандай бағдарламамен қолданбаған сияқты. Осы файлды жоюды мақұлдайсыз ба?%n%nЕгер осы файлды басқа бір бағдарламалар қолданатын болса, олар дұрыс жұмыс істемей қалуы мүмкін. Егер не істеріңізді білмесеңіз, «Жоқ» кнопкасын басыңыз. Жойылмай қалған файл жүйеңізге теріс әсер етпейді. +SharedFileNameLabel=Файл аты: +SharedFileLocationLabel=Орналасуы: +WizardUninstalling=Жою күйі +StatusUninstalling=%1 жою... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 орнату. +ShutdownBlockReasonUninstallingApp=%1 жою. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1, версиясы %2 +AdditionalIcons=Қосымша белгішелер: +CreateDesktopIcon=Жұмыс үстелінде белгіше &жасау +CreateQuickLaunchIcon=Жедел іске қосу панелінде белгіше ж&асау +ProgramOnTheWeb=Интернеттегі %1 сайты +UninstallProgram=%1 жою +LaunchProgram=%1 ашу +AssocFileExtension=%1 бағ&дарламасын %2 кеңейтпесімен байланыстыру +AssocingFileExtension=%1 бағдарламасын %2 файлдарымен байланыстыру... +AutoStartProgramGroupDescription=Startup: +AutoStartProgram=Automatically start %1 +AddonHostProgramNotFound=%1 could not be located in the folder you selected.%n%nDo you want to continue anyway? diff --git a/Greenshot/releases/innosetup/Languages/Korean.isl b/Greenshot/releases/innosetup/Languages/Korean.isl new file mode 100644 index 000000000..3e6107db7 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Korean.isl @@ -0,0 +1,367 @@ +; *** Inno Setup version 6.0.0+ Korean messages *** +; +; 6.0.3+ Translator: SungDong Kim (acroedit@gmail.com) +; 5.5.3+ Translator: Domddol (domddol@gmail.com) +; Translation date: MAR 04, 2014 +; Contributors: Hansoo KIM (iryna7@gmail.com), Woong-Jae An (a183393@hanmail.net) +; Storage: http://www.jrsoftware.org/files/istrans/ +; ο ѱ Ģ ؼմϴ. +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Korean +LanguageID=$0412 +LanguageCodePage=949 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=ġ +SetupWindowTitle=%1 ġ +UninstallAppTitle= +UninstallAppFullTitle=%1 + +; *** Misc. common +InformationTitle= +ConfirmTitle=Ȯ +ErrorTitle= + +; *** SetupLdr messages +SetupLdrStartupMessage=%1() ġմϴ, Ͻðڽϱ? +LdrCannotCreateTemp=ӽ ϴ, ġ ߴմϴ +LdrCannotExecTemp=ӽ ϴ, ġ ߴմϴ +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1.%n%n %2: %3 +SetupFileMissing=%1 ʽϴ, ذ ų ο ġ α׷ Ͻñ ٶϴ. +SetupFileCorrupt=ġ ջǾϴ, ο ġ α׷ Ͻñ ٶϴ. +SetupFileCorruptOrWrongVer=ġ ջ̰ų ġ ȣȯ ʽϴ, ذ ų ο ġ α׷ Ͻñ ٶϴ. +InvalidParameter=߸ Ű Դϴ:%n%n%1 +SetupAlreadyRunning=ġ ̹ Դϴ. +WindowsVersionNotSupported= α׷ Windows ʽϴ. +WindowsServicePackRequired= α׷ Ϸ %1 sp%2 ̻̾ մϴ. +NotOnThisPlatform= α׷ %1 ۵ ʽϴ. +OnlyOnThisPlatform= α׷ %1 ؾ մϴ. +OnlyOnTheseArchitectures= α׷ Ʒ ó ȣȯǴ Windows ġ ֽϴ:%n%n%1 +WinVersionTooLowError= α׷ %1 %2 ̻ ʿմϴ. +WinVersionTooHighError= α׷ %1 %2 ̻󿡼 ġ ϴ. +AdminPrivilegesRequired= α׷ ġϷ ڷ αؾ մϴ. +PowerUserPrivilegesRequired= α׷ ġϷ Ǵ ڷ αؾ մϴ. +SetupAppRunningError= %1() Դϴ!%n%n װ νϽ ݾ ֽʽÿ. ׷ Ϸ "Ȯ", Ϸ "" ŬϽʽÿ. +UninstallAppRunningError= %1() Դϴ!%n%n װ νϽ ݾ ֽʽÿ. ׷ Ϸ "Ȯ", Ϸ "" ŬϽʽÿ. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=ġ +PrivilegesRequiredOverrideInstruction=ġ 带 ֽʽÿ +PrivilegesRequiredOverrideText1=%1 ( ʿ) Ǵ ڿ ġմϴ. +PrivilegesRequiredOverrideText2=%1 Ǵ ( ʿ) ġմϴ. +PrivilegesRequiredOverrideAllUsers= ڿ ġ(&A) +PrivilegesRequiredOverrideAllUsersRecommended= ڿ ġ(&A) (õ) +PrivilegesRequiredOverrideCurrentUser= ڿ ġ(&M) +PrivilegesRequiredOverrideCurrentUserRecommended= ڿ ġ(&M) (õ) + +; *** Misc. errors +ErrorCreatingDir="%1" ϴ. +ErrorTooManyFilesInDir="%1" ʹ ϴ. + +; *** Setup common messages +ExitSetupTitle=ġ Ϸ +ExitSetupMessage=ġ Ϸ ʾҽϴ, ⼭ ġ ϸ α׷ ġ ʽϴ.%n%nġ ϷϷ ߿ ٽ ġ α׷ ؾ մϴ.%n%n׷ ġ Ͻðڽϱ? +AboutSetupMenuItem=ġ (&A)... +AboutSetupTitle=ġ +AboutSetupMessage=%1 %2%n%3%n%n%1 Ȩ :%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< ڷ(&B) +ButtonNext=(&N) > +ButtonInstall=ġ(&I) +ButtonOK=Ȯ +ButtonCancel= +ButtonYes=(&Y) +ButtonYesToAll= (&A) +ButtonNo=ƴϿ(&N) +ButtonNoToAll= ƴϿ(&O) +ButtonFinish=(&F) +ButtonBrowse=ãƺ(&B)... +ButtonWizardBrowse=ãƺ(&R)... +ButtonNewFolder= (&M) + +; *** "Select Language" dialog messages +SelectLanguageTitle=ġ +SelectLanguageLabel=ġ  Ͻʽÿ. + +; *** Common wizard text +ClickNext=Ϸ "" Ŭϰ ġ Ϸ "" Ŭմϴ. +BeveledLabel= +BrowseDialogTitle= ãƺ +BrowseDialogLabel=Ʒ Ͽ "Ȯ" Ŭմϴ. +NewFolderName= + +; *** "Welcome" wizard page +WelcomeLabel1=[name] ġ +WelcomeLabel2= ǻͿ [name/ver]() ġ Դϴ.%n%nġϱ ٸ α׷ ñ ٶϴ. + +; *** "Password" wizard page +WizardPassword= ȣ +PasswordLabel1= ġ ȣ ȣǾ ֽϴ. +PasswordLabel3= ȣ Էϰ "" ŬϽʽÿ. ȣ ҹڸ ؾ մϴ. +PasswordEditLabel= ȣ(&P): +IncorrectPassword= ȣ Ȯ ʽϴ, ٽ ԷϽʽÿ. + +; *** "License Agreement" wizard page +WizardLicense= +LicenseLabel=ϱ ߿ оʽÿ. +LicenseLabel3= оʽÿ, ġ Ϸ ࿡ ؾ մϴ. +LicenseAccepted=մϴ(&A) +LicenseNotAccepted= ʽϴ(&D) + +; *** "Information" wizard pages +WizardInfoBefore= +InfoBeforeLabel=ϱ ߿ оʽÿ. +InfoBeforeClickLabel=ġ Ϸ "" ŬϽʽÿ. +WizardInfoAfter= +InfoAfterLabel=ϱ ߿ оʽÿ. +InfoAfterClickLabel=ġ Ϸ "" ŬϽʽÿ. + +; *** "User Information" wizard page +WizardUserInfo= +UserInfoDesc= ԷϽʽÿ. +UserInfoName= ̸(&U): +UserInfoOrg=(&O): +UserInfoSerial=ø ȣ(&S): +UserInfoNameRequired= ̸ ԷϽʽÿ. + +; *** "Select Destination Location" wizard page +WizardSelectDir=ġ ġ +SelectDirDesc=[name] ġ ġ Ͻʽÿ. +SelectDirLabel3= [name]() ġմϴ. +SelectDirBrowseLabel=Ϸ "", ٸ Ϸ "ãƺ" ŬϽʽÿ. +DiskSpaceGBLabel= α׷ ּ [gb] GB ũ ʿմϴ. +DiskSpaceMBLabel= α׷ ּ [mb] MB ũ ʿմϴ. +CannotInstallToNetworkDrive=Ʈũ ̺꿡 ġ ϴ. +CannotInstallToUNCPath=UNC ο ġ ϴ. +InvalidPath=̺ ڸ ü θ ԷϽʽÿ.%n : C:\APP %n%nǴ, UNC θ ԷϽʽÿ.%n : \\server\share +InvalidDrive= ̺ Ǵ UNC ʰų ׼ ϴ, ٸ θ Ͻʽÿ. +DiskSpaceWarningTitle=ũ մϴ +DiskSpaceWarning=ġ ּ %1 KB ũ ʿ, ̺ %2 KB ۿ ϴ.%n%n׷ Ͻðڽϱ? +DirNameTooLong= ̸ Ǵ ΰ ʹ ϴ. +InvalidDirName= ̸ ȿ ʽϴ. +BadDirName32= ̸ ڸ ϴ:%n%n%1 +DirExistsTitle= մϴ +DirExists= %n%n%1%n%n() ̹ մϴ, ġϽðڽϱ? +DirDoesntExistTitle= ʽϴ +DirDoesntExist= %n%n%1%n%n() ʽϴ, ðڽϱ? + +; *** "Select Components" wizard page +WizardSelectComponents= +SelectComponentsDesc=ġ Ҹ Ͻʽÿ. +SelectComponentsLabel2=ʿ Ҵ üũϰ ʿ Ҵ üũ մϴ, Ϸ "" ŬϽʽÿ. +FullInstallation= ġ +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=ּ ġ +CustomInstallation= ġ +NoUninstallWarningTitle= Ұ մϴ +NoUninstallWarning= Ұ ̹ ġǾ ֽϴ:%n%n%1%n%n , α׷ Ž ҵ ŵ ̴ϴ.%n%n׷ Ͻðڽϱ? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceGBLabel= ּ [gb] GB ũ ʿմϴ. +ComponentsDiskSpaceMBLabel= ּ [mb] MB ũ ʿմϴ. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=߰ ۾ +SelectTasksDesc= ߰ ۾ Ͻʽÿ. +SelectTasksLabel2=[name] ġ ߰ ۾ , "" ŬϽʽÿ. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup= ޴ +SelectStartMenuFolderDesc= α׷ ٷΰ⸦ ġϰڽϱ? +SelectStartMenuFolderLabel3= ޴ α׷ ٷΰ⸦ ϴ. +SelectStartMenuFolderBrowseLabel=Ϸ "" Ŭϰ, ٸ Ϸ "ãƺ" ŬϽʽÿ. +MustEnterGroupName= ̸ ԷϽʽÿ. +GroupNameTooLong= ̸ Ǵ ΰ ʹ ϴ. +InvalidGroupName= ̸ ȿ ʽϴ. +BadGroupName= ̸ ڸ ϴ:%n%n%1 +NoProgramGroupCheck2= ޴ (&D) + +; *** "Ready to Install" wizard page +WizardReady=ġ غ Ϸ +ReadyLabel1= ǻͿ [name]() ġ غ Ǿϴ. +ReadyLabel2a=ġ Ϸ "ġ", ϰų Ϸ "ڷ" ŬϽʽÿ. +ReadyLabel2b=ġ Ϸ "ġ" ŬϽʽÿ. +ReadyMemoUserInfo= : +ReadyMemoDir=ġ ġ: +ReadyMemoType=ġ : +ReadyMemoComponents= : +ReadyMemoGroup= ޴ : +ReadyMemoTasks=߰ ۾: + +; *** "Preparing to Install" wizard page +WizardPreparing=ġ غ +PreparingDesc= ǻͿ [name] ġ غϴ Դϴ. +PreviousInstallNotCompleted= α׷ ġ/ ۾ Ϸ ʾҽϴ, ϷϷ ǻ͸ ٽ ؾ մϴ.%n%nǻ͸ ٽ , ġ 縦 ٽ Ͽ [name] ġ ϷϽñ ٶϴ. +CannotContinue=ġ ϴ, "" ŬϿ ġ Ͻʽÿ. +ApplicationsFound= α׷ ġ Ʈ ʿ ϰ ֽϴ, ġ 簡 ̷ α׷ ڵ ֵ Ͻñ ٶϴ. +ApplicationsFound2= α׷ ġ Ʈ ʿ ϰ ֽϴ, ġ 簡 ̷ α׷ ڵ ֵ Ͻñ ٶϴ. ġ ϷǸ, ġ α׷ ٽ ۵ǵ õ ̴ϴ. +CloseApplications=ڵ α׷ (&A) +DontCloseApplications=α׷ (&D) +ErrorCloseApplications=ġ 簡 α׷ ڵ ϴ, ϱ ġ Ʈ ʿ ϰ ִ α׷ Ͻñ ٶϴ. +PrepareToInstallNeedsRestart=ġ ǻ͸ ؾ մϴ. [name] ġ Ϸϱ ǻ͸ ٽ Ŀ ġ 縦 ٽ ֽʽÿ.%n%n ٽ Ͻðڽϱ? + +; *** "Installing" wizard page +WizardInstalling=ġ +InstallingLabel= ǻͿ [name]() ġϴ ... ٷ ֽʽÿ. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] ġ Ϸ +FinishedLabelNoIcons= ǻͿ [name]() ġǾϴ. +FinishedLabel= ǻͿ [name]() ġǾϴ, α׷ ġ Ͽ ֽϴ. +ClickFinish=ġ "" ŬϽʽÿ. +FinishedRestartLabel=[name] ġ ϷϷ, ǻ͸ ٽ ؾ մϴ. ٽ Ͻðڽϱ? +FinishedRestartMessage=[name] ġ ϷϷ, ǻ͸ ٽ ؾ մϴ.%n%n ٽ Ͻðڽϱ? +ShowReadmeCheck=, README ǥմϴ +YesRadio=, ٽ մϴ(&Y) +NoRadio=ƴϿ, ߿ ٽ մϴ(&N) +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 ǥ + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=ũ ʿմϴ +SelectDiskLabel2=ũ %1() ϰ "Ȯ" ŬϽʽÿ.%n%n ũ Ʒ ΰ ƴ ִ , ùٸ θ Էϰų "ãƺ" ŬϽñ ٶϴ. +PathLabel=(&P): +FileNotInDir2=%2 %1() ġ ϴ, ùٸ ũ ϰų ٸ Ͻʽÿ. +SelectDirectoryLabel= ũ ġ Ͻʽÿ. + +; *** Installation phase messages +SetupAborted=ġ Ϸ ʾҽϴ.%n%n ذ , ٽ ġ Ͻʽÿ. +AbortRetryIgnoreSelectAction=׼ ֽʽÿ. +AbortRetryIgnoreRetry=õ(&T) +AbortRetryIgnoreIgnore= ϰ (&I) +AbortRetryIgnoreCancel=ġ + +; *** Installation status messages +StatusClosingApplications=α׷ ϴ ... +StatusCreateDirs= ... +StatusExtractFiles= ϴ ... +StatusCreateIcons=ٷΰ⸦ ϴ ... +StatusCreateIniEntries=INI ׸ ... +StatusCreateRegistryEntries=Ʈ ׸ ... +StatusRegisterFiles= ϴ ... +StatusSavingUninstall= ϴ ... +StatusRunProgram=ġ Ϸϴ ... +StatusRestartingApplications=α׷ ٽ ϴ ... +StatusRollback= ϴ ... + +; *** Misc. errors +ErrorInternal2= : %1 +ErrorFunctionFailedNoCode=%1 +ErrorFunctionFailed=%1 ; ڵ %2 +ErrorFunctionFailedWithMessage=%1 , ڵ: %2.%n%3 +ErrorExecutingProgram= :%n%1 + +; *** Registry errors +ErrorRegOpenKey=Ʈ Ű :%n%1\%2 +ErrorRegCreateKey=Ʈ Ű :%n%1\%2 +ErrorRegWriteKey=Ʈ Ű :%n%1\%2 + +; *** INI errors +ErrorIniEntry=%1 Ͽ INI ׸ Դϴ. + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended= dzʶ(&S) ( ʽϴ) +FileAbortRetryIgnoreIgnoreNotRecommended= ϰ (&I) ( ʽϴ) +SourceIsCorrupted= ջ +SourceDoesntExist= %1() +ExistingFileReadOnly2= б ̱⶧ ü ϴ. +ExistingFileReadOnlyRetry=б Ӽ ϰ ٽ õϷ(&R) +ExistingFileReadOnlyKeepExisting= (&K) +ErrorReadingExistingDest= д ߻: +FileExists= ̹ մϴ.%n%n ðڽϱ? +ExistingFileNewer= ġϷ ϴ Ϻ Դϴ, Ͻñ ٶϴ.%n%n Ͻðڽϱ? +ErrorChangingAttr= Ӽ ϴ ߻: +ErrorCreatingTemp= ߻: +ErrorReadingSource= д ߻: +ErrorCopying= ϴ ߻: +ErrorReplacingExistingFile= üϴ ߻: +ErrorRestartReplace=RestartReplace : +ErrorRenamingTemp= ̸ ٲٴ ߻: +ErrorRegisterServer=DLL/OCX : %1 +ErrorRegSvr32Failed=RegSvr32 ڵ : %1 +ErrorRegisterTypeLib= ̺귯 Ͽ : %1 + +; *** Uninstall display name markings +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32Ʈ +UninstallDisplayNameMark64Bit=64Ʈ +UninstallDisplayNameMarkAllUsers= +UninstallDisplayNameMarkCurrentUser= + +; *** Post-installation errors +ErrorOpeningReadme=README ߻߽ϴ. +ErrorRestartingComputer=ǻ͸ ٽ ϴ, ٽ Ͻʽÿ. + +; *** Uninstaller messages +UninstallNotFound= %1() ʱ , Ÿ ϴ. +UninstallOpenError= %1() , Ÿ ϴ. +UninstallUnsupportedVer= α "%1"() ν ̱ , Ÿ ϴ. +UninstallUnknownEntry= ׸ %1() α׿ ԵǾ ֽϴ. +ConfirmUninstall= %1() Ҹ Ͻðڽϱ? +UninstallOnlyOnWin64= α׷ 64Ʈ Windows ֽϴ. +OnlyAdminCanUninstall= α׷ Ϸ ʿմϴ. +UninstallStatusLabel= ǻͿ %1() ϴ ... ٷ ֽʽÿ. +UninstalledAll=%1() ŵǾϴ! +UninstalledMost=%1 Ű ϷǾϴ.%n%nϺ Ҵ , Ͻñ ٶϴ. +UninstalledAndNeedsRestart=%1 Ÿ ϷϷ, ǻ͸ ٽ ؾ մϴ.%n%n ٽ Ͻðڽϱ? +UninstallDataCorrupted= "%1"() ջǾ , Ÿ ϴ. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle= Ͻðڽϱ? +ConfirmDeleteSharedFile2=ý  α׷ ʽϴ, Ͻðڽϱ?%n%n ٸ α׷ ϰ ִ ¿ , ش α׷ ۵ , Ȯ "ƴϿ" ϼŵ ˴ϴ. ýۿ ־ ʽϴ. +SharedFileNameLabel= ̸: +SharedFileLocationLabel=ġ: +WizardUninstalling= +StatusUninstalling=%1() ϴ ... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1() ġϴ Դϴ. +ShutdownBlockReasonUninstallingApp=%1() ϴ Դϴ. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 %2 +AdditionalIcons= ߰: +CreateDesktopIcon= ȭ鿡 ٷΰ (&D) +CreateQuickLaunchIcon= (&Q) +ProgramOnTheWeb=%1 +UninstallProgram=%1 +LaunchProgram=%1 +AssocFileExtension= Ȯ %2() %1 մϴ. +AssocingFileExtension= Ȯ %2() %1 ϴ ... +AutoStartProgramGroupDescription=: +AutoStartProgram=%1() ڵ +AddonHostProgramNotFound=%1() ġ ϴ.%n%n׷ Ͻðڽϱ? diff --git a/Greenshot/releases/innosetup/Languages/Kurdish.isl b/Greenshot/releases/innosetup/Languages/Kurdish.isl new file mode 100644 index 000000000..dc439c9ed --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Kurdish.isl @@ -0,0 +1,342 @@ +; *** Inno Setup version 5.5.0+ Kurdish messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; Wergr : Hezand Al-Mihrewan +; > Serk bidin malpera me +; Web page : http://www.wergerine.com(Navenda Wergern Kurd) +; > Ji bo tkily +; E-mail : hezand@muslim.com (Hezand Al-Mihrewan) +; > Dema wergerandin (www.bernamegeh.net) +; Ev wergerandin dema 19/09/2012 hatye barkirin + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Kurdish +LanguageID=$0801 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Sazkirin +SetupWindowTitle=Sazkirina %1 +UninstallAppTitle=Rake +UninstallAppFullTitle=%1 Rake + +; *** Misc. common +InformationTitle=Agah +ConfirmTitle=Pirsiyar +ErrorTitle=Kmas + +; *** SetupLdr messages +SetupLdrStartupMessage=Ev sazgr bernameya %1' bar bike. Tu dixwaz bidomn? +LdrCannotCreateTemp=Dosyn demdem nehatkirin. Sazkirin betal b. +LdrCannotExecTemp=Dosya rbara demdem nehatxebitandin. Sazkirin betal b. + +; *** Startup error messages +LastErrorMessage=%1.%n%nKmas %2: %3 +SetupFileMissing=Dosya %1 di nav rbara sazkirin nehatdtin. Ji kerema xwe kmasy biguherin anj kopyeke bername ji n bikin. +SetupFileCorrupt=Dosyayn sazkirin xirab bye. Ji kerema kopyeke bername ji n bikin. +SetupFileCorruptOrWrongVer=Dibe ku dosyayn sazkirin xirab bye anj sazkirin v guhertoyva hev nake. Ji kerema xwe kmasy biguherin anj kopyeke bername ji n bikin. +InvalidParameter=rzika ferman de parametreke betal heye:%n%n%1 +SetupAlreadyRunning=Sazkar jixwe dixebite. +WindowsVersionNotSupported=Ev bername guhertoya Windows li komputer hev nake. +WindowsServicePackRequired=Ev bername pwste ku guhertoya %1 Service Pack %2 anj guhertoyn din. +NotOnThisPlatform=Ev bername ser %1 nay xebitandin. +OnlyOnThisPlatform=Div ev bername biten ser %1 by xebitandin. +OnlyOnTheseArchitectures=Ev bername biten xwedy van guhertoyn Windows' jr tey xebitandin:%n%n%1 +MissingWOW64APIs=Guhertoya Windows' hn kar tnin, ji bo ku sazker barkirina 64-bit' bike xwed taybetyn pwst nne. Ji bo rakirina v kmasy div tu Service Pack %1 bar bik. +WinVersionTooLowError=Ji bo kar ann v bernam div guhertoya %1 %2 anj guhertoyn p bar bibe. +WinVersionTooHighError=Ev bername guhertoya %1 %2 anj guhertoyn p naxebite. +AdminPrivilegesRequired=Dema sazkirina v bernam div rvebr danitin by vekirin. +PowerUserPrivilegesRequired=Dema sazkirina v bernam div Rvebr anj endam komaleya Ser Rvebr tketin by kirin. +SetupAppRunningError=Sazker xebitandina bernameya %1 destnan kir.%n%nJi kerema xwe re hem pareyn bixebit v bernam niha bigre, Peyre Ji bo berdewam Temam' bitikne anj ji bo derketin Betal' bitikne. +UninstallAppRunningError=Rakirin xebitandina bernameya %1 destnan kir..%n%nJi kerema xwe re hem pareyn bixebit v bernam niha bigre, Peyre ji bo berdewam Temam' bitikne anj ji bo derketin Betal' bitikne. + +; *** Misc. errors +ErrorCreatingDir=Sazker rbara" %1 " avanekir. +ErrorTooManyFilesInDir=Rbara " %1 " de dosyek nehatavakirin. ji ber ku rbar dosyn her zde vehewandye. + +; *** Setup common messages +ExitSetupTitle=Sazkirin Derketin +ExitSetupMessage=Tu bawer ku dixwaz Sazkirin derkev? +AboutSetupMenuItem=D&erbar Sazker... +AboutSetupTitle=Derbar Sazker +AboutSetupMessage=%1 %2 guherto%n%3%n%n%1 Internet-Seite:%n%4 +AboutSetupNote= +TranslatorNote=Bernameyn sazkirin her ba digerin serk bidin malpera me...%nhttp://www.bernamegeh.net + +; *** Buttons +ButtonBack=< Veg&ere +ButtonNext=Bi&domne > +ButtonInstall=&Sazbike +ButtonOK=Temam +ButtonCancel=Betal +ButtonYes=Be&l +ButtonYesToAll=Hemyan E&r +ButtonNo=&Na +ButtonNoToAll=Hemyan N&a +ButtonFinish=&Biqedne +ButtonBrowse=&avlgern... +ButtonWizardBrowse=avlger&n... +ButtonNewFolder=Rbarek n a&va bike + +; *** "Select Language" dialog messages +SelectLanguageTitle=Hilbijartina Zman Sazkirin +SelectLanguageLabel= Dema sazkirin zman hn kar tnin hilbijre: + +; *** Common wizard text +ClickNext=Ji bo berdewam Bidomne'y , ji bo derketin Betal ' bitikne. +BeveledLabel= +BrowseDialogTitle=avlgerne Rbar +BrowseDialogLabel=Lsteya jrde rbarek hilbijre, pa bikoja Temam' bitikne. +NewFolderName=Rbara N + +; *** "Welcome" wizard page +WelcomeLabel1=Hn Bixr Hatin Srbazya Sazkirina [name]. +WelcomeLabel2=Sazker niha bernameya [name] li komptura te saz bike.%n%nBer tu dest bi sazkirin bik.Em pnyar dikin tu hem bernameyn vekir bigir. + +; *** "Password" wizard page +WizardPassword=fre +PasswordLabel1=Ev sazker bi fre hatye parastin. +PasswordLabel3=Ji kerema xwe frey binivsin. Pa ji bo berdewam Bidomne'y bitikne. Dema hn frey dinivsin bala xwe bidin tpn Mezin-Pik. +PasswordEditLabel=&fre: +IncorrectPassword=freya hate nivs ewtye. Dsa biceribne. + +; *** "License Agreement" wizard page +WizardLicense=Peymana Lsans +LicenseLabel=Berya domandin girnge ku tu agahyn jr bixwn +LicenseLabel3=Ji kerema xwe re Peymana Lsans bixwne. Ji bo sazkirina bernam div tu ertn peyman bipejirn.. +LicenseAccepted=Ez Peyman &Dipejirnim +LicenseNotAccepted=Ez Peyman &Napejirnim + +; *** "Information" wizard pages +WizardInfoBefore=Agah +InfoBeforeLabel=Berya domandin girnge ku tu agahyn jr bixwn +InfoBeforeClickLabel=Dema tu Sazkerva domandin amadeb Bidomne'y bitikne. +WizardInfoAfter=Agah +InfoAfterLabel=Berya domandin girnge ku tu agahyn jr bixwn. +InfoAfterClickLabel=Dema tu Sazkerva domandin amadeb Bidomne'y bitikne. + +; *** "User Information" wizard page +WizardUserInfo=Agahyn Bikarhner +UserInfoDesc=Ji kerema xwe agahyn xwe binivse. +UserInfoName=N&av Bikarhner: +UserInfoOrg=Par&dar: +UserInfoSerial=&Jimara Ser: +UserInfoNameRequired=Div tu navek binivs. + +; *** "Select Destination Directory" wizard page +WizardSelectDir=Rbara By Sazkirin Hilbijre +SelectDirDesc=Bernameya [name] kjan peldank by sazkirin? +SelectDirLabel3=Sazker bernameya [name] ji peldanka jre saz bike. +SelectDirBrowseLabel=Ji bo berdewam Bidomne'y bitikne. Ji bo tu li peldankeke din saz bik avlgern' bitikne. +DiskSpaceMBLabel = Ev bername her hindik [mb] MB herma disk pwste.. +CannotInstallToNetworkDrive = Hn sazkar nikarin bar bikin ajokarek tor. +CannotInstallToUNCPath = Hn nikarin sazkar bar bikin rya UNC. +InvalidPath=Div tu bitev nav ajokarva rya rast binivs; Mnan ,Mnak %nC:\APP%n%n anj ryeke UNC %n%n\\pkkar\parvedann%n%n binivs. +InvalidDrive=Ajokara hate hilbijart nay dtin anj nay gehtin. Ji kerema xwe re ajokareke din hilbijre. +DiskSpaceWarningTitle=Herma vala ya nebes +DiskSpaceWarning=Sazker her hindik %1 KB herma vala ya ku by karann pwste. L bel dska hilbijartde %2 KB ch vala heye.%n%nDsa j dixwaz bidomn? +DirNameTooLong=Nav rbar anj r zehf dirje. +InvalidDirName=Nav rbar betale. +BadDirName32=Nav rbar ,qet navn mnan hilnade:%n%n%1 +DirExistsTitle=Rbar Hatdtin +DirExists=Rbar:%n%n%1%n%n tde heye. Dsa j tu bawer ku dixwaz v rbar saz bik? +DirDoesntExistTitle=Rbar Nehatdtin +DirDoesntExist=Rbar:%n%n%1%n%ntde tune. Dixwaz v rbar bik? + +; *** "Select Components" wizard page +WizardSelectComponents=Hevbar Hilbijre +SelectComponentsDesc=Kjan hevbar by sazkirin? +SelectComponentsLabel2=Hevbarn tu dixwaz saz bik hilbijre; n naxwaz paqij bike.Dema tu ji bo domandin amade by Bidomne'y bitikne. +FullInstallation=Sazkirina Bitam +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Sazkirina Normal +CustomInstallation=Sazkirina Taybet +NoUninstallWarningTitle=Hevbarn mewcud +NoUninstallWarning=Sazker destnan kir ku hevbarn jr sazkirye:%n%n%1%n%nHilbijartina van hevbara rak l bel ev hevbar j nab.%n%nDsa j dixwaz bidomn? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Ji bo hevbarn bijart her hindik [mb] MB herma dsk pwste. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Peywir Veser Hilbijre +SelectTasksDesc=Kjan peywir by kirin? +SelectTasksLabel2=Dema sazkirina [name] kjan peywir veser dixwaz hilbijr bidomne'y bitikne. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Rbara Peka Destpk Hilbijre +SelectStartMenuFolderDesc=Sazker kineriyn bernam tke ku? +SelectStartMenuFolderLabel3=Sazker kineriyn bernam peldanka peka destpk jr bide chkirin. +SelectStartMenuFolderBrowseLabel=Ji bo berdewam, Bidomne'y bitikne. Peldankeke din bixwaz hilbijr, avlgern' bitikne. +MustEnterGroupName=Div tu navek rbar binivs. +GroupNameTooLong=Nav rbar anj r zehf dirje. +InvalidGroupName=Nav rbar nebese. +BadGroupName=Nav rbar ,qet navn mnan hilnade:%n%n%1 +NoProgramGroupCheck2=&peldank peka destpk de ava bike + +; *** "Ready to Install" wizard page +WizardReady=Ji bo Sazkirin Amadaye +ReadyLabel1=Sazker amadeye ku bernameya [name] ji komptura te saz bike. +ReadyLabel2a= Ji bo berdewama sazkirin Sazbike'y , Ji guhertina mihengan Vegere'y bitikne. +ReadyLabel2b=Ji bi domandina sazkirin Sazbike'y bitikne. +ReadyMemoUserInfo=Agahya Bikarhner: +ReadyMemoDir=Peldanka Armanckir: +ReadyMemoType=Cureya Sazkirin: +ReadyMemoComponents=Hevbarn Hilbijart: +ReadyMemoGroup=Menya Destpk : +ReadyMemoTasks=Peywirn Veser: + +; *** "Preparing to Install" wizard page +WizardPreparing=Sazkirin Tey Amadekirin +PreparingDesc=Sazker ji bo bernameya [name]' ji komptura te saz bike amade dibe. +PreviousInstallNotCompleted=Kirarya ad bernameya Sazkirin/Rakirin'a ya p qedya.Ji bo qedandina kirarya sazkirina ya p div tu komptur ji n bid destpkirin.%n%nPey destpkirina komptur ,sazkirin bixebitne kirarya bernameya [name]' dsa bidomne. +CannotContinue=Sazker nikare berdewam bike. Ji kerema xwe Betal' bitikne derkeve. +ApplicationsFound=Sepann jr div dosyayn aly sazkar by rojane kirin kar tne.Sazkar bi otomatk van bernameya digire ,em pnyar dikin ku tu destr bid. +ApplicationsFound2=Sepann jr div dosyayn aly sazkar by rojane kirin kar tne.Sazkar bi otomatk van bernameya digire ,em pnyar dikin ku tu destr bid.Pey qedandina saz kirin, Sazka sepanan dsa biceribne. +CloseApplications=&Bi otomatk sepann vekir bigire +DontCloseApplications=&Sepann vekir negire + +; *** "Installing" wizard page +WizardInstalling=Ty Sazkirin +InstallingLabel=Ji kerema xwe re dema sazkirina [name] by kirin raweste. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Srbaza Sazkara [name] ty qedandin... +FinishedLabelNoIcons=Sazkar kirarya bernameya [name]' ji komptura te qedand. +FinishedLabel=Sazkar kirarya bernameya [name]' ji komptura te qedand. Bitikne direfn (icon) hatin barkirin bernam bixebitne. +ClickFinish=Ji bo derketina Sazker Biqedne'y bitikne. +FinishedRestartLabel=Ji bi dawkirina bernameya [name], Sazker komptur ji n dest p bike. Bila komptura we ji n by destp kirin? +FinishedRestartMessage=Ji bo dawkirina sazkirina [name], div komptur ji n by destp kirin. %n%nBila komptura we ji n by destp kirin? +ShowReadmeCheck=Dixwazim dosya Min Bixwne bibnim. +YesRadio=&Bel , komptur ji n desp bike. +NoRadio=&Na, ez careke din destp bikim. +; used for example as 'Run MyProg.exe' +RunEntryExec=Sepana %1 bixebitne +; used for example as 'View Readme.txt' +RunEntryShellExec=Dosya %1 nan bide + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Dska ya pa tk +SelectDiskLabel2=Dska jimare %1 tkin, Temam' bitikne.%n%nHeke dosyan chek din be ch rast binivse anj avligern' bitikne. +PathLabel=&R: +FileNotInDir2=Dosya " %1 " ji rbara " %2 " nehatdtin. Ji kerema xwe re dska rast anj dosyaya rast hilbijre. +SelectDirectoryLabel=Ji kerema xwe re ch dska ya pa diyar bike. + +; *** Installation phase messages +SetupAborted=Sazkirin nehatqedandin.%n%nJi kerema xwe re kmasy biguhere anj Sazkirin' dsa bixebitne. +EntryAbortRetryIgnore=Ji bo ceribandin "Dsa biceribne" y , dsa j dixwaz berdewam bik Nehewisne'y, Ji bo betal kirina sazy Betal' bitikne. + +; *** Installation status messages +StatusClosingApplications=Sepann vekir ty vegirtin... +StatusCreateDirs=Rbar ty avakirin... +StatusExtractFiles=Dosyan ty derxistin... +StatusCreateIcons=Kineriyn bernem ty avakirin... +StatusCreateIniEntries=Nvs INI ty avakirin... +StatusCreateRegistryEntries=Nvs Lnsk Qeyd ty avakirin... +StatusRegisterFiles=Dosyan ji pergal tey tomarkirin... +StatusSavingUninstall=Agahy rakirin tey tomarkirin... +StatusRunProgram=Sazkirin ty qedandin... +StatusRestartingApplications=Sepanan ji n dest p dike... +StatusRollback=Cuday ty vegirtin... + +; *** Misc. errors +ErrorInternal2=ewtya Hndir: %1 +ErrorFunctionFailedNoCode=%1 neserkeft b. +ErrorFunctionFailed=%1 neserkeft b; kod %2 +ErrorFunctionFailedWithMessage=%1 neserkeft b ; kod %2.%n%3 +ErrorExecutingProgram=Dosya %1 nehatxebitandin. + +; *** Registry errors +ErrorRegOpenKey=Dema vekirina kilda lnska qeyd ya jr kmasyek b:%n%1\%2 +ErrorRegCreateKey=Dema vekirina kilda lnska qeyd ya jr kmasyek b:%n%1\%2 +ErrorRegWriteKey=Dema vekirina kilda lnska qeyd ya jr kmasyek b:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Dosya " %1 " ji nivsa kmasya nvs INI. + +; *** File copying errors +FileAbortRetryIgnore=Ji bo ceribandin "Dsa biceribne" y , dsa j dixwaz berdewam bik Nehewisne'y(Pnyar Nakin), Ji bo betal kirina sazy Betal' bitikne. +FileAbortRetryIgnore2=Ji bo ceribandin "Dsa biceribne" y , dsa j dixwaz berdewam bik Nehewisne'y(Pnyar Nakin), Ji bo betal kirina sazy Betal' bitikne. +SourceIsCorrupted=Dosya avkan xirab bye +SourceDoesntExist=%1 dosya avkan nehatdtin. +ExistingFileReadOnly=Dosya Ten ty xwandin.%n%nJi bo ceribandin taybetya Ten xwandin rake "Dsa biceribne" y , dsa j dixwaz berdewam bik Nehewisne'y, Ji bo betal kirina sazy Betal' bitikne. +ErrorReadingExistingDest=Dema xwandina dosyay ewtyek b : +FileExists=Dosya tde heye.%n%nDixwaz ser sazkirin binivs? +ExistingFileNewer=Dosya tde heye barkirina Sazker' dixwaz j ntire. Em pnyar dikin ku Dosyaya hey verin.%n%nDosyaya hey dixwaz by veartin? +ErrorChangingAttr=Dema guhertina dosya tde hey ewtyek b: +ErrorCreatingTemp=Dema avakirina dosya peldanka armackir ewtyek b: +ErrorReadingSource=Dema xwandina dosya avkan de ewtyek b: +ErrorCopying=Dema kopkirina dosyek ewtyek b: +ErrorReplacingExistingFile=Dema guhertina dosya tde hey ewtyek b: +ErrorRestartReplace=RestartReplace neserkeft b: +ErrorRenamingTemp=Dema guhertina dosya peldanka armanckir hey ewtyek b: +ErrorRegisterServer=%1 ji DLL/OCX pergal nehatnaskirin. +ErrorRegSvr32Failed=Kmasya derketina RegSvr32 %1 va neserkeft b +ErrorRegisterTypeLib=%1 ji pirtkxaneya Type (Type Library) pergal nehatnaskirin + +; *** Post-installation errors +ErrorOpeningReadme=Dema vekirina dosya Min Bixwne ewt b. +ErrorRestartingComputer=Sazkirin komptur ji n dest p nekir. Ji xwe komptur bigire. + +; *** Uninstaller messages +UninstallNotFound=Dosya %1 nehatdtin. Bernameya Rakirin nehatxebitandin. +UninstallOpenError=Dosya "%1" nay vekirin. Bernameya Rakirin nehatxebitandin. +UninstallUnsupportedVer=Dosya agahya rakirin %1 ji guhertoya bernameya rakirinva hev nake. Bernameya Rakirin nehatxebitandin. +UninstallUnknownEntry=Ji dosya agahya rakirinde gotina %1 nehat fehmkirin +ConfirmUninstall=Tu bawer ku dixwaz %1 hevbarn w rak? +UninstallOnlyOnWin64=Ev bername biten 64-bit Windows' dike. +OnlyAdminCanUninstall=Ev sazkirin biten ji aly kesn ku xwedy rvebr karbidest ty rakirin. +UninstallStatusLabel=Ji kerema xwe re dema bernameya %1 ji komptur ty rakirin raweste... +UninstalledAll=Bernameya %1 ji komptur bitemam hat rakirin. +UninstalledMost=Kirar rakirina bernameya %1 qedya.%n%nHinek hevbar nehat rakirin. Van dosya hn ten dikarin rakin. +UninstalledAndNeedsRestart=Rakirina bernameya %1 qedya, Div tu komptur ji n dest p bik..%n%nBila niha ji n destp bike? +UninstallDataCorrupted=Dosya "%1" xirab bye. Bernameya rakirin nehat xebitandin. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Dosya Hate Parvekirin Bila By Rakirin? +ConfirmDeleteSharedFile2=Diyar dike ku hine dosyay ji pergal hatin parvekirin d derbar tu bernameyek nay kar ann. Rakirin van dosyayn hatin parvekirin bila j bib?%n%n Ew ku ev dosya derbar hine bernameyan t kar ann tu bixwaz j bib, dibe ku ev bernameyan pak nay xebitandin. Tu ne bawer, Na'y bitikne. Mayna dosyay ji pergal xesar nade komptur. +SharedFileNameLabel=Nav Dosya: +SharedFileLocationLabel=R: +WizardUninstalling=Rewa Rakirin +StatusUninstalling=%1 Ty Rakirin... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Ty sazkirin %1. +ShutdownBlockReasonUninstallingApp=Ty rakirin %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=guhertoya %1 %2 +AdditionalIcons=Diref Veser: +CreateDesktopIcon=Direfa Sermase ava bike +CreateQuickLaunchIcon=Direfa Destpka Bilez &ava bike +ProgramOnTheWeb=Malpera %1 +UninstallProgram=Bernameya %1 Rake +LaunchProgram=Bernameya %1 Bixebitne +AssocFileExtension=Direjeyn dosya %2 ji %1 va hev bne +AssocingFileExtension=Direjeyn dosya %2 ji %1 va ty hevhann... +AutoStartProgramGroupDescription = Destpk: +AutoStartProgram = %1 otomatk dikar dest p bik +AddonHostProgramNotFound =%1 peldanka bijart ch tune.% N% nDsaj dixwaz bidomn? diff --git a/Greenshot/releases/innosetup/Languages/Ligurian.isl b/Greenshot/releases/innosetup/Languages/Ligurian.isl new file mode 100644 index 000000000..d1f38348f --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Ligurian.isl @@ -0,0 +1,321 @@ +; *** Inno Setup version 5.1.11+ Ligurian messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Traduto da GENOVES.com.ar +; E-mail: info@genoves.com.ar +; - Parlemmo zeneize - + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Zeneize +LanguageID=0 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalaion +SetupWindowTitle=Instalaion de %1 +UninstallAppTitle=Dizinstalaion +UninstallAppFullTitle=Dizinstalaion de %1 + +; *** Misc. common +InformationTitle=Informaioin +ConfirmTitle=Conferma +ErrorTitle=Er + +; *** SetupLdr messages +SetupLdrStartupMessage=Questa a l' l'instalaion de %1. Se dexidera and avanti? +LdrCannotCreateTemp=Inposcibile cre un file tenporanio. Instalaion anul +LdrCannotExecTemp=Inposcibile ezego un file inta cartella tenporania. Instalaion anul + +; *** Startup error messages +LastErrorMessage=%1.%n%nEr %2: %3 +SetupFileMissing=File %1 no atrovou inta cartella d'instalaion. Corezi o problema domanda unna neuva cpia do programma. +SetupFileCorrupt=I archivi d'instalaion son danez. Pigite unna neuva cpia do programa. +SetupFileCorruptOrWrongVer=I archivi d'instalaion son danez, son inconpatibili con questa verscion do programma d'instalaion. Corezi o problema pigite unna neuva cpia do programma. +NotOnThisPlatform=Questo programma o no l' conpatibile con %1. +OnlyOnThisPlatform=Questo programma o l' bezeugno de %1. +OnlyOnTheseArchitectures=Questo programma o peu ese instalou solo in sce verscioin de Windows proget pe-e segoenti architetue do proces:%n%n%1 +MissingWOW64APIs=A verscion de Windows deuvi a no l'includde a fonsionalit domand da-o programma d'instalaion pe realiz unn'instalaion a 64-bit. Pe coreze questo problema, installa o Service Pack %1. +WinVersionTooLowError=Questo programma o l' bezeugno de %1 verscion %2 sucesciva. +WinVersionTooHighError=Questo programma o no peu ese instalou in sce %1 verscion %2 sucesciva. +AdminPrivilegesRequired=Ghe veu i privilegi d'aministrat pe instal questo programma. +PowerUserPrivilegesRequired=Ghe veu i privilegi d'aministrat de Power Users pe poei instal questo programma. +SetupAppRunningError=%1 o l' atoalmente in ezecuion.%n%nSra oua tutte e istanse do programma e dapeu sciacca D'acrdio, donque sciacca Anulla pe sciort. +UninstallAppRunningError=%1 o l' atoalmente in ezecuion.%n%nSra oua tutte e istanse do programma e dapeu sciacca D'acrdio, donque sciacca Anulla pe sciort. + +; *** Misc. errors +ErrorCreatingDir=Inposcibile cre a cartella "%1" +ErrorTooManyFilesInDir=Inposcibile cre i file inta cartella "%1" perch a contegne trppi file + +; *** Setup common messages +ExitSetupTitle=Sciortia da l'instalaion +ExitSetupMessage=L'instalaion a no l' conpleta. Se ti scirti da l'instalaion inte questo momento, o programma o no sai instalou.%n%nL' poscibile ezego l'instalaion int'un segondo tenpo.%n%nSciort da l'instalaion? +AboutSetupMenuItem=&Informaioin in sce l'instalaion... +AboutSetupTitle=Informaioin in sce l'instalaion +AboutSetupMessage=%1 verscion %2%n%3%n%n%1 scito web:%n%4 +AboutSetupNote= +TranslatorNote=Ligurian translation maintained by GENOVES.com.ar + +; *** Buttons +ButtonBack=< &Inder +ButtonNext=&Avanti > +ButtonInstall=Inst&alla +ButtonOK=D'acrdio +ButtonCancel=Anulla +ButtonYes=&Sci +ButtonYesToAll=Sci a &tutto +ButtonNo=&No +ButtonNoToAll=N&o a tutto +ButtonFinish=&Fin +ButtonBrowse=&Sfeuggia... +ButtonWizardBrowse=S&feuggia... +ButtonNewFolder=&Crea neuva cartella + +; *** "Select Language" dialog messages +SelectLanguageTitle=Seleionn-a a lengoa de l'instalaion +SelectLanguageLabel=Seleionn-a a lengoa da deuvi durante l'instalaion: + +; *** Common wizard text +ClickNext=Premere Avanti pe contino, Anulla pe sciort. +BeveledLabel= +BrowseDialogTitle=Sfeuggia pe cartelle +BrowseDialogLabel=Seleion unna cartella d'into listin, dapeu sciac D'acrdio. +NewFolderName=Neuva cartella + +; *** "Welcome" wizard page +WelcomeLabel1=Benvegnui into programma d'instalaion de [name] +WelcomeLabel2=[name/ver] o l'andi instalou in scio computer.%n%nSe conseggia de ser tutte e aplicaioin ative primma de contino. + +; *** "Password" wizard page +WizardPassword=Parlla d'ordine +PasswordLabel1=Questa instalaion a l' protezua da parlla d'ordine. +PasswordLabel3=Introdue a parlla d'ordine, dapeu sciac in sce Avanti pe contino. E parlle d'ordine son sensibili a maiuscole/minuscole. +PasswordEditLabel=&Parlla d'ordine: +IncorrectPassword=A parlla d'ordine introduta a no l' coretta, preuvighe torna. + +; *** "License Agreement" wizard page +WizardLicense=Contratto de licensa +LicenseLabel=Leze con atenion e informaioin che segoan primma de contino. +LicenseLabel3=Leze o segoente contratto de licensa. Bezeugna acet tutti i termini do contratto pe poei contino con l'instalaion. +LicenseAccepted=Acetto i termini do &contratto de licensa +LicenseNotAccepted=&No acetto i termini do contratto de licensa + +; *** "Information" wizard pages +WizardInfoBefore=Informaioin +InfoBeforeLabel=Leze e queste informaioin inportanti primma d'and avanti. +InfoBeforeClickLabel=Quande semmo pronti pe contino, sciacca Avanti. +WizardInfoAfter=Informaioin +InfoAfterLabel=Leze e queste informaioin inportanti primma d'and avanti. +InfoAfterClickLabel=Quande semmo pronti pe contino, sciacca Avanti. + +; *** "User Information" wizard page +WizardUserInfo=Informaioin de l'utente +UserInfoDesc=Introduxi e segoenti informaioin. +UserInfoName=&Nomme: +UserInfoOrg=&Socjet: +UserInfoSerial=&Numero de serie: +UserInfoNameRequired=Bezeugna introdue un nomme. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Seleione da cartella d'instalaion +SelectDirDesc=Dove se dexidera instal [name]? +SelectDirLabel3=[name] o l'andi instalou inta segoente cartella. +SelectDirBrowseLabel=Pe contino, sciacca Avanti. Pe erne unn'atra cartella, sciaccaSfeuggia. +DiskSpaceMBLabel=Ghe veu armeno [mb] MB de spaio into disco. +ToUNCPathname=No l' posciblie instal in sce 'n percorso de r. Se ti installi atraverzo unna r, bezeugna conette a risorsa comme unna unit de r. +InvalidPath=Bezeugna introdue un percorso conpleto de letera d'unit; per ezenpio:%n%nC:\APP%n%no un percorso de r inta forma:%n%n\\server\condivixon +InvalidDrive=L'unit o percorso de r seleionou o no l'existe o no l' acesibile. Seleion-ine un atro. +DiskSpaceWarningTitle=Spaio into disco insuficente +DiskSpaceWarning=L'instalaion a veu armeno %1 KB de spaio veuo pe ezegoise, ma l'unit seleion a gh' solo %2 KB disponibili.%n%nSe dexidera contino o stesso? +DirNameTooLong=O nomme da cartella o percorso son trppo longhi. +InvalidDirName=O nomme da cartella o no l' valido. +BadDirName32=O nomme da cartella o no peu includde nisciun di carateri segoenti:%n%n%1 +DirExistsTitle=Cartella z existente +DirExists=A cartella:%n%n%1 za a l'existe.%n%nSe dexidera deuviala o stesso? +DirDoesntExistTitle=Cartella inexistente +DirDoesntExist=A cartella:%n%n%1 a no l'existe.%n%nSe dexidera creala? + +; *** "Select Components" wizard page +WizardSelectComponents=Seleion de conponenti +SelectComponentsDesc=Che conponenti devan ese instal? +SelectComponentsLabel2=Seleionn-a i conponenti da instal, deseleionn-a quelli che no se dexidera instal. Sciacca Avanti pe contino. +FullInstallation=Instalaion conpleta +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instalaion conpatta +CustomInstallation=Instalaion personaliz +NoUninstallWarningTitle=Conponente existente +NoUninstallWarning=I segoenti conponenti son za instal in scio computer:%n%n%1%n%nSe se deseleionn-a questi conponenti, no saian elimin.%n%nSe dexidera contino o stesso? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=A seleion corente a veu armeno de [mb] MB de spaio into disco. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Seleion de processi adiionali +SelectTasksDesc=Che processi azontivi se veu inandi? +SelectTasksLabel2=Seleionn-a i processi azontivi che andian ezegoii durante l'instalaion de [name], dapeu sciacca Avanti. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Seleion da cartella into men Iniio/Start (Avvio) +SelectStartMenuFolderDesc=Dove se veu introdue i colegamenti a-o programma? +SelectStartMenuFolderLabel3=Se fai i colegamenti a-o programma inta segoente cartella do men Iniio/Start (Avvio). +SelectStartMenuFolderBrowseLabel=Pe contino, sciacca Avanti. Pe seleion unn'atra cartella, sciacca Sfeuggia. +MustEnterGroupName=Se deve introdue o nomme da cartella. +GroupNameTooLong=O nomme da cartella o percorso son trppo longhi. +InvalidGroupName=O nomme da cartella o no l' valido. +BadGroupName=O nomme da cartella o no peu includde nisciun di carateri segoenti:%n%n%1 +NoProgramGroupCheck2=&No cre unna cartella into men Iniio/Start (Avvio) + +; *** "Ready to Install" wizard page +WizardReady=Pronto pe l'instalaion +ReadyLabel1=O programma d'instalaion o l' pronto pe inii l'instalaion de [name] in scio computer. +ReadyLabel2a=Sciacca Installa pe contino con l'instalaion, Inder pe rivedde modific e inpostaioin. +ReadyLabel2b=Sciacca Installa pe and avanti con l'instalaion. +ReadyMemoUserInfo=Informaioin de l'utente: +ReadyMemoDir=Cartella d'instalaion: +ReadyMemoType=Tipo d'instalaion: +ReadyMemoComponents=Conponenti seleion: +ReadyMemoGroup=Cartella do men Iniio/Start (Avvio): +ReadyMemoTasks=Processi adiionali: + +; *** "Preparing to Install" wizard page +WizardPreparing=Preparaion a l'instalaion +PreparingDesc=Preparaion a l'instalaion de [name] in scio computer. +PreviousInstallNotCompleted=L'instalaion/eliminaion precedente do programma a no l' stta conplet. Bezeugna arv torna o scistemma pe conplet l'instalaion.%n%nDppo arv torna o scistemma, preuva torna l'instalaion de [name]. +CannotContinue=L'instalaion a no peu contino. Sciacca Anulla pe sciort. + +; *** "Installing" wizard page +WizardInstalling=Instalaion in corso +InstallingLabel=Speta che l'instalaion de [name] in scio computer a segge conpleta. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Conpletamento de l'instalaion de [name] +FinishedLabelNoIcons=L'instalaion de [name] a l' stta conplet con sucesso. +FinishedLabel=L'instalaion de [name] a l' stta conplet con sucesso. L'aplicaion a peu ese ezegoia con seleion e relative icne. +ClickFinish=Sciacca Fin pe sciort da l'instalaion. +FinishedRestartLabel=Pe conplet l'instalaion de [name], bezeugna arv torna o scistemma. Se dexidera arvilo torna oua? +FinishedRestartMessage=Pe conplet l'instalaion de [name], bezeugna arvi torna o scistemma.%n%nSe dexidera arvilo torna oua? +ShowReadmeCheck=Sci, veuggio vedde l'archivio LEZIME oua +YesRadio=&Sci, arvi torna o scistemma oua +NoRadio=&No, arvilo torna ci tardi +; used for example as 'Run MyProg.exe' +RunEntryExec=Inandia %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Vixoalizza %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=L'instalaion a l' bezeugno do disco sucescivo +SelectDiskLabel2=Introduxi o disco %1 e sciacca D'acrdio.%n%nSe i archivio in sce questo disco s'atreuvan int'unna cartella diversa da quella vixoaliz chi sotta, introduxi o percorso coretto sciacca Sfeuggia. +PathLabel=&Percorso: +FileNotInDir2=L'archivio "%1" o no l' stto atrovou inte "%2". Introduxi o disco coretto seleionn-a unn'atra cartella. +SelectDirectoryLabel=Specific o percorso do proscimo disco. + +; *** Installation phase messages +SetupAborted=L'instalaion a no l' stta conplet.%n%nCorezi o problema e ripeti l'instalaion. +EntryAbortRetryIgnore=Sciacca in sce Preuva torna pe tent ancon unna vtta, Ignora pe and avanti in gni caxo, Interonpi pe termin l'instalaion. + +; *** Installation status messages +StatusCreateDirs=Creaion de cartelle... +StatusExtractFiles=Estraion d'archivi... +StatusCreateIcons=Creaion de icne... +StatusCreateIniEntries=Creaion de voxe inti file INI... +StatusCreateRegistryEntries=Creaion de voxe de registro... +StatusRegisterFiles=Registraion d'archivi... +StatusSavingUninstall=Sarvataggio de informaioin de dizinstalaion... +StatusRunProgram=Fin de l'instalaion... +StatusRollback=Repiggio de modifiche... + +; *** Misc. errors +ErrorInternal2=Er Interno %1 +ErrorFunctionFailedNoCode=%1 falio +ErrorFunctionFailed=%1 falio; cdice %2 +ErrorFunctionFailedWithMessage=%1 falio; cdice %2.%n%3 +ErrorExecutingProgram=Inposcibile ezego l'archivio:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Er d'avertura da ciave de registro:%n%1\%2 +ErrorRegCreateKey=Er de creaion da ciave de registro:%n%1\%2 +ErrorRegWriteKey=Er de scritua da ciave de registro:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Er inta creaion de voxe INI into file "%1". + +; *** File copying errors +FileAbortRetryIgnore=Sciacca Preuva torna pe tent ancon unna vtta, Ignora pe sat questo file (sconsegiou), Interonpi pe termin l'instalaion. +FileAbortRetryIgnore2=Sciacca Preuva torna pe tent ancon unna vtta, Ignora pe and avanti o stesso (sconsegiou), Interonpi pe termin l'instalaion. +SourceIsCorrupted=L'archivio sorgente o l' danezou +SourceDoesntExist=L'archivio sorgente "%1" o no l'existe +ExistingFileReadOnly=L'archivio existente o gh' l'atributo de sola letua.%n%nSciacca Preuva torna pe lev l'atributo de sola letua e tent ancon unna vtta, Ignora pe sat questo file, Interonpi pe termin l'instalaion. +ErrorReadingExistingDest=S' verificou un er durante a letua de l'archivio existente: +FileExists=L'archivio za o l'existe.%n%nTi veu sorvescrivilo? +ExistingFileNewer=L'archivio existente o l' ci reente de quello che s' apreuvo a instal. Se racomanda de mantegn l'archivio existente.%n%nSe dexidera mantegn l'archivio existente? +ErrorChangingAttr=S' verificou un er durante o tentativo de modifica de l'atributo de l'archivio existente: +ErrorCreatingTemp=S' verificou un er durante a creaion d'un archivio inta cartella d'instalaion: +ErrorReadingSource=S' verificou un er durante a letua de l'archivio sorgente: +ErrorCopying=S' verificou un er durante a cpia d'un archivio: +ErrorReplacingExistingFile=S' verificou un er durante a sorvescritua de l'archivio existente: +ErrorRestartReplace=Er durante Riavertua-Sostitoion: +ErrorRenamingTemp=S' verificou un er durante o tentativo de rinomin un archivio inta cartella d'instalaion: +ErrorRegisterServer=Inposcibile registr a DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 o l' falio con cdice de sciortia %1 +ErrorRegisterTypeLib=Inposcibile registr a libreria de tipo: %1 + +; *** Post-installation errors +ErrorOpeningReadme=S' verificou un er durante l'avertura de l'archivio LEZIME. +ErrorRestartingComputer=Inposcibile arv torna o scistemma. Inandialo torna manoalmente. + +; *** Uninstaller messages +UninstallNotFound=L'archivio "%1" o no l'existe. Inposcibile dizinstal. +UninstallOpenError=L'archivio "%1" o no peu ese averto. Inposcibile dizinstal +UninstallUnsupportedVer=O file log de dizinstalaion "%1" o l' int'un formato no riconosciuo da questa verscion do programma de dizinstalaion. Inposcibile dizinstal +UninstallUnknownEntry=Atrovou unna voxe sconosciua (%1) into file log de dizinstalaion +ConfirmUninstall=Se dexidera elimin conpletamente %1 e tutti i seu conponenti? +UninstallOnlyOnWin64=Questa aplicaion a peu ese dizinstal solo in sce Windows a 64-bit. +OnlyAdminCanUninstall=Questa aplicaion a peu ese dizinstal solo da un utente con privilegi d'aministrat. +UninstallStatusLabel=Speta finn-a quande %1 o sai eliminou da-o computer. +UninstalledAll=%1 o l' stto eliminou con sucesso da-o computer. +UninstalledMost=Dizinstalaion de %1 conplet.%n%nerti elementi no peuan ese elimin. Se dovi eliminali manoalmente. +UninstalledAndNeedsRestart=Pe conplet a dizinstalaion de %1, bezeugna arv o scistemma da cappo.%n%nSe dexidera inandialo torna oua? +UninstallDataCorrupted=L'archivio "%1" o l' danezou. Inposcibile dizinstal + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Elimin l'archivio condivizo? +ConfirmDeleteSharedFile2=O scistemma o l'indica che o segoente archivio condivizo o no l' ci deuviou da nisciun programma. Elimin quest'archivio condivizo?%n%nSe quarche programma o deuviesse quest'archivio, o porieiva no fonsion ci coretamente. Se no ti o s con precixon, erni No. O lasci l'archivio into scistemma o no peu acaxon di danni. +SharedFileNameLabel=Nomme de l'archivio: +SharedFileLocationLabel=Percorso: +WizardUninstalling=Stato da dizinstalaion +StatusUninstalling=Dizinstalaion de %1 in corso... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 verscion %2 +AdditionalIcons=Icne azontive: +CreateDesktopIcon=Crea unn'icna in scio &desktop +CreateQuickLaunchIcon=Crea unn'icna inta &bara d'avertua veloce +ProgramOnTheWeb=%1 in scio Web +UninstallProgram=Dizinstalla %1 +LaunchProgram=Inandia %1 +AssocFileExtension=&Asccia l'estension %2 a %1 +AssocingFileExtension=Asociaion de l'estension %2 a %1 in corso... \ No newline at end of file diff --git a/Greenshot/releases/innosetup/Languages/Lithuanian.isl b/Greenshot/releases/innosetup/Languages/Lithuanian.isl new file mode 100644 index 000000000..b3e220036 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Lithuanian.isl @@ -0,0 +1,367 @@ +; *** Inno Setup version 6.0.3+ Lithuanian messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; Translated by Robertas Rimas (Loptar AT takas DOT lt) +; Corrected and updated by Rolandas Rudomanskis (rolandasr AT gmail DOT com) +; Corrected and updated to version 6.0.3+ by Dalius Guzauskas (aka Tichij) (tichij AT mail DOT com) + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Lietuvi<0173> +LanguageID=$0427 +LanguageCodePage=1257 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Diegimas +SetupWindowTitle=Diegimas - %1 +UninstallAppTitle=Paalinimas +UninstallAppFullTitle=%1 paalinimas + +; *** Misc. common +InformationTitle=Informacija +ConfirmTitle=Patvirtinimas +ErrorTitle=Klaida + +; *** SetupLdr messages +SetupLdrStartupMessage=%1 diegimas. Norite tsti? +LdrCannotCreateTemp=Negaliu sukurti laikinojo failo. Diegimas nutraukiamas +LdrCannotExecTemp=Negaliu vykdyti failo laikinajame kataloge. Diegimas nutraukiamas +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1.%n%nKlaida %2: %3 +SetupFileMissing=Diegimo kataloge nerastas %1 failas. Paalinkite i problem arba sigykite nauj programos kopij. +SetupFileCorrupt=diegiami failai sugadinti. sigykite nauj programos kopij. +SetupFileCorruptOrWrongVer=diegiami failai yra sugadinti arba nesuderinami su diegimo programa. Itaisykite problem arba sigykite nauj programos kopij. +InvalidParameter=Klaidingas parametras buvo gautas i komandins eiluts:%n%n%1 +SetupAlreadyRunning=Diegimo programa jau yra paleista. +WindowsVersionNotSupported=i programa nesuderinama su Js kompiuteryje diegta Windows versija. +WindowsServicePackRequired=i programa reikalauja %1 Service Pack %2 ar vlesns versijos. +NotOnThisPlatform=i programa negali bti paleista %1 aplinkoje. +OnlyOnThisPlatform=i programa turi bti leidiama %1 aplinkoje. +OnlyOnTheseArchitectures=i programa gali bti diegta tik Windows versijose, turiniose ias procesoriaus architektras:%n%n%1 +WinVersionTooLowError=i programa reikalauja %1 %2 ar vlesns versijos. +WinVersionTooHighError=i programa negali bti diegta %1 %2 ar vlesns versijos aplinkoje. +AdminPrivilegesRequired=ios programos diegimui privalote bti prisijungs Administratoriaus teismis. +PowerUserPrivilegesRequired=ios programos diegimui privalote bti prisijungs Administratoriaus arba Power Users grups nario teismis. +SetupAppRunningError=Diegimo programa aptiko, kad yra paleista %1.%n%nUdarykite visas paleistas ios programos kopijas ir, jei norite tsti, paspauskite Gerai arba Ataukti, jei norite nutraukti diegim. +UninstallAppRunningError=Paalinimo programa aptiko, kad yra paleista %1.%n%nUdarykite visas paleistas ios programos kopijas ir, jei norite tsti, paspauskite Gerai arba Ataukti, jei norite nutraukti diegim. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=Diegimo reimo pasirinkimas +PrivilegesRequiredOverrideInstruction=Pasirinkite diegimo reim +PrivilegesRequiredOverrideText1=%1 gali bti diegta visiems naudotojams (reikalingos administratoriaus teiss) arba tik jums. +PrivilegesRequiredOverrideText2=%1 gali bti diegta arba tik jums arba visiems naudotojams (reikalingos administratoriaus teiss). +PrivilegesRequiredOverrideAllUsers=diegti &visiems naudotojams +PrivilegesRequiredOverrideAllUsersRecommended=diegti &visiems naudotojams (rekomenduojama) +PrivilegesRequiredOverrideCurrentUser=diegti tik &man +PrivilegesRequiredOverrideCurrentUserRecommended=diegti tik &man (rekomenduojama) + +; *** Misc. errors +ErrorCreatingDir=Diegimo programa negali sukurti katalogo %1 +ErrorTooManyFilesInDir=Nemanoma sukurti failo %1 kataloge, nes jame per daug fail + +; *** Setup common messages +ExitSetupTitle=Udaryti diegimo program +ExitSetupMessage=Diegimas nebaigtas. Jei baigsite dabar, programa nebus diegta.%n%nJs galite paleisti diegimo program kit kart, kad pabaigtumte diegim.%n%nUdaryti diegimo program? +AboutSetupMenuItem=&Apie diegimo program... +AboutSetupTitle=Apie diegimo program +AboutSetupMessage=%1 versija %2%n%3%n%n%1 puslapis internete:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &Atgal +ButtonNext=&Pirmyn > +ButtonInstall=&diegti +ButtonOK=Gerai +ButtonCancel=Ataukti +ButtonYes=&Taip +ButtonYesToAll=Taip &visk +ButtonNo=&Ne +ButtonNoToAll=N&e nieko +ButtonFinish=&Pabaiga +ButtonBrowse=&Nurodyti... +ButtonWizardBrowse=Nu&rodyti... +ButtonNewFolder=&Naujas katalogas + +; *** "Select Language" dialog messages +SelectLanguageTitle=Pasirinkite diegimo programos kalb +SelectLanguageLabel=Pasirinkite diegimo metu naudojam kalb. + +; *** Common wizard text +ClickNext=Paspauskite Pirmyn, jei norite tsti, arba Ataukti, jei norite ieiti i diegimo programos. +BeveledLabel= +BrowseDialogTitle=Nurodykite katalog +BrowseDialogLabel=Pasirinkite katalog i srao ir paspauskite Gerai. +NewFolderName=Naujas katalogas + +; *** "Welcome" wizard page +WelcomeLabel1=Sveiki! ia [name] diegimo programa. +WelcomeLabel2=Diegimo programa diegs [name] Js kompiuteryje.%n%nPrie tsiant diegim, rekomenduojama udaryti visas nereikalingas programas. + +; *** "Password" wizard page +WizardPassword=Slaptaodis +PasswordLabel1=is diegimas yra apsaugotas slaptaodiu. +PasswordLabel3=veskite slaptaod ir spauskite Pirmyn, jei norite tsti diegim. Atkreipkite dmes: didiosios ir maosios raids vertinamos skirtingai (case sensitive). +PasswordEditLabel=&Slaptaodis: +IncorrectPassword=vestas slaptaodis yra neteisingas. Pabandykite i naujo. + +; *** "License Agreement" wizard page +WizardLicense=Licencin sutartis +LicenseLabel=Perskaitykite i informacij prie tsdami diegim. +LicenseLabel3=Perskaitykite Licencijos sutart. Prie tsdami diegim Js turite sutikti su reikalavimais. +LicenseAccepted=A &sutinku su reikalavimais +LicenseNotAccepted=A &nesutinku su reikalavimais + +; *** "Information" wizard pages +WizardInfoBefore=Informacija +InfoBeforeLabel=Perskaitykite i informacij prie tsiant diegim. +InfoBeforeClickLabel=Kai bsite pasiruos tsti diegim, spauskite Pirmyn. +WizardInfoAfter=Informacija +InfoAfterLabel=Perskaitykite i informacij prie tsiant diegim. +InfoAfterClickLabel=Spauskite Pirmyn, kai bsite pasiruo tsti diegim. + +; *** "User Information" wizard page +WizardUserInfo=Informacija apie naudotoj +UserInfoDesc=veskite naudotojo duomenis. +UserInfoName=&Naudotojo vardas: +UserInfoOrg=&Organizacija: +UserInfoSerial=&Serijinis numeris: +UserInfoNameRequired=Js privalote vesti vard. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Pasirinkite diegimo katalog +SelectDirDesc=Kur turi bti diegta [name]? +SelectDirLabel3=Diegimo programa diegs [name] nurodyt katalog. +SelectDirBrowseLabel=Nordami tsti diegim spauskite Pirmyn. Jei norite pasirinkti kit katalog, spauskite Nurodyti. +DiskSpaceGBLabel=Reikia maiausiai [gb] GB laisvos vietos kietajame diske. +DiskSpaceMBLabel=Reikia maiausiai [mb] MB laisvos vietos kietajame diske. +CannotInstallToNetworkDrive=Diegimo programa negali diegti tinklin disk. +CannotInstallToUNCPath=Diegimo programa negali diegti UNC tipo katalog. +InvalidPath=Js privalote rayti piln keli su disko raide; pavyzdiui:%n%nC:\APP%n% ir negalima nurodyti UNC tipo katalog:%n%n\\Serveris\share +InvalidDrive=Diskas, kur nurodte, neegzistuoja arba yra neprieinamas. Nurodykite kit disk ir/arba katalog. +DiskSpaceWarningTitle=Nepakanka laisvos vietos diske +DiskSpaceWarning=Diegimui reikia bent %1 KB laisvos vietos, bet nurodytame diske yra tik %2 KB laisvos vietos.%n%nVis tiek norite tsti? +DirNameTooLong=Katalogo pavadinimas ar kelias iki jo per ilgas. +InvalidDirName=Nekorektikas katalogo pavadinimas. +BadDirName32=Katalogo pavadinime neturi bti simboli:%n%n%1 +DirExistsTitle=Toks katalogas egzistuoja +DirExists=Katalogas:%n%n%1%n%n jau egzistuoja. Vis tiek norite diegti program tame kataloge? +DirDoesntExistTitle=Toks katalogas neegzistuoja. +DirDoesntExist=Katalogas:%n%n%1%n%n neegzistuoja. Norite kad katalogas bt sukurtas? + +; *** "Select Components" wizard page +WizardSelectComponents=Komponent pasirinkimas +SelectComponentsDesc=Kurie komponentai turi bti diegti? +SelectComponentsLabel2=Paymkite komponentus, kuriuos norite diegti; nuimkite ymes nuo komponent, kuri nenorite diegti. Kai bsite pasiruos tsti, spauskite Pirmyn. +FullInstallation=Pilnas vis komponent diegimas +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Glaustas diegimas +CustomInstallation=Pasirinktinis diegimas +NoUninstallWarningTitle=Komponentai egzistuoja +NoUninstallWarning=Diegimo programa aptiko, kad ie komponentai jau diegti Js kompiuteryje:%n%n%1%n%nJei nuimsite ymes nuo i komponent, jie vis tiek nebus itrinti.%n%nVis tiek norite tsti diegim? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceGBLabel=Dabartinis Js pasirinkimas reikalauja [gb] GB laisvos vietos diske. +ComponentsDiskSpaceMBLabel=Dabartinis Js pasirinkimas reikalauja [mb] MB laisvos vietos diske. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Nurodykite papildomus veiksmus +SelectTasksDesc=Kokius papildomus veiksmus reikia atlikti? +SelectTasksLabel2=Nurodykite papildomus veiksmus, kuriuos diegimo programa turs atlikti [name] diegimo metu. Kai bsite pasiruos tsti diegim, spauskite Pirmyn. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Nurodykite Start Menu katalog +SelectStartMenuFolderDesc=Kur diegimo programa turt sukurti nuorodas? +SelectStartMenuFolderLabel3=Nuorodos bus sukurtos iame Start Menu kataloge. +SelectStartMenuFolderBrowseLabel=Nordami tsti diegim spauskite Pirmyn. Jei norite parinkti kit katalog, spauskite Nurodyti. +MustEnterGroupName=Js privalote vesti katalogo pavadinim. +GroupNameTooLong=Katalogo pavadinimas ar kelias iki jo per ilgas. +InvalidGroupName=Katalogo pavadinimas yra nekorektikas. +BadGroupName=Katalogo pavadinime neturi bti simboli:%n%n%1 +NoProgramGroupCheck2=&Nekurti Start Menu katalogo + +; *** "Ready to Install" wizard page +WizardReady=Pasirengta diegimui +ReadyLabel1=Diegimo programa pasirengusi diegti [name] Js kompiuteryje. +ReadyLabel2a=Spauskite diegti, jei norite tsti diegim, arba Atgal, jeigu norite perirti nustatymus arba juos pakeisti. +ReadyLabel2b=Spauskite diegti, jei norite tsti diegim. +ReadyMemoUserInfo=Naudotojo informacija: +ReadyMemoDir=Katalogas diegimui: +ReadyMemoType=Diegimo tipas: +ReadyMemoComponents=Pasirinkti komponentai: +ReadyMemoGroup=Start Menu katalogas: +ReadyMemoTasks=Papildomi veiksmai: + +; *** "Preparing to Install" wizard page +WizardPreparing=Pasirengimas diegimui +PreparingDesc=Diegimo programa pasirengusi [name] diegimui Js kompiuteryje. +PreviousInstallNotCompleted=Ankstesns programos diegimas/alinimas buvo neubaigtas. Jums reikt perkrauti kompiuter, kad ubaigtumte diegim.%n%nKai perkrausite kompiuter, paleiskite diegimo program dar kart, kad pabaigtumte [name] diegim. +CannotContinue=Diegimas negali bti tsiamas. Paspauskite Ataukti diegimo ubaigimui. +ApplicationsFound=ios programos naudoja failus, kurie turi bti perrayti diegimo metu. Rekomenduojama leisti diegimo programai automatikai udaryti ias programas. +ApplicationsFound2=ios programos naudoja failus, kurie turi bti perrayti diegimo metu. Rekomenduojama leisti diegimo programai automatikai udaryti ias programas. Po to, kai diegimas bus baigtas, diegimo programa bandys i naujo paleisti ias programas. +CloseApplications=&Automatikai udaryti programas +DontCloseApplications=&Neudarinti program +ErrorCloseApplications=Diegimo programai nepavyko automatikai udaryti vis program. Prie tsiant diegim, rekomeduojama udaryti visas programas, naudojanias failus, kurie turi bti perrayti diegimo metu. +PrepareToInstallNeedsRestart=Diegimo programai reikia perkrauti kompiuter. Po perkovimo, vl paleiskite diegimo program [name] diegimo ubaigimui.%n%nNorite perkrauti j dabar? + +; *** "Installing" wizard page +WizardInstalling=Vyksta diegimas +InstallingLabel=Palaukite kol diegimo programa diegs [name] Js kompiuteryje. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] diegimas baigtas +FinishedLabelNoIcons=Diegimo programa baig [name] diegim Js kompiuteryje. +FinishedLabel=Diegimo programa baig [name] diegim Js kompiuteryje. Programa gali bti paleista pasirinkus atitinkamas nuorodas. +ClickFinish=Spauskite Pabaiga, kad udarytumte diegimo program. +FinishedRestartLabel=[name] diegimo ubaigimui, reikia perkrauti kompiuter. Norite perkrauti j dabar? +FinishedRestartMessage=[name] diegimo ubaigimui, reikia perkrauti kompiuter.%n%nNorite perkrauti j dabar? +ShowReadmeCheck=Taip, a noriau perskaityti README fail +YesRadio=&Taip, a noriu perkrauti kompiuter dabar +NoRadio=&Ne, a perkrausiu kompiuter vliau +; used for example as 'Run MyProg.exe' +RunEntryExec=Vykdyti %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Perirti %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Diegimo programai reikia kito diskelio +SelectDiskLabel2=Idkite diskel %1 ir spauskite Gerai.%n%nJeigu reikiami failai gali bti rasti kitame kataloge, nei pavaizduota emiau, veskite teising keli arba spauskite Nurodyti. +PathLabel=&Katalogas: +FileNotInDir2=%1 failas nerastas %2 kataloge. dkite teising diskel arba nurodykite teising keli. +SelectDirectoryLabel=Nurodykite kito diskelio viet. + +; *** Installation phase messages +SetupAborted=Diegimas nebuvo baigtas.%n%nPaalinkite priest ir pakartokite diegim vl. +AbortRetryIgnoreSelectAction=Pasirinkite veiksm +AbortRetryIgnoreRetry=Pabandyti dar kar&t +AbortRetryIgnoreIgnore=&Ignoruoti klaid ir tsti +AbortRetryIgnoreCancel=Nutraukti diegim + +; *** Installation status messages +StatusClosingApplications=Udaromos programos... +StatusCreateDirs=Kuriami katalogai... +StatusExtractFiles=Ipakuojami failai... +StatusCreateIcons=Kuriamos nuorodos... +StatusCreateIniEntries=Kuriami INI raai... +StatusCreateRegistryEntries=Kuriami registro raai... +StatusRegisterFiles=Registruojami failai... +StatusSavingUninstall=Isaugoma informacija programos paalinimui... +StatusRunProgram=Baigiamas diegimas... +StatusRestartingApplications=I naujo paleidiamos programos... +StatusRollback=Anuliuojami pakeitimai... + +; *** Misc. errors +ErrorInternal2=Vidin klaida: %1 +ErrorFunctionFailedNoCode=%1 nepavyko +ErrorFunctionFailed=%1 nepavyko; kodas %2 +ErrorFunctionFailedWithMessage=%1 nepavyko; kodas %2.%n%3 +ErrorExecutingProgram=Nepavyko paleisti failo:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Klaida skaitant registro ra:%n%1\%2 +ErrorRegCreateKey=Klaida sukuriant registro ra:%n%1\%2 +ErrorRegWriteKey=Klaida raant registro ra:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Klaida raant INI ra %1 faile. + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=Pralei&sti fail (nerekomenduojama) +FileAbortRetryIgnoreIgnoreNotRecommended=&Ignoruoti klaid ir tsti (nerekomenduojama) +SourceIsCorrupted=Pradinis failas sugadintas +SourceDoesntExist=Pradinis failas %1 neegzistuoja +ExistingFileReadOnly2=Egzistuojantis failas yra paymtas Tik skaitymui todl negali bti pakeistas. +ExistingFileReadOnlyRetry=Paalinkite at&ribut Tik skaitymui ir bandykite vl +ExistingFileReadOnlyKeepExisting=Pali&kti egzistuojant fail +ErrorReadingExistingDest=Skaitant egzistuojant fail vyko klaida: +FileExists=Toks failas jau egzistuoja.%n%nNorite, kad diegimo programa perrayt fail? +ExistingFileNewer=Egzistuojantis failas yra naujesnis u t, kur diegimo programa bando rayti. Rekomenduojama palikti esant naujesn fail.%n%nNorite palikti naujesn fail? +ErrorChangingAttr=Keiiant failo atributus vyko klaida: +ErrorCreatingTemp=Kuriant fail pasirinktame kataloge vyko klaida: +ErrorReadingSource=Skaitant diegiamj fail vyko klaida: +ErrorCopying=Kopijuojant fail vyko klaida: +ErrorReplacingExistingFile=Perraant egzistuojant fail vyko klaida: +ErrorRestartReplace=Perkrovimas/Perraymas nepavyko: +ErrorRenamingTemp=Pervadinant fail pasirinktame kataloge vyko klaida: +ErrorRegisterServer=Nepavyko uregistruoti DLL/OCX bibliotekos: %1 +ErrorRegSvr32Failed=RegSvr32 registracijos klaida %1 +ErrorRegisterTypeLib=Nepavyko uregistruoti tip bibliotekos: %1 + +; *** Uninstall display name markings +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bit +UninstallDisplayNameMark64Bit=64-bit +UninstallDisplayNameMarkAllUsers=Visiems naudotojams +UninstallDisplayNameMarkCurrentUser=Esamam naudotojui + +; *** Post-installation errors +ErrorOpeningReadme=Bandant atidaryti README fail vyko klaida. +ErrorRestartingComputer=Diegimo programa negali perkrauti kompiuterio. Perkraukite kompiuter prastu bdu. + +; *** Uninstaller messages +UninstallNotFound=%1 failas neegzistuoja. Paalinti nemanoma. +UninstallOpenError=%1 failas negali bti atidarytas. Paalinti nemanoma. +UninstallUnsupportedVer=Paalinimo urnalo failas %1 yra paalinimo programai nesuprantamo formato. Paalinti nemanoma. +UninstallUnknownEntry=Neinomas raas (%1) rastas paalinimo urnalo faile. +ConfirmUninstall=Esate tikri, kad norite paalinti %1 ir visus priklausanius komponentus? +UninstallOnlyOnWin64=is diegimas gali bti paalintas tik 64 bit Windows sistemose. +OnlyAdminCanUninstall=Tik administratoriaus teises turintis naudotojas gali paalinti program. +UninstallStatusLabel=Palaukite, kol %1 bus paalinta i Js kompiuterio. +UninstalledAll=%1 buvo skmingai paalinta i Js kompiuterio. +UninstalledMost=%1 paalinimas skmingai baigtas.%n%nKai kurie elementai nebuvo itrinti - juos galite paalinti rankiniu bdu. +UninstalledAndNeedsRestart=%1 paalinimui ubaigti Js kompiuteris turi bti perkrautas.%n%nNorite perkrauti j dabar? +UninstallDataCorrupted=%1 failas yra sugadintas. Programos paalinti nemanoma. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Itrinti bendruosius failus? +ConfirmDeleteSharedFile2=Aptikta, kad jokia programa nenaudoja bendrj fail. Norite itrinti bendruosius failus? %n%nJeigu kurios nors programos naudoja iuos failus, ir jie bus itrinti, tos programos gali veikti neteisingai. Jeigu nesate tikras - spauskite Ne. Failo palikimas Js kompiuteryje nesukels joki problem. +SharedFileNameLabel=Failo pavadinimas: +SharedFileLocationLabel=Vieta: +WizardUninstalling=Paalinimo eiga +StatusUninstalling=alinama %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Diegiama %1. +ShutdownBlockReasonUninstallingApp=alinama %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versija %2 +AdditionalIcons=Papildomos nuorodos: +CreateDesktopIcon=Sukurti nuorod &Darbalaukyje +CreateQuickLaunchIcon=Sukurti Spariosios &Paleisties nuorod +ProgramOnTheWeb=%1 iniatinklyje +UninstallProgram=Paalinti %1 +LaunchProgram=Paleisti %1 +AssocFileExtension=&Susieti %1 program su failo pltiniu %2 +AssocingFileExtension=%1 programa susiejama su failo pltiniu %2... +AutoStartProgramGroupDescription=Atomatin paleistis: +AutoStartProgram=Atomatikai paleisti %1 +AddonHostProgramNotFound=%1 nerasta Js nurodytame kataloge.%n%nVis tiek norite tsti? diff --git a/Greenshot/releases/innosetup/Languages/Luxemburgish.isl b/Greenshot/releases/innosetup/Languages/Luxemburgish.isl new file mode 100644 index 000000000..467aa5e73 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Luxemburgish.isl @@ -0,0 +1,228 @@ +; ** Inno Setup version 5.1.11+ Luxemburgish messages ** +; ** Original Author: Norb (lx1no@yahoo.com) ** +; ** Last modification by: Pit Wenkin (pit@wenkin.lu) ** +; ** Last modification date: 2011-01-13 ** + +[LangOptions] +LanguageName=Luxembourgish +LanguageID=$1007 + +[Messages] +SetupAppTitle=Setup +SetupWindowTitle=Setup - %1 +UninstallAppTitle=Uninstall +UninstallAppFullTitle=%1 Uninstall +InformationTitle=Informatioun +ConfirmTitle=Besttegen +ErrorTitle=Fehler +SetupLdrStartupMessage=Elo gtt %1 installiert. Wll Dir viru fueren? +LdrCannotCreateTemp=Konnt keng temporr Datei opmaachen. Setup gtt ofgebrach +LdrCannotExecTemp=Kann d'Datei am Termporrverzeechnis net ausfieren. D'Installatioun gtt ofgebrach +LastErrorMessage=%1.%n%nFehler %2: %3 +SetupFileMissing=D'Datei %1 fehlt am Installatiounsverzeechnis. Korrigiert den Problem oder besuergt Iech eng nei Kopie vum Programm. +SetupFileCorrupt=D'Installatiounsdateien hunn Fehler. Besuergt Iech eng nei Kopie vum Programm. +SetupFileCorruptOrWrongVer=D'Installatiounsdateien hunn Fehler oder sinn net mat dser Versioun vum Installatiounsprogramm kompatibel. Korrigiert den Problem oder besuergt Iech eng nei Kopie vum Programm. +NotOnThisPlatform=Dse Programm leeft net mat %1. +OnlyOnThisPlatform=Dse Programm muss mat %1 lafen. +OnlyOnTheseArchitectures=Dse Programm kann nmmen op Windowsversiounen installiert ginn, di fir folgend Prozessorarchitekturen entworf gi sinn: %n%n%1 +MissingWOW64APIs=Ds Windowsversioun huet keng Funktionalititen di vum Setup fir eng 64-bit Installatioun gebraucht ginn. Fir den Problem ze behiewen, installiert w.e.g. den Service Pack %1. +WinVersionTooLowError=Dse Programm braucht %1 Versioun %2 oder mi nei. +WinVersionTooHighError=Dse Programm kann net op %1 Versioun %2 oder mi nei installiert ginn. +AdminPrivilegesRequired=Dir musst als Administrator ageloggt sinn fir dse Programm installieren ze knnen. +PowerUserPrivilegesRequired=Dir musst als Administrator oder als Member vum Power Users Grupp ageloggt sinn fir dse Programm installieren ze knnen. +SetupAppRunningError=Den Installatiounsprogramm huet festgestallt, dass %1 den Moment leeft.%n%nStoppt elo w.e.g. all Instanzen an klickt dann op OK fir Virun ze fueren oder op Ofbriechen fir opzehalen. +UninstallAppRunningError=Den Desinstallatiounsprogramm huet festgestallt, dass %1 den Moment leeft.%n%nStoppt elo w.e.g. all Instanzen an klickt dann op OK fir Virun ze fueren oder op Ofbriechen fir opzehalen. +ErrorCreatingDir=D'Verzeechnis "%1" konnt net ugeluecht ginn +ErrorTooManyFilesInDir=Konnt keng Datei an d'Verzeechnis "%1" schreiwen, well ze vill Dateien an dsem Verzeechnis sinn. +ExitSetupTitle=Installatioun verloossen +ExitSetupMessage=D'Installatioun ass net ferdeg. Wann Dir elo ofbriecht gtt de Programm net installiert.%n%nDir knnt den Installatiounsprogramm zu engem aneren Zitpunkt nees starte fir mat der Installatioun virun ze fueren.%n%nD'Installatioun verloossen? +AboutSetupMenuItem=&Iwwert d'Installatioun... +AboutSetupTitle=Iwwert d'Installatioun +AboutSetupMessage=%1 Versioun %2%n%3%n%n%1 Homepage:%n%4 +AboutSetupNote= +TranslatorNote= +ButtonBack=< &Zerck +ButtonNext=&Virun > +ButtonInstall=&Installieren +ButtonOK=OK +ButtonCancel=Ofbriechen +ButtonYes=&Jo +ButtonYesToAll=Jo zu &Allem +ButtonNo=&Neen +ButtonNoToAll=N&een zu Allem +ButtonFinish=&Ferdeg +ButtonBrowse=&Duerchsichen... +ButtonWizardBrowse=D&uerchsichen... +ButtonNewFolder=&Neit Verzeechnis uleen +SelectLanguageTitle=Wielt d'Installatiounssprooch +SelectLanguageLabel=Wielt d'Sprooch di whrend der Installatioun benotzt soll ginn: +ClickNext=Klickt op Virun fir virun ze fueren oder Ofbriechen fir d'Installatioun ofzebriechen. +BeveledLabel= +BrowseDialogTitle=Sich nom Verzeechnis +BrowseDialogLabel=Wielt en Verzeechnis aus der Lscht an klickt dann op OK. +NewFolderName=Neit Verzeechnis +WelcomeLabel1=Wllkomm zur [name] Installatioun +WelcomeLabel2=Elo gtt [name/ver] ob rem Computer installiert.%n%nEt gtt ugerode fir all aner Applicatiounen zouzemaachen ier Dir viru fuert. +WizardPassword=Passwuert +PasswordLabel1=Ds Installatioun ass mat engem Passwuert geschtzt. +PasswordLabel3=Gidd d'Passwuert an, an klickt duerno op Virun. Passwierder sinn ofhngeg vu Kleng/Groussschreiwung. +PasswordEditLabel=&Passwuert: +IncorrectPassword=Dat war dat falscht Passwuert. Probiert nach emol. +WizardLicense=Lizenzofkommen +LicenseLabel=Liest w.e.g. folgend wichteg Informatiounen ier Dir viru fuert. +LicenseLabel3=Liest w.e.g. dat folgend Ofkommen. Dir musst d'Ofkommen akzeptieren ier Dir mat der Installatioun viru fuert. +LicenseAccepted=Ech sinn mam Ofkommen &averstanen +LicenseNotAccepted=Ech sinn mam Ofkommen &net averstanen +WizardInfoBefore=Informatioun +InfoBeforeLabel=Liest w.e.g. ds folgend wichteg Informatioun ier Dir virun fuert. +InfoBeforeClickLabel=Wann Dir prett sidd fir mat der Installatioun virun ze fueren, klickt op Virun. +WizardInfoAfter=Informatioun +InfoAfterLabel=Liest w.e.g. ds folgend wichteg Informatioun ier Dir virun fuert. +InfoAfterClickLabel=Wann Dir prt sidd fir mat der Installatioun virun ze fueren, klickt op Virun. +WizardUserInfo=Benotzerinformatioun +UserInfoDesc=Gidd w.e.g. r Informatiounen an. +UserInfoName=&Benotzernumm: +UserInfoOrg=&Organisatioun: +UserInfoSerial=&Seriennummer: +UserInfoNameRequired=Dir musst en Numm aginn. +WizardSelectDir=Wielt d'Destinatioun aus +SelectDirDesc=Wouhinner soll [name] installiert ginn? +SelectDirLabel3=[name] gtt an folgend Verzeechnis installiert. +SelectDirBrowseLabel=Vir weider ze fueren, klickt ob Virun. Wann Dir en anert Verzeechnis auswiele wllt, klickt op Duerchsichen. +DiskSpaceMBLabel=Et gi winstens [mb] MB fri Plaatz um Disk gebraucht. +ToUNCPathname=D'Installatioun kann net op en UNC-WEE gemaach ginn. Wann Dir an engem Netzwierk installiere wllt, da musst Dir d'Netzlafwierk mappen. +InvalidPath=Dir musst en komplette Wee mat Lafwierksbuchstaw aginn; z. B.:%n%nC:\APP%n%noder en UNC-Pad am Format:%n%n\\server\share +InvalidDrive=D'Lafwierk oder UNC-Share dat Dir ausgewielt hutt existiert net oder et ass keen Zougrff miglech. Wielt w.e.g. en anert aus. +DiskSpaceWarningTitle=Net genuch Plaatz um Disk +DiskSpaceWarning=D'Installatioun brauch en minimum vun %1 KB Plaatz fir installieren ze knne m um ausgewielte Lafwierk sinn nmmen %2 KB fri.%n%nWllt Dir awer viru fueren? +DirNameTooLong=De Verzeechnisnumm oder Wee ass ze laang. +InvalidDirName=De Verzeechnisnumm ass net valabel. +BadDirName32=Verzeechnisnimm dierfe keng vun den folgenden Zeechen enthalen:%n%n%1 +DirExistsTitle=Verzeechnis existiert schon +DirExists=D'Verzeechnis:%n%n%1%n%nexistiert schon. Wllt Dir awer an dst Verzeechnis installieren? +DirDoesntExistTitle=Verzeechnis existiert net +DirDoesntExist=D'Verzeechnis:%n%n%1%n%n existiert net. Soll d'Verzeechnis kreiert ginn? +WizardSelectComponents=Wielt d'Komponenten aus +SelectComponentsDesc=Wi eng Komponente sollen installiert ginn? +SelectComponentsLabel2=Wielt d'Komponenten aus di installiert solle ginn; wielt di Komponenten of di net installiert solle ginn. Klickt op Virun wann Dir prett sidd fir virun ze fueren. +FullInstallation=Komplettinstallatioun +CompactInstallation=Kompaktinstallatioun +CustomInstallation=Benotzerinstallatioun +NoUninstallWarningTitle=Komponenten existieren +NoUninstallWarning=D'Installatioun huet festgestallt, dass folgend Komponente schon op rem Computer installiert sinn:%n%n%1%n%nWann Dir d'Komponenten ofwielt, ginn se net gelscht.%n%nWllt Dir awer viru fueren? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Di derziteg Auswiel braucht en minimum vun [mb] MB Plaatz um Disk. +WizardSelectTasks=Zoustzlech Aufgaben auswielen +SelectTasksDesc=Wi eng zoustzlech Aufgabe sollen ausgefouert ginn? +SelectTasksLabel2=Wielt di zoustzlech Aufgaben aus, di d'Installatioun maache soll whrend [name] installiert gtt. Klickt dann op Virun. +WizardSelectProgramGroup=Wielt d'Startmenverzeechnis +SelectStartMenuFolderDesc=Wou soll den Installatiounsprogramm den Shortcut vum Programm bisetzen? +SelectStartMenuFolderLabel3=Den Installatiounsprogramm kreiert dem Programm seng Shortcuts am folgende Startmenverzeechnis. +SelectStartMenuFolderBrowseLabel=Fir weiderzefueren, klickt op Virun. Wann Dir en anert Verzeechnis auswiele wllt, klickt op Duerchsichen. +MustEnterGroupName=Dir musst en Verzeechnisnumm aginn. +GroupNameTooLong=De Verzeechnisnumm oder Wee ass ze laang. +InvalidGroupName=De Verzeechnisnumm ass net valabel. +BadGroupName=De Verzeechnisnumm dierf keng vun den folgenden Zeechen enthalen:%n%n%1 +NoProgramGroupCheck2=Kee&n Startmenverzeechnis kreieren +WizardReady=Prett fir ze installieren +ReadyLabel1=D'Installatioun vun [name] op rem Computer kann elo ugefaange ginn. +ReadyLabel2a=Klickt op Installieren fir mat der Installatioun virun ze fueren, oder klickt op Zerck wann Dir Astellungen iwwerliesen oder nnere wllt. +ReadyLabel2b=Klickt op Installieren fir mat der Installatioun virun ze fueren. +ReadyMemoUserInfo=Benotzerinformatioun: +ReadyMemoDir=Zilverzeechnis: +ReadyMemoType=Installatiounstyp: +ReadyMemoComponents=Ausgewielt Komponenten: +ReadyMemoGroup=Startmenverzeechnis: +ReadyMemoTasks=Zoustzlech Aufgaben: +WizardPreparing=Prpariert d'Installatioun +PreparingDesc=Den Installatiounsprogramm bereet d'Installatioun vun [name] op rem Computer fir. +PreviousInstallNotCompleted=D'Installatioun/Lsche vun engem friere Programm war net ferdeg. Dir musst den Computer nei starte fir ds Installatioun ofzeschlissen.%n%nNodeems Dir den Computer nei gestart hutt, start den Installatiounsprogramm nach emol fir [name] ferdeg ze installieren. +CannotContinue=Den Installatiounsprogramm kann net viru fueren. Klickt op Ofbriechen fir opzehalen. +WizardInstalling=Installieren +InstallingLabel=Waard w.e.g. whrend dn Installatiounsprogramm [name] op rem Computer installiert. +FinishedHeadingLabel=Den [name] Installatiounswizard ass ferdeg. +FinishedLabelNoIcons=D'Installatioun vun [name] op rem Computer ass ferdeg. +FinishedLabel=Den Installatiounsprogramm ass ferdeg mat der Installatioun vun [name] op rem Computer. De Programm kann elo mat engem Duebelklick op d'Ikon gestart ginn. +ClickFinish=Klickt op Ferdeg fir d'Installatioun ze verloossen. +FinishedRestartLabel=Fir d'Installatioun vun [name] ferdeg ze maachen, muss den Computer nei gestart ginn. Wllt Dir elo nei starten? +FinishedRestartMessage=Fir d'Installatioun vun [name] ferdeg ze maachen, muss den Computer nei gestart ginn.%n%nWllt Dir elo nei starten? +ShowReadmeCheck=Jo, ech wll d'README Datei liesen +YesRadio=&Jo, start den Computer elo nei +NoRadio=&Neen, ech starten den Computer herno nei +RunEntryExec=Start %1 +RunEntryShellExec=Weis %1 +ChangeDiskTitle=D'Installatioun brauch den nchsten Disk +SelectDiskLabel2=Leet den Disk %1 an an klickt op OK.%n%nWann d'Dateien an engem anere Verzeechnis sti wi dat wat ugewise gtt, da gitt den richtege Wee an oder klickt op Duerchsichen. +PathLabel=&Wee: +FileNotInDir2=D'Datei "%1" konnt op "%2" net fonnt ginn. Leet w.e.g. den richtegen Disk an oder wielt en anert Verzeechnis. +SelectDirectoryLabel=Gidd w.e.g. d'Plaatz vum nchsten Disk un. +SetupAborted=D'Installatioun ass net ferdeg.%n%nVersicht den Problem ze behiewen an start d'Installatioun nach emol. +EntryAbortRetryIgnore=Klickt op Widderhuelen fir nach emol ze probieren, Ignorieren fir awer virun ze fueren oder Ofbriechen fir mat der Installatioun opzehalen. +StatusCreateDirs=Kreiert Verzeechnisser... +StatusExtractFiles=Paakt Dateien aus... +StatusCreateIcons=Kreiert Shortcuts... +StatusCreateIniEntries=Kreiert INI Antrg... +StatusCreateRegistryEntries=Kreirt Registerantrg... +StatusRegisterFiles=Registriert Dateien... +StatusSavingUninstall=Spichert Desinstallatiounsinformatiounen... +StatusRunProgram=Brngt d'Installatioun zu Enn... +StatusRollback=Maachen d'nnerungen nees rckgngeg... +ErrorInternal2=Interne Fehler: %1 +ErrorFunctionFailedNoCode=%1 feelgeschloen +ErrorFunctionFailed=%1 huet feelgeschloen; Code %2 +ErrorFunctionFailedWithMessage=%1 huet feelgeschloen; Code %2.%n%3 +ErrorExecutingProgram=Kann folgend Datei net ausfieren: %n%1 +ErrorRegOpenKey=Kann folgende Registerschlssel net liesen:%n%1\%2 +ErrorRegCreateKey=Kann folgende Registerschlssel net uleen:%n%1\%2 +ErrorRegWriteKey=Kann folgende Registerschlssel net beschreiwen:%n%1\%2 +ErrorIniEntry=Konnt keen INI Antrag an der Datei "%1" uleen. +FileAbortRetryIgnore=Klickt op Widderhuelen fir nach emol ze probieren, Ignorieren fir d'Datei ze iwwergoen (ass net ugeroden), oder Ofbriechen fir d'Installatioun ze stoppen. +FileAbortRetryIgnore2=Klickt op Widderhuelen fir nach emol ze probieren, Ignorieren fir awer virun ze fueren (ass net ugeroden), oder Ofbriechen fir d'Installatioun ze stoppen. +SourceIsCorrupted=D'Sourcedatei huet en Fehler. +SourceDoesntExist=D'Sourcedatei "%1" existiert net. +ExistingFileReadOnly=Di bestehend Datei ass als 'read-only' agestallt.%n%nKlickt op Widderhuelen fir d''read-only' Attribut ze lschen an nach emol ze versichen, Ignorieren fir d'Datei ze iwwergoen oder Ofbriechen fir d'Installatioun ze stoppen. +ErrorReadingExistingDest=Beim Liese vun der bestehender Datei ass en Fehler opgetrueden: +FileExists=Ds Datei gtt et schon.%n%nWll Dir, dass den Installatiounsprogramm ds Datei iwwerschreift? +ExistingFileNewer=Di bestehend Datei ass mi nei wi di, di den Installatiounsprogramm installiere wll. Et gtt ugeroden fir di bestehend Datei ze halen.%n%nWll Dir di bestehend Datei behalen? +ErrorChangingAttr=Beim Versuch d'Attributer vun der bestehender Datei ze nneren ass en Fehler opgetrueden: +ErrorCreatingTemp=Beim Versuch eng Datei am Zilverzeechnis unzeleen ass en Fehler opgetrueden: +ErrorReadingSource=Beim Versuch d'Quelldatei ze liesen ass en Fehler opgetrueden: +ErrorCopying=Beim Versuch eng Datei ze kopieren ass en Fehler opgetrueden: +ErrorReplacingExistingFile=Beim Versuch di bestehend Datei ze ersetzen ass en Fehler opgetrueden: +ErrorRestartReplace=RestartReplace huet feelgeschloen: +ErrorRenamingTemp=Beim mbenenne vun enger Datei am Zilverzeechnis ass en Fehler opgetruede. +ErrorRegisterServer=Kann d'DLL/OCX %1 net registrieren. +ErrorRegSvr32Failed=RegSvr32 mat Fehlercode %1 feelgeschloen. +ErrorRegisterTypeLib=Kann d'Librairie %1 net registrieren +ErrorOpeningReadme=Beim Opmaache vun der README Datei ass et en Fehler ginn. +ErrorRestartingComputer=Den Installatiounsprogramm konnt den Computer net nei starten. Maacht et w.e.g. manuell. +UninstallNotFound=D'Datei "%1" existiert net. Kann net lschen. +UninstallOpenError=D'Datei "%1" konnt net opgemaach ginn. Kann net lschen +UninstallUnsupportedVer=D'Desinstallatiounslogdatei "%1" ass an engem fir dsen Desinstallatiounsprogramm onbekannte Format. Kann net desinstallieren +UninstallUnknownEntry=Am Uninstalllog steet en onbekannten Antrag (%1) +ConfirmUninstall=Sidd Dir scher, dass Dir %1 an all seng Komponente lsche wllt? +UninstallOnlyOnWin64=Ds Installatioun kann nmmen op engem 64-bit Windows gelscht ginn. +OnlyAdminCanUninstall=D'Installatioun kann nmme vun engem Benotzer mat Administratorrechter desinstalliert ginn. +UninstallStatusLabel=Waart w.e.g. bis dass %1 vum rem Computer gelscht ginn ass. +UninstalledAll=%1 ass mat Erfolleg vun rem Computer gelscht ginn. +UninstalledMost=%1 ass desinstalliert.%n%nE puer Dateie konnten net gelscht ginn. Dir knnt se manuell lschen. +UninstalledAndNeedsRestart=Fir d'Desinstallatioun vun %1 ze kompletiere muss ren Computer nei gestart ginn.%n%nWll Dir elo nei starten +UninstallDataCorrupted="%1" Datei huet en Fehler an kann net desinstalliert ginn +ConfirmDeleteSharedFileTitle=Gemeinsam Datei lschen? +ConfirmDeleteSharedFile2=D System weist un, dass di folgend gemeinsam Datei vu kengem anere Programm benotzt gtt. Wll Dir, dass di gemeinsam Datei gelscht gtt?%n%nWann soss Programmer ds Datei nach benotzen an si gtt gelscht, da kann et sinn, dass di Programmer net mi richteg funktionieren. Wann Dir net scher sidd, wielt Neen. Wann Dir d'Datei op rem PC stoe loosst, entsteet domadder keen Nodeel. +SharedFileNameLabel=Dateinumm: +SharedFileLocationLabel=Plaatz: +WizardUninstalling=Uninstall Status +StatusUninstalling=Desinstallieren %1... + +[CustomMessages] +NameAndVersion=%1 Versioun %2 +AdditionalIcons=Zoustzlech Ikonen: +CreateDesktopIcon=Kreier eng &Desktop Ikon +CreateQuickLaunchIcon=Kreier eng Schnellstart Ikon +ProgramOnTheWeb=%1 um Internet +UninstallProgram=Lsch %1 +LaunchProgram=Start %1 +AssocFileExtension=&Associier %1 mat der Dateiextensioun %2 +AssocingFileExtension=Associieren %1 mat der Dateiextensioun %2... diff --git a/Greenshot/releases/innosetup/Languages/Macedonian.isl b/Greenshot/releases/innosetup/Languages/Macedonian.isl new file mode 100644 index 000000000..88dea5ca4 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Macedonian.isl @@ -0,0 +1,318 @@ +; Macedonian translation is made for Inno Setup version 5.1.11+ +; by Bojan Stosevski, M.D. Macedonia, bxxxn@hotmail.com +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Ma<043A>e<0434>o<043d>c<043A><0438> +LanguageID=$042F +LanguageCodePage=1251 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle= +SetupWindowTitle= - %1 +UninstallAppTitle= +UninstallAppFullTitle=%1 + +; *** Misc. common +InformationTitle= +ConfirmTitle= +ErrorTitle= + +; *** SetupLdr messages +SetupLdrStartupMessage= %1. ? +LdrCannotCreateTemp= . +LdrCannotExecTemp= . + +; *** Startup error messages +LastErrorMessage=%1.%n%n %2: %3 +SetupFileMissing= %1 . . +SetupFileCorrupt= . . +SetupFileCorruptOrWrongVer= , . . +NotOnThisPlatform= %1. +OnlyOnThisPlatform= %1. +OnlyOnTheseArchitectures= Windows :%n%n%1 +MissingWOW64APIs= Windows 64- . , Service Pack %1. +WinVersionTooLowError= %1 %2 . +WinVersionTooHighError= %1 %2 . +AdminPrivilegesRequired= . +PowerUserPrivilegesRequired= (Power User Group) . +SetupAppRunningError= %1 .%n%n , , . +UninstallAppRunningError= %1 .%n%n , , . + +; *** Misc. errors +ErrorCreatingDir= "%1" +ErrorTooManyFilesInDir= "%1" + +; *** Setup common messages +ExitSetupTitle= +ExitSetupMessage= . , .%n%n .%n%n ? +AboutSetupMenuItem=& ... +AboutSetupTitle= +AboutSetupMessage=%1 %2%n%3%n%n%1 :%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< & +ButtonNext=& > +ButtonInstall=& +ButtonOK= +ButtonCancel= +ButtonYes= +ButtonYesToAll= & +ButtonNo= +ButtonNoToAll=& +ButtonFinish=& +ButtonBrowse=&... +ButtonWizardBrowse=&... +ButtonNewFolder=& + +; *** "Select Language" dialog messages +SelectLanguageTitle= +SelectLanguageLabel= : + +; *** Common wizard text +ClickNext= , . +BeveledLabel= +BrowseDialogTitle= +BrowseDialogLabel= , . +NewFolderName= + +; *** "Welcome" wizard page +WelcomeLabel1= [name] +WelcomeLabel2= [name/ver] .%n%n . + +; *** "Password" wizard page +WizardPassword= +PasswordLabel1= . +PasswordLabel3= , . . +PasswordEditLabel=&: +IncorrectPassword= . . + +; *** "License Agreement" wizard page +WizardLicense= +LicenseLabel= . +LicenseLabel3= . . +LicenseAccepted= & +LicenseNotAccepted= & + +; *** "Information" wizard pages +WizardInfoBefore= +InfoBeforeLabel= . +InfoBeforeClickLabel= , . +WizardInfoAfter= +InfoAfterLabel= . +InfoAfterClickLabel= , . + +; *** "User Information" wizard page +WizardUserInfo= +UserInfoDesc= . +UserInfoName=& : +UserInfoOrg=&: +UserInfoSerial=& : +UserInfoNameRequired= . + +; *** "Select Destination Location" wizard page +WizardSelectDir= +SelectDirDesc= [name] ? +SelectDirLabel3= [name] . +SelectDirBrowseLabel= , . , . +DiskSpaceMBLabel= [mb] . +ToUNCPathname= . , . +InvalidPath= ; :%n%nC:\APP%n% . UNC :%n%n\\server\share +InvalidDrive= . . +DiskSpaceWarningTitle= +DiskSpaceWarning= %1 , %2 .%n%n ? +DirNameTooLong= . +InvalidDirName= . +BadDirName32= :%n%n%1 +DirExistsTitle= +DirExists=:%n%n%1%n%n . ? +DirDoesntExistTitle= +DirDoesntExist=:%n%n%1%n%n . ? + +; *** "Select Components" wizard page +WizardSelectComponents= +SelectComponentsDesc= ? +SelectComponentsLabel2= ; . . +FullInstallation= +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation= +CustomInstallation= +NoUninstallWarningTitle= +NoUninstallWarning= :%n%n%1%n%n .%n%n ? +ComponentSize1=%1 +ComponentSize2=%1 +ComponentsDiskSpaceMBLabel= [mb] . + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Select Additional Tasks +SelectTasksDesc= ? +SelectTasksLabel2= [name], . + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup= +SelectStartMenuFolderDesc= ? +SelectStartMenuFolderLabel3= . +SelectStartMenuFolderBrowseLabel= , . , . +MustEnterGroupName= . +GroupNameTooLong= . +InvalidGroupName= . +BadGroupName= :%n%n%1 +NoProgramGroupCheck2=& + +; *** "Ready to Install" wizard page +WizardReady= +ReadyLabel1= [name] . +ReadyLabel2a= , . +ReadyLabel2b= . +ReadyMemoUserInfo= : +ReadyMemoDir= : +ReadyMemoType= : +ReadyMemoComponents= : +ReadyMemoGroup= : +ReadyMemoTasks= : + +; *** "Preparing to Install" wizard page +WizardPreparing= +PreparingDesc= [name] . +PreviousInstallNotCompleted=/ . .%n%n [name]. +CannotContinue= . . + +; *** "Installing" wizard page +WizardInstalling= +InstallingLabel= [name] . + +; *** "Setup Completed" wizard page +FinishedHeadingLabel= [name] +FinishedLabelNoIcons= [name] . +FinishedLabel= [name] . . +ClickFinish= . +FinishedRestartLabel= [name], . ? +FinishedRestartMessage= [name], .%n%n ? +ShowReadmeCheck=, +YesRadio=&, +NoRadio=&, +; used for example as 'Run MyProg.exe' +RunEntryExec= %1 +; used for example as 'View Readme.txt' +RunEntryShellExec= %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle= +SelectDiskLabel2= %1 .%n%n , . +PathLabel=&Path: +FileNotInDir2= "%1" "%2". . +SelectDirectoryLabel= . + +; *** Installation phase messages +SetupAborted= .%n%n . +EntryAbortRetryIgnore= , , . + +; *** Installation status messages +StatusCreateDirs= ... +StatusExtractFiles= ... +StatusCreateIcons= ... +StatusCreateIniEntries= ... +StatusCreateRegistryEntries= ... +StatusRegisterFiles= ... +StatusSavingUninstall= ... +StatusRunProgram= ... +StatusRollback= ... + +; *** Misc. errors +ErrorInternal2= : %1 +ErrorFunctionFailedNoCode=%1 +ErrorFunctionFailed=%1 ; %2 +ErrorFunctionFailedWithMessage=%1 ; %2.%n%3 +ErrorExecutingProgram= :%n%1 + +; *** Registry errors +ErrorRegOpenKey= :%n%1\%2 +ErrorRegCreateKey= :%n%1\%2 +ErrorRegWriteKey= :%n%1\%2 + +; *** INI errors +ErrorIniEntry= "%1". + +; *** File copying errors +FileAbortRetryIgnore= , ( ), . +FileAbortRetryIgnore2= , ( ), . +SourceIsCorrupted= +SourceDoesntExist= "%1" +ExistingFileReadOnly= read-only.%n%n read-only , , . +ErrorReadingExistingDest= : +FileExists= .%n%n ? +ExistingFileNewer= . .%n%n ? +ErrorChangingAttr= : +ErrorCreatingTemp= : +ErrorReadingSource= : +ErrorCopying= : +ErrorReplacingExistingFile= : +ErrorRestartReplace=RestartReplace : +ErrorRenamingTemp= : +ErrorRegisterServer= DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 %1 +ErrorRegisterTypeLib= : %1 + +; *** Post-installation errors +ErrorOpeningReadme= . +ErrorRestartingComputer= . . + +; *** Uninstaller messages +UninstallNotFound= "%1" . . +UninstallOpenError= "%1" . +UninstallUnsupportedVer= "%1" . +UninstallUnknownEntry= (%1) +ConfirmUninstall= %1 ? +UninstallOnlyOnWin64= 64- Windows. +OnlyAdminCanUninstall= . +UninstallStatusLabel= %1 . +UninstalledAll=%1 . +UninstalledMost=%1 .%n%n . . +UninstalledAndNeedsRestart= %1, .%n%n ? +UninstallDataCorrupted="%1" . + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle= ? +ConfirmDeleteSharedFile2= . ?%n%n , . , . . +SharedFileNameLabel= : +SharedFileLocationLabel=: +WizardUninstalling= +StatusUninstalling= %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 %2 +AdditionalIcons= : +CreateDesktopIcon= & +CreateQuickLaunchIcon= & +ProgramOnTheWeb=%1 +UninstallProgram= %1 +LaunchProgram= %1 +AssocFileExtension=& %1 %2 +AssocingFileExtension= %1 %2 ... diff --git a/Greenshot/releases/innosetup/Languages/Malaysian.isl b/Greenshot/releases/innosetup/Languages/Malaysian.isl new file mode 100644 index 000000000..382f92124 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Malaysian.isl @@ -0,0 +1,323 @@ +; *** Inno Setup version 5.1.0+ Malay messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; $jrsoftware: issrc/Files/Languages/Malaysia-5.1.0.isl,v 1.6 2005/09/17 02:23:56 smd Exp $ +; Diterjemah oleh (Translated by): +; Shaiffulnizam Mohamad +; 019-9763528 http://www.mymambo.org +; + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Malay +LanguageID=$043E +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Pemasang Perisian +SetupWindowTitle=Pemasang Perisian - %1 +UninstallAppTitle=Mengeluarkan Perisian dari Sistem +UninstallAppFullTitle=Mengeluarkan Perisian %1 dari Sistem + +; *** Misc. common +InformationTitle=Maklumat +ConfirmTitle=Sahkan +ErrorTitle=Error + +; *** SetupLdr messages +SetupLdrStartupMessage=Program ini akan memasang perisian %1. Adakah anda mahu teruskan? +LdrCannotCreateTemp=Tidak dapat menghasilkan fail sementara, pemasangan dihentikan! +LdrCannotExecTemp=Tidak dapat menjalankan fail dalam direktori sementara, pemasangan dihentikan! + +; *** Startup error messages +LastErrorMessage=%1.%n%nError %2: %3 +SetupFileMissing=Fail %1 didapati hilang dari direktori pemasangan. Sila perbetulkan masalah tersebut atau dapatkan salinan terbaru perisian ini. +SetupFileCorrupt=Fail Pemasangan ini didapati Rosak. Sila dapatkan salinan terbaru perisian ini. +SetupFileCorruptOrWrongVer=Fail Pemasangan ini didapati Rosak, atau tidak serasi dengan versi pemasangan perisian ini. Sila perbetulkan masalah tersebut atau dapatkan salinan terbaru perisian ini. +NotOnThisPlatform=Perisian ini tidak boleh dijalankan dalam %1. +OnlyOnThisPlatform=Perisian ini Mesti dijalankan dalam %1. +OnlyOnTheseArchitectures=Aplikasi ini hanya boleh dipasang pada versi Windows yang dibina untuk rekabentuk pemprosesan berikut:%n%n%1 +MissingWOW64APIs=Versi Windows yang anda jalankan tidak memiliki fungsi yang dikehendaki oleh perisian pemasangan untuk melakukan pemasangan 64-bit. Untuk memperbaikinya, sila pasang Pek Khidmat %1. +WinVersionTooLowError=Perisian ini memerlukan %1 versi %2 atau yang terkemudian. +WinVersionTooHighError=Perisian ini tidak boleh dipasang pada %1 versi %2 atau yang terkemudian. +AdminPrivilegesRequired=Anda mesti masuk kedalam Sistem Komputer ini sebagai pentadbir, apabila memasang perisian ini. +PowerUserPrivilegesRequired=Anda mesti masuk kedalam Sistem Komputer ini sebagai pentadbir atau ahli dalam Kumpulan Power User, apabila memasang perisian ini. +SetupAppRunningError=Perisian Pemasangan ini telah mendapati bahawa terdapat %1 sedang berjalan.%n%nSila tutup semua pemasangan lain tersebut, kemudian klik Ok untuk teruskan atau batal untuk Keluar. +UninstallAppRunningError=Pengeluar Perisian ini telah mendapati bahawa terdapat %1 sedang berjalan.%n%nSila tutup semua pemasangan lain tersebut, kemudian klik Ok untuk teruskan atau batal untuk Keluar. + +; *** Misc. errors +ErrorCreatingDir=Pemasang Perisian ini, tidak dapat menghasilkan Direktori "%1" +ErrorTooManyFilesInDir=tidak dapat menghasilkan Fail dalam Direktori "%1" kerana ia mempunyai terlalu banyak fail. + +; *** Setup common messages +ExitSetupTitle=Keluar dari Pemasangan +ExitSetupMessage=Pemasangan masih belum sempurna. Jika anda berhenti sekarang, Perisian ini tidak akan dipasang.%n%nAnda boleh menjalankan Pemasangan Perisian ini pada masa akan datang untuk melengkapkan pemasangan.%n%nAdakah anda pasti ingin keluar dari Pemasangan? +AboutSetupMenuItem=&Tentang Pemasang Perisian... +AboutSetupTitle=Tentang Pemasang Perisian +AboutSetupMessage=%1 versi %2%n%3%n%n%1 laman web:%n%4 +AboutSetupNote= +TranslatorNote=Dialih bahasa kepada Bahasa Melayu oleh :%nShaiffulnizam Mohamad.%nshaifful@yahoo.com%nHP : 019-9763528%n%nSila hubungi saya sekiranya and ingin ubah maksud atau ayat dalam terjemahan ini + +; *** Buttons +ButtonBack=< &Kembali +ButtonNext=&Selepas > +ButtonInstall=&Pasang +ButtonOK=OK +ButtonCancel=&Batal +ButtonYes=&Ya +ButtonYesToAll=Ya Semu&a +ButtonNo=&No +ButtonNoToAll=&Tidak Semua +ButtonFinish=Se&lesai +ButtonBrowse=Li&hat... +ButtonWizardBrowse=Li&hat... +ButtonNewFolder=&Hasilkan Folder Baru + +; *** "Select Language" dialog messages +SelectLanguageTitle=Pilih Bahasa Untuk Pemasangan +SelectLanguageLabel=Pilih Bahasa Yang Anda ingin Guna Dalam Pemasangan: + +; *** Common wizard text +ClickNext=Klik Selepas untuk Teruskan, atau Batal untuk keluar dari Pemasangan Perisian ini. +BeveledLabel= +BrowseDialogTitle=Lihat untuk folder +BrowseDialogLabel=Pilih folder dari senarai dibawah dan klik OK. +NewFolderName=Folder Baru + +; *** "Welcome" wizard page +WelcomeLabel1=Selamat Datang kepada Pemasang Perisian [name] +WelcomeLabel2=Perisian ini akan memasang perisian [name/ver] pada komputer anda.%n%nAdalah dinasihatkan untuk menghentikan Perisian-perisian lain sebelum anda meneruskan Pemasangan ini. + +; *** "Password" wizard page +WizardPassword=Kata laluan +PasswordLabel1=Pemasangan ini dilindungi dengan kata laluan. +PasswordLabel3=Sila sediakan kata laluan, kemudian Klik Selepas untuk meneruskan pemasangan. Kata laluan adalah Huruf Sensitif. Cth : A tidak sama dengan a +PasswordEditLabel=&Kata laluan: +IncorrectPassword=Kata laluan yang anda berikan tidak Sah!, Sila cuba lagi. + +; *** "License Agreement" wizard page +WizardLicense=Lesen Perjanjian +LicenseLabel=Sila baca Maklumat Penting berikut, sebelum anda meneruskan pemasangan perisian ini. +LicenseLabel3=Sila baca Lesen Perjanjian berikut. Anda mesti menerima terma dalam perjanjian ini, sebelum meneruskan pemasangan. +LicenseAccepted=Saya &Menerima Terma-terma dalam Perjanjian ini +LicenseNotAccepted=Saya &Tidak menerima Terma-terma dalam Perjanjian ini + +; *** "Information" wizard pages +WizardInfoBefore=Maklumat +InfoBeforeLabel=Sila Baca Maklumat Penting Berikut, sebelum meneruskan Pemasangan. +InfoBeforeClickLabel=Jika anda bersedia untuk meneruskan pemasangan, klik Selepas. +WizardInfoAfter=Maklumat +InfoAfterLabel=Sila Baca Maklumat Penting berikut, sebelum meneruskan Pemasangan. +InfoAfterClickLabel=Jika anda bersedia untuk meneruskan Pemasangan, klik Selepas. + +; *** "User Information" wizard page +WizardUserInfo=Maklumat Pengguna +UserInfoDesc=Sila masukkan maklumat Anda: +UserInfoName=&Nama: +UserInfoOrg=&Organisasi: +UserInfoSerial=Nombor &Siri: +UserInfoNameRequired=Anda mesti masukkan nama. + +; *** "Select Destination Directory" wizard page +WizardSelectDir=Pilih Destinasi Tujuan bagi Direktori +SelectDirDesc=Dimanakah perisian [name] akan dipasang? +SelectDirLabel3=Setup akan memasang perisian [name] kedalam folder berikut. +SelectDirBrowseLabel=Untuk teruskan dengan pemasangan, klik Selepas. Jika anda ingin memilih folder berlainan, klik Browse. +DiskSpaceMBLabel=Perisian in memerlukan Sekurang-kurangnya [mb] MB ruangan Cakera Keras. +ToUNCPathname=Pemasangan tidak boleh dilakukan pada laluan UNC. Jika anda cuba untuk memasangnya kedalam rangkaian, anda perlu memetakan pemacu rangkaian. +InvalidPath=Anda mesti meletakkan Laluan Penuh dengan Huruf Pemacu; sebagai contoh:%n%nC:\APP%n%nataupun laluan bagi UNC dalam ruangan:%n%n\\server\share +InvalidDrive=Pemacu atau perkongsian UNC yang anda pilih, tidak wujud atau tidak boleh diakses. Sila pilih yang lain. +DiskSpaceWarningTitle=Ruangan Cakera Keras TIDAK MENCUKUPI! +DiskSpaceWarning=Pemasang Perisian memerlukan sekurang-kurangnya %1 KB daripada ruangan kosong untuk pemasangan, tetapi cakera keras/pemacu yang anda pilih hanya mempunyai %2 KB sahaja.%n%nAdakah anda ingin teruskan juga? +DirNameTooLong=Nama folder atau laluan terlalu panjang. +InvalidDirName=Nama folder tidak sah. +BadDirName32=Nama direktori, tidak boleh termasuk mana-mana huruf atau karektor berikut:%n%n%1 +DirExistsTitle=Direktori telah pun Wujud +DirExists=Direktori:%n%n%1%n%ntelahpun Wujud. Adakah anda masih ingin memasang perisian ini ke Direktori tersebut? +DirDoesntExistTitle=Direktori tidak Wujud! +DirDoesntExist=Direktori:%n%n%1%n%ntidak Wujud!. Adakah anda ingin Direktori tersebut dihasilkan? + +; *** "Select Components" wizard page +WizardSelectComponents=Pilih Komponen atau bahagian +SelectComponentsDesc=Komponen yang manakah perlu dipasang? +SelectComponentsLabel2=Pilih Komponen yang anda ingin pasangkan; Kosongkan Komponen yang anda tidak ingin pasangkan. Klik Selepas, jika anda telah bersedia untuk meneruskan pemasangan. +FullInstallation=Pemasangan Penuh +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Pemasangan Asas +CustomInstallation=Pemasangan atas Pilihan +NoUninstallWarningTitle=Komponen Wujud +NoUninstallWarning=Pemasang Perisian ini telah mendapati bahawa komponen berikut telah dipasang pada Komputer anda:%n%n%1%n%nTidak memilih Komponen ini, tidak akan menyebabkan ianya dikeluarkan dari Pemasangan.%n%nAdakah anda ingin juga teruskan? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Pilihan Sekarang ini memerlukan sekurang-kurangnya [mb] MB Ruangan cakera keras. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Pilih Tugas Tambahan +SelectTasksDesc=Apakah tugas tambahan yang anda ingin perisian pemasangan ini lakukan? +SelectTasksLabel2=Pilih Tugas Tambahan yang anda ingin lakukan semasa Proses Pemasangan [name], Kemudian pilih butang Selepas. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Pilih Folder Start Menu +SelectStartMenuFolderDesc=Dimanakah Sepatutnya pemasang perisian ini harus meletakkan pintasan kepada Perisian ini? +SelectStartMenuFolderLabel3=Setup akan hasilkan pintasan dalam folder menu mula berikut. +SelectStartMenuFolderBrowseLabel=Untuk teruskan, klik selepas. Jika anda nak pilih folder berlainan, klik lihat. +MustEnterGroupName=Anda mesti masukkan nama Folder. +GroupNameTooLong=Nama folder atau laluan terlalu panjang. +InvalidGroupName=Nama folder tidak SAH. +BadGroupName=Nama folder tidak boleh mengandungi mana-mana huruf atau karektor berikut:%n%n%1 +NoProgramGroupCheck2=&Jangan hasilkan folder Start Menu + +; *** "Ready to Install" wizard page +WizardReady=Sedia untuk Pemasangan +ReadyLabel1=Pemasang Perisian telah bersedia untuk memulakan pemasangan [name] kedalam sistem komputer anda. +ReadyLabel2a=Klik Pasang untuk meneruskan Pemasangan Perisian, atau klik Kembali jika anda ingin Lihat atau Ubah mana-mana tetapan. +ReadyLabel2b=Klik Pasang untuk meneruskan Pemasangan. +ReadyMemoUserInfo=Maklumat Pengguna: +ReadyMemoDir=Direktori Destinasi: +ReadyMemoType=Jenis Pemasangan: +ReadyMemoComponents=Komponen terpilih: +ReadyMemoGroup=Folder Start Menu: +ReadyMemoTasks=Tugasan tambahan: + +; *** "Preparing to Install" wizard page +WizardPreparing=Bersedia untuk memasang +PreparingDesc=Pemasang Perisian [name] sedang menyediakan Sistem komputer anda untuk proses pemasangan. +PreviousInstallNotCompleted=Pemasangan/Pengeluaran Perisian sebelumnya adalah tidak lengkap. Anda perlu memulakan kemmbali Komputer untuk menyiapkan pemasangan tersebut.%n%nSelpas memulakan kembali Komputer anda, jalankan Pemasang Perisian ini kembali untuk melengkapkan Pemasangan [name] ini. +CannotContinue=Pemasangan tidak boleh diteruskan, Sila klik batal untuk Keluar. + +; *** "Installing" wizard page +WizardInstalling=Pemasangan Perisian +InstallingLabel=Sila tunggu sementara Pemasang Perisian memasang [name] pada komputer anda. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Melengkapkan Pemasangan [name] +FinishedLabelNoIcons=Pemasang Perisian telah selesai memasang perisian [name] pada komputer anda. +FinishedLabel=Pemasang Perisian telah selesai memasang perisian [name] pada komputer anda. Perisian tersebut boleh dimulakan dengan memilih Ikon yang dipasang. +ClickFinish=Klik Selesai untuk keluar dari Pemasang Perisian. +FinishedRestartLabel=Untuk melengkapkan pemasangan perisian [name], Pemasang perisian mesti memulakan kembali komputer anda, adakah anda ingin Mulakan Kembali Komputer anda sekarang? +FinishedRestartMessage=Untuk melengkapkan pemasangan perisian [name], Pemasang perisian mesti memulakan kembali komputer anda.%n%nadakah anda mahu Mulakan Kembali Komputer anda sekarang?? +ShowReadmeCheck=Ya, Saya nak baca fail READ ME +YesRadio=&Ya, mulakan kembali komputer ini sekarang +NoRadio=&Tidak, Saya akan mulakan kembali Komputer saya kemudian +; used for example as 'Run MyProg.exe' +RunEntryExec=Menjalankan %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Lihat %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Pemasang perisian memerlukan cakera selepas ini +SelectDiskLabel2=Sila masukkan cakera %1 dan Klik OK.%n%nJika fail pada Cakera @ Disk ini boleh ditemui dalam folder selain yang dinyatakan berikut, masukkan laluan yang betul atau klik lihat +PathLabel=&Laluan: +FileNotInDir2=Fail "%1" tidak ditemui dalam "%2". Sila masukkan Cakera yang betul atau pilih Folder lain. +SelectDirectoryLabel=Sila berikan Lokasi Cakera@Disk selepasnya. + +; *** Installation phase messages +SetupAborted=Pemasangan Perisian tidak Lengkap.%n%nSila baiki masalah tersebut dan jalankan Pemasang Perisian ini kembali.. +EntryAbortRetryIgnore=Klik Retry untuk mencuba sekali lagi, atau Ignore untuk teruskan sahaja, atau Abort untuk batalkan pemasangan perisian. + +; *** Installation status messages +StatusCreateDirs=Menghasilkan direktori... +StatusExtractFiles=Mengekstrak Fail-fail... +StatusCreateIcons=Menghasilkan ikon bagi perisian +StatusCreateIniEntries=Menghasilkan kemasukkan data INI +StatusCreateRegistryEntries=Menghasilkan kemasukkan registry... +StatusRegisterFiles=Mendaftarkan Fail-fail +StatusSavingUninstall=Menyimpan maklumat pengeluaran semula... +StatusRunProgram=Menamatkan Pemasangan... +StatusRollback=Mengundurkan kembali semua perubahan.. + +; *** Misc. errors +ErrorInternal2=Masalah Dalaman: %1 +ErrorFunctionFailedNoCode=%1 Gagal +ErrorFunctionFailed=%1 Gagal; Kod %2 +ErrorFunctionFailedWithMessage=%1 Gagal; Kod %2.%n%3 +ErrorExecutingProgram=Tidak dapat memulakan fail program:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Terdapat masalah membuka kekunci registry :%n%1\%2 +ErrorRegCreateKey=Masalah dalam menghasilkan kekunci registry:%n%1\%2 +ErrorRegWriteKey=Masalah untuk menulis kekunci registry:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Terdapat masalah menghasilkan kemasukan INI dalam fail "%1". + +; *** File copying errors +FileAbortRetryIgnore=Klik Retry untuk mencuba kembali, Ignore untuk langkau fail ini (Tidak digalakkan), atau Henti untuk Batalkan Pemasangan. +FileAbortRetryIgnore2=Klik Retry untuk mencuba kembali, Ignore untuk teruskan juga (Tidak digalakkan), atau Henti untuk Batalkan Pemasangan. +SourceIsCorrupted=Sumber bagi fail ini Rosak +SourceDoesntExist=Sumber fail bagi "%1" tidak wujud +ExistingFileReadOnly=Fail yang telah wujud ditanda sebagai Baca-sahaja atau read-only.%n%nKlik Cuba Semula untuk keluarkan attribut baca-sahaja dan cuba sekali lagi. Ignore untuk langkau Fail ini, atau Abort untuk Batalkan pemasangan perisian. +ErrorReadingExistingDest=Masalah Berlaku apabila cuba membaca fail yang telah wujud. +FileExists=Fail tersebut telah wujud.%n%nAdakah anda mahu pemasang perisian untuk menulisnya kembali? +ExistingFileNewer=Fail sedia ada adalah lebih baru daripada fail yang cuba dipasang oleh pemasang perisian ini. Adalah dicadangkan supaya anda menyimpan fail sedia ada tersebut.%n%nAdakah anda ingin menyimpan fail sedia ada tersebut? +ErrorChangingAttr=Berlaku masalah apabila cuba mengubah atribut fail sedia ada: +ErrorCreatingTemp=Masalah berlaku apabila cuba menghasilkan fail dalam direktori destinasi: +ErrorReadingSource=Masalah berlaku apabila cuba membaca fail sumber: +ErrorCopying=Masalah berlaku apabila cuba menyalin fail: +ErrorReplacingExistingFile=Masalah berlaku apabila cuba menggantikan fail sedia ada: +ErrorRestartReplace=Gagal Mula Semula: +ErrorRenamingTemp=Masalah berlaku apabila cuba untuk menamakan fail dalam direktori destinasi: +ErrorRegisterServer=Tidak dapat daftarkan DLL/OCX: %1 +ErrorRegisterServerMissingExport=Eksport DllRegisterServer tidak dijumpai +ErrorRegisterTypeLib=Tidak dapat mendaftarkan jenis library: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Masalah berlaku apabila cuba membuka fail README. +ErrorRestartingComputer=Pemasang Perisian tidak dapat memulakan kembali komputer ini. Sila lakukan secara manual. + +; *** Uninstaller messages +UninstallNotFound=Fail "%1" tidak wujud. Pengeluaran Perisian tidak boleh dilakukan. +UninstallOpenError=Fail "%1" tidak dapat dibuka. proses mengeluarkan perisian tidak dapat dilakukan +UninstallUnsupportedVer=Fail daftar pengeluaran "%1" berada dalam format yang tidak dikenali oleh Versi Pengeluar ini. Pengeluaran tidak boleh dilakukan +UninstallUnknownEntry=Daftar masuk yang tidak dikenali (%1) dijumpai dalam daftar pengeluaran. +ConfirmUninstall=Adakah anda pasti ingin mengeluarkan %1 sepenuhnya bersama kesemua komponennya? +UninstallOnlyOnWin64=Setup ini hanya boleh melakukan pengeluaran perisian pada Windows 64-bit. +OnlyAdminCanUninstall=Pengeluaran Perisian ini hanya boleh dilakukan oleh pengguna yang mempunyai kelebihan sebagai Pentadbir. +UninstallStatusLabel=Sila tunggu semasa %1 idikeluarkan dari komputer anda. +UninstalledAll=%1 Berjaya dikeluarkan dari Komputer anda. +UninstalledMost=Pengeluaran %1 telah selesai%n%nSesetengah fail tidak boleh dikeluarkan. Ianya boleh dikeluarkan secara manual.. +UninstalledAndNeedsRestart=Untuk melengkapkan pengeluaran %1, komputer anda mesti dimulakan kembali.%n%nMahukah ada memulakan komputer kembali Sekarang? +UninstallDataCorrupted=Fail "%1" didapati rosak. Pengeluaran tidak boleh dilakukan. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Keluarkan Fail Kongsi? +ConfirmDeleteSharedFile2=Sistem telah mengenal pasti bahawa Fail berikut tidak lagi digunakan oleh mana-mana program. Adakah anda mahu mengeluarkan Fail ini?%n%nJika ada mana-mana perisian menggunakan Fail ini dan ianya telah dikeluarkan dari sistem, perisian tersebut mungkin tidak dapat berfungsi dengan baik atau tidak berfungsi langsung. Jika tidak pasti sila klik Tidak, membiarkan Fail ini pada sistem anda tidak akan memberi sebarang kesan. +SharedFileNameLabel=Nama Fail: +SharedFileLocationLabel=Lokasi: +WizardUninstalling=Status Pengeluaran +StatusUninstalling=%1 dikeluarkan... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versi %2 +AdditionalIcons=Ikon tambahan: +CreateDesktopIcon=Hasilkan ikon &desktop +CreateQuickLaunchIcon=Hasilkan ikon &Lancar Pantas +ProgramOnTheWeb=%1 di Internet +UninstallProgram=Uninstall %1 +LaunchProgram=Jalankan perisian %1 +AssocFileExtension=&Kaitkan %1 dengan akhiran fail %2 +AssocingFileExtension=Mengaitkan %1 dengan akhiran fail %2 ... \ No newline at end of file diff --git a/Greenshot/releases/innosetup/Languages/Marathi.islu b/Greenshot/releases/innosetup/Languages/Marathi.islu new file mode 100644 index 000000000..7d3ac06b4 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Marathi.islu @@ -0,0 +1,336 @@ +; *** Inno Setup version 5.5.3+ Marathi messages *** +; Translated by Ajay Nandeshwar & Prashant Shinde [ sprashant80 at gmail.com ] +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<0939><093F><0902><0926><0940> +LanguageID=$0439 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=10 +;WelcomeFontName= +WelcomeFontSize=12 +;TitleFontName= +TitleFontSize=35 +;CopyrightFontName= +CopyrightFontSize=9 + +[Messages] + +; *** Application titles +SetupAppTitle=स्थापना +SetupWindowTitle=स्थापना - %1 +UninstallAppTitle=विस्थापन +UninstallAppFullTitle=%1 चे विस्थापन + +; *** Misc. common +InformationTitle=माहिती +ConfirmTitle=पुष्टी करा +ErrorTitle=त्रुटी + +; *** SetupLdr messages +SetupLdrStartupMessage=ह्याने %1 आपल्या कल्पयन्त्र मध्ये स्थापित होईल. तुम्हाला नक्की पुढे जायचे का? +LdrCannotCreateTemp=तात्पूर्ती फाइल अनुवाद तयार करू शकत नाही. स्थापना मध्येच थांबवावी लागली +LdrCannotExecTemp=तात्पूर्ती फोल्डरमध्य फाइल अंमलबजावणी केली जाऊ शकत नाही.स्थापना मध्येच थांबवावी लागली + +; *** Startup error messages +LastErrorMessage=%1.%n%nत्रुटी %2: %3 +SetupFileMissing=फ़ाइल %1 प्रतिष्ठापन संग्रहात नाही. कृपया एकतर समस्येचे निदान करा किंवा कार्यक्रम ची नवीन प्रत आणा +SetupFileCorrupt=स्थापना फाइल मधे त्रुटी आहे. कृपया नविन कार्यक्रम ची प्रत आणा +SetupFileCorruptOrWrongVer=स्थापना फाइल मधे त्रुटी आहे किंवा वेगळ्या प्रकार ची आहे. कृपया समस्येचे निदान करा किंवा कार्यक्रम ची नवीन प्रत आणा +InvalidParameter=फोल्डर चे नाव वैध नाही +SetupAlreadyRunning=स्थापना तर आधीपासूनच चालू आहे +WindowsVersionNotSupported=इस से [name/ver] आपल्या कल्पयन्त्र मधे स्थापना होईल.%n%n हे बरे होईल कि पुढे जाण्या आधी तुम्ही उर्वरित सर्व कार्यक्रम हाल सध्यासाठी थांबवा +WindowsServicePackRequired=ह्या कार्यक्रम ला %1 Service Pack %2 किंवा मागील आवृत्ती पाहिजे +NotOnThisPlatform=हे कार्यक्रम %1 वर नाही चालू शकत +OnlyOnThisPlatform=हे कार्यक्रम फक्त %1 वरच चालू शकते +OnlyOnTheseArchitectures=हे कार्यक्रम फक्त ह्या प्रोसेसर :%n%n%1 समान विन्डोज़ प्लेटफॉर्म वरच चालू शकते +MissingWOW64APIs=आपला विंडो प्लेटफॉर्म 64-bit स्थापना समर्थन नाही करू शकत. कृपया सर्विस पैक %1 स्थापित करा +WinVersionTooLowError=हे कार्यक्रम चालण्यासाठी %1 आव्रुती %2 किंवा त्या मागील आव्रुती पाहिजे +WinVersionTooHighError=हे कार्यक्रम स्थापित करू शकत नाही %1 आवृत्ती %2 किंवा मागील पाहिजे +AdminPrivilegesRequired=जर आपण प्रशासक खात्यातून सुरु कराल तरच हे कार्यक्रम स्थापित करू शकाल +PowerUserPrivilegesRequired=आपण प्रशासक खाते किंवा शक्ति-प्रयोग कृत समूह च्या खात्यातून सुरु कराल तरच कार्यक्रम स्थापित करू शकाल +SetupAppRunningError=स्थापना मधे %1 error आला आहे ..%n%n कृपया त्याला त्वरित थांबवा, आणि नंतर पुढे जाण्यासाठी 'ठीक' किंवा निघून जाण्यासाठी 'रद्द करा' वर क्लिक करा +UninstallAppRunningError=निस्कासन ला हे ज्ञात झाले की %1 आता चालू आहे.%n%n कृपया त्याला त्वरित थांबवा, आणि नंतर पुढे जाण्यासाठी 'ठीक' किंवा निघून जाण्यासाठी 'रद्द करा' वर क्लिक करा + +; *** Misc. errors +ErrorCreatingDir=स्थापना "%1" संग्रहनाची निर्मिती करण्यात अयशस्वी झाले आहे +ErrorTooManyFilesInDir=%1 संग्रहानामध्ये खूप फाईल असल्या कारणाने स्थापना फाईल तयार करण्यात अयशस्वी झाले आहे + +; *** Setup common messages +ExitSetupTitle=स्थापना मधून बाहेर पडा +ExitSetupMessage=स्थापना चे कार्य पूर्ण नाही झाले, जर तुम्ही आता बाहेर पडू इच्छिता तर कार्यक्रम व्यवस्थित स्थापित होणार नाही. %n%nतुम्ही अन्यवेळी पुन्हा स्थापना करू शकता.%n%nबाहेर पडायचे आहे का? +AboutSetupMenuItem=स्थापना च्या संबंधित +AboutSetupTitle=स्थापना च्या संबंधित +AboutSetupMessage=%1 आवृत्ती %2%n%3%n%n%1 गृह पृष्ठ:%n%4 +AboutSetupNote= +TranslatorNote= हे भाषांतर अजय आणि प्रशांत यांनी केले आहे + +; *** Buttons +ButtonBack=< &मागे जा +ButtonNext=&पुढे जा > +ButtonInstall=&स्थापना +ButtonOK=&ठीक +ButtonCancel=&रद्द करा +ButtonYes=&हो +ButtonYesToAll=&सगळ्यासाठी हो +ButtonNo=&नाही +ButtonNoToAll=सगळ्यासाठी नाही +ButtonFinish=&समाप्त +ButtonBrowse=&ब्राउज़ +ButtonWizardBrowse=&ब्राउज़ +ButtonNewFolder=&नवीन फोल्डर बनवा + +; "Select Language" dialog messages +SelectLanguageTitle=स्थापना भाषा निवड +SelectLanguageLabel=अधिष्ठापन च्या दरम्यान वापरली जाणारी भाषा निवडा + +; *** Common wizard text +ClickNext= पुढे जाण्यासाठी पुढे जा दाबा, किंवा बाहेर पडण्यासाठी रद्द करा दाबा +BeveledLabel= सौजन्यः अजय आणि प्रशांत +BrowseDialogTitle=फोल्डर साठी ब्राउज़ करा +BrowseDialogLabel= खालील सूचीमधून एक फोल्डर निवडून ठीक दाबा +NewFolderName=नविन फोल्डर + +; "Welcome" wizard page +WelcomeLabel1=हे [name] च्या प्रतिष्ठापन कार्य मधे आपले स्वागत आहे +WelcomeLabel2=ह्याने [name/ver] आपल्या कल्पयन्त्र मध्ये स्थापित होईल.%n%n हे बरे होईल कि पुढे जाण्याआधी तुम्ही उर्वरित सर्व चालू कार्यक्रम हाल थांबवा + +; "Password" wizard page +WizardPassword=गूढ शब्द +PasswordLabel1= ही स्थापना गूढ शब्दाने लॉक आहे +PasswordLabel3=कृपया गूढ शब्द लिहा आणि नंतर 'पुढे जा' बटन दाबा. गूढ शब्द case-संवेदनशील आहे +PasswordEditLabel=गूढ शब्द +IncorrectPassword= तुम्ही लिहिलेला गूढ शब्द चुकीचा आहे, कृपया पुन्हा प्रयत्न करा + +; "License Agreement" wizard page +WizardLicense=परवानगी करार +LicenseLabel= पुढे जाण्याआधी ही महत्वाची सूचना वाचा +LicenseLabel3= हे परवानगी करार वाचा. पुढे जाण्याआधी तुम्हाला ह्याच्या सर्व अटी मान्यच कराव्या लागतील +LicenseAccepted=होय मला हा करार स्वीकार आहे +LicenseNotAccepted=नाही मला हा करार स्वीकार नाही + +; "Information" wizard pages +WizardInfoBefore=माहिती +InfoBeforeLabel=पुढे जाण्याआधी महत्वाच्या सूचना वाचा +InfoBeforeClickLabel= जेव्हा आपण सज्ज आहात तेव्हा 'पुढे जा' बटन दाबा +WizardInfoAfter=माहिती +InfoAfterLabel=पुढे जाण्याआधी महत्वाच्या सूचना वाचा +InfoAfterClickLabel=जेव्हा आपण सज्ज आहात तेव्हा 'पुढे जा' बटन दाबा + +; "User Information" wizard page +WizardUserInfo=प्रयोग कर्ता ची माहिती +UserInfoDesc=कृपया आपली माहिती आत टाका +UserInfoName=प्रयोग कर्ता चे नाव +UserInfoOrg=संस्था +UserInfoSerial=क्रमांक +UserInfoNameRequired=तुम्हाला नाव टाकावेच लागेल + +; "Select Destination Location" wizard page +WizardSelectDir=लक्ष्य मार्ग निवडा +SelectDirDesc=[name] ला कुठे स्थापित करायचे आहे? +SelectDirLabel3=स्थापना [name] ला खालील फोल्डर मधे होईल +SelectDirBrowseLabel=पुढे जाण्यासाठी पुढे जा दाबा. जर इतर फोल्डर निवडायचे असल्यास ब्राउज़ दाबा +DiskSpaceMBLabel=कमीतकमी [mb] MB इतकी जागा आवश्यक आहे +CannotInstallToNetworkDrive=श्थापना ने नेटवर्क ड्राईव्ह नाही ठेवू शकत +CannotInstallToUNCPath=स्थापना ने UNC path नाही ठेवू शकत +InvalidPath=तुम्हाला ड्राइव अक्षर बरोबर संपूर्ण मार्ग द्यावा लागेल उदारणार्थ :%n%nC:\APP%n%n एकतर UNC मार्ग ह्या स्वरूपात :%n%n\\server\share +InvalidDrive=जी drive किंवा UNC share आपण निवडली आहे तिथे पोहोचू शकत नाही. कृपया अन्य निवड करा +DiskSpaceWarningTitle=आवश्यक जागा नाही आहे +DiskSpaceWarning=स्थापना किमान %1 KB जागा मागते, परंतु निवडलेल्या ड्राईव मध्ये केवळ %2 KB जागा उपलब्ध आहे.%n%nतरीपण पुढे जायचे आहे का? +DirNameTooLong=फोल्डर चे नाव किंवा मार्ग खूप मोठे आहे +InvalidDirName=फोल्डर चे नाव वैध नाही +BadDirName32=फोल्डर च्या नावात हे अक्षर वापरू शकत नाही.:%n%n%1 +DirExistsTitle=फोल्डर उपलब्ध आहे +DirExists=फोल्डर:%n%n%1%n%n आधीपासूनच उपलब्ध आहे, तरीपण त्यात स्थापित करू इच्छिता? +DirDoesntExistTitle=फोल्डर उपलब्ध नाही +DirDoesntExist=फोल्डर:%n%n%1%n%nउपलब्ध नाही. तुम्हाला हे फोल्डर बनवायचे आहे? + +; "Select Components" wizard page +WizardSelectComponents=सहकारी निवडा +SelectComponentsDesc=कोणते सहकारी स्थापित करायचे आहे? +SelectComponentsLabel2= ज्या सहकारी स्थापित करायची आहे, त्यांची निवड करा; ज्यांना नाही करायची त्यांना काढून टाका. जेव्हा पुढे जाण्यासाठी सज्ज आहात तेव्हा पुढे जा दाबा +FullInstallation=सम्पूर्ण स्थापना +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=संक्षिप्त स्थापना +CustomInstallation=सानुकूल स्थापना +NoUninstallWarningTitle=सहकारी उपलब्ध आहे +NoUninstallWarning=स्थापना ला कळाले की खालील सहकारी आधीपासूनच उपलब्ध आहे.:%n%n%1%n%n ह्यांची निवड रद्द केल्याने ते विस्थापित होणार नाही.%n%nतुम्हाला असेच पुढे जायचे आहे का? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=ह्या निवड ने स्थापना साठी [mb] MB जागा पाहिजे + +; "Select Additional Tasks" wizard page +WizardSelectTasks=अतिरिक्त काम निवडा +SelectTasksDesc=कोणते अतिरिक्त काम करायचे आहे? +SelectTasksLabel2=[name] ला स्थापित करताना जी अतिरिक्त कामे करायची आहेत त्यांची निवड करा आणि नंतर पुढे जा वर क्लिक करा + +; "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=सुरु मेनू फोल्डर निवडा +SelectStartMenuFolderDesc=कार्यक्रम चे लहान मार्ग कुठे ठवायचे आहे? +SelectStartMenuFolderLabel3=स्थापना कार्यक्रम चे लहान मार्ग खालील सुरु-मेनू फोल्डर मध्ये टाकेल +SelectStartMenuFolderBrowseLabel=पुढे जाण्यासाठी पुढे जा दाबा. जर वेगळ्या फोल्डर मधे स्थापना करायची असेल तर Browse दाबा +MustEnterGroupName=तुम्हाला फोल्डर चे नाव टाकावेच लागेल +GroupNameTooLong=फोल्डर चे नाव किंवा मार्ग खूप मोठे आहे +InvalidGroupName=फोल्डर चे नाव वैध नाही +BadGroupName=फोल्डर च्या नावात हे अक्षर वापरू शकत नाही:%n%n%1 +NoProgramGroupCheck2=सुरु मेनू फोल्डर बनवायचे नाही + +; "Ready to Install" wizard page +WizardReady=स्थापनेसाठी तयार +ReadyLabel1=स्थापना आता [name] ला आपल्या कल्पयन्त्रमध्ये स्थापित करण्यासठी तयार आहे +ReadyLabel2a=पुढे जाण्यासाठी स्थापना दाबा, जर काही बदल करायचे असल्यास मागे जा दाबा +ReadyLabel2b=स्थापनामध्ये पुढे जाण्यासाठी स्थापना दाबा +ReadyMemoUserInfo=प्रयोग कर्ता ची माहिती +ReadyMemoDir=लक्ष्य संग्रह +ReadyMemoType=स्थापना चा प्रकार +ReadyMemoComponents=सहकारी निवड +ReadyMemoGroup=सुरु मेनू फोल्डर +ReadyMemoTasks=अतिरिक्त कामे + +; "Preparing to Install" wizard page +WizardPreparing=स्थापनेसाठी तैयारी करत आहे +PreparingDesc=स्थापना [name] ला आपल्या कल्पयंत्र मध्ये टाकण्याची तैयारी करत आहे +PreviousInstallNotCompleted=मागील कार्यक्रम च्या स्थापना/विस्थापना व्यवथित पाने झालेली नाही. तुम्हाला कल्पयंत्र पुन्हा सुरु करवा लागेल.%n%nकल्पयन्त्र पुन्हा सुरु केल्यानंतर तुम्ही पुन्हा [name] ची स्थापना सुरु करा +CannotContinue=स्थापना पुढे जाऊ शकत नाही, कृपया रद्द करा बटन दाबा +ApplicationsFound=खाली असलेल्या अनुप्रयोगांनी स्थापना करून अद्यतने केलेल्या फाइल्सचा वापर केलेला आहे. तुम्हाला हा सल्ला देण्यात येतो कि तुम्ही स्थापना ला हे अनुप्रयोगांना स्वतःहून बंद करण्याची परवानगी द्या +ApplicationsFound2=ह्या अनुप्रयोगांनी स्थापना द्वारा अपडेट करणाऱ्या फाईल चा उपयोग केलेला आहे. तुम्हाला हा सल्ला दिला जातो कि तुम्ही स्थापना ला हे अनुप्रयोगांना स्वतःहून बंद करण्याची परवानगी द्या. स्थापना संपल्यानंतर, स्थापना ह्या अनुप्रयोगांना पुन्हा सुरु करण्याचा प्रयत्न करेल +CloseApplications=&स्वतःच अनुप्रयोगाला बंद करा +DontCloseApplications=अनुप्रयोगाला बंद &करायचे नाही +ErrorCloseApplications=स्थापना स्वतः सर्व अनुप्रयोगांना बंद नाही करू शकली.तुम्हाला हा सल्ला देण्यात येतो कि स्थापना ने अपडेट करणाऱ्या फाईल चा उपयोग करणाऱ्या अनुप्रयोगांना पुढे जाण्याआधी स्वतःहून बंद करा + +; "Installing" wizard page +WizardInstalling=स्थापना होत आहे +InstallingLabel=जोपर्यंत स्थापना आपल्या कल्पयंत्र मध्ये [name] स्थापित करत आहे, तोपर्यंत कृपया प्रतीक्षा करा + +; "Setup Completed" wizard page +FinishedHeadingLabel=[name] स्थापना चे कार्य पूर्ण होत आहे +FinishedLabelNoIcons=स्थापना ने [name] चे आपल्या कल्पयंत्र मधे यशस्वीपणे स्थापित केले गेले आह +FinishedLabel=स्थापना ने [name] आपल्या कल्पयंत्र मध्ये स्थापित केले आहे. तुम्ही उपयुक्त प्रतिमेवर क्लिक करून केव्हाही कार्यक्रम सुरु करू शकता +ClickFinish=स्थापना तून बाहेर पडण्यासाठी समाप्त वर क्लिक करा +FinishedRestartLabel=[name] चे स्थापित पूर्ण करण्यासाठी कल्पयंत्र पुन्हा सुरु करून खूप आवश्यक आहे . %n%nतुम्ही आता पुन्हा सुरु करू इच्छिता +FinishedRestartMessage=[name] चे स्थापित पूर्ण करण्यासाठी कल्पयंत्र पुन्हा सुरु करणे खूप आवश्यक आहे.%n%nतुम्ही आता पुन्हा सुरु करू इच्छिता +ShowReadmeCheck=होय मला मला वाचा फाईल बघायची आहे +YesRadio=&होय, कल्पयंत्र पुन्हा सुरु करा +NoRadio=&नाही मी कल्पयंत्र नंतर स्वतः सुरु करेल +; used for example as 'Run MyProg.exe' +RunEntryExec=रन %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=बघा %1 + +; "Setup Needs the Next Disk" stuff +ChangeDiskTitle=स्थापनेसाठी पुढील डिस्क पाहिजे +SelectDiskLabel2=कृपया डिस्क %1 टाकून ठीक दाबा.%n%nजर ह्या डिस्क ची फाईल नाही मिळाली तर योग्य मार्ग सांगा किंवा ब्राउज़ वर क्लिक करा +PathLabel=मार्ग +FileNotInDir2=फाइल "%1" ला"%2" मध्ये नाही शोधू शकलो, कृपया योग्य डिस्क टाका किंवा वेगळे फोल्डर निवडा +SelectDirectoryLabel=पुढील डिस्क चा मार्ग सांगा + +; *** Installation phase messages +SetupAborted=स्थापना पूर्ण नाही होऊ शकली.%n%nकृपया त्रुटी ठीक करा आणि पुन्हा प्रयत्न करा +EntryAbortRetryIgnore=पुन्हा प्रयत्न करण्यासाठी Retry दाबा, जर असेच पुढे जायचे आहे तर Ignore दाबा, किंवा स्थापना रद्द करण्यासाठी Abort दाबा + +; *** Installation status messages +StatusClosingApplications=अनुप्रयोगकांना बंद केले जात आहे +StatusCreateDirs=सङ्ग्रहिका बनविणे +StatusExtractFiles=फाइल उत्खनन करणे +StatusCreateIcons=छोटा मार्ग बनविणे +StatusCreateIniEntries=INI एंट्री बनविणे +StatusCreateRegistryEntries=रेजीस्टर एन्ट्री बनविणे +StatusRegisterFiles=फाइल रेजीस्टर करत आहे +StatusSavingUninstall=विस्थापन ची माहिती बचत करीत आहे +StatusRunProgram=स्थापना पूर्ण करत आहे +StatusRestartingApplications=अनुप्रयोगकांची पुन्हा सुरुवात +StatusRollback=बदल मागे हटविण्याचे काम करीत आहे + +; *** Misc. errors +ErrorInternal2=अंतर्गत त्रुटी: %1 +ErrorFunctionFailedNoCode=%1 अयशस्वी +ErrorFunctionFailed=%1 अयशस्वी; कोड %2 +ErrorFunctionFailedWithMessage=%1 अयशस्वी; कोड %2.%n%3 +ErrorExecutingProgram=फाइल ची अंमलबजावणी करू शकत नाही.:%n%1 + +; *** Registry errors +ErrorRegOpenKey=रेजीस्टर कळ खोलताना त्रुटी:%n%1\%2 +ErrorRegCreateKey=रेजीस्टर कळ बनविताना त्रुटी:%n%1\%2 +ErrorRegWriteKey=रेजीस्टर कळ मध्ये लिहिताना त्रुटी:%n%1\%2 + +; *** INI errors +ErrorIniEntry=फ़ाइल "%1" मध्ये INI एंट्री टाकताना त्रुटी + +; *** File copying errors +FileAbortRetryIgnore=पुन्हा प्रयत्न करण्यासाठी Retry बटन दाबा, जर असेच पुढे जायचे असल्यास Ignore दाबा (आम्ही असा सल्ला देत नाही),किंवा Abort दाबा स्थापना रद्द करण्यासाठी +FileAbortRetryIgnore2=पुन्हा प्रयत्न करण्यासाठी Retry बटन दाबा, जर असेच पुढे जायचे असल्यास Ignore दाबा (आम्ही असा सल्ला देत नाही),किंवा Abort दाबा स्थापना रद्द करण्यासाठी +SourceIsCorrupted=स्रोत फाईल संशयास्पद आहे +SourceDoesntExist=स्रोत फाइल "%1" उपलब्धच नाही +ExistingFileReadOnly=उपलब्ध फाईल फक्त वाचा आहे.%n%n तुम्ही Retry वर क्लिक करा, त्याचे फक्त वाचा attribute हटविण्यासाठी पुन्हा प्रयत्न करा. जर ह्या फाईल ला सोडून द्यायचे असल्यास Ignore, किंवा जर स्थापना रद्द करावयची असल्यास Abort बटन दाबा +ErrorReadingExistingDest=उपलब्ध फाईल वाचताना त्रुटी +FileExists=फाइल आधीपासूनच उपलब्ध आहे.%n%nतुम्ही तिला ओवर-राईट करू इच्छिता +ExistingFileNewer=उपलब्ध फाईल स्थापना फाईल पेक्षा नवी आहे, आमचा सल्ला आहे कि आपण हिला राहू द्यावे.%n%nतुम्ही फाईल ठेवू इच्छिता +ErrorChangingAttr=उपलब्ध फाईल चे एट्रीब्यूट बदलताना त्रुटी +ErrorCreatingTemp=फ़ाइल बनवताना त्रुटी +ErrorReadingSource=स्रोत फाईल खोलताना त्रुटी +ErrorCopying=फाईल प्रत करण्याचे प्रयत्न करतानाच्या त्रुटी +ErrorReplacingExistingFile=उपलब्ध फाइल ची प्रतिस्थापना करताना त्रुटी +ErrorRestartReplace=प्रतिस्थापन ची सुरुवात पुन्हा अयशस्वी झाली +ErrorRenamingTemp=सङ्ग्रहिका मध्ये फाइल चे नाव बदलताना वक्त त्रुटी +ErrorRegisterServer=ह्याला रेजीस्टर करू शकत नाही DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 अयशस्वी झाले, बाहेर जाण्याचा कोड %1 च्या बरोबर +ErrorRegisterTypeLib=हे टाइप लाइब्रेरी ला रेजीस्टर करू शकत नाही.: %1 + +; *** Post-installation errors +ErrorOpeningReadme=मला वाचा फ़ाइल खोलताना त्रुटी +ErrorRestartingComputer=स्थापना कल्पयन्त्र ला पुन्हा सुरु करण्यात अयशस्वी झाले. कृपया तुम्हीच ह्याला पुन्हा सुरु करा + +; *** Uninstaller messages +UninstallNotFound=फाइल "%1" उपलब्ध नाही, विस्थापित करणे अशक्य आहे +UninstallOpenError=फ़ाइल "%1" उघडत नाही. विस्थापित करणे अशक्य आहे +UninstallUnsupportedVer=विस्थापित लॉग फाईल "%1" ज्या फोर्मेट मध्ये आहे ती आम्ही ओळखू शकत नाही. पुढे जाणे अशक्य आहे +UninstallUnknownEntry=विस्थापित लॉग मध्ये एक अज्ञात नोंद (%1)मिळाली +ConfirmUninstall=तुम्ही नक्की %1 ला विस्थापित करू इच्छिता +UninstallOnlyOnWin64=केवळ 64-bit Windows नेच हिला विस्थापित केले जाऊ शकते +OnlyAdminCanUninstall=केवळ प्रशासक खात्यातूनच हिला विस्थापित केले जाऊ शकते +UninstallStatusLabel=जोपर्यंत %1 नाही हटविले जात, धैर्य ठेवा +UninstalledAll=%1 यशस्वीरीत्या विस्थापित झाले +UninstalledMost=%1 विस्थापन पूर्ण झाले.%n%nकाही घटक काढू शकत नाही परंतु तुम्ही त्यांना तुमच्या पद्धतीने काढून टाकू शकता +UninstalledAndNeedsRestart=%1 चे विस्थापन पूर्ण करण्यासाठी कल्पयंत्र पुन्हा सुरु करणे आवश्यक आहे.%n%nआता पुन्हा सुरु करावे +UninstallDataCorrupted=%1 फ़ाइल मध्ये त्रुटी. विस्थापित करणे अशक्य + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=शेअर्ड -फाइल ला काढून टाकणे आहे का? +ConfirmDeleteSharedFile2=प्रणाली ने हे ओळखले जाते की शेअर्ड फाईल आता पुढे वापरता येणार नाही. तुम्हाला त्यांनापण विस्थापित करायचे आहे काय?%n%n जर काही इतर कार्यक्रम ह्या फाईल वर आधारित असतील तर कदाचित ते ह्यांना काढून टाकल्यामुळे व्यवथित काम करू शकणार नाही. जर तुम्ही निर्णय घेवू शकत नाही आहात तर 'नाही' वर क्लिक करा. ह्या फाईल ला कल्पयंत्र मध्येच राहू दिले तरी काही नुकसान होणार नाही +SharedFileNameLabel=फाइलचे नाव +SharedFileLocationLabel=पत्ता +WizardUninstalling=विस्थापित स्थिति +StatusUninstalling=विस्थापित होत आहे %1 + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp= %1 ची स्थापना होत आहे +ShutdownBlockReasonUninstallingApp=%1 चे विस्थापन होत आहे + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 आवृत्ती %2 +AdditionalIcons=अतिरिक्त प्रतिमा +CreateDesktopIcon=डेस्कटॉप प्रतिमा बनवा +CreateQuickLaunchIcon=क्विक लोंच प्रतिमा बनवा +ProgramOnTheWeb=%1 इन्टरनेट वर +UninstallProgram=विस्थापित करणे %1 +LaunchProgram=लोंच करणे %1 +AssocFileExtension=%1 ला %2 फ़ाइल एक्सटेंशन बरोबर प्रतिबद्ध करा +AssocingFileExtension=%1 ला %2 फ़ाइल एक्सटेंशन बरोबर प्रतिबद्ध करत आहे +AutoStartProgramGroupDescription=सुरुवात +AutoStartProgram=%1 ला %2 फ़ाइल एक्सटेंशन बरोबर प्रतिबद्ध करत आहे +AddonHostProgramNotFound=तुम्ही निवडलेल्या फोल्डर मध्ये %1 नाही मिळाले. %n%nतुम्ही कुठल्याही प्रकारे ह्याची सुसंगता ठेवू इच्छिता का? \ No newline at end of file diff --git a/Greenshot/releases/innosetup/Languages/Mongolian.isl b/Greenshot/releases/innosetup/Languages/Mongolian.isl new file mode 100644 index 000000000..7cdebf28e --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Mongolian.isl @@ -0,0 +1,307 @@ +; *** Inno Setup version 5.1.11+ Mongolian messages *** +; +; Translation was made by GARID, xGARIDx@gmail.com +; The highest accuracy was the first priority. +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; $jrsoftware: issrc/Files/Languages/Mongolian.isl,v 1.10 2010/05/29 07:43:18 jr Exp $ + +[LangOptions] +LanguageName=<041C><043E><043D><0433><043E><043B> +LanguageID=$0450 +LanguageCodePage=1251 + +[Messages] + +; *** Application titles +SetupAppTitle= +SetupWindowTitle=%1 +UninstallAppTitle= +UninstallAppFullTitle=%1 + +; *** Misc. common +InformationTitle= +ConfirmTitle= +ErrorTitle= + +; *** SetupLdr messages +SetupLdrStartupMessage= %1 , vvv vv? +LdrCannotCreateTemp=v vv v. +LdrCannotExecTemp=v v v. + +; *** Startup error messages +LastErrorMessage=%1.%n%n %2: %3 +SetupFileMissing= %1 v. . +SetupFileCorrupt= . . +SetupFileCorruptOrWrongVer= v. . +NotOnThisPlatform= %1 v. +OnlyOnThisPlatform= ee %1 . +OnlyOnTheseArchitectures=vv ee Windows :%n%n%1 +MissingWOW64APIs= Windows- , 64- v . , . (Service Pack) %1. +WinVersionTooLowError= %1 %2 vv . +WinVersionTooHighError= %1 %2 vv v. +AdminPrivilegesRequired= vv . +PowerUserPrivilegesRequired= vv vv (Power Users). +SetupAppRunningError= vv %1.%n%n,v , OK, vvv , , . +UninstallAppRunningError= vv %1.%n%n,v , OK, vvv , , . + +; *** Misc. errors +ErrorCreatingDir= vv v "%1" +ErrorTooManyFilesInDir="%1" vv v, vv . + +; *** Setup common messages +ExitSetupTitle= +ExitSetupMessage= v v. v .%n%n ee , vv .%n%n ? +AboutSetupMenuItem=& ... +AboutSetupTitle= +AboutSetupMessage=%1, %2%n%3%n%n %1:%n%4 +AboutSetupNote= +TranslatorNote=Mongolian translation by GARID, xGARIDx@gmail.com + +; *** Buttons +ButtonBack=< & +ButtonNext=& > +ButtonInstall=& +ButtonOK=OK +ButtonCancel= +ButtonYes=& +ButtonYesToAll=&v +ButtonNo=&Vv +ButtonNoToAll=&v vv +ButtonFinish=& +ButtonBrowse=&... +ButtonWizardBrowse=&... +ButtonNewFolder=& vv + +; *** "Select Language" dialog messages +SelectLanguageTitle= +SelectLanguageLabel= : + +; *** Common wizard text +ClickNext= vvv . +BeveledLabel= +BrowseDialogTitle= +BrowseDialogLabel= ʻ . +NewFolderName= + +; *** "Welcome" wizard page +WelcomeLabel1=[name] - v +WelcomeLabel2= [name/ver]- .%n%nVvv ee v ee . + +; *** "Password" wizard page +WizardPassword= v +PasswordLabel1= v . +PasswordLabel3= v , . +PasswordEditLabel=& v: +IncorrectPassword= v . v vv. + +; *** "License Agreement" wizard page +WizardLicense= eeee +LicenseLabel=Vvv ee . +LicenseLabel3= eeee . vvv - ee v . +LicenseAccepted= & eee +LicenseNotAccepted= & eeeev + +; *** "Information" wizard pages +WizardInfoBefore= +InfoBeforeLabel=Vvv ee . +InfoBeforeClickLabel= vvv v <<>> . +WizardInfoAfter= +InfoAfterLabel=Vvv ee . +InfoAfterClickLabel= vvv v <<>> . + +; *** "User Information" wizard page +WizardUserInfo= +UserInfoDesc=eeee . +UserInfoName=& : +UserInfoOrg=&: +UserInfoSerial=& : +UserInfoNameRequired= . + +; *** "Select Destination Location" wizard page +WizardSelectDir= +SelectDirDesc=[name] - v ? +SelectDirLabel3=[name] . +SelectDirBrowseLabel=Vvv . ee v , . +DiskSpaceMBLabel= [mb] . +ToUNCPathname= v v. v , vv v . +InvalidPath= - v ee vv; :%n%nC:\APP%n%n UNC:%n%n\\_\ee_ +InvalidDrive= . ee . +DiskSpaceWarningTitle= v +DiskSpaceWarning= %1 , ee %2 .%n%n vvv vv? +DirNameTooLong=X . +InvalidDirName= ee v. +BadDirName32= v v: %n%n%1 +DirExistsTitle= +DirExists=%n%n%1%n% . ? +DirDoesntExistTitle= v +DirDoesntExist=%n%n%1%n%n v . Vv vv vv? + +; *** "Select Components" wizard page +WizardSelectComponents=vvv +SelectComponentsDesc= vvv ? +SelectComponentsLabel2= vvv ; vvv . , . +FullInstallation=v +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation= +CustomInstallation= +NoUninstallWarningTitle= vvv +NoUninstallWarning= vvv :%n%n%1%n%n vvv v .%n%nvvvv +ComponentSize1=%1 +ComponentSize2=%1 +ComponentsDiskSpaceMBLabel= [mb] . + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks= vv +SelectTasksDesc= vv ? +SelectTasksLabel2=[name] vv , vv : + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup= +SelectStartMenuFolderDesc= ? +SelectStartMenuFolderLabel3= . +SelectStartMenuFolderBrowseLabel=Vvv , . ee v . +MustEnterGroupName= ee . +GroupNameTooLong=X . +InvalidGroupName= ee v. +BadGroupName= v v: %n%n%1 +NoProgramGroupCheck2=& vvv + +; *** "Ready to Install" wizard page +WizardReady=v +ReadyLabel1=[name] . +ReadyLabel2a= vvv , , ee vv. +ReadyLabel2b== vvv . +ReadyMemoUserInfo= : +ReadyMemoDir= : +ReadyMemoType= ee: +ReadyMemoComponents= vvv: +ReadyMemoGroup= : +ReadyMemoTasks= vv: + +; *** "Preparing to Install" wizard page +WizardPreparing= +PreparingDesc=[name] . +PreviousInstallNotCompleted= ee v . , [name] - . +CannotContinue=Vvv v. . + +; *** "Installing" wizard page +WizardInstalling=... +InstallingLabel=[name] - v v vv. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] - ee +FinishedLabelNoIcons=[name] - . +FinishedLabel=[name] - . . +ClickFinish= . +FinishedRestartLabel=[name] . ? +FinishedRestartMessage=name] . %n%n ? +ShowReadmeCheck= README v +YesRadio=&, +NoRadio=&Vv, eepee +; used for example as 'Run MyProg.exe' +RunEntryExec= %1 +; used for example as 'View Readme.txt' +RunEntryShellExec= %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle= +SelectDiskLabel2= %1 OK . +PathLabel=&: +FileNotInDir2= "%1" "%2" v. e . +SelectDirectoryLabel= v ee vv. + +; *** Installation phase messages +SetupAborted= v .%n%n +EntryAbortRetryIgnore= , . + +; *** Installation status messages +StatusCreateDirs= vv... +StatusExtractFiles= ... +StatusCreateIcons= v... +StatusCreateIniEntries=INI- vv... +StatusCreateRegistryEntries= vv... +StatusRegisterFiles= v... +StatusSavingUninstall= ... +StatusRunProgram= ee... +StatusRollback=eee... + +; *** Misc. errors +ErrorInternal2= : %1 +ErrorFunctionFailedNoCode=%1: +ErrorFunctionFailed=%1: ; %2 +ErrorFunctionFailedWithMessage=%1: ; %2.%n%3 +ErrorExecutingProgram= v v:%n%1 + +; *** Registry errors +ErrorRegOpenKey=vvv :%n%1\%2 +ErrorRegCreateKey=vvv vv :%n%1\%2 +ErrorRegWriteKey=vvv :%n%1\%2 + +; *** INI errors +ErrorIniEntry=INI- v v "%1". + +; *** File copying errors +FileAbortRetryIgnore= vvv , , . +FileAbortRetryIgnore2= vvv , , . +SourceIsCorrupted=V +SourceDoesntExist="%1" V v +ExistingFileReadOnly= vvv , , . +ErrorReadingExistingDest= : +FileExists= .%n%n ? +ExistingFileNewer= +ErrorChangingAttr= : +ErrorCreatingTemp= : +ErrorReadingSource= : +ErrorCopying= : +ErrorReplacingExistingFile= : +ErrorRestartReplace= RestartReplace: +ErrorRenamingTemp= : +ErrorRegisterServer= DLL/OCX v v: %1 +ErrorRegSvr32Failed= %1 +ErrorRegisterTypeLib= : %1 + +; *** Post-installation errors +ErrorOpeningReadme=README . +ErrorRestartingComputer= v vv. Vv ee v vv. + +; *** Uninstaller messages +UninstallNotFound="%1" v , v. +UninstallOpenError="%1". v v. +UninstallUnsupportedVer= "%1". v +UninstallUnknownEntry=V (%1) +ConfirmUninstall=%1 - v v ? +UninstallOnlyOnWin64= ee 64- Windows . +OnlyAdminCanUninstall= vv . +UninstallStatusLabel=%1 v v vv. +UninstalledAll=%1 - v . +UninstalledMost=%1 .%n%n v. vv eeee +UninstalledAndNeedsRestart= yy?. +UninstallDataCorrupted="%1" . v + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle= ? +ConfirmDeleteSharedFile2=v eee v +SharedFileNameLabel= : +SharedFileLocationLabel=: +WizardUninstalling= +StatusUninstalling= %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1, %2 +AdditionalIcons= vv: +CreateDesktopIcon=& +CreateQuickLaunchIcon=& v +ProgramOnTheWeb= %1 +UninstallProgram=%1 +LaunchProgram=%1 +AssocFileExtension=& %1 , %2 +AssocingFileExtension= %1 %2... diff --git a/Greenshot/releases/innosetup/Languages/Montenegrian.isl b/Greenshot/releases/innosetup/Languages/Montenegrian.isl new file mode 100644 index 000000000..5ebf18c9e --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Montenegrian.isl @@ -0,0 +1,338 @@ +; *** Inno Setup version 5.5.3+ Montenegrian messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Translated by Drazen Djurisic (kntaur@gmail.com) based on Rancher (theranchcowboy@gmail.com) translate. +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Crnogorski +LanguageID=$081a +LanguageCodePage=1250 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalacija +SetupWindowTitle=Instalacija %1 +UninstallAppTitle=Deinstalacija +UninstallAppFullTitle=Deinstalacija programa %1 + +; *** Misc. common +InformationTitle=Podaci +ConfirmTitle=Potvrda +ErrorTitle=Greka + +; *** SetupLdr messages +SetupLdrStartupMessage=Zapoeli ste instalaciju programa %1. elite li nastaviti? +LdrCannotCreateTemp=Ne mogu da napravim privremenu datoteku. Instalacija je prekinuta. +LdrCannotExecTemp=Ne mogu da pokrenem datoteku u privremenoj fascikli. Instalacija je prekinuta. + +; *** Startup error messages +LastErrorMessage=%1.%n%nGreka %2: %3 +SetupFileMissing=Datoteka %1 nedostaje u instalacionoj fascikli. Ispravite problem ili nabavite novi primjerak programa. +SetupFileCorrupt=Instalacione datoteke su oteene. Nabavite novi primjerak programa. +SetupFileCorruptOrWrongVer=Instalacione datoteke su oteene ili nisu saglasne s ovom verzijom instalacije. Ispravite problem ili nabavite novi primjerak programa. +InvalidParameter=Neispravan parametar je prenijet na komandnu liniju: %n%n%1 +SetupAlreadyRunning=Instalacija je ve pokrenuta. +WindowsVersionNotSupported=Program ne podrava izdanje vindousa koju koristite. +WindowsServicePackRequired=Program zahtijeva %1 servisni paket %2 ili noviji. +NotOnThisPlatform=Program nee raditi na %1. +OnlyOnThisPlatform=Program e raditi na %1. +OnlyOnTheseArchitectures=Program se moe instalirati samo na izdanjima vindousa koji rade na sledeim arhitekturama procesora:%n%n%1 +MissingWOW64APIs=Izdanje vindousa koje koristite ne sadri funkcionalnost potrebnu za izvravanje 64-bitnih instalacija. Instalirajte servisni paket %1 da biste rijeili ovaj problem. +WinVersionTooLowError=Program zahtijeva %1, izdanje %2 ili novije. +WinVersionTooHighError=Program ne moete instalirati na %1 izdanju %2 ili novijem. +AdminPrivilegesRequired=Morate biti prijavljeni kao administrator da biste instalirali program. +PowerUserPrivilegesRequired=Morate biti prijavljeni kao administrator ili ovlaeni korisnik da biste instalirali program. +SetupAppRunningError=Program %1 je trenutno pokrenut.%n%nZatvorite ga i kliknite na dugme Uredu da nastavite ili Otkai da napustite instalaciju. +UninstallAppRunningError=Program %1 je trenutno pokrenut.%n%nZatvorite ga i kliknite na dugme U redu da nastavite ili Otkai da napustite instalaciju. + +; *** Misc. errors +ErrorCreatingDir=Ne mogu da napravim fasciklu %1. +ErrorTooManyFilesInDir=Ne mogu da napravim datoteku u fascikli %1 jer sadri previe datoteka. + +; *** Setup common messages +ExitSetupTitle=Prekid instalacije +ExitSetupMessage=Instalacija nije zavrena. Ako sada izaete, program nee biti instaliran.%n%nInstalaciju moete pokrenuti i dovriti nekom dugom prilikom.%n%nPrekid instalacije? +AboutSetupMenuItem=&O programu +AboutSetupTitle=Podaci o programu +AboutSetupMessage=%1 verzija %2%n%3%n%n%1 matina stranica:%n%4 +AboutSetupNote= +TranslatorNote=Translated by Drazen Djurisic. + +; *** Buttons +ButtonBack=< &Nazad +ButtonNext=&Dalje > +ButtonInstall=&Instaliraj +ButtonOK=&U redu +ButtonCancel=&Otkai +ButtonYes=&Da +ButtonYesToAll=D&a za sve +ButtonNo=&Ne +ButtonNoToAll=N&e za sve +ButtonFinish=&Zavri +ButtonBrowse=&Potrai +ButtonWizardBrowse=&Potrai +ButtonNewFolder=&Napravi fasciklu + +; *** "Select Language" dialog messages +SelectLanguageTitle=Odabir jezika +SelectLanguageLabel=Izaberite jezik tokom instalacije: + +; *** Common wizard text +ClickNext=Kliknite na Dalje da nastavite ili Otkai da napustite instalaciju. +BeveledLabel= +BrowseDialogTitle=Odabir fascikle +BrowseDialogLabel=Izaberite fasciklu sa spiska i kliknite na U redu. +NewFolderName=Nova fascikla + +; *** "Welcome" wizard page +WelcomeLabel1=Dobro doli na instalaciju programa [name] +WelcomeLabel2=Instalirae te [name/ver] na Va raunar.%n%nPre nego to nastavite, preporujemo Vam da zatvorite sve druge programe. + +; *** "Password" wizard page +WizardPassword=Lozinka +PasswordLabel1=Instalacija je zatiena lozinkom. +PasswordLabel3=Unesite lozinku i kliknite na Dalje da nastavite. Imajte na umu da je lozinka osjetljiva na mala i velika slova. +PasswordEditLabel=&Lozinka: +IncorrectPassword=Navedena lozinka nije ispravna. Pokuajte ponovo. + +; *** "License Agreement" wizard +WizardLicense=Ugovor o licenci +LicenseLabel=Paljivo proitajte sledee prije nego to nastavite. +LicenseLabel3=Proitajte Ugovor o licenci koji se nalazi ispod. Morate prihvatiti uslove ovog ugovora prije nego to nastavite. +LicenseAccepted=&Prihvatam ugovor +LicenseNotAccepted=&Ne prihvatam ugovor + +; *** "Information" wizard pages +WizardInfoBefore=Informacije +InfoBeforeLabel=Paljivo proitajte sledee prije nego to nastavite. +InfoBeforeClickLabel=Kada budete spremni da nastavite instalaciju, kliknite na Dalje. +WizardInfoAfter=Informacije +InfoAfterLabel=Paljivo proitajte sledee prije nego to nastavite. +InfoAfterClickLabel=Kada budete spremni da nastavite instalaciju, kliknite na Dalje. + +; *** "User Information" wizard page +WizardUserInfo=Korisniki podaci +UserInfoDesc=Unesite svoje podatke. +UserInfoName=&Korisnik: +UserInfoOrg=&Organizacija: +UserInfoSerial=&Serijski broj: +UserInfoNameRequired=Morate navesti ime. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Odabir odredine fascikle +SelectDirDesc=Izaberite mjesto na kom elite da instalirate [name]. +SelectDirLabel3=Program e instalirati [name] u sledeu fasciklu. +SelectDirBrowseLabel=Kliknite na Dalje da nastavite. Ako elite da izaberete drugu fasciklu, kliknite na Potrai. +DiskSpaceMBLabel=Potrebno je najmanje [mb] MB slobodnog prostora na disku. +CannotInstallToNetworkDrive=Ne mogu da instaliram na mrenu jedinicu. +CannotInstallToUNCPath=Ne mogu da instaliram na UNC putanju. +InvalidPath=Morate navesti punu putanju s obiljejem diska (npr.%n%nC:\APP%n%nili putanja u obliku%n%n\\server\share) +InvalidDrive=Disk koji ste izabrali ne postoji ili nije dostupan. Izaberite neki drugi. +DiskSpaceWarningTitle=Nedovoljno prostora na disku +DiskSpaceWarning=Program zahtijeva najmanje %1 kB slobodnog prostora, a izabrani disk na raspolaganju ima samo %2 kB.%n%nelite li ipak da nastavite? +DirNameTooLong=Naziv fascikle ili putanja je predugaka. +InvalidDirName=Naziv fascikle nije ispravan. +BadDirName32=Naziv fascikle ne sme sadrati nita od sledeih:%n%n%1 +DirExistsTitle=Fascikla ve postoji +DirExists=Fascikla:%n%n%1%n%nve postoji. elite li ipak da instalirate program u nju? +DirDoesntExistTitle=Fascikla ne postoji +DirDoesntExist=Fascikla:%n%n%1%n%nne postoji. elite li da je napravite? + +; *** "Select Components" wizard page +WizardSelectComponents=Odabir komponenata +SelectComponentsDesc=Koje komponente elite da instalirate? +SelectComponentsLabel2=Izaberite komponente koje elite da instalirate, a oistite one koje ne elite. Kliknite na Dalje da nastavite. +FullInstallation=Puna instalacija +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Podrazumijevana instalacija +CustomInstallation=Prilagoena instalacija +NoUninstallWarningTitle=Komponente ve postoje +NoUninstallWarning=Sledee komponente ve postoje na raunaru:%n%n%1%n%nDetrikliranje ovih komponenti ih nee ukloniti.%n%nelite li da nastavite? +ComponentSize1=%1 kB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Izabrane stavke zahtevaju najmanje [mb] MB slobodnog prostora. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Odabir dodatnih zadataka +SelectTasksDesc=Izaberite neke dodatne zadatke. +SelectTasksLabel2=Izaberite dodatne zadatke koje elite da izvrite pri instaliranju programa [name] i kliknite na Dalje. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Odabir fascikle u meniju Start +SelectStartMenuFolderDesc=Izaberite mjesto na kom elite da postavite preice. +SelectStartMenuFolderLabel3=Instalacija e postaviti preicu programa u sledeoj fascikli u meniju Start. +SelectStartMenuFolderBrowseLabel=Kliknite na Dalje da nastavite. Ako elite da izaberete drugu fasciklu, kliknite na Potrai. +MustEnterGroupName=Morate navesti naziv fascikle. +GroupNameTooLong=Naziv fascikle ili putanja je predugaka. +InvalidGroupName=Naziv fascikle nije ispravan. +BadGroupName=Naziv fascikle ne smije sadrati nita od sledeih:%n%n%1 +NoProgramGroupCheck2=N&e pravi fasciklu u meniju Start + +; *** "Ready to Install" wizard page +WizardReady=Instalacija je spremna +ReadyLabel1=Program je spreman da instalira [name] na raunar. +ReadyLabel2a=Kliknite na Instaliraj da zaponete instalaciju ili Nazad da ponovo pregledate i promijenite pojedine postavke. +ReadyLabel2b=Kliknite na Instaliraj da zaponete instalaciju. +ReadyMemoUserInfo=Korisniki podaci: +ReadyMemoDir=Odredina fascikla: +ReadyMemoType=Vrsta instalacije: +ReadyMemoComponents=Izabrane komponente: +ReadyMemoGroup=Fascikla u meniju Start: +ReadyMemoTasks=Dodatni zadaci: + +; *** "Preparing to Install" wizard page +WizardPreparing=Priprema za instalaciju +PreparingDesc=Program se priprema da instalira [name] na raunar. +PreviousInstallNotCompleted=Instalacija ili deinstalacija prethodnog programa nije zavrena. Potrebno je da ponovo pokrenete raunar da bi se instalacija zavrila.%n%nNakon ponovnog pokretanja, otvorite instalaciju i instalirajte program [name]. +CannotContinue=Ne mogu da nastavim instalaciju. Kliknite na Otkai da izaete. +ApplicationsFound=Sledei programi koriste datoteke koje treba da aurira instalacioni program. Preporuujemo vam da dozvolite instalacionom programu da zatvori ove programe. +ApplicationsFound2=Sledei programi koriste datoteke koje treba da aurira instalacioni program. Preporuujemo vam da dozvolite instalacionom programu da zatvori ove programe. Nakon to se instalacija zavri, instalacioni program 壠pokuati da ponovo pokrene zatvorene programe. +CloseApplications=&Zatvori programe +DontCloseApplications=&Ne zatvaraj programe +ErrorCloseApplications=Ne mogu da zatvorim sve programe. Pre nego to nastavite, preporuujemo vam da zatvorite sve programe koji koriste datoteke koje treba da aurira instalacioni program. + +; *** "Installing" wizard page +WizardInstalling=Instaliranje +InstallingLabel=Saekajte da se [name] instalira na raunar. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] zavretak instalacije +FinishedLabelNoIcons=Instaliranje programa [name] je zavreno. +FinishedLabel=Instaliranje programa [name] je zavreno. Moete ga pokrenuti preko postavljenih ikona. +ClickFinish=Kliknite na Zavri da izaete. +FinishedRestartLabel=Potrebno je ponovno pokretanje raunara da bi se instalacija zavrila. elite li da ga ponovo pokrenete? +FinishedRestartMessage=Potrebno je ponovno pokretanje raunara da bi se instalacija zavrila.%n%nelite li da ga ponovo pokrenete? +ShowReadmeCheck=Da, elim da pogledam tekstualnu datoteku +YesRadio=&Da, ponovo pokreni raunar +NoRadio=&Ne, kasnije u ga pokrenuti +; used for example as 'Run MyProg.exe' +RunEntryExec=&Pokreni %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Pogledaj %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Sledei disk +SelectDiskLabel2=Ubacite disk %1 i kliknite na U redu.%n%nAko se datoteke na ovom disku mogu pronai u nekoj drugoj fascikli, unesite odgovarajuu putanju ili kliknite na Potrai. +PathLabel=&Putanja: +FileNotInDir2=Datoteka %1 se ne nalazi u %2. Ubacite pravi disk ili izaberite drugu fasciklu. +SelectDirectoryLabel=Izaberite mesto sledeeg diska. + +; *** Installation phase messages +SetupAborted=Instalacija nije zavrena.%n%nIspravite problem i pokrenite je ponovo. +EntryAbortRetryIgnore=Kliknite na Pokuaj opet da ponovite radnju, Zanemari da nastavite u svakom sluaju ili Prekini da obustavite instalaciju. + +; *** Installation status messages +StatusClosingApplications=Zatvaram programe +StatusCreateDirs=Pravim fascikle +StatusExtractFiles=Raspakujem datoteke +StatusCreateIcons=Postavljam preice +StatusCreateIniEntries=Postavljam INI unose +StatusCreateRegistryEntries=Postavljam unose u registar +StatusRegisterFiles=Upisujem datoteke +StatusSavingUninstall=Čuvam podatke o deinstalaciji +StatusRunProgram=Zavravam instalaciju +StatusRestartingApplications=Ponovo pokreem programe +StatusRollback=Ponitavam izmene + +; *** Misc. errors +ErrorInternal2=Unutranja greka: %1 +ErrorFunctionFailedNoCode=%1 neuspjeh +ErrorFunctionFailed=%1 neuspjeh; kod %2 +ErrorFunctionFailedWithMessage=%1 neuspjeh; kod %2.%n%3 +ErrorExecutingProgram=Ne mogu da pokrenem datoteku:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Greka pri otvaranju unosa u registru:%n%1\%2 +ErrorRegCreateKey=Greka pri stvaranju unosa u registru:%n%1\%2 +ErrorRegWriteKey=Greka pri upisivanju unosa u registar:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Greka pri stvaranju INI unosa u datoteci %1. + +; *** File copying errors +FileAbortRetryIgnore=Kliknite na Pokuaj opet da ponovite radnju, Zanemari da preskoite datoteku (ne preporuuje se) ili Prekini da obustavite instalaciju. +FileAbortRetryIgnore2=Kliknite na Pokuaj opet da ponovite radnju, Zanemari da nastavite u svakom sluaju (ne preporuuje se) ili Prekini da obustavite instalaciju. +SourceIsCorrupted=Izvorna datoteka je oteena +SourceDoesntExist=Izvorna datoteka %1 ne postoji +ExistingFileReadOnly=Postojea datoteka je samo za itanje.%n%nKliknite na Pokuaj opet da uklonite osobinu samo za itanje i ponovite radnju, Zanemari da preskoite datoteku ili Prekini da obustavite instalaciju. +ErrorReadingExistingDest=Dolo je do greke pri pokuaju itanja postojee datoteke: +FileExists=Datoteka ve postoji.%n%nelite li da je zamijenite? +ExistingFileNewer=Postojea datoteka je novija od one koju treba postaviti. Preporuujemo vam da zadrite postojeu datoteku.%n%nelite li to da uradite? +ErrorChangingAttr=Dolo je do greke pri izmeni osobine sledee datoteke: +ErrorCreatingTemp=Dolo je do greke pri stvaranju datoteke u odredinoj fascikli: +ErrorReadingSource=Dolo je do greke pri itanju izvorne datoteke: +ErrorCopying=Dolo je do greke pri umnoavanju datoteke: +ErrorReplacingExistingFile=Dolo je do greke pri zamjeni postojee datoteke: +ErrorRestartReplace=Ne mogu da zamijenim: +ErrorRenamingTemp=Dolo je do greke pri preimenovanju datoteke u odredinoj fascikli: +ErrorRegisterServer=Ne mogu da upiem DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 nije uspio. Greka %1 +ErrorRegisterTypeLib=Ne mogu da upiem biblioteku tipova: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Dolo je do greke pri otvaranju tekstualne datoteke. +ErrorRestartingComputer=Ne mogu ponovo da pokrenem raunar. Uradite to sami. + +; *** Uninstaller messages +UninstallNotFound=Datoteka %1 ne postoji. Ne mogu da deinstaliram program. +UninstallOpenError=Datoteka %1 ne moe da se otvori. Ne mogu da deinstaliram program. +UninstallUnsupportedVer=Izvjetaj %1 je u neprepoznatljivom formatu. Ne mogu da deinstaliram program. +UninstallUnknownEntry=Nepoznat unos (%1) se pojavio u izvjetaju deinstalacije. +ConfirmUninstall=elite li da deinstalirate %1 i sve njegove komponente? +UninstallOnlyOnWin64=Program se moe deinstalirati samo na 64-bitnom vindousu. +OnlyAdminCanUninstall=Program moe deinstalirati samo korisnik s administratorskim pravima. +UninstallStatusLabel=Saekajte da se %1 deinstalira sa raunara. +UninstalledAll=%1 je deinstaliran sa raunara. +UninstalledMost=%1 je deinstaliran.%n%nNeke komponente e te ipak morati sami obrisati. +UninstalledAndNeedsRestart=Potrebno je ponovno pokretanje raunara da bi se instalacija zavrila.%n%nelite li da ponovo pokrenete raunar? +UninstallDataCorrupted=Datoteka %1 je oteena. Ne mogu da deinstaliram program. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Brisanje dijeljene datoteke +ConfirmDeleteSharedFile2=Sistem je prijavio da sledeu dijeljenu datoteku vie ne koristi nijedan program. elite li da je uklonite?%n%nAko nekim programima i dalje treba ova datoteka a ona je obrisana, ti programi moda nee ispravno raditi. Ako niste sigurni ta da radite, kliknite na Ne. Ostavljanje datoteke na disku nee prouzrokovati nikakvu tetu. +SharedFileNameLabel=Naziv datoteke: +SharedFileLocationLabel=Putanja: +WizardUninstalling=Stanje deinstalacije +StatusUninstalling=Deinstaliram %1 + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instaliram %1. +ShutdownBlockReasonUninstallingApp=Deinstaliram %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 verzija %2 +AdditionalIcons=Dodatne ikone: +CreateDesktopIcon=&Postavi ikonu na radnu povrinu +CreateQuickLaunchIcon=P&ostavi ikonu na traku za brzo pokretanje +ProgramOnTheWeb=%1 na internetu +UninstallProgram=Deinstaliraj %1 +LaunchProgram=Pokreni %1 +AssocFileExtension=&Povei %1 sa formatom %2 +AssocingFileExtension=Povezujem %1 sa formatom %2 +AutoStartProgramGroupDescription=Pokretanje: +AutoStartProgram=Automatski pokreni %1 +AddonHostProgramNotFound=%1 se ne nalazi u navedenoj fascikli.%n%nelite li ipak da nastavite? \ No newline at end of file diff --git a/Greenshot/releases/innosetup/Languages/Nepali.islu b/Greenshot/releases/innosetup/Languages/Nepali.islu new file mode 100644 index 000000000..256c164c9 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Nepali.islu @@ -0,0 +1,339 @@ +; *** Inno Setup version 5.5.3+ Nepali messages *** +; Translated by Him Prasad Gautam [ drishtibachak@gmail.com ] +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. + +LanguageName=<0928><0947><092a><093e><0932><0940> +LanguageID=$0461 +LanguageCodePage=0 + +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +DialogFontSize=10 +;WelcomeFontName= +WelcomeFontSize=15 +;TitleFontName= +TitleFontSize=35 +;CopyrightFontName= +CopyrightFontSize=9 + +[Messages] + +; *** Application titles +SetupAppTitle=मैतालुको प्रवेश +SetupWindowTitle=मैतालु - %1 +UninstallAppTitle=निष्कासन +UninstallAppFullTitle=%1 को निष्कासन + +; *** Misc. common +InformationTitle=सूचना +ConfirmTitle=यकिन +ErrorTitle=त्रुटि + +; *** SetupLdr messages +SetupLdrStartupMessage=यसले %1लाई यो कल्पयन्त्रमा भित्र्याउँछ । के तपाइ यसलाई निरन्तरता दिन चाहनु हुन्छ? +LdrCannotCreateTemp=अस्ताइ फाइल सिर्जना गर्न नसकि एकोले स्थापकले भित्र्याउने कार्य गर्न सकेन । +LdrCannotExecTemp=अस्ताइ घर्रामा फाइललाई कार्यान्वयन गर्न नसकि एकोले स्थापकले भित्र्याउने कार्य गर्न सकेन । + +; *** Startup error messages +LastErrorMessage=%1.%n %n त्रुटि %2: %3 +SetupFileMissing=भित्रिने घर्राबाट फाइल %1 हरायो । कृपया समस्या हल गर्नु होस् वा कार्यक्रमबाटै नया फाइल हासिल गर्नु होला । +SetupFileCorrupt=स्थापक फाइल भ्रष्ट भयो । कृपया कार्यक्रमबाट नयाँ प्रति हासिल गर्नु होला । +SetupFileCorruptOrWrongVer=स्थापक फाइल भ्रष्ट भयो, अथवा यो हाल प्रयोगमा रहेको गृहको संस्करण सित मिल्न सकेन । कृपया समस्या हल गर्नु होस् अथवा अर्कै प्रति स्थापकको चाँजोपाँजो मिलाउनु होस् । +InvalidParameter=आदेश रेखामा अमान्य Parameter पठाइयो :%n %n %1 +SetupAlreadyRunning=स्थापकले भित्र्याउने कार्य पहिले देखि नै गर्दै छ । +WindowsVersionNotSupported=यो कार्यक्रमले तपाइको कल्पयन्त्रमा हाल भित्रिएको विन्डोज संस्करण सित मिलेर काम गर्न सक्दैन । +WindowsServicePackRequired=यो कार्यक्रमलाई %1 Service Pack %2 अथवा यस पछिका संस्करण चाहिन्छ । +NotOnThisPlatform=यो कार्यक्रम %1 मा चल्दैन । +OnlyOnThisPlatform=यो कार्यक्रम %1 मा मात्रै चल्छ । +OnlyOnTheseArchitectures=यो कार्यक्रम केवल निम्न उल्लिखित विन्डोज वास्तुकला नमुना संस्करणमा मात्रै भित्रिन सक्छ:%n %n %1 +MissingWOW64APIs=तपाइले हाल चलाएको विन्डोजमा 64-bit को कार्यक्रम भित्र्याउन स्थापकलाई चाहिने आवश्यक कार्यदक्षता समावेश भएको छैन । यो समस्या हल गर्न Service Pack %1 भित्र्याउनु होस् । +WinVersionTooLowError=यो कार्यक्रमलाई %1 संस्करण %2 अथवा यसभन्दा पछिल्लो संस्करण चाहिन्छ । +WinVersionTooHighError=यो कार्यक्रम %1 संस्करण %2 अथवा यस पछिका संस्करणमा भित्र्याउन सकिँदैन । +AdminPrivilegesRequired=यो कार्यक्रमलाई भित्र्याउन तपाइले प्रशासनिक हैसियत प्रयोग गरी विन्डो शुभारम्भ गर्नु पर्छ । +PowerUserPrivilegesRequired=यो कार्यक्रम भित्र्याउन तपाइले प्रशासक अथवा अधिकार प्राप्त सदस्यको हैसियतमा विन्डोज खोल्नु पर्ने हुन्छ । +SetupAppRunningError=स्थापकले %1 चालू रहेको पता लगायो । %n %n कृपया सबैलाई बन्द गर्नु होस् । कार्य जारी राख्ने भए 'ठीक' टाँक र बहिर्गमन गर्ने भए 'रद्द गर' भन्ने टाँकलाई दबाउनु होला । +UninstallAppRunningError=निष्कासकले %1 चालू रहेको पता लगायो । %n %n कृपया सबैलाई बन्द गर्नु होस् । कार्य जारी राख्ने भए 'ठीक' टाँक र बहिर्गमन गर्ने भए 'रद्द गर' भन्ने टाँकलाई दबाउनु होला । + +; *** Misc. errors +ErrorCreatingDir=स्थापकले "%1" घर्रा सिर्जना गर्न सकेन । +ErrorTooManyFilesInDir=धेरै फाइल भएकोले "%1" घर्रामा फाइल सिर्जना गर्न सकिएन । + +; *** Setup common messages +ExitSetupTitle=स्थापकको बहिर्गमन +ExitSetupMessage=स्थापकले भित्र्याउने कार्य सकेको छैन । यदि बहिर्गमन गरेमा यो कार्यक्रम भित्रिने छैन । %n %n पछि अर्को समयमा तपाई भित्र्याउने कार्य गर्न सक्नु हुन्छ । %n स्थापकले अहिले सम्म गरेको काम त उल्टिन्छ नि!%n %n के मैतालु प्रवेशको कार्य स्थगित नै गर्ने हो? +AboutSetupMenuItem=&स्थापक सामाग्रीको बारेमा +AboutSetupTitle=स्थापकको बारेमा +AboutSetupMessage=%1 संस्करण %2%n %3%n %n %1 गृह पृष्ट:%n %4 +AboutSetupNote=यो स्थापक हिम प्रसाद गौतमले तयार पारेको हो । +TranslatorNote=नेपाली भाषामा पहिलो अनुवादको कार्य हिम प्रसाद गौतम < drishtibachak@gmail.com > ले गर्नु भएको हो र यसमा निरन्तरता पनि जारी राख्नु भएको छ । + +; *** Buttons +ButtonBack=&पछाडि फर्क +ButtonNext=&अगाडि जाउ +ButtonInstall=&भित्र्याउ +ButtonOK=ठीक +ButtonCancel=रद्द गर +ButtonYes=&हो +ButtonYesToAll=&सबैमा हो +ButtonNo=&होइन +ButtonNoToAll=&सबैमा होइन +ButtonFinish=&समाप्त +ButtonBrowse=&ऊ घार... +ButtonWizardBrowse=ऊ&घार त... +ButtonNewFolder=&नया थैली बनाउ + +; *** "Select Language" dialog messages +SelectLanguageTitle=स्थापकको भाषाको चयन +SelectLanguageLabel=स्थापकले भित्र्याउँदा प्रयोग गरिने भाषा चयन गर्नु होस्: + +; *** Common wizard text +ClickNext=निरन्तरता राख्ने भए 'अगाडि जाउ' भन्ने टाँकलाई अथवा बहिर्गमन गर्ने भए 'रद्द गर' भन्ने टाँकलाई दबाउनु होस् । + +BeveledLabel= +BrowseDialogTitle=थैली उघारिने कार्य +BrowseDialogLabel=निम्न सूचीबाट थैली चयन गर्नु होस् र 'ठीक' भन्ने टाँकलाई दबाउनु होस् । +NewFolderName=नयाँ थैली + +; *** "Welcome" wizard page +WelcomeLabel1=%n नमस्कार! [name] मैतालुको रूपमा भित्रिने समारोहमा तपाइलाई स्वागत छ । +WelcomeLabel2=%n यो स्थापकले [name/ver] लाई तपाइको कल्पयन्त्रमा भित्र्याउने छ । %n %n भित्र्याउने कार्य जारी राख्नु भन्दा पहिले खोलिएका सबै अनुप्रयोगहरूलाई बन्द गर्न सुझाव दिइन्छ । + +; *** "Password" wizard page +WizardPassword=गोप्य शब्द +PasswordLabel1=यो स्थापकमा गोप्य शब्द राखिएको छ । +PasswordLabel3=कार्य जारी राख्न गोप्य शब्द उपलब्ध गराएर 'अगाडि जाउ' भन्ने टाँकलाई दबाउनु होला । गोप्य शब्द वर्ण संवेदन सिल छ । +PasswordEditLabel=&गोप्यशब्द +IncorrectPassword=तपाइले लेखेको गोप्य शब्द मिलेन । कृपया फेरी कोसिस गर्नु होस् । + +; *** "License Agreement" wizard page +WizardLicense=इजाजत मञ्जु रिनामा +LicenseLabel=कार्य निरन्तर राख्न कृपया तलको महत्त्वपूर्ण सूचना पढ्नु होस् । +LicenseLabel3=कृपया निम्न इजाजत राम्ररी पढ्नु होस् । स्थापकले भित्र्याउने कार्य सुरु गर्नु पूर्व तपाइले सम्झौताका सबै सर्तहरू अनिवार्य रूपमा मन्जुर गर्नु पर्ने नै हुन्छ । +LicenseAccepted=म उपरोक्त सम्झौता &मन्जुर गर्छु +LicenseNotAccepted=म उपरोक्त सम्झौता मन्जुर गर्दि&न + +; *** "Information" wizard pages +WizardInfoBefore=सूचना +InfoBeforeLabel=कार्य निरन्तर राख्न कृपया निम्न महत्त्वपूर्ण सूचना पढ्नु होस् ।%n +InfoBeforeClickLabel=स्थापकले भित्र्याउने कार्य तयार पारे पछि 'अगाडि जाउ' भन्ने टाँकलाई दबाउनु होस् । +WizardInfoAfter=सूचना +InfoAfterLabel=कृपया कार्य निरन्तर राख्नु अघि निम्न महत्त्वपूर्ण सूचना पढ्नु होस् । +InfoAfterClickLabel=स्थापकले भित्र्याउने कार्य तयार पारे पछि 'अगाडि जाउ' भन्ने टाँकलाई दबाउनु होस् । + +; *** "User Information" wizard page +WizardUserInfo=तपाइको चिनारी +UserInfoDesc=तपाइको बारेमा लेख्नु होस् । +UserInfoName=&तपाइको नाम +UserInfoOrg=&सङ्गठन +UserInfoSerial=&सङ्केत सङ्ख्या: +UserInfoNameRequired=यहाँ तपाइले आफ्नो नाम उल्लेख गर्नु पर्ने नै हुन्छ । + +; *** "Select Destination Location" wizard page +WizardSelectDir=वासस्थानको चयन गर्नु होस् +SelectDirDesc=[name] लाई कहाँ भित्र्याउने हो? +SelectDirLabel3=स्थापकले [name] लाई निम्न थैली मा भित्र्याई दिने छ । +SelectDirBrowseLabel=मैतालु प्रवेशको कार्य निरन्तरता राख्न 'अगाडि जाउ' भन्ने टाँकलाई दबाउनु होस् । यदि तपाइ भिन्दै थैलीको चयन गर्न चाहनु हुन्छ भने 'उघार' भन्ने टाँकलाई दबाउनु होला । +DiskSpaceMBLabel=कम्तीमा [mb] MB क्षमताको भकारी चाहिन्छ । +CannotInstallToNetworkDrive=सञ्जाल भकारीमा स्थापकले भित्र्याउन सकेन । +CannotInstallToUNCPath=स्थापकले UNC path मा भित्र्याउन सक्दैन । +InvalidPath=तपाइले भकारी अक्षर सहित पूरा मार्ग लेख्नु नै पर्छ । जस्तै:%n %n C:\APP%n %n अथवा UNC मार्ग %n %n \\server\share बनोटमा +InvalidDrive=तपाइले चयन गरेको भकारी छदै छैन अथवा यसमा केही राख्न मिल्दैन । कृपया अर्कै चयन गर्नु होस् । +DiskSpaceWarningTitle=भकारीमा चाहिने जति ठाउँ खाली छैन । +DiskSpaceWarning=स्थापकलाई कम्तीमा %1 KB खुल्ला ठाउँ चाहिन्छ । तर चयन गरिएको भकारीमा केवल %2 KB मात्र खालि ठाउँ छ । %n %n जे भए पनि कार्य जारी राख्ने हो? +DirNameTooLong=थैलीको नाम अथवा मार्ग धेरै लाम भयो । +InvalidDirName=थैलीको नाम अमान्य छ । +BadDirName32=थैली का कुनै पनि नामहरू समावेश गर्न सकिँदैन । %n %n %1 +DirExistsTitle=थैली छ । +DirExists=थैली:%n %n %1%n %n पहिले देखिने छ । के तपाइ यही थैलीमा जसरी भए पनि भित्र्याउने चाहना राख्नु हुन्छ ? +DirDoesntExistTitle=थैली छदै छैन । +DirDoesntExist=थैली:%n %n %1%n %n छदै छैन । के तपाइ यो नाम गरेको नयाँ थैलीको सिर्जना गर्न चाहनु हुन्छ? + +; *** "Select Components" wizard page +WizardSelectComponents=सहकर्मीहरूको चयन गर्नु होस् । +SelectComponentsDesc=कुन चाही सहकर्मीलाई पनि भित्र्याउने हो? +SelectComponentsLabel2=भित्र्याउन चाहेको सहकर्मीलाई चयन गर्नु होस्, भित्र्याउन नचाहेको सहकर्मीलाई मेटाइ दिनु होस् । काम जारी राख्न तयार भए पछि 'अगाडि जाउ' भन्ने टाँकलाई दबाउनु होला । +FullInstallation=सर्वस्व भित्र्याउने +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=यथेष्ट भित्र्याउने +CustomInstallation=चाहे जति भित्र्याउने +NoUninstallWarningTitle=सहकर्मीहरू रहेछन् । +NoUninstallWarning=निम्न अनुसारका सहकर्मीहरू तपाइको कल्पयन्त्रमा पहिले नै भित्रिएको कुरा स्थापकले पता लगायो । %n %n %1%n %n यी सहकर्मीहरूलाई चयन नगरी निष्कासनको कार्य हुन सक्दैनन् । %n %n जे भए पनि तपाई कार्य जारी राख्न चाहनु हुन्छ? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=हालको चयनलाई कम्तीमा [mb] MB खालि स्थान चाहिन्छ । + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=अतिरिक्त कार्यको चयन गर्नु होस् +SelectTasksDesc=मैले कुन चाही अतिरिक्त कार्य सम्पादन गर्नु पर्ने हो? +SelectTasksLabel2=स्थापकले [name], लाई भित्र्याउने क्रममा यो कार्य पनि गरोस् भनि तपाइले इच्छा राखेको अतिरिक्त कार्यको चयन गरी 'अगाडि जाउ' भन्ने टाँकलाई दबाउनु होला । + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=सुरुवात सूची थैलीको चयन गर्नु होस् । +SelectStartMenuFolderDesc=स्थापकले द्रुत मार्ग कहाँ बनाउने? +SelectStartMenuFolderLabel3=स्थापकले कार्यक्रमको द्रुत मार्ग निम्न सुरुवात सूची थैलीमा गरेको छ । +SelectStartMenuFolderBrowseLabel=निरन्तरता राख्न 'अगाडि जाउ' भन्ने टाँकलाई दबाउनु होस्, यदी तपाइ अर्कै थैलीमा राख्न चाहनु हुन्छ भने, 'उघार' भन्ने टाँकलाई दबाउनु होला । +MustEnterGroupName=थैलीको नाम लेख्न अनिवार्य गरिएको छ । +GroupNameTooLong=थैलीको नाम अथवा मार्ग धेरै नै लामो भयो । +InvalidGroupName=थैलीको नाम अमान्य छ । +BadGroupName=थैलीको नाममा निम्न वर्णहरू समावेश हुन सक्दैनन्:%n %n %1 +NoProgramGroupCheck2=&सुरुवात सूची थैली सिर्जना नगर है । + +; *** "Ready to Install" wizard page +WizardReady=अब भित्रिन तयार +ReadyLabel1=अब तपाइको कल्पयन्त्रमा [name] लाई भित्र्याउने कार्य सुरु गर्न स्थापक तयार छ । +ReadyLabel2a=यदि तपाइ तलको अनुकूलतामा समीक्षा वा परिवर्तन गर्न चाहनु हुन्छ भने 'पछाडि फर्क' भन्ने टाँक लाई दबाउनु होला । यही अनुकूलता ठीक छ जस्तो लाग्छ भने 'भित्र्याउ' भन्ने टाँकलाई दबाउनु होस् । +ReadyLabel2b=भित्रिने कार्य जारी राख्न 'भित्र्याउ' भन्ने टाँकलाई दबाउनु होस् +ReadyMemoUserInfo=उपभोक्ताको जानकारी: +ReadyMemoDir=गन्तव्य थैली: +ReadyMemoType=भित्रिने किसिम: +ReadyMemoComponents=चयन गरिएका सहकर्मीहरू: +ReadyMemoGroup=सुरुवात सूची थैली: +ReadyMemoTasks=अतिरिक्त कार्य: + +; *** "Preparing to Install" wizard page +WizardPreparing=भित्रिने कार्यको तयारी हुँदै छ । +PreparingDesc=स्थापक तपाइको कल्पयन्त्रमा [name] लाई भित्र्याउन तयारी गर्दै छ । +PreviousInstallNotCompleted=अघिल्लो कार्यक्रमको भित्रिने/निष्कासन को कार्य सकिएको थिएन । थालिएको काम समाप्त गर्न तपाइले आफ्नो कल्पयन्त्रलाई पुनः सुरुवात गर्नु पर्ने हुन्छ । %n %n तपाइको कल्पयन्त्र पुनः सुरुवात भए पछि फेरी स्थापकलाई [name] भित्र्याउने आदेश दिनु होला । +CannotContinue=स्थापकले कार्य जारी राख्न सकेन, बहिर्गमन गर्न 'रद्द गर' टाँक दबाउनु होला । +ApplicationsFound=स्थापकलाई अद्यावधिक गर्न चाहिने फाइल निम्न अनुप्रयोगले प्रयोगमा ल्याएको पाइयो । स्थापकलाई यी अनुप्रयोगहरू स्वतः बन्द गर्ने अनुमति प्रदान गर्न सुझाव दिइन्छ । +ApplicationsFound2=स्थापकलाई अद्यावधिक गर्न चाहिने फाइल निम्न अनुप्रयोगले प्रयोगमा ल्याएको पाइयो । स्थापकलाई यी अनुप्रयोगहरू स्वतः बन्द गर्ने अनुमति प्रदान गर्न सुझाव दिइन्छ । भित्र्याउने कार्य सम्पन्न भए पछि स्थापकले यी अनुप्रयोगहरूलाई पुनर् स्थापित गर्न कोसिस गर्ने छ । +CloseApplications=&अनुप्रयोगहरूलाई स्वतः बन्द गरि देउ +DontCloseApplications=अनुप्रयोगलाई बन्द &नगरी देउ +ErrorCloseApplications=स्थापकले स्वचालित रूपमा सबै अनुप्रयोगहरूलाई बन्द गर्न सकेन । सिफारिस गरिन्छ कि कार्य जारी राख्नु अघि स्थापकलाई चाहिने अद्यावधिक फाइल प्रयोग गर्न तपाइले सबै अणुप्रयोगहरूलाई बन्द गर्नु होस् । + +; *** "Installing" wizard page +WizardInstalling=भित्र्याउने कार्य गर्दै छु +InstallingLabel=कृपया स्थापकले तपाइको कल्पयन्त्रमा [name] लाई भित्र्याउन् जेल सम्म धैर्य गर्नु होला + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=स्थापकले [name]लाई भीत्र्याउने कार्यक्रमको समापन हुदैछ । +FinishedLabelNoIcons=स्थापकले [name] लाई तपाइको कल्पयन्त्रमा भित्र्याउने कार्य पुरा गर्‍यो । +FinishedLabel=मैले तपाइको कल्पयन्त्रमा [name] भित्र्याउने कार्य पुरा गरेँ । यो अनुप्रयोग स्थापित प्रतिमालाई चयन गरेर सक्रिय गराउन सकिन्छ +ClickFinish=भित्र्याउने कार्यक्रम समापन गर्न 'समाप्त' भन्ने टाँकलाई दबाउनु होस् । +FinishedRestartLabel=[name] भीत्रिए पनि कार्य सम्पादन सुरु गर्न यो कल्पयन्त्रलाई पुनः सुरुवात गर्नु पर्छ । के अहिले नै सुरुवात गरी हाल्ने हो? +FinishedRestartMessage=[name] भीत्रिए पनि कार्य सम्पादन सुरू गर्न स्थापकले तपाइको कल्पयन्त्रलाई पुनः सुरुवात गर्नु पर्छ । %n %n के अहिले नै सुरुवात गरि हाल्ने हो? +ShowReadmeCheck=हो, म 'मलाई पढौं है' भन्ने फाइल हेर्न चाहन्छु । +YesRadio=&हो, कल्पयन्त्र तुरून्तै पुनः सुरुवात होस् +NoRadio=हो&इन, कल्पयन्त्रलाई म पछि पुनः सुरुवात गरौंला +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 लाई चलाउ +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 लाई देखाउ + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=स्थापकलाई अर्को भकारी चाहिन्छ । +SelectDiskLabel2=कृपया %1 भकारीलाई घुसाएर 'ठीक' भन्ने टाँकलाई दबाउनु होस् । %n %n यदि तल देखाइएका बाहेक अन्य कुनै भकारी भित्रको थैली मा फाइल पाइन्छ बने सही मार्ग लेख्नु होला अथवा 'उघार' भन्ने टाँकलाई दबाउनु होस् । +PathLabel=&मार्ग: +FileNotInDir2=फाइल "%1" त "%2" मा फेला पार्न सकिएन । कृपया सही भकारी घुसाउनु होस् अथवा अर्को थैलीको चयन गर्नु होस् । +SelectDirectoryLabel=कृपया अर्को भकारीको स्थान किटानी गर्नु होस् । + +; *** Installation phase messages +SetupAborted=स्थापनाको कार्य तुहियो । %n %n कृपया समस्या हल गर्नु होस् र स्थापकलाई फेरी काममा लगाउनु होस् । +EntryAbortRetryIgnore=कृपया फेरी कोसिस गर्न 'अर्को प्रयास' भन्ने टाँकलाई, जे भए पनि कार्य जारी राख्न 'बेवास्ता' भन्ने टाँकलाई अथवा स्थापनाको कार्य रद्द गर्न 'परित्याग' भन्ने टाँकलाई दबाउनु होस् + +; *** Installation status messages +StatusClosingApplications=अनुप्रयोग बन्द गर्दै छु । +StatusCreateDirs=घर्राको सिर्जना गर्दै छु... +StatusExtractFiles=फाइलहरूलाई झिक्दै छु... +StatusCreateIcons=द्रुत मार्ग सिर्जना गर्दै छु... +StatusCreateIniEntries=INI प्रविष्टि सिर्जना गर्दै छु । +StatusCreateRegistryEntries=Registry प्रविष्टिको सिर्जना गर्दै छु । +StatusRegisterFiles=फाइलको दर्ता गर्दै छु । +StatusSavingUninstall=भित्रिन नसकेको सूचना बचत गर्दै छु । +StatusRunProgram=भित्रिने कार्यको समाप्ति गर्दै छु । +StatusRestartingApplications=अनुप्रयोग पुनः सुरुवात हुँदै छ । +StatusRollback=परिवर्तनहरूलाई उल्टाउँदै छु । + +; *** Misc. errors +ErrorInternal2=आन्तरिक त्रुटि: %1 +ErrorFunctionFailedNoCode=%1 असफल भयो । +ErrorFunctionFailed=%1 असफल भयो; कोड %2 हो । +ErrorFunctionFailedWithMessage=%1 असफल भयो; कोड %2 %n %3 +ErrorExecutingProgram=%1%n फाइल कार्यान्वयन गर्न सकिएन । + +; *** Registry errors +ErrorRegOpenKey=Registry कुञ्जी खोल्ने कार्यमा त्रुटि:%n %1\%2 +ErrorRegCreateKey=Registry कुञ्जी सिर्जनामा त्रुटि:%n %1\%2 +ErrorRegWriteKey=Registry कुञ्जी लेखाइमा त्रुटि:%n %1\%2 + +; *** INI errors +ErrorIniEntry=फाइल "%1" मा INI प्रविष्टिको त्रुटि भयो । + +; *** File copying errors +FileAbortRetryIgnore=फेरि कोसिस गर्न 'अर्को प्रयास' भन्ने टाँकलाई, यो फाइल छोडी दिन (यसो नगर्न सुझाव दिइन्छ), 'बेवास्ता' भन्ने टाँकलाई अथवा स्थापना रद्द गर्न 'परित्याग' भन्ने टाँकलाई दबाउनु होला । +FileAbortRetryIgnore2=फेरि कोसिस गर्न 'अर्को प्रयास' भन्ने टाँकलाई, जे भए पनि कार्य जारी राख्न (यसो नगर्न सुझाव दिइन्छ), 'बेवास्ता' भन्ने टाँकलाई अथवा स्थापना रद्द गर्न 'परित्याग' भन्ने टाँकलाई दबाउनु होला । +SourceIsCorrupted=श्रोत फाइल भ्रष्ट भएको रहेछ । +SourceDoesntExist=श्रोत फाइल "%1" छदै छैन । +ExistingFileReadOnly=विद्यमान फाइल त 'पढ्न मात्रै मिल्ने' प्रकृतिको रहेछ । %n %n 'पढ्न मात्रै मिल्ने' प्रकृति हटाएर फेरि कोसिस गर्न 'अर्को प्रयास' भन्ने टाँकलाई, यो फाइल छोडी दिन 'बेवास्ता' भन्ने टाँकलाई अथवा स्थापना रद्द गर्न 'परित्याग' भन्ने टाँकलाई दबाउनु होला । +ErrorReadingExistingDest=विद्यमान फाइल पढ्दा खेरी त्रुटि हुन पुग्यो । : +FileExists=यो फाइल त पहिले नै भित्रिएको छ । %n %n के तपाइ स्थापकलाई यसलाई मेटाएर नया भित्र्याउने आदेश दिनु हुन्छ? +ExistingFileNewer=स्थापकले भित्र्याउन लागेको भन्दा नयाँ फाइल पहिले नै भित्रिएको रहेछ । विद्यमान फाइललाई यथावत् राख्न सल्लाह दिइन्छ । %n %n के तपाइ विद्यमान फाइललाई नै कायम राख्न चाहनु हुन्छ? +ErrorChangingAttr=पूर्व स्थापित फाइलको परिचायकहरूलाई परिवर्तन गर्दा गल्ती भयो: +ErrorCreatingTemp=गन्तव्य घर्रामा फाइलको सिर्जना गर्दा गल्ती भयो: +ErrorReadingSource=श्रोत फाइल पढ्ने क्रममा गल्ती भयो: +ErrorCopying=फाइलको नक्कल उतार्ने क्रममा गल्ती भयो: +ErrorReplacingExistingFile=विद्यमान फाइललाई प्रतिस्थापन गर्दा गल्ती भयो: +ErrorRestartReplace=पुनः प्रतिस्थापन असफल भयो: +ErrorRenamingTemp=गन्तव्य घर्राको फाइलको नाम परिवर्तन गर्ने कोसिस गर्दा गल्ती भयो: +ErrorRegisterServer=DLL/OCX दर्ता गर्न सकिएन: %1 +ErrorRegSvr32Failed=RegSvr32 असफल भयो (गल्ती कोड %1) । +ErrorRegisterTypeLib=%1किसिमको पुस्तकालय दर्ता गर्न सकिएन । + +; *** Post-installation errors +ErrorOpeningReadme='मलाई पढ्नु होस्' भन्ने फाइल पल्टाउने कोसिस गर्दा गल्ती भयो । +ErrorRestartingComputer=स्थापकले कल्पयन्त्रलाई पुनः सुरुवात गराउन सकेन । कृपया तपाइ आफैँले यसलाई पुनः सुरु गराउनु होस् । + +; *** Uninstaller messages +UninstallNotFound=फाइल "%1" छदै छैन, निष्कासन गर्ने कुरै भएन... । +UninstallOpenError=फाइल "%1" खोल्न नसकेको ले निष्कासन गर्न सकिँदैन । +UninstallUnsupportedVer=निष्कासन अभिलेख खाता "%1" निष्कासन कर्ताको संस्करणको बनोट सित मिल्दैन । त्यसैले निष्कासन गर्न सकिँदैन । +UninstallUnknownEntry=निष्कासन अभिलेख खातामा अज्ञात प्रविष्टि (%1) सित जम्का भेट भयो । +ConfirmUninstall=के तपाइ %1 र यसका सबै हिस्साहरू हटाउने नै हो भन्ने कुरामा विश्वस्त हुनु हुन्छ? +UninstallOnlyOnWin64=यो मैतालुलाई 64-bit विन्डोजबाट मात्रै निष्कासित गर्न सकिन्छ । +OnlyAdminCanUninstall=प्रशासकीय अधिकार प्राप्त उपभोक्ताले मात्रै यो मैतालुलाई निष्कासित गर्न सक्छ । +UninstallStatusLabel=कृपया, तपाइको कल्पयन्त्रबाट %1 लाई हटाउने कार्य समाप्त हुँदासम्म धैर्य गर्नु होस् । +UninstalledAll=तपाइको कल्पयन्त्रबाट %1 लाई सफलतापूर्वक हटाइयो । +UninstalledMost=%1 लाई पुरै निष्कासित गरियो । %n %n केही तत्त्वलाई हटाउन सकिएन । यीनैहरूलाई आफैँले मेटाउनु पर्ने हुन्छ । +UninstalledAndNeedsRestart=%1को निष्कासनलाई पूर्णता दिन तपाइको कल्पयन्त्र पुनः सुरुवात हुनु पर्छ । %n %n के अहिले नै पुनः सुरुवात गरि हाल्ने हो? +UninstallDataCorrupted=%1 फाइल त भ्रष्ट पो भए छ । निष्कासन गर्न सकिएन । + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=के साझा फाइलहरू पनि हटाउने हो? +ConfirmDeleteSharedFile2=यो प्रणालीले जनाए अनुसार निम्न साझा फाइलहरू अब कुनै कार्यक्रमले प्रयोगमा ल्याउँदैनन् । के तपाइ यी साझा फाइललाई पनि यसै क्रममा निष्कासित गर्न चाहनु हुन्छ?%n %n यदि कुनै कार्यक्रमले अझै पनि यी फाइलको उपयोग गर्दछ भने यीनैहरूलाई हटाएको खण्डमा त्यो कार्यक्रम राम्ररी चल्न सक्दैन । यदि तपाइ यकिन गर्न सक्नु हुन्न भने 'होइन' विकल्प रोज्नु होस् । यी फाइलहरूलाई तपाइको कल्पयन्त्रमा नै राखी राख्दा कुनै हानि नोक्सान हुने छैन । +SharedFileNameLabel=फाइलको नाम: +SharedFileLocationLabel=स्थान: +WizardUninstalling=निष्कासनको अवस्था +StatusUninstalling=%1 निष्कासित हुँदै छ । + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 भित्र्याउने कार्य हुँदै छ । +ShutdownBlockReasonUninstallingApp=%1 निष्कासित हुँदै छ । + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 संस्करण %2 +AdditionalIcons=अतिरिक्त प्रतिमा: +CreateDesktopIcon=&डेस्कटपमा प्रतिमाको सिर्जना होस् +CreateQuickLaunchIcon=&तुरुन्तै सक्रिय प्रतिमाको सिर्जना गर । +ProgramOnTheWeb=वेभमा %1 +UninstallProgram=%1 लाई निष्कासन गरि देउ +LaunchProgram=%1 लाई सक्रिय बनाउ +AssocFileExtension=%1 लाई %2 फाइलको विस्तार सित &आबद्ध गरी देउ । +AssocingFileExtension=%1 लाई %2 फाइलको विस्तार सित आबद्धता दिँदै छु । +AutoStartProgramGroupDescription=सुरुवात: +AutoStartProgram=%1 स्वचालित रूपले सुरु होस् । +AddonHostProgramNotFound=तपाइले चयन गर्नु भएको थैली मा %1 लाई फेला पार्न सकिएन । %n %n के जसरी पनि कार्य निरन्तर राख्ने हो? diff --git a/Greenshot/releases/innosetup/Languages/Occitan.isl b/Greenshot/releases/innosetup/Languages/Occitan.isl new file mode 100644 index 000000000..1cf8ed6cd --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Occitan.isl @@ -0,0 +1,317 @@ +; *** Inno Setup version 5.1.11+ Occitan messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/is3rdparty.php +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Translated by David Gimeno i Ayuso, info@sima.cat, 2007/03/18 + +[LangOptions] +LanguageName=Occit<00E0>n +LanguageID=$0482 +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Installacion +SetupWindowTitle=Installacion - %1 +UninstallAppTitle=Desinstallacion +UninstallAppFullTitle=Desinstallar %1 + +; *** Misc. common +InformationTitle=Informacion +ConfirmTitle=Confirmacion +ErrorTitle=Error + +; *** SetupLdr messages +SetupLdrStartupMessage=Aguest programa installar %1. Voletz continuar? +LdrCannotCreateTemp=Non s'a pogut crear un fichr temporau. Installacion cancellada +LdrCannotExecTemp=Non s'a pogut executar eth fichr ara carpeta temporau. Installacion cancellada + +; *** Startup error messages +LastErrorMessage=%1.%n%nError %2: %3 +SetupFileMissing=Eth fichr %1 non se trapa ara carpeta d'installacion. Resolvatz eth problema o obtietz ua naua cpia deth programa. +SetupFileCorrupt=Es fichrs d'installacion estan corrompudi. Obtietz ua naua cpia deth programa. +SetupFileCorruptOrWrongVer=Es fichrs d'installacion estan espatladi, o son incompatibles damb aguesta version deth programa. Resolvatz eth problema o obtietz ua naua cpia deth programa. +NotOnThisPlatform=Aguest programa non foncionar jos %1. +OnlyOnThisPlatform=Aguest programa sonque se pt executar jos %1. +OnlyOnTheseArchitectures=Aguest programa sonque se pt installar a versions de Windows dessenhades ents segentes arquitectures de processador:%n%n%1 +MissingWOW64APIs=Era version de Windows qu'auetz non includs ua foncionalitat requerida per Setup ent efectuar ua installacion de 64 bits. Ent corregir aguest problma, installatz eth Service Pack %1. +WinVersionTooLowError=Aguest programa requers %1 version %2 o posteriora. +WinVersionTooHighError=Aguest programa non se pt installar jos %1 version %2 o posteriora. +AdminPrivilegesRequired=Cau qu'ajatz privilgis d'administrador ent poder installar aguest programa. +PowerUserPrivilegesRequired=Cau que acceditz coma administrador o coma membre deth grop Power Users en installar aguest programa. +SetupAppRunningError=Eth programa d'installacion a detectat que %1 s'execute actuaument.%n%nBarratz eth programa e premetz Segent ent continuar o Cancellar ent gsser. +UninstallAppRunningError=Eth programa de desinstallacion a detectat que %1 s'execute en aguest moment.%n%nBarratz eth programa e premetz Segent ent continuar o Cancellar ent gsser. + +; *** Misc. errors +ErrorCreatingDir=Eth programa d'installacion non a pogut crear era carpeta "%1" +ErrorTooManyFilesInDir=Non s'a pogut crear un fichr ara carpeta "%1" pr'amor que conten massa fichrs + +; *** Setup common messages +ExitSetupTitle=Gsser +ExitSetupMessage=Era installacion non s'a completat. Se gessetz ara, eth programa non ser installat.%n%nEnta completar-la poderatz tornar a executar eth programa d'installacion quan volgatz.%n%nVolgatz gsser-ne? +AboutSetupMenuItem=&Sus era installacion... +AboutSetupTitle=Sus era installacion +AboutSetupMessage=%1 version %2%n%3%n%nPagina web de %1:%n%4 +AboutSetupNote= +TranslatorNote=Occitan translation maintained by David Gimeno i Ayuso (info@sima.cat) + +; *** Buttons +ButtonBack=< &Tornar +ButtonNext=&Segent > +ButtonInstall=&Installar +ButtonOK=Corrcte +ButtonCancel=Cancellar +ButtonYes=&c +ButtonYesToAll=c a &Tot +ButtonNo=&Non +ButtonNoToAll=N&on a tot +ButtonFinish=&Finalizar +ButtonBrowse=&Explorar... +ButtonWizardBrowse=E&xplorar... +ButtonNewFolder=&Crear ua carpeta naua + +; *** "Select Language" dialog messages +SelectLanguageTitle=Seleccionatz idima +SelectLanguageLabel=Seleccionatz er idima d'installacion: + +; *** Common wizard text +ClickNext=Premetz Segent ent continuar o Cancellar ent abandonar era installacion. +BeveledLabel= +BrowseDialogTitle=Explorar ua carpeta +BrowseDialogLabel=Seleccionatz ua carpeta dera lista segenta e clicatz Corrcte. +NewFolderName=Carpeta naua + +; *** "Welcome" wizard page +WelcomeLabel1=Benvengut ar assistent d'installacion de [name] +WelcomeLabel2=Aguest programa installar [name/ver] ath vste ordinador.%n%nEi recomanable que abantes de continuar barratz toti es autes programes dubrti, per tau d'evitar conflictes pendent eth procs d'installacion. + +; *** "Password" wizard page +WizardPassword=Cdi d'accs +PasswordLabel1=Aguesta installacion est protegida damb un cdi d'accs. +PasswordLabel3=Indicatz eth cdi d'accs e premetz Segent ent continuar. Aguest cdi distingus entre majuscules e minuscules. +PasswordEditLabel=&Cdi: +IncorrectPassword=Eth cdi introdusit non ei corrcte. Tornatz a intentar-ac. + +; *** "License Agreement" wizard page +WizardLicense=Acceptacion dera licncia d'emplec. +LicenseLabel=Cau que liegetz aguesta informacion abantes de continuar. +LicenseLabel3=Liegetz-vos er Acord de Licncia segent. Cau que n'acceptatz es trmes abantes de continuar damb era installacion. +LicenseAccepted=&Accepti er acrd +LicenseNotAccepted=&Non accepti er acrd + +; *** "Information" wizard pages +WizardInfoBefore=Informacion +InfoBeforeLabel=Liegetz-vos era informacion segenta abantes de continuar. +InfoBeforeClickLabel=Quan estetz preparat ent continuar, premetz Segent +WizardInfoAfter=Informacion +InfoAfterLabel=Liegetz-vos era informacion segenta abantes de continuar. +InfoAfterClickLabel=Quan estetz preparat ent continuar, premetz Segent + +; *** "User Information" wizard page +WizardUserInfo=Informacion sus er usatgr +UserInfoDesc=Entratz-i era vsta informacion. +UserInfoName=&Nm der usatgr: +UserInfoOrg=&Organizacion +UserInfoSerial=&Numer de srie: +UserInfoNameRequired=Cau que i entratz un nm + +; *** "Select Destination Directory" wizard page +WizardSelectDir=Escuelhetz Carpeta de Destinacion +SelectDirDesc=A on s'a d'installar [name]? +SelectDirLabel3=Escuelhetz era carpeta a on voletz installar [name]. +SelectDirBrowseLabel=Premetz Segent ent continuar. Se en voletz seleccionar ua de diferenta, premetz Explorar. +DiskSpaceMBLabel=Aguest programa a de besonh un minim de [mb] MB d'espaci a disc. +ToUNCPathname=Era installacion non pt installar eth programa en ua carpeta UNC. Se estatz en tot provar d'installar-lo en hilat, auratz d'assignar ua letra (D:, E:, etc...) ath disc de destinacion. +InvalidPath=Cau dar ua rota completa damb letra d'unitat, per exemple:%n%nC:\Aplicacion%n%non ben ua rota UNC en era forma:%n%n\\servidor\compartit +InvalidDrive=Eth disc o rota de hilat seleccionat non exists, escuelhetz-ne un aute. +DiskSpaceWarningTitle=Non i a pro espaci ath disc +DiskSpaceWarning=Eth programa d'installacion a de besonh coma minim %1 KB d'espaci liure, ms eth disc seleccionat sonque a %2 KB disponibles.%n%nTot e damb a, desiratz continuar? +DirNameTooLong=Era rota o nm dera carpeta ei massa long. +InvalidDirName=Eth nm dera carpeta ei incorrcte. +BadDirName32=Un nm de carpeta non pt contier cap des caractrs segents:%n%n%1 +DirExistsTitle=Era carpeta exists +DirExists=Era carpeta:%n%n%1%n%nja exists. Volgatz installar igualament eth programa en aguesta carpeta? +DirDoesntExistTitle=Era Carpeta Non Exists +DirDoesntExist=Era carpeta:%n%n%1%n%nnon exists. Volgatz que sigue creada? + +; *** "Select Program Group" wizard page +WizardSelectComponents=Escuelhetz Components +SelectComponentsDesc=Quini components cau installar? +SelectComponentsLabel2=Seleccionatz es components que voletz installar; eliminatz es components que non voletz installar. Premetz Segent ent continuar. +FullInstallation=Installacion completa +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Installacion compacta +CustomInstallation=Installacion personalizada +NoUninstallWarningTitle=Es components Existissen +NoUninstallWarning=Eth programa d'installacion a detectat qu'es components segents ja se trapen ath vste ordinador:%n%n%1%n%nSe non estan seleccionadi non seran desinstalladi.%n%nVolgatz continuar igualament? +ComponentSize1=%1 Kb +ComponentSize2=%1 Mb +ComponentsDiskSpaceMBLabel=Aguesta seleccion requers un minim de [mb] Mb d'espaci ath disc. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Escuelhetz prtzhts addicionaus +SelectTasksDesc=Quini prtzhts addicionaus cau executar? +SelectTasksLabel2=Escuelhetz es prtzhts addicionaus que voletz que siguen executadi mentre s'installa [name], e demps premetz Segent. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Escuelhetz era carpeta deth Menu Inici +SelectStartMenuFolderDesc=A on cau plaar es ligams deth programa? +SelectStartMenuFolderLabel3=Escuelhetz era carpeta deth Menu Inici a on voletz qu'eth programa d'installacion cree es ligams. +SelectStartMenuFolderBrowseLabel=Premetz Segent ent continuar. S'en voletz seleccionar ua de diferenta, premetz Explorar. +MustEnterGroupName=Cau que i entratz un nm de carpeta. +GroupNameTooLong=Era rota o nm dera carpeta ei massa long. +InvalidGroupName=Eth nm dera carpeta ei incorrcte. +BadGroupName=Eth nm deth grop non pt contier cap des caractrs segents:%n%n%1 +NoProgramGroupCheck2=&Non crear ua carpeta ath Menu Inici + +; *** "Ready to Install" wizard page +WizardReady=Preparat ent installar +ReadyLabel1=Eth programa d'installacion est preparat ent iniciar era installacion de [name] ath vste ordinador. +ReadyLabel2a=Premetz Installar ent continuar damb era installacion, o Tornar se voletz revisar o modificar es opcions d'installacion. +ReadyLabel2b=Premetz Installar ent continuar damb era installacion. +ReadyMemoUserInfo=Informacion der usatgr: +ReadyMemoDir=Carpeta de destinacion: +ReadyMemoType=Tipe d'installacion: +ReadyMemoComponents=Components seleccionadi: +ReadyMemoGroup=Carpeta deth Menu Inici: +ReadyMemoTasks=Prtzhts addicionaus: + +; *** "Preparing to Install" wizard page +WizardPreparing=Se premans era installacion +PreparingDesc=Se premans era installacion de [name] ath vste ordinador. +PreviousInstallNotCompleted=Era installacion o desinstallacion anteriora non s'a amiat a trme. Caler que reiniciatz er ordinador ent finalizar aguesta installacion.%n%nDemps de reiniciar er ordinador, executatz aguest programa de nau ent completar era installacion de [name]. +CannotContinue=Era installacion non pt continuar. Premetz Cancellar ent gsser. + +; *** "Installing" wizard page +WizardInstalling=S'installe +InstallingLabel=Esperatz-vos mentre s'installe [name] ath vste ordinador. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Se complete er assistent d'installacion de [name] +FinishedLabelNoIcons=Eth programa a finalizat era installacion de [name] ath vste ordinador. +FinishedLabel=Eth programa a finalizat era installacion de [name] ath vste ordinador. Era aplicacion se pt iniciar en tot seleccionar es icnes installades. +ClickFinish=Premetz Finalizar ent gsser dera installacion. +FinishedRestartLabel=Ent completar era installacion de [name] cau reiniciar er ordinador. Volgatz hr-ac ara? +FinishedRestartMessage=Ent completar era installacion de [name] cau reiniciar er ordinador. Volgatz hr-ac ara? +ShowReadmeCheck=c, voi visualizar eth fichr LIEGETZ.TXT +YesRadio=&c, reiniciar er ordinador ara +NoRadio=&Non, reiniciar er ordinador ms tard +; used for example as 'Run MyProg.exe' +RunEntryExec=Executar %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Visualizar %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Eth programa d'installacion a de besonh eth disc segent +SelectDiskLabel2=Introdusitz eth disc %1 e premetz Continuar.%n%nSe es fichrs d'aguest disc se pden trapar en ua carpeta diferenta dera indicada tot seguit, entratz-ne era rota corrcta o ben premetz Explorar. +PathLabel=&Rota: +FileNotInDir2=Eth fichr "%1" non s'a pogut trapar a "%2". Introdusitz eth disc corrcte o escuelhetz ua auta carpeta. +SelectDirectoryLabel=Indicatz a on se trapa eth disc segent. + +; *** Installation phase messages +SetupAborted=Era installacion non s'a completat.%n%n%Resolvatz eth problema e executatz de nau eth programa d'installacion. +EntryAbortRetryIgnore=Premetz Reintentar ent intentar-ac de nau, Ignorar ent continuar igualament, o Cancellar ent abandonar era installacion. + +; *** Installation status messages +StatusCreateDirs=Se creen carpetes... +StatusExtractFiles=S'extrn fichrs... +StatusCreateIcons=Se creen icnes de programa... +StatusCreateIniEntries=Se creen entrades ath fichr INI... +StatusCreateRegistryEntries=Se creen entrades de registre... +StatusRegisterFiles=Se registren fichrs... +StatusSavingUninstall=Se plegue informacion de desinstallacion... +StatusRunProgram=Se finalize era installacion... +StatusRollback=Se deshn es cambis... + +; *** Misc. errors +ErrorInternal2=Error intern: %1 +ErrorFunctionFailedNoCode=%1 a mancat +ErrorFunctionFailed=%1 a mancat; cdi %2 +ErrorFunctionFailedWithMessage=%1 a mancat; cdi %2.%n%3 +ErrorExecutingProgram=Non se pt executar eth fichr:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Error en daurir era clau de registre:%n%1\%2 +ErrorRegCreateKey=Error en crear era clau de registre:%n%1\%2 +ErrorRegWriteKey=Error en escruer ara clau de registre:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Error en crear era entrada INI ath fichr "%1". + +; *** File copying errors +FileAbortRetryIgnore=Premetz Reintentar ent intentar-ac de nau, Ignorar ent sautar-se aguest fichr (non recomanat), o Cancellar ent abandonar era installacion. +FileAbortRetryIgnore2=Premetz Reintentar ent intentar-ac de nau, Ignorar ent continuar igualament (non recomanat), o Cancellar ent abandonar era installacion. +SourceIsCorrupted=Eth fichr d'origina est corromput +SourceDoesntExist=Eth fichr d'origina "%1" non exists +ExistingFileReadOnly=Eth fichr ei de sonque lectura.%n%nPremetz Reintentar ent trir-li er atribut de sonque lectura e tornar-ac a intentar; Omter ent sautar-se-lo (non recomanat), o Anullar ent abandonar era installacion. +ErrorReadingExistingDest=S'a produsit un error en liger eth fichr: +FileExists=Eth fichr ja exists.%n%nVolgatz que sigue sus-escrit? +ExistingFileNewer=Eth fichr existent ei ms nau qu'eth que s'intenta installar. Se recomana mantier eth fichr existent.%n%nVolgatz mantier-lo? +ErrorChangingAttr=I a agut un error en cambiar es atributs deth fichr: +ErrorCreatingTemp=I a agut un error en crear un fichr ara carpeta de destinacion: +ErrorReadingSource=I a agut un error en liger eth fichr d'origina: +ErrorCopying=I a agut un error en copiar un fichr: +ErrorReplacingExistingFile=I a agut un error en remplaar eth fichr existent: +ErrorRestartReplace=A mancat remplaar: +ErrorRenamingTemp=I a agut un error en renomentar un fichr ara carpeta de destinacion: +ErrorRegisterServer=Non s'a pogut registrar eth DLL/OCX: %1 +ErrorRegSvr32Failed=A mancat RegSvr32 damb cdi de gessuda %1 +ErrorRegisterTypeLib=Non s'a pogut registrar era bibliotca de tipe: %1 + +; *** Post-installation errors +ErrorOpeningReadme=I a agut un error en daurir eth fichr LIEGETZ.TXT. +ErrorRestartingComputer=Eth programa d'installacion non a pogut reiniciar er ordinador. Hetz-ac manualament. + +; *** Uninstaller messages +UninstallNotFound=Eth fichr "%1" non exists. Non se pt desinstallar. +UninstallOpenError=Eth fichr "%1" non se pt daurir. Non se pt desinstallar. +UninstallUnsupportedVer=Eth fichr de desinstallacion "%1" est en un format non reconeishut ent aguesta version deth desinstallador. Non se pt desinstallar +UninstallUnknownEntry=S'a trapat ua entrada desconeishuda (%1) ath fichr de desinstallacion. +ConfirmUninstall=Estatz segur de voler eliminar completament %1 e toti es sns components? +UninstallOnlyOnWin64=Aguest programa sonque se pt desinstallar a Windows de 64 bits. +OnlyAdminCanUninstall=Aguest programa sonque se pt desinstallar ent un usatgr damb privilegis d'administrador. +UninstallStatusLabel=Esperatz-vos mentre s'elimine %1 deth vste ordinador. +UninstalledAll=%1 a estat desinstallat correctament deth vste ordinador. +UninstalledMost=Desinstallacion de %1 completada.%n%nQuauqui elements non s'an pogut eliminar. Pden ster eliminadi manualament. +UninstalledAndNeedsRestart=Ent completar era installacion de %1, cau reiniciar eth vste ordinador.%n%nVolgatz hr-ac ara? +UninstallDataCorrupted=Eth fichr "%1" est corromput. Non se pt desinstallar. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Eliminar fichr compartit? +ConfirmDeleteSharedFile2=Eth sistema indica qu'eth fichr compartit segent ja non ei emplegat per cap aute programa. Volgatz qu'era desinstallacion elimine aguest fichr?%n%nSe quauque programa encara lo emplegue e ei eliminat, poderia non foncionar correctament. Se non n'estatz segur, escuelhetz Non. Deishar eth fichr ath sistema non har cap mau. +SharedFileNameLabel=Nm deth fichr: +SharedFileLocationLabel=Localizacion: +WizardUninstalling=Estat dera desinstallacion +StatusUninstalling=Se desinstalle %1... + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 version %2 +AdditionalIcons=Icnes addicionaus: +CreateDesktopIcon=Crear ua icona ar &escriptri +CreateQuickLaunchIcon=Crear ua icona d'execucion &rapida +ProgramOnTheWeb=%1 ath hilat +UninstallProgram=Desinstallar %1 +LaunchProgram=Iniciar %1 +AssocFileExtension=&Associar %1 damb era extension %2 +AssocingFileExtension=S'asscie %1 damb era extension %2... diff --git a/Greenshot/releases/innosetup/Languages/Romanian.isl b/Greenshot/releases/innosetup/Languages/Romanian.isl new file mode 100644 index 000000000..7a79acf27 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Romanian.isl @@ -0,0 +1,337 @@ +; *** Inno Setup version 5.5.3+ Romanian messages *** +; Translator : Alexandru Bogdan Munteanu (muntealb@gmail.com) +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Rom<00E2>n<0103> +LanguageID=$0418 +LanguageCodePage=1250 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalare +SetupWindowTitle=Instalare - %1 +UninstallAppTitle=Dezinstalare +UninstallAppFullTitle=Dezinstalare %1 + +; *** Misc. common +InformationTitle=Informaii +ConfirmTitle=Confirmare +ErrorTitle=Eroare + +; *** SetupLdr messages +SetupLdrStartupMessage=Va fi instalat programul %1. Vrei s continui? +LdrCannotCreateTemp=Nu pot crea o fil temporar. Instalare abandonat +LdrCannotExecTemp=Nu pot executa o fil din dosarul temporar. Instalare abandonat + +; *** Startup error messages +LastErrorMessage=%1.%n%nEroarea %2: %3 +SetupFileMissing=Fila %1 lipsete din dosarul de instalare. Corecteaz problema sau folosete o alt copie a programului. +SetupFileCorrupt=Filele de instalare snt stricate (corupte). Folosete o alt copie a programului. +SetupFileCorruptOrWrongVer=Filele de instalare snt stricate (corupte) sau snt incompatibile cu aceast versiune a Instalatorului. Remediaz problema sau folosete o alt copie a programului. +InvalidParameter=Un parametru invalid a fost trecut ctre linia de comand:%n%n%1 +SetupAlreadyRunning=Instalarea ruleaz deja. +WindowsVersionNotSupported=Acest program nu suport versiunea de Windows care ruleaz pe calculatorul tu. +WindowsServicePackRequired=Acest program necesit %1 Service Pack %2 sau mai nou. +NotOnThisPlatform=Acest program nu va rula pe %1. +OnlyOnThisPlatform=Acest program trebuie s ruleze pe %1. +OnlyOnTheseArchitectures=Acest program poate fi instalat doar pe versiuni de Windows proiectate pentru urmtoarele arhitecturi de procesor:%n%n%1 +MissingWOW64APIs=Versiunea de Windows pe care o rulezi nu include funcionalitatea cerut de Instalator pentru a realiza o instalare pe 64-bii. Pentru a corecta problema, va trebui s instalezi Service Pack %1. +WinVersionTooLowError=Acest program necesit %1 versiunea %2 sau mai nou. +WinVersionTooHighError=Acest program nu poate fi instalat pe %1 versiunea %2 sau mai nou. +AdminPrivilegesRequired=Trebuie s fii logat ca Administrator pentru instalarea acestui program. +PowerUserPrivilegesRequired=Trebuie s fii logat ca Administrator sau ca Membru al Grupului de Utilizatori Pricepui ("Power Users") pentru a instala acest program. +SetupAppRunningError=Instalatorul a detectat c %1 ruleaz n acest moment.%n%nnchide toate instanele programului respectiv, apoi clicheaz OK pentru a continua sau Anuleaz pentru a abandona instalarea. +UninstallAppRunningError=Dezinstalatorul a detectat c %1 ruleaz n acest moment.%n%nnchide toate instanele programului respectiv, apoi clicheaz OK pentru a continua sau Anuleaz pentru a abandona dezinstalarea. + +; *** Misc. errors +ErrorCreatingDir=Instalatorul nu a putut crea dosarul "%1" +ErrorTooManyFilesInDir=Nu pot crea o fil n dosarul "%1" din cauz c are deja prea multe file + +; *** Setup common messages +ExitSetupTitle=Abandonarea Instalrii +ExitSetupMessage=Instalarea nu este terminat. Dac o abandonezi acum, programul nu va fi instalat.%n%nPoi s rulezi Instalatorul din nou alt dat pentru a termina instalarea.%n%nAbandonezi Instalarea? +AboutSetupMenuItem=&Despre Instalator... +AboutSetupTitle=Despre Instalator +AboutSetupMessage=%1 versiunea %2%n%3%n%n%1 sit:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< na&poi +ButtonNext=&Continu > +ButtonInstall=&Instaleaz +ButtonOK=OK +ButtonCancel=Anuleaz +ButtonYes=&Da +ButtonYesToAll=Da la &Tot +ButtonNo=&Nu +ButtonNoToAll=N&u la Tot +ButtonFinish=&Finalizeaz +ButtonBrowse=&Exploreaz... +ButtonWizardBrowse=Explo&reaz... +ButtonNewFolder=Creea&z Dosar Nou + +; *** "Select Language" dialog messages +SelectLanguageTitle=Selectarea Limbii Instalatorului +SelectLanguageLabel=Selecteaz limba folosit pentru instalare: + +; *** Common wizard text +ClickNext=Clicheaz pe Continu pentru a avansa cu instalarea sau pe Anuleaz pentru a o abandona. +BeveledLabel= +BrowseDialogTitle=Explorare dup Dosar +BrowseDialogLabel=Selecteaz un dosar din lista de mai jos, apoi clicheaz pe OK. +NewFolderName=Dosar Nou + +; *** "Welcome" wizard page +WelcomeLabel1=Bun venit la Instalarea [name] +WelcomeLabel2=Programul [name/ver] va fi instalat pe calculator.%n%nEste recomandat s nchizi toate celelalte aplicaii nainte de a continua. + +; *** "Password" wizard page +WizardPassword=Parol +PasswordLabel1=Aceast instalare este protejat prin parol. +PasswordLabel3=Completeaz parola, apoi clicheaz pe Continu pentru a merge mai departe. Tipul literelor din parol (Majuscule/minuscule) este luat n considerare. +PasswordEditLabel=&Parol: +IncorrectPassword=Parola pe care ai introdus-o nu este corect. Rencearc. + +; *** "License Agreement" wizard page +WizardLicense=Acord de Liceniere +LicenseLabel=Citete informaiile urmtoare nainte de a continua, snt importante. +LicenseLabel3=Citete urmtorul Acord de Liceniere. Trebuie s accepi termenii acestui acord nainte de a continua instalarea. +LicenseAccepted=&Accept licena +LicenseNotAccepted=&Nu accept licena + +; *** "Information" wizard pages +WizardInfoBefore=Informaii +InfoBeforeLabel=Citete informaiile urmtoare nainte de a continua, snt importante. +InfoBeforeClickLabel=Cnd eti gata de a trece la Instalare, clicheaz pe Continu. +WizardInfoAfter=Informaii +InfoAfterLabel=Citete informaiile urmtoare nainte de a continua, snt importante. +InfoAfterClickLabel=Cnd eti gata de a trece la Instalare, clicheaz pe Continu. + +; *** "User Information" wizard page +WizardUserInfo=Informaii despre Utilizator +UserInfoDesc=Completeaz informaiile cerute. +UserInfoName=&Utilizator: +UserInfoOrg=&Organizaie: +UserInfoSerial=Numr de &Serie: +UserInfoNameRequired=Trebuie s introduci un nume. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Selectarea Locului de Destinaie +SelectDirDesc=Unde vrei s instalezi [name]? +SelectDirLabel3=Instalatorul va pune [name] n dosarul specificat mai jos. +SelectDirBrowseLabel=Pentru a avansa cu instalarea, clicheaz pe Continu. Dac vrei s selectezi un alt dosar, clicheaz pe Exploreaz. +DiskSpaceMBLabel=Este necesar un spaiu liber de stocare de cel puin [mb] MB. +CannotInstallToNetworkDrive=Instalatorul nu poate realiza instalarea pe un dispozitiv de reea. +CannotInstallToUNCPath=Instalatorul nu poate realiza instalarea pe o cale n format UNC. +InvalidPath=Trebuie s introduci o cale complet, inclusiv litera dispozitivului; de exemplu:%n%nC:\APP%n%nsau o cale UNC de forma:%n%n\\server\share +InvalidDrive=Dispozitivul sau partajul UNC pe care l-ai selectat nu exist sau nu este accesibil. Selecteaz altul. +DiskSpaceWarningTitle=Spaiu de Stocare Insuficient +DiskSpaceWarning=Instalarea necesit cel puin %1 KB de spaiu de stocare liber, dar dispozitivul selectat are doar %2 KB liberi.%n%nVrei s continui oricum? +DirNameTooLong=Numele dosarului sau al cii este prea lung. +InvalidDirName=Numele dosarului nu este valid. +BadDirName32=Numele dosarelor nu pot include unul din urmtoarele caractere:%n%n%1 +DirExistsTitle=Dosarul Exist +DirExists=Dosarul:%n%n%1%n%nexist deja. Vrei totui s instalezi n acel dosar? +DirDoesntExistTitle=Dosarul Nu Exist +DirDoesntExist=Dosarul:%n%n%1%n%nnu exist. Vrei ca el s fie creat? + +; *** "Select Components" wizard page +WizardSelectComponents=Selectarea Componentelor +SelectComponentsDesc=Care dintre componente trebuie instalate? +SelectComponentsLabel2=Selecteaz componentele de instalat; deselecteaz componentele care nu trebuie instalate. Clicheaz pe Continu pentru a merge mai departe. +FullInstallation=Instalare Complet +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Instalare Compact +CustomInstallation=Instalare Personalizat +NoUninstallWarningTitle=Componentele Exist +NoUninstallWarning=Instalatorul a detectat c urmtoarele componente snt deja instalate pe calculator:%n%n%1%n%nDeselectarea lor nu le va dezinstala.%n%nVrei s continui oricum? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Selecia curent necesit cel puin [mb] MB spaiu de stocare. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Selectarea Sarcinilor Suplimentare +SelectTasksDesc=Ce sarcini suplimentare trebuie ndeplinite? +SelectTasksLabel2=Selecteaz sarcinile suplimentare care trebuie ndeplinite n timpul instalrii [name], apoi clicheaz pe Continu. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Selectarea Dosarului din Meniul de Start +SelectStartMenuFolderDesc=Unde trebuie s fie plasate scurtturile programului? +SelectStartMenuFolderLabel3=Scurtturile vor fi plasate n dosarul specificat mai jos al Meniului de Start. +SelectStartMenuFolderBrowseLabel=Pentru a avansa cu instalarea, clicheaz pe Continu. Dac vrei s selectezi un alt dosar, clicheaz pe Exploreaz. +MustEnterGroupName=Trebuie s introduci numele dosarului. +GroupNameTooLong=Numele dosarului sau al cii este prea lung. +InvalidGroupName=Numele dosarului nu este valid. +BadGroupName=Numele dosarului nu poate include unul dintre caracterele urmtoarele:%n%n%1 +NoProgramGroupCheck2=Nu crea un &dosar n Meniul de Start + +; *** "Ready to Install" wizard page +WizardReady=Pregtit de Instalare +ReadyLabel1=Instalatorul e pregtit pentru instalarea [name] pe calculator. +ReadyLabel2a=Clicheaz pe Instaleaz pentru a continua cu instalarea, sau clicheaz pe napoi dac vrei s revezi sau s schimbi setrile. +ReadyLabel2b=Clicheaz pe Instaleaz pentru a continua cu instalarea. +ReadyMemoUserInfo=Info Utilizator: +ReadyMemoDir=Loc de Destinaie: +ReadyMemoType=Tip de Instalare: +ReadyMemoComponents=Componente Selectate: +ReadyMemoGroup=Dosarul Meniului de Start: +ReadyMemoTasks=Sarcini Suplimentare: + +; *** "Preparing to Install" wizard page +WizardPreparing=Pregtire pentru Instalare +PreparingDesc=Instalatorul pregtete instalarea [name] pe calculator. +PreviousInstallNotCompleted=Instalarea/dezinstalarea anterioar a unui program nu a fost terminat. Va trebui s reporneti calculatorul pentru a termina operaia precedent.%n%nDup repornirea calculatorului, ruleaz Instalatorul din nou pentru a realiza instalarea [name]. +CannotContinue=Instalarea nu poate continua. Clicheaz pe Anuleaz pentru a o nchide. +ApplicationsFound=Aplicaiile urmtoare folosesc file care trebuie actualizate de ctre Instalator. Este recomandat s permii Instalatorului s nchid automat aplicaiile respective. +ApplicationsFound2=Aplicaiile urmtoare folosesc file care trebuie actualizate de ctre Instalator. Este recomandat s permii Instalatorului s nchid automat aplicaiile respective. Dup ce instalarea e terminat, Instalatorul va ncerca s reporneasc aplicaiile. +CloseApplications=nchide &automat aplicaiile +DontCloseApplications=Nu nchi&de aplicaiile +ErrorCloseApplications=Instalatorul nu a putut nchide automat toate aplicaiile. nainte de a continua, e recomandat s nchizi manual toate aplicaiile care folosesc file ce trebuie actualizate de Instalator. + +; *** "Installing" wizard page +WizardInstalling=Instalare n Desfurare +InstallingLabel=Ateapt s se termine instalarea [name] pe calculator. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Finalizarea Instalrii [name] +FinishedLabelNoIcons=Instalarea [name] pe calculator a fost terminat. +FinishedLabel=Instalarea [name] pe calculator a fost terminat. Aplicaia poate fi lansat prin clicarea pe icoanele instalate. +ClickFinish=Clicheaz pe Finalizeaz pentru a prsi Instalatorul. +FinishedRestartLabel=Pentru a termina instalarea [name], trebuie repornit calculatorul. Vrei s fie repornit acum? +FinishedRestartMessage=Pentru a termina instalarea [name], trebuie repornit calculatorul.%n%nVrei s fie repornit acum? +ShowReadmeCheck=Da, vreau s vd fila de informare (README) +YesRadio=&Da, repornete calculatorul acum +NoRadio=&Nu, voi reporni eu calculatorul mai trziu +; used for example as 'Run MyProg.exe' +RunEntryExec=Ruleaz %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Vezi %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Instalatorul Necesit Discul Urmtor +SelectDiskLabel2=Introdu Discul %1 i clicheaz pe OK.%n%nDac filele de pe acest disc pot fi gsite ntr-un alt dosar dect cel afiat mai jos, introdu calea corect sau clicheaz pe Exploreaz. +PathLabel=&Cale: +FileNotInDir2=Fila "%1" nu poate fi gsit n "%2". Introdu discul corect sau selecteaz alt dosar. +SelectDirectoryLabel=Specific locul discului urmtor. + +; *** Installation phase messages +SetupAborted=Instalarea nu a fost terminat.%n%nCorecteaz problema i apoi ruleaz Instalarea din nou. +EntryAbortRetryIgnore=Clicheaz pe Rencearc pentru a ncerca din nou, pe Ignor pentru a continua oricum, sau pe Abandoneaz pentru a anula instalarea. + +; *** Installation status messages +StatusClosingApplications=nchid aplicaiile... +StatusCreateDirs=Creez dosarele... +StatusExtractFiles=Extrag filele... +StatusCreateIcons=Creez scurtturile... +StatusCreateIniEntries=Creez intrrile INI... +StatusCreateRegistryEntries=Creez intrrile n registru... +StatusRegisterFiles=nregistrez filele... +StatusSavingUninstall=Salvez informaiile de dezinstalare... +StatusRunProgram=Finalizez instalarea... +StatusRestartingApplications=Repornesc aplicaiile... +StatusRollback=Rentorc la starea iniial, prin anularea modificrilor fcute... + +; *** Misc. errors +ErrorInternal2=Eroare Intern: %1 +ErrorFunctionFailedNoCode=%1 a euat +ErrorFunctionFailed=%1 a euat; cod %2 +ErrorFunctionFailedWithMessage=%1 a euat; cod %2.%n%3 +ErrorExecutingProgram=Nu pot executa fila:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Eroare la deschiderea cheii de registru:%n%1\%2 +ErrorRegCreateKey=Eroare la crearea cheii de registru:%n%1\%2 +ErrorRegWriteKey=Eroare la scrierea n cheia de registru:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Eroare la crearea intrrii INI n fiierul "%1". + +; *** File copying errors +FileAbortRetryIgnore=Clicheaz pe Rencearc pentru a ncerca din nou, pe Ignor pentru a sri aceast fil (nerecomandat), sau pe Abandoneaz pentru a anula instalarea. +FileAbortRetryIgnore2=Clicheaz pe Rencearc pentru a ncerca din nou, pe Ignor pentru a continua oricum (nerecomandat), sau pe Abandoneaz pentru a anula instalarea. +SourceIsCorrupted=Fila surs este stricat (corupt) +SourceDoesntExist=Fila surs "%1" nu exist +ExistingFileReadOnly=Fila deja existent este marcat doar-citire.%n%nClicheaz pe Rencearc pentru a nltura atributul doar-citire i a ncerca din nou, pe Ignor pentru a sri aceast fil, sau pe Abandoneaz pentru a anula instalarea. +ErrorReadingExistingDest=A aprut o eroare n timpul citirii filei deja existente: +FileExists=Fila exist deja.%n%Vrei ca ea s fie suprascris de Instalator? +ExistingFileNewer=Fila deja existent este mai nou dect cea care trebuie instalat. Este recomandat s-o pstrezi pe cea existent.%n%nVrei s pstrezi fila deja existent? +ErrorChangingAttr=A aprut o eroare n timpul schimbrii atributelor filei deja existente: +ErrorCreatingTemp=A aprut o eroare n timpul crerii filei n dosarul de destinaie: +ErrorReadingSource=A aprut o eroare n timpul citirii filei surs: +ErrorCopying=A aprut o eroare n timpul copierii filei: +ErrorReplacingExistingFile=A aprut o eroare n timpul nlocuirii filei deja existente: +ErrorRestartReplace=Repornirea/nlocuirea a euat: +ErrorRenamingTemp=A aprut o eroare n timpul renumirii unei file din dosarul de destinaie: +ErrorRegisterServer=Nu pot nregistra DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 a euat, avnd codul de ieire %1 +ErrorRegisterTypeLib=Nu pot nregistra biblioteca de tipuri: %1 + +; *** Post-installation errors +ErrorOpeningReadme=A aprut o eroare la deschiderea filei de informare (README). +ErrorRestartingComputer=Instalatorul nu a putut reporni calculatorul. Va trebui s-l reporneti manual. + +; *** Uninstaller messages +UninstallNotFound=Fila "%1" nu exist. Dezinstalarea nu poate fi fcut. +UninstallOpenError=Fila "%1" nu poate fi deschis. Dezinstalarea nu poate fi fcut +UninstallUnsupportedVer=Fila "%1" ce conine jurnalul de dezinstalare este ntr-un format nerecunoscut de aceast versiune a dezinstalatorului. Dezinstalarea nu poate fi fcut +UninstallUnknownEntry=A fost ntlnit o intrare necunoscut (%1) n jurnalul de dezinstalare +ConfirmUninstall=Sigur vrei s nlturi complet %1 i componentele sale? +UninstallOnlyOnWin64=Aceast instalare poate fi dezinstalat doar pe un sistem Windows 64-bii. +OnlyAdminCanUninstall=Aceast instalare poate fi dezinstalat doar de ctre un utilizator cu drepturi de Administrator. +UninstallStatusLabel=Ateapt ca %1 s fie nlturat de pe calculator. +UninstalledAll=%1 a fost nlturat cu succes de pe calculator. +UninstalledMost=Dezinstalare complet a %1.%n%nAnumite elemente nu au putut fi nlturate. Acestea pot fi nlturate manual. +UninstalledAndNeedsRestart=Pentru a termina dezinstalarea %1, calculatorul trebuie repornit.%n%nVrei s fie repornit acum? +UninstallDataCorrupted=Fila "%1" este stricat (corupt). Dezinstalarea nu poate fi fcut + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=terg Fila Partajat? +ConfirmDeleteSharedFile2=Sistemul indic faptul c fila partajat urmtoare pare s nu mai fie folosit de vreun alt program. Vrei ca Dezinstalatorul s tearg aceast fil partajat?%n%nDac totui mai exist programe care folosesc fila i ea este tears, acele programe ar putea s funcioneze greit. Dac nu eti sigur, alege Nu. Lsarea filei n sistem nu va produce nici o neplcere. +SharedFileNameLabel=Nume Fil: +SharedFileLocationLabel=Loc: +WizardUninstalling=Starea Dezinstalrii +StatusUninstalling=Dezinstalez %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instalez %1. +ShutdownBlockReasonUninstallingApp=Dezinstalez %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versiunea %2 +AdditionalIcons=Icoane suplimentare: +CreateDesktopIcon=Creeaz o icoan pe &Birou ("Desktop") +CreateQuickLaunchIcon=Creeaz o icoan n Bara de &Lansare Rapid ("Quick Launch") +ProgramOnTheWeb=%1 pe internet +UninstallProgram=Dezinstaleaz %1 +LaunchProgram=Lanseaz %1 +AssocFileExtension=&Asociaz %1 cu extensia de file %2 +AssocingFileExtension=Asociez %1 cu extensia de file %2... +AutoStartProgramGroupDescription=Pornire: +AutoStartProgram=Pornete automat %1 +AddonHostProgramNotFound=%1 nu poate fi gsit n dosarul selectat.%n%nVrei s continui oricum? diff --git a/Greenshot/releases/innosetup/Languages/ScottishGaelic.isl b/Greenshot/releases/innosetup/Languages/ScottishGaelic.isl new file mode 100644 index 000000000..b2dc57dd7 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/ScottishGaelic.isl @@ -0,0 +1,360 @@ +; *** Inno Setup version 6.0.0+ Scottish Gaelic messages *** +; +; Translation by GunChleoc +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=G<00E0>idhlig +LanguageID=$0491 +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Stàladh +SetupWindowTitle=A’ stàladh %1 +UninstallAppTitle=Dì-stàladh +UninstallAppFullTitle=A’ dì-stàladh %1 + +; *** Misc. common +InformationTitle=Fiosrachadh +ConfirmTitle=Dearbhadh +ErrorTitle=Mearachd + +; *** SetupLdr messages +SetupLdrStartupMessage=Thèid %1 a stàladh a-nis. A bheil thu airson leantainn air adhart? +LdrCannotCreateTemp=Cha b’ urrainn dhuinn faidhle sealach a chruthachadh. Chaidh sgur dhen stàladh +LdrCannotExecTemp=Cha b’ urrainn dhuinn am faidhle a ruith sa phasgan shealach. Chaidh sgur dhen stàladh + +; *** Startup error messages +LastErrorMessage=%1.%n%nMearachd %2: %3 +SetupFileMissing=Tha am faidhle %1 a dhìth sa phasgan stàlaidh. Feuch an càraich thu an duilgheadas seo no faigh lethbhreac ùr dhen phrògram. +SetupFileCorrupt=Tha na faidhlichean stàlaidh coirbte. Feuch am faigh thu lethbhreac ùr dhen phrògram. +SetupFileCorruptOrWrongVer=Tha na faidhlichean stàlaidh coirbte no neo-chòrdail ris an tionndadh seo aig an stàladh. Feuch an càraich thu an duilgheadas seo no faigh lethbhreac ùr dhen phrògram. +InvalidParameter=Chaidh paramadair mì-dhligheach a shìneadh air an loidhne-àithne:%n%n%1 +SetupAlreadyRunning=Tha an stàladh ’ga ruith mu thràth. +WindowsVersionNotSupported=Cha chuir am prògram seo taic ris an tionndadh aig Windows a tha an coimpiutair agad a’ ruith. +WindowsServicePackRequired=Tha %1 pacaid seirbheise %2 no tionndadh nas ùire dhith a dhìth air a’ phrògram seo. +NotOnThisPlatform=Chan urrainn dhut am prògram seo a ruith fo %1. +OnlyOnThisPlatform=Feumaidh tu am prògram seo a ruith fo %1. +OnlyOnTheseArchitectures=Chan urrainn dhut am prògram seo a ruith ach air tionndaidhean Windows a chuireas taic ri ailtireachdan nam pròiseasar seo:%n%n%1 +WinVersionTooLowError=Tha feum air %1 tionndadh %2 no nas ùire airson a’ phrògraim seo. +WinVersionTooHighError=Cha ghabh am prògram seo a stàladh fo %1 tionndadh %2 no nas ùire. +AdminPrivilegesRequired=Feumaidh tu clàradh a-steach mar rianaire gus am prògram seo a stàladh. +PowerUserPrivilegesRequired=Feumaidh tu clàradh a-steach mar rianaire no mar bhall dhen bhuidheann Power Users gus am prògram seo a stàladh. +SetupAppRunningError=Mhothaich an stàladh gu bheil %1 ’ga ruith an-dràsta.%n%nDùin gach ionstans a tha a’ ruith an-dràsta is briog air “Ceart ma-thà” air neo briog air “Sguir dheth” gus an stàladh fhàgail. +UninstallAppRunningError=Mhothaich an dì-stàladh gu bheil %1 ’ga ruith an-dràsta.%n%nDùin gach ionstans a tha a’ ruith an-dràsta is briog air “Ceart ma-thà” air neo briog air “Sguir dheth” gus an dì-stàladh fhàgail. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=Suidhich modh an stàlaidh +PrivilegesRequiredOverrideInstruction=Tagh modh an stàlaidh +PrivilegesRequiredOverrideText1=Gabhaidh %1 a stàladh dha na h-uile cleachdaiche (bidh feum air pribhleidean rianaire) no dhut-sa a-mhàin. +PrivilegesRequiredOverrideText2=Gabhaidh %1 a stàladh dhut-sa a-mhàin no dha na h-uile cleachdaiche (bidh feum air pribhleidean rianaire). +PrivilegesRequiredOverrideAllUsers=Stàlaich dh&a na h-uile cleachdaiche +PrivilegesRequiredOverrideAllUsersRecommended=Stàlaich dh&a na h-uile cleachdaiche (mholamaid seo) +PrivilegesRequiredOverrideCurrentUser=Stàlaich dho&mh-sa a-mhàin +PrivilegesRequiredOverrideCurrentUserRecommended=Stàlaich dho&mh-sa a-mhàin (mholamaid seo) + +; *** Misc. errors +ErrorCreatingDir=Cha b’ urrainn dhan stàladh am pasgan "%1" a chruthachadh +ErrorTooManyFilesInDir=Tha faidhle ann nach b’ urrainn dhan stàladh cruthachadh sa phasgan “%1” on a tha cus fhaidhlichean ann + +; *** Setup common messages +ExitSetupTitle=Fàg an stàladh +ExitSetupMessage=Chan eil an stàladh coileanta fhathast. Ma sguireas tu dheth an-dràsta, cha dèid am prògram a stàladh.%n%n’S urrainn dhut an stàladh a dhèanamh a-rithist uaireigin eile gus a choileanadh.%n%nA bheil thu airson an stàladh fhàgail? +AboutSetupMenuItem=&Mun stàladh … +AboutSetupTitle=Mun stàladh +AboutSetupMessage=%1 Tionndadh %2%n%3%n%n%1 Duilleag-lìn:%n%4 +AboutSetupNote= +TranslatorNote=An t-eadar-theangachadh le GunChleoc (fios@foramnagaidhlig.net) + +; *** Buttons +ButtonBack=< Air ai&s +ButtonNext=Air adha&rt > +ButtonInstall=&Stàlaich +ButtonOK=Ceart ma-thà +ButtonCancel=Sguir dheth +ButtonYes=&Tha +ButtonYesToAll=Th&a dhan a h-uile +ButtonNo=&Chan eil +ButtonNoToAll=Cha&n eil dhan a h-uile +ButtonFinish=&Crìochnaich +ButtonBrowse=Rùrai&ch … +ButtonWizardBrowse=&Rùraich … +ButtonNewFolder=&Cruthaich pasgan ùr + +; *** "Select Language" dialog messages +SelectLanguageTitle=Tagh cànan an stàlaidh +SelectLanguageLabel=Tagh an cànan a chleachdas an t-inneal-stàlaidh seo. + +; *** Common wizard text +ClickNext=Briog air “Air adhart” gus leantainn air adhart no air “Sguir dheth” gus fàgail an-seo. +BeveledLabel= +BrowseDialogTitle=Lorg pasgan +BrowseDialogLabel=Tagh pasgan is briog air “Ceart ma-thà” an uairsin. +NewFolderName=Pasgan ùr + +; *** "Welcome" wizard page +WelcomeLabel1=Fàilte dhan draoidh stàlaidh aig [name] +WelcomeLabel2=Stàlaichidh an draoidh seo [name/ver] air a’ choimpiutair agad a-nis.%n%nBu chòir dhut crìoch a chur air a h-uile aplacaid eile mus lean thu air adhart leis an stàladh. + +; *** "Password" wizard page +WizardPassword=Facal-faire +PasswordLabel1=Tha an stàladh seo dìonta le facal-faire. +PasswordLabel3=Cuir a-steach am facal-faire is briog air “Air adhart” an uairsin. Thoir an aire air litrichean mòra is beaga. +PasswordEditLabel=&Facal-faire: +IncorrectPassword=Chan eil am facal-faire a chuir thu ann mar bu chòir. Am feuch thu ris a-rithist? + +; *** "License Agreement" wizard page +WizardLicense=Aonta ceadachais +LicenseLabel=An leugh thu am fiosrachadh cudromach seo mus lean thu air adhart? +LicenseLabel3=Feuch an leugh thu an t-aonta ceadachais seo. Feumaidh tu gabhail ri teirmichean an aonta mus fhaod thu leantainn air adhart. +LicenseAccepted=&Gabhaidh mi ris an aonta +LicenseNotAccepted=&Diùltaidh mi an t-aonta + +; *** "Information" wizard pages +WizardInfoBefore=Fiosrachadh +InfoBeforeLabel=An leugh thu am fiosrachadh cudromach seo mus lean thu air adhart? +InfoBeforeClickLabel=Nuair a bhios tu deiseil gus leantainn air adhart, briog air “Air adhart.” +WizardInfoAfter=Fiosrachadh +InfoAfterLabel=An leugh thu am fiosrachadh cudromach seo mus lean thu air adhart? +InfoAfterClickLabel=Nuair a bhios tu deiseil gus leantainn air adhart, briog air “Air adhart.” + +; *** "User Information" wizard page +WizardUserInfo=Fiosrachadh a’ chleachdaiche +UserInfoDesc=An cuir thu a-steach an dàta agad? +UserInfoName=&Ainm: +UserInfoOrg=&Eagrachas: +UserInfoSerial=Àireamh &shreathach: +UserInfoNameRequired=Feumaidh tu ainm a chur a-steach. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Tagh am pasgan-amais +SelectDirDesc=Càite an dèid [name] a stàladh? +SelectDirLabel3=Thèid [name] a stàladh sa phasgan seo. +SelectDirBrowseLabel=Briog air “Air adhart” gus leantainn air adhart. Briog air “Rùraich” ma tha thu airson pasgan eile a thaghadh. +DiskSpaceMBLabel=Bidh feum air co-dhiù [mb] MB de rùm sàbhalaidh saor. +CannotInstallToNetworkDrive=Cha ghabh seo stàladh air draibh lìonraidh. +CannotInstallToUNCPath=Cha ghabh seo stàladh air slighe UNC. +InvalidPath=Feumaidh tu slighe iomlan le litir draibh a thoirt seachad; m.e.:%n%nC:\Ball-eisimpleir%n%nno slighe UNC leis a' chruth:%n%n\\Frithealaiche\Co-roinneadh +InvalidDrive=Chan eil an draibh no an t-slighe UNC a thug thu seachad ann no chan urrainn dhuinn inntrigeadh. Feuch an tagh thu pasgan eile. +DiskSpaceWarningTitle=Chan eil rùm saor gu leòr ann +DiskSpaceWarning=Cha feum air co-dhiù %1 KB de rùm saor airson an stàlaidh, ach chan eil ach %2 KB ri làimh air an draibh a thagh thu.%n%nA bheil thu airson leantainn air adhart co-dhiù? +DirNameTooLong=Tha ainm a’ phasgain/na slighe ro fhada. +InvalidDirName=Chan eil ainm a’ phasgain dligheach. +BadDirName32=Chan fhaod na caractaran seo a bhith ann an ainm pasgain:%n%n%1 +DirExistsTitle=Tha am pasgan ann mu thràth +DirExists=Tha am pasgan:%n%n%1%n%nann mu thràth. A bheil thu airson a stàladh sa phasgan seo co-dhiù? +DirDoesntExistTitle=Chan eil am pasgan ann +DirDoesntExist=Chan eil am pasgan:%n%n%1%n%nann. A bheil thu airson a chruthachadh? + +; *** "Select Components" wizard page +WizardSelectComponents=Tagh co-phàirtean +SelectComponentsDesc=Dè na co-phàirtean a thèid a stàladh? +SelectComponentsLabel2=Tagh na co-phàirtean a tha thu airson stàladh. Briog air “Air adhart” nuair a bhios tu ullamh. +FullInstallation=Stàladh slàn +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Stàladh beag +CustomInstallation=Stàladh gnàthaichte +NoUninstallWarningTitle=Tha co-phàirtean ann +NoUninstallWarning=Mhothaich an stàladh gun deach na co-phàirtean seo a stàladh air a’ choimpiutair agad roimhe:%n%n%1%n%nCha dèid na co-phàirtean seo nach do thagh thu tuilleadh a thoirt air falbh on choimpiutair agad.%n%nA bheil thu airson leantainn air adhart co-dhiù? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Thèid co-dhiù [mb] MB de rùm a chleachdadh airson na thagh thu. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Saothraichean a bharrachd +SelectTasksDesc=Dè na saothraichean a bharrachd a thèid a ruith? +SelectTasksLabel2=Tagh na saothraichean a bharrachd a tha thu airson ruith leis an stàladh aig [name] is briog air “Air adhart” an uairsin. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Tagh pasgan ann an “Tòisich” +SelectStartMenuFolderDesc=Càite an cruthaich an stàladh na ceanglaichean dhan phrògram? +SelectStartMenuFolderLabel3=Cruthaichidh an stàladh na ceanglaichean dhan phrògram sa phasgan seo ann an “Tòisich.” +SelectStartMenuFolderBrowseLabel=Briog air “Air adhart” gus leantainn air adhart. Briog air “Rùraich” ma tha thu airson pasgan eile a thaghadh. +MustEnterGroupName=Feumaidh tu ainm pasgain a chur a-steach. +GroupNameTooLong=Tha ainm a’ phasgain/na slighe ro fhada. +InvalidGroupName=Chan eil ainm a’ phasgain dligheach. +BadGroupName=Chan fhaod na caractaran seo a bhith ann an ainm pasgain:%n%n%1 +NoProgramGroupCheck2=&Na cruthaich pasgan sam bith ann an “Tòisich.” + +; *** "Ready to Install" wizard page +WizardReady=Deiseil airson an stàlaidh +ReadyLabel1=Tha an draoidh stàlaidh deiseil gus [name] a stàladh air a’ choimpiutair agad. +ReadyLabel2a=Briog air “Stàlaich” gus tòiseachadh air an stàladh no air “Air ais” gus sùil a thoirt air na roghainnean no gus an atharrachadh. +ReadyLabel2b=Briog air “Stàlaich” gus tòiseachadh air an stàladh. +ReadyMemoUserInfo=Fiosrachadh a’ chleachdaiche: +ReadyMemoDir=Pasgan-amais: +ReadyMemoType=Seòrsa an stàlaidh: +ReadyMemoComponents=Co-phàirtean air an taghadh: +ReadyMemoGroup=Pasgan ann an “Tòisich”: +ReadyMemoTasks=Saothraichean a bharrachd: + +; *** "Preparing to Install" wizard page +WizardPreparing=Ag ullachadh an stàlaidh +PreparingDesc=Tha an stàladh aig [name] air a’ choimpiutair seo ’ga ullachadh. +PreviousInstallNotCompleted=Chaidh prògram eile a stàladh/a dhì-stàladh roimhe ’s cha deach sin a choileanadh. Feumaidh tu an coimpiutair ath-thòiseachadh gus crìoch a chur air an stàladh/dì-stàladh sin.%n%nAn dèidh dhut an coimpiutair agad ath-thòiseachadh, tòisich an stàladh a-rithist gus [name] a stàladh. +CannotContinue=Chan urrainn dhan stàladh leantainn air adhart. Feuch am briog thu air “Sguir dheth” gus fàgail an-seo. +ApplicationsFound=Tha na h-aplacaidean seo a’ cleachdadh faidhlichean a dh’fheumas an stàladh ùrachadh. Mholamaid gun ceadaich thu gun dùin an stàladh na h-aplacaidean sin gu fèin-obrachail. +ApplicationsFound2=Tha na h-aplacaidean seo a’ cleachdadh faidhlichean a dh’fheumas an stàladh ùrachadh. Mholamaid gun ceadaich thu gun dùin an stàladh na h-aplacaidean sin gu fèin-obrachail. Nuair a bhios an stàladh deiseil, feuchaidh sinn ris na h-aplacaidean sin ath-thòiseachadh. +CloseApplications=&Dùin na h-aplacaidean gu fèin-obrachail +DontCloseApplications=&Na dùin na h-aplacaidean +ErrorCloseApplications=Cha deach leis an stàladh a h-uile aplacaid a dhùnadh gu fèin-obrachail. Mus lean thu air adhart, mholamaid gun dùin thu a h-uile aplacaid a chleachdas faidhlichean a dh’fheumas an stàladh ùrachadh. + +; *** "Installing" wizard page +WizardInstalling=’Ga stàladh +InstallingLabel=Fuirich ort fhad ’s a tha [name] ’ga stàladh air a’ choimpiutair agad. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=A’ crìochnachadh an draoidh stàlaidh aig [name] +FinishedLabelNoIcons=Tha sinn deiseil a’ stàladh [name] air a’ choimpiutair agad. +FinishedLabel=Tha sinn deiseil a’ stàladh [name] air a’ choimpiutair agad. ’S urrainn dhut am prògram a thòiseachadh a-nis leis na ceanglaichean dhan phrògram a chaidh a stàladh. +ClickFinish=Briog air “Crìochnaich” gus crìoch a chur air an stàladh. +FinishedRestartLabel=Feumaidh sinn an coimpiutair ath-thòiseachadh gus an stàladh aig [name] a choileanadh. An dèan sinn seo dhut an-dràsta? +FinishedRestartMessage=Feumaidh sinn an coimpiutair ath-thòiseachadh gus an stàladh aig [name] a choileanadh.%n%nAn dèan sinn seo dhut an-dràsta? +ShowReadmeCheck=Tha mi airson am faidhle LEUGHMI a shealltainn +YesRadio=&Nì, ath-thòisichibh an coimpiutair dhomh an-dràsta +NoRadio=&Cha dèan, ath-thòisichidh mi fhìn an coimpiutair uaireigin eile +; used for example as 'Run MyProg.exe' +RunEntryExec=Cuir %1 gu dol +; used for example as 'View Readme.txt' +RunEntryShellExec=Seall %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Tha an t-ath-chlàr a dhìth aig an stàladh +SelectDiskLabel2=Cuir a-steach clàr %1 is briog air “Ceart ma-thà.”%n%nMur eil na faidhlichean on chlàir-shùbailte seo sa phasgan a tha ’ga shealltainn dhut, cuir a-steach an t-slighe cheart no briog air “Rùraich.” +PathLabel=&Slighe: +FileNotInDir2=Chan eil am faidhle “%1” an-seo: “%2.” Feuch an atharraich thu am pasgan no an cuir thu a-steach clàr-sùbailte eile. +SelectDirectoryLabel=Sònraich càite an dèid an t-ath-chlàr a chur a-steach. + +; *** Installation phase messages +SetupAborted=Cha b’ urrainn dhuinn an stàladh a choileanadh.%n%nFeuch an càraich thu an duilgheadas is tòisich air an stàladh a-rithist. +AbortRetryIgnoreSelectAction=Tagh gnìomh +AbortRetryIgnoreRetry=Feuch ris a-ri&thist +AbortRetryIgnoreIgnore=Le&ig seachad a’ mhearachd is lean air adhart +AbortRetryIgnoreCancel=Sguir dhen stàladh + +; *** Installation status messages +StatusClosingApplications=A’ dùnadh aplacaidean … +StatusCreateDirs=A’ cruthachadh pasganan … +StatusExtractFiles=A’ dì-dhùmhlachadh faidhlichean … +StatusCreateIcons=A’ cruthachadh ceanglaichean … +StatusCreateIniEntries=A’ cruthachadh innteartan INI … +StatusCreateRegistryEntries=A’ cruthachadh innteartan na clàr-lainn … +StatusRegisterFiles=A’ clàradh faidhlichean … +StatusSavingUninstall=A’ sàbhaladh fiosrachadh dì-stàlaidh … +StatusRunProgram=A’ crìochnachadh an stàlaidh … +StatusRestartingApplications=Ag ath-thòiseachadh nan aplacaidean … +StatusRollback=A’ neo-dhèanamh nan atharraichean … + +; *** Misc. errors +ErrorInternal2=Mearachd inntearnail: %1 +ErrorFunctionFailedNoCode=Dh’fhàillig le %1 +ErrorFunctionFailed=Dh’fhàillig le %1; còd %2 +ErrorFunctionFailedWithMessage=Dh’fhàillig le %1; còd %2.%n%3 +ErrorExecutingProgram=Cha ghabh am faidhle a ruith:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Cha b’ urrainn dhuinn iuchair na clàr-lainn fhosgladh:%n%1\%2 +ErrorRegCreateKey=Cha b’ urrainn dhuinn iuchair na clàr-lainn a chruthachadh:%n%1\%2 +ErrorRegWriteKey=Mearachd le sgrìobhadh iuchair na clàr-lainn:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Mearachd le cruthachadh innteart INI san fhaidhle “%1.” + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=&Geàrr leum thar an fhaidhle seo (cha mholamaid seo) +FileAbortRetryIgnoreIgnoreNotRecommended=Le&ig seachad a’ mhearachd is lean air adhart (cha mholamaid seo) +SourceIsCorrupted=Tha am faidhle tùsail coirbte +SourceDoesntExist=Chan eil am faidhle tùsail “%1” ann +ExistingFileReadOnly2=Cha b’ urrainn dhuinn am faidhle ùr a chur an àite an t-seann-fhir on a tha comharra ri leughadh a-mhàin ris. +ExistingFileReadOnlyRetry=Thoi&r air falbh an comharra gu bheil e ri leughadh a-mhàin ’s feuch ris a-rithist +ExistingFileReadOnlyKeepExisting=&Cùm am faidhle a tha ann mu thràth +ErrorReadingExistingDest=Mearachd leughaidh san fhaidhle: +FileExists=Tha am faidhle seo ann mu thràth.%n%nA bheil thu airson sgrìobhadh thairis air? +ExistingFileNewer=Tha am faidhle a tha ann mu thràth nas ùire na am faidhle a tha thu airson stàladh. Mholamaid gun cùm thu am faidhle a tha ann mu thràth.%n%n A bheil thu airson am faidhle a chumail a tha ann mu thràth? +ErrorChangingAttr=Thachair mearachd le atharrachadh nan gleusan aig an fhaidhle a tha ann mu thràth: +ErrorCreatingTemp=Thachair mearachd a’ feuchainn ri faidhle a chruthachadh sa phasgan-amais: +ErrorReadingSource=Thachair mearachd a’ feuchainn ris am faidhle tùsail a leughadh: +ErrorCopying=Thachair mearachd a’ feuchainn ri lethbhreac a dhèanamh de dh’fhaidhle: +ErrorReplacingExistingFile=Thachair mearachd le feuchainn ri cur an àite an fhaidhle a tha ann: +ErrorRestartReplace=Dh’fhàillig le ath-thòiseachadh/cur ’na àite: +ErrorRenamingTemp=Thachair mearachd a’ feuchainn ri ainm ùr a thoirt air faidhle sa phasgan-amais: +ErrorRegisterServer=Cha ghabh an DLL/OCX a chlàradh: %1 +ErrorRegSvr32Failed=Dh’fhàillig RegSvr32 le còd fàgail %1 +ErrorRegisterTypeLib=Cha ghabh leabhar-lann nan seòrsa a chlàradh: %1 + +; *** Uninstall display name markings +UninstallDisplayNameMark=%1 (%2) +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-biod +UninstallDisplayNameMark64Bit=64-biod +UninstallDisplayNameMarkAllUsers=Na h-uile cleachdaiche +UninstallDisplayNameMarkCurrentUser=An cleachdaiche làithreach + +; *** Post-installation errors +ErrorOpeningReadme=Mearachd le fosgladh an fhaidhle LEUGHMI. +ErrorRestartingComputer=Cha deach leis an stàladh an coimpiutair agad ath-thòiseachadh. An dèan thu an t-ath-thòiseachadh a làimh? + +; *** Uninstaller messages +UninstallNotFound=Chan eil am faidhle “%1” ann. Dh’fhàillig le dì-stàladh na h-aplacaid. +UninstallOpenError=Cha b’ urrainn dhuinn am faidhle “%1” fhosgladh. Dh’fhàillig le dì-stàladh na h-aplacaid +UninstallUnsupportedVer=Cha b’ urrainn dhuinn mothachadh dè am fòrmat a th’ air an fhaidhle dì-stàlaidh “%1.” Dh’fhàillig le dì-stàladh na h-aplacaid +UninstallUnknownEntry=Tha innteart neo-aithnichte (%1) san loga dì-stàlaidh +ConfirmUninstall=A bheil thu cinnteach bu bheil thu airson %1 is a h-uile co-phàirt aige a thoirt air falbh? +UninstallOnlyOnWin64=Chan urrainn dhuinn an stàladh seo a thoirt air falbh ach fo thionndaidhean Windows 64-biod. +OnlyAdminCanUninstall=Chan fhaod ach cleachdaiche le pribhleidean rianaire an stàladh seo a thoirt air falbh. +UninstallStatusLabel=Fuirich ort fhad ’s a tha %1 ’ga dhì-stàladh on choimpiutair agad. +UninstalledAll=Chaidh %1 a thoirt air falbh on choimpiutair agad. +UninstalledMost=Tha an dì-stàladh aig %1 deiseil.%n%nTha co-phàirtean ann nach b’ urrainn dhuinn toirt air falbh. ’S urrainn dhut fhèin an sguabadh às a làimh. +UninstalledAndNeedsRestart=Feumaidh sinn an coimpiutair agad ath-thòiseachadh gus an dì-stàladh aig %1 a choileanadh.%n%nAn dèan sinn seo dhut an-dràsta? +UninstallDataCorrupted=Tha am faidhle “%1” coirbte. Dh’fhàillig le dì-stàladh na h-aplacaid. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=A bheil thu airson am faidhle co-roinnte a sguabadh às? +ConfirmDeleteSharedFile2=Tha an siostam ag innse nach dèid am faidhle co-roinnte seo a chleachdadh le prògram sam bith eile. A bheil thu airson ’s gun sguab sinn às dha?%nMa tha prògraman eile ann a chleachdas am faidhle seo fhathast is ma thèid a thoirt air falbh, dh’fhaoidte nach obraich na prògraman ud mar bu chòir tuilleadh. Ma tha thu mì-chinnteach, tagh “Chan eil” gus am faidhle fhàgail san t-siostam. Cha dèan e cron dhan t-siostam agad ma chumas tu am faidhle seo air. +SharedFileNameLabel=Ainm an fhaidhle: +SharedFileLocationLabel=Pasgan: +WizardUninstalling=Staid an dì-stàlaidh +StatusUninstalling=A’ dì-stàladh %1 ... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=A’ stàladh %1. +ShutdownBlockReasonUninstallingApp=A’ dì-stàladh %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 tionndadh %2 +AdditionalIcons=Ìomhaigheagan a bharrachd: +CreateDesktopIcon=Cruthaich ìomhaigheag air an &deasg +CreateQuickLaunchIcon=Cruthaich ìomhaigheag &grad-thòiseachaidh +ProgramOnTheWeb=%1 air an eadar-lìon +UninstallProgram=Dì-stàlaich %1 +LaunchProgram=Cuir %1 gu dol +AssocFileExtension=&Clàraich %1 leis an leudachan fhaidhle %2 +AssocingFileExtension=A’ clàradh %1 leis an leudachan fhaidhle %2 ... +AutoStartProgramGroupDescription=Tòiseachadh: +AutoStartProgram=Tòisich %1 gu fèin-obrachail +AddonHostProgramNotFound=Cha deach %1 a lorg sa phasgan a thagh thu.%n%nA bheil thu airson leantainn air adhart co-dhiù? diff --git a/Greenshot/releases/innosetup/Languages/SerbianCyrillic.isl b/Greenshot/releases/innosetup/Languages/SerbianCyrillic.isl new file mode 100644 index 000000000..0ea72f5e0 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/SerbianCyrillic.isl @@ -0,0 +1,338 @@ +; *** Inno Setup version 5.5.3+ Serbian (Cyrillic) messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Translated by Rancher (theranchcowboy@gmail.com). +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=<0421><0440><043F><0441><043A><0438> +LanguageID=$0C1A +LanguageCodePage=1251 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle= +SetupWindowTitle= %1 +UninstallAppTitle= +UninstallAppFullTitle= %1 + +; *** Misc. common +InformationTitle= +ConfirmTitle= +ErrorTitle= + +; *** SetupLdr messages +SetupLdrStartupMessage= %1. ? +LdrCannotCreateTemp= . . +LdrCannotExecTemp= . . + +; *** Startup error messages +LastErrorMessage=%1.%n%n %2: %3 +SetupFileMissing= %1 . . +SetupFileCorrupt= . . +SetupFileCorruptOrWrongVer= . . +InvalidParameter= : %n%n%1 +SetupAlreadyRunning= . +WindowsVersionNotSupported= . +WindowsServicePackRequired= %1 %2 . +NotOnThisPlatform= %1. +OnlyOnThisPlatform= %1. +OnlyOnTheseArchitectures= :%n%n%1 +MissingWOW64APIs= 64- . %1 . +WinVersionTooLowError= %1, %2 . +WinVersionTooHighError= %1 %2 . +AdminPrivilegesRequired= . +PowerUserPrivilegesRequired= . +SetupAppRunningError= %1 .%n%n . +UninstallAppRunningError= %1 .%n%n . + +; *** Misc. errors +ErrorCreatingDir= %1. +ErrorTooManyFilesInDir= %1 . + +; *** Setup common messages +ExitSetupTitle= +ExitSetupMessage= . , .%n%n .%n%n ? +AboutSetupMenuItem=& +AboutSetupTitle= +AboutSetupMessage=%1 %2%n%3%n%n%1 :%n%4 +AboutSetupNote= +TranslatorNote=Serbian translation by Rancher. + +; *** Buttons +ButtonBack=< & +ButtonNext=& > +ButtonInstall=& +ButtonOK=& +ButtonCancel=& +ButtonYes=& +ButtonYesToAll=& +ButtonNo=& +ButtonNoToAll=& +ButtonFinish=& +ButtonBrowse=& +ButtonWizardBrowse=& +ButtonNewFolder=& + +; *** "Select Language" dialog messages +SelectLanguageTitle= +SelectLanguageLabel= : + +; *** Common wizard text +ClickNext= . +BeveledLabel= +BrowseDialogTitle= +BrowseDialogLabel= . +NewFolderName= + +; *** "Welcome" wizard page +WelcomeLabel1= [name] +WelcomeLabel2= [name/ver] .%n%n , . + +; *** "Password" wizard page +WizardPassword= +PasswordLabel1= . +PasswordLabel3= . . +PasswordEditLabel=&: +IncorrectPassword= . . + +; *** "License Agreement" wizard +WizardLicense= +LicenseLabel= . +LicenseLabel3= . . +LicenseAccepted=& +LicenseNotAccepted=& + +; *** "Information" wizard pages +WizardInfoBefore= +InfoBeforeLabel= . +InfoBeforeClickLabel= , . +WizardInfoAfter= +InfoAfterLabel= . +InfoAfterClickLabel= , . + +; *** "User Information" wizard page +WizardUserInfo= +UserInfoDesc= . +UserInfoName=&: +UserInfoOrg=&: +UserInfoSerial=& : +UserInfoNameRequired= . + +; *** "Select Destination Location" wizard page +WizardSelectDir= +SelectDirDesc= [name]. +SelectDirLabel3= [name] . +SelectDirBrowseLabel= . , 腓. +DiskSpaceMBLabel= [mb] MB . +CannotInstallToNetworkDrive= . +CannotInstallToUNCPath= UNC . +InvalidPath= (.%n%nC:\APP%n%n %n%n\\server\shre) +InvalidDrive= . . +DiskSpaceWarningTitle= +DiskSpaceWarning= %1 kB , %2 kB.%n%n ? +DirNameTooLong= . +InvalidDirName= . +BadDirName32= :%n%n%1 +DirExistsTitle= +DirExists=:%n%n%1%n%n . ? +DirDoesntExistTitle= +DirDoesntExist=:%n%n%1%n%n . ? + +; *** "Select Components" wizard page +WizardSelectComponents= +SelectComponentsDesc= ? +SelectComponentsLabel2= , . . +FullInstallation= +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation= +CustomInstallation= +NoUninstallWarningTitle= +NoUninstallWarning= :%n%n%1%n%n .%n%n ? +ComponentSize1=%1 kB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel= [mb] MB . + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks= +SelectTasksDesc= . +SelectTasksLabel2= [name] . + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup= +SelectStartMenuFolderDesc= . +SelectStartMenuFolderLabel3= . +SelectStartMenuFolderBrowseLabel= . , 腓. +MustEnterGroupName= . +GroupNameTooLong= . +InvalidGroupName= . +BadGroupName= :%n%n%1 +NoProgramGroupCheck2=& + +; *** "Ready to Install" wizard page +WizardReady= +ReadyLabel1= [name] . +ReadyLabel2a= ༓ . +ReadyLabel2b= ༓ . +ReadyMemoUserInfo= : +ReadyMemoDir= : +ReadyMemoType= : +ReadyMemoComponents= : +ReadyMemoGroup= : +ReadyMemoTasks= : + +; *** "Preparing to Install" wizard page +WizardPreparing= +PreparingDesc= [name] . +PreviousInstallNotCompleted= . .%n%n , [name]. +CannotContinue= . . +ApplicationsFound= . . +ApplicationsFound2= . . , . +CloseApplications=& +DontCloseApplications=& +ErrorCloseApplications= . , . + +; *** "Installing" wizard page +WizardInstalling= +InstallingLabel= [name] . + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] +FinishedLabelNoIcons= [name] . +FinishedLabel= [name] . . +ClickFinish= . +FinishedRestartLabel= . ? +FinishedRestartMessage= .%n%n ? +ShowReadmeCheck=, +YesRadio=&, +NoRadio=&, +; used for example as 'Run MyProg.exe' +RunEntryExec=& %1 +; used for example as 'View Readme.txt' +RunEntryShellExec= %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle= +SelectDiskLabel2= %1 .%n%n , 腓. +PathLabel=&: +FileNotInDir2= %1 %2. . +SelectDirectoryLabel= . + +; *** Installation phase messages +SetupAborted= .%n%n . +EntryAbortRetryIgnore= , . + +; *** Installation status messages +StatusClosingApplications= +StatusCreateDirs= +StatusExtractFiles= +StatusCreateIcons= +StatusCreateIniEntries= INI +StatusCreateRegistryEntries= +StatusRegisterFiles= +StatusSavingUninstall= +StatusRunProgram= +StatusRestartingApplications= +StatusRollback= + +; *** Misc. errors +ErrorInternal2= : %1 +ErrorFunctionFailedNoCode=%1 +ErrorFunctionFailed=%1 ; %2 +ErrorFunctionFailedWithMessage=%1 ; %2.%n%3 +ErrorExecutingProgram= :%n%1 + +; *** Registry errors +ErrorRegOpenKey= :%n%1\%2 +ErrorRegCreateKey= :%n%1\%2 +ErrorRegWriteKey= :%n%1\%2 + +; *** INI errors +ErrorIniEntry= INI %1. + +; *** File copying errors +FileAbortRetryIgnore= , ( ) . +FileAbortRetryIgnore2= , ( ) . +SourceIsCorrupted= +SourceDoesntExist= %1 +ExistingFileReadOnly= .%n%n , . +ErrorReadingExistingDest= : +FileExists= .%n%n ? +ExistingFileNewer= . .%n%n ? +ErrorChangingAttr= : +ErrorCreatingTemp= : +ErrorReadingSource= : +ErrorCopying= : +ErrorReplacingExistingFile= : +ErrorRestartReplace= : +ErrorRenamingTemp= : +ErrorRegisterServer= DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 . %1 +ErrorRegisterTypeLib= : %1 + +; *** Post-installation errors +ErrorOpeningReadme= . +ErrorRestartingComputer= . . + +; *** Uninstaller messages +UninstallNotFound= %1 . . +UninstallOpenError= %1 . . +UninstallUnsupportedVer= %1 . . +UninstallUnknownEntry= (%1) . +ConfirmUninstall= %1 ? +UninstallOnlyOnWin64= 64- . +OnlyAdminCanUninstall= . +UninstallStatusLabel= %1 . +UninstalledAll=%1 . +UninstalledMost=%1 .%n%n . +UninstalledAndNeedsRestart= .%n%n ? +UninstallDataCorrupted= %1 . . + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle= +ConfirmDeleteSharedFile2= . ?%n%n , . , . . +SharedFileNameLabel= : +SharedFileLocationLabel=: +WizardUninstalling= +StatusUninstalling= %1 + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp= %1. +ShutdownBlockReasonUninstallingApp= %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 %2 +AdditionalIcons= : +CreateDesktopIcon=& +CreateQuickLaunchIcon=& +ProgramOnTheWeb=%1 +UninstallProgram= %1 +LaunchProgram= %1 +AssocFileExtension=& %1 %2 +AssocingFileExtension= %1 %2 +AutoStartProgramGroupDescription=: +AutoStartProgram= %1 +AddonHostProgramNotFound=%1 .%n%n ? diff --git a/Greenshot/releases/innosetup/Languages/SerbianLatin.isl b/Greenshot/releases/innosetup/Languages/SerbianLatin.isl new file mode 100644 index 000000000..4c28549d7 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/SerbianLatin.isl @@ -0,0 +1,338 @@ +; *** Inno Setup version 5.5.3+ Serbian (Latin) messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Translated by Rancher (theranchcowboy@gmail.com). +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Srpski +LanguageID=$081a +LanguageCodePage=1250 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Instalacija +SetupWindowTitle=Instalacija %1 +UninstallAppTitle=Deinstalacija +UninstallAppFullTitle=Deinstalacija programa %1 + +; *** Misc. common +InformationTitle=Podaci +ConfirmTitle=Potvrda +ErrorTitle=Greka + +; *** SetupLdr messages +SetupLdrStartupMessage=Instaliraete %1. elite li da nastavite? +LdrCannotCreateTemp=Ne mogu da napravim privremenu datoteku. Instalacija je prekinuta. +LdrCannotExecTemp=Ne mogu da pokrenem datoteku u privremenoj fascikli. Instalacija je prekinuta. + +; *** Startup error messages +LastErrorMessage=%1.%n%nGreka %2: %3 +SetupFileMissing=Datoteka %1 nedostaje u instalacionoj fascikli. Ispravite problem ili nabavite novi primerak programa. +SetupFileCorrupt=Instalacione datoteke su oteene. Nabavite novi primerak programa. +SetupFileCorruptOrWrongVer=Instalacione datoteke su oteene ili nisu saglasne s ovom verzijom instalacije. Ispravite problem ili nabavite novi primerak programa. +InvalidParameter=Neispravan parametar je prenet na komandnu liniju: %n%n%1 +SetupAlreadyRunning=Instalacija je ve pokrenuta. +WindowsVersionNotSupported=Program ne podrava izdanje vindousa koje koristite. +WindowsServicePackRequired=Program zahteva %1 servisni paket %2 ili noviji. +NotOnThisPlatform=Program nee raditi na %1. +OnlyOnThisPlatform=Program e raditi na %1. +OnlyOnTheseArchitectures=Program se moe instalirati samo na izdanjima vindousa koji rade na sledeim arhitekturama procesora:%n%n%1 +MissingWOW64APIs=Izdanje vindousa koje koristite ne sadri funkcionalnost potrebnu za izvravanje 64-bitnih instalacija. Instalirajte servisni paket %1 da biste reili ovaj problem. +WinVersionTooLowError=Program zahteva %1, izdanje %2 ili novije. +WinVersionTooHighError=Program ne moete instalirati na %1 izdanju %2 ili novijem. +AdminPrivilegesRequired=Morate biti prijavljeni kao administrator da biste instalirali program. +PowerUserPrivilegesRequired=Morate biti prijavljeni kao administrator ili ovlaeni korisnik da biste instalirali program. +SetupAppRunningError=Program %1 je trenutno pokrenut.%n%nZatvorite ga i kliknite na dugme U redu da nastavite ili Otkai da napustite instalaciju. +UninstallAppRunningError=Program %1 je trenutno pokrenut.%n%nZatvorite ga i kliknite na dugme U redu da nastavite ili Otkai da napustite instalaciju. + +; *** Misc. errors +ErrorCreatingDir=Ne mogu da napravim fasciklu %1. +ErrorTooManyFilesInDir=Ne mogu da napravim datoteku u fascikli %1 jer sadri previe datoteka. + +; *** Setup common messages +ExitSetupTitle=Naputanje instalacije +ExitSetupMessage=Instalacija nije zavrena. Ako sada izaete, program nee biti instaliran.%n%nInstalaciju moete pokrenuti i dovriti nekom dugom prilikom.%n%nelite li da je zatvorite? +AboutSetupMenuItem=&O programu +AboutSetupTitle=Podaci o programu +AboutSetupMessage=%1 verzija %2%n%3%n%n%1 matina stranica:%n%4 +AboutSetupNote= +TranslatorNote=Serbian translation by Rancher. + +; *** Buttons +ButtonBack=< &Nazad +ButtonNext=&Dalje > +ButtonInstall=&Instaliraj +ButtonOK=&U redu +ButtonCancel=&Otkai +ButtonYes=&Da +ButtonYesToAll=D&a za sve +ButtonNo=&Ne +ButtonNoToAll=N&e za sve +ButtonFinish=&Zavri +ButtonBrowse=&Potrai +ButtonWizardBrowse=&Potrai +ButtonNewFolder=&Napravi fasciklu + +; *** "Select Language" dialog messages +SelectLanguageTitle=Odabir jezika +SelectLanguageLabel=Izaberite jezik tokom instalacije: + +; *** Common wizard text +ClickNext=Kliknite na Dalje da nastavite ili Otkai da napustite instalaciju. +BeveledLabel= +BrowseDialogTitle=Odabir fascikle +BrowseDialogLabel=Izaberite fasciklu sa spiska i kliknite na U redu. +NewFolderName=Nova fascikla + +; *** "Welcome" wizard page +WelcomeLabel1=Dobro doli na instalaciju programa [name] +WelcomeLabel2=Instaliraete [name/ver] na raunar.%n%nPre nego to nastavite, preporuujemo vam da zatvorite sve druge programe. + +; *** "Password" wizard page +WizardPassword=Lozinka +PasswordLabel1=Instalacija je zatiena lozinkom. +PasswordLabel3=Unesite lozinku i kliknite na Dalje da nastavite. Imajte na umu da je lozinka osetljiva na mala i velika slova. +PasswordEditLabel=&Lozinka: +IncorrectPassword=Navedena lozinka nije ispravna. Pokuajte ponovo. + +; *** "License Agreement" wizard +WizardLicense=Ugovor o licenci +LicenseLabel=Paljivo proitajte sledee pre nego to nastavite. +LicenseLabel3=Proitajte Ugovor o licenci koji se nalazi ispod. Morate prihvatiti uslove ovog ugovora pre nego to nastavite. +LicenseAccepted=&Prihvatam ugovor +LicenseNotAccepted=&Ne prihvatam ugovor + +; *** "Information" wizard pages +WizardInfoBefore=Informacije +InfoBeforeLabel=Paljivo proitajte sledee pre nego to nastavite. +InfoBeforeClickLabel=Kada budete spremni da nastavite instalaciju, kliknite na Dalje. +WizardInfoAfter=Informacije +InfoAfterLabel=Paljivo proitajte sledee pre nego to nastavite. +InfoAfterClickLabel=Kada budete spremni da nastavite instalaciju, kliknite na Dalje. + +; *** "User Information" wizard page +WizardUserInfo=Korisniki podaci +UserInfoDesc=Unesite svoje podatke. +UserInfoName=&Korisnik: +UserInfoOrg=&Organizacija: +UserInfoSerial=&Serijski broj: +UserInfoNameRequired=Morate navesti ime. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Odabir odredine fascikle +SelectDirDesc=Izaberite mesto na kom elite da instalirate [name]. +SelectDirLabel3=Program e instalirati [name] u sledeu fasciklu. +SelectDirBrowseLabel=Kliknite na Dalje da nastavite. Ako elite da izaberete drugu fasciklu, kliknite na Potrai. +DiskSpaceMBLabel=Potrebno je najmanje [mb] MB slobodnog prostora na disku. +CannotInstallToNetworkDrive=Ne mogu da instaliram na mrenu jedinicu. +CannotInstallToUNCPath=Ne mogu da instaliram na UNC putanju. +InvalidPath=Morate navesti punu putanju s obelejem diska (npr.%n%nC:\APP%n%nili putanja u obliku%n%n\\server\share) +InvalidDrive=Disk koji ste izabrali ne postoji ili nije dostupan. Izaberite neki drugi. +DiskSpaceWarningTitle=Nedovoljno prostora na disku +DiskSpaceWarning=Program zahteva najmanje %1 kB slobodnog prostora, a izabrani disk na raspolaganju ima samo %2 kB.%n%nelite li ipak da nastavite? +DirNameTooLong=Naziv fascikle ili putanja je predugaka. +InvalidDirName=Naziv fascikle nije ispravan. +BadDirName32=Naziv fascikle ne sme sadrati nita od sledeeg:%n%n%1 +DirExistsTitle=Fascikla ve postoji +DirExists=Fascikla:%n%n%1%n%nve postoji. elite li ipak da instalirate program u nju? +DirDoesntExistTitle=Fascikla ne postoji +DirDoesntExist=Fascikla:%n%n%1%n%nne postoji. elite li da je napravite? + +; *** "Select Components" wizard page +WizardSelectComponents=Odabir komponenata +SelectComponentsDesc=Koje komponente elite da instalirate? +SelectComponentsLabel2=Izaberite komponente koje elite da instalirate, a oistite one koje ne elite. Kliknite na Dalje da nastavite. +FullInstallation=Puna instalacija +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Podrazumevana instalacija +CustomInstallation=Prilagoena instalacija +NoUninstallWarningTitle=Komponente ve postoje +NoUninstallWarning=Sledee komponente ve postoje na raunaru:%n%n%1%n%nDetrikliranje ovih komponenti ih nee ukloniti.%n%nelite li da nastavite? +ComponentSize1=%1 kB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Izabrane stavke zahtevaju najmanje [mb] MB slobodnog prostora. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Odabir dodatnih zadataka +SelectTasksDesc=Izaberite neke dodatne zadatke. +SelectTasksLabel2=Izaberite dodatne zadatke koje elite da izvrite pri instaliranju programa [name] i kliknite na Dalje. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Odabir fascikle u meniju Start +SelectStartMenuFolderDesc=Izaberite mesto na kom elite da postavite preice. +SelectStartMenuFolderLabel3=Instalacija e postaviti preice programa u sledeoj fascikli u meniju Start. +SelectStartMenuFolderBrowseLabel=Kliknite na Dalje da nastavite. Ako elite da izaberete drugu fasciklu, kliknite na Potrai. +MustEnterGroupName=Morate navesti naziv fascikle. +GroupNameTooLong=Naziv fascikle ili putanja je predugaka. +InvalidGroupName=Naziv fascikle nije ispravan. +BadGroupName=Naziv fascikle ne sme sadrati nita od sledeeg:%n%n%1 +NoProgramGroupCheck2=N&e pravi fasciklu u meniju Start + +; *** "Ready to Install" wizard page +WizardReady=Instalacija je spremna +ReadyLabel1=Program je spreman da instalira [name] na raunar. +ReadyLabel2a=Kliknite na Instaliraj da zaponete instalaciju ili Nazad da ponovo pregledate i promenite pojedine postavke. +ReadyLabel2b=Kliknite na Instaliraj da zaponete instalaciju. +ReadyMemoUserInfo=Korisniki podaci: +ReadyMemoDir=Odredina fascikla: +ReadyMemoType=Vrsta instalacije: +ReadyMemoComponents=Izabrane komponente: +ReadyMemoGroup=Fascikla u meniju Start: +ReadyMemoTasks=Dodatni zadaci: + +; *** "Preparing to Install" wizard page +WizardPreparing=Priprema za instalaciju +PreparingDesc=Program se priprema da instalira [name] na raunar. +PreviousInstallNotCompleted=Instalacija ili deinstalacija prethodnog programa nije zavrena. Potrebno je da ponovo pokrenete raunar da bi se instalacija zavrila.%n%nNakon ponovnog pokretanja, otvorite instalaciju i instalirajte program [name]. +CannotContinue=Ne mogu da nastavim instalaciju. Kliknite na Otkai da izaete. +ApplicationsFound=Sledei programi koriste datoteke koje treba da aurira instalacioni program. Preporuujemo vam da dozvolite instalacionom programu da zatvori ove programe. +ApplicationsFound2=Sledei programi koriste datoteke koje treba da aurira instalacioni program. Preporuujemo vam da dozvolite instalacionom programu da zatvori ove programe. Nakon to se instalacija zavri, instalacioni program e pokuati da ponovo pokrene zatvorene programe. +CloseApplications=&Zatvori programe +DontCloseApplications=&Ne zatvaraj programe +ErrorCloseApplications=Ne mogu da zatvorim sve programe. Pre nego to nastavite, preporuujemo vam da zatvorite sve programe koji koriste datoteke koje treba da aurira instalacioni program. + +; *** "Installing" wizard page +WizardInstalling=Instaliranje +InstallingLabel=Saekajte da se [name] instalira na raunar. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] zavretak instalacije +FinishedLabelNoIcons=Instaliranje programa [name] je zavreno. +FinishedLabel=Instaliranje programa [name] je zavreno. Moete ga pokrenuti preko postavljenih ikona. +ClickFinish=Kliknite na Zavri da izaete. +FinishedRestartLabel=Potrebno je ponovno pokretanje raunara da bi se instalacija zavrila. elite li da ga ponovo pokrenete? +FinishedRestartMessage=Potrebno je ponovno pokretanje raunara da bi se instalacija zavrila.%n%nelite li da ga ponovo pokrenete? +ShowReadmeCheck=Da, elim da pogledam tekstualnu datoteku +YesRadio=&Da, ponovo pokreni raunar +NoRadio=&Ne, kasnije u ga pokrenuti +; used for example as 'Run MyProg.exe' +RunEntryExec=&Pokreni %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Pogledaj %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Sledei disk +SelectDiskLabel2=Ubacite disk %1 i kliknite na U redu.%n%nAko se datoteke na ovom disku mogu pronai u nekoj drugoj fascikli, unesite odgovarajuu putanju ili kliknite na Potrai. +PathLabel=&Putanja: +FileNotInDir2=Datoteka %1 se ne nalazi u %2. Ubacite pravi disk ili izaberite drugu fasciklu. +SelectDirectoryLabel=Izaberite mesto sledeeg diska. + +; *** Installation phase messages +SetupAborted=Instalacija nije zavrena.%n%nIspravite problem i pokrenite je ponovo. +EntryAbortRetryIgnore=Kliknite na Pokuaj opet da ponovite radnju, Zanemari da nastavite u svakom sluaju ili Prekini da obustavite instalaciju. + +; *** Installation status messages +StatusClosingApplications=Zatvaram programe +StatusCreateDirs=Pravim fascikle +StatusExtractFiles=Raspakujem datoteke +StatusCreateIcons=Postavljam preice +StatusCreateIniEntries=Postavljam INI unose +StatusCreateRegistryEntries=Postavljam unose u registar +StatusRegisterFiles=Upisujem datoteke +StatusSavingUninstall=uvam podatke o deinstalaciji +StatusRunProgram=Zavravam instalaciju +StatusRestartingApplications=Ponovo pokreem programe +StatusRollback=Ponitavam izmene + +; *** Misc. errors +ErrorInternal2=Unutranja greka: %1 +ErrorFunctionFailedNoCode=%1 neuspeh +ErrorFunctionFailed=%1 neuspeh; kod %2 +ErrorFunctionFailedWithMessage=%1 neuspeh; kod %2.%n%3 +ErrorExecutingProgram=Ne mogu da pokrenem datoteku:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Greka pri otvaranju unosa u registru:%n%1\%2 +ErrorRegCreateKey=Greka pri stvaranju unosa u registru:%n%1\%2 +ErrorRegWriteKey=Greka pri upisivanju unosa u registar:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Greka pri stvaranju INI unosa u datoteci %1. + +; *** File copying errors +FileAbortRetryIgnore=Kliknite na Pokuaj opet da ponovite radnju, Zanemari da preskoite datoteku (ne preporuuje se) ili Prekini da obustavite instalaciju. +FileAbortRetryIgnore2=Kliknite na Pokuaj opet da ponovite radnju, Zanemari da nastavite u svakom sluaju (ne preporuuje se) ili Prekini da obustavite instalaciju. +SourceIsCorrupted=Izvorna datoteka je oteena +SourceDoesntExist=Izvorna datoteka %1 ne postoji +ExistingFileReadOnly=Postojea datoteka je samo za itanje.%n%nKliknite na Pokuaj opet da uklonite osobinu samo za itanje i ponovite radnju, Zanemari da preskoite datoteku ili Prekini da obustavite instalaciju. +ErrorReadingExistingDest=Dolo je do greke pri pokuaju itanja postojee datoteke: +FileExists=Datoteka ve postoji.%n%nelite li da je zamenite? +ExistingFileNewer=Postojea datoteka je novija od one koju treba postaviti. Preporuujemo vam da zadrite postojeu datoteku.%n%nelite li to da uradite? +ErrorChangingAttr=Dolo je do greke pri izmeni osobine sledee datoteke: +ErrorCreatingTemp=Dolo je do greke pri stvaranju datoteke u odredinoj fascikli: +ErrorReadingSource=Dolo je do greke pri itanju izvorne datoteke: +ErrorCopying=Dolo je do greke pri umnoavanju datoteke: +ErrorReplacingExistingFile=Dolo je do greke pri zameni postojee datoteke: +ErrorRestartReplace=Ne mogu da zamenim: +ErrorRenamingTemp=Dolo je do greke pri preimenovanju datoteke u odredinoj fascikli: +ErrorRegisterServer=Ne mogu da upiem DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 nije uspeo. Greka %1 +ErrorRegisterTypeLib=Ne mogu da upiem biblioteku tipova: %1 + +; *** Post-installation errors +ErrorOpeningReadme=Dolo je do greke pri otvaranju tekstualne datoteke. +ErrorRestartingComputer=Ne mogu ponovo da pokrenem raunar. Uradite to sami. + +; *** Uninstaller messages +UninstallNotFound=Datoteka %1 ne postoji. Ne mogu da deinstaliram program. +UninstallOpenError=Datoteka %1 ne moe da se otvori. Ne mogu da deinstaliram program. +UninstallUnsupportedVer=Izvetaj %1 je u neprepoznatljivom formatu. Ne mogu da deinstaliram program. +UninstallUnknownEntry=Nepoznat unos (%1) se pojavio u izvetaju deinstalacije. +ConfirmUninstall=elite li da deinstalirate %1 i sve njegove komponente? +UninstallOnlyOnWin64=Program se moe deinstalirati samo na 64-bitnom vindousu. +OnlyAdminCanUninstall=Program moe deinstalirati samo korisnik s administratorskim pravima. +UninstallStatusLabel=Saekajte da se %1 deinstalira sa raunara. +UninstalledAll=%1 je deinstaliran sa raunara. +UninstalledMost=%1 je deinstaliran.%n%nNeke komponente ipak morati sami obrisati. +UninstalledAndNeedsRestart=Potrebno je ponovno pokretanje raunara da bi se instalacija zavrila.%n%nelite li da ponovo pokrenete raunar? +UninstallDataCorrupted=Datoteka %1 je oteena. Ne mogu da deinstaliram program. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Brisanje deljene datoteke +ConfirmDeleteSharedFile2=Sistem je prijavio da sledeu deljenu datoteku vie ne koristi nijedan program. elite li da je uklonite?%n%nAko nekim programima i dalje treba ova datoteka a ona je obrisana, ti programi moda nee ispravno raditi. Ako niste sigurni ta da radite, kliknite na Ne. Ostavljanje datoteke na disku nee prouzrokovati nikakvu tetu. +SharedFileNameLabel=Naziv datoteke: +SharedFileLocationLabel=Putanja: +WizardUninstalling=Stanje deinstalacije +StatusUninstalling=Deinstaliram %1 + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Instaliram %1. +ShutdownBlockReasonUninstallingApp=Deinstaliram %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 verzija %2 +AdditionalIcons=Dodatne ikone: +CreateDesktopIcon=&Postavi ikonu na radnu povrinu +CreateQuickLaunchIcon=P&ostavi ikonu na traku za brzo pokretanje +ProgramOnTheWeb=%1 na internetu +UninstallProgram=Deinstaliraj %1 +LaunchProgram=Pokreni %1 +AssocFileExtension=&Povei %1 sa formatom %2 +AssocingFileExtension=Povezujem %1 sa formatom %2 +AutoStartProgramGroupDescription=Pokretanje: +AutoStartProgram=Automatski pokreni %1 +AddonHostProgramNotFound=%1 se ne nalazi u navedenoj fascikli.%n%nelite li ipak da nastavite? \ No newline at end of file diff --git a/Greenshot/releases/innosetup/Languages/Sinhala.islu b/Greenshot/releases/innosetup/Languages/Sinhala.islu new file mode 100644 index 000000000..50d94e5d6 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Sinhala.islu @@ -0,0 +1,331 @@ +; *** Inno Setup version 5.5.3+ Sinhala messages *** +; +; Sinhala translation by Asanka Sovis +; E-mail: akashsovis@gmail.com +; Translation home page: +; Last modification date: 2019-01-18 +; +[LangOptions] +LanguageName=සිංහල +LanguageID=$045B +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=සංරක්ෂක +SetupWindowTitle=%1 - සංරක්ෂක +UninstallAppTitle=ඉවත් කරන්න +UninstallAppFullTitle=%1 ඉවත් කරන්න + +; *** Misc. common +InformationTitle=තොරතුරු +ConfirmTitle=ස්ථාවර +ErrorTitle=දෝෂය + +; *** SetupLdr messages +SetupLdrStartupMessage=මෙය %1 පිහිටුවාවි. ඉදිරියට යාමට කැමතිද? +LdrCannotCreateTemp=තාවකාලික ගොනුවක් පිහිටුවිය නොහැක. පිහිටුවීම අත්හැරිණි +LdrCannotExecTemp=තාවකාලික නාමාවලියේ ගොනුව ආරම්භ කළ නොහැක. පිහිටුවීම අත්හැරිණි + +; *** Startup error messages +LastErrorMessage=%1.%n%nදෝෂය %2: %3 +SetupFileMissing=%1 ගොනුව පිහිටුවීමේ නාමාවලියේ නොමැත. කරුණාකර දෝෂය නිවැරදි කරන්න, නැතහොත් මෘදුකාංගයේ නව පිටපතක් ගන්න. +SetupFileCorrupt=පිහිටුවීමේ ගොනු විනාශ වී ඇත. කරුණාකර මෘදුකාංගයේ නව පිටපතක් ගන්න. +SetupFileCorruptOrWrongVer=පිහිටුවීමේ ගොනු විනාශ වී හෝ මෙම අනුවාදය සමඟ අනුරූපී නොවේ. කරුණාකර දෝෂය නිවැරදි කරන්න, නැතහොත් මෘදුකාංගයේ නව පිටපතක් ගන්න. +InvalidParameter=Command line හි වැරදි පරාමිතියක් ලබා දී ඇත:%n%n%1 +SetupAlreadyRunning=පිහිටුවීම දැනටමත් ධාවනය වේ. +WindowsVersionNotSupported=මෙම මෘදුකාංගය ඔබගේ පරිගණකයේ ඇති Windows අනුවාදය වෙත සහාය නො දක්වයි. +WindowsServicePackRequired=මෙම මෘදුකාංගය හට %1 සේවා කට්ටලයේ %2 හෝ ඉහළ අවශ්‍ය වේ. +NotOnThisPlatform= මෙම මෘදුකාංගය %1 හි ධාවනයේ නොවේ. +OnlyOnThisPlatform=මෙම මෘදුකාංගය %1 හි ධාවනය කළ යුතුයි. +OnlyOnTheseArchitectures=මෙම මෘදුකාංගය ධාවනය කළ හැක්කේ පහත සැකසුම් ඒකක තාක්ෂණ සඳහා සැකසූ Windows අනුවාදයක පමණි:%n%n%1 +MissingWOW64APIs=ඔබ භාවිතා කරන Windows අනුවාදය 64-බිටු පිහිටුවීමක් කිරීම සඳහා සහාය නො දක්වයි. මෙය නිවැරදි කිරීමට කරුණාකර සේවා කට්ටල %1 පිහිටුවන්න. +WinVersionTooLowError=මෙම මෘදුකාංගය සඳහා %1 අනුවාද %2 හෝ ඉහළ අවශ්‍යයි. +WinVersionTooHighError=මෙම මෘදුකාංගය %1 අනුවාද %2 හෝ ඉහළ වෙත සහය නො දක්වයි. +AdminPrivilegesRequired=මෙම මෘදුකාංගය පිහිටුවීමේ දී ඔබ පරිපාලක ලෙස ඇතුළත් වී සිටිය යුතුය. +PowerUserPrivilegesRequired=මෙම මෘදුකාංගය පිහිටුවීමේ දී ඔබ පරිපාලක ලෙස හෝ පරිශීලකයකු ලෙස ඇතුළත් වී සිටිය යුතුය. +SetupAppRunningError=පිහිටුවීම මේ වනවිට %1 ධාවනය වන බව හඳුනාගෙන ඇත.%n%nකරුණාකර එහි සියල්ල වසා දමන්න, පසුව ඉදිරියට යාමට හරි, නැත්නම් ඉවත් වීමට අත්හරින්න ක්ලික් කරන්න. +UninstallAppRunningError=ඉවත් කිරීම මේ වනවිට %1 ධාවනය වන බව හඳුනාගෙන ඇත.%n%nකරුණාකර එහි සියල්ල වසා දමන්න, පසුව ඉදිරියට යාමට හරි, නැත්නම් ඉවත් වීමට අත්හරින්න ක්ලික් කරන්න. + +; *** Misc. errors +ErrorCreatingDir="%1" නාමාවලිය සැකසීමට පිහිටුවීමට නොහැකි විය +ErrorTooManyFilesInDir=ගොනු විශාල ප්‍රමාණයක් පවතින නිසා "%1" නාමාවලියේ ගොනුවක් සැකසීමට නොහැකි විය + +; *** Setup common messages +ExitSetupTitle=පිහිටුවීමෙන් ඉවත් වන්න +ExitSetupMessage=පිහිටුවීම අසම්පූර්ණයි. ඔබ දැන් ඉවත් වුවහොත් මෘදුකාංගය පිහිටු නොවේවි.%n%nපිහිටුවීම සම්පූර්ණ කිරීමට ඔබට පසුව පිහිටුවීම ධාවනය කළ හැක.%n%nපිහිටුවීමෙන් ඉවත් වන්න ද? +AboutSetupMenuItem=පිහිටුවීම පිළිබඳ... +AboutSetupTitle=පිහිටුවීම පිළිබඳ +AboutSetupMessage=%1 අනුවාදය %2%n%3%n%n%1 මුල් පිටුව:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< පෙර +ButtonNext=ඉදිරියට > +ButtonInstall=පිහිටුවීම +ButtonOK=හරි +ButtonCancel=අත්හරින්න +ButtonYes=ඔව් +ButtonYesToAll=සියල්ලට ඔව් +ButtonNo=නැත +ButtonNoToAll=සියල්ලට නැත +ButtonFinish=අවසන් +ButtonBrowse=විමසීම... +ButtonWizardBrowse=විමසීම... +ButtonNewFolder=නව ෆෝල්ඩරයක් තනන්න + +; *** "Select Language" dialog messages +SelectLanguageTitle=පිහිටුම් භාෂාවක් තෝරන්න +SelectLanguageLabel=පිහිටුවීමේ දී භාවිතා කළයුතු භාෂාවක් තෝරන්න: + +; *** Common wizard text +ClickNext=ඉදිරියට යාමට ඉදිරියට ද, නැතහොත් පිහිටුවීමෙන් ඉවත් වීමට අත්හරින්න ද ක්ලික් කරන්න. +BeveledLabel= +BrowseDialogTitle=ෆෝල්ඩර තෝරන්න +BrowseDialogLabel=පහත ලැයිස්තුවෙන් ෆෝල්ඩරයක් තෝරා හරි ක්ලික් කරන්න. +NewFolderName=නව ෆෝල්ඩරයක් + +; *** "Welcome" wizard page +WelcomeLabel1=[name] ස්ථාපන විශාරද වෙත සාදරයෙන් පිළිගනිමු +WelcomeLabel2=මෙය [name/ver] ඔබගේ පරිගණකයේ ස්ථාපනය කරයි.%n%nඉදිරියට යාමට පෙර වෙනත් මෘදුකාංග වසා දැමීමට අප නිර්දේෂ කරමු. + +; *** "Password" wizard page +WizardPassword=මුරපදය +PasswordLabel1=මෙම ස්ථාපනය මුරපද ආරක්ෂිතයි. +PasswordLabel3=කරුණාකර මුරපදය ඇතුළත් කර, පසුව ඉදිරියට යාමට ඉදිරිය ක්ලික් කරන්න. මුරපද case-sensitive වෙයි. +PasswordEditLabel=මුරපදය: +IncorrectPassword=ඔබ ඇතුළත් කළ මුරපදය වැරදියි. කරුණාකර නැවත ඇතුළත් කරන්න. + +; *** "License Agreement" wizard page +WizardLicense=බලපත්‍ර ගිවිසුම +LicenseLabel=කරුණාකර ඉදිරියට යාමට පෙර පහත වැදගත් කරුණු කියවන්න. +LicenseLabel3=කරුණාකර පහත බලපත්‍ර ගිවිසුම කියවන්න. ඉදිරියට යාමට පෙර මෙම කරුණු වෙත ඔබ එකඟ විය යුතුයි. +LicenseAccepted=මම මෙම ගිවිසුමට එකඟ වෙමි +LicenseNotAccepted=මම මෙම ගිවිසුමට එකඟ නො වෙමි + +; *** "Information" wizard pages +WizardInfoBefore=කරුණු +InfoBeforeLabel=කරුණාකර ඉදිරියට යාමට පෙර පහත කරුණු හොඳින් කියවන්න. +InfoBeforeClickLabel=ඉදිරියට යාමට ඔබ සූදානම් නම්, මීළඟ ක්ලික් කරන්න. +WizardInfoAfter=කරුණු +InfoAfterLabel=කරුණාකර ඉදිරියට යාමට පෙර පහත කරුණු හොඳින් කියවන්න. +InfoAfterClickLabel=කරුණාකර ඉදිරියට යාමට පෙර පහත කරුණු හොඳින් කියවන්න. + +; *** "User Information" wizard page +WizardUserInfo=පරිශීලක තොරතුරු +UserInfoDesc=කරුණාකර ඔබගේ තොරතුරු ඇතුළත් කරන්න. +UserInfoName=පරිශීලක නාමය: +UserInfoOrg=සංවිධානය: +UserInfoSerial=අනුක්‍රමික අංකය: +UserInfoNameRequired=ඔබ කිසියම් නමක් ඇතුළත් කළ යුතුයි. + +; *** "Select Destination Location" wizard page +WizardSelectDir=අවසන් පිහිටුම තෝරන්න +SelectDirDesc=[name] පිහිටුවිය යුත්තේ කොහේ ද? +SelectDirLabel3=ස්ථාපකය [name] පහත ෆෝල්ඩරයේ ස්ථාපනය කරයි. +SelectDirBrowseLabel=ඉදිරියට යාමට, ඉදිරියට ක්ලික් කරන්න. ඔබට වෙනත් ෆෝල්ඩරයක් තේරීමට ඔබට අවශ්‍යනම්, විමසීම ක්ලික් කරන්න. +DiskSpaceMBLabel=පිහිටුවීමට අවම [mb] මෙබ හිස් තැටි අවකාශයක් තිබිය යුතුයි. +CannotInstallToNetworkDrive=ස්ථාපකය හට ජාලගත ධාවකයකට ස්ථාපනය කළ නොහැක. +CannotInstallToUNCPath=ස්ථාපකය හට UNC මාර්ගයක ස්ථාපනය කළ නොහැක. +InvalidPath=ඔබ ධාවක අක්ෂරය සහිත සම්පූර්ණ මාර්ගයක් ඇතුළත් කළ යුතුයි; උදාහරණ ලෙස:%n%nC:\APP%n%nහෝ UNC මාර්ගයක් නම්:%n%n\\server\share +InvalidDrive=ඔබ තේරූ ධාවකය හෝ UNC මාර්ගය නො පවතියි හෝ සම්බන්ධ විය නොහැක. වෙනත් යමක් තෝරන්න. +DiskSpaceWarningTitle=ප්‍රමාණවත් තරම් තැටි අවකාශයක් නො පවතියි +DiskSpaceWarning=ස්ථාපකය හට ස්ථාපනයට අවම %1 කිබ හෝ හිස් අවකාශය අත්‍යවශ්‍යයි, එහෙත් ඔබ තේරූ ධාවකයේ %2 කිබ පමණක් පවතියි.%n%nඉදිරියට යාමට අවශ්‍ය ද? +DirNameTooLong=ෆෝල්ඩර නාමය හෝ පිහිටුම දිග වැඩියි. +InvalidDirName=ෆෝල්ඩර නාමය භාරගත නොහැක. +BadDirName32=ෆෝල්ඩර නාමයේ පහත අක්ෂර ඇතුළත් විය නොහැක:%n%n%1 +DirExistsTitle=ෆෝල්ඩරය පවතියි +DirExists=ෆෝල්ඩරය:%n%n%1%n%nදැනටමත් පවතියි. එම ෆෝල්ඩරටම ස්ථාපනය කරන්න ද? +DirDoesntExistTitle=ෆෝල්ඩරය නො පවතියි +DirDoesntExist=ෆෝල්ඩරය:%n%n%1%n%nනො පවතියි. එම ෆෝල්ඩරය සැකසීමට කැමති ද? + +; *** "Select Components" wizard page +WizardSelectComponents=උපාංග තේරීම +SelectComponentsDesc=කුමන උපාංග ස්ථාපනය කළ යුතු ද? +SelectComponentsLabel2=ස්ථාපනය කළ යුතු උපාංග තෝරන්න; ස්ථාපනය නොකළ යුතු උපාංග අත්හරින්න. ඉදිරියට යාමට මීළඟ ක්ලික් කරන්න. +FullInstallation=සම්පූර්ණ ස්ථාපනය +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=සංයුක්ත ස්ථාපනය +CustomInstallation=පෞද්ගලික ස්ථාපනය +NoUninstallWarningTitle=උපාංගය පවතියි +NoUninstallWarning=ස්ථාපකය ඔබගේ පරිගණකයේ පහත උපාංග දැනටමත් ස්ථාපනය කර ඇති බව හඳුනා ගන්නා ලදී:%n%n%1%n%nඅත්හැරීම මේවා ඉවත් නො කරයි.%n%nඉදිරියට යාමට කැමති ද? +ComponentSize1=%1 කිබ +ComponentSize2=%1 මෙබ +ComponentsDiskSpaceMBLabel=වර්තමාන තේරීමට අවම [mb] මෙබ තැටි මතකයක් අවශ්‍යයි. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=අමතර කාර්යයන් තේරීම +SelectTasksDesc=තවත් කුමන අමතර කාරයයන් සිදුකළ යුතු ද? +SelectTasksLabel2=[name] ස්ථාපනයේ දී සිදුකළ යුතු අමතර කාර්යයන් තෝරන්න, පසුව මීළඟ ක්ලික් කරන්න. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=ආරම්භක මෙනු ෆෝල්ඩරය තෝරන්න +SelectStartMenuFolderDesc=ස්ථාපකය මෘදුකාංගයේ කෙටිමං කොහේ ස්ථාපනය කළ යුතු ද? +SelectStartMenuFolderLabel3=ස්ථාපකය මෘදුකාංගයේ කෙටිමං පහත ආරම්භක මෙනු ෆෝල්ඩරයේ සකසයි. +SelectStartMenuFolderBrowseLabel=ඉදිරියට යාමට, මීළඟ ක්ලික් කරන්න. වෙනත් ෆෝල්ඩරයක් තේරීමට, විමසීම ක්ලික් කරන්න. +MustEnterGroupName=ෆෝල්ඩර නාමයක් ඇතුළත් කළ යුතුයි. +GroupNameTooLong=ෆෝල්ඩර නාමය හෝ පිහිටුම දිග වැඩියි. +InvalidGroupName=ෆෝල්ඩර නාමය භාරගත නොහැක. +BadGroupName=ෆෝල්ඩර නාමයේ පහත අක්ෂර ඇතුළත් විය නොහැක:%n%n%1 +NoProgramGroupCheck2=ආරම්භක මෙනු ෆෝල්ඩරයක් සකසන්න එපා + +; *** "Ready to Install" wizard page +WizardReady=ස්ථාපනයට සූදානම් +ReadyLabel1=ස්ථාපකය [name] ඔබගේ පරිගණකයේ ස්ථාපනයට දැන් සූදානම්. +ReadyLabel2a=ස්ථාපනයට ස්ථාපනය ක්ලික් කරන්න, සැකසුම් විමර්ෂණයට හෝ වෙනස් කිරීමට පසුපස ක්ලික් කරන්න. +ReadyLabel2b=ස්ථාපනයට ස්ථාපනය ක්ලික් කරන්න. +ReadyMemoUserInfo=පරිශීලක තොරතුරු: +ReadyMemoDir=අවසන් පිහිටුවීම: +ReadyMemoType=ස්ථාපන වර්ගය: +ReadyMemoComponents=තේරූ උපාංග: +ReadyMemoGroup=ආරම්භක මෙනු ෆෝල්ඩරය: +ReadyMemoTasks=අමතර කාර්යයන්: + +; *** "Preparing to Install" wizard page +WizardPreparing=ස්ථාපනයට සූදානම් වෙමින් +PreparingDesc=ස්ථාපකය [name] ඔබගේ පරිගණකයේ ස්ථාපනයට සූදානම් වෙමින්. +PreviousInstallNotCompleted=පෙර මෘදුකාංගයක ස්ථාපනය/අ ස්ථාපනය තවමත් අවසන් කර නොමැත. එම ස්ථාපනය අවසන් කිරීමට පරිගණකය ප්‍රති පණගැන්විය යුතුය.%n%nපණගැන්වීමෙන් පසු, [name] ස්ථාපනය අවසන් කිරීමට ස්ථාපකය නැවත ධාවනය කරන්න. +CannotContinue=ස්ථාපකය හට ඉදිරියට යාමට නොහැක. ඉවත් වීමට වසන්න ක්ලික් කරන්න. +ApplicationsFound=පහත මෘදුකාංග, ස්ථාපකය හට යාවත්කාලීන කළ යුතු ගොනු භාවිතා කරමින් පවතියි. ස්ථාපකයට මෙම මෘදුකාංග ස්වයංක්‍රියව අවසන් කිරීමට ලබාදීම නිර්දේෂ කරයි. +ApplicationsFound2=පහත මෘදුකාංග, ස්ථාපකය හට යාවත්කාලීන කළ යුතු ගොනු භාවිතා කරමින් පවතියි. ස්ථාපකයට මෙම මෘදුකාංග ස්වයංක්‍රියව අවසන් කිරීමට ලබාදීම නිර්දේෂ කරයි. ස්ථාපනය අවසන් වූ පසු ස්ථාපකය මෙම මෘදුකාංග නැවත ආරම්භ කිරීමට වෑයම් කරයි. +CloseApplications=මෘදුකාංග ස්වයංක්‍රියව අවසන් කරන්න +DontCloseApplications=මෘදුකාංග අවසන් නො කරන්න +ErrorCloseApplications=ස්ථාපකය හට ස්වයංක්‍රියව මෘදුකාංග අවසන් කළ නොහැකි විය. ඉදිරියට යාමට පෙර මෙම ගොනු භාවිතා කරන මෘදුකාංග වසා දැමීම නිර්දේෂ කරයි. + +; *** "Installing" wizard page +WizardInstalling=ස්ථාපනය කරමින් +InstallingLabel=ස්ථාපකය [name] ඔබගේ පරිගණකයේ ස්ථාපනය කරන තුරු මඳක් රැඳී සිටින්න. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] ස්ථාපක මායාකරු අවසන් කරමින් +FinishedLabelNoIcons=ස්ථාපකය [name] ඔබගේ පරිගණකයේ ස්ථාපනය අවසන් කරන ලදී. +FinishedLabel=ස්ථාපකය [name] ඔබගේ පරිගණකයේ ස්ථාපනය අවසන් කරන ලදී. ස්ථාපිත මෘදුකාංගය ස්ථාපිත කෙටිමං තේරීමෙන් ආරම්භ කළ හැක. +ClickFinish=ඉවත් වීමට අවසන් ක්ලික් කරන්න. +FinishedRestartLabel=[name] ස්ථාපනය අවසන් කිරීමට, ස්ථාපකය පරිගණකය ප්‍රති ආරම්භ කළ යුතුයි. දැන් ආරම්භ කරන්න ද? +FinishedRestartMessage=[name] ස්ථාපනය අවසන් කිරීමට, ස්ථාපකය පරිගණකය ප්‍රති ආරම්භ කළ යුතුයි..%n%nදැන් ආරම්භ කරන්න ද? +ShowReadmeCheck=ඔව්, මම README ගොනුව දැකීමට කැමතියි +YesRadio=ඔව්, පරිගණකය දැන් ප්‍රති ආරම්භ කරන්න +NoRadio=නැහැ, මම පරිගණකය පසුව අරඹන්නම් +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 ධාවනය +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 දකින්න + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=ස්ථාපකය හට මීළඟ තැටිය අවශ්‍යයි +SelectDiskLabel2=කරුණාකර කැටි අංක %1 ඇතුළත් කර හරි ක්ලික් කරන්න.%n%nඑම ගොනු පහත පෙන්වන ෆෝල්ඩරයේ නොව වෙනත් ස්ථානයක පවති නම්, හරි මාර්ගය හෝ විමසීම ක්ලික් කරන්න. +PathLabel=මාර්ගය: +FileNotInDir2="%1" ගොනුව "%2" හි සොයා ගත නොහැකි විය. කරුණාකර හරි තැටිය හෝ වෙනත් ෆෝල්ඩරයක් තෝරන්න. +SelectDirectoryLabel=කරුණාකර මීළඟ තැටියේ මාර්ගය තෝරන්න. + +; *** Installation phase messages +SetupAborted=ස්ථාපනය අවසන් නොවුනි.%n%nකරුණාකර දෝෂය සමනය කර ස්ථාපකය නැවත අරඹන්න. +EntryAbortRetryIgnore=නැවත උත්සාහ කරන්න, ඉදිරියට යාමට මඟ හරින්න, අත්හැරීමට අත්හැරීම ක්ලික් කරන්න. + +; *** Installation status messages +StatusClosingApplications=මෘදුකාංග වසමින්... +StatusCreateDirs=නාමලේඛන සකසමින්... +StatusExtractFiles=ගොනු උපුටා ගනිමින්... +StatusCreateIcons=කෙටිමං සකසමින්... +StatusCreateIniEntries=INI ඇතුළත් කරමින්... +StatusCreateRegistryEntries=ලේඛන ඇතුළත් කිරීම් සකසමින්... +StatusRegisterFiles=ගොනු ලේඛනගත කරමින්... +StatusSavingUninstall=අ ස්ථාපන තොරතුරු සුරකිමින්... +StatusRunProgram=ස්ථාපනය අවසන් කරමින්... +StatusRestartingApplications=මෘදුකාංග ආරම්භ කරමින්... +StatusRollback=වෙනස්කම් අත්හරිමින්... + +; *** Misc. errors +ErrorInternal2=අභ්‍යන්තර දෝෂය: %1 +ErrorFunctionFailedNoCode=%1 අසාර්ථකයි +ErrorFunctionFailed=%1 අසාර්ථකයි; කේතය %2 +ErrorFunctionFailedWithMessage=%1 අසාර්ථකයි; කේතය %2.%n%3 +ErrorExecutingProgram=ගොනුව ආරම්භ කළ නොහැක:%n%1 + +; *** Registry errors +ErrorRegOpenKey=නාමලේඛන යතුර ආරම්භය අසාර්ථකයි:%n%1\%2 +ErrorRegCreateKey=නාමලේඛන යතුර ස්ථාපනය අසාර්ථකයි:%n%1\%2 +ErrorRegWriteKey=නාමලේඛන යතුරට ලිවීම අසාර්ථකයි:%n%1\%2 + +; *** INI errors +ErrorIniEntry="%1" ගොනුවේ INI ඇතුළත් කිරීම අසාර්ථකයි. + +; *** File copying errors +FileAbortRetryIgnore=නැවත උත්සාහ කිරීම, මෙම ගොනුව අත්හැරීමට අත්හැරීම (අනුමත නො කරයි), හෝ අත්හරින්න ක්ලික් කරන්න. +FileAbortRetryIgnore2=නැවත උත්සාහ කිරීම, මෙම ගොනුව අත්හැරීමට අත්හැරීම (අනුමත නො කරයි), හෝ අත්හරින්න ක්ලික් කරන්න. +SourceIsCorrupted=මූලාශ්‍ර ගොනුව විනාශයි +SourceDoesntExist="%1" මූලාශ්‍ර ගොනුව නො පවතියි +ExistingFileReadOnly=පවතින ගොනුව කියවීම පමණයි.%n%nකියවීම පමණයි බව ඉවත් කිරීමට නැවත උත්සාහ කරන්න, මෙම ගොනුව අත්හරින්න, හෝ ස්ථාපනය අත්හරින්න. +ErrorReadingExistingDest=පවතින ගොනුව කියවීමේ දී දෝෂයක් හට ගැනිණි: +FileExists=ගොනුව දැනටමත් පවතියි.%n%nස්ථාපකය හට මෙය ප්‍රතිලේඛනයට ඔබ කැමති ද? +ExistingFileNewer=පවතින ගොනුව ස්ථාපකය ස්ථාපනය කරන ගොනුවට වඩා නවීනයි. දැනටමත් පවතින ගොනුව තබා ගැනීමට අනුමත කරයි.%n%nවර්තමාන ගොනුව තබා යන්න ද? +ErrorChangingAttr=වර්තමාන ගොනුවේ ගුණාංග වෙනස් කිරීමේ දී දෝෂයක් හට ගැනිණි: +ErrorCreatingTemp=ගමනාන්ත නාමාවලියේ ගොනුව සැකසීමේ දී දෝෂයක් හට ගැනිණි: +ErrorReadingSource=මූලාශ්‍ර ගොනුව කියැවීමේ දී දෝෂයක් හට ගැනිණි: +ErrorCopying=ගොනුව පිටපත් කිරීමේ දී දෝෂයක් හට ගැනිණි: +ErrorReplacingExistingFile=පවතින ගොනුව ප්‍රතිස්ථාපනයේ දී දෝෂයක් හට ගැනිණි: +ErrorRestartReplace=ප්‍රති ආරම්භය ප්‍රතිස්ථාපනය නිෂ්ඵලයි: +ErrorRenamingTemp=ගමනාන්ත නාමාවලියේ ගොනුවක් නම් කිරීමේ දී දෝෂයක් හට ගැනිණි: +ErrorRegisterServer=DLL/OCX ලේඛනගත කිරීම අසාර්ථකයි: %1 +ErrorRegSvr32Failed= පහත කේතය සමඟ RegSvr32 දෝෂය %1 +ErrorRegisterTypeLib=වර්ග පුස්තකාලය ලේඛනගත කළ නොහැක: %1 + +; *** Post-installation errors +ErrorOpeningReadme=README ගොනුව විවෘත කිරීමේ දී දෝෂයක් හට ගැනිණි. +ErrorRestartingComputer=මෘදුකාංගයට පරිගණකය ප්‍රති පණගැන්වීමට නොහැකි විය. කරුණාකර පෞද්ගලික ව මෙය කරන්න. + +; *** Uninstaller messages +UninstallNotFound="%1" ගොනුව නො පවතියි. අස්ථාපනය කළ නොහැක +UninstallOpenError="%1" ගොනුව ආරම්භ කළ නොහැක. අස්ථාපනය කළ නොහැක +UninstallUnsupportedVer="%1" අස්ථාපන ලඝු ගොනුව වර්ථමාන අස්ථාපක අනුවාදය හා නො සැසඳේ. අස්ථාපනය කළ නොහැක +UninstallUnknownEntry=(%1) හඳුනා නොගත් ඇතුළත් කිරීමක් අස්ථාපන ලඝුවේ පවතියි +ConfirmUninstall=%1 හා එහි සියළු උපාංග සම්පූර්ණයෙන් ඉවත් කිරීමට ඔබට අවශ්‍ය ද? +UninstallOnlyOnWin64=මෙම ස්ථාපනය අස්ථාපනය කළ හැක්කේ 64-බිටු Windows හි පමණි. +OnlyAdminCanUninstall=මෙම ස්ථාපනය අස්ථාපනය කළ හැක්කේ පරිපාලක වරප්‍රසාද සහිත පරිශීලකයකුට පමණි. +UninstallStatusLabel=%1 පරිගණකයෙන් ඉවත් කරන තුරු මඳක් රැඳී සිටින්න. +UninstalledAll=%1 පරිගණකයෙන් සාර්ථකව ඉවත් කරන ලදී. +UninstalledMost=%1 අස්ථාපනය අවසන්.%n%nසමහරක් අවයව ඉවත් කළ නොහැකි විය. මෙවා පෞද්ගලික ව ඉවත් කළ හැක. +UninstalledAndNeedsRestart=%1 අස්ථාපනය අවසන්, ඔබගේ පරිගණකය ප්‍රති ආරම්භ කළ යුතුයි.%n%nදැන් ආරම්භ කළ යුතු ද? +UninstallDataCorrupted="%1" ගොනුව විනාශයි. අස්ථාපනය කළ නොහැක + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=බෙදාගත් ගොනුව ඉවත් කළ යුතු ද? +ConfirmDeleteSharedFile2=පහත බෙදාගත් ගොනුව කිසිඳු මෘදුකාංගයක් භාවිතා නො කරන බව පද්ධතිය පෙන්වයි. අස්ථාපක මෙම ගොනුව ඉවත් කරනවාට ඔබ කැමති ද?%n%nයම්කිසි මෘදුකාංගයක් මෙය භාවිතා කරන අතර මෙම ගොනුව ඉවත් කළහොත්, මෙම මෘදුකාංග සාර්ථකව ක්‍රියා නොකරාවි. ඔබට විශ්වාස නැතිනම්, නැහැ තෝරන්න. ගොනුව පද්ධතියේ තබා යෑම කිසිඳු හානියක් නොකරයි. +SharedFileNameLabel=ගොනු නාමය: +SharedFileLocationLabel=පිහිටීම: +WizardUninstalling=අස්ථාපන ප්‍රගතිය +StatusUninstalling=අස්ථාපනය %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=ස්ථාපනය %1. +ShutdownBlockReasonUninstallingApp=අස්ථාපනය %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 අනුවාදය %2 +AdditionalIcons=අමතර කෙටිමං: +CreateDesktopIcon=ඩෙස්ක්ටොප් කෙටිමඟක් සකසන්න +CreateQuickLaunchIcon=සිඝ්‍ර ආරම්භක කෙටිමඟක් සකසන්න +ProgramOnTheWeb=%1 අන්තර්ජාලයේ +UninstallProgram=අස්ථාපනය %1 +LaunchProgram=ආරම්භ %1 +AssocFileExtension=%1, %2 ගොනු විතතිය සමඟ සම්බන්ධ කරන්න +AssocingFileExtension=%1, %2 ගොනු විතතිය සමඟ සම්බන්ධ කරමින්... +AutoStartProgramGroupDescription=ආරම්භය: +AutoStartProgram=%1 ස්වයංක්‍රියව ආරම්භ කරන්න +AddonHostProgramNotFound=%1 ඔබ තෝරාගත් ෆෝල්ඩරයේ සොයාගත නොහැක.%n%nඑහෙත් ඉදිරියට යන්න ද? diff --git a/Greenshot/releases/innosetup/Languages/Swedish.isl b/Greenshot/releases/innosetup/Languages/Swedish.isl index 6a942b267..f89324798 100644 --- a/Greenshot/releases/innosetup/Languages/Swedish.isl +++ b/Greenshot/releases/innosetup/Languages/Swedish.isl @@ -1,339 +1,430 @@ -; *** Inno Setup version 5.5.3+ Swedish messages *** -; -; To download user-contributed translations of this file, go to: -; http://www.jrsoftware.org/files/istrans/ -; -; Note: When translating this text, do not add periods (.) to the end of -; messages that didn't have them already, because on those messages Inno -; Setup adds the periods automatically (appending a period would result in -; two periods being displayed). -; -; Translated by christer_1@hotmail.com (Christer Toivonen) -; - -[LangOptions] -; The following three entries are very important. Be sure to read and -; understand the '[LangOptions] section' topic in the help file. -LanguageName=Svenska -LanguageID=$041D -LanguageCodePage=1252 -; If the language you are translating to requires special font faces or -; sizes, uncomment any of the following entries and change them accordingly. -;DialogFontName= -;DialogFontSize=8 -;WelcomeFontName=Verdana -;WelcomeFontSize=12 -;TitleFontName=Arial -;TitleFontSize=29 -;CopyrightFontName=Arial -;CopyrightFontSize=8 - -[Messages] - -; *** Application titles -SetupAppTitle=Installationsprogram -SetupWindowTitle=Installationsprogram fr %1 -UninstallAppTitle=Avinstallation -UninstallAppFullTitle=%1 Avinstallation - -; *** Misc. common -InformationTitle=Information -ConfirmTitle=Bekrfta -ErrorTitle=Fel - -; *** SetupLdr messages -SetupLdrStartupMessage=%1 kommer att installeras. Vill du fortstta? -LdrCannotCreateTemp=Kan ej skapa en temporr fil. Installationen avbryts -LdrCannotExecTemp=Kan inte kra fil i temporr katalog. Installationen avbryts - -; *** Startup error messages -LastErrorMessage=%1.%n%nFel %2: %3 -SetupFileMissing=Filen %1 saknas i installationskatalogen. Rtta till problemet eller hmta en ny kopia av programmet. -SetupFileCorrupt=Installationsfilerna r felaktiga. Hmta en ny kopia av programmet -SetupFileCorruptOrWrongVer=Installationsfilerna r felaktiga, eller stmmer ej verens med denna version av installationsprogrammet. Rtta till felet eller hmta en ny programkopia. -InvalidParameter=En ogiltig parameter angavs p kommandoraden:%n%n%1 -SetupAlreadyRunning=Setup krs redan. -WindowsVersionNotSupported=Programmet stdjer inte den version av Windows som krs p datorn. -WindowsServicePackRequired=Programmet krver %1 Service Pack %2 eller nyare. -NotOnThisPlatform=Detta program kan ej kras p %1. -OnlyOnThisPlatform=Detta program mste ha %1. -OnlyOnTheseArchitectures=Detta program kan bara installeras p Windows versioner med fljande processorarkitekturer:%n%n%1 -MissingWOW64APIs=Den versionen av Windows du kr har inte den funktionalitet installationsprogrammet behver fr att genomfra en 64-bitars installation. Rtta till problemet genom att installera Service Pack %1. -WinVersionTooLowError=Detta program krver %1, version %2 eller senare. -WinVersionTooHighError=Programmet kan inte installeras p %1 version %2 eller senare. -AdminPrivilegesRequired=Du mste vara inloggad som administratr nr du installerar detta program. -PowerUserPrivilegesRequired=Du mste vara inloggad som administratr eller medlem av gruppen Privilegierade anvndare (Power Users) nr du installerar detta program. -SetupAppRunningError=Installationsprogrammet har upptckt att %1 r igng.%n%nAvsluta det angivna programmet nu. Klicka sedan p OK fr att g vidare, eller p Avbryt fr att avsluta. -UninstallAppRunningError=Avinstalleraren har upptckt att %1 krs fr tillfllet.%n%nStng all ppna instanser av det nu, klicka sedan p OK fr att g vidare, eller p Avbryt fr att avsluta. - -; *** Misc. errors -ErrorCreatingDir=Kunde inte skapa katalogen "%1" -ErrorTooManyFilesInDir=Kunde inte skapa en fil i katalogen "%1" drfr att den innehller fr mnga filer - -; *** Setup common messages -ExitSetupTitle=Avsluta installationen -ExitSetupMessage=Installationen r inte frdig. Om du avslutar nu, kommer programmet inte att installeras.%n%nDu kan kra installationsprogrammet vid ett senare tillflle fr att slutfra installationen.%n%nVill du avbryta installationen? -AboutSetupMenuItem=&Om installationsprogrammet... -AboutSetupTitle=Om installationsprogrammet -AboutSetupMessage=%1 version %2%n%3%n%n%1 hemsida:%n%4 -AboutSetupNote=Svensk versttning r gjord av dickg@go.to 1999, 2002%n%nUppdatering till 3.0.2+ av peter@peterandlinda.com, 4.+ av stefan@bodingh.se -TranslatorNote= - -; *** Buttons -ButtonBack=< &Tillbaka -ButtonNext=&Nsta > -ButtonInstall=&Installera -ButtonOK=OK -ButtonCancel=Avbryt -ButtonYes=&Ja -ButtonYesToAll=Ja till &Allt -ButtonNo=&Nej -ButtonNoToAll=N&ej till allt -ButtonFinish=&Slutfr -ButtonBrowse=&Blddra... -ButtonWizardBrowse=&Blddra... -ButtonNewFolder=Skapa ny katalog - -; *** "Select Language" dialog messages -SelectLanguageTitle=Vlj sprk fr installationen -SelectLanguageLabel=Vlj sprk som skall anvndas under installationen: - -; *** Common wizard text -ClickNext=Klicka p Nsta fr att fortstta eller p Avbryt fr att avsluta installationen. -BeveledLabel= -BrowseDialogTitle=Vlj katalog -BrowseDialogLabel=Vlj en katalog i listan nedan, klicka sedan p OK. -NewFolderName=Ny katalog - -; *** "Welcome" wizard page -WelcomeLabel1=Vlkommen till installationsprogrammet fr [name]. -WelcomeLabel2=Detta kommer att installera [name/ver] p din dator.%n%nDet rekommenderas att du avslutar alla andra program innan du fortstter. Det frebygger konflikter under installationens gng. - -; *** "Password" wizard page -WizardPassword=Lsenord -PasswordLabel1=Denna installation r skyddad med lsenord. -PasswordLabel3=Var god ange lsenordet, klicka sedan p Nsta fr att fortstta. Lsenord skiljer p versaler/gemener. -PasswordEditLabel=&Lsenord: -IncorrectPassword=Lsenordet du angav r inkorrekt. Frsk igen. - -; *** "License Agreement" wizard page -WizardLicense=Licensavtal -LicenseLabel=Var god och ls fljande viktiga information innan du fortstter. -LicenseLabel3=Var god och ls fljande licensavtal. Du mste acceptera villkoren i avtalet innan du kan fortstta med installationen. -LicenseAccepted=Jag &accepterar avtalet -LicenseNotAccepted=Jag accepterar &inte avtalet - -; *** "Information" wizard pages -WizardInfoBefore=Information -InfoBeforeLabel=Var god ls fljande viktiga information innan du fortstter. -InfoBeforeClickLabel=Nr du r klar att fortstta med installationen klickar du p Nsta. -WizardInfoAfter=Information -InfoAfterLabel=Var god ls fljande viktiga information innan du fortstter. -InfoAfterClickLabel=Nr du r klar att fortstta med installationen klickar du p Nsta. - -; *** "User Information" wizard page -WizardUserInfo=Anvndarinformation -UserInfoDesc=Var god och fyll i fljande uppgifter. -UserInfoName=&Namn: -UserInfoOrg=&Organisation: -UserInfoSerial=&Serienummer: -UserInfoNameRequired=Du mste fylla i ett namn. - -; *** "Select Destination Directory" wizard page -WizardSelectDir=Vlj installationsplats -SelectDirDesc=Var skall [name] installeras? -SelectDirLabel3=Installationsprogrammet kommer att installera [name] i fljande katalog -SelectDirBrowseLabel=Fr att fortstta klickar du p Nsta. Om du vill vlja en annan katalog klickar du p Blddra. -DiskSpaceMBLabel=Programmet krver minst [mb] MB hrddiskutrymme. -CannotInstallToNetworkDrive=Setup kan inte installeras p ntverksdisk. -CannotInstallToUNCPath=Setup kan inte installeras p UNC skvg. -InvalidPath=Du mste skriva en fullstndig skvg med enhetsbeteckning; till exempel:%n%nC:\Program%n%neller en UNC-skvg i formatet:%n%n\\server\resurs -InvalidDrive=Enheten du har valt finns inte eller r inte tillgnglig. Vlj en annan. -DiskSpaceWarningTitle=Ej tillrckligt med diskutrymme -DiskSpaceWarning=Installationsprogrammet behver tminstone %1 KB ledigt diskutrymme fr installationen, men den valda enheten har bara %2 KB tillgngligt.%n%nVill du fortstta nd? -DirNameTooLong=Katalogens namn eller skvg r fr lng. -InvalidDirName=Katalogen du har valt r inte tillgnglig. -BadDirName32=Katalogens namn fr ej innehlla ngot av fljande tecken:%n%n%1 -DirExistsTitle=Katalogen finns -DirExists=Katalogen:%n%n%1%n%nfinns redan. Vill du nd fortstta installationen till den valda katalogen? -DirDoesntExistTitle=Katalogen finns inte -DirDoesntExist=Katalogen:%n%n%1%n%nfinns inte. Vill du skapa den? - -; *** "Select Components" wizard page -WizardSelectComponents=Vlj komponenter -SelectComponentsDesc=Vilka komponenter skall installeras? -SelectComponentsLabel2=Vlj de komponenter som du vill ska installeras; avmarkera de komponenter som du inte vill ha. Klicka sedan p Nsta nr du r klar att fortstta. -FullInstallation=Fullstndig installation -; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) -CompactInstallation=Kompakt installation -CustomInstallation=Anpassad installation -NoUninstallWarningTitle=Komponenter finns -NoUninstallWarning=Installationsprogrammet har upptckt att fljande komponenter redan finns installerade p din dator:%n%n%1%n%nAtt avmarkera dessa komponenter kommer inte att avinstallera dom.%n%nVill du fortstta nd? -ComponentSize1=%1 KB -ComponentSize2=%1 MB -ComponentsDiskSpaceMBLabel=Aktuella val krver minst [mb] MB diskutrymme. - -; *** "Select Additional Tasks" wizard page -WizardSelectTasks=Vlj extra uppgifter -SelectTasksDesc=Vilka extra uppgifter skall utfras? -SelectTasksLabel2=Markera ytterligare uppgifter att utfra vid installation av [name], tryck sedan p Nsta. - -; *** "Select Start Menu Folder" wizard page -WizardSelectProgramGroup=Vlj Startmenykatalogen -SelectStartMenuFolderDesc=Var skall installationsprogrammet placera programmets genvgar? -SelectStartMenuFolderLabel3=Installationsprogrammet kommer att skapa programmets genvgar i fljande katalog. -SelectStartMenuFolderBrowseLabel=Fr att fortstta klickar du p Nsta. Om du vill vlja en annan katalog, klickar du p Blddra. -MustEnterGroupName=Du mste ange en katalog. -GroupNameTooLong=Katalogens namn eller skvg r fr lng. -InvalidGroupName=Katalogen du har valt r inte tillgnglig. -BadGroupName=Katalognamnet kan inte innehlla ngon av fljande tecken:%n%n%1 -NoProgramGroupCheck2=&Skapa ingen Startmenykatalog - -; *** "Ready to Install" wizard page -WizardReady=Redo att installera -ReadyLabel1=Installationsprogrammet r nu redo att installera [name] p din dator. -ReadyLabel2a=Tryck p Installera om du vill fortstta, eller p g Tillbaka om du vill granska eller ndra p ngot. -ReadyLabel2b=Vlj Installera fr att pbrja installationen. -ReadyMemoUserInfo=Anvndarinformation: -ReadyMemoDir=Installationsplats: -ReadyMemoType=Installationstyp: -ReadyMemoComponents=Valda komponenter: -ReadyMemoGroup=Startmenykatalog: -ReadyMemoTasks=Extra uppgifter: - -; *** "Preparing to Install" wizard page -WizardPreparing=Frbereder installationen -PreparingDesc=Installationsprogrammet frbereder installationen av [name] p din dator. -PreviousInstallNotCompleted=Installationen/avinstallationen av ett tidigare program har inte slutfrts. Du mste starta om datorn fr att avsluta den installationen.%n%nEfter att ha startat om datorn kr du installationsprogrammet igen fr att slutfra installationen av [name]. -CannotContinue=Installationsprogrammet kan inte fortstta. Klicka p Avbryt fr att avsluta. -ApplicationsFound=Fljande program anvnder filer som mste uppdateras av Setup. Vi rekommenderar att du lter Setup automatiskt stnga dessa program. -ApplicationsFound2=Fljande program anvnder filer som mste uppdateras av Setup. Vi rekommenderar att du lter Setup automatiskt stnga dessa program. Efter installationen kommer Setup att frska starta programmen igen. -CloseApplications=&Stng programmen automatiskt -DontCloseApplications=&Stng inte programmen -ErrorCloseApplications=Installationsprogrammet kunde inte stnga alla program. Innan installationen fortstter rekommenderar vi att du stnger alla program som anvnder filer som Setup behver uppdatera. - -; *** "Installing" wizard page -WizardInstalling=Installerar -InstallingLabel=Vnta medan [name] installeras p din dator. - -; *** "Setup Completed" wizard page -FinishedHeadingLabel=Avslutar installationen av [name] -FinishedLabelNoIcons=[name] har nu installerats p din dator. -FinishedLabel=[name] har nu installerats p din dator. Programmet kan startas genom att vlja ngon av ikonerna. -ClickFinish=Vlj Slutfr fr att avsluta installationen. -FinishedRestartLabel=Fr att slutfra installationen av [name], mste datorn startas om. Vill du starta om nu? -FinishedRestartMessage=Fr att slutfra installationen av [name], mste datorn startas om.%n%nVill du starta om datorn nu? -ShowReadmeCheck=Ja, jag vill se filen LS MIG -YesRadio=&Ja, jag vill starta om datorn nu -NoRadio=&Nej, jag startar sjlv om datorn senare -; used for example as 'Run MyProg.exe' -RunEntryExec=Kr %1 -; used for example as 'View Readme.txt' -RunEntryShellExec=Ls %1 - -; *** "Setup Needs the Next Disk" stuff -ChangeDiskTitle=Installationsprogrammet behver nsta diskett -SelectDiskLabel2=Var god stt i diskett %1 och tryck OK.%n%nOm filerna kan hittas i en annan katalog n den som visas nedan, skriv in rtt skvg eller vlj Blddra. -PathLabel=&Skvg: -FileNotInDir2=Kunde inte hitta filen "%1" i "%2". Var god stt i korrekt diskett eller vlj en annan katalog. -SelectDirectoryLabel=Var god ange skvgen fr nsta diskett. - -; *** Installation phase messages -SetupAborted=Installationen slutfrdes inte.%n%nVar god rtta till felet och kr installationen igen. -EntryAbortRetryIgnore=Vlj Frsk igen eller Ignorera fr att fortstta nd, eller vlj Avbryt fr att avbryta installationen. - -; *** Installation status messages -StatusClosingApplications=Stnger program... -StatusCreateDirs=Skapar kataloger... -StatusExtractFiles=Packar upp filer... -StatusCreateIcons=Skapar programikoner... -StatusCreateIniEntries=Skriver INI-vrden... -StatusCreateRegistryEntries=Skriver register-vrden... -StatusRegisterFiles=Registrerar filer... -StatusSavingUninstall=Sparar information fr avinstallation... -StatusRunProgram=Slutfr installationen... -StatusRestartingApplications=Startar om program... -StatusRollback=terstller ndringar... - -; *** Misc. errors -ErrorInternal2=Internt fel: %1 -ErrorFunctionFailedNoCode=%1 misslyckades -ErrorFunctionFailed=%1 misslyckades; kod %2 -ErrorFunctionFailedWithMessage=%1 misslyckades; kod %2.%n%3 -ErrorExecutingProgram=Kan inte kra filen:%n%1 - -; *** Registry errors -ErrorRegOpenKey=Fel vid ppning av registernyckel:%n%1\%2 -ErrorRegCreateKey=Kan ej skapa registernyckel:%n%1\%2 -ErrorRegWriteKey=Kan ej skriva till registernyckel:%n%1\%2 - -; *** INI errors -ErrorIniEntry=Kan inte skriva nytt INI-vrde i filen "%1". - -; *** File copying errors -FileAbortRetryIgnore=Vlj Frsk igen eller Ignorera fr att hoppa ver denna fil (ej rekommenderat), eller vlj Avbryt installationen. -FileAbortRetryIgnore2=Vlj Frsk igen eller Ignorera och fortstt nd (ej rekommenderat), eller vlj Avbryt installationen. -SourceIsCorrupted=Kllfilen r felaktig -SourceDoesntExist=Kllfilen "%1" finns inte -ExistingFileReadOnly=Den nuvarande filen r skrivskyddad.%n%nVlj Frsk igen fr att ta bort skrivskyddet, Ignorera fr att hoppa ver denna fil, eller vlj Avbryt installationen. -ErrorReadingExistingDest=Ett fel uppstod vid frsk att lsa den befintliga filen: -FileExists=Filen finns redan.%n%nVill du skriva ver den? -ExistingFileNewer=Den befintliga filen r nyare n den som ska installeras. Du rekommenderas att behlla den befintliga filen. %n%nVill Du behlla den befintliga filen? -ErrorChangingAttr=Ett fel uppstod vid frsk att ndra attribut p den befintliga filen: -ErrorCreatingTemp=Ett fel uppstod vid ett frsk att skapa installationskatalogen: -ErrorReadingSource=Ett fel uppstod vid ett frsk att lsa kllfilen: -ErrorCopying=Ett fel uppstod vid kopiering av filen: -ErrorReplacingExistingFile=Ett fel uppstod vid ett frsk att erstta den befintliga filen: -ErrorRestartReplace=terstartaErstt misslyckades: -ErrorRenamingTemp=Ett fel uppstod vid ett frsk att byta namn p en fil i installationskatalogen: -ErrorRegisterServer=Kunde inte registrera DLL/OCX: %1 -ErrorRegSvr32Failed=RegSvr32 misslyckades med felkod %1 -ErrorRegisterTypeLib=Kunde inte registrera typbibliotek: %1 - -; *** Post-installation errors -ErrorOpeningReadme=Ett fel uppstod vid ppnandet av LS MIG-filen. -ErrorRestartingComputer=Installationsprogrammet kunde inte starta om datorn. Var god gr det manuellt. - -; *** Uninstaller messages -UninstallNotFound=Filen "%1" finns inte. Kan inte avinstallera. -UninstallOpenError=Filen "%1" kan inte ppnas. Kan inte avinstallera. -UninstallUnsupportedVer=Avinstallationsloggen "%1" r i ett format som denna version inte knner igen. Kan ej avinstallera -UninstallUnknownEntry=En oknd rad (%1) hittades i avinstallationsloggen -ConfirmUninstall=r du sker p att du vill ta bort %1 och alla tillhrande komponenter? -UninstallOnlyOnWin64=Denna installation kan endast avinstalleras p en 64-bitarsversion av Windows. -OnlyAdminCanUninstall=Denna installation kan endast avinstalleras av en anvndare med administrativa rttigheter. -UninstallStatusLabel=Var god och vnta medan %1 tas bort frn din dator. -UninstalledAll=%1 r nu borttaget frn din dator. -UninstalledMost=Avinstallationen av %1 r nu klar.%n%nEn del filer/kataloger gick ej att ta bort. Dessa kan tas bort manuellt. -UninstalledAndNeedsRestart=Fr att slutfra avinstallationen av %1 mste datorn startas om.%n%nVill du starta om nu? -UninstallDataCorrupted=Filen "%1" r felaktig. Kan inte avinstallera - -; *** Uninstallation phase messages -ConfirmDeleteSharedFileTitle=Ta bort delad fil? -ConfirmDeleteSharedFile2=Systemet indikerar att fljande delade fil inte lngre anvnds av ngra program. Vill du ta bort den delade filen?%n%n%1%n%nOm ngot program fortfarande anvnder denna fil och den raderas, kommer programmet kanske att sluta fungera. Om du r osker, vlj Nej. Att lta filen ligga kvar i systemet kommer inte att orsaka ngon skada. -SharedFileNameLabel=Filnamn: -SharedFileLocationLabel=Plats: -WizardUninstalling=Avinstallationsstatus -StatusUninstalling=Avinstallerar %1... - -; *** Shutdown block reasons -ShutdownBlockReasonInstallingApp=Installerar %1. -ShutdownBlockReasonUninstallingApp=Avinstallerar %1. - -; The custom messages below aren't used by Setup itself, but if you make -; use of them in your scripts, you'll want to translate them. - -[CustomMessages] - -NameAndVersion=%1 version %2 -AdditionalIcons=terstende ikoner: -CreateDesktopIcon=Skapa en ikon p skrivbordet -CreateQuickLaunchIcon=Skapa en ikon i Snabbstartfltet -ProgramOnTheWeb=%1 p Webben -UninstallProgram=Avinstallera %1 -LaunchProgram=Starta %1 -AssocFileExtension=Associera %1 med %2 filnamnstillgg -AssocingFileExtension=Associerar %1 med %2 filnamnstillgg... -AutoStartProgramGroupDescription=Autostart: -AutoStartProgram=Starta automatiskt %1 -AddonHostProgramNotFound=%1 kunde inte hittas i katalogen du valde.%n%nVill du fortstta nd? +; *** Inno Setup version 6.0.0+ Swedish messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). +; +; Translated by stefan@bodingh.se (Stefan Bodingh) +; + +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. + + +[LangOptions] +LanguageName=Svenska +LanguageID=$041D +LanguageCodePage=1252 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + + +; *** Application titles + + +[Messages] +SetupAppTitle=Installationsprogram +SetupWindowTitle=Installationsprogram fr %1 +UninstallAppTitle=Avinstallation +UninstallAppFullTitle=%1 Avinstallation + +; *** Misc. common + + +InformationTitle=Information +ConfirmTitle=Bekrfta +ErrorTitle=Fel + +; *** SetupLdr messages + + +SetupLdrStartupMessage=%1 kommer att installeras. Vill du fortstta? +LdrCannotCreateTemp=Kan inte skapa en temporr fil. Installationen avbryts +LdrCannotExecTemp=Kan inte kra fil i temporr katalog. Installationen avbryts +HelpTextNote= + +; *** Startup error messages + + +LastErrorMessage=%1.%n%nFel %2: %3 +SetupFileMissing=Filen %1 saknas i installationskatalogen. Rtta till problemet eller hmta en ny kopia av programmet. +SetupFileCorrupt=Installationsfilerna r felaktiga. Hmta en ny kopia av programmet +SetupFileCorruptOrWrongVer=Installationsfilerna r felaktiga, eller stmmer ej verens med denna version av installationsprogrammet. Rtta till felet eller hmta en ny programkopia. +InvalidParameter=En ogiltig parameter angavs p kommandoraden:%n%n%1 +SetupAlreadyRunning=Setup krs redan. +WindowsVersionNotSupported=Programmet stdjer inte den version av Windows som krs p datorn. +WindowsServicePackRequired=Programmet krver %1 Service Pack %2 eller nyare. +NotOnThisPlatform=Detta program kan ej kras p %1. +OnlyOnThisPlatform=Detta program mste ha %1. +OnlyOnTheseArchitectures=Detta program kan bara installeras p Windows versioner med fljande processorarkitekturer:%n%n%1 +WinVersionTooLowError=Detta program krver %1, version %2 eller senare. +WinVersionTooHighError=Programmet kan inte installeras p %1 version %2 eller senare. +AdminPrivilegesRequired=Du mste vara inloggad som administratr nr du installerar detta program. +PowerUserPrivilegesRequired=Du mste vara inloggad som administratr eller medlem av gruppen Privilegierade anvndare (Power Users) nr du installerar detta program. +SetupAppRunningError=Installationsprogrammet har upptckt att %1 r igng.%n%nAvsluta det angivna programmet nu. Klicka sedan p OK fr att g vidare, eller p Avbryt fr att avsluta. +UninstallAppRunningError=Avinstalleraren har upptckt att %1 krs fr tillfllet.%n%nStng all ppna instanser av det nu, klicka sedan p OK fr att g vidare, eller p Avbryt fr att avsluta. +PrivilegesRequiredOverrideTitle=Installationstyp +PrivilegesRequiredOverrideInstruction=Vlj installationstyp +PrivilegesRequiredOverrideText1=%1 kan installeras fr alla anvndare (krver administratons-rttigheter), eller bara fr dig. +PrivilegesRequiredOverrideText2=%1 kan installeras bara fr dig, eller fr alla anvndare (krver administratons-rttigheter). +PrivilegesRequiredOverrideAllUsers=Installera fr &alla anvndare +PrivilegesRequiredOverrideAllUsersRecommended=Installera fr &alla anvndare (rekommenderas) +PrivilegesRequiredOverrideCurrentUser=Installera fr &mig enbart +PrivilegesRequiredOverrideCurrentUserRecommended=Installera fr &mig enbart (rekommenderas) + +; *** Misc. errors + + +ErrorCreatingDir=Kunde inte skapa katalogen "%1" +ErrorTooManyFilesInDir=Kunde inte skapa en fil i katalogen "%1" drfr att den innehller fr mnga filer + +; *** Setup common messages + + +ExitSetupTitle=Avsluta installationen +ExitSetupMessage=Installationen r inte frdig. Om du avslutar nu, kommer programmet inte att installeras.%n%nDu kan kra installationsprogrammet vid ett senare tillflle fr att slutfra installationen.%n%nVill du avbryta installationen? +AboutSetupMenuItem=&Om installationsprogrammet... +AboutSetupTitle=Om installationsprogrammet +AboutSetupMessage=%1 version %2%n%3%n%n%1 hemsida:%n%4 +AboutSetupNote=Svensk versttning r gjord av dickg@go.to 1999, 2002%n%nUppdatering till 3.0.2+ av peter@peterandlinda.com, 4.+ av stefan@bodingh.se +TranslatorNote= + +; *** Buttons + + +ButtonBack=< &Tillbaka +ButtonNext=&Nsta > +ButtonInstall=&Installera +ButtonOK=OK +ButtonCancel=Avbryt +ButtonYes=&Ja +ButtonYesToAll=Ja till &Allt +ButtonNo=&Nej +ButtonNoToAll=N&ej till allt +ButtonFinish=&Slutfr +ButtonBrowse=&Blddra... +ButtonWizardBrowse=&Blddra... +ButtonNewFolder=Skapa ny katalog + +; *** "Select Language" dialog messages + + +SelectLanguageTitle=Vlj sprk fr installationen +SelectLanguageLabel=Vlj sprk som skall anvndas under installationen: + +; *** Common wizard text + + +ClickNext=Klicka p Nsta fr att fortstta eller p Avbryt fr att avsluta installationen. +BeveledLabel= +BrowseDialogTitle=Vlj katalog +BrowseDialogLabel=Vlj en katalog i listan nedan, klicka sedan p OK. +NewFolderName=Ny katalog + +; *** "Welcome" wizard page + + +WelcomeLabel1=Vlkommen till installationsprogrammet fr [name]. +WelcomeLabel2=Detta kommer att installera [name/ver] p din dator.%n%nDet rekommenderas att du avslutar alla andra program innan du fortstter. Det frebygger konflikter under installationens gng. + +; *** "Password" wizard page + + +WizardPassword=Lsenord +PasswordLabel1=Denna installation r skyddad med lsenord. +PasswordLabel3=Var god ange lsenordet, klicka sedan p Nsta fr att fortstta. Lsenord skiljer p versaler/gemener. +PasswordEditLabel=&Lsenord: +IncorrectPassword=Lsenordet du angav r inkorrekt. Frsk igen. + +; *** "License Agreement" wizard page + + +WizardLicense=Licensavtal +LicenseLabel=Var god och ls fljande viktiga information innan du fortstter. +LicenseLabel3=Var god och ls fljande licensavtal. Du mste acceptera villkoren i avtalet innan du kan fortstta med installationen. +LicenseAccepted=Jag &accepterar avtalet +LicenseNotAccepted=Jag accepterar &inte avtalet + +; *** "Information" wizard pages + + +WizardInfoBefore=Information +InfoBeforeLabel=Var god ls fljande viktiga information innan du fortstter. +InfoBeforeClickLabel=Nr du r klar att fortstta med installationen klickar du p Nsta. +WizardInfoAfter=Information +InfoAfterLabel=Var god ls fljande viktiga information innan du fortstter. +InfoAfterClickLabel=Nr du r klar att fortstta med installationen klickar du p Nsta. + +; *** "User Information" wizard page + + +WizardUserInfo=Anvndarinformation +UserInfoDesc=Var god och fyll i fljande uppgifter. +UserInfoName=&Namn: +UserInfoOrg=&Organisation: +UserInfoSerial=&Serienummer: +UserInfoNameRequired=Du mste fylla i ett namn. + +; *** "Select Destination Directory" wizard page + + +WizardSelectDir=Vlj installationsplats +SelectDirDesc=Var skall [name] installeras? +SelectDirLabel3=Installationsprogrammet kommer att installera [name] i fljande katalog +SelectDirBrowseLabel=Fr att fortstta klickar du p Nsta. Om du vill vlja en annan katalog klickar du p Blddra. +DiskSpaceMBLabel=Programmet krver minst [mb] MB hrddiskutrymme. +CannotInstallToNetworkDrive=Setup kan inte installeras p ntverksdisk. +CannotInstallToUNCPath=Setup kan inte installeras p UNC skvg. +InvalidPath=Du mste skriva en fullstndig skvg med enhetsbeteckning; till exempel:%n%nC:\Program%n%neller en UNC-skvg i formatet:%n%n\\server\resurs +InvalidDrive=Enheten du har valt finns inte eller r inte tillgnglig. Vlj en annan. +DiskSpaceWarningTitle=Ej tillrckligt med diskutrymme +DiskSpaceWarning=Installationsprogrammet behver tminstone %1 KB ledigt diskutrymme fr installationen, men den valda enheten har bara %2 KB tillgngligt.%n%nVill du fortstta nd? +DirNameTooLong=Katalogens namn eller skvg r fr lng. +InvalidDirName=Katalogen du har valt r inte tillgnglig. +BadDirName32=Katalogens namn fr ej innehlla ngot av fljande tecken:%n%n%1 +DirExistsTitle=Katalogen finns +DirExists=Katalogen:%n%n%1%n%nfinns redan. Vill du nd fortstta installationen till den valda katalogen? +DirDoesntExistTitle=Katalogen finns inte +DirDoesntExist=Katalogen:%n%n%1%n%nfinns inte. Vill du skapa den? + +; *** "Select Components" wizard page + + +WizardSelectComponents=Vlj komponenter +SelectComponentsDesc=Vilka komponenter skall installeras? +SelectComponentsLabel2=Vlj de komponenter som du vill ska installeras; avmarkera de komponenter som du inte vill ha. Klicka sedan p Nsta nr du r klar att fortstta. +FullInstallation=Fullstndig installation +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) + + +CompactInstallation=Kompakt installation +CustomInstallation=Anpassad installation +NoUninstallWarningTitle=Komponenter finns +NoUninstallWarning=Installationsprogrammet har upptckt att fljande komponenter redan finns installerade p din dator:%n%n%1%n%nAtt avmarkera dessa komponenter kommer inte att avinstallera dom.%n%nVill du fortstta nd? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Aktuella val krver minst [mb] MB diskutrymme. + +; *** "Select Additional Tasks" wizard page + + +WizardSelectTasks=Vlj extra uppgifter +SelectTasksDesc=Vilka extra uppgifter skall utfras? +SelectTasksLabel2=Markera ytterligare uppgifter att utfra vid installation av [name], tryck sedan p Nsta. + +; *** "Select Start Menu Folder" wizard page + + +WizardSelectProgramGroup=Vlj Startmenykatalogen +SelectStartMenuFolderDesc=Var skall installationsprogrammet placera programmets genvgar? +SelectStartMenuFolderLabel3=Installationsprogrammet kommer att skapa programmets genvgar i fljande katalog. +SelectStartMenuFolderBrowseLabel=Fr att fortstta klickar du p Nsta. Om du vill vlja en annan katalog, klickar du p Blddra. +MustEnterGroupName=Du mste ange en katalog. +GroupNameTooLong=Katalogens namn eller skvg r fr lng. +InvalidGroupName=Katalogen du har valt r inte tillgnglig. +BadGroupName=Katalognamnet kan inte innehlla ngon av fljande tecken:%n%n%1 +NoProgramGroupCheck2=&Skapa ingen Startmenykatalog + +; *** "Ready to Install" wizard page + + +WizardReady=Redo att installera +ReadyLabel1=Installationsprogrammet r nu redo att installera [name] p din dator. +ReadyLabel2a=Tryck p Installera om du vill fortstta, eller p g Tillbaka om du vill granska eller ndra p ngot. +ReadyLabel2b=Vlj Installera fr att pbrja installationen. +ReadyMemoUserInfo=Anvndarinformation: +ReadyMemoDir=Installationsplats: +ReadyMemoType=Installationstyp: +ReadyMemoComponents=Valda komponenter: +ReadyMemoGroup=Startmenykatalog: +ReadyMemoTasks=Extra uppgifter: + +; *** "Preparing to Install" wizard page + + +WizardPreparing=Frbereder installationen +PreparingDesc=Installationsprogrammet frbereder installationen av [name] p din dator. +PreviousInstallNotCompleted=Installationen/avinstallationen av ett tidigare program har inte slutfrts. Du mste starta om datorn fr att avsluta den installationen.%n%nEfter att ha startat om datorn kr du installationsprogrammet igen fr att slutfra installationen av [name]. +CannotContinue=Installationsprogrammet kan inte fortstta. Klicka p Avbryt fr att avsluta. +ApplicationsFound=Fljande program anvnder filer som mste uppdateras av Setup. Vi rekommenderar att du lter Setup automatiskt stnga dessa program. +ApplicationsFound2=Fljande program anvnder filer som mste uppdateras av Setup. Vi rekommenderar att du lter Setup automatiskt stnga dessa program. Efter installationen kommer Setup att frska starta programmen igen. +CloseApplications=&Stng programmen automatiskt +DontCloseApplications=&Stng inte programmen +ErrorCloseApplications=Installationsprogrammet kunde inte stnga alla program. Innan installationen fortstter rekommenderar vi att du stnger alla program som anvnder filer som Setup behver uppdatera. + +; *** "Installing" wizard page + + +WizardInstalling=Installerar +InstallingLabel=Vnta medan [name] installeras p din dator. + +; *** "Setup Completed" wizard page + + +FinishedHeadingLabel=Avslutar installationen av [name] +FinishedLabelNoIcons=[name] har nu installerats p din dator. +FinishedLabel=[name] har nu installerats p din dator. Programmet kan startas genom att vlja ngon av ikonerna. +ClickFinish=Vlj Slutfr fr att avsluta installationen. +FinishedRestartLabel=Fr att slutfra installationen av [name], mste datorn startas om. Vill du starta om nu? +FinishedRestartMessage=Fr att slutfra installationen av [name], mste datorn startas om.%n%nVill du starta om datorn nu? +ShowReadmeCheck=Ja, jag vill se filen LS MIG +YesRadio=&Ja, jag vill starta om datorn nu +NoRadio=&Nej, jag startar sjlv om datorn senare +; used for example as 'Run MyProg.exe' + + +RunEntryExec=Kr %1 +; used for example as 'View Readme.txt' + + +RunEntryShellExec=Ls %1 + +; *** "Setup Needs the Next Disk" stuff + + +ChangeDiskTitle=Installationsprogrammet behver nsta diskett +SelectDiskLabel2=Var god stt i diskett %1 och tryck OK.%n%nOm filerna kan hittas i en annan katalog n den som visas nedan, skriv in rtt skvg eller vlj Blddra. +PathLabel=&Skvg: +FileNotInDir2=Kunde inte hitta filen "%1" i "%2". Var god stt i korrekt diskett eller vlj en annan katalog. +SelectDirectoryLabel=Var god ange skvgen fr nsta diskett. + +; *** Installation phase messages + + +SetupAborted=Installationen slutfrdes inte.%n%nVar god rtta till felet och kr installationen igen. +AbortRetryIgnoreSelectAction=Vlj tgrd +AbortRetryIgnoreRetry=&Frsk igen +AbortRetryIgnoreIgnore=&Ignorera felet och fortstt +AbortRetryIgnoreCancel=Avbryt installationen + +; *** Installation status messages + + +StatusClosingApplications=Stnger program... +StatusCreateDirs=Skapar kataloger... +StatusExtractFiles=Packar upp filer... +StatusCreateIcons=Skapar programikoner... +StatusCreateIniEntries=Skriver INI-vrden... +StatusCreateRegistryEntries=Skriver register-vrden... +StatusRegisterFiles=Registrerar filer... +StatusSavingUninstall=Sparar information fr avinstallation... +StatusRunProgram=Slutfr installationen... +StatusRestartingApplications=Startar om program... +StatusRollback=terstller ndringar... + +; *** Misc. errors + + +ErrorInternal2=Internt fel: %1 +ErrorFunctionFailedNoCode=%1 misslyckades +ErrorFunctionFailed=%1 misslyckades; kod %2 +ErrorFunctionFailedWithMessage=%1 misslyckades; kod %2.%n%3 +ErrorExecutingProgram=Kan inte kra filen:%n%1 + +; *** Registry errors + + +ErrorRegOpenKey=Fel vid ppning av registernyckel:%n%1\%2 +ErrorRegCreateKey=Kan ej skapa registernyckel:%n%1\%2 +ErrorRegWriteKey=Kan ej skriva till registernyckel:%n%1\%2 + +; *** INI errors + + +ErrorIniEntry=Kan inte skriva nytt INI-vrde i filen "%1". +FileAbortRetryIgnoreSkipNotRecommended=&Hoppa ver den hr filen (rekommenderas inte) +FileAbortRetryIgnoreIgnoreNotRecommended=&Ignorera felet och fortstt (rekommenderas inte) +SourceIsCorrupted=Kllfilen r felaktig +SourceDoesntExist=Kllfilen "%1" finns inte +ExistingFileReadOnly2=Den befintliga filen kunde inte bytas ut eftersom den r markerad skrivskyddad. +ExistingFileReadOnlyRetry=&Ta bort skrivskyddad attributet och frsk igen +ExistingFileReadOnlyKeepExisting=&Behll den befintliga filen +ErrorReadingExistingDest=Ett fel uppstod vid frsk att lsa den befintliga filen: +FileExists=Filen finns redan.%n%nVill du skriva ver den? +ExistingFileNewer=Den befintliga filen r nyare n den som ska installeras. Du rekommenderas att behlla den befintliga filen. %n%nVill Du behlla den befintliga filen? +ErrorChangingAttr=Ett fel uppstod vid frsk att ndra attribut p den befintliga filen: +ErrorCreatingTemp=Ett fel uppstod vid ett frsk att skapa installationskatalogen: +ErrorReadingSource=Ett fel uppstod vid ett frsk att lsa kllfilen: +ErrorCopying=Ett fel uppstod vid kopiering av filen: +ErrorReplacingExistingFile=Ett fel uppstod vid ett frsk att erstta den befintliga filen: +ErrorRestartReplace=terstartaErstt misslyckades: +ErrorRenamingTemp=Ett fel uppstod vid ett frsk att byta namn p en fil i installationskatalogen: +ErrorRegisterServer=Kunde inte registrera DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 misslyckades med felkod %1 +ErrorRegisterTypeLib=Kunde inte registrera typbibliotek: %1 +UninstallDisplayNameMark=%1 (%2) +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bit +UninstallDisplayNameMark64Bit=64-bit +UninstallDisplayNameMarkAllUsers=Alla anvndare +UninstallDisplayNameMarkCurrentUser=Nuvarande anvndare + +; *** Post-installation errors + + +ErrorOpeningReadme=Ett fel uppstod vid ppnandet av LS MIG-filen. +ErrorRestartingComputer=Installationsprogrammet kunde inte starta om datorn. Var god gr det manuellt. + +; *** Uninstaller messages + + +UninstallNotFound=Filen "%1" finns inte. Kan inte avinstallera. +UninstallOpenError=Filen "%1" kan inte ppnas. Kan inte avinstallera. +UninstallUnsupportedVer=Avinstallationsloggen "%1" r i ett format som denna version inte knner igen. Kan ej avinstallera +UninstallUnknownEntry=En oknd rad (%1) hittades i avinstallationsloggen +ConfirmUninstall=r du sker p att du vill ta bort %1 och alla tillhrande komponenter? +UninstallOnlyOnWin64=Denna installation kan endast avinstalleras p en 64-bitarsversion av Windows. +OnlyAdminCanUninstall=Denna installation kan endast avinstalleras av en anvndare med administrativa rttigheter. +UninstallStatusLabel=Var god och vnta medan %1 tas bort frn din dator. +UninstalledAll=%1 r nu borttaget frn din dator. +UninstalledMost=Avinstallationen av %1 r nu klar.%n%nEn del filer/kataloger gick ej att ta bort. Dessa kan tas bort manuellt. +UninstalledAndNeedsRestart=Fr att slutfra avinstallationen av %1 mste datorn startas om.%n%nVill du starta om nu? +UninstallDataCorrupted=Filen "%1" r felaktig. Kan inte avinstallera + +; *** Uninstallation phase messages + + +ConfirmDeleteSharedFileTitle=Ta bort delad fil? +ConfirmDeleteSharedFile2=Systemet indikerar att fljande delade fil inte lngre anvnds av ngra program. Vill du ta bort den delade filen?%n%n%1%n%nOm ngot program fortfarande anvnder denna fil och den raderas, kommer programmet kanske att sluta fungera. Om du r osker, vlj Nej. Att lta filen ligga kvar i systemet kommer inte att orsaka ngon skada. +SharedFileNameLabel=Filnamn: +SharedFileLocationLabel=Plats: +WizardUninstalling=Avinstallationsstatus +StatusUninstalling=Avinstallerar %1... + +; *** Shutdown block reasons + + +ShutdownBlockReasonInstallingApp=Installerar %1. +ShutdownBlockReasonUninstallingApp=Avinstallerar %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + + + + +[CustomMessages] +NameAndVersion=%1 version %2 +AdditionalIcons=terstende ikoner: +CreateDesktopIcon=Skapa en ikon p skrivbordet +CreateQuickLaunchIcon=Skapa en ikon i Snabbstartfltet +ProgramOnTheWeb=%1 p Webben +UninstallProgram=Avinstallera %1 +LaunchProgram=Starta %1 +AssocFileExtension=Associera %1 med %2 filnamnstillgg +AssocingFileExtension=Associerar %1 med %2 filnamnstillgg... +AutoStartProgramGroupDescription=Autostart: +AutoStartProgram=Starta automatiskt %1 +AddonHostProgramNotFound=%1 kunde inte hittas i katalogen du valde.%n%nVill du fortstta nd? diff --git a/Greenshot/releases/innosetup/Languages/Tatar.isl b/Greenshot/releases/innosetup/Languages/Tatar.isl new file mode 100644 index 000000000..e55534b0d --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Tatar.isl @@ -0,0 +1,324 @@ +; *** Inno Setup version 5.5.3+ Tatar messages *** +; +; Translate by: Irek Khaziev +; E-Mail: khazirek@mail.ru +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +LanguageName=<0422><0430><0442><0430><0440> +LanguageID=$0444 +LanguageCodePage=65001 + +[Messages] + +; *** Application titles +SetupAppTitle=Урнаштыру +SetupWindowTitle=Урнаштыру — %1 +UninstallAppTitle=Бетерү +UninstallAppFullTitle=Бетерү — %1 + +; *** Misc. common +InformationTitle=Мәгълүмат +ConfirmTitle=Раслау +ErrorTitle=Хата + +; *** SetupLdr messages +SetupLdrStartupMessage=Программа санакка %1 урнаштырачак, дәвам итәргәме? +LdrCannotCreateTemp=Вакытлы файлны ясап булмый. Урнаштыру туктатылды +LdrCannotExecTemp=Вакытлы каталогта файлны башкарып булмады. Урнаштыру туктатылды + +; *** Startup error messages +LastErrorMessage=%1.%n%nХата %2: %3 +SetupFileMissing=%1 файлы урнаштыру папкасында юк. Зинһар, проблеманы юк итегез яки программаның яңа юрамасын алыгыз. +SetupFileCorrupt=Урнаштыру файллары бозык. Зинһар, программаның яңа күчермәсен алыгыз. +SetupFileCorruptOrWrongVer=Урнаштыру файллары бозык яки бу урнаштыру программасы белән туры килми. Зинһар, проблеманы юк итегез яки программаның яңа юрамасын алыгыз. +InvalidParameter=Боерык юлында мөмкин булмаган шарт:%n%n%1 +SetupAlreadyRunning=Урнаштыру программасы инде кабызылган. +WindowsVersionNotSupported=Программа әлеге санакта урнаштырылган Windows юрамасын куллана алмый. +WindowsServicePackRequired=Программа %1 Service Pack %2 яки югарырак таләп итә. +NotOnThisPlatform=Әлеге программада %1 эшләмәячәк. +OnlyOnThisPlatform=Әлеге программаны %1 гына кабызып була. +OnlyOnTheseArchitectures=Программаны урнаштыру Windows юрамаларының түбәндәге процессор корылмалары өчен генә мөмкин:%n%n%1 +MissingWOW64APIs=Эшләгән Windows юрамасында 64-битлы урнаштыру башкару өчен мөмкинлек юк. Проблеманы юк итү өчен яңарту төргәген урнаштырырга кирәк (Service Pack) %1. +WinVersionTooLowError=Программа %1, %2 юрамасы яки югарырак таләп итә. +WinVersionTooHighError=Программа %1, %2 юрамасы яки югарырак белән урнаштырыла алмый. +AdminPrivilegesRequired=Программаны урнаштыру өчен системага Администратор булып керегез. +PowerUserPrivilegesRequired=Программаны урнаштыру өчен системага Администратор яки «Тәҗрибәле кулланучы» (Power Users) булып керергә кирәк). +SetupAppRunningError=Кабызылган %1 нөсхәсе табылды.%n%nЗинһар, барлык кушымта нөсхәләрен ябыгыз, аннары дәвам итү өчен «Ярар» төймәсенә, яки «Баш тарту» төймәсенә чыгу өчен басыгыз. +UninstallAppRunningError=Бетерүче кабызылган %1 нөсхәсен тапты.%n%nЗинһар, барлык кушымта нөсхәләрен ябыгыз, аннары дәвам итү өчен «Ярар» төймәсенә яки «Баш тарту» төймәсенә чыгу өчен басыгыз. + +; *** Misc. errors +ErrorCreatingDir="%1" папкасын ясап булмый +ErrorTooManyFilesInDir="%1" каталогында файлны ясап булмый, чөнки анда бик күп файл + +; *** Setup common messages +ExitSetupTitle=Урнаштыру программасыннан чыгу +ExitSetupMessage=Урнаштыру тәмамланмады. Чыксагыз, программа урнаштырылмаячак.%n%nУрнаштыруны урнаштыру программасын соңрак кабызып тәмамлый аласыз.%n%nУрнаштыру программасыннан чыгаргамы? +AboutSetupMenuItem=&Программа турында... +AboutSetupTitle=Программа турында +AboutSetupMessage=%1, юрама %2%n%3%n%nСәхифәсе %1:%n%4 +AboutSetupNote= +TranslatorNote=Tatar translation by Irek Khaziev, + +; *** Buttons +ButtonBack=< &Кире +ButtonNext=&Алга > +ButtonInstall=&Урнаштырырга +ButtonOK=Ярар +ButtonCancel=Баш тарту +ButtonYes=Ә&йе +ButtonYesToAll=Ә&йе, барысы өчен +ButtonNo=&Юк +ButtonNoToAll=&Юк, барысы өчен +ButtonFinish=&Тәмамларга +ButtonBrowse=&Күзәтү... +ButtonWizardBrowse=&Күзәтү... +ButtonNewFolder=&Яңа папка + +; *** "Select Language" dialog messages +SelectLanguageTitle=Урнаштыру телен сайлагыз +SelectLanguageLabel=Урнаштыру барышында файдаланучы телне сайлагыз: + +; *** Common wizard text +ClickNext=«Алга» дәвам итү, яки урнаштыру программасыннан чыгу өчен «Баш тарту» төймәсенә басыгыз. +BeveledLabel= +BrowseDialogTitle=Папкаларны күзәтү +BrowseDialogLabel=Исемлектән папканы сайлап, «Ярар» төймәсенә басыгыз. +NewFolderName=Яңа папка + +; *** "Welcome" wizard page +WelcomeLabel1=[name] урнаштыру остасына хуш килдегез +WelcomeLabel2=Программа санакка [name/ver] урнаштырачак.%n%nДәвам итү алдыннан барлык башка эшли торган кушымталарны ябарга кирәк. + +; *** "Password" wizard page +WizardPassword=Серсүз +PasswordLabel1=Программа серсүз белән сакланган. +PasswordLabel3=Зинһар, серсүзне кертегез, аннары «Алга» басыгыз. Серсүзләрне теркәүне саклап кертегез. +PasswordEditLabel=&Серсүз: +IncorrectPassword=Керткән серсүз дөрес түгел. Зинһар, кабатлап карагыз. + +; *** "License Agreement" wizard page +WizardLicense=Хокук килешүе +LicenseLabel=Зинһар, дәвам итү алдыннан түбәндәге мөһим мәгълүматны укып чыгыгыз. +LicenseLabel3=Зинһар, Хокук Килешүен укып чыгыгыз. Дәвам итү алдыннан аның шартларын кабул итегез. +LicenseAccepted=&Килешү шартларын кабул итәм +LicenseNotAccepted=&Килешү шартларын кабул итмим + +; *** "Information" wizard pages +WizardInfoBefore=Мәгълүмат +InfoBeforeLabel=Зинһар, дәвам итү алдыннан түбәндәге мөһим мәгълүматны укып чыгыгыз. +InfoBeforeClickLabel=Урнаштыруны дәвам итәргә әзер булгач, «Алга» басыгыз. +WizardInfoAfter=Мәгълүмат +InfoAfterLabel=Зинһар, дәвам итү алдыннан түбәндәге мөһим мәгълүматны укып чыгыгыз. +InfoAfterClickLabel=Урнаштыруны дәвам итәргә әзер булгач, «Алга» басыгыз. + +; *** "User Information" wizard page +WizardUserInfo=Кулланучы турында +UserInfoDesc=Зинһар, үзегез турында мәгълүмат кертегез. +UserInfoName=&Кулланучы исеме һәм фамилиясе: +UserInfoOrg=&Оешма: +UserInfoSerial=&Серия саны: +UserInfoNameRequired=Сез исем кертергә тиеш. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Урнаштыру папкасын сайлау +SelectDirDesc=[name] кайсы папкага урнаштырырга телисез? +SelectDirLabel3=Программа [name] түбәндәге папкага урнаштырылачак. +SelectDirBrowseLabel=Дәвам итү өчен «Алга» басыгыз. Башка папканы сайларга теләсәгез «Күзәтү» сайлагыз. +DiskSpaceMBLabel=Кимендә [mb] Мб тәлинкәдә буш урын кирәк. +CannotInstallToNetworkDrive=Челтәр тәлинкәсенә урнаштыруны башкарып булмый. +CannotInstallToUNCPath=UNC-юл буенча папкага урнаштырып булмый. +InvalidPath=Тәлинкә хәрефе белән тулы юлны күрсәтегез мәсәлән:%n%nC:\APP%n%nяки формада UNC:%n%n\\сервер_исеме\чыганак_исеме +InvalidDrive=Сайлаган тәлинкә яки челтәр юлы юк яки тыелган. Зинһар, башканы сайлагыз. +DiskSpaceWarningTitle=Тәлинкәдә урын җитми +DiskSpaceWarning=Урнаштыру өчен %1 Кб буш урын кирәк, ә сайлаган тәлинкәдә %2 Кб кына бар.%n%nШуңа карамастан урнаштыруны дәвам итәргәме? +DirNameTooLong=Папка исеме яки аңа юл яраган озынлыкны арттыра. +InvalidDirName=Күрсәтелгән папка исеме тыелган. +BadDirName32=Папка исемендә түбәндәге билгеләр була алмый: %n%n%1 +DirExistsTitle=Папка бар +DirExists=Папка%n%n%1%n%бар. Барыбер шул папкага урнаштырыргамы? +DirDoesntExistTitle=Папка юк +DirDoesntExist=Папка%n%n%1%n%nюк. Аны ясаргамы? + +; *** "Select Components" wizard page +WizardSelectComponents=Кисәкләрне сайлау +SelectComponentsDesc=Нинди кисәкләрне урнаштырырга? +SelectComponentsLabel2=Урнаштырырга теләгән кисәкләрне сайлагыз, урнаштырырга кирәк булмаган кисәкләрдән тамганы алыгыз. Дәвам итәргә әзер булгач, «Алга» басыгыз. +FullInstallation=Тулы урнаштыру +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Тыгыз урнаштыру +CustomInstallation=Сайлаулы урнаштыру +NoUninstallWarningTitle=Урнаштырылган кисәкләр +NoUninstallWarning=Урнаштыру программасы санакта түбәндәге урнаштырылган кисәкләрне тапты:%n%n%1%n%nКисәкләрне сайламау, аларны бетермәячәк.%n%nДәвам итәргәме? +ComponentSize1=%1 Кб +ComponentSize2=%1 Мб +ComponentsDiskSpaceMBLabel=Хәзерге сайлау тәлинкәдә [mb] Мб таләп итә + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Өстәмә йомышларны сайлагыз +SelectTasksDesc=Нинди өстәмә йомышлар башкарырга кирәк? +SelectTasksLabel2=[name] урнаштыруы барышында эшләнергә тиеш өстәмә йомышларны сайлагыз, шуннан соң «Алга» басыгыз: + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=«Башлау» менюсында папканы сайлагыз +SelectStartMenuFolderDesc=Урнаштыру программасы ярлыкларны кайда сакларга тиеш? +SelectStartMenuFolderLabel3=Кушымта «Башлау» менюсының түбәндәге папкасында ярлыклар ясаячак. +SelectStartMenuFolderBrowseLabel=Дәвам итү өчен «Алга» басыгыз. Башка папканы сайларга теләсәгез «Күзәтү» сайлагыз. +MustEnterGroupName=Папка исемен кертегез. +GroupNameTooLong=Төркем папкасы исеме яки аңа юл рөхсәт ителгән озынлыкны арттыра. +InvalidGroupName=Күрсәтелгән папка исеме тыелган. +BadGroupName=Папкалар исемендә түбәндәге билгеләр була алмый:%n%n%1 +NoProgramGroupCheck2=«&Башлау» менюсында папка ясамаска + +; *** "Ready to Install" wizard page +WizardReady=Барысы урнаштыруга әзер +ReadyLabel1=Урнаштыру программасы санакка [name] урнаштырырга әзер. +ReadyLabel2a=«Урнаштырырга» дәвам итү, яки урнаштыру рәвешләрен карарга яки үзгәртергә теләсәгез «Артка» басыгыз. +ReadyLabel2b=Дәвам итү өчен «Урнаштырырга» басыгыз. +ReadyMemoUserInfo=Кулланучы турында: +ReadyMemoDir=Урнаштыру папкасы: +ReadyMemoType=Урнаштыру төре: +ReadyMemoComponents=Сайланган кисәкләр: +ReadyMemoGroup=«Башлау» менюсында папка: +ReadyMemoTasks=Өстәмә йомышлар: + +; *** "Preparing to Install" wizard page +WizardPreparing=Урнаштыруга әзерләнү +PreparingDesc=Урнаштыру программасы санакка [name] урнаштыруына әзерләнә. +PreviousInstallNotCompleted=Алдагы программа урнаштыруы яки бетерүе тәмамланмады. Урнаштыруны тәмамлау өчен санакны киредән кабызырга кирәк.%n%nШуннан соң Урнаштыру программасын [name] урнаштыруын тәмамлау өчен яңадан кабызыгыз. +CannotContinue=Урнаштыруны дәвам итеп булмый. Программадан чыгу өчен «Баш тарту» төймәсенә басыгыз. +ApplicationsFound=Түбәндәге кушымталар урнаштыру программасы яңартырга тиеш булган файлларны куллана. Урнаштыру программасына әлеге кушымталарны үзе ябарга рөхсәт бирергә кирәк. +ApplicationsFound2=Түбәндәге кушымталар урнаштыру программасы яңартырга тиеш булган файлларны куллана. Урнаштыру программасына әлеге кушымталарны үзе ябарга рөхсәт бирергә кирәк. Урнаштыру тәмамлангач, урнаштыру программасы яңадан аларны кабызачак. +CloseApplications=&Автоматик рәвештә әлеге кушымталарны ябарга +DontCloseApplications=Ә&леге кушымталарны ябмаска +ErrorCloseApplications=Урнаштыру программасы барлык кушымталарны үзе яба алмады. Яңартылачак файлларны кулланган барлык кушымталарны урнаштыру алдыннан ябарга кирәк. + +; *** "Installing" wizard page +WizardInstalling=Урнаштыру... +InstallingLabel=Зинһар, [name] санакка урнаштырылганын көтегез. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] урнаштыру остасын тәмамлау +FinishedLabelNoIcons=[name] программасы санакка урнаштырылды. +FinishedLabel=[name] программасы санакка урнаштырылды. Кушымтаны туры килүче билгечек аша кабызып була. +ClickFinish=Урнаштыру программасыннан чыгу өчен «Тәмамларга» төймәсенә басыгыз. +FinishedRestartLabel=[name] урнаштыруын тәмамлау өчен санакны киредән кабызырга кирәк. Хәзер аны эшләргәме? +FinishedRestartMessage=[name] урнаштыруын тәмамлау өчен санакны киредән кабызырга кирәк.%n%nХәзер аны эшләргәме? +ShowReadmeCheck=Мин README файлын карарга телим +YesRadio=Ә&йе, санакны хәзер киредән кабызырга +NoRadio=&Юк, кабат кабызуны соңрак башкарам +; used for example as 'Run MyProg.exe' +RunEntryExec=%1 кабызырга +; used for example as 'View Readme.txt' +RunEntryShellExec=%1 карарга + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Түбәндәге тәлинкәне кертергә кирәк +SelectDiskLabel2=Зинһар, %1 тәлинкәсен кертегез һәм «Ярар» төймәсенә басыгыз.%n%nБу тәлинкә файллары, түбәндә күрсәтелгән папкаларда табылмаса, дөрес юлны кертегез яки «Күзәтү» төймәсенә басыгыз. +PathLabel=&Юл: +FileNotInDir2="%1" файлы "%2" табылмады. Зинһар, дөрес тәлинкәне кертегез яки башка папканы сайлагыз. +SelectDirectoryLabel=Зинһар, түбәндәге тәлинкәгә юлны күрсәтегез. + +; *** Installation phase messages +SetupAborted=Урнаштыру тәмамланмады.%n%nЗинһар, проблеманы юк итеп, урнаштыруны яңадан кабызыгыз. +EntryAbortRetryIgnore=«Кабатлау» төймәсенә кабатлау өчен, «Үткәрергә» файлны үткәрү өчен (тәкъдим ителми) яки «Баш тарту» төймәсенә урнаштырудан баш тарту өчен басыгыз. + +; *** Installation status messages +StatusClosingApplications=Кушымталарны ябу... +StatusCreateDirs=Папкаларны ясау... +StatusExtractFiles=Файлларны чишү... +StatusCreateIcons=Программа ярлыкларын ясау... +StatusCreateIniEntries=INI-файлларны ясау... +StatusCreateRegistryEntries=Исемлек язмаларын ясау... +StatusRegisterFiles=Файлларны теркәү +StatusSavingUninstall=Бетерү өчен мәгълүматны саклау... +StatusRunProgram=Урнаштыруны тәмамлау... +StatusRestartingApplications=Кушымталарны киредән кабызу... +StatusRollback=Үзгәртүләрне артка чигү... + +; *** Misc. errors +ErrorInternal2=Эчке хата: %1 +ErrorFunctionFailedNoCode=%1: тоткарлык +ErrorFunctionFailed=%1: тоткарлык; коды %2 +ErrorFunctionFailedWithMessage=1: тоткарлык; коды %2.%n%3 +ErrorExecutingProgram=Файлны башкарып булмый:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Исемлек ачкычын ачуда хата:%n%1\%2 +ErrorRegCreateKey=Исемлек ачкычын ясауда хата:%n%1\%2 +ErrorRegWriteKey=Исемлек ачкычына яздыруда хата:%n%1\%2 + +; *** INI errors +ErrorIniEntry=INI-файлында "%1" язма ясауда хата. + +; *** File copying errors +FileAbortRetryIgnore=«Кабатлау» төймәсенә кабатлау өчен, «Үткәрергә» файлны үткәрү өчен (тәкъдим ителми) яки «Баш тарту» төймәсенә чыгу өчен басыгыз. +FileAbortRetryIgnore2=«Кабатлау» төймәсенә кабатлау өчен, «Үткәрергә» хатаны исәпләмәү өчен (тәкъдим ителми) яки «Баш тарту» төймәсенә чыгу өчен басыгыз. +SourceIsCorrupted=Башлангыч файл бозык +SourceDoesntExist=Башлангыч "%1" файлы юк +ExistingFileReadOnly=Булган файл «уку өчен генә» дип билгеләнгән.%n%n«Кабатлау»төймәсенә «уку өчен генә» аергычны бетерү өчен басыгыз, «Үткәрергә» - файлны үткәрү өчен яки «Баш тарту» төймәсенә чыгу өчен басыгыз. +ErrorReadingExistingDest=Булган файлны укуда хата килеп чыкты: +FileExists=Файл инде бар.%n%nАны кабат яздырыргамы? +ExistingFileNewer=Булган файл урнаштырыла торган файлдан яңарак. Булган файлны сакларга кирәк.%n%nБулган файлны сакларгамы? +ErrorChangingAttr=Булган файлның аергычларын үзгәртүдә хата килеп чыкты: +ErrorCreatingTemp=Билгеләнгән папкада файлны ясауда хата килеп чыкты: +ErrorReadingSource=Башлангыч файлны укуда хата килеп чыкты: +ErrorCopying=Файл күчермәсен ясауда хата килеп чыкты: +ErrorReplacingExistingFile=Булган файлны алмаштыруда хата килеп чыкты: +ErrorRestartReplace=RestartReplace хатасы: +ErrorRenamingTemp=Башкару папкасында файлның исемен алмаштыруда хата килеп чыкты: +ErrorRegisterServer=DLL/OCX теркәп булмый: %1 +ErrorRegSvr32Failed=RegSvr32 башкаруда хата, кире кайту коды %1 +ErrorRegisterTypeLib=Төрләр китапханәсен йөкләп булмый (Type Library): %1 + +; *** Post-installation errors +ErrorOpeningReadme=README файлны ачуда хата килеп чыкты. +ErrorRestartingComputer=Урнаштыру программасы санакны киредән кабыза алмады. Зинһар, аны үзегез башкарыгыз. + +; *** Uninstaller messages +UninstallNotFound="%1" файлы юк, бетерү мөмкин түгел. +UninstallOpenError="%1" файлын ачып булмый. Бетерү мөмкин түгел +UninstallUnsupportedVer="%1" бетерү өчен беркетмә файлы бу бетерү программа юрамасы белән билгеләнмәде. Бетерү мөмкин түгел +UninstallUnknownEntry=Бетерү файлының беркетмәсендә билгесез (%1) ноктасы килеп чыкты +ConfirmUninstall=%1 һәм аның барлык кисәкләрен бетерергәме? +UninstallOnlyOnWin64=Программаны 64-битлы Windows мохитында генә бетереп була. +OnlyAdminCanUninstall=Программа администратор өстенлекләре булган кулланучы белән генә бетерелә ала. +UninstallStatusLabel=Зинһар, көтеп торыгыз %1 санактан бетерелүен. +UninstalledAll=Программа %1 санактан тулысынча бетерелде. +UninstalledMost=%1 бетерүе тәмамланды.%n%nКайбер кисәкләрне бетереп булмады. Аларны үзегез бетерә аласыз. +UninstalledAndNeedsRestart=%1 бетерүен тәмамлау өчен санакны киредән кабызырга кирәк.%n%nХәзер башкарыргамы? +UninstallDataCorrupted="%1" файлы бозык. Бетерү мөмкин түгел. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Бергә файдаланучы файлны бетерергәме? +ConfirmDeleteSharedFile2=Система киләсе бергә файдаланучы файл башка бернинди кушымта белән дә кулланмаганын күрсәтә. Файлны бетерергәме?%n%nБерәр программа һаман әлеге файлны файдаланса, һәм ул бетерелсә, алар дөрес эшли алмаячак. Шикләнсәгез, «Юк» төймәсен сайлагыз. Калдырылган файл системага зарар китермәячәк. +SharedFileNameLabel=Файл исеме: +SharedFileLocationLabel=Урнашуы: +WizardUninstalling=Бетерү халәте +StatusUninstalling=%1 бетерүе... + + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Урнаштыру %1. +ShutdownBlockReasonUninstallingApp=Бетерү %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1, %2 юрамасы +AdditionalIcons=Өстәмә билгечекләр: +CreateDesktopIcon=&Эш өстәлендә билгечек ясарга +CreateQuickLaunchIcon=&Тиз кабызу аслыгында билгечек ясарга +ProgramOnTheWeb=%1 сәхифәсе +UninstallProgram=%1 бетерүе +LaunchProgram=%1 кабызырга +AssocFileExtension=%2 &киңәйтүле файллар белән %1 ялгаргамы? +AssocingFileExtension=%1 %2 файллары белән ялгау... +AutoStartProgramGroupDescription=Үзе кабызу: +AutoStartProgram=Үзе кабызу %1 +AddonHostProgramNotFound=%1 күрсәткән папкада табылмады.%n%nБарыбер дәвам итәргәме? diff --git a/Greenshot/releases/innosetup/Languages/Thai.isl b/Greenshot/releases/innosetup/Languages/Thai.isl new file mode 100644 index 000000000..f0415545b --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Thai.isl @@ -0,0 +1,338 @@ +; Translation made with Stonevoice Translator 2.2 (http://www.stonevoice.com/auto/translator) +; $Translator:NL=%n:TB=%t +; Suwat Yangfuang, Ekachai Omkaew +; suwat.yang@gmail.com, ekaomk@gmail.com +; +; *** Inno Setup version 5.5.3+ Thai messages *** +; +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Thai +LanguageID=$041E +LanguageCodePage=874 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=õԴ +SetupWindowTitle=õԴ - %1 +UninstallAppTitle=¡ԡõԴ +UninstallAppFullTitle=%1 ¡ԡõԴ + +; *** Misc. common +InformationTitle=͸Ժ +ConfirmTitle=׹ѹ +ErrorTitle=ԴҴ + +; *** SetupLdr messages +SetupLdrStartupMessage=õԴ %1. سͧõԴ? +LdrCannotCreateTemp=ö ҧŪǤ õԴ¡ԡ +LdrCannotExecTemp=ö 红ŪǤ õԴ¡ԡ + +; *** Startup error messages +LastErrorMessage=%1.%n%nԴҴͧ %2: %3 +SetupFileMissing= %1 Դó سõԴ駷ó +SetupFileCorrupt=õԴ سõԴ駷ó +SetupFileCorruptOrWrongVer=õԴ١ͧ سõԴ駷ó +InvalidParameter=ԴҴش:%n%n%1 +SetupAlreadyRunning=õԴ駡ѧԹ +WindowsVersionNotSupported=ͧѺѹͧԹǹسҹ +WindowsServicePackRequired=ͧ %1 Service Pack %2 . +NotOnThisPlatform=ӧҹ к %1. +OnlyOnThisPlatform= ͧӧҹк %1. +OnlyOnTheseArchitectures=öԴ Windows 蹷͡ẺѺʶһѵ¡ͧ˹»żŴѧ仹:%n%n%1 +MissingWOW64APIs=蹢ͧ Windows س繵ͧաҹµԴͷӡõԴẺ 64 - bit ͵ͧ䢻ѭҹôԴ Service Pack %1. +WinVersionTooLowError=ͧк %1 %2 +WinVersionTooHighError=ö Դк %1 %2 +AdminPrivilegesRequired=سͧ USER ͧк administrator ͵Դ. +PowerUserPrivilegesRequired=سͧк ¼ҹ 繼к administrator 繼ҹ 㹡 Power Users ͵ͧõԴ +SetupAppRunningError= %1 ѧӧҹ%n%nسһԴ Фԡ ŧ ͷӧҹ ¡ԡ ͨõԴ +UninstallAppRunningError= %1 áѧӧҹ%n%nسһԴ Фԡ ŧ ͷӧҹ ¡ԡ ͨ÷ӧҹ + +; *** Misc. errors +ErrorCreatingDir=öҧ "%1" +ErrorTooManyFilesInDir=öҧ "%1" ӹǹҡԹ + +; *** Setup common messages +ExitSetupTitle=͡ҡ õԴ +ExitSetupMessage=õԴ駨ó Ҥس÷ӧҹҹ%n%nسеͧӡõԴա õԴó%n%nسͧèõԴ? +AboutSetupMenuItem=&ǡѺ õԴ... +AboutSetupTitle=ǡѺ õԴ +AboutSetupMessage=%1 %2%n%3%n%n%1 ྨ:%n%4 +AboutSetupNote= +TranslatorNote= + +; *** Buttons +ButtonBack=< &͹Ѻ +ButtonNext=&ӵ > +ButtonInstall=&Դ +ButtonOK=ŧ +ButtonCancel=¡ԡ +ButtonYes=& +ButtonYesToAll= & +ButtonNo=& +ButtonNoToAll= & +ButtonFinish=& +ButtonBrowse=&͡... +ButtonWizardBrowse=&͡... +ButtonNewFolder=&ҧ + +; *** "Select Language" dialog messages +SelectLanguageTitle=͡ҷͧ +SelectLanguageLabel=͡ ͧҧ õԴ + +; *** Common wizard text +ClickNext=ԡ ӵ > ͷӧҹ ԡ ¡ԡ ÷ӧҹ +BeveledLabel= +BrowseDialogTitle=͡ +BrowseDialogLabel=͡¡ôҹҧҡ鹤ԡ ŧ. +NewFolderName= + +; *** "Welcome" wizard page +WelcomeLabel1=͵͹Ѻ õԴ [name] +WelcomeLabel2=͹õԴ [name/ver] ͧͧس%n%nҢйӤس ԴǢͧ ͹õԴͻͧѹԴ㹡õԴ + +; *** "Password" wizard page +WizardPassword=ʼҹ +PasswordLabel1=õԴ駹 ١ͧѹʼҹ +PasswordLabel3=سʼҹԴ ԡ ӵ ͷӧҹ (Passwords are case-sensitive) +PasswordEditLabel=&ʼҹ: +IncorrectPassword=ʼҹ١ͧ ٳҷͧա + +; *** "License Agreement" wizard page +WizardLicense=ѭ ͵ŧ +LicenseLabel=سҹ ѭҢ͵ŧ Ӥѭ͹ õԴ +LicenseLabel3=سҹ ѭҢ͵ŧ ʴ سͧѺ ͹ ˹ѭ ͹õԴ +LicenseAccepted=ѹ &Ѻ ѭ +LicenseNotAccepted=ѹ &Ѻ ѭ + +; *** "Information" wizard pages +WizardInfoBefore=͸Ժ +InfoBeforeLabel=سҹӤѭ ͹ӡõԴ +InfoBeforeClickLabel=ҤسеԴ ԡ ӵ > +WizardInfoAfter=͸Ժ +InfoAfterLabel=سҹӤѭ ͹ӧҹ鹵͹ +InfoAfterClickLabel=ҤسзӢ鹵͹ ԡ ӵ > + +; *** "User Information" wizard page +WizardUserInfo= Ѻҹ +UserInfoDesc=س ͡ ͧس +UserInfoName=&ҹ +UserInfoOrg=&˹§ҹ +UserInfoSerial= &Serial Number +UserInfoNameRequired=سͧ ͧ͢س + +; *** "Select Destination Location" wizard page +WizardSelectDir=ͧ͡õԴ +SelectDirDesc=Դ [name] ? +SelectDirLabel3=õԴ駨еԴ [name] ŧ仹 +SelectDirBrowseLabel=Թõԡ ӵ > Ҥسͧ͡ԡ ͡... +DiskSpaceMBLabel=õԴ駵ͧͷҧ¡ [mb] MB +CannotInstallToNetworkDrive=õԴöԴѧ͢ +CannotInstallToUNCPath=öԴŧѧ˹ UNC +InvalidPath=سͧ full path with drive letter; ҧ:%nC:\APP +InvalidDrive=س͡ س͡ +DiskSpaceWarningTitle=ͷҧ㹴ʡ§ +DiskSpaceWarning=õԴ駵ͧͷҧ %1 KB س͡ͷҧ %2 KB%n%nسͧõԴ駵? +DirNameTooLong= path Թ. +InvalidDirName=١ͧ. +BadDirName32=öѡѧҡͧ :%n%n%1 +DirExistsTitle= +DirExists=:%n%n%1%n%n㹢й سͧõԴ? +DirDoesntExistTitle=辺 +DirDoesntExist=:%n%n%1%n%n㹢й سͧҧ? + +; *** "Select Components" wizard page +WizardSelectComponents=͡ǹСͺ +SelectComponentsDesc=ǹСͺ˹سͧõԴ? +SelectComponentsLabel2=ͧ͡ǹСͺسͧõԴ; źͧǹСͺسͧ ԡӵ ͤس͡ +FullInstallation=Դ駷ءҧ +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Դ駹·ش +CustomInstallation=˹ǹСͺͧ +NoUninstallWarningTitle=ǹСͺ +NoUninstallWarning=ǹСͺ ͧõԴ㹤ͧس%n%n%1 +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=õԴ駵ͧͷҧ [mb] MB + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=͡÷ӧҹ +SelectTasksDesc=˹÷ӧҹ +SelectTasksLabel2=͡÷ӧҹ ͡õԴ [name] Фԡ ӵ > + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=͡ Start Menu +SelectStartMenuFolderDesc=˹õԴ program's shortcuts? +SelectStartMenuFolderLabel3=õԴ駨ҧ program's shortcuts 仹 Start Menu. +SelectStartMenuFolderBrowseLabel=Թõԡ ӵ > Ҥسͧ͡ԡ ͡... +MustEnterGroupName=سͧ +GroupNameTooLong= path Թ. +InvalidGroupName=١ͧ. +BadGroupName=ö ѡù㹪:%n%n%1 +NoProgramGroupCheck2=&աҧ Start Menu folder + +; *** "Ready to Install" wizard page +WizardReady=еԴ +ReadyLabel1=ѧõԴ [name] ͧ +ReadyLabel2a=ԡ Դ ͵Դ ԡ < ͹Ѻ ʹ١á˹ 㹡õԴ +ReadyLabel2b=ԡ Դ ͵Դ +ReadyMemoUserInfo= Ѻ +ReadyMemoDir=Դ +ReadyMemoType=õԴ +ReadyMemoComponents=ǹСͺ͡Դ +ReadyMemoGroup= Start Menu +ReadyMemoTasks=÷ӧҹ : + +; *** "Preparing to Install" wizard page +WizardPreparing= еԴ +PreparingDesc= ѧ ͵Դ [name] ͧͧس +PreviousInstallNotCompleted=õԴ Ͷʹ͹ ó سͧ restart ͧ õԴ ١ͧó%n%nѧҡ restart ͧ ¡ Setup ա õԴ [name] ١ͧó +CannotContinue=Դöӧҹ سҤԡ ¡ԡ ͡ҡ +ApplicationsFound=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. +ApplicationsFound2=The following applications are using files that need to be updated by Setup. It is recommended that you allow Setup to automatically close these applications. After the installation has completed, Setup will attempt to restart the applications. +CloseApplications=&Automatically close the applications +DontCloseApplications=&Do not close the applications +ErrorCloseApplications=Setup was unable to automatically close all applications. It is recommended that you close all applications using files that need to be updated by Setup before continuing. + +; *** "Installing" wizard page +WizardInstalling=õԴ +InstallingLabel=سѡ ѧԴ [name] 㹤 + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=õԴ [name] ó +FinishedLabelNoIcons=õԴ [name] ͧ ó +FinishedLabel=õԴ [name] ͧ ó سö¡ҡ Icons +ClickFinish=ԡ ͨõԴ +FinishedRestartLabel=õԴ [name] 繵ͧ Restart ͧ سͧ Restart ͧ 㹢й? +FinishedRestartMessage=õԴ [name] 繵ͧ Restart ͧ%n%n سͧ Restart ͧ 㹢й? +ShowReadmeCheck= سͧҹ README +YesRadio=&, restart ѹ +NoRadio=& سͧ Restart ͧ ѧҡ +; used for example as 'Run MyProg.exe' +RunEntryExec=Run %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=View %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=õԴ ͧʡ蹵 +SelectDiskLabel2=سʡ %1 ԡ ŧ%n%n㹴ʡ س١ͧ ԡ ͡ +PathLabel=&Path: +FileNotInDir2= "%1" 辺 "%2"س蹴ʡ١ͧ ͡ѺԴ +SelectDirectoryLabel=سҡ˹ ͧʡ蹵 + +; *** Installation phase messages +SetupAborted=õԴó%n%nس¡ õԴ ա˹ +EntryAbortRetryIgnore=ԡ Retry ͧӧҹա, ԡ Ignore ͢÷ӧҹԴҴ, ԡ Abort ¡ԡõԴ + +; *** Installation status messages +StatusClosingApplications=ѧԴͻपѹ... +StatusCreateDirs=ҧ .. +StatusExtractFiles=â ҧ... +StatusCreateIcons=ҧ Program icons... +StatusCreateIniEntries=ҧ INI entries... +StatusCreateRegistryEntries=ҧ registry entries... +StatusRegisterFiles= Registering ҧ... +StatusSavingUninstall=úѹ֡ ¡ԡõԴ... +StatusRunProgram= õԴ... +StatusRestartingApplications=ѧʵͻपѹ... +StatusRollback=¡׹ 䢷... + +; *** Misc. errors +ErrorInternal2=ԴͼԴҴ (Internal error: %1) +ErrorFunctionFailedNoCode=%1 failed +ErrorFunctionFailed=%1 failed; code %2 +ErrorFunctionFailedWithMessage=%1 failed; code %2.%n%3 +ErrorExecutingProgram=ö:%n%1 + +; *** Registry errors +ErrorRegOpenKey=ԴҴ㹡Դ registry key:%n%1\%2 +ErrorRegCreateKey=ԴҴ㹡ҧ registry key:%n%1\%2 +ErrorRegWriteKey=ԴҴ㹡¹ registry key:%n%1\%2 + +; *** INI errors +ErrorIniEntry=ԴͼԴҴ㹡ҧ¡ INI "%1". + +; *** File copying errors +FileAbortRetryIgnore=ԡ Retry ͧա ԡ Ignore ͢õԴ (й) ԡ Abort ¡ԡõԴ +FileAbortRetryIgnore2=ԡ Retry ͧա ԡ Ignore ͢÷ӧҹ (й) ԡ Abort ¡ԡõԴ +SourceIsCorrupted=鹩Ѻ١ͧ +SourceDoesntExist= "%1" +ExistingFileReadOnly=١˹سѵ Ẻҹҧ( read-only)%n%nԡ Retry ¡ԡسѵԹ ͧա ԡ Ignore ͢õԴ ԡ Abort ¡ԡõԴ +ErrorReadingExistingDest=ԴԴҴҹ: +FileExists=%n%nسͧ¹Ѻ? +ExistingFileNewer=к еԴŧ йس¹Ѻ%n%nسͧ¹Ѻ? +ErrorChangingAttr=ԴԴҴҡ 䢤سѵ: +ErrorCreatingTemp=ԴԴҴҡ ҧзӡõԴ: +ErrorReadingSource=ԴԴҴҡ ҡҹ鹩Ѻ: +ErrorCopying=ԴԴҴҡ ҡ÷: +ErrorReplacingExistingFile=ԴԴҴҡ ҡ¹Ѻ : +ErrorRestartReplace=RestartReplace failed: +ErrorRenamingTemp=ԴԴҴҡ ҡ¹ еԴ: +ErrorRegisterServer=öŧ¹ DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 failed with exit code %1 +ErrorRegisterTypeLib=Unable to register the type library: %1 + +; *** Post-installation errors +ErrorOpeningReadme=ԴԴҴҡ ҡԴ README: +ErrorRestartingComputer=ö Restart سͧ Restart ͧաѧ + +; *** Uninstaller messages +UninstallNotFound= "%1" ö¡ԡõԴ +UninstallOpenError= "%1" öԴ ö ¡ԡŧ +UninstallUnsupportedVer=͹õԴѹ֡ "%1" ٻẺѺѺҡ uninstaller ö͹õԴ +UninstallUnknownEntry=¡÷ѡ (%1) ١ѹ֡ͧö͹õԴ +ConfirmUninstall=سͧ¡ԡõԴ %1 ǹСͺ? +UninstallOnlyOnWin64=õԴ駹ö͹õԴ駺 64 - bit Windows ҹ. +OnlyAdminCanUninstall=سͧ к (Administrator) ֧ö¡ԡõԴ +UninstallStatusLabel=سѡ %1 ѧ¡ԡ͡ҡ +UninstalledAll=%1 ¡ԡõԴ ҡͧس +UninstalledMost=%1 ¡ԡõԴó%n%nǹСͺҧҧö͡ س繵ͧźͧ͡ +UninstalledAndNeedsRestart=¡ԡ õԴ %1 سͧ restart ͧ%n%nسͧ restart ͧǹ? +UninstallDataCorrupted="%1" ١ͧ ö¡ԡõԴ + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=ź ѹ? +ConfirmDeleteSharedFile2=ź Ҩ ҹ%nسͧ ź?%n%n з鹷ӧҹ١ͧ Ҥس ԡ ͢ź +SharedFileNameLabel= : +SharedFileLocationLabel=˹: +WizardUninstalling=ʶҹ ¡ԡ +StatusUninstalling=ѧ¡ԡ %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=ѧԴ %1. +ShutdownBlockReasonUninstallingApp=ѧ¡ԡ %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 ѹ %2 +AdditionalIcons=Additional icons: +CreateDesktopIcon=ҧ &ͤ͹ʷͻ +CreateQuickLaunchIcon=ҧ &ͤ͹ᶺǹ +ProgramOnTheWeb=%1 +UninstallProgram=¡ԡ %1 +LaunchProgram=Դ %1 +AssocFileExtension=&Associate %1 with the %2 file extension +AssocingFileExtension=Associating %1 with the %2 file extension... diff --git a/Greenshot/releases/innosetup/Languages/Uyghur.islu b/Greenshot/releases/innosetup/Languages/Uyghur.islu new file mode 100644 index 000000000..1f702c7a5 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Uyghur.islu @@ -0,0 +1,338 @@ +; *** Inno Setup version 5.5.3+ Uyghur messages *** +; Translated by Irshat ghalib [ uqkun09@msn.cn ] +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note:When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. + +LanguageName=ئۇيغۇرچە +LanguageID=$0480 +LanguageCodePage=0 + +;If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +DialogFontName=ALKATIP +;DialogFontSize=12 +WelcomeFontName=ALKATIP +;WelcomeFontSize=18 +TitleFontName=ALKATIP +;TitleFontSize=35 +CopyrightFontName=ALKATIP +;CopyrightFontSize=11 + +[Messages] + +; ‫*** ‫Application ‫titles +SetupAppTitle=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى +SetupWindowTitle=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫- ‫%1 +UninstallAppTitle=‫‮‫‫‮‫ئۆچۈرۈش ‫يېتەكچىسى +UninstallAppFullTitle=‫‮‫‫‮‫%1 ‫ئۆچۈرۈش ‫يېتەكچىسى + +; ‫*** ‫Misc. ‫common +InformationTitle=‫‮‫‫‮‫ئۇچۇر +ConfirmTitle=‫‮‫‫‮‫جەزىملەش +ErrorTitle=‫‮‫‫‮‫خاتالىق + +; ‫*** ‫SetupLdr ‫messages +SetupLdrStartupMessage=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫سىزنىڭ ‫كومپيۇتېرىڭىزغا ‫%1نى ‫قاچىلايدۇ. ‫راستتىنلا ‫داۋاملاشتۇرامسىز؟ +LdrCannotCreateTemp=‫‮‫‫‮‫ۋاقىتلىق ‫ھۆججەت ‫قۇرالمىدى. ‫قاچىلاش ‫توختىتىلدى +LdrCannotExecTemp=‫‮‫‫‮‫ۋاقىتلىق ‫ھۆججەت ‫قىسقۇچتىكى ‫ھۆججەت ‫ئىجرا ‫بولمىدى. ‫قاچىلاش ‫توختىتىلدى + +; ‫*** ‫Startup ‫error ‫messages ‫خاتالىق ‫كۆزنىكى +LastErrorMessage=‫‮‫‫‮‫%1.%n%n ‫خاتالىق ‫%2:%3 +SetupFileMissing=‫‮‫‫‮‫قاچىلاش ‫مۇندەرىجىسىدە ‫%1 ‫ھۆججىتى ‫يوق. ‫بۇ ‫مەسىلىنى ‫ھەل ‫قىلىڭ ‫ياكى ‫قايتىدىن ‫بىر ‫نۇسخا ‫كۆچۈرۈلمە ‫دېتالغا ‫ئېرىشىڭ. +SetupFileCorrupt=‫‮‫‫‮‫قاچىلاش ‫ھۆججىتى ‫بۇزۇلغان. ‫قايتىدىن ‫بىر ‫نۇسخا ‫كۆچۈرۈلمە ‫دېتالغا ‫ئېرىشىڭ. +SetupFileCorruptOrWrongVer=‫‮‫‫‮‫قاچىلاش ‫ھۆججىتى ‫بۇزۇلغان، ‫ياكى ‫بۇ ‫قاچىلاش ‫ھۆججىتى ‫مۇقىم ‫ئەمەس. ‫بۇ ‫مەسىلىنى ‫ھەل ‫قىلىڭ، ‫ياكى ‫قاچىلاش ‫ھۆججىتىنى ‫قايتىدىن ‫چۈشۈرۈڭ. +InvalidParameter=‫‮‫‫‮‫ئۈنۈمسىز ‫بۇيرۇق ‫پارامېتىرى:%n%n%1 +SetupAlreadyRunning=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫ئىجرا ‫بولۇۋاتىدۇ. +WindowsVersionNotSupported=‫‮‫‫‮‫دېتال ‫بۇ ‫كومپيۇتېرنىڭ ‫نەشرىنى ‫قوللىمايدۇ. +WindowsServicePackRequired=‫‮‫‫‮‫دېتال ‫%1 ‫Service ‫Pack ‫%2 ‫ياكى ‫ئۇنىڭدىن ‫يۇقىرى ‫نەشرىنى ‫تەلەپ ‫قىلىدۇ. +NotOnThisPlatform=‫‮‫‫‮‫دېتال ‫%1 ‫دە ‫ئىجرا ‫بولمايدۇ. +OnlyOnThisPlatform=‫‮‫‫‮‫دېتال ‫چوقۇم ‫%1دە ‫ئىجرا ‫بولىدۇ. +OnlyOnTheseArchitectures=‫‮‫‫‮‫دېتال ‫پەقەت ‫تۆۋەندىكى ‫CPU ‫بولغان ‫Windows ‫نەشرىگە ‫قاچىلىغىلى ‫بولىدۇ:%n%n%1 +MissingWOW64APIs=‫‮‫‫‮‫كومپيۇتېرىڭىزدا ‫Windows ‫نىڭ ‫64 ‫لىك ‫دېتاللىرى ‫ئىجرا ‫بولمايدۇ.Service ‫Pack ‫%1 ‫ئارقىلىق ‫مەسىلىڭىزنى ‫ھەل ‫قىلىڭ. +WinVersionTooLowError=‫‮‫‫‮‫دېتال ‫%2 ‫نەشرىدىن ‫يۇقىرى ‫بولغان ‫%1 ‫نى ‫تەلەپ ‫قىلىدۇ. +WinVersionTooHighError=‫‮‫‫‮‫دېتال ‫%2 ‫نەشرى ‫ياكى ‫%1 ‫دىن ‫يۇقىرى ‫نەشىرىدە ‫ئىجرا ‫بولىدۇ. +AdminPrivilegesRequired=‫‮‫‫‮‫باشقۇرغۇچىلىق ‫سالاھىيتىدە ‫كىرگەندىن ‫كېيىن ‫ئاندىن ‫بۇ ‫دېتالنى ‫قاچىلالايسىز. +PowerUserPrivilegesRequired=‫‮‫‫‮‫باشقۇرغۇچىلىق ‫سالاھىيتىدە ‫ياكى ‫ئۇنىڭدىن ‫يۇقىرى ‫سالاھىيەتتە ‫كىرگەندىن ‫كېيىن ‫ئاندىن ‫بۇ ‫دېتالنى ‫قاچىلالايسىز. +SetupAppRunningError=‫‮‫‫‮‫دېتال ‫%1 ‫تېخى ‫ئىجرا ‫بولۇۋېتىپتۇ.%n%n ‫بارلىق ‫ئېچىلغان ‫كۆزنەكلەرنى ‫تاقىۋېتىڭ، ‫ئاندىن ‫"مۇقىملاش" ‫نى ‫چېكىپ ‫داۋاملاشتۇرۇڭ، ‫ياكى ‫"قالدۇرۇش" ‫نى ‫چېكىپ ‫چېكىنىڭ. +UninstallAppRunningError=‫‮‫‫‮‫دېتال ‫%1 ‫تېخى ‫ئىجرا ‫بولۇۋېتىپتۇ.%n%n ‫بارلىق ‫ئېچىلغان ‫كۆزنەكلەرنى ‫تاقىۋېتىڭ، ‫ئاندىن ‫"مۇقىملاش" ‫نى ‫چېكىپ ‫داۋاملاشتۇرۇڭ، ‫ياكى ‫"قالدۇرۇش" ‫نى ‫چېكىپ ‫چېكىنىڭ. + +; ‫*** ‫Misc. ‫errors +ErrorCreatingDir=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى"%1" +ErrorTooManyFilesInDir=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ"%1"نىڭ ‫ئىچىدە ‫ھۆججەت ‫بەك ‫كۆپكەن، ‫ئىچىگە ‫ھۆججەت ‫قۇرغىلى ‫بولمىدى + +; ‫*** ‫Setup ‫common ‫messages +ExitSetupTitle=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسىدىن ‫چېكىنىش +ExitSetupMessage=‫‮‫‫‮‫قاچىلاش ‫تاماملانمىدى. ‫ئەگەر ‫ھازىر ‫چېكىنسىڭىز، ‫دېتال ‫قاچىلانمايدۇ.%n%nسىز ‫كېلەر ‫قېتىمدا ‫قاچىلاش ‫يېتەكچىسىنى ‫قايتا ‫قوزغىتىپ ‫قاچىلاشنى ‫تاماملىسىڭىز ‫بولىدۇ.%n%nقاچىلاش ‫يېتەكچىسىدىن ‫راستتىنلا ‫چېكىنەمسىز؟ +AboutSetupMenuItem=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫ھەققىدە(&A)… +AboutSetupTitle=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫ھەققىدە +AboutSetupMessage=‫‮‫‫‮‫%1 ‫نەشرى ‫%2%n%3%n%n%1 ‫تور ‫بېكىتى:%n%4 +AboutSetupNote=‫‮‫‫‮‫ +TranslatorNote=‫‮‫‫‮‫ + +; ‫*** ‫Buttons ‫كۇنۇپكىلار +ButtonBack=<ئالدىنقى قەدەم(&B) +ButtonNext=كېيىنكى قەدەم(&N)> +ButtonInstall=قاچىلاش(&I) +ButtonOK=جەزىملەش +ButtonCancel=ئىناۋەتسىز +ButtonYes=ھەئە(&Y) +ButtonYesToAll=ھەممىنى تاللاش(&A) +ButtonNo=ياق(&N) +ButtonNoToAll=ھەممىنى قالدۇرۇش(&O) +ButtonFinish=تامام(&F) +ButtonBrowse=…كۆرۈش(&B) +ButtonWizardBrowse=…كۆرۈش(&R) +ButtonNewFolder=ھۆججەت قىسقۇچ قۇرۇش(&M) + +; ‫*** ‫"Select ‫Language" ‫dialog ‫messages +SelectLanguageTitle=‫‮‫‫‮‫تىل ‫تاللاڭ +SelectLanguageLabel=‫‮‫‫‮‫قاچىلاش ‫جەريانىدا ‫ئىشلىتىدىغان ‫تىلنى ‫تاللاڭ: + +; ‫*** ‫Common ‫wizard ‫text +ClickNext=‫‮‫‫‮‫"كېيىنكى ‫قەدەم"نى ‫چېكىپ ‫داۋاملاشتۇرۇڭ ‫ياكى ‫"ئىناۋەتسىز"نى ‫چېكىپ ‫قاچىلاش ‫يېتەكچىسىدىن ‫چېكىنىڭ. +BeveledLabel=‫‮‫‫‮‫ +BrowseDialogTitle=‫‮‫‫‮‫تاللانغان ‫ھۆججەت ‫قىسقۇچنى ‫كۆرۈش +BrowseDialogLabel=‫‮‫‫‮‫تۆۋەندىكى ‫تىزىملىكتىن ‫ھۆججەت ‫قىسقۇچتىن ‫بىرنى ‫تاللاڭ ‫ھەمدە ‫"جەزىملەش"نى ‫چېكىڭ. +NewFolderName=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫قۇرۇش + +; ‫*** ‫"Welcome" ‫wizard ‫page +WelcomeLabel1=‫‮‫‫‮‫[name]نىڭ ‫قاچىلاش ‫يېتەكچىسىنى ‫ئىشلىتىشىڭىزنى ‫قارشى ‫ئالىمىز +WelcomeLabel2=‫‮‫‫‮‫مەزكۇر ‫قاچىلاش ‫يېتەكچىسى ‫سىزنىڭ ‫كومپيۇتېرىڭىزغا ‫[name/ver]نى ‫قاچىلىماقچى.%n%nمەشغۇلاتنى ‫داۋاملاشتۇرۇشتىن ‫ئىلگىرى ‫باشقا ‫بارلىق ‫دېتاللارنى ‫ئۆچۈرۈۋېتىشىڭىزنى ‫تەۋسىيە ‫قىلىمىز. + +; ‫*** ‫"Password" ‫wizard ‫page +WizardPassword=‫‮‫‫‮‫پارول +PasswordLabel1=‫‮‫‫‮‫مەزكۇر ‫دېتال ‫پارول ‫بىلەن ‫قوغدالغان. +PasswordLabel3=‫‮‫‫‮‫پارولنى ‫كىرگۈزۈڭ ‫ھەمدە ‫"كېيىنكى ‫قەدەم"نى ‫چېكىڭ. ‫پارول ‫چوڭ-كىچىك ‫ھەرپنى ‫پەرقلەندۈرىدۇ. +PasswordEditLabel=پارول(&P): +IncorrectPassword=‫‮‫‫‮‫كىرگۈزگەن ‫پارولىڭىز ‫توغرا ‫بولمىدى. ‫قايتا ‫سىناڭ. + +; ‫*** ‫"License ‫Agreement" ‫wizard ‫page +WizardLicense=‫‮‫‫‮‫ئىجازەت ‫كېلىشىمنامىسى +LicenseLabel=‫‮‫‫‮‫تۆۋەندىكى ‫ئۇچۇرلارنى ‫ئوقۇڭ، ‫ئاندىن ‫كېيىنكى ‫قەدەمگە ‫ئۆتۈڭ. +LicenseLabel3=‫‮‫‫‮‫تۆۋەندىكى ‫ئىجازەت ‫كېلىشىمنامىسىنى ‫ئوقۇڭ. ‫سىز ‫كېلىشىمنامىدىكى ‫ماددىلارغا ‫قوشۇلغاندىلا، ‫قاچىلاشنى ‫داۋاملاشتۇرالايسىز. +LicenseAccepted=كېلىشىمگە قوشۇلىمەن(&A) +LicenseNotAccepted=كېلىشىمگە قوشۇلمايمەن(&D) + +; ‫*** ‫"Information" ‫wizard ‫pages +WizardInfoBefore=ئۇچۇر +InfoBeforeLabel=‫‮‫‫‮‫تۆۋەندىكى ‫ئۇچۇرلارنى ‫ئوقۇپ، ‫كېيىنكى ‫قەدەمگە ‫ئۆتۈڭ. +InfoBeforeClickLabel=‫‮‫‫‮‫قاچىلاشنى ‫داۋاملاشتۇرۇشقا ‫تەييارلىنىپ ‫بولۇپ، ‫"كېيىنكى ‫قەدەم"نى ‫چېكىڭ. +WizardInfoAfter=‫‮‫‫‮‫ئۇچۇر +InfoAfterLabel=‫‮‫‫‮‫تۆۋەندىكى ‫ئۇچۇرلارنى ‫ئوقۇپ، ‫كېيىنكى ‫قەدەمگە ‫ئۆتۈڭ. +InfoAfterClickLabel=‫‮‫‫‮‫قاچىلاشنى ‫داۋاملاشتۇرۇشقا ‫تەييارلىنىپ ‫بولۇپ، ‫"كېيىنكى ‫قەدەم"نى ‫چېكىڭ. + +; ‫*** ‫"User ‫Information" ‫wizard ‫page +WizardUserInfo=‫‮‫‫‮‫ئابۇنت ‫ئۇچۇرى +UserInfoDesc=‫‮‫‫‮‫ئۇچۇرىڭىزنى ‫تولدۇرۇڭ +UserInfoName=ئابۇنت نامى(&U): +UserInfoOrg=ئورگان نامى(&O): +UserInfoSerial=تەرتىپ نومۇرى(&S): +UserInfoNameRequired=‫‮‫‫‮‫ئابۇنت ‫نامىنى ‫چوقۇم ‫تولدۇرىسىز + +; ‫*** ‫"Select ‫Destination ‫Location" ‫wizard ‫page +WizardSelectDir=‫‮‫‫‮‫قاچىلاش ‫ئورنىنى ‫تاللاڭ +SelectDirDesc=‫‮‫‫‮‫[name]نى ‫قەيەرگە ‫قاچىلايسىز؟ +SelectDirLabel3=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫[name]نى ‫تۆۋەندىكى ‫ھۆججەت ‫قىسقۇچقا ‫قاچىلايدۇ. +SelectDirBrowseLabel=‫‮‫‫‮‫"كېيىنكى ‫قەدەم"نى ‫چېكىپ ‫داۋاملاشتۇرۇڭ. ‫ئەگەر ‫باشقا ‫ھۆججەت ‫قىسقۇچنى ‫تاللىماقچى ‫بولسىڭىز ‫"كۆرۈش"نى ‫چېكىڭ. +DiskSpaceMBLabel=‫‮‫‫‮‫دىسكا ‫بوشلۇقىڭىزدا ‫كەم ‫دېگەندە ‫[mb]مېگابايت(MB) ‫بوشلۇقىڭىز ‫بولۇشى ‫كېرەك. +CannotInstallToNetworkDrive=‫‮‫‫‮‫تور ‫قوزغاتقۇچىغا ‫قاچىلىيالمايدۇ. +CannotInstallToUNCPath=‫‮‫‫‮‫UNCيولىغا ‫قاچىلىيالايدۇ. +InvalidPath=‫‮‫‫‮‫دىسكا ‫بەلگىسىنى ‫ئۆز ‫ئىچىگە ‫ئالغان ‫مۇكەممەل ‫يولنى ‫تولدۇرۇشىڭىز ‫كېرەك، ‫مەسىلەن:%n%nC:\دېتال%n%nياكى ‫تۆۋەندىكى ‫فورماتتىكى ‫UNCيولى:%n%n\\مۇلازىمىتېر ‫نامى\ئورتاقلاشقان ‫مۇندەرىجە ‫نامى +InvalidDrive=‫‮‫‫‮‫سىز ‫تاللىغان ‫قوزغاتقۇچ ‫ياكى ‫UNC ‫مەۋجۇت ‫ئەمەس ‫ياكى ‫زىيارەت ‫قىلغىلى ‫بولمايدۇ.باشقا ‫بىرىنى ‫تاللاڭ. +DiskSpaceWarningTitle=‫‮‫‫‮‫دىسكا ‫بوشلۇقى ‫يېتىشمىدى +DiskSpaceWarning=‫‮‫‫‮‫ئاز ‫دېگەندە%1(KB) ‫بوشلۇق ‫بولغاندا ‫ئاندىن ‫قاچىلغىلى ‫بولىدۇ، ‫نۆۋەتتىكى ‫دىسكىدا%2(KB) ‫ئىشلەتكىلى ‫بولىدىغان ‫بوشلۇق ‫بار.%n%n ‫داۋاملاشتۇرامسىز؟ +DirNameTooLong=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫نامى ‫ياكى ‫يولى ‫بەك ‫ئۇزۇن ‫بولۇپ ‫كەتتى. +InvalidDirName=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫نامى ‫ئۈنۈمسىز. +BadDirName32=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫نامى ‫تۆۋەندىكى ‫ھەرپ-بەلگىلەرنى ‫ئۆز ‫ئىچىگە ‫ئالالمايدۇ:%n%n%1 +DirExistsTitle=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫قۇرۇلۇپ ‫بولغان +DirExists=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ%n%n%1%n%nقۇرۇلۇپ ‫بولغان. ‫راستتىنلا ‫مۇشۇ ‫ھۆججەت ‫قىسقۇچقا ‫قاچىلامسىز؟ +DirDoesntExistTitle=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫يوق +DirDoesntExist=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ%n%n%1%n%nيوق. ‫بۇ ‫ھۆججەت ‫قىسقۇچنى ‫قۇرامسىز؟ + +; ‫*** ‫"Select ‫Components" ‫wizard ‫page +WizardSelectComponents=‫‮‫‫‮‫قىستۇرما ‫تاللاش +SelectComponentsDesc=‫‮‫‫‮‫قايسى ‫قىستۇرمىلارنى ‫قاچىلايسىز؟ +SelectComponentsLabel2=‫‮‫‫‮‫قاچىلىماقچى ‫بولغان ‫قىستۇرمىنى ‫تاللاڭ، ‫قاچىلىمايدىغان ‫قىستۇرمىلارنى ‫تازىلىۋىتىڭ. ‫تەييارلىنىپ ‫بولغاندىن ‫كېيىن ‫"كېيىنكى ‫قەدەم"نى ‫چېكىڭ. +FullInstallation=‫‮‫‫‮‫ھەممىنى ‫قاچىلاش +; ‫if ‫possible ‫don't ‫translate ‫'Compact' ‫as ‫'Minimal' ‫(I ‫mean ‫'Minimal' ‫in ‫your ‫language) +CompactInstallation=‫‮‫‫‮‫ئاددىي ‫قاچىلاش +CustomInstallation=‫‮‫‫‮‫ئۆزى ‫بەلگىلەپ ‫قاچىلاش +NoUninstallWarningTitle=‫‮‫‫‮‫قىستۇرما ‫بار +NoUninstallWarning=‫‮‫‫‮‫تۆۋەندىكى ‫سەپلىمىلەرنى ‫قاچىلاپ ‫بولۇپسىز:%n%n%1%n%n ‫تاللاشنى ‫بىكار ‫قىلىڭ.%n%n ‫داۋاملاشتۇرامسىز؟ +ComponentSize1=‫‮‫‫‮‫%1كىلوبايت(KB) +ComponentSize2=‫‮‫‫‮‫%1مېگابايت(MB) +ComponentsDiskSpaceMBLabel=‫‮‫‫‮‫بۇ ‫تۈرگە ‫ئەڭ ‫ئاز ‫بولغاندا ‫[mb](MB) ‫بوشلۇق ‫كېتىدۇ. + +; ‫*** ‫"Select ‫Additional ‫Tasks" ‫wizard ‫page +WizardSelectTasks=‫‮‫‫‮‫قوشۇمچە ‫ۋەزىپە ‫تاللاڭ +SelectTasksDesc=‫‮‫‫‮‫قايسى ‫قوشۇمچە ‫ۋەزىپىلەرنى ‫ئىجرا ‫قىلدۇرىسىز؟ +SelectTasksLabel2=‫‮‫‫‮‫[name]نى ‫قاچىلاۋاتقان ‫ۋاقىتتا ‫ئىجرا ‫قىلدۇرماقچى ‫بولغان ‫ۋەزىپىلەرنى ‫تاللاڭ، ‫ئاندىن ‫"كېيىنكى ‫قەدەم"نى ‫چېكىڭ. + +; ‫*** ‫"Select ‫Start ‫Menu ‫Folder" ‫wizard ‫page +WizardSelectProgramGroup=‫‮‫‫‮‫باشلاش ‫تىزىملىكىدىكى ‫ھۆججەت ‫قىسقۇچنى ‫تاللاڭ +SelectStartMenuFolderDesc=‫‮‫‫‮‫دېتالنىڭ ‫قىسقا ‫يولىنى ‫قەيەرگە ‫قۇرىسىز؟ +SelectStartMenuFolderLabel3=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫تۆۋەندىكى ‫باشلاش ‫تىزىملىكىدىكى ‫ھۆججەت ‫قىسقۇچقا ‫دېتالنىڭ ‫قىسقا ‫يولىنى ‫قۇرىدۇ. +SelectStartMenuFolderBrowseLabel=‫‮‫‫‮‫"كېيىنكى ‫قەدەم"نى ‫چېكىپ ‫داۋاملاشتۇرۇڭ. ‫ئەگەر ‫باشقا ‫ھۆججەت ‫قىسقۇچنى ‫تاللىماقچى ‫بولسىڭىز ‫"كۆرۈش"نى ‫چېكىڭ. +MustEnterGroupName=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچنىڭ ‫نامىنى ‫چوقۇم ‫تولدۇرۇشىڭىز ‫كېرەك +GroupNameTooLong=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫نامى ‫ياكى ‫يولى ‫بەك ‫ئۇزۇن ‫بولۇپ ‫كەتتى. +InvalidGroupName=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫نامى ‫ئۈنۈمسىز. +BadGroupName=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫نامى ‫تۆۋەندىكى ‫ھەرپ-بەلگىلەرنى ‫ئۆز ‫ئىچىگە ‫ئالالمايدۇ:%n%n%1 +NoProgramGroupCheck2=باشلاش تىزىملىكىگە ھۆججەت قىسقۇچ قۇرمايمەن(&D) + +; ‫*** ‫"Ready ‫to ‫Install" ‫wizard ‫page +WizardReady=‫‮‫‫‮‫قاچىلاش ‫تاماملىنىشقا ‫تەييارلاندى +ReadyLabel1=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫تاماملىنىشقا ‫تەييارلاندى، ‫سىزنىڭ ‫كومپيۇتېرىڭىزغا ‫[name]نى ‫قاچىلاشنى ‫باشلايدۇ. +ReadyLabel2a=تەييارلىق پۈتكەن بولسا ‫‮‫‫‮‫"قاچىلاش"نى ‫چېكىپ ‫قاچىلاشنى ‫باشلاڭ. ‫ئەگەر ‫تەڭشەشنى ‫ئۆزگەرتمەكچى ‫ياكى ‫تەكشۈرمەكچى ‫بولسىڭىز ‫"ئالدىنقى ‫قەدەم"نى ‫چېكىڭ. +ReadyLabel2b=‫‮‫‫‮‫"قاچىلاش"نى ‫چېكىپ ‫قاچىلاشنى ‫باشلاڭ. +ReadyMemoUserInfo=‫‮‫‫‮‫ئابۇنت ‫ئۇچۇرى: +ReadyMemoDir=‫‮‫‫‮‫قاچىلاش ‫ئورنى: +ReadyMemoType=‫‮‫‫‮‫قاچىلاش ‫تىپى: +ReadyMemoComponents=‫‮‫‫‮‫تاللانغان ‫قىستۇرمىلار: +ReadyMemoGroup=‫‮‫‫‮‫باشلاش ‫تىزىملىكىدىكى ‫ھۆججەت ‫قىسقۇچ: +ReadyMemoTasks=‫‮‫‫‮‫قوشۇمچە ‫ۋەزىپە: + +; ‫*** ‫"Preparing ‫to ‫Install" ‫wizard ‫page +WizardPreparing=‫‮‫‫‮‫قاچىلاشقا ‫تەييارلاندى +PreparingDesc=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫سىزنىڭ ‫كومپيۇتېرىڭىزغا ‫[name]نى ‫قاچىلاشقا ‫تەييارلىنىۋاتىدۇ. +PreviousInstallNotCompleted=‫‮‫‫‮‫ئالدىنقى ‫قېتىملىق ‫دېتال ‫قاچىلاش/ئۆچۈرۈش ‫تاماملىنالمىدى. ‫سىز ‫كومپيۇتېرنى ‫قايتا ‫قوزغىتىپ ‫ئالدىنقى ‫قېتىملىق ‫قاچىلاشنى ‫تاماملىشىڭىز ‫كېرەك.%n%nكومپيۇتېر ‫قايتا ‫قوزغالغاندىن ‫كېيىن، ‫قاچىلاش ‫يېتەكچىسىنى ‫قايتا ‫ئىجرا ‫قىلىپ ‫[name]نى ‫قاچىلاڭ. +CannotContinue=‫‮‫‫‮‫قاچىلاش ‫داۋاملىشالمايدۇ. ‫"ئىناۋەتسىز"نى ‫چېكىپ ‫چېكىنىڭ. +ApplicationsFound=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫يېڭىلاشتا ‫ئىشلىتىدىغان ‫ھۆججەتنى ‫باشقا ‫دېتال ‫ئىشلىتىۋېتىپتۇ. ‫قاچىلاش ‫يېتەكچىسىنىڭ ‫بۇ ‫پىروگراممىلارنى ‫مەجبۇرىي ‫ئۆچۈرۋېتىشىگە ‫يول ‫قويىشىڭىز ‫كېرەك. +ApplicationsFound2=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫يېڭىلاشتا ‫ئىشلىتىدىغان ‫ھۆججەتنى ‫باشقا ‫دېتال ‫ئىشلىتىۋېتىپتۇ. ‫قاچىلاش ‫يېتەكچىسىنىڭ ‫بۇ ‫پىروگراممىلارنى ‫مەجبۇرىي ‫ئۆچۈرۋېتىشىگە ‫يول ‫قويىشىڭىز ‫كېرەك. ‫قاچىلاش ‫تۈگىگەندە ‫بۇ ‫پىروگراممىلارنى ‫قايتىدىن ‫قوزغىتىدۇ. +CloseApplications=دېتالنى ئاپتوماتىك ئۆچۈرسۇن(&A) +DontCloseApplications=دېتالنى ئاپتوماتىك ئۆچۈرمىسۇن(&D) +ErrorCloseApplications=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫بارلىق ‫پىروگراممىلارنى ‫ئاپتوماتىك ‫ئۆچۈرەلمىدى. ‫كېيىنكى ‫باسقۇچقا ‫ئۆتۈشتى ‫ئاۋۋال ‫بۇ ‫پىروگراممىلارنى ‫چوقۇم ‫ئۆچۈرۋېتىشىڭىز ‫كېرەك. + +; ‫*** ‫"Installing" ‫wizard ‫page +WizardInstalling=‫‮‫‫‮‫قاچىلاۋاتىدۇ +InstallingLabel=‫‮‫‫‮‫سەل ‫ساقلاڭ، ‫قاچىلاش ‫يېتەكچىسى ‫كومپيۇتېرىڭىزغا ‫[name]نى ‫قاچىلاۋاتىدۇ. + +; ‫*** ‫"Setup ‫Completed" ‫wizard ‫page +FinishedHeadingLabel=‫‮‫‫‮‫[name]نى ‫قاچىلاش ‫تامام +FinishedLabelNoIcons=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫كومپيۇتېرىڭىزغا ‫[name]نى ‫قاچىلاپ ‫بولدى. +FinishedLabel=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫كومپيۇتېرىڭىزغا ‫[name]نى ‫قاچىلاپ ‫بولدى. ‫سىز ‫قۇرىۋالغان ‫قىسقا ‫يول ‫ئارقىلىق ‫بۇ ‫دېتالنى ‫ئاچالايسىز. +ClickFinish=‫‮‫‫‮‫"تامام"نى ‫چېكىپ ‫قاچىلاشنى ‫تاماملاڭ. +FinishedRestartLabel=‫‮‫‫‮‫[name]نى ‫قاچىلاشنى ‫تاماملاش ‫ئۈچۈن، ‫قاچىلاش ‫يېتەكچىسى ‫كومپيۇتېرىڭىزنى ‫ ‫قايتا ‫قوزغىتىشى ‫كېرەك. ‫ھازىرلا ‫قايتا ‫قوزغىتامسىز؟ +FinishedRestartMessage=‫‮‫‫‮‫[name]نى ‫قاچىلاشنى ‫تاماملاش ‫ئۈچۈن، ‫قاچىلاش ‫يېتەكچىسى ‫كومپيۇتېرىڭىزنى ‫ ‫قايتا ‫قوزغىتىشى ‫كېرەك.%n%nھازىرلا ‫قايتا ‫قوزغىتامسىز؟ +ShowReadmeCheck=‫‮‫‫‮‫ھەئە، ‫تونۇشتۇرۇش ‫ھۆججىتىنى ‫ئوقۇيمەن +YesRadio=ھەئە، كومپيۇتېرنى ھازىرلا قايتا قوزغىتىمەن(&Y) +NoRadio=ياق، سەل تۇرۇپ ئۆزۈم قايتا قوزغىتىمەن(&N) +; ‫used ‫for ‫example ‫as ‫'Run ‫MyProg.exe' +RunEntryExec=‫‮‫‫‮‫%1نى ‫ئىجرا ‫قىلىش +; ‫used ‫for ‫example ‫as ‫'View ‫Readme.txt' +RunEntryShellExec=‫‮‫‫‮‫تەكشۈرۈۋاتىدۇ ‫%1 + +; ‫*** ‫"Setup ‫Needs ‫the ‫Next ‫Disk" ‫stuff +ChangeDiskTitle=‫‮‫‫‮‫تاللانغان ‫دىسكىنى ‫ئۆزگەرتىڭ +SelectDiskLabel2=‫‮‫‫‮‫دىسكىنى ‫سېلىپ%1 ‫"مۇقىملاش" ‫نى ‫چېكىڭ.%n%n ‫ئەگەر ‫دىسكىدا ‫تۆۋەندىكى ‫ھۆججەت ‫قىسقۇچ ‫يوق ‫بولسا، ‫"كۆرۈش" ‫دىن ‫تاللاڭ. +PathLabel=مۇندەرىجە(&P): +FileNotInDir2=‫‮‫‫‮‫ھۆججەت"%1" ‫"%2"نىڭ ‫ئىچىدە ‫يوقكەن. ‫توغرا ‫بولغان ‫دىسكىنى ‫سېلىڭ ‫ياكى ‫توغرا ‫بولغان ‫ھۆججەت ‫قىسقۇچنى ‫تاللاڭ. +SelectDirectoryLabel=‫‮‫‫‮‫بىر ‫دىسكىنى ‫تاللاڭ + +; ‫*** ‫Installation ‫phase ‫messages +SetupAborted=‫‮‫‫‮‫قاچىلاش ‫تولۇق ‫تاماملانمىدى.%n%nتۆۋەندىكى ‫مەسىلىلەرنى ‫ھەل ‫قىلىپ ‫قايتا ‫قاچىلاڭ. +EntryAbortRetryIgnore=‫‮‫‫‮‫"قايتا ‫سىناش" ‫نى ‫چېكىپ ‫قايتا ‫سىناڭ، ‫"ئۆتكۈزۋېتىش" ‫نى ‫چېكىپ ‫داۋاملاشتۇرۇڭ، ‫"ئاخىرلاشتۇرۇش" ‫نى ‫چېكىپ ‫قاچىلاشنى ‫ئاخىرلاشتۇرۇڭ. + +; ‫*** ‫Installation ‫status ‫messages +StatusClosingApplications=‫‮‫‫‮‫دېتالنى ‫ئۆچۈرۈۋاتىدۇ… +StatusCreateDirs=‫‮‫‫‮‫ھۆججەت ‫قىسقۇچ ‫قۇرۇۋاتىدۇ… +StatusExtractFiles=‫‮‫‫‮‫ھۆججەتنى ‫چىقىرىۋاتىدۇ… +StatusCreateIcons=‫‮‫‫‮‫قىسقا ‫يولىنى ‫قۇرۇۋاتىدۇ… +StatusCreateIniEntries=‫‮‫‫‮‫INI ‫كۆرسەتكۈچىنى ‫قۇرۇۋاتىدۇ… +StatusCreateRegistryEntries=‫‮‫‫‮‫تىزىملاش ‫جەدۋەل ‫كۆرسەتكۈچىنى ‫قۇرۇۋاتىدۇ… +StatusRegisterFiles=‫‮‫‫‮‫تىزىملاش ‫جەدۋەل ‫تۈرىنى ‫قۇرۇۋاتىدۇ… +StatusSavingUninstall=‫‮‫‫‮‫ئۆچۈرۈش ‫ئۇچۇرىنى ‫ساقلاۋاتىدۇ… +StatusRunProgram=‫‮‫‫‮‫قاچىلاشنى ‫تاماملاۋاتىدۇ… +StatusRestartingApplications=‫‮‫‫‮‫دېتالنى ‫قايتا ‫قوزغىتىۋاتىدۇ… +StatusRollback=‫‮‫‫‮‫ئۆزگەرتىشنى ‫بىكار ‫قىلىۋاتىدۇ… + +; ‫*** ‫Misc. ‫errors +ErrorInternal2=‫‮‫‫‮‫ئىچكى ‫خاتالىق:%1 +ErrorFunctionFailedNoCode=‫‮‫‫‮‫%1 ‫مەغلۇپ ‫بولدى +ErrorFunctionFailed=‫‮‫‫‮‫%1 ‫مەغلۇپ ‫بولدى، ‫خاتالىق ‫نومۇرى ‫%2 +ErrorFunctionFailedWithMessage=‫‮‫‫‮‫%1مەغلۇپ ‫بولدى، ‫خاتالىق ‫نومۇرى ‫%2.%n%3 +ErrorExecutingProgram=‫‮‫‫‮‫ئىجرا ‫بولمىغان ‫دېتال:%n%1 + +; ‫*** ‫Registry ‫errors +ErrorRegOpenKey=‫‮‫‫‮‫تىزىملاش ‫جەدۋىلىنى ‫ئاچقاندا ‫يۈز ‫بەرگەن ‫خاتالىق:%n%1\%2 +ErrorRegCreateKey=‫‮‫‫‮‫تىزىملاش ‫جەدۋىلىنى ‫قۇرغاندا ‫يۈز ‫بەرگەن ‫خاتالىق:%n%1\%2 +ErrorRegWriteKey=‫‮‫‫‮‫تىزىملاش ‫جەدۋىلىنى ‫يازغاندا ‫يۈز ‫بەرگەن ‫خاتالىق:%n%1\%2 + +; ‫*** ‫INI ‫errors +ErrorIniEntry=‫‮‫‫‮‫ھۆججەت"%1"نىڭINI ‫تۈرىنى ‫قۇرۇشتا ‫خاتالىق ‫كۆرۈلدى. + +; ‫*** ‫File ‫copying ‫errors +FileAbortRetryIgnore=‫‮‫‫‮‫"قايتا ‫سىناش" ‫نى ‫چېكىپ ‫قايتا ‫سىناڭ، ‫"ئۆتكۈزۋېتىش" ‫نى ‫چېكىپ ‫داۋاملاشتۇرۇڭ(تەۋسىيە ‫قىلىنمايدۇ)، ‫"ئاخىرلاشتۇرۇش" ‫نى ‫چېكىپ ‫قاچىلاشنى ‫ئاخىرلاشتۇرۇڭ. +FileAbortRetryIgnore2=‫‮‫‫‮‫"قايتا ‫سىناش" ‫نى ‫چېكىپ ‫قايتا ‫سىناڭ، ‫"ئۆتكۈزۋېتىش" ‫نى ‫چېكىپ ‫داۋاملاشتۇرۇڭ(تەۋسىيە ‫قىلىنمايدۇ)، ‫"ئاخىرلاشتۇرۇش" ‫نى ‫چېكىپ ‫قاچىلاشنى ‫ئاخىرلاشتۇرۇڭ. +SourceIsCorrupted=‫‮‫‫‮‫ھۆججەت ‫بۇزۇلۇپ ‫كېتىپتۇ +SourceDoesntExist=‫‮‫‫‮‫ھۆججەت ‫"%1" ‫مەۋجۇت ‫ئەمەسكەن +ExistingFileReadOnly=‫‮‫‫‮‫ھازىر ‫بار ‫بولغان ‫ھۆججەتنى ‫پەقەت ‫ئوقۇغىلى ‫بولىدىكەن.%n%n ‫ھۆججەتنىڭ ‫پەقەت ‫ئوقۇغىلى ‫بولىدىغان ‫خاسلىقىنى ‫ئېلىۋېتىپ ‫"قايتا ‫سىناش" ‫نى ‫چېكىڭ, ‫ياكى ‫"ئۆتكۈزۋېتىش" ‫نى ‫چېكىپ ‫ئاتلاپ ‫ئۆتۈپ ‫كېتىڭ, ‫ياكى ‫"ئاخىرلاشتۇرۇش" ‫نى ‫چېكىپ ‫قاچىلاشنى ‫ئاخىرلاشتۇرۇڭ. +ErrorReadingExistingDest=‫‮‫‫‮‫ھۆججەت ‫ئوقۇشتا ‫خاتالىق ‫كۆرۈلدى: +FileExists=‫‮‫‫‮‫ھۆججەت ‫مەۋجۇتكەن.%n%n ‫باستۇرۋېتەمسىز؟ +ExistingFileNewer=‫‮‫‫‮‫ئەسلىدە ‫بار ‫ھۆججەت ‫نەشرى ‫ھازىر ‫قاچىلىماقچى ‫بولغان ‫ھۆججەت ‫نەشرىدىن ‫يېڭىكەن. ‫چوقۇم ‫ساقلاپ ‫قېلىشىڭىز ‫كېرەك.%n%nساقلاپ ‫قالامسىز؟ +ErrorChangingAttr=‫‮‫‫‮‫ھۆججەت ‫خاسلىقىنى ‫ئۆزگەرتىشتە ‫خاتالىق ‫كۆرۈلدى: +ErrorCreatingTemp=‫‮‫‫‮‫ھۆججەت ‫قۇرۇش ‫مەغلۇپ ‫بولدى: +ErrorReadingSource=‫‮‫‫‮‫ھۆججەت ‫ئوقۇشتا ‫خاتالىق ‫كۆرۈلدى: +ErrorCopying=‫‮‫‫‮‫ھۆججەت ‫كۆچۈرۈشتە ‫خاتالىق ‫كۆرۈلدى: +ErrorReplacingExistingFile=‫‮‫‫‮‫ھۆججەت ‫ئالماشتۇرۇش ‫مەغلۇپ ‫بولدى: +ErrorRestartReplace=‫‮‫‫‮‫قايتا ‫ئالماشتۇرۇش ‫مەغلۇپ ‫بولدى: +ErrorRenamingTemp=‫‮‫‫‮‫نىشان ‫مۇندەرىجىنىڭ ‫نامىنى ‫ئۆزگەرتىشتە ‫خاتالىق ‫كۆرۈلدى: +ErrorRegisterServer=‫‮‫‫‮‫تىزىملاش ‫مەغلۇپ ‫بولغان ‫كونتروللار ‫(DLL/OCX):%1 +ErrorRegSvr32Failed=‫‮‫‫‮‫RegSvr32 ‫نى ‫ئىجرا ‫قىلىش ‫مەغلۇپ ‫بولدى، ‫قايتۇرغان ‫قىممەت:%1 +ErrorRegisterTypeLib=‫‮‫‫‮‫تىزىملاش ‫مەغلۇپ ‫بولغان ‫تۈرلەر:%1 + +; ‫*** ‫Post-installation ‫errors +ErrorOpeningReadme=‫‮‫‫‮‫چۈشەندۈرۈش ‫قوللانمىسىنى ‫ئېچىشتا ‫خاتالىق ‫كۆرۈلدى. +ErrorRestartingComputer=‫‮‫‫‮‫قاچىلاش ‫يېتەكچىسى ‫كومپيۇتېرنى ‫قايتا ‫قوزغىتالمىدى. ‫قول ‫ئارقىلىق ‫قايتا ‫قوزغىتىڭ. + +; ‫*** ‫Uninstaller ‫messages +UninstallNotFound=‫‮‫‫‮‫"%1" ‫ھۆججىتى ‫يوق. ‫ئۆچۈرەلمەيدۇ. +UninstallOpenError=‫‮‫‫‮‫"%1" ‫ھۆججىتىنى ‫ئاچالمىدى. ‫ئۆچۈرەلمەيدۇ. +UninstallUnsupportedVer=‫‮‫‫‮‫بۇ ‫قاچىلاش ‫يېتەكچىسى"%1" ‫شەكىلدىكى ‫ئۆچۈرۈش ‫خاتىرىسىنى ‫تونۇيالمىدى.ئۆچۈرۈش ‫مەغلۇپ ‫بولدى. +UninstallUnknownEntry=‫‮‫‫‮‫ئۆچۈرۈش ‫خاتىرىسىدە ‫نامەلۇم ‫تۈر ‫(%1) ‫بايقالدى +ConfirmUninstall=‫‮‫‫‮‫سىز ‫راستتىنلا ‫%1 ‫ۋە ‫بارلىق ‫قىستۇرمىلارنى ‫پاكىز ‫ئۆچۈرۈۋەتمەكچىمۇ؟ +UninstallOnlyOnWin64=‫‮‫‫‮‫بۇ ‫قاچىلانما ‫پەقەت ‫64بىتلىق ‫Windows ‫مۇھىتىدا ‫ئۆچۈرۈلىدۇ. +OnlyAdminCanUninstall=‫‮‫‫‮‫بۇ ‫دېتالنى ‫پەقەت ‫باشقۇرغۇچىلىق ‫سالاھىيتىدىكى ‫ئىشلەتكۈچىلەرلا ‫ئۆچۈرەلەيدۇ. +UninstallStatusLabel=‫‮‫‫‮‫سەل ‫ساقلاڭ، ‫%1نى ‫ئۆچۈرۈۋاتىدۇ. +UninstalledAll=‫‮‫‫‮‫سىزنىڭ ‫كومپيۇتېرىڭىزدىن ‫%1نى ‫ئۆچۈرۈش ‫مۇۋەپپەقىيەتلىك ‫بولدى. +UninstalledMost=‫‮‫‫‮‫%1 ‫ئۆچۈرۈش ‫تاماملاندى.%n%nمەلۇم ‫تۈرلەرنى ‫ئۆچۈرۈش ‫جەريانىدا ‫ئۆچۈرەلمىدى. ‫بۇلارنى ‫قولدا ‫ئۆچۈرۈۋەتسىڭىز ‫بولىدۇ. +UninstalledAndNeedsRestart=‫‮‫‫‮‫%1نى ‫ئۆچۈرۈشنى ‫تاماملاش ‫ئۈچۈن، ‫كومپيۇتېرنى ‫قايتا ‫قوزغىتىشىڭىز ‫كېرەك. ‫%n%nھازىرلا ‫قايتا ‫قوزغىتامسىز؟ +UninstallDataCorrupted=‫‮‫‫‮‫"%1" ‫ھۆججىتى ‫بۇزۇلغان. ‫ئۆچۈرەلمەيدۇ + +; ‫*** ‫Uninstallation ‫phase ‫messages +ConfirmDeleteSharedFileTitle=‫‮‫‫‮‫ئورتاقلاشقان ‫ھۆججەتنى ‫ئۆچۈرەمسىز؟ +ConfirmDeleteSharedFile2=‫‮‫‫‮‫سىستېما ‫تۆۋەندىكى ‫ئورتاق ‫ھۆججەتنى ‫ئىشلەتمەيدۇ. ‫بۇ ‫ئورتاق ‫ھۆججەتنى ‫ئۆچۈرەمسىز؟%n%nئەگەر ‫سىستېما ‫بۇ ‫ھۆججەتنى ‫ئىشلەتسە، ‫ئۆچۈرۈۋەتكەندىن ‫كېيىن ‫سىستېما ‫نورمال ‫ئىشلىمەسلىكى ‫مۇمكىن. ‫مۇقۇملاشتۇرالمىسىڭىز ‫"ياق" ‫نى ‫تاللاڭ. ‫بۇ ‫ھۆججەت ‫قېلىپ ‫قالسا ‫سىستېمىغا ‫ھېچ ‫قانداق ‫ئەكس ‫تەسىرى ‫يوق. +SharedFileNameLabel=‫‮‫‫‮‫ھۆججەت ‫نامى: +SharedFileLocationLabel=‫‮‫‫‮‫ئورنى: +WizardUninstalling=‫‮‫‫‮‫ئۆچۈرۈش ‫ھالىتى +StatusUninstalling=‫‮‫‫‮‫%1نى ‫ئۆچۈرۈۋاتىدۇ… + +; ‫*** ‫Shutdown ‫block ‫reasons +ShutdownBlockReasonInstallingApp=‫‮‫‫‮‫%1نى ‫قاچىلاۋاتىدۇ. +ShutdownBlockReasonUninstallingApp=‫‮‫‫‮‫%1نى ‫ئۆچۈرۈۋاتىدۇ. + +; ‫The ‫custom ‫messages ‫below ‫aren't ‫used ‫by ‫Setup ‫itself, ‫but ‫if ‫you ‫make +; ‫use ‫of ‫them ‫in ‫your ‫scripts, ‫you'll ‫want ‫to ‫translate ‫them. + +[CustomMessages] + +NameAndVersion=‫‮‫‫‮‫%1نىڭ ‫%2 نەشىرى +AdditionalIcons=‫‮‫‫‮‫قوشۇمچە ‫قىسقا ‫يولى: +CreateDesktopIcon=ئۈستەليۈزىگە قىسقا يول قۇرۇش(&D) +CreateQuickLaunchIcon=تېز قوزغىتىش بالدىقىغا قىسقا يول قۇرۇش(&Q) +ProgramOnTheWeb=‫‮‫‫‮‫%1تور ‫بېكەت +UninstallProgram=‫‮‫‫‮‫%1نى ‫ئۆچۈرۈش +LaunchProgram=‫‮‫‫‮‫%1نى ‫ئىجرا ‫قىلىش +AssocFileExtension=‫‮‫‫‮‫%1 ‫بىلەن ‫%2 ‫بولغان ‫ھۆججەت ‫نامىنى ‫باغلاش (&A) +AssocingFileExtension=‫‮‫‫‮‫ھازىر%1 ‫بىلەن ‫%2 ‫بولغان ‫ھۆججەت ‫نامى ‫باغلىنىۋاتىدۇ...… +AutoStartProgramGroupDescription=‫‮‫‫‮‫قوزغىتىش: +AutoStartProgram=‫‮‫‫‮‫%1 ‫نى ‫ئاپتوماتىك ‫قوزغىتىش +AddonHostProgramNotFound=‫‮‫‫‮‫سىز ‫تاللىغان ‫ھۆججەت ‫قىسقۇچتا ‫%1نى ‫تاپالمىدى.%n%nشۇنداقتىمۇ ‫داۋاملاشتۇرامسىز؟ \ No newline at end of file diff --git a/Greenshot/releases/innosetup/Languages/Uzbek.isl b/Greenshot/releases/innosetup/Languages/Uzbek.isl new file mode 100644 index 000000000..5b5217237 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Uzbek.isl @@ -0,0 +1,325 @@ +; *** Inno Setup version 5.5.3+ Uzbek messages *** +; +; Translated from Russian by Shamsiddinov Zafar, zfrx94@mail.ru +; Updated translating version +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +LanguageName=<004F><2018><007A><0062><0065><006B><0063><0068><0061> +LanguageID=$0443 +LanguageCodePage=1251 + +[Messages] + +; *** Application titles +SetupAppTitle=Ornatish +SetupWindowTitle=%1 Ornatish +UninstallAppTitle=Uzoqlashtirish +UninstallAppFullTitle=%1 Uzoqlashtirish + +; *** Misc. common +InformationTitle=Ma'lumot +ConfirmTitle=Tasdiqlash +ErrorTitle=Xatolik + +; *** SetupLdr messages +SetupLdrStartupMessage=Ushbu %1 dasturi sizning kompyuteringizga ornatiladi, davom etirilsinmi? +LdrCannotCreateTemp=Vaqtinchalik faylni yaratib bolmadi. Ornatish bekor qilindi +LdrCannotExecTemp=Vaqtinchalik katalogdagi faylni bajarib bolmadi. Ornatish bekor qilindi + +; *** Startup error messages +LastErrorMessage=%1.%n%nXatolik %2: %3 +SetupFileMissing=%1 fayli ornatish jildda mavjud emas. Iltimos, muammoni bartaraf eting yoki dasturning yangi versiyasini oling. +SetupFileCorrupt=Ornatiladigan fayllar shikastlangan. Iltimos, dasturning yangi toliq nusxasini oling. +SetupFileCorruptOrWrongVer=Ushbu ornatiladigan fayl shikastlangan yoki ornatish dasturi versiyasiga muvofiq emas. Iltimos, muammoni bartaraf eting yoki dasturning yangi nusxasini oling. +InvalidParameter=Buyruqlar satrida ruxsat etilmagan parametr bor:%n%n%1 +SetupAlreadyRunning=Ornatish dasturi allaqachon ishga solingan. +WindowsVersionNotSupported=Ushbu ornatiladigan dastur, Windows versiyasini qollamaydi. +WindowsServicePackRequired=Bu dasturga %1 Service Pack %2 yoki undan oldingi versiya kerak. +NotOnThisPlatform=Bu dastur %1 da ishlamaydi. +OnlyOnThisPlatform=Bu dasturni faqat %1 da ishga solish mumkin. +OnlyOnTheseArchitectures=Ushbu dasturni Windows tizimining quyidagi arxitektorli prossesiriga ornatish mumkin:%n%n%1 +MissingWOW64APIs=Siz ishlatayotgan Windows versiyasida, 64-bitli ornatishni bajarish funksiyasi mavjud emas. Bu muammoni bartaraf etish uchun (Service Pack) %1 paketini ornatish kerak boladi. +WinVersionTooLowError=Bu dasturga %1 versiya %2 yoki undan yuqorisi kerak. +WinVersionTooHighError=Dastur %1 da %2 versiyasida ornatishning imkoni yoq. +AdminPrivilegesRequired=Ushbu dasturni ornatish uchun siz "Admin" tarzida tizimga kirishingiz kerak. +PowerUserPrivilegesRequired=Ushbu dasturni ornatish uchun siz "Admin" yoki (Power Users) tarzida kirishingiz kerak. +SetupAppRunningError=Aynan oz nusxasi ishlab turgani aniqlandi %1.%n%nIltmos, dasturning barcha nusxalarini yoping, songra davom etish uchun OK tugmasini bosing yoki chiqish uchun Bekor qilmoq tugmasini bosing. +UninstallAppRunningError=Uzoqlashtirgich dastur ishga solinganligini aniqladi %1.%n%nIltimos, uzoqlashtirishdan oldin ushbu dasturni yoping, song davom etish uchun OK tugmasini bosing yoki chiqish uchun Bekor qilmoq tugmasini bosing. + +; *** Misc. errors +ErrorCreatingDir="%1" jildini hosil qilib bolmadi +ErrorTooManyFilesInDir="%1" katalogida fayl yaratib bolmadi, unda juda kop fayllar bor + +; *** Setup common messages +ExitSetupTitle=Ornatish dasturidan chiqish +ExitSetupMessage=Ornatish tugallanmadi. Agar chiqsangiz, dastur ornatilmay qoladi.%n%nOrnatishni tugallash uchun dasturga keyinroq kirishingiz ham mumkin.%n%nOrnatish dasturidan chiqilsinmi? +AboutSetupMenuItem=&Dastur haqida... +AboutSetupTitle=Dastur haqida +AboutSetupMessage=%1, versiya %2%n%3%n%nSayt %1:%n%4 +AboutSetupNote= +TranslatorNote=Uzbek translation by Shamsiddinov Zafar // zfrx94@mail.ru + +; *** Buttons +ButtonBack=< &Ortga +ButtonNext=&Keyingi > +ButtonInstall=&Ornatmoq +ButtonOK=OK +ButtonCancel=Bekor qilmoq +ButtonYes=&Ha +ButtonYesToAll=Hammasiga &Ha +ButtonNo=&Yoq +ButtonNoToAll=H&ammasiga Yoq +ButtonFinish=&Tugallamoq +ButtonBrowse=&Tanlov... +ButtonWizardBrowse=&Tanlov... +ButtonNewFolder=&Jild yaratmoq + +; *** "Select Language" dialog messages +SelectLanguageTitle=Ornatish tilini tanlang +SelectLanguageLabel=Ornatish jarayonida ishlatiladigan, tilni tanlang: + +; *** Common wizard text +ClickNext=Davom etish uchun Keyingi tugmasini bosing yoki bekor qilish uchun, Bekor qilmoq tugmasini bosing. +BeveledLabel= +BrowseDialogTitle=Jild tanlovi +BrowseDialogLabel=Royxatdan jildni tanlang va ʻni bosing. +NewFolderName=Yangi jild + +; *** "Welcome" wizard page +WelcomeLabel1=[name]ni Ornatishga Xush kelibsiz +WelcomeLabel2=[name/ver] dasturi sizning kompyuteringizga ornatiladi.%n%nOrnatishdan oldin, boshqa dasturlarni yopish tavsiya etiladi. + +; *** "Password" wizard page +WizardPassword=Parol +PasswordLabel1=Bu dastur parol bilan himoyalangan. +PasswordLabel3=Iltimos, parolni kiriting, songra Keyingi tugmasini bosing. Parol kiritiloyotganda harflar katta-kichikligi inobatga olinishi kerak. +PasswordEditLabel=&Parol: +IncorrectPassword=Siz parolni notogri kirtingiz. Iltimos, qaytadan urinib koring. + +; *** "License Agreement" wizard page +WizardLicense=Litsenzion kelishuv +LicenseLabel=Marhamat, davom etish uchun quyidagi muhim ma'lumotni oqib chiqing. +LicenseLabel3=Iltimos, quyidagi Litsenzion kelishuvni oqib chiqing. Davom etirish oldidan siz kelishuv shartiga rozi bolishingiz kerak. +LicenseAccepted=Men &kelishuv shartiga roziman +LicenseNotAccepted=Men &kelishuv shartiga rozi emasman + +; *** "Information" wizard pages +WizardInfoBefore=Malumot +InfoBeforeLabel=Iltimos, davom etirishdan oldin, quyidagi malumotni oqib chiqing. +InfoBeforeClickLabel=Ornatishga tayyor bolsangiz, Keyingi tugmasini bosing. +WizardInfoAfter=Malumot +InfoAfterLabel=Iltimos, davom etirishdan oldin, muhim malumot bilan tanishib chiqing. +InfoAfterClickLabel=Ornatishga tayyor bolsangiz, Keyingi tugmasini bosing. + +; *** "User Information" wizard page +WizardUserInfo=Foydalanuvchi haqida malumot +UserInfoDesc=Iltimos, ozingiz haqingizda malumot kiriting. +UserInfoName=&Foydalanuvchining ism-sharifi: +UserInfoOrg=&Tashkilot: +UserInfoSerial=&Seriya raqami: +UserInfoNameRequired=Siz ism (nom) kiritishingiz kerak. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Ornatish jildi tanlovi +SelectDirDesc=[name] dasturini qayerga ornatishni xohlaysiz? +SelectDirLabel3=[name] dasturi quyidagi jildga ornatiladi. +SelectDirBrowseLabel=Davom etish uchun Keyingi tugmasini bosing. Agar boshqa jildni tanlamoqchi bolsangiz, unda Tanlov tugmasini bosing. +DiskSpaceMBLabel=Ornatishga [mb] Mb qattiq diskdan bosh joy kerak. +CannotInstallToNetworkDrive=Ornatishni tarmoq qattiq disklarida amalga oshirib bolmaydi. +CannotInstallToUNCPath=Ornatishni UNC-yolagi jildida amalga oshirib bolmadi. +InvalidPath=Siz toliq diskning harflari bilan yolakni korsatishingiz kerak; masalan:%n%nC:\APP%n%nyoki UNC: shaklida%n%n\\server_nomi\resurs_nomi +InvalidDrive=Tanlagan diskingiz yoki tarmoq diski mavjud emas yoki kirishga ruxsat yoq. Iltimos, boshqasini tanlang. +DiskSpaceWarningTitle=Qattiq diskda kerakli bosh joy yoq +DiskSpaceWarning=Ornatishga kamida %1 Kb bosh joy kerak, ammo siz tanlagan diskda %2 Kb bosh joy bor.%n%nKamiga davom etirishni xohlaysizmi? +DirNameTooLong=Jild nomi yoki uning nomining uzunligi ruxsat etilgandan oshgan. +InvalidDirName=Korsatilgan jild nomiga ruxsat yoq. +BadDirName32=Jild nomida quyidagi belgilar bolmasligi kerak: %n%n%1 +DirExistsTitle=Jild mavjud +DirExists=%n%n%1%n%njildi allaqachon mavjud. Ushbu jildga ornatishga hammasi togrimi? +DirDoesntExistTitle=Jild mavjud emas +DirDoesntExist=%n%n%1%n%jildi mavjud emas. Uni hosil qilishni xohlaysizmi? + +; *** "Select Components" wizard page +WizardSelectComponents=Komponentlar tanlovi +SelectComponentsDesc=Qaysi komponentlar ornatilishi kerak? +SelectComponentsLabel2=Kerakli komponentlarni ornatish uchun belgilang; ornatish kerak bolmaganlariga esa belgi olib tashlang. Ornatishga tayyor bolgandan song Keyingi tugmasini bosing. +FullInstallation=Toliq ornatish +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Qulay qilib ornatish +CustomInstallation=Tanlovli ornatish +NoUninstallWarningTitle=Ornatiladigan komponentlar +NoUninstallWarning=Ornatish dasturi aniqladiki, quyidagi komponentlar sizning kompyuteringizga allaqachon ornatilgan:%n%n%1%n%nUlarni ochirmasdan tanlangan komponent(lar)ni bekor qiling.%n%nDavom etasizmi? +ComponentSize1=%1 Kb +ComponentSize2=%1 Mb +ComponentsDiskSpaceMBLabel=Joriy tanlov kamida [mb] Mb qattiq diskda joy oladi. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Qoshimcha topshiriqlarni tanlash +SelectTasksDesc=Qaysi qoshimcha topshiriqlar bajarilishi kerak? +SelectTasksLabel2=[name]ni ornatish davomida qaysi qoshimcha topshiriqlar bajarilishi kerakligini tanlang, undan song Keyingi tugmasini bosing: + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup= menyusida jild tanlovi +SelectStartMenuFolderDesc=Ornatish dasturi qayerga yorliq hosil qilsin? +SelectStartMenuFolderLabel3=Dastur menyusining quyidagi jildiga yorliq hosil qiladi. +SelectStartMenuFolderBrowseLabel=Davom etish uchun Keyingi tugmasini bosing. Agar boshqa jildni tanlashni xohlasangiz, Tanlov tugmasini bosing. +MustEnterGroupName=Jild nomini kiritishingiz kerak. +GroupNameTooLong=Jild guruhi nomi yoki uning yolagi nomi uzunligi cheklovdan oshgan. +InvalidGroupName=Korsatilgan jild nomiga ruxsat etilmagan. +BadGroupName=Jild nomiga quyidagi belgilar bolmasligi kerak:%n%n%1 +NoProgramGroupCheck2= &menyusida jild yaratmaslik + +; *** "Ready to Install" wizard page +WizardReady=Ornatishga barchasi tayyor +ReadyLabel1=Ornatuvchi dasturi [name]ni kompyuteringizga ornatishga tayyor. +ReadyLabel2a=Davom etish uchun Ornatmoq tugmasini bosing, agar siz ornatish tanlovini ozgartirmoqchi bolsangiz Ortga tugmasini bosing. +ReadyLabel2b=Davom etirish uchun Ornatmoq tugmasini bosing. +ReadyMemoUserInfo=Foydalanuvchi haqida malumot: +ReadyMemoDir=Ornatish jildi: +ReadyMemoType=Ornatish turi: +ReadyMemoComponents=Tanlagan komponentlar: +ReadyMemoGroup= menyusidagi jild: +ReadyMemoTasks=Qoshimcha topshiriqlar: + +; *** "Preparing to Install" wizard page +WizardPreparing=Ornatishga tayyorlash +PreparingDesc=Ornatish dasturi kompyuteringizga [name]ni ornatishga tayyorlayapti. +PreviousInstallNotCompleted=Oldingi dastur versiyasini ornatish yoki ochirish tugamadi Ornatish tugallash uchun sizdan kompyuterni qayta qoshish talab etiladi.%n%nQayta qoshilgandan song, [name]ni ornatishni tugallash uchun yangidan Ornatish dasturiga kiring. +CannotContinue=Ornatishni davom etirishning imkoni yoq. Dasturdan chiqish uchun Bekor qilmoq tugmasini bosing. +ApplicationsFound=Quyidagi dastur fayllardan foydalanmoqda, shunday bolsa ham ornatish dasturi uni yangilasi kerak. Ornatish dasturi ushbu dasturni avtomatik yopishi tavsiya etiladi. +ApplicationsFound2=Quyidagi dastur fayllardan foydalanmoqda, shunday bolsa ham ornatish dasturi uni yangilasi kerak. Ornatish dasturi ushbu dasturni avtomatik yopishi tavsiya etiladi. Ornatilib bolgandan song, ornatish dasturi uni qayta ishga solib koradi. +CloseApplications=&Bu dasturni avtomatik yopish +DontCloseApplications=&Bu dasturi yopmang +ErrorCloseApplications=Ornatish dasturi avtomatik hamma dasturlarni yopa olmadi. Ornatishni davom etirishdan oldin hamma taalluqli dasturlarni yopish tavsiya etiladi. + +; *** "Installing" wizard page +WizardInstalling=Ornatilmoqda... +InstallingLabel=Iltimos, [name] dasturi kompyuteringizga ornatilgungacha, kuting. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=[name] dasturini ornatishni tugallash +FinishedLabelNoIcons=[name] dasturi kompyuteringizga ornatildi. +FinishedLabel=[name] dasturi kompyuteringizga ornatildi. Dasturga tegishli yorliq yordamida kirish mumkin. +ClickFinish=Ornatish dasturidan chiqish uchun Tugallamoq tugmasini bosing. +FinishedRestartLabel=[name] ornatishni tugallash uchun komyuterni qayta qoshish kerak. Hoziroq qaytqoshish amalga oshirilsinmi? +FinishedRestartMessage=[name] ornatishni tugallash uchun komyuterni qayta qoshish kerak.%n%nHoziroq qayta qoshilsinmi? +ShowReadmeCheck=Men README faylini korishni xohlayman +YesRadio=&Ha, hoziroq kompyuter qayta qoshilsin +NoRadio=&Yoq, keyinroq +; used for example as 'Run MyProg.exe' +RunEntryExec=%1ni ishga tushirish +; used for example as 'View Readme.txt' +RunEntryShellExec=%1ni korish + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Keyingi diskni joylash kerak +SelectDiskLabel2=Iltimos, %1 diskini qoying va OK tugmasini bosing.%n%nAgar fayllar ushbu diskdagi quyidagi korsatilgan farq qiladigan jilddan topilsa, togri yolakni kiriting yoki Tanlov tugmasini bosing. +PathLabel=&Yolak: +FileNotInDir2="%1" fayli "%2" dan topilmadi. Iltimos, muvofiq diskni qoying yoki boshqa jildni tanlang. +SelectDirectoryLabel=Iltimos, keyingi disk yolagini korsating. + +; *** Installation phase messages +SetupAborted=Ornatishni tugallab bolmadi.%n%nIltimos, muammoni bartaraf eting va qaytadan ornating. +EntryAbortRetryIgnore=Takroran urinib korish uchun tugmasini bosing, faylni otkazib yuborish uchun tugmasini, yoki ornatishni bekor qilish uchun tugmasini bosing. + +; *** Installation status messages +StatusClosingApplications=Dastur yopilmoqda... +StatusCreateDirs=Jild yaratilmoqda... +StatusExtractFiles=Fayllar ornatilmoqda... +StatusCreateIcons=Dastur yorliq(lar) yaratilmoqda... +StatusCreateIniEntries=INI-fayl yaratilmoqda... +StatusCreateRegistryEntries=Ryestrda qaydlar yaratilmoqda... +StatusRegisterFiles=Fayllarni qayd etilmoqda... +StatusSavingUninstall=Uzoqlashtirish uchun malumot yaratilmoqda... +StatusRunProgram=Ornatish tugallanmmoqda... +StatusRestartingApplications=Dastur qayta ishga tushirilmoqda... +StatusRollback=Ornatilganlarni bekor qilish... + +; *** Misc. errors +ErrorInternal2=Ichki xatolik: %1 +ErrorFunctionFailedNoCode=%1: uzilish +ErrorFunctionFailed=%1: uzilish; kod %2 +ErrorFunctionFailedWithMessage=%1: uzilish; kod %2.%n%3 +ErrorExecutingProgram=Faylini bajarib bolmadi:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Ryestr kalitini ochishda xatolik:%n%1\%2 +ErrorRegCreateKey=Ryestr kalitini yaratishda xatolik:%n%1\%2 +ErrorRegWriteKey=Ryestrga yozilmalarni yozishda xatolik:%n%1\%2 + +; *** INI errors +ErrorIniEntry="%1" INI-faylini yozishni yaratishda xatolik. + +; *** File copying errors +FileAbortRetryIgnore=Takrorlash uchun tugmasini, faylni otkazib yuborish uchun (tavsiya etilmaydi) , yoki chiqish uchun tugmasini bosing. +FileAbortRetryIgnore2=Takrorlash uchun tugmasini, xatolikni inobatga olmaslik uchun (tavsiya etilmaydi) , yoki chiqish uchun tugmalaridan birini bosing. +SourceIsCorrupted=Boshlangich fayl shikastlangan +SourceDoesntExist="%1" boshlangich faylni mavjud emas +ExistingFileReadOnly=Mavjud fayl faqat ochish uchun tarzida belgilangan.%n%nfaqat oqish uchun atributini olib tashlash uchun tugmasini bosing, faylni otkazib yuborish uchun , yoki chiqish uchun tugmasini bosing. +ErrorReadingExistingDest=Mavjud fayllarni oqish vaqtida xatolik: +FileExists=Fayl oldindan mavjud.%n%nQayta yozilsinmi? +ExistingFileNewer=Mavjud fayl, ornatiladiganiga nisbatan ancha yangi. Mavjud faylni saqlab qolish tavsiya etiladi.%n%nSiz mavjud faylni saqlab qolishni xohlaysizmi? +ErrorChangingAttr=Mavjud fayl atributini ozgartirish vaqtida xatolik roy berdi: +ErrorCreatingTemp=Belgilangan jildga fayllarni yozish vaqtida xatolik roy berdi: +ErrorReadingSource=Boshlangich faylni oqish vaqtida xatolik roy berdi: +ErrorCopying=Fayllarni nusxallash vaqtida xatolik roy berdi: +ErrorReplacingExistingFile=Mavjud faylni almashtirish vaqtida xatolik roy berdi: +ErrorRestartReplace=RestartReplace xatoligi: +ErrorRenamingTemp=Belgilangan jilddagi faylni qaytanomlashda xatolik roy berdi: +ErrorRegisterServer=DLL/OCXni qayd etib bolmadi: %1 +ErrorRegSvr32Failed=RegSvr32 bajarishda xatolik, qaytish kodi %1 +ErrorRegisterTypeLib=Manba tiplarini qayd etishning imkoni yoq (Type Library): %1 + +; *** Post-installation errors +ErrorOpeningReadme=README faylini ochish vaqtida xatolik. +ErrorRestartingComputer=Ornatish dasturi kompyuterni qayta qosha olmadi. Iltimos, buni ozingiz bajaring. + +; *** Uninstaller messages +UninstallNotFound="%1" fayli mavjud emas, uzoqlashtirishning imkoni yoq. +UninstallOpenError="%1" faylini ochishning imkoni yoq. Dasturni ochirib bolmaydi +UninstallUnsupportedVer=Uzoqlashtirish protokoli "%1" ushbu uzoqlashtirish-dasturi uchun noaniq. Uzoqlashtirishning imkoni yoq +UninstallUnknownEntry=Uzoqlashtirish protokoli uchun faylda nomalum punktga duch kelindi (%1) +ConfirmUninstall=Siz haqiqatan ham %1 dasturining hamma komponentlarini ochirmoqchimisiz? +UninstallOnlyOnWin64=Ushbu dasturni faqat 64-bitli Windows muhitida ochirish mumkin. +OnlyAdminCanUninstall=Bu dasturni faqat "Admin" ochirishi mumkin. +UninstallStatusLabel=Iltimos, %1 dasturi sizning kompyuteringizdan uzoqlashtirilgunga qadar, kutib turing. +UninstalledAll=%1 dasturi toliq kompyuteringizdan uzoqlashtirildi. +UninstalledMost=%1 uzoqlashtirish bajarildi.%n%nBir qancha elementlarni ochirib bolmadi. Siz u(lar)ni ozingiz ochirishingiz mumkin. +UninstalledAndNeedsRestart=%1 uzoqlashtirishni tugallash uchun kompyuterni qayta qoshish kerak boladi.%n%nHoziroq qayta qoshish bajarilsinmi? +UninstallDataCorrupted="%1" fayli shikastlangan. Uzoqlashtirishning imkoni yoq + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Birgalikda ishlatiladigan fayl ochirilsinmi? +ConfirmDeleteSharedFile2=Tizim korsatdiki, quyidagi birgalikda ishlatiladigan fayl boshqa dasturlar tomonidan ishlatilmayapti. Faylni ochirish tasdiqlansinmi?%n%nAgar keyinchalik qandaydir bir dastur bu faylni ishlatmoqchi bolsa lekin fayl ochirilsa, osha dastur soz ishlamasligi mumkin. Agar qolishini xohlasangiz, Yoq ni bosing. Qoloyotgan fayl tizimga xavf solmaydi. +SharedFileNameLabel=Fayl nomi: +SharedFileLocationLabel=Joylashgan joyi: +WizardUninstalling=Uzoqlashtirish holati +StatusUninstalling=%1 ni Uzoqlashtirish... + + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=%1 ni Ornatish. +ShutdownBlockReasonUninstallingApp=%1 ni Uzoqlashtirish. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1, versiya %2 +AdditionalIcons=Qoshimcha yorliqlar: +CreateDesktopIcon=Ishchi stolda yorliq yaratish +CreateQuickLaunchIcon=&Tezkor ishga tushirish panelida yoriliq yaratish +ProgramOnTheWeb=%1ning Internetdagi Sayti +UninstallProgram=%1ni Uzoqlashtirish +LaunchProgram=%1ni Ishga tushirish +AssocFileExtension=%1 fayli bilan, %2 kengaytmada &birikadi +AssocingFileExtension=%1 fayli bilan %2 birikmoqda... +AutoStartProgramGroupDescription=Avtomatik tushirish solish: +AutoStartProgram=Avtomatik %1ni ishga tushirish +AddonHostProgramNotFound=%1 korsatgan jildingizdan topilmadi.%n%nSiz xuddi shunday davom etirmoqchimisiz? diff --git a/Greenshot/releases/innosetup/Languages/Valencian.isl b/Greenshot/releases/innosetup/Languages/Valencian.isl new file mode 100644 index 000000000..e4e1e3552 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Valencian.isl @@ -0,0 +1,322 @@ +; *** Inno Setup version 5.5.3+ Catalan (Valencian) messages *** +; +; Note: This Valencian language file is based on the Catalan one. +; +; Translated by Pau Sells i Garcia (pau.selles@softvalencia.org) Softvalenci Translators Team +; + +[LangOptions] + +LanguageName=Catal<00E0> (valenci<00E0>) +LanguageID=$0803 +LanguageCodePage=1252 + +[Messages] + +; *** Application titles +SetupAppTitle=Installaci +SetupWindowTitle=Installaci - %1 +UninstallAppTitle=Desinstallaci +UninstallAppFullTitle=Desinstallaci - %1 + +; *** Misc. common +InformationTitle=Informaci +ConfirmTitle=Confirmaci +ErrorTitle=Error + +; *** SetupLdr messages +SetupLdrStartupMessage=Este programa installar l'aplicaci %1. Voleu continuar? +LdrCannotCreateTemp=No s'ha pogut crear un fitxer temporal i per aix la installaci es cancellar +LdrCannotExecTemp=No s'ha pogut executar un fitxer a la carpeta temporal i per aix la installaci es cancellar + +; *** Startup error messages +LastErrorMessage=%1.%n%nError %2: %3 +SetupFileMissing=El fitxer %1 no es troba a la carpeta d'installaci. Resoleu el problema o obteniu una cpia nova de l'aplicaci. +SetupFileCorrupt=Els fitxers d'installaci estan malmesos. Heu d'obtindre una cpia nova de l'aplicaci. +SetupFileCorruptOrWrongVer=Els fitxers d'installaci estan malmesos, o sn incompatibles amb esta versi de l'installador. Resoleu el problema manualment o obteniu una cpia nova de l'installador. +InvalidParameter=S'ha passat un parmetre no vlid a la lnia d'ordes:%n%n%1 +SetupAlreadyRunning=La installaci ja s en curs. +WindowsVersionNotSupported=Esta aplicaci no s compatible amb la versi del Windows installada a l'ordinador. +WindowsServicePackRequired=Esta aplicaci necessita el %1 Service Pack %2 o posterior. +NotOnThisPlatform=Esta aplicaci no pot funcionar en %1. +OnlyOnThisPlatform=Esta aplicaci noms funcionar en %1. +OnlyOnTheseArchitectures=Esta aplicaci noms es pot installar en versions de Windows dissenyades per a les segents arquitectures de processador:%n%n%1 +MissingWOW64APIs=Esta versi de Windows no cont la funcionalitat necessria per a realitzar una installaci de 64 bits. Per tal de corregir este problema installeu el Service Pack %1. +WinVersionTooLowError=Esta aplicaci requereix una versi %2 o posterior de %1. +WinVersionTooHighError=Esta aplicaci no es pot installar en %1 versi %2 o posterior. +AdminPrivilegesRequired=Per poder installar esta aplicaci cal tindre privilegis d'administrador. +PowerUserPrivilegesRequired=Per poder installar esta aplicaci cal ser usuari administrador o b membre del grup d'usuaris Power Users. +SetupAppRunningError=L'installador ha detectat que l'aplicaci %1 s'est executant actualment.%n%nTanqueu l'aplicaci i feu clic a Avant per continuar o Cancella per eixir. +UninstallAppRunningError=L'installador ha detectat que l'aplicaci %1 s'est executant actualment.%n%nTanqueu l'aplicaci i feu clic a Avant per continuar o Cancella per eixir. + +; *** Misc. errors +ErrorCreatingDir=El programa d'installaci no ha pogut crear la carpeta %1 +ErrorTooManyFilesInDir=No s'ha pogut crear un fitxer a la carpeta %1 perqu cont massa fitxers + +; *** Setup common messages +ExitSetupTitle=Eixida de la installaci +ExitSetupMessage=La installaci encara no ha finalizat. Si eixiu ara, la installaci es cancellar.%n%nTot i aix, podeu tornar a executar este installador ms tard per completar la installaci.%n%nVoleu eixir de la installaci? +AboutSetupMenuItem=&Quant a la installaci... +AboutSetupTitle=Quant a la installaci +AboutSetupMessage=%1 versi %2%n%3%n%nPgina web de %1:%n%4 +AboutSetupNote= +TranslatorNote=Catalan translation by Pau Sells (pau.selles@softvalencia.org) + +; *** Buttons +ButtonBack=< &Arrere +ButtonNext=&Avant > +ButtonInstall=&Installa +ButtonOK=D'acord +ButtonCancel=Cancella +ButtonYes=&S +ButtonYesToAll=S a &tot +ButtonNo=&No +ButtonNoToAll=N&o a tot +ButtonFinish=&Finalitza +ButtonBrowse=&Navega... +ButtonWizardBrowse=&Navega... +ButtonNewFolder=Crea una carpeta &nova + +; *** "Select Language" dialog messages +SelectLanguageTitle=Selecci de la llengua +SelectLanguageLabel=Seleccioneu la llengua que preferiu durant la installaci: + +; *** Common wizard text +ClickNext=Feu clic Avant per continuar o Cancella per abandonar la installaci. +BeveledLabel= +BrowseDialogTitle=Selecci de carpeta +BrowseDialogLabel=Seleccioneu la carpeta de destinaci i feu clic a D'acord. +NewFolderName=Carpeta nova + +; *** "Welcome" wizard page +WelcomeLabel1=Vos donem la benvinguda a l'auxiliar d'installaci de l'aplicaci [name] +WelcomeLabel2=Este programa installar l'aplicaci [name/ver] a l'ordinador.%n%ns molt recomanable que abans de continuar tanqueu tots els altres programes oberts, per tal d'evitar conflictes durant el procs d'installaci. + +; *** "Password" wizard page +WizardPassword=Contrasenya +PasswordLabel1=Esta installaci est protegida amb una contrasenya. +PasswordLabel3=Introduu la contrasenya i feu clic a Avant per continuar. Esta contrasenya distingeix entre majscules i minscules. +PasswordEditLabel=&Contrasenya: +IncorrectPassword=La contrasenya introduda no s correcta. Torneu-ho a intentar. + +; *** "License Agreement" wizard page +WizardLicense=Acceptaci de la llicencia d's +LicenseLabel=Cal que llegiu i accepteu la llicncia d's abans de continuar. +LicenseLabel3=La llicncia d's especifica amb quins drets i deures est subjecte l'aplicaci que voleu installar. Cal que n'accepteu els termes abans de continuar la installaci. +LicenseAccepted=&Accepte l'acord +LicenseNotAccepted=&No accepte l'acord + +; *** "Information" wizard pages +WizardInfoBefore=Informaci +InfoBeforeLabel=Llegiu la informaci segent abans de continuar. +InfoBeforeClickLabel=Quan estigueu preparat per continuar, feu clic a Avant. +WizardInfoAfter=Informaci +InfoAfterLabel=Llegiu la informaci segent abans de continuar. +InfoAfterClickLabel=Quan estigueu preparat per continuar, feu clic a Avant. + +; *** "User Information" wizard page +WizardUserInfo=Informaci de l'usuari +UserInfoDesc=Introduu la vostra informaci. +UserInfoName=&Nom de l'usuari: +UserInfoOrg=&Organitzaci: +UserInfoSerial=&Nmero de srie: +UserInfoNameRequired=Cal introduir un nom. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Seleccioneu una carpeta de destinaci +SelectDirDesc=On voleu installar l'aplicaci [name]? +SelectDirLabel3=El programa d'installaci installar l'aplicaci [name] a la carpeta segent. +SelectDirBrowseLabel=Per continuar, feu clic a Avant. Si desitgeu seleccionar una altra carpeta, feu clic a Navega. +DiskSpaceMBLabel=Este programa necessita un mnim de [mb] MB d'espai lliure al disc. +CannotInstallToNetworkDrive=La installaci no es pot fer a un disc de xarxa. +CannotInstallToUNCPath=La installaci no es pot fer a un cam UNC. +InvalidPath=Cal donar un cam complet amb lletra d'unitat, per exemple:%n%nC:\Aplicaci%n%no b un cam UNC en la forma:%n%n\\servidor\compartit +InvalidDrive=El disc o cam de xarxa seleccionat no existeix, trieu-ne un altre. +DiskSpaceWarningTitle=No hi ha prou espai al disc +DiskSpaceWarning=El programa d'installaci necessita com a mnim %1 KB d'espai lliure, per el disc seleccionat noms t %2 KB disponibles.%n%nTot i amb aix, desitgeu continuar? +DirNameTooLong=El nom de la carpeta o del cam s massa llarg. +InvalidDirName=El nom de la carpeta no s vlid. +BadDirName32=Un nom de carpeta no pot contindre cap dels carcters segents:%n%n%1 +DirExistsTitle=La carpeta existeix +DirExists=La carpeta:%n%n%1%n%nja existeix. Voleu continuar i installar l'aplicaci en esta carpeta? +DirDoesntExistTitle=La carpeta no existeix +DirDoesntExist=La carpeta:%n%n%1%n%nno existeix. Voleu crear-la? + +; *** "Select Program Group" wizard page +WizardSelectComponents=Selecci de components +SelectComponentsDesc=Quins components voleu installar? +SelectComponentsLabel2=Seleccioneu els components que voleu installar; elimineu els components que no voleu installar. Feu clic a Avant per continuar. +FullInstallation=Installaci completa +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Installaci compacta +CustomInstallation=Installaci personalitzada +NoUninstallWarningTitle=Els components existeixen +NoUninstallWarning=L'auxiliar d'installaci ha detectat que els components segents ja es troben a l'ordinador:%n%n%1%n%nSi no estan seleccionats no es desinstallaran.%n%nVoleu continuar igualment? +ComponentSize1=%1 KB +ComponentSize2=%1 MB +ComponentsDiskSpaceMBLabel=Esta selecci requereix un mnim de [mb] MB d'espai al disc. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Trieu tasques addicionals +SelectTasksDesc=Quines tasques addicionals cal executar? +SelectTasksLabel2=Trieu les tasques addicionals que voleu que siguen executades mentre s'installa l'apliaci [name], i desprs feu clic a Avant. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Trieu la carpeta del men d'inici +SelectStartMenuFolderDesc=On cal situar els enllaos del programa? +SelectStartMenuFolderLabel3=El programa d'installaci crear l'accs directe al programa a la carpeta segent del men d'inici. +SelectStartMenuFolderBrowseLabel=Per continuar, feu clic a Avant. Si desitgeu triar una altra carpeta, feu clic a Navega.... +MustEnterGroupName=Cal introduir un nom de carpeta. +GroupNameTooLong=El nom de la carpeta o del cam s massa llarg. +InvalidGroupName=El nom de la carpeta no s vlid. +BadGroupName=El nom del grup no pot contindre cap dels carcters segents:%n%n%1 +NoProgramGroupCheck2=&No crees una carpeta al men d'inici + +; *** "Ready to Install" wizard page +WizardReady=Preparat per a installar +ReadyLabel1=El programa d'installaci est preparat per a iniciar la installaci de l'aplicaci [name] a l'ordinador. +ReadyLabel2a=Feu clic a Installa per continuar amb la installaci, o Arrere si voleu revisar o modificar les opcions d'installaci. +ReadyLabel2b=Feu clic a Installa per continuar amb la installaci. +ReadyMemoUserInfo=Informaci de l'usuari: +ReadyMemoDir=Carpeta de destinaci: +ReadyMemoType=Tipus d'installaci: +ReadyMemoComponents=Components seleccionats: +ReadyMemoGroup=Carpeta del Men Inici: +ReadyMemoTasks=Tasques addicionals: + +; *** "Preparing to Install" wizard page +WizardPreparing=S'est preparant la installaci +PreparingDesc=S'est preparant la installaci de l'aplicaci [name] a l'ordinador. +PreviousInstallNotCompleted=La installaci o desinstallaci anterior no s'ha dut a terme. Caldr que reinicieu l'ordinador per a finalitzar esta installaci.%n%nDesprs de reiniciar l'ordinador, executeu este programa de nou per completar la installaci de l'aplicaci [name]. +CannotContinue=La installaci no pot continuar. Feu clic a Cancella per a eixir. +ApplicationsFound=Les segents aplicacions estan fent servir fitxers que necessiten ser actualitzats per la installaci. Es recomana que permeteu a la installaci tancar automticament estes aplicacions. +ApplicationsFound2=Les segents aplicacions estan fent servir fitxers que necessiten ser actualitzats per la installaci. Es recomana que permeteu a la installaci tancar automticament estes aplicacions. Desprs de completar la installaci s'intentar reiniciar les aplicacions. +CloseApplications=&Tanca automticament les aplicacions +DontCloseApplications=&No tanques les aplicacions +ErrorCloseApplications=El programa d'installaci no ha pogut tancar automticament totes les aplicacions. Es recomana que abans de continuar tanqueu totes les aplicacions que estan usant fitxers que han de ser actualitzats pel programa d'installaci. + +; *** "Installing" wizard page +WizardInstalling=S'est installant +InstallingLabel=Espereu mentre s'installa l'aplicaci [name] a l'ordinador. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=S'est finalitzant la installaci de l'aplicaci [name] +FinishedLabelNoIcons=La insallaci de l'aplicaci [name] a l'ordinador. +FinishedLabel=La installaci de l'aplicaci [name] a l'ordinador ha finalitzat correctament. Feu clic a qualsevol de les icones creades per a iniciar l'aplicaci. +ClickFinish=Feu clic a Finalitza per a eixir de la installaci. +FinishedRestartLabel=Per completar la installaci de [name] cal reiniciar l'ordinador. Voleu fer-ho ara? +FinishedRestartMessage=Per completar la installaci de l'aplicaci [name] cal reiniciar l'ordinador. Voleu fer-ho ara? +ShowReadmeCheck=S, vull llegir el fitxer LLEGIU-ME.TXT +YesRadio=&S, reinicia l'ordinador ara +NoRadio=&No, reiniciar l'ordinador ms tard +; used for example as 'Run MyProg.exe' +RunEntryExec=Executa %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Mostra %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=L'installador necessita el disc segent +SelectDiskLabel2=Introduu el disc %1 i feu clic a Continua.%n%nSi els fitxers d'este disc indicat es troben en una carpeta diferent, introduu-ne la ubicaci o b feu clic a Navega.... +PathLabel=&Ubicaci: +FileNotInDir2=El fitxer %1 no s'ha trobat en %2. Introduu el disc correcte o escolliu una altra carpeta. +SelectDirectoryLabel=Indiqueu on es troba el disc segent. + +; *** Installation phase messages +SetupAborted=La installaci no ha finalitzat correctament.%n%n%Resoleu el problema i executeu de nou el programa d'installaci. +EntryAbortRetryIgnore=Feu clic a Reintenta per a intentar-ho de nou, Ignora per a continuar igualment, o Abandona per a abandonar la installaci. + +; *** Installation status messages +StatusClosingApplications=S'estan tancant les aplicacions... +StatusCreateDirs=S'estan creant les carpetes... +StatusExtractFiles=S'estan extraient els fitxers... +StatusCreateIcons=S'estan creant les dreceres de l'aplicaci... +StatusCreateIniEntries=S'est modificant el fitxer INI... +StatusCreateRegistryEntries=S'est configurant el registre del sistema... +StatusRegisterFiles=S'estan registrant els fitxers... +StatusSavingUninstall=S'est guardant la informaci de desinstallaci... +StatusRunProgram=S'est finalitzant la installaci... +StatusRestartingApplications=S'estan reiniciant les aplicacions... +StatusRollback=S'estan desfent els canvis... + +; *** Misc. errors +ErrorInternal2=Error intern: %1 +ErrorFunctionFailedNoCode=%1 ha fallat +ErrorFunctionFailed=%1 ha fallat; codi %2 +ErrorFunctionFailedWithMessage=%1 ha fallat; codi %2.%n%3 +ErrorExecutingProgram=No es pot executar el fitxer:%n%1 + +; *** Registry errors +ErrorRegOpenKey=S'ha produt un error en obrir la clau de registre:%n%1\%2 +ErrorRegCreateKey=S'ha produt un error en crear la clau de registre:%n%1\%2 +ErrorRegWriteKey=S'ha produt un error en escriure a la clau de registre:%n%1\%2 + +; *** INI errors +ErrorIniEntry=S'ha produt un error en crear l'entrada INI al fitxer %1. + +; *** File copying errors +FileAbortRetryIgnore=Feu clic a Reintenta per a intentar-ho de nou, Ignora per a saltar-se este fitxer (no recomanat), o Abandona per a abandonar la installaci. +FileAbortRetryIgnore2=Feu clic a Reintenta per a intentar-ho de nou, Ignora per a continuar igualment (no recomanat), o Abandona per a abandonar la installaci. +SourceIsCorrupted=El fitxer d'origen est malms +SourceDoesntExist=El fitxer d'origen %1 no existeix +ExistingFileReadOnly=El fitxer s de noms lectura.%n%nFeu clic a Reintenta per a traure'n l'atribut de noms lectura i tornar-ho a intentar, Ignora per a saltar-se'l (no recomanat), o Abandona per a abandonar la installaci. +ErrorReadingExistingDest=S'ha produt un error en llegir el fitxer: +FileExists=El fitxer ja existeix.%n%nVoleu sobreescriure'l? +ExistingFileNewer=El fitxer existent s ms nou que el que s'intenta installar. Es recomana mantindre el fitxer existent.%n%nVoleu mantindre'l? +ErrorChangingAttr=S'ha produt un error en canviar els atributs del fitxer: +ErrorCreatingTemp=S'ha produt un error en crear un fitxer a la carpeta de destinaci: +ErrorReadingSource=S'ha produt un error en llegir el fitxer d'origen: +ErrorCopying=S'ha produt un error en copiar un fitxer: +ErrorReplacingExistingFile=S'ha produt un error en reemplaar el fitxer existent: +ErrorRestartReplace=Ha fallat reemplaar: +ErrorRenamingTemp=S'ha produt un error en canviar el nom d'un fitxer a la carpeta de destinaci: +ErrorRegisterServer=No s'ha pogut registrar el DLL/OCX: %1 +ErrorRegSvr32Failed=Ha fallat RegSvr32 amb el codi de eixida %1 +ErrorRegisterTypeLib=No s'ha pogut registrar la biblioteca de tipus: %1 + +; *** Post-installation errors +ErrorOpeningReadme=S'ha produt un error en obrir el fitxer LLEGIUME.TXT. +ErrorRestartingComputer=El programa d'installaci no ha pogut reiniciar l'ordinador. Cal fer-ho manualment. + +; *** Uninstaller messages +UninstallNotFound=El fitxer %1 no existeix. No es pot desinstallar. +UninstallOpenError=El fitxer %1 no pot ser obert. No es pot desinstallar +UninstallUnsupportedVer=El fitxer de desinstallaci %1 est en un format no reconegut per esta versi del desinstallador. No es pot desinstallar +UninstallUnknownEntry=S'ha trobat una entrada desconeguda (%1) al fitxer de desinstallaci. +ConfirmUninstall=Esteu segur de voler eliminar completament %1 i tots els seus components? +UninstallOnlyOnWin64=Este programa noms es pot desinstallar en Windows de 64 bits. +OnlyAdminCanUninstall=Este programa noms es pot desinstallar per un usuari amb privilegis d'administrador. +UninstallStatusLabel=Espereu mentre s'elimina l'aplicaci %1 de l'ordinador. +UninstalledAll=L'aplicaci %1 s'ha desinstallat correctament de l'ordinador. +UninstalledMost=L'aplicaci %1 s'ha desinstallat.%n%nAlguns elements no s'han pogut eliminar. Poden ser eliminats manualment. +UninstalledAndNeedsRestart=Per completar la installaci de %1, cal reiniciar l'ordinador.%n%nVoleu fer-ho ara? +UninstallDataCorrupted=El fitxer %1 est malms. No es pot desinstallar. + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Desinstallaci de fitxers compartits +ConfirmDeleteSharedFile2=El sistema indica que el fitxer compartit segent ja no s'utilitza per cap altre programa. Voleu suprimir este fitxer?%n%nSi algun programa encara el fa servir i s eliminat, podria no funcionar correctament. Si no n'esteu segur, trieu No. Deixar el fitxer al sistema no far cap mal. +SharedFileNameLabel=Nom del fitxer: +SharedFileLocationLabel=Ubicaci: +WizardUninstalling=Estat de la desinstallaci +StatusUninstalling=S'est desinstallant: %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=S'est installant %1. +ShutdownBlockReasonUninstallingApp=S'est desinstallant %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +NameAndVersion=%1 versi %2 +AdditionalIcons=Icones addicionals: +CreateDesktopIcon=Crea una drecera a l'&escriptori +CreateQuickLaunchIcon=Crea una drecera a la &barra d'accs rpid +ProgramOnTheWeb=%1 a la Web +UninstallProgram=Desinstalla %1 +LaunchProgram=Executa %1 +AssocFileExtension=&Associa %1 amb l'extensi de fitxer %2 +AssocingFileExtension=S'est associant %1 amb l'extensi de fitxer %2... +AutoStartProgramGroupDescription=Inici: +AutoStartProgram=Inicia automticament l'aplicaci %1 +AddonHostProgramNotFound=No s'ha pogut trobar l'aplicaci %1 a la carpeta seleccionada.%n%nVoleu continuar igualment? \ No newline at end of file diff --git a/Greenshot/releases/innosetup/Languages/Vietnamese.isl b/Greenshot/releases/innosetup/Languages/Vietnamese.isl new file mode 100644 index 000000000..a4b2accf7 --- /dev/null +++ b/Greenshot/releases/innosetup/Languages/Vietnamese.isl @@ -0,0 +1,362 @@ +; *** Inno Setup version 6.0.0+ Vietnamese messages *** +; Translated by Vu Khac Hiep (email: vukhachiep@gmail.com) +; To download user-contributed translations of this file, go to: +; http://www.jrsoftware.org/files/istrans/ +; +; Note: When translating this text, do not add periods (.) to the end of +; messages that didn't have them already, because on those messages Inno +; Setup adds the periods automatically (appending a period would result in +; two periods being displayed). + +[LangOptions] +; The following three entries are very important. Be sure to read and +; understand the '[LangOptions] section' topic in the help file. +LanguageName=Vietnamese +LanguageID=$042A +LanguageCodePage=0 +; If the language you are translating to requires special font faces or +; sizes, uncomment any of the following entries and change them accordingly. +;DialogFontName= +;DialogFontSize=8 +;WelcomeFontName=Verdana +;WelcomeFontSize=12 +;TitleFontName=Arial +;TitleFontSize=29 +;CopyrightFontName=Arial +;CopyrightFontSize=8 + +[Messages] + +; *** Application titles +SetupAppTitle=Cài đặt +SetupWindowTitle=Cài đặt - %1 +UninstallAppTitle=Gỡ cài đặt +UninstallAppFullTitle=Gỡ cài đặt - %1 + +; *** Misc. common +InformationTitle=Thông tin +ConfirmTitle=Xác nhận +ErrorTitle=Lỗi + +; *** SetupLdr messages +SetupLdrStartupMessage=Chương trình này sẽ cài đặt %1. Bạn có muốn tiếp tục không? +LdrCannotCreateTemp=Không thể tạo tệp tạm thời. Cài đặt bị hủy bỏ +LdrCannotExecTemp=Không thể chạy tệp trong thư mục tạm thời. Cài đặt bị hủy bỏ +HelpTextNote= + +; *** Startup error messages +LastErrorMessage=%1.%n%nLỗi %2: %3 +SetupFileMissing=Tệp %1 bị thiếu trong thư mục cài đặt. Hãy sửa lỗi hoặc lấy một bản sao mới của chương trình. +SetupFileCorrupt=Các tệp cài đặt đã bị hỏng. Hãy sửa lỗi hoặc lấy một bản sao của chương trình. +SetupFileCorruptOrWrongVer=Các tệp cài đặt bị hỏng, hoặc không tương thích với bản cài đặt này. Hãy sửa lỗi hoặc lấy một bản sao mới của chương trình. +InvalidParameter=Một thông số không hợp lệ đã được đưa vào dòng lệnh:%n%n%1 +SetupAlreadyRunning=Cài đặt này đang chạy. +WindowsVersionNotSupported=Chương trình này không tương thích với phiên bản Windows bạn đang chạy. +WindowsServicePackRequired=Chương trình này yêu cầu %1 Service Pack %2 hoặc mới hơn. +NotOnThisPlatform=Chương trình này sẽ không chạy trên %1. +OnlyOnThisPlatform=Chương trình này phải chạy trên %1. +OnlyOnTheseArchitectures=Chương trình này chỉ có thể được cài đặt trên phiên bản Windows được thiết kế cho các hệ vi xử lí:%n%n%1 +WinVersionTooLowError=Chương trình này yêu cầu %1 phiên bản %2 hoặc mới hơn. +WinVersionTooHighError=Chương trình này không thể được cài đặt trên %1 phiên bản %2 hoặc mới hơn. +AdminPrivilegesRequired=Bạn phải được đăng nhập như người quản trị khi cài đặt chương trình này. +PowerUserPrivilegesRequired=Bạn phải được đăng nhập như người quản trị hoặc thành viên trong nhóm Người dùng mạnh khi cài đặt chương trình này. +SetupAppRunningError=Cài đặt phát hiện %1 đang chạy.%n%nHãy đóng tất cả các tiến trình của nó ngay, rồi click OK để tiếp tục, hoặc Hủy để thoát. +UninstallAppRunningError=Gỡ cài đặt phát hiện %1 đang chạy.%n%nHãy đóng tất cả các tiến trình của nó ngay, rồi click OK để tiếp tục, hoặc Hủy để thoát. + +; *** Startup questions +PrivilegesRequiredOverrideTitle=Select Setup Install Mode +PrivilegesRequiredOverrideInstruction=Select install mode +PrivilegesRequiredOverrideText1=%1 can be installed for all users (requires administrative privileges), or for you only. +PrivilegesRequiredOverrideText2=%1 can be installed for you only, or for all users (requires administrative privileges). +PrivilegesRequiredOverrideAllUsers=Install for &all users +PrivilegesRequiredOverrideAllUsersRecommended=Install for &all users (recommended) +PrivilegesRequiredOverrideCurrentUser=Install for &me only +PrivilegesRequiredOverrideCurrentUserRecommended=Install for &me only (recommended) + +; *** Misc. errors +ErrorCreatingDir=Cài đặt không thể tạo ra thư mục "%1" +ErrorTooManyFilesInDir=Không thể tạo một tệp trong thư mục "%1" vì nó chứa quá nhiều tệp + +; *** Setup common messages +ExitSetupTitle=Thoát cài đặt +ExitSetupMessage=Cài đặt chưa hoàn thành. Nếu bạn thoát bây giờ, chương trình sẽ không được cài đặt.%n%nBạn có thể chạy lại Cài đặt một lần khác để hoàn thành cài đặt.%n%nThoát ngay? +AboutSetupMenuItem=&Về trình cài đặt... +AboutSetupTitle=Về trình cài đặt +AboutSetupMessage=%1 phiên bản %2%n%3%n%n%1 trang chủ:%n%4 +AboutSetupNote= +TranslatorNote=Giao diện người dùng tiếng Việt bởi: Vũ Khắc Hiệp + +; *** Buttons +ButtonBack=< &Trước +ButtonNext=T&iếp > +ButtonInstall=&Cài đặt +ButtonOK=OK +ButtonCancel=Hủy +ButtonYes=&Có +ButtonYesToAll=Có c&ho tất cả +ButtonNo=&Không +ButtonNoToAll=Khô&ng cho tất cả +ButtonFinish=&Hoàn thành +ButtonBrowse=&Duyệt... +ButtonWizardBrowse=D&uyệt... +ButtonNewFolder=Tạ&o thư mục mới + +; *** "Select Language" dialog messages +SelectLanguageTitle=Chọn ngôn ngữ cài đặt +SelectLanguageLabel=Chọn ngôn ngữ để sử dụng khi cài đặt: + +; *** Common wizard text +ClickNext=Click Tiếp để tiếp tục, hoặc Hủy để thoát cài đặt +BeveledLabel= +BrowseDialogTitle=Tìm thư mục +BrowseDialogLabel=Chọn một thư mục trong danh sách sau rồi ấn OK. +NewFolderName=Tạo thư mục mới + +; *** "Welcome" wizard page +WelcomeLabel1=Chào mừng tới trình cài đặt [name] +WelcomeLabel2=Chương trình này sẽ cài [name/ver] trên máy tính của bạn.%n%nChúng tôi khuyên bạn đóng mọi chương trình khác lại trước khi cài đặt. + +; *** "Password" wizard page +WizardPassword=Mật khẩu +PasswordLabel1=Việc cài đặt được bảo vệ bằng mật khẩu. +PasswordLabel3=Hãy nhập mật khẩu, rồi click Tiếp để tiếp tục. Mật khẩu phân biệt chữ hoa/thường. +PasswordEditLabel=&Mật khẩu: +IncorrectPassword=Mật khẩu bạn đã nhập không đúng. Hãy thử lại. + +; *** "License Agreement" wizard page +WizardLicense=Thỏa thuận cấp phép +LicenseLabel=Hãy đọc những thông tin quan trọng sau trước khi tiếp tục. +LicenseLabel3=Hãy đọc Thỏa thuận cấp phép sau. Bạn phải chấp nhận các điều khoản của cài đặt này trước khi tiếp tục. +LicenseAccepted=Tô&i chấp nhận thỏa thuận +LicenseNotAccepted=Tôi khôn&g chấp nhận thỏa thuận + +; *** "Information" wizard pages +WizardInfoBefore=Thông tin +InfoBeforeLabel=Hãy đọc những thông tin quan trọng sau trước khi tiếp tục. +InfoBeforeClickLabel=Khi bạn đã sẵn sàng cài đặt tiếp, click Tiếp. +WizardInfoAfter=Thông tin +InfoAfterLabel=Hãy đọc những thông tin quan trọng sau trước khi tiếp tục. +InfoAfterClickLabel=Khi bạn đã sẵn sàng cài đặt tiếp, click Tiếp. + +; *** "User Information" wizard page +WizardUserInfo=Thông tin người dùng +UserInfoDesc=Hãy nhập thông tin của bạn. +UserInfoName=Tên n&gười dùng: +UserInfoOrg=Tổ c&hức: +UserInfoSerial=&Số serial: +UserInfoNameRequired=Bạn phải nhập một tên. + +; *** "Select Destination Location" wizard page +WizardSelectDir=Chọn vị trí cài đặt +SelectDirDesc=[name] nên được cài đặt ở đâu? +SelectDirLabel3=[name] sẽ được cài đặt vào thư mục sau: +SelectDirBrowseLabel=Để tiếp tục. click Tiếp. Nếu bạn muốn chọn một thư mục khác, click Duyệt. +DiskSpaceMBLabel=Cần có ít nhất [mb]MB ổ đĩa trống. +CannotInstallToNetworkDrive=Cài đặt không thể cài vào một ổ đĩa mạng. +CannotInstallToUNCPath=Cài đặt không thể cài vào đường dẫn UNC. +InvalidPath=Bạn phải nhập đường dẫn đầy đủ với chữ cái ổ đĩa, ví dụ:%n%nC:\APP%n%nhoặc một đường dẫn UNC theo mẫu:%n%n\\server\share +InvalidDrive=Ổ đĩa hoặc chia sẻ UNC bạn đã chọn không tồn tại hoặc không truy cập được. Hãy chọn cái khác. +DiskSpaceWarningTitle=Không đủ dung lượng đĩa +DiskSpaceWarning=Cài đặt yêu cầu ít nhất %1KB dung lượng trống để cài đặt, nhưng ổ đĩa đã chọn chỉ còn %2KB.%n%nBạn muốn tiếp tục bằng mọi giá? +DirNameTooLong=Tên thư mục hoặc đường dẫn quá dài. +InvalidDirName=Tên thư mục không hợp lệ. +BadDirName32=Tên thư mục không được chứa các kí tự sau:%n%n%1 +DirExistsTitle=Thư mục đã tồn tại +DirExists=Thư mục:%n%n%1%n%nđã tồn tại. Bạn có muốn cài đặt vào thư mục đó bằng mọi giá? +DirDoesntExistTitle=Thư mục không tồn tại +DirDoesntExist=Thư mục:%n%n%1%n%nkhông tồn tại. Bạn có muốn tạo thư mục không? + +; *** "Select Components" wizard page +WizardSelectComponents=Chọn các thành phần +SelectComponentsDesc=Những thành phần nào nên được cài đặt? +SelectComponentsLabel2=Chọn các thành phần bạn muốn cài đặt, bỏ chọn các thành phần bạn không muốn. Click Tiếp khi bạn đã sẵn sàng để tiếp tục. +FullInstallation=Cài đặt đầy đủ +; if possible don't translate 'Compact' as 'Minimal' (I mean 'Minimal' in your language) +CompactInstallation=Cài đặt rút gọn +CustomInstallation=Cài đặt tủy chỉnh +NoUninstallWarningTitle=Thành phần đã tồn tại +NoUninstallWarning=Cài đặt phát hiện các thành phần sau đã được cài đặt trên máy tính của bạn:%n%n%1%n%nBỏ chọn những thành phần này sẽ không cài đặt chúng.%n%nBạn có muốn tiếp tục bằng mọi giá? +ComponentSize1=%1KB +ComponentSize2=%1MB +ComponentsDiskSpaceMBLabel=Lựa chọn này yêu cầu ít nhất [mb]MB không gian đĩa. + +; *** "Select Additional Tasks" wizard page +WizardSelectTasks=Chọn các tác vụ bổ sung +SelectTasksDesc=Các tác vụ bổ sung nào nên được thực hiện? +SelectTasksLabel2=Chọn các tác vụ bổ sung mà bạn muốn cài đặt thực hiện khi cài đặt [name], rồi click Tiếp. + +; *** "Select Start Menu Folder" wizard page +WizardSelectProgramGroup=Chọn thư mục bắt đầu +SelectStartMenuFolderDesc=Các lối tắt đến chương trình nên được đặt ở đâu? +SelectStartMenuFolderLabel3=Cài đặt sẽ tạo các lối tắt đến chương trình trong thư mục bắt đầu sau. +SelectStartMenuFolderBrowseLabel=Để tiếp tục, click Tiếp. Nếu bạn muốn chọn thư mục khác, click Duyệt. +MustEnterGroupName=Bạn phải nhập tên một thư mục. +GroupNameTooLong=Tên thư mục hoặc đường dẫn quá dài. +InvalidGroupName=Tên thư mục không hợp lệ. +BadGroupName=Tên thư mục không được chứa các kí tự sau:%n%n%1 +NoProgramGroupCheck2=&Không tạo thư mục bắt đầu + +; *** "Ready to Install" wizard page +WizardReady=Sẵn sàng cài đặt +ReadyLabel1=[name] đã sẵn sàng để dược cài đặt trên máy tính của bạn. +ReadyLabel2a=Click Cài đặt để tiếp tục, hoặc click Trước nếu bạn muốn xem lại/thay đổi bất kì cài đặt nào. +ReadyLabel2b=Click Cài đặt để tiếp tục cài đặt. +ReadyMemoUserInfo=Thông tin người dùng: +ReadyMemoDir=Vị trí đích: +ReadyMemoType=Kiểu cài đặt: +ReadyMemoComponents=Các thành phần được chọn: +ReadyMemoGroup=Thư mục bắt đầu: +ReadyMemoTasks=Các tác vụ bổ sung: + +; *** "Preparing to Install" wizard page +WizardPreparing=Chuẩn bị cài đặt +PreparingDesc=[name] đang chuẩn bị được cài đặt trên máy tính của bạn. +PreviousInstallNotCompleted=Việc cài đặt/gỡ bỏ một chương trình chưa được hoàn tất trước đó. Bạn sẽ phải khởi động lại máy tính để hoàn tất cài đặt đó.%n%nSau khi chởi động lại, chạy Cài đặt một lần nữa để hoàn tất cài đặt [name]. +CannotContinue=Cài đặt không thể tiếp tục. Click Hủy để thoát. +ApplicationsFound=Những chương trình sau đang sử dụng các tệp cần được cập nhật bởi trình cài đặt. Chúng tôi khuyên bạn cho phép Cài đặt đóng các chương trình này. +ApplicationsFound2=Những chương trình sau đang sử dụng các tệp cần được cập nhật bởi trình cài đặt. Chúng tôi khuyên bạn cho phép Cài đặt đóng các chương trình này. Sau khi hoàn thành cài đặt, chúng tôi sẽ thử khởi động lại các chương trình này. +CloseApplications=Tự độn&g đóng các chương trình này +DontCloseApplications=Không đóng các chương t&rình này +ErrorCloseApplications=Cài đặt không thể đóng mọi chương trình. Chúng tôi khuyên bạn đóng các chương trình đang sử dụng các tệp cần được cập nhật bởi Cài đặt một cách thủ công trước khi tiếp tục. + +; *** "Installing" wizard page +WizardInstalling=Đang cài đặt +InstallingLabel=Hãy đợi khi [name] đang được cài đặt trên máy tính của bạn. + +; *** "Setup Completed" wizard page +FinishedHeadingLabel=Hoàn thành cài đặt [name] +FinishedLabelNoIcons=[name] đã được cài đặt xong trên máy tính của bạn. +FinishedLabel=[name] đã được cài đặt xong trên máy tính của bạn. Chương trình có thể được khởi động bằng cách click vào lối tắt đến chương trình. +ClickFinish=Click Hoàn thành để thoát Cài đặt. +FinishedRestartLabel=Để hoàn thành cài đặt [name], máy tính của bạn cần đươc khởi động lại. Bạn có muốn khởi động lại ngay? +FinishedRestartMessage=Để hoàn thành cài đặt [name], máy tính của bạn cần đươc khởi động lại.%n%nBạn có muốn khởi động lại ngay? +ShowReadmeCheck=Có, tôi muốn xem tệp README +YesRadio=&Có, khởi động lại máy tính ngay +NoRadio=&Không, tôi sẽ khởi động lại máy tính sau +; used for example as 'Run MyProg.exe' +RunEntryExec=Chạy %1 +; used for example as 'View Readme.txt' +RunEntryShellExec=Xem %1 + +; *** "Setup Needs the Next Disk" stuff +ChangeDiskTitle=Cài đặt cần đĩa tiếp theo +SelectDiskLabel2=Hãy chèn đĩa %1 và click OK.%n%nNếu các tệp trên đĩa này có thể được tìm thấy trên một thư mục khác với được hiển thị dưới đây, nhập đường dẫn hoặc click Duyệt. +PathLabel=Đườ&ng dẫn: +FileNotInDir2=Tệp "%1" không thể được xác định trong "%2". Hãy chọn đia xđúng hoặc chọn thư mục khác. +SelectDirectoryLabel=Hãy chọn vị trí của đĩa tiếp theo. + +; *** Installation phase messages +SetupAborted=Cài đặt không được hoàn thành.%n%nHãy sửa lỗi và chạy Cài đặt lại. +AbortRetryIgnoreSelectAction=Chọn hành động +AbortRetryIgnoreRetry=&Thử lại +AbortRetryIgnoreIgnore=&Bỏ qua lỗi và tiếp tục +AbortRetryIgnoreCancel=Hủy + +; *** Installation status messages +StatusClosingApplications=Đang đóng các chương trình... +StatusCreateDirs=Đang tạo các thư mục... +StatusExtractFiles=Đang giải nén các tệp... +StatusCreateIcons=Đang tạo các lối tắt... +StatusCreateIniEntries=Đang tạo các đầu vào INI... +StatusCreateRegistryEntries=Đang tạo các đầu vào registry... +StatusRegisterFiles=Đang đăng kí các tệp... +StatusSavingUninstall=Đang lưu thông tin gỡ cài đặt... +StatusRunProgram=Đang hoàn thành cài đặt... +StatusRestartingApplications=Đang khởi động lại các chương trình... +StatusRollback=Đang hoàn lại các thay đổi... + +; *** Misc. errors +ErrorInternal2=Lỗi nội bộ: %1 +ErrorFunctionFailedNoCode=%1 thất bại +ErrorFunctionFailed=%1 thất bại với mã lỗi %2 +ErrorFunctionFailedWithMessage=%1 thất bại với mã lỗi %2.%n%3 +ErrorExecutingProgram=Không thể chạy tệp:%n%1 + +; *** Registry errors +ErrorRegOpenKey=Lỗi khi mở registry:%n%1\%2 +ErrorRegCreateKey=Lỗi khi tạo registry:%n%1\%2 +ErrorRegWriteKey=Lỗi khi viết registry:%n%1\%2 + +; *** INI errors +ErrorIniEntry=Lỗi tạo đầu vào INI cho tệp "%1". + +; *** File copying errors +FileAbortRetryIgnoreSkipNotRecommended=&Bỏ qua tệp này (không khuyến nghị) +FileAbortRetryIgnoreIgnoreNotRecommended=&Bỏ qua để tiếp tục bằng mọi giá (không khuyến nghị) +SourceIsCorrupted=Tệp nguồn bị hỏng +SourceDoesntExist=Tệp nguồn "%1" không tồn tại +ExistingFileReadOnly2=Tệp đã tồn tại với đánh dấu chỉ đọc. +ExistingFileReadOnlyRetry=&Xóa thuộc tính chỉ đọc và thử lại +ExistingFileReadOnlyKeepExisting=&Giữ tập tin hiện có +ErrorReadingExistingDest=Một lỗi đã xảy ra khi đọc tệp: +FileExists=Tệp đã tồn tại.%n%nBạn muốn Cài đặt thay thế nó không? +ExistingFileNewer=Tệp này mới hơn tệp mà Cài đặt muốn cài. Chúng tôi khuyên bạn giữ lại tệp này.%n%nBạn có muốn giữ lại tệp này? +ErrorChangingAttr=Một lỗi đã xảy ra khi thay đổi thuộc tính của tệp sau: +ErrorCreatingTemp=Một lỗi đã xảy ra khi tạo một tệp trong thư mục đích: +ErrorReadingSource=Một lỗi đã xảy ra khi đọc tệp nguồn: +ErrorCopying=Một lỗi đã xảy ra khi sao chép tệp: +ErrorReplacingExistingFile=Một lỗi đã xảy ra khi thay thế tệp: +ErrorRestartReplace=Khởi động lại & Thay thế (RestartReplace) thất bại: +ErrorRenamingTemp=Một lỗi đã xảy ra khi đổi tên tệp trong thư mục đích: +ErrorRegisterServer=Không thể đăng kí DLL/OCX: %1 +ErrorRegSvr32Failed=RegSvr32 thất bại với mã thoát %1 +ErrorRegisterTypeLib=Không thể đăng kí thư viện kiểu: %1 + +; *** Uninstall display name markings +; used for example as 'My Program (32-bit)' +UninstallDisplayNameMark=%1 (%2) +; used for example as 'My Program (32-bit, All users)' +UninstallDisplayNameMarks=%1 (%2, %3) +UninstallDisplayNameMark32Bit=32-bit +UninstallDisplayNameMark64Bit=64-bit +UninstallDisplayNameMarkAllUsers=All users +UninstallDisplayNameMarkCurrentUser=Current user + +; *** Post-installation errors +ErrorOpeningReadme=Một lỗi đã xảy ra khi mở tệp README. +ErrorRestartingComputer=Cài đặt không thể khởi động lại máy tính. Hãy làm việc này một cách thủ công. + +; *** Uninstaller messages +UninstallNotFound=Tệp "%1" không tồn tại. Không thể gỡ cài đặt. +UninstallOpenError=Tệp "%1" không thể được mở. Không thể gỡ cài đặt +UninstallUnsupportedVer=Tệp nhật kí gỡ cài đặt "%1" có định dạng không thể được xác định bởi phiên bản gỡ cài đặt này. Không thể gỡ cài đặt +UninstallUnknownEntry=Một đầu vào không xác định (%1) đã bị phát hiện trong nhật kí gỡ cài đặt +ConfirmUninstall=Bạn có muốn dỡ bỏ hoàn toàn %1 và mọi thành phần của nó? +UninstallOnlyOnWin64=Cài đặt này chỉ có thể được gỡ bỏ trên Windows 64 bit. +OnlyAdminCanUninstall=Cài đặt này chỉ có thể được gỡ bỏ bằng một người dùng có quyền người quản trị. +UninstallStatusLabel=Hãy đợi khi %1 được gỡ khỏi máy tính của bạn. +UninstalledAll=%1 đã được gỡ bỏ thành công khỏi máy tính của bạn. +UninstalledMost=%1 đã được gỡ bỏ thành công.%n%nMột số thành phần không thể được gỡ bỏ. Hãy làm việc này một cách thủ công. +UninstalledAndNeedsRestart=Để hoàn thành việc gỡ cài đặt %1, bạn phải khởi động lại máy tính.%n%nBạn có muốn khởi động lại ngay? +UninstallDataCorrupted=Tệp "%1" bị hỏng. Không thể gỡ cài đặt + +; *** Uninstallation phase messages +ConfirmDeleteSharedFileTitle=Gỡ bỏ tệp được chia sẻ? +ConfirmDeleteSharedFile2=Hệ thống chỉ ra các tệp được chia sẻ sau không được sử dụng bởi chương trình nào. Bạn có muốn gỡ bỏ tệp này?%n%nNếu có một chương trình vẫn sử dụng tệp này mà tệp bị gỡ bỏ, chúng có thể không chạy tốt. Nếu bạn không chắc chắn, chọn Không. Để lại tệp trên hệ thống của bạn sẽ không gây ra tổn hại. +SharedFileNameLabel=Tên tệp: +SharedFileLocationLabel=Vị trí: +WizardUninstalling=Trạng thái gỡ cài đặt +StatusUninstalling=Đang gỡ cài đặt %1... + +; *** Shutdown block reasons +ShutdownBlockReasonInstallingApp=Đang cài đặt %1. +ShutdownBlockReasonUninstallingApp=Đang gỡ cài đặt %1. + +; The custom messages below aren't used by Setup itself, but if you make +; use of them in your scripts, you'll want to translate them. + +[CustomMessages] + +;NameAndVersion=%1 phiên bản %2 +NameAndVersion=%1 +AdditionalIcons=Các lối tắt bổ sung: +CreateDesktopIcon=Tạo một &lối tắt trên Desktop +CreateQuickLaunchIcon=Tạo một lối tắt &Khởi động nhanh +ProgramOnTheWeb=%1 trên Web +UninstallProgram=Gỡ cài đặt %1 +LaunchProgram=Khởi động %1 +AssocFileExtension=&Gán %1 với đuôi tệp %2 +AssocingFileExtension=Đang gán %1 với đuôi tệp %2... +AutoStartProgramGroupDescription=Khởi động: +AutoStartProgram=Tự động khởi động %1 +AddonHostProgramNotFound=%1 không thể được xác định trong thư mục bạn đã chọn.%n%nBạn có muốn tiếp tục bằng mọi giá? diff --git a/Greenshot/releases/innosetup/scripts/isxdl/chinese.ini b/Greenshot/releases/innosetup/scripts/isxdl/chinese.ini new file mode 100644 index 000000000..072602603 --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/isxdl/chinese.ini @@ -0,0 +1,49 @@ +[strings] +; General +100=ļ +101=Ҫȡ +102=%1 (%2 / %3) +103=%1 KB +104=%1 KB / %2 KB (%3%) + +; Status information +110=ȡļϢ +111=ض %1 +112=ڷ... +113=Ӧ %1 +114=ӵ %1 +115=... +116=ӵ %1 + +; Error messages +120=Ӵ\n\n%1 +121=ʳ %1.\n\nص״̬Ϊ %2. +122=URL ȡ.\n\n%1 +123=ļд %1.\n\n%2 +124=ļ򿪴 %1.\n\n%2 +125='%1' Ч URL. +126=򿪳 %1.\n\n%2 +127=.\n\n%1 +128=ֵ֧Э. ֻ֧ HTTP FTP . +129=޷ӵ %1.\n\n%2 +130=ѯ״̬ʧ.\n\n%1 +131=ļ.\n\n%1 + +; Other +144=... +146= +147=װظļ. + +; labels +160=ļ: +161=ٶ: +162=״̬: +163=ʱ: +164=ʣʱ: +165=ǰļ: +166=ܽ: +167=ȡ +168=ȷ +169=û +170=û: +171=: diff --git a/Greenshot/releases/innosetup/scripts/isxdl/german2.ini b/Greenshot/releases/innosetup/scripts/isxdl/german2.ini deleted file mode 100644 index 0a4bf0c86..000000000 --- a/Greenshot/releases/innosetup/scripts/isxdl/german2.ini +++ /dev/null @@ -1,45 +0,0 @@ -[strings] -; General -100=Datei herunterladen -101=Mchten Sie das Herunterladen der Datei abbrechen? -102=%1 (%2 von %3) -103=%1 KB -104=%1 KB von %2 KB (%3%) - -; Status information -110=Dateiinformationen werden ermittelt... -111=Weitervermittlung zu %1 -112=Anforderung wird gesendet... -113=Auflsen von %1 -114=Mit %1 verbunden -115=Empfang... -116=Verbinden mit %1 - -; Error messages -120=Fehler beim Verbinden mit dem Internet.\n\n%1 -121=Fehler beim ffnen von %1.\n\nDer Server hat folgenden Statuscode gemeldet %2. -122=Fehler beim Lesen der URL.\n\n%1 -123=Fehler beim Schreiben der Datei %1.\n\n%2 -124=Fehler beim ffnen der Datei %1.\n\n%2 -125='%1' ist eine ungltige URL. -126=Fehler beim ffnen von %1.\n\n%2 -127=Fehler beim Senden der Anforderung.\n\n%1 -128=Protokoll wird nicht untersttzt. Nur HTTP und FTP werden untersttzt. -129=Verbindung zu %1 fehlgeschlagen.\n\n%2 -130=Fehler bei der Abfrage des Statuscodes.\n\n%1 -131=Fehler bei der Anforderung der Datei.\n\n%1 - -; Other -144=ber... -146=Download -147=Das Setup ldt nun zustzliche Dateien auf Ihren Computer. - -; labels -160=Datei: -161=Geschwindigkeit: -162=Status: -163=Bisherige Zeit: -164=Verbleibende Zeit: -165=Derzeitige Datei: -166=Gesamter Vorgang: -167=Abbrechen diff --git a/Greenshot/releases/innosetup/scripts/isxdl/german3.ini b/Greenshot/releases/innosetup/scripts/isxdl/german3.ini deleted file mode 100644 index 58f1b716d..000000000 --- a/Greenshot/releases/innosetup/scripts/isxdl/german3.ini +++ /dev/null @@ -1,45 +0,0 @@ -[strings] -; General -100=Datei-Download -101=Mchten Sie das Herunterladen abbrechen? -102=%1 (%2 von %3) -103=%1 KB -104=%1 KB von %2 KB (%3%) - -; Status information -110=Ermittle Datei-Informationen... -111=Leite um nach %1 -112=Sende Anforderung... -113=Auflsen %1 -114=Verbunden mit %1 -115=Empfange... -116=Verbinde mit %1 - -; Error messages -120=Fehler beim Verbinden mit dem Internet.\n\n%1 -121=Fehler beim ffnen von %1.\n\nDer Server meldet Statuscode %2. -122=Fehler beim Lesen der URL.\n\n%1 -123=Fehler beim Schreiben der Datei %1.\n\n%2 -124=Fehler beim ffnen der Datei %1.\n\n%2 -125='%1' ist eine ungltige URL. -126=Fehler beim ffnen von %1.\n\n%2 -127=Fehler beim Senden der Anforderung.\n\n%1 -128=Nicht untersttztes Protokoll. Nur HTTP- and FTP-Protokolle werden untersttzt. -129=Verbindung fehlgeschlagen: %1.\n\n%2 -130=Abfragen des Statuscodes fehlgeschlagen.\n\n%1 -131=Fehler beim Anfordern der Datei.\n\n%1 - -; Other -144=ber... -146=Download -147=Setup ldt nun weitere Dateien aus dem Internet auf Ihren Computer herunter. - -; labels -160=Datei: -161=Geschwindigkeit: -162=Status: -163=Verstrichene Zeit: -164=Verbleibende Zeit: -165=Aktuelle Datei: -166=Gesamter Download: -167=Abbrechen diff --git a/Greenshot/releases/innosetup/scripts/isxdl/italian.ini b/Greenshot/releases/innosetup/scripts/isxdl/italian.ini index 7729f3ac4..9c290c6de 100644 --- a/Greenshot/releases/innosetup/scripts/isxdl/italian.ini +++ b/Greenshot/releases/innosetup/scripts/isxdl/italian.ini @@ -6,44 +6,44 @@ 103=%1 KB 104=%1 KB di %2 KB (%3%) -; informazioni di stato -110=Ottenere informazioni sul file ... -111=reindirizzamento a %1 +; Informazioni di servizio +110=Raccolta informazioni sul file... +111=Reindirizzamento a %1 112=Invio richiesta... 113=Risoluzione %1 114=Connesso al %1 115=Ricezione... 116=Collegamento a %1 -; Messaggio di errore -120=Errore di connessione a Internet.\n\n%1 -121=Errore di apertura %1.\n\nIl server ha restituito codice di stato %2. -122=Errore di lettura del URL.\n\n%1 -123=Errore scrittura del file %1.\n\n%2 -124=Errore apertura del file %1.\n\n%2 +; Messaggi di errore +120=Errore nel collegamento a Internet.\n\n%1 +121=Errore nell'apertura di %1.\n\nIl server ha restituito il codice %2. +122=Errore nella lettura dell'URL.\n\n%1 +123=Errore nella scrittura del file %1.\n\n%2 +124=Errore nell'apertura del file %1.\n\n%2 125='%1' è un URL non valido. -126=Errore d'apertura %1.\n\n%2 -127=Errore d'invio richiesta.\n\n%1 +126=Errore nell'apertura di %1.\n\n%2 +127=Errore durante l'invio della richiesta.\n\n%1 128=Protocollo non supportato. Sono supportati solo i protocolli HTTP e FTP. -129=Connessione non riuscita a %1.\n\n%2 -130=Impossibile eseguire la query codice di stato.\n\n%1 -131=Errore file di richiedente.\n\n%1 +129=Impossibile connettersi a %1.\n\n%2 +130=Impossibile risolvere il codice di servizio.\n\n%1 +131=Errore nella richiesta del file.\n\n%1 ; Altro -144=A proposito di ... +144=Informazioni su... 146=Download -147=L'installazione è ora scaricando i file aggiuntive al computer. +147=Il programma d'installazione sta scaricando sul computer i files aggiuntivi. -; etichette +; Etichette 160=File: 161=Velocità: 162=Stato: 163=Tempo trascorso: 164=Tempo rimanente: -165=File corrente: +165=File attuale: 166=Avanzamento generale: 167=Annulla 168=OK 169=Nome utente e password -170=Nome Utente: +170=Nome utente: 171=Password: diff --git a/Greenshot/releases/innosetup/scripts/isxdl/russian.ini b/Greenshot/releases/innosetup/scripts/isxdl/russian.ini index 5cfae9227..f5791cde0 100644 --- a/Greenshot/releases/innosetup/scripts/isxdl/russian.ini +++ b/Greenshot/releases/innosetup/scripts/isxdl/russian.ini @@ -1,7 +1,7 @@ [strings] ; General 100= -101= ? +101= ? 102=%1 (%2 %3) 103=%1 KB 104=%1 KB %2 KB (%3%) @@ -10,30 +10,29 @@ 110= ... 111= %1 112= ... -113= %1 -114= %1 +113= %1 +114= %1 115=... 116= %1 ; Error messages -120= .\n\n%1 +120= .\n\n%1 121= %1.\n\n %2. 122= .\n\n%1 123= %1.\n\n%2 124= %1.\n\n%2 -125='%1' . +125='%1' . 126= %1.\n\n%2 -127= .\n\n%1 -128= . HTTP FTP -. +127= .\n\n%1 +128= . HTTP FTP. 129= %1.\n\n%2 -130= .\n\n%1 +130= .\n\n%1 131= .\n\n%1 ; Other -144=... +144= ... 146= -147= . +147= . ; labels 160=: diff --git a/Greenshot/releases/innosetup/scripts/lang/chinese.iss b/Greenshot/releases/innosetup/scripts/lang/chinese.iss new file mode 100644 index 000000000..1c71ae80b --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/chinese.iss @@ -0,0 +1,19 @@ +[Languages] +Name: "chs"; MessagesFile: "compiler:Default.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +chs.lcid=2052 +chs.depdownload_msg=安装程序需要下列依赖组建才能继续运行:%n%n%1%n要现在下载并安装吗? +chs.depdownload_memo_title=下载依赖组建 +chs.depinstall_memo_title=安装依赖组建 +chs.depinstall_title=安装依赖组建 +chs.depinstall_description=安装程序正在安装所需的依赖组建,请稍后。 +chs.depinstall_status=正在安装 %1... +chs.depinstall_missing=必须安装 %1 之后才能继续本安装程序。请先安装 %1,然后在重新运行本安装程序。 +chs.depinstall_error=安装依赖组建时出错。请重新启动计算机并再次运行安装程序,或手动安装下列依赖组建:%n + +chs.isxdl_langfile=chinese.ini + +[Files] +Source: "scripts\isxdl\chinese.ini"; Flags: dontcopy diff --git a/Greenshot/releases/innosetup/scripts/lang/dutch.iss b/Greenshot/releases/innosetup/scripts/lang/dutch.iss new file mode 100644 index 000000000..aa9af03cc --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/dutch.iss @@ -0,0 +1,19 @@ +[Languages] +Name: "nl"; MessagesFile: "compiler:Languages\Dutch.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +nl.lcid=1043 +nl.depdownload_msg=De volgende toepassingen zijn nodig vr de installatie kunt doorgaan:%n%n%1%nDownload en installeer nu? +nl.depdownload_memo_title=Download afhankelijkheden +nl.depinstall_memo_title=Installeer afhankelijkheden +nl.depinstall_title=Installeer afhankelijkheden +nl.depinstall_description=Een moment geduld aub Setup installeert afhankelijkheden op uw computer. +nl.depinstall_status=Installeren %1... +nl.depinstall_missing=%1 moet worden genstalleerd vr de installatie kan worden voortgezet. Installeer %1 en voer Setup opnieuw uit. +nl.depinstall_error=Er is een fout opgetreden tijdens het installeren van de afhankelijkheden. Gelieve de computer opnieuw op en voer de installatie opnieuw uit of de volgende afhankelijkheden handmatig installeren:%n + +nl.isxdl_langfile=dutch.ini + +[Files] +Source: "scripts\isxdl\dutch.ini"; Flags: dontcopy diff --git a/Greenshot/releases/innosetup/scripts/lang/english.iss b/Greenshot/releases/innosetup/scripts/lang/english.iss new file mode 100644 index 000000000..3287ee88b --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/english.iss @@ -0,0 +1,18 @@ +[Languages] +Name: "en"; MessagesFile: "compiler:Default.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +en.lcid=1033 +en.depdownload_msg=The following applications are required before setup can continue:%n%n%1%nDownload and install now? +en.depdownload_memo_title=Download dependencies +en.depinstall_memo_title=Install dependencies +en.depinstall_title=Installing dependencies +en.depinstall_description=Please wait while Setup installs dependencies on your computer. +en.depinstall_status=Installing %1... +en.depinstall_missing=%1 must be installed before setup can continue. Please install %1 and run Setup again. +en.depinstall_error=An error occured while installing the dependencies. Please restart the computer and run the setup again or install the following dependencies manually:%n + +en.isxdl_langfile= + +[Files] diff --git a/Greenshot/releases/innosetup/scripts/lang/french.iss b/Greenshot/releases/innosetup/scripts/lang/french.iss new file mode 100644 index 000000000..8283953bd --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/french.iss @@ -0,0 +1,19 @@ +[Languages] +Name: "fr"; MessagesFile: "compiler:Languages\French.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +fr.lcid=1036 +fr.depdownload_msg=Les applications suivantes sont ncessaires avant que l'installation puisse continuer :%n%n%1%nTlcharger et installer maintenant ? +fr.depdownload_memo_title=Tlcharger les dpendances +fr.depinstall_memo_title=Installez les dpendances +fr.depinstall_title=Installation des dpendances +fr.depinstall_description=Veuillez patienter pendant que les dpendances sont installes sur votre ordinateur. +fr.depinstall_status=Installation de %1... +fr.depinstall_missing=%1 doit tre install avant de pouvoir continuer. Veuillez installer %1 et excutez nouveau le programme d'installation. +fr.depinstall_error=Une erreur est survenue lors de l'installation des dpendances. Veuillez redmarrer l'ordinateur, et excutez nouveau le programme d'installation, ou installez les dpendances suivantes manuellement :%n + +fr.isxdl_langfile=french3.ini + +[Files] +Source: "scripts\isxdl\french3.ini"; Flags: dontcopy diff --git a/Greenshot/releases/innosetup/scripts/lang/german.iss b/Greenshot/releases/innosetup/scripts/lang/german.iss new file mode 100644 index 000000000..fb2d1c797 --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/german.iss @@ -0,0 +1,19 @@ +[Languages] +Name: "de"; MessagesFile: "compiler:Languages\German.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +de.lcid=1031 +de.depdownload_msg=Die folgenden Programme werden bentigt bevor das Setup fortfahren kann:%n%n%1%nJetzt downloaden und installieren? +de.depdownload_memo_title=Abhngigkeiten downloaden +de.depinstall_memo_title=Abhngigkeiten installieren +de.depinstall_title=Installiere Abhngigkeiten +de.depinstall_description=Warten Sie bitte whrend Abhngigkeiten auf Ihrem Computer installiert wird. +de.depinstall_status=Installiere %1... +de.depinstall_missing=%1 muss installiert werden bevor das Setup fortfahren kann. Bitte installieren Sie %1 und starten Sie das Setup erneut. +de.depinstall_error=Ein Fehler ist whrend der Installation der Abghngigkeiten aufgetreten. Bitte starten Sie den Computer neu und fhren Sie das Setup erneut aus oder installieren Sie die folgenden Abhngigkeiten per Hand:%n + +de.isxdl_langfile=german.ini + +[Files] +Source: "scripts\isxdl\german.ini"; Flags: dontcopy diff --git a/Greenshot/releases/innosetup/scripts/lang/italian.iss b/Greenshot/releases/innosetup/scripts/lang/italian.iss new file mode 100644 index 000000000..67efc61ce --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/italian.iss @@ -0,0 +1,19 @@ +[Languages] +Name: "it"; MessagesFile: "compiler:Languages\Italian.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +it.lcid=1040 +it.depdownload_msg=Le seguenti applicazioni sono necessarie per procedere con l'installazione:%n%n%1%nSi desidera scaricarle ed installarle adesso? +it.depdownload_memo_title=Dipendenze da scaricare +it.depinstall_memo_title=Dipendenze da installare +it.depinstall_title=Installazione delle dipendenze +it.depinstall_description=Si prega di attendere mentre vengono installate le dipendenze necessarie sul computer. +it.depinstall_status=Installazione %1... +it.depinstall_missing=%1 deve essere installato per poter continuare. Si prega di installare %1 ed eseguire nuovamente il programma d'installazione. +it.depinstall_error=Si è verificato un errore durante l'installazione delle dipendenze. Si prega di riavviare il computer ed eseguire nuovamente il programma d'installazione oppure di installare manualmente le seguenti applicazioni:%n + +it.isxdl_langfile=italian.ini + +[Files] +Source: "scripts\isxdl\italian.ini"; Flags: dontcopy diff --git a/Greenshot/releases/innosetup/scripts/lang/japanese.iss b/Greenshot/releases/innosetup/scripts/lang/japanese.iss new file mode 100644 index 000000000..7ff318197 --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/japanese.iss @@ -0,0 +1,19 @@ +[Languages] +Name: "ja"; MessagesFile: "compiler:Languages\Japanese.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +ja.lcid=1041 +ja.depdownload_msg=処理を継続する前に次のアプリケーションが必要です:%n%n%1%nダウンロード後インストールしてよろしいですか? +ja.depdownload_memo_title=ダウンロードする依存ファイル +ja.depinstall_memo_title=インストールする依存ファイル +ja.depinstall_title=依存ファイルのインストール +ja.depinstall_description=セットアップが依存ファイルをインストールするまでお待ちください +ja.depinstall_status=インストール中 %1... +ja.depinstall_missing=セットアップを継続するために %1 をインストールする必要があります. %1 をインストールし、再度セットアップを実行してください. +ja.depinstall_error=依存ファイルのインストール中にエラーが発生しました. コンピューターを再起動しセットアップを再度実行するか、依存ファイルを手動でインストールしてください:%n + +ja.isxdl_langfile=japanese.ini + +[Files] +Source: "scripts\isxdl\japanese.ini"; Flags: dontcopy diff --git a/Greenshot/releases/innosetup/scripts/lang/polish.iss b/Greenshot/releases/innosetup/scripts/lang/polish.iss new file mode 100644 index 000000000..cecaf1137 --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/polish.iss @@ -0,0 +1,19 @@ +[Languages] +Name: "pl"; MessagesFile: "compiler:Languages\Polish.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +pl.lcid=1045 +pl.depdownload_msg=Poniższe aplikacje są wymagane przed instalacją aby móc kontynuować:%n%n%1%nCzy pobrać je i zainstalować teraz? +pl.depdownload_memo_title=Pobierz zależności +pl.depinstall_memo_title=Zainstaluj zależności +pl.depinstall_title=Instalowanie zależności +pl.depinstall_description=Instalator instaluje zależności na komputerze, proszę czekać. +pl.depinstall_status=Instalowanie %1.... +pl.depinstall_missing=%1 musi być zainstalowany przed instalacją, aby mogła ona być kontynuowana. Zainstaluj %1 i ponownie uruchom program instalacyjny. +pl.depinstall_error=Wystąpił błąd podczas instalowania zależności. Uruchom ponownie komputer, a następnie ponownie uruchom program instalacyjny lub ręcznie zainstaluj następujące programy:%n + +pl.isxdl_langfile=polish.ini + +[Files] +Source: "scripts\isxdl\polish.ini"; Flags: dontcopy diff --git a/Greenshot/releases/innosetup/scripts/lang/russian.iss b/Greenshot/releases/innosetup/scripts/lang/russian.iss new file mode 100644 index 000000000..a9965131d --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/lang/russian.iss @@ -0,0 +1,19 @@ +[Languages] +Name: "ru"; MessagesFile: "compiler:Languages\Russian.isl" + +[CustomMessages] +;http://www.microsoft.com/globaldev/reference/lcid-all.mspx +ru.lcid=1049 +ru.depdownload_msg=Для продолжения установки требуются следующие приложения:%n%n%1%nСкачать и установить их сейчас? +ru.depdownload_memo_title=Загрузить зависимости +ru.depinstall_memo_title=Установить зависимости +ru.depinstall_title=Установка зависимостей +ru.depinstall_description=Пожалуйста, подождите, пока зависимости будут установлены. +ru.depinstall_status=Установка %1... +ru.depinstall_missing=%1 должен быть установлен прежде чем установка может быть продолжена. Пожалуйста, установите %1 и повторите установку. +ru.depinstall_error=В процессе установки зависимостей произошла ошибка. Пожалуйста, перезапустите компьютер и повторите установку, либо установите следующие зависимости вручную:%n + +ru.isxdl_langfile=russian.ini + +[Files] +Source: "scripts\isxdl\russian.ini"; Flags: dontcopy diff --git a/Greenshot/releases/innosetup/scripts/products.iss b/Greenshot/releases/innosetup/scripts/products.iss index b7b12d6a3..63cf4d1d1 100644 --- a/Greenshot/releases/innosetup/scripts/products.iss +++ b/Greenshot/releases/innosetup/scripts/products.iss @@ -1,294 +1,6 @@ #include "isxdl\isxdl.iss" -[CustomMessages] -DependenciesDir=MyProgramDependencies - -en.depdownload_msg=The following applications are required before setup can continue:%n%n%1%nDownload and install now? -de.depdownload_msg=Die folgenden Programme werden bentigt bevor das Setup fortfahren kann:%n%n%1%nJetzt downloaden und installieren? -fr.depdownload_msg=Les applications suivantes sont ncessaires avant l'installation peut continuer:%n%n%1%nTlchargement et installer maintenant? -nl.depdownload_msg=De volgende toepassingen zijn nodig vr de installatie kunt doorgaan:%n%n%1%nDownload en installeer nu? - -en.depdownload_memo_title=Download dependencies -de.depdownload_memo_title=Abhngigkeiten downloaden -fr.depdownload_memo_title=Tlcharger les dpendances -nl.depdownload_memo_title=Download afhankelijkheden - -en.depinstall_memo_title=Install dependencies -de.depinstall_memo_title=Abhngigkeiten installieren -fr.depinstall_memo_title=Installez les dpendances -nl.depinstall_memo_title=Installeer afhankelijkheden - -en.depinstall_title=Installing dependencies -de.depinstall_title=Installiere Abhngigkeiten -fr.depinstall_title=Installation des dpendances -nl.depinstall_title=Installeer afhankelijkheden - -en.depinstall_description=Please wait while Setup installs dependencies on your computer. -de.depinstall_description=Warten Sie bitte whrend Abhngigkeiten auf Ihrem Computer installiert wird. -fr.depinstall_description=S'il vous plat patienter pendant que le programme d'installation installe les dpendances sur votre ordinateur. -nl.depinstall_description=Een moment geduld aub Setup installeert afhankelijkheden op uw computer. - -en.depinstall_status=Installing %1... -de.depinstall_status=Installiere %1... -fr.depinstall_status=Installation %1... -nl.depinstall_status=Installeren %1... - -en.depinstall_missing=%1 must be installed before setup can continue. Please install %1 and run Setup again. -de.depinstall_missing=%1 muss installiert werden bevor das Setup fortfahren kann. Bitte installieren Sie %1 und starten Sie das Setup erneut. -fr.depinstall_missing=%1 doit tre install avant l'installation peut continuer. S'il vous plat installer %1 et excutez nouveau le programme d'installation. -nl.depinstall_missing=%1 moet worden genstalleerd vr de installatie kan worden voortgezet. Installeer %1 en voer Setup opnieuw uit. - -en.depinstall_error=An error occured while installing the dependencies. Please restart the computer and run the setup again or install the following dependencies manually:%n -de.depinstall_error=Ein Fehler ist whrend der Installation der Abghngigkeiten aufgetreten. Bitte starten Sie den Computer neu und fhren Sie das Setup erneut aus oder installieren Sie die folgenden Abhngigkeiten per Hand:%n -fr.depinstall_error=Une erreur est survenue lors de l'installation des dpendances . S'il vous plat redmarrer l'ordinateur et excuter nouveau le programme d'installation ou installer les dpendances suivantes manuellement:%n -nl.depinstall_error=Er is een fout opgetreden tijdens het installeren van de afhankelijkheden. Gelieve de computer opnieuw op en voer de installatie opnieuw uit of de volgende afhankelijkheden handmatig installeren:%n - -en.isxdl_langfile= -de.isxdl_langfile=german.ini -fr.isxdl_langfile=french3.ini -nl.isxdl_langfile=dutch.ini - -[Files] -Source: "scripts\isxdl\german.ini"; Flags: dontcopy -Source: "scripts\isxdl\french3.ini"; Flags: dontcopy -Source: "scripts\isxdl\dutch.ini"; Flags: dontcopy - [Code] -type - TProduct = record - File: String; - Title: String; - Parameters: String; - ForceSuccess : boolean; - InstallClean : boolean; - MustRebootAfter : boolean; - end; - - InstallResult = (InstallSuccessful, InstallRebootRequired, InstallError); - -var - installMemo, downloadMemo, downloadMessage: string; - products: array of TProduct; - delayedReboot, isForcedX86: boolean; - DependencyPage: TOutputProgressWizardPage; - - -procedure AddProduct(filename, parameters, title, size, url: string; forceSuccess, installClean, mustRebootAfter : boolean); -var - path: string; - i: Integer; -begin - installMemo := installMemo + '%1' + title + #13; - - path := ExpandConstant('{src}{\}') + CustomMessage('DependenciesDir') + '\' + filename; - if not FileExists(path) then begin - path := ExpandConstant('{tmp}{\}') + filename; - - if not FileExists(path) then begin - isxdl_AddFile(url, path); - - downloadMemo := downloadMemo + '%1' + title + #13; - downloadMessage := downloadMessage + ' ' + title + ' (' + size + ')' + #13; - end; - end; - - i := GetArrayLength(products); - SetArrayLength(products, i + 1); - products[i].File := path; - products[i].Title := title; - products[i].Parameters := parameters; - products[i].ForceSuccess := forceSuccess; - products[i].InstallClean := installClean; - products[i].MustRebootAfter := mustRebootAfter; -end; - -function SmartExec(product : TProduct; var resultcode : Integer): boolean; -begin - if (LowerCase(Copy(product.File, Length(product.File) - 2, 3)) = 'exe') then begin - Result := Exec(product.File, product.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, resultcode); - end else begin - Result := ShellExec('', product.File, product.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, resultcode); - end; -end; - -function PendingReboot: boolean; -var names: String; -begin - if (RegQueryMultiStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager', 'PendingFileRenameOperations', names)) then begin - Result := true; - end else if ((RegQueryMultiStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager', 'SetupExecute', names)) and (names <> '')) then begin - Result := true; - end else begin - Result := false; - end; -end; - -function InstallProducts: InstallResult; -var - resultCode, i, productCount, finishCount: Integer; -begin - Result := InstallSuccessful; - productCount := GetArrayLength(products); - - if productCount > 0 then begin - DependencyPage := CreateOutputProgressPage(CustomMessage('depinstall_title'), CustomMessage('depinstall_description')); - DependencyPage.Show; - - for i := 0 to productCount - 1 do begin - if (products[i].InstallClean and (delayedReboot or PendingReboot())) then begin - Result := InstallRebootRequired; - break; - end; - - DependencyPage.SetText(FmtMessage(CustomMessage('depinstall_status'), [products[i].Title]), ''); - DependencyPage.SetProgress(i, productCount); - - if SmartExec(products[i], resultCode) then begin - //setup executed; resultCode contains the exit code - if (products[i].MustRebootAfter) then begin - //delay reboot after install if we installed the last dependency anyways - if (i = productCount - 1) then begin - delayedReboot := true; - end else begin - Result := InstallRebootRequired; - end; - break; - end else if (resultCode = 0) or (products[i].ForceSuccess) then begin - finishCount := finishCount + 1; - end else if (resultCode = 3010) then begin - //Windows Installer resultCode 3010: ERROR_SUCCESS_REBOOT_REQUIRED - delayedReboot := true; - finishCount := finishCount + 1; - end else begin - Result := InstallError; - break; - end; - end else begin - Result := InstallError; - break; - end; - end; - - //only leave not installed products for error message - for i := 0 to productCount - finishCount - 1 do begin - products[i] := products[i+finishCount]; - end; - SetArrayLength(products, productCount - finishCount); - - DependencyPage.Hide; - end; -end; - -function PrepareToInstall(var NeedsRestart: boolean): String; -var - i: Integer; - s: string; -begin - delayedReboot := false; - - case InstallProducts() of - InstallError: begin - s := CustomMessage('depinstall_error'); - - for i := 0 to GetArrayLength(products) - 1 do begin - s := s + #13 + ' ' + products[i].Title; - end; - - Result := s; - end; - InstallRebootRequired: begin - Result := products[0].Title; - NeedsRestart := true; - - //write into the registry that the installer needs to be executed again after restart - RegWriteStringValue(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', 'InstallBootstrap', ExpandConstant('{srcexe}')); - end; - end; -end; - -function NeedRestart : boolean; -begin - Result := delayedReboot; -end; - -function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; -var - s: string; -begin - if downloadMemo <> '' then - s := s + CustomMessage('depdownload_memo_title') + ':' + NewLine + FmtMessage(downloadMemo, [Space]) + NewLine; - if installMemo <> '' then - s := s + CustomMessage('depinstall_memo_title') + ':' + NewLine + FmtMessage(installMemo, [Space]) + NewLine; - - s := s + MemoDirInfo + NewLine + NewLine + MemoGroupInfo - - if MemoTasksInfo <> '' then - s := s + NewLine + NewLine + MemoTasksInfo; - - Result := s -end; - -function NextButtonClick(CurPageID: Integer): boolean; -begin - Result := true; - - if CurPageID = wpReady then begin - if downloadMemo <> '' then begin - //change isxdl language only if it is not english because isxdl default language is already english - if (ActiveLanguage() <> 'en') then begin - ExtractTemporaryFile(CustomMessage('isxdl_langfile')); - isxdl_SetOption('language', ExpandConstant('{tmp}{\}') + CustomMessage('isxdl_langfile')); - end; - //isxdl_SetOption('title', FmtMessage(SetupMessage(msgSetupWindowTitle), [CustomMessage('appname')])); - - if SuppressibleMsgBox(FmtMessage(CustomMessage('depdownload_msg'), [downloadMessage]), mbConfirmation, MB_YESNO, IDYES) = IDNO then - Result := false - else if isxdl_DownloadFiles(StrToInt(ExpandConstant('{wizardhwnd}'))) = 0 then - Result := false; - end; - end; -end; - -function IsX86: boolean; -begin - Result := isForcedX86 or (ProcessorArchitecture = paX86) or (ProcessorArchitecture = paUnknown); -end; - -function IsX64: boolean; -begin - Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paX64); -end; - -function IsIA64: boolean; -begin - Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paIA64); -end; - -function GetString(x86, x64, ia64: String): String; -begin - if IsX64() and (x64 <> '') then begin - Result := x64; - end else if IsIA64() and (ia64 <> '') then begin - Result := ia64; - end else begin - Result := x86; - end; -end; - -function GetArchitectureString(): String; -begin - if IsX64() then begin - Result := '_x64'; - end else if IsIA64() then begin - Result := '_ia64'; - end else begin - Result := ''; - end; -end; - -procedure SetForceX86(value: boolean); -begin - isForcedX86 := value; -end; +#include "products.pas" [Setup] diff --git a/Greenshot/releases/innosetup/scripts/products.pas b/Greenshot/releases/innosetup/scripts/products.pas new file mode 100644 index 000000000..3fa140e54 --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/products.pas @@ -0,0 +1,329 @@ +{ + --- TYPES AND VARIABLES --- +} +type + TProduct = record + File: String; + Title: String; + Parameters: String; + ForceSuccess : boolean; + InstallClean : boolean; + MustRebootAfter : boolean; + end; + + InstallResult = (InstallSuccessful, InstallRebootRequired, InstallError); + +var + installMemo, downloadMessage: string; + products: array of TProduct; + delayedReboot, isForcedX86: boolean; + DependencyPage: TOutputProgressWizardPage; + +procedure AddProduct(filename, parameters, title, size, url: string; forceSuccess, installClean, mustRebootAfter : boolean); +{ + Adds a product to the list of products to download. + Parameters: + filename: the file name under which to save the file + parameters: the parameters with which to run the file + title: the product title + size: the file size + url: the URL to download from + forceSuccess: whether to continue in case of setup failure + installClean: whether the product needs a reboot before installing + mustRebootAfter: whether the product needs a reboot after installing +} +var + path: string; + i: Integer; +begin + installMemo := installMemo + '%1' + title + #13; + + path := ExpandConstant('{src}{\}') + CustomMessage('DependenciesDir') + '\' + filename; + if not FileExists(path) then begin + path := ExpandConstant('{tmp}{\}') + filename; + + if not FileExists(path) then begin + isxdl_AddFile(url, path); + + downloadMessage := downloadMessage + '%1' + title + ' (' + size + ')' + #13; + end; + end; + + i := GetArrayLength(products); + SetArrayLength(products, i + 1); + products[i].File := path; + products[i].Title := title; + products[i].Parameters := parameters; + products[i].ForceSuccess := forceSuccess; + products[i].InstallClean := installClean; + products[i].MustRebootAfter := mustRebootAfter; +end; + +function SmartExec(product : TProduct; var resultcode : Integer): boolean; +{ + Executes a product and returns the exit code. + Parameters: + product: the product to install + resultcode: the exit code +} +begin + if (LowerCase(Copy(product.File, Length(product.File) - 2, 3)) = 'exe') then begin + Result := Exec(product.File, product.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, resultcode); + end else begin + Result := ShellExec('', product.File, product.Parameters, '', SW_SHOWNORMAL, ewWaitUntilTerminated, resultcode); + end; +end; + +function PendingReboot: boolean; +{ + Checks whether the machine has a pending reboot. +} +var names: String; +begin + if (RegQueryMultiStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager', 'PendingFileRenameOperations', names)) then begin + Result := true; + end else if ((RegQueryMultiStringValue(HKEY_LOCAL_MACHINE, 'SYSTEM\CurrentControlSet\Control\Session Manager', 'SetupExecute', names)) and (names <> '')) then begin + Result := true; + end else begin + Result := false; + end; +end; + +function InstallProducts: InstallResult; +{ + Installs the downloaded products +} +var + resultCode, i, productCount, finishCount: Integer; +begin + Result := InstallSuccessful; + productCount := GetArrayLength(products); + + if productCount > 0 then begin + DependencyPage := CreateOutputProgressPage(CustomMessage('depinstall_title'), CustomMessage('depinstall_description')); + DependencyPage.Show; + + for i := 0 to productCount - 1 do begin + if (products[i].InstallClean and (delayedReboot or PendingReboot())) then begin + Result := InstallRebootRequired; + break; + end; + + DependencyPage.SetText(FmtMessage(CustomMessage('depinstall_status'), [products[i].Title]), ''); + DependencyPage.SetProgress(i, productCount); + + while true do begin + // set 0 as used code for shown error if SmartExec fails + resultCode := 0; + if SmartExec(products[i], resultCode) then begin + // setup executed; resultCode contains the exit code + if (products[i].MustRebootAfter) then begin + // delay reboot after install if we installed the last dependency anyways + if (i = productCount - 1) then begin + delayedReboot := true; + end else begin + Result := InstallRebootRequired; + end; + break; + end else if (resultCode = 0) or (products[i].ForceSuccess) then begin + finishCount := finishCount + 1; + break; + end else if (resultCode = 3010) then begin + // Windows Installer resultCode 3010: ERROR_SUCCESS_REBOOT_REQUIRED + delayedReboot := true; + finishCount := finishCount + 1; + break; + end; + end; + + case MsgBox(FmtMessage(SetupMessage(msgErrorFunctionFailed), [products[i].Title, IntToStr(resultCode)]), mbError, MB_ABORTRETRYIGNORE) of + IDABORT: begin + Result := InstallError; + break; + end; + IDIGNORE: begin + break; + end; + end; + end; + + if Result <> InstallSuccessful then begin + break; + end; + end; + + // only leave not installed products for error message + for i := 0 to productCount - finishCount - 1 do begin + products[i] := products[i+finishCount]; + end; + SetArrayLength(products, productCount - finishCount); + + DependencyPage.Hide; + end; +end; + +{ + -------------------- + INNO EVENT FUNCTIONS + -------------------- +} + +function PrepareToInstall(var NeedsRestart: boolean): String; +{ + Before the "preparing to install" page. + See: http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents +} +var + i: Integer; + s: string; +begin + delayedReboot := false; + + case InstallProducts() of + InstallError: begin + s := CustomMessage('depinstall_error'); + + for i := 0 to GetArrayLength(products) - 1 do begin + s := s + #13 + ' ' + products[i].Title; + end; + + Result := s; + end; + InstallRebootRequired: begin + Result := products[0].Title; + NeedsRestart := true; + + // write into the registry that the installer needs to be executed again after restart + RegWriteStringValue(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce', 'InstallBootstrap', ExpandConstant('{srcexe}')); + end; + end; +end; + +function NeedRestart : boolean; +{ + Checks whether a restart is needed at the end of install + See: http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents +} +begin + Result := delayedReboot; +end; + +function UpdateReadyMemo(Space, NewLine, MemoUserInfoInfo, MemoDirInfo, MemoTypeInfo, MemoComponentsInfo, MemoGroupInfo, MemoTasksInfo: String): String; +{ + Just before the "ready" page. + See: http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents +} +var + s: string; +begin + if downloadMessage <> '' then + s := s + CustomMessage('depdownload_memo_title') + ':' + NewLine + FmtMessage(downloadMessage, [Space]) + NewLine; + if installMemo <> '' then + s := s + CustomMessage('depinstall_memo_title') + ':' + NewLine + FmtMessage(installMemo, [Space]) + NewLine; + + if MemoDirInfo <> '' then + s := s + MemoDirInfo + NewLine + NewLine; + if MemoGroupInfo <> '' then + s := s + MemoGroupInfo + NewLine + NewLine; + if MemoTasksInfo <> '' then + s := s + MemoTasksInfo; + + Result := s +end; + +function NextButtonClick(CurPageID: Integer): boolean; +{ + At each "next" button click + See: http://www.jrsoftware.org/ishelp/index.php?topic=scriptevents +} +begin + Result := true; + + if CurPageID = wpReady then begin + if downloadMessage <> '' then begin + // change isxdl language only if it is not english because isxdl default language is already english + if (ActiveLanguage() <> 'en') then begin + ExtractTemporaryFile(CustomMessage('isxdl_langfile')); + isxdl_SetOption('language', ExpandConstant('{tmp}{\}') + CustomMessage('isxdl_langfile')); + end; + //isxdl_SetOption('title', FmtMessage(SetupMessage(msgSetupWindowTitle), [CustomMessage('appname')])); + + //if SuppressibleMsgBox(FmtMessage(CustomMessage('depdownload_msg'), [FmtMessage(downloadMessage, [''])]), mbConfirmation, MB_YESNO, IDYES) = IDNO then + // Result := false + //else if + if isxdl_DownloadFiles(StrToInt(ExpandConstant('{wizardhwnd}'))) = 0 then + Result := false; + end; + end; +end; + +{ + ----------------------------- + ARCHITECTURE HELPER FUNCTIONS + ----------------------------- +} + +function IsX86: boolean; +{ + Gets whether the computer is x86 (32 bits). +} +begin + Result := isForcedX86 or (ProcessorArchitecture = paX86) or (ProcessorArchitecture = paUnknown); +end; + +function IsX64: boolean; +{ + Gets whether the computer is x64 (64 bits). +} +begin + Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paX64); +end; + +function IsIA64: boolean; +{ + Gets whether the computer is IA64 (Itanium 64 bits). +} +begin + Result := (not isForcedX86) and Is64BitInstallMode and (ProcessorArchitecture = paIA64); +end; + +function GetString(x86, x64, ia64: String): String; +{ + Gets a string depending on the computer architecture. + Parameters: + x86: the string if the computer is x86 + x64: the string if the computer is x64 + ia64: the string if the computer is IA64 +} +begin + if IsX64() and (x64 <> '') then begin + Result := x64; + end else if IsIA64() and (ia64 <> '') then begin + Result := ia64; + end else begin + Result := x86; + end; +end; + +function GetArchitectureString(): String; +{ + Gets the "standard" architecture suffix string. + Returns either _x64, _ia64 or nothing. +} +begin + if IsX64() then begin + Result := '_x64'; + end else if IsIA64() then begin + Result := '_ia64'; + end else begin + Result := ''; + end; +end; + +procedure SetForceX86(value: boolean); +{ + Forces the setup to use X86 products +} +begin + isForcedX86 := value; +end; diff --git a/Greenshot/releases/innosetup/scripts/products/directxruntime.iss b/Greenshot/releases/innosetup/scripts/products/directxruntime.iss index 7e8811283..845699f1c 100644 --- a/Greenshot/releases/innosetup/scripts/products/directxruntime.iss +++ b/Greenshot/releases/innosetup/scripts/products/directxruntime.iss @@ -5,8 +5,7 @@ en.directxruntime_title=DirectX End-User Runtime de.directxruntime_title=DirectX Endbenutzer Runtime -en.directxruntime_size=1 MB - 95.6 MB -de.directxruntime_size=1 MB - 95,6 MB +directxruntime_size=1 MB - 95.6 MB [Files] ;includes dxwebsetup.exe in setup executable so that we don't need to download it diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx11.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx11.iss index 955469b6a..6f7732bb7 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx11.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx11.iss @@ -5,8 +5,7 @@ [CustomMessages] dotnetfx11_title=.NET Framework 1.1 -en.dotnetfx11_size=23.1 MB -de.dotnetfx11_size=23,1 MB +dotnetfx11_size=23.1 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx11lp.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx11lp.iss index a2415cfa2..0cf4d085f 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx11lp.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx11lp.iss @@ -1,18 +1,16 @@ [CustomMessages] de.dotnetfx11lp_title=.NET Framework 1.1 Sprachpaket: Deutsch -de.dotnetfx11lp_size=1,4 MB - -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -de.dotnetfx11lp_lcid=1031 +dotnetfx11lp_size=1.4 MB +dotnetfx11lp_url= de.dotnetfx11lp_url=http://download.microsoft.com/download/6/8/2/6821e687-526a-4ef8-9a67-9a402ec5ac9e/langpack.exe [Code] procedure dotnetfx11lp(); begin - if (ActiveLanguage() <> 'en') then begin - if (IsX86() and not netfxinstalled(NetFx11, CustomMessage('dotnetfx11lp_lcid'))) then + if (CustomMessage('dotnetfx11lp_url') <> '') then begin + if (IsX86() and not netfxinstalled(NetFx11, CustomMessage('lcid'))) then AddProduct('dotnetfx11' + ActiveLanguage() + '.exe', '/q:a /c:"inst.exe /qb /l"', CustomMessage('dotnetfx11lp_title'), diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx11sp1.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx11sp1.iss index f7197d67e..0b514f811 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx11sp1.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx11sp1.iss @@ -5,8 +5,7 @@ [CustomMessages] dotnetfx11sp1_title=.NET Framework 1.1 Service Pack 1 -en.dotnetfx11sp1_size=10.5 MB -de.dotnetfx11sp1_size=10,5 MB +dotnetfx11sp1_size=10.5 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx20lp.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx20lp.iss index fb13e4103..6a08d0d44 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx20lp.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx20lp.iss @@ -3,11 +3,9 @@ [CustomMessages] de.dotnetfx20lp_title=.NET Framework 2.0 Sprachpaket: Deutsch -de.dotnetfx20lp_size=1,8 MB - -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -de.dotnetfx20lp_lcid=1031 +dotnetfx20lp_size=1.8 MB +dotnetfx20lp_url= de.dotnetfx20lp_url=http://download.microsoft.com/download/2/9/7/29768238-56c3-4ea6-abba-4c5246f2bc81/langpack.exe de.dotnetfx20lp_url_x64=http://download.microsoft.com/download/2/e/f/2ef250ba-a868-4074-a4c9-249004866f87/langpack.exe de.dotnetfx20lp_url_ia64=http://download.microsoft.com/download/8/9/8/898c5670-5e74-41c4-82fc-68dd837af627/langpack.exe @@ -15,8 +13,8 @@ de.dotnetfx20lp_url_ia64=http://download.microsoft.com/download/8/9/8/898c5670-5 [Code] procedure dotnetfx20lp(); begin - if (ActiveLanguage() <> 'en') then begin - if (not netfxinstalled(NetFx20, CustomMessage('dotnetfx20lp_lcid'))) then + if (CustomMessage('dotnetfx20lp_url') <> '') then begin + if (not netfxinstalled(NetFx20, CustomMessage('lcid'))) then AddProduct('dotnetfx20' + GetArchitectureString() + '_' + ActiveLanguage() + '.exe', '/passive /norestart /lang:ENU', CustomMessage('dotnetfx20lp_title'), diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp1.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp1.iss index 6ee4ef540..57ff4ea1e 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp1.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp1.iss @@ -5,8 +5,7 @@ [CustomMessages] dotnetfx20sp1_title=.NET Framework 2.0 Service Pack 1 -en.dotnetfx20sp1_size=23.6 MB -de.dotnetfx20sp1_size=23,6 MB +dotnetfx20sp1_size=23.6 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp1lp.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp1lp.iss index 67111c59f..0e7c6f324 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp1lp.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp1lp.iss @@ -3,11 +3,9 @@ [CustomMessages] de.dotnetfx20sp1lp_title=.NET Framework 2.0 SP1 Sprachpaket: Deutsch -de.dotnetfx20sp1lp_size=3,4 MB - -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -de.dotnetfx20sp1lp_lcid=1031 +dotnetfx20sp1lp_size=3.4 MB +dotnetfx20sp1lp_url= de.dotnetfx20sp1lp_url=http://download.microsoft.com/download/8/a/a/8aab7e6a-5e58-4e83-be99-f5fb49fe811e/NetFx20SP1_x86de.exe de.dotnetfx20sp1lp_url_x64=http://download.microsoft.com/download/1/4/2/1425872f-c564-4ab2-8c9e-344afdaecd44/NetFx20SP1_x64de.exe de.dotnetfx20sp1lp_url_ia64=http://download.microsoft.com/download/a/0/b/a0bef431-19d8-433c-9f42-6e2824a8cb90/NetFx20SP1_ia64de.exe @@ -15,8 +13,8 @@ de.dotnetfx20sp1lp_url_ia64=http://download.microsoft.com/download/a/0/b/a0bef43 [Code] procedure dotnetfx20sp1lp(); begin - if (ActiveLanguage() <> 'en') then begin - if (netfxspversion(NetFx20, CustomMessage('dotnetfx20sp1lp_lcid')) < 1) then + if (CustomMessage('dotnetfx20sp1lp_url') <> '') then begin + if (netfxspversion(NetFx20, CustomMessage('lcid')) < 1) then AddProduct('dotnetfx20sp1' + GetArchitectureString() + '_' + ActiveLanguage() + '.exe', '/passive /norestart /lang:ENU', CustomMessage('dotnetfx20sp1lp_title'), diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp2.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp2.iss index 0a9e48e5a..58703d24a 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp2.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp2.iss @@ -3,8 +3,7 @@ [CustomMessages] dotnetfx20sp2_title=.NET Framework 2.0 Service Pack 2 -en.dotnetfx20sp2_size=24 MB - 52 MB -de.dotnetfx20sp2_size=24 MB - 52 MB +dotnetfx20sp2_size=24 MB - 52 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp2lp.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp2lp.iss index b8aad1565..616199aad 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp2lp.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx20sp2lp.iss @@ -3,11 +3,9 @@ [CustomMessages] de.dotnetfx20sp2lp_title=.NET Framework 2.0 SP2 Sprachpaket: Deutsch -de.dotnetfx20sp2lp_size=3,4 MB - -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -de.dotnetfx20sp2lp_lcid=1031 +dotnetfx20sp2lp_size=3.4 MB +dotnetfx20sp2lp_url= de.dotnetfx20sp2lp_url=http://download.microsoft.com/download/0/b/1/0b175c8e-34bd-46c0-bfcd-af8d33770c58/netfx20sp2_x86de.exe de.dotnetfx20sp2lp_url_x64=http://download.microsoft.com/download/4/e/c/4ec67a11-879d-4550-9c25-fd9ab4261b46/netfx20sp2_x64de.exe de.dotnetfx20sp2lp_url_ia64=http://download.microsoft.com/download/a/3/3/a3349a2d-36e4-4797-8297-4394e6fbd677/NetFx20SP2_ia64de.exe @@ -15,8 +13,8 @@ de.dotnetfx20sp2lp_url_ia64=http://download.microsoft.com/download/a/3/3/a3349a2 [Code] procedure dotnetfx20sp2lp(); begin - if (ActiveLanguage() <> 'en') then begin - if (netfxspversion(NetFx20, CustomMessage('dotnetfx20sp2lp_lcid')) < 2) then + if (CustomMessage('dotnetfx20sp2lp_url') <> '') then begin + if (netfxspversion(NetFx20, CustomMessage('lcid')) < 2) then AddProduct('dotnetfx20sp2' + GetArchitectureString() + '_' + ActiveLanguage() + '.exe', '/lang:enu /passive /norestart"', CustomMessage('dotnetfx20sp2lp_title'), diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx35lp.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx35lp.iss index 818e7eebb..6afe4580d 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx35lp.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx35lp.iss @@ -1,18 +1,16 @@ [CustomMessages] de.dotnetfx35lp_title=.NET Framework 3.5 Sprachpaket: Deutsch -de.dotnetfx35lp_size=13 MB - 51 MB - -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -de.dotnetfx35lp_lcid=1031 +dotnetfx35lp_size=13 MB - 51 MB +dotnetfx35lp_url= de.dotnetfx35lp_url=http://download.microsoft.com/download/d/1/e/d1e617c3-c7f4-467e-a7de-af832450efd3/dotnetfx35langpack_x86de.exe [Code] procedure dotnetfx35lp(); begin - if (ActiveLanguage() <> 'en') then begin - if (not netfxinstalled(NetFx35, CustomMessage('dotnetfx35lp_lcid'))) then + if (CustomMessage('dotnetfx35lp_url') <> '') then begin + if (not netfxinstalled(NetFx35, CustomMessage('lcid'))) then AddProduct('dotnetfx35_' + ActiveLanguage() + '.exe', '/lang:enu /passive /norestart', CustomMessage('dotnetfx35lp_title'), diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx35sp1.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx35sp1.iss index 5eee9f7c7..f7b564ef8 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx35sp1.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx35sp1.iss @@ -6,8 +6,7 @@ [CustomMessages] dotnetfx35sp1_title=.NET Framework 3.5 Service Pack 1 -en.dotnetfx35sp1_size=3 MB - 232 MB -de.dotnetfx35sp1_size=3 MB - 232 MB +dotnetfx35sp1_size=3 MB - 232 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx35sp1lp.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx35sp1lp.iss index 38319504e..de6eb4ce1 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx35sp1lp.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx35sp1lp.iss @@ -1,18 +1,16 @@ [CustomMessages] de.dotnetfx35sp1lp_title=.NET Framework 3.5 SP1 Sprachpaket: Deutsch -de.dotnetfx35sp1lp_size=22 MB - 98 MB - -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -de.dotnetfx35sp1lp_lcid=1031 +dotnetfx35sp1lp_size=22 MB - 98 MB +dotnetfx35sp1lp_url= de.dotnetfx35sp1lp_url=http://download.microsoft.com/download/d/7/2/d728b7b9-454b-4b57-8270-45dac441b0ec/dotnetfx35langpack_x86de.exe [Code] procedure dotnetfx35sp1lp(); begin - if (ActiveLanguage() <> 'en') then begin - if (netfxspversion(NetFx35, CustomMessage('dotnetfx35sp1lp_lcid')) < 1) then + if (CustomMessage('dotnetfx35sp1lp_url') <> '') then begin + if (netfxspversion(NetFx35, CustomMessage('lcid')) < 1) then AddProduct('dotnetfx35sp1_' + ActiveLanguage() + '.exe', '/lang:enu /passive /norestart', CustomMessage('dotnetfx35sp1lp_title'), diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx40client.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx40client.iss index db6441cb4..6e3ad4d59 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx40client.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx40client.iss @@ -9,10 +9,6 @@ dotnetfx40client_title=.NET Framework 4.0 Client dotnetfx40client_size=3 MB - 197 MB -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -en.dotnetfx40client_lcid= -de.dotnetfx40client_lcid=/lcid 1031 - [Code] const dotnetfx40client_url = 'http://download.microsoft.com/download/7/B/6/7B629E05-399A-4A92-B5BC-484C74B5124B/dotNetFx40_Client_setup.exe'; @@ -21,7 +17,7 @@ procedure dotnetfx40client(); begin if (not netfxinstalled(NetFx40Client, '')) then AddProduct('dotNetFx40_Client_setup.exe', - CustomMessage('dotnetfx40client_lcid') + ' /passive /norestart', + '/lcid ' + CustomMessage('lcid') + ' /passive /norestart', CustomMessage('dotnetfx40client_title'), CustomMessage('dotnetfx40client_size'), dotnetfx40client_url, diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx40full.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx40full.iss index 917bc2c5b..2a8d79e2b 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx40full.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx40full.iss @@ -9,10 +9,6 @@ dotnetfx40full_title=.NET Framework 4.0 Full dotnetfx40full_size=3 MB - 197 MB -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -en.dotnetfx40full_lcid= -de.dotnetfx40full_lcid=/lcid 1031 - [Code] const dotnetfx40full_url = 'http://download.microsoft.com/download/1/B/E/1BE39E79-7E39-46A3-96FF-047F95396215/dotNetFx40_Full_setup.exe'; @@ -21,7 +17,7 @@ procedure dotnetfx40full(); begin if (not netfxinstalled(NetFx40Full, '')) then AddProduct('dotNetFx40_Full_setup.exe', - CustomMessage('dotnetfx40full_lcid') + ' /passive /norestart', + '/lcid ' + CustomMessage('lcid') + ' /passive /norestart', CustomMessage('dotnetfx40full_title'), CustomMessage('dotnetfx40full_size'), dotnetfx40full_url, diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx45.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx45.iss new file mode 100644 index 000000000..9fcf03f12 --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx45.iss @@ -0,0 +1,25 @@ +; requires Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Server 2012 R2, Windows Vista Service Pack 2 +; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below +; http://www.microsoft.com/en-us/download/details.aspx?id=42642 + +[CustomMessages] +dotnetfx45_title=.NET Framework 4.5.2 + +dotnetfx45_size=1 MB - 68 MB + +[Code] +const + dotnetfx45_url = 'http://download.microsoft.com/download/B/4/1/B4119C11-0423-477B-80EE-7A474314B347/NDP452-KB2901954-Web.exe'; + +procedure dotnetfx45(minVersion: integer); +begin + if (not netfxinstalled(NetFx4x, '') or (netfxspversion(NetFx4x, '') < minVersion)) then + AddProduct('dotnetfx45.exe', + '/lcid ' + CustomMessage('lcid') + ' /passive /norestart', + CustomMessage('dotnetfx45_title'), + CustomMessage('dotnetfx45_size'), + dotnetfx45_url, + false, false, false); +end; + +[Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx46.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx46.iss index 25ff2029a..169a120df 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfx46.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx46.iss @@ -1,28 +1,24 @@ -; requires Windows 10, Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Server 2012 R2, Windows Vista Service Pack 2 +; requires Windows 7 Service Pack 1, Windows 8.1, Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2012 R2 ; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below -; https://www.microsoft.com/en-US/download/details.aspx?id=49982 +; https://www.microsoft.com/en-US/download/details.aspx?id=53345 [CustomMessages] -dotnetfx46_title=.NET Framework 4.6.1 +dotnetfx46_title=.NET Framework 4.6.2 -dotnetfx46_size=1 MB - 65 MB - -;http://www.microsoft.com/globaldev/reference/lcid-all.mspx -en.dotnetfx46_lcid= -de.dotnetfx46_lcid=/lcid 1031 +dotnetfx46_size=1 MB - 59 MB [Code] const - dotnetfx461_url = 'http://download.microsoft.com/download/3/5/9/35980F81-60F4-4DE3-88FC-8F962B97253B/NDP461-KB3102438-Web.exe'; + dotnetfx46_url = 'http://download.microsoft.com/download/D/5/C/D5C98AB0-35CC-45D9-9BA5-B18256BA2AE6/NDP462-KB3151802-Web.exe'; procedure dotnetfx46(minVersion: integer); begin if (not netfxinstalled(NetFx4x, '') or (netfxspversion(NetFx4x, '') < minVersion)) then AddProduct('dotnetfx46.exe', - CustomMessage('dotnetfx46_lcid') + ' /passive /norestart', + '/lcid ' + CustomMessage('lcid') + ' /passive /norestart', CustomMessage('dotnetfx46_title'), CustomMessage('dotnetfx46_size'), - dotnetfx461_url, + dotnetfx46_url, false, false, false); end; diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx47.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx47.iss new file mode 100644 index 000000000..d3c8919a2 --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx47.iss @@ -0,0 +1,25 @@ +; requires Windows Server 2016 (version 1709), Windows 10 Anniversary Update (version 1607) (x86 and x64), Windows 10 Creators Update (version 1703) (x86 and x64), Windows 10 Fall Creators Update (version 1709) (x86 and x64), Windows Server 2012 R2 (x64), Windows 8.1 (x86 and x64), Windows Server 2012 (x64), Windows Server 2008 R2 Service Pack 1 (x64), Windows 7 Service Pack 1 (x86 and x64) +; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below +; https://support.microsoft.com/en-us/help/4054531 + +[CustomMessages] +dotnetfx47_title=.NET Framework 4.7.2 + +dotnetfx47_size=1 MB - 59 MB + +[Code] +const + dotnetfx47_url = 'http://download.microsoft.com/download/0/5/C/05C1EC0E-D5EE-463B-BFE3-9311376A6809/NDP472-KB4054531-Web.exe'; + +procedure dotnetfx47(minVersion: integer); +begin + if (not netfxinstalled(NetFx4x, '') or (netfxspversion(NetFx4x, '') < minVersion)) then + AddProduct('dotnetfx47.exe', + '/lcid ' + CustomMessage('lcid') + ' /passive /norestart', + CustomMessage('dotnetfx47_title'), + CustomMessage('dotnetfx47_size'), + dotnetfx47_url, + false, false, false); +end; + +[Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfx48.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfx48.iss new file mode 100644 index 000000000..cb8df840e --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfx48.iss @@ -0,0 +1,25 @@ +; requires Windows 10, Windows 7 Service Pack 1, Windows 8.1, Windows Server 2008 R2 SP1, Windows Server 2012, Windows Server 2012 R2, Windows Server 2016 +; WARNING: express setup (downloads and installs the components depending on your OS) if you want to deploy it on cd or network download the full bootsrapper on website below +; https://dotnet.microsoft.com/download/dotnet-framework/net48 + +[CustomMessages] +dotnetfx48_title=.NET Framework 4.8 + +dotnetfx48_size=1 MB - 59 MB + +[Code] +const + dotnetfx48_url = 'http://download.visualstudio.microsoft.com/download/pr/7afca223-55d2-470a-8edc-6a1739ae3252/c9b8749dd99fc0d4453b2a3e4c37ba16/ndp48-web.exe'; + +procedure dotnetfx48(minVersion: integer); +begin + if (not netfxinstalled(NetFx4x, '') or (netfxspversion(NetFx4x, '') < minVersion)) then + AddProduct('dotnetfx48.exe', + '/lcid ' + CustomMessage('lcid') + ' /passive /norestart', + CustomMessage('dotnetfx48_title'), + CustomMessage('dotnetfx48_size'), + dotnetfx48_url, + false, false, false); +end; + +[Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/dotnetfxversion.iss b/Greenshot/releases/innosetup/scripts/products/dotnetfxversion.iss index 613fdf19a..1e7b80ed3 100644 --- a/Greenshot/releases/innosetup/scripts/products/dotnetfxversion.iss +++ b/Greenshot/releases/innosetup/scripts/products/dotnetfxversion.iss @@ -50,7 +50,7 @@ begin case version of NetFx10: - //not supported + // not supported regVersion := -1; NetFx11: if (not RegQueryDWordValue(HKLM, netfx11plus_reg + 'v1.1.4322' + lcid, 'SP', regVersion)) then @@ -72,7 +72,15 @@ begin regVersion := -1; NetFx4x: if (RegQueryDWordValue(HKLM, netfx11plus_reg + 'v4\Full' + lcid, 'Release', regVersion)) then begin - if (regVersion >= 394747) then + if (regVersion >= 528040) then + regVersion := 80 // 4.8+ + else if (regVersion >= 461808) then + regVersion := 72 // 4.7.2+ + else if (regVersion >= 461308) then + regVersion := 71 // 4.7.1+ + else if (regVersion >= 460798) then + regVersion := 70 // 4.7+ + else if (regVersion >= 394802) then regVersion := 62 // 4.6.2+ else if (regVersion >= 394254) then regVersion := 61 // 4.6.1+ @@ -83,7 +91,7 @@ begin else if (regVersion >= 378675) then regVersion := 51 // 4.5.1+ else if (regVersion >= 378389) then - regVersion := 50 // 4.5.0+ + regVersion := 50 // 4.5+ else regVersion := -1; end; diff --git a/Greenshot/releases/innosetup/scripts/products/ie6.iss b/Greenshot/releases/innosetup/scripts/products/ie6.iss index 954940b7e..6dc872541 100644 --- a/Greenshot/releases/innosetup/scripts/products/ie6.iss +++ b/Greenshot/releases/innosetup/scripts/products/ie6.iss @@ -5,8 +5,7 @@ [CustomMessages] ie6_title=Internet Explorer 6 -en.ie6_size=1 MB - 77.5 MB -de.ie6_size=1 MB - 77,5 MB +ie6_size=1 MB - 77.5 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/jet4sp8.iss b/Greenshot/releases/innosetup/scripts/products/jet4sp8.iss index 5b76e5ab8..480dc6cd0 100644 --- a/Greenshot/releases/innosetup/scripts/products/jet4sp8.iss +++ b/Greenshot/releases/innosetup/scripts/products/jet4sp8.iss @@ -3,8 +3,7 @@ [CustomMessages] jet4sp8_title=Jet 4 -en.jet4sp8_size=3.7 MB -de.jet4sp8_size=3,7 MB +jet4sp8_size=3.7 MB [Code] const @@ -12,7 +11,7 @@ const procedure jet4sp8(minVersion: string); begin - //check for Jet4 Service Pack 8 installation + // check for Jet4 Service Pack 8 installation if (compareversion(fileversion(ExpandConstant('{sys}{\}msjet40.dll')), minVersion) < 0) then AddProduct('jet4sp8.exe', '/q:a /c:"install /qb /l"', diff --git a/Greenshot/releases/innosetup/scripts/products/kb835732.iss b/Greenshot/releases/innosetup/scripts/products/kb835732.iss index 13a0a183d..5b69cd1b4 100644 --- a/Greenshot/releases/innosetup/scripts/products/kb835732.iss +++ b/Greenshot/releases/innosetup/scripts/products/kb835732.iss @@ -6,8 +6,7 @@ en.kb835732_title=Windows 2000 Security Update (KB835732) de.kb835732_title=Windows 2000 Sicherheitsupdate (KB835732) -en.kb835732_size=6.8 MB -de.kb835732_size=6,8 MB +kb835732_size=6.8 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/kb886903.iss b/Greenshot/releases/innosetup/scripts/products/kb886903.iss deleted file mode 100644 index 207973a10..000000000 --- a/Greenshot/releases/innosetup/scripts/products/kb886903.iss +++ /dev/null @@ -1,32 +0,0 @@ -// WARNING: Windows Update is better because there are different versions for different OS -// (optional) critical security hotfix for .NET Framework 1.1 Service Pack 1 on Windows 2000/XP/2003 -// http://support.microsoft.com/default.aspx?scid=kb;en-us;886903 -// http://www.microsoft.com/downloads/details.aspx?familyid=8EC6FB8A-29EB-49CF-9DBC-1A0DC2273FF9 - -[CustomMessages] -en.kb886903_title=.NET Framework 1.1 SP1 Security Update (KB886903) -de.kb886903_title=.NET Framework 1.1 SP1 Sicherheitsupdate (KB886903) -nl.kb886903_title=.NET Framework 1.1 SP1 Veiligheidsupdate (KB886903) - -kb886903_size=1.5 MB - - -[Code] -const - kb886903_url = 'http://download.microsoft.com/download/e/1/4/e14c0c02-591b-4696-8552-eb710c26a3cd/NDP1.1sp1-KB886903-X86.exe'; - -procedure kb886903(); -var - version: cardinal; -begin - RegQueryDWordValue(HKLM, 'Software\Microsoft\NET Framework Setup\NDP\v1.1.4322', 'SP', version); - if version = 1 then begin - RegQueryDWordValue(HKLM, 'Software\Microsoft\Updates\.NETFramework\1.1\M886903', 'Installed', version); - if version <> 1 then - AddProduct('kb886903.exe', - '/q', - CustomMessage('kb886903_title'), - CustomMessage('kb886903_size'), - kb886903_url); - end; -end; \ No newline at end of file diff --git a/Greenshot/releases/innosetup/scripts/products/kb928366.iss b/Greenshot/releases/innosetup/scripts/products/kb928366.iss deleted file mode 100644 index 127237f2a..000000000 --- a/Greenshot/releases/innosetup/scripts/products/kb928366.iss +++ /dev/null @@ -1,32 +0,0 @@ -// WARNING: Windows Update is better because there are different versions for different OS -// (optional) critical security hotfix for .NET Framework 1.1 Service Pack 1 on Windows 2000/XP -// http://support.microsoft.com/?id=928366 -// http://www.microsoft.com/downloads/details.aspx?familyid=281FB2CD-C715-4F05-A01F-0455D2D9EBFB - -[CustomMessages] -en.kb928366_title=.NET Framework 1.1 SP1 Security Update (KB928366) -de.kb928366_title=.NET Framework 1.1 SP1 Sicherheitsupdate (KB928366) -nl.kb928366_title=.NET Framework 1.1 SP1 Veiligheidsupdate (KB928366) - -kb928366_size=8.8 MB - - -[Code] -const - kb928366_url = 'http://download.microsoft.com/download/6/d/0/6d0e5797-91eb-401a-a61f-58b369302018/NDP1.1sp1-KB928366-X86.exe'; - -procedure kb928366(); -var - version: cardinal; -begin - RegQueryDWordValue(HKLM, 'Software\Microsoft\NET Framework Setup\NDP\v1.1.4322', 'SP', version); - if version = 1 then begin - RegQueryDWordValue(HKLM, 'Software\Microsoft\Updates\.NETFramework\1.1\M928366', 'Installed', version); - if version <> 1 then - AddProduct('kb928366.exe', - '/q', - CustomMessage('kb928366_title'), - CustomMessage('kb928366_size'), - kb928366_url); - end; -end; \ No newline at end of file diff --git a/Greenshot/releases/innosetup/scripts/products/mdac28.iss b/Greenshot/releases/innosetup/scripts/products/mdac28.iss index 63d5b88ba..8c5c021a6 100644 --- a/Greenshot/releases/innosetup/scripts/products/mdac28.iss +++ b/Greenshot/releases/innosetup/scripts/products/mdac28.iss @@ -1,8 +1,7 @@ [CustomMessages] mdac28_title=Microsoft Data Access Components 2.8 -en.mdac28_size=5.4 MB -de.mdac28_size=5,4 MB +mdac28_size=5.4 MB [Code] const @@ -12,7 +11,7 @@ procedure mdac28(minVersion: string); var version: string; begin - //check for MDAC installation + // check for MDAC installation RegQueryStringValue(HKLM, 'Software\Microsoft\DataAccess', 'FullInstallVer', version); if (compareversion(version, minVersion) < 0) then AddProduct('mdac28.exe', diff --git a/Greenshot/releases/innosetup/scripts/products/msi20.iss b/Greenshot/releases/innosetup/scripts/products/msi20.iss index e44f74b3d..208218594 100644 --- a/Greenshot/releases/innosetup/scripts/products/msi20.iss +++ b/Greenshot/releases/innosetup/scripts/products/msi20.iss @@ -1,8 +1,7 @@ [CustomMessages] msi20_title=Windows Installer 2.0 -en.msi20_size=1.7 MB -de.msi20_size=1,7 MB +msi20_size=1.7 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/msi31.iss b/Greenshot/releases/innosetup/scripts/products/msi31.iss index 0ea175dd9..6885e73ba 100644 --- a/Greenshot/releases/innosetup/scripts/products/msi31.iss +++ b/Greenshot/releases/innosetup/scripts/products/msi31.iss @@ -1,8 +1,7 @@ [CustomMessages] msi31_title=Windows Installer 3.1 -en.msi31_size=2.5 MB -de.msi31_size=2,5 MB +msi31_size=2.5 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/msi45.iss b/Greenshot/releases/innosetup/scripts/products/msi45.iss index e97de18a9..c4fe0703a 100644 --- a/Greenshot/releases/innosetup/scripts/products/msi45.iss +++ b/Greenshot/releases/innosetup/scripts/products/msi45.iss @@ -1,14 +1,9 @@ [CustomMessages] msi45_title=Windows Installer 4.5 -en.msi45win60_size=1.7 MB -de.msi45win60_size=1,7 MB - -en.msi45win52_size=3.0 MB -de.msi45win52_size=3,0 MB - -en.msi45win51_size=3.2 MB -de.msi45win51_size=3,2 MB +msi45win60_size=1.7 MB +msi45win52_size=3.0 MB +msi45win51_size=3.2 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/msiproduct.iss b/Greenshot/releases/innosetup/scripts/products/msiproduct.iss index b5135c6fb..cfbfefc3e 100644 --- a/Greenshot/releases/innosetup/scripts/products/msiproduct.iss +++ b/Greenshot/releases/innosetup/scripts/products/msiproduct.iss @@ -1,25 +1,49 @@ [Code] -#IFDEF UNICODE - #DEFINE AW "W" -#ELSE - #DEFINE AW "A" -#ENDIF +#ifdef UNICODE + #define AW "W" +#else + #define AW "A" +#endif type - INSTALLSTATE = Longint; + INSTALLSTATE = Longint; const - INSTALLSTATE_INVALIDARG = -2; // An invalid parameter was passed to the function. - INSTALLSTATE_UNKNOWN = -1; // The product is neither advertised or installed. - INSTALLSTATE_ADVERTISED = 1; // The product is advertised but not installed. - INSTALLSTATE_ABSENT = 2; // The product is installed for a different user. - INSTALLSTATE_DEFAULT = 5; // The product is installed for the current user. + INSTALLSTATE_INVALIDARG = -2; // An invalid parameter was passed to the function. + INSTALLSTATE_UNKNOWN = -1; // The product is neither advertised or installed. + INSTALLSTATE_ADVERTISED = 1; // The product is advertised but not installed. + INSTALLSTATE_ABSENT = 2; // The product is installed for a different user. + INSTALLSTATE_DEFAULT = 5; // The product is installed for the current user. function MsiQueryProductState(szProduct: string): INSTALLSTATE; external 'MsiQueryProductState{#AW}@msi.dll stdcall'; -function msiproduct(const ProductID: string): boolean; +function MsiEnumRelatedProducts(szUpgradeCode: string; nReserved: dword; nIndex: dword; szProductCode: string): integer; +external 'MsiEnumRelatedProducts{#AW}@msi.dll stdcall'; + +function MsiGetProductInfo(szProductCode: string; szProperty: string; szValue: string; var nvalueSize: dword): integer; +external 'MsiGetProductInfo{#AW}@msi.dll stdcall'; + +function msiproduct(productID: string): boolean; begin - Result := MsiQueryProductState(ProductID) = INSTALLSTATE_DEFAULT; + Result := MsiQueryProductState(productID) = INSTALLSTATE_DEFAULT; +end; + +function msiproductupgrade(upgradeCode: string; minVersion: string): boolean; +var + productCode, version: string; + valueSize: dword; +begin + SetLength(productCode, 39); + Result := false; + + if (MsiEnumRelatedProducts(upgradeCode, 0, 0, productCode) = 0) then begin + SetLength(version, 39); + valueSize := Length(version); + + if (MsiGetProductInfo(productCode, 'VersionString', version, valueSize) = 0) then begin + Result := compareversion(version, minVersion) >= 0; + end; + end; end; [Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/sql2005express.iss b/Greenshot/releases/innosetup/scripts/products/sql2005express.iss index 626aebeca..aef489e10 100644 --- a/Greenshot/releases/innosetup/scripts/products/sql2005express.iss +++ b/Greenshot/releases/innosetup/scripts/products/sql2005express.iss @@ -6,11 +6,8 @@ [CustomMessages] sql2005express_title=SQL Server 2005 Express SP3 -en.sql2005express_size=38.1 MB -de.sql2005express_size=38,1 MB - -en.sql2005express_size_x64=58.1 MB -de.sql2005express_size_x64=58,1 MB +sql2005express_size=38.1 MB +sql2005express_size_x64=58.1 MB [Code] const @@ -21,12 +18,12 @@ procedure sql2005express(); var version: string; begin - //CHECK NOT FINISHED YET - //RTM: 9.00.1399.06 - //Service Pack 1: 9.1.2047.00 - //Service Pack 2: 9.2.3042.00 + // CHECK NOT FINISHED YET + // RTM: 9.00.1399.06 + // Service Pack 1: 9.1.2047.00 + // Service Pack 2: 9.2.3042.00 // TODO: Newer detection method required for SP3 and x64 - //Service Pack 3: 9.00.4035.00 + // Service Pack 3: 9.00.4035.00 //RegQueryDWordValue(HKLM, 'Software\Microsoft\Microsoft SQL Server\90\DTS\Setup', 'Install', version); RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Microsoft SQL Server\SQLEXPRESS\MSSQLServer\CurrentVersion', 'CurrentVersion', version); if (version < '9.00.4035') then begin diff --git a/Greenshot/releases/innosetup/scripts/products/sql2008express.iss b/Greenshot/releases/innosetup/scripts/products/sql2008express.iss index 9e59b4a09..4708f8474 100644 --- a/Greenshot/releases/innosetup/scripts/products/sql2008express.iss +++ b/Greenshot/releases/innosetup/scripts/products/sql2008express.iss @@ -8,11 +8,8 @@ [CustomMessages] sql2008expressr2_title=SQL Server 2008 Express R2 -en.sql2008expressr2_size=58.2 MB -de.sql2008expressr2_size=58,2 MB - -en.sql2008expressr2_size_x64=74.1 MB -de.sql2008expressr2_size_x64=74,1 MB +sql2008expressr2_size=58.2 MB +sql2008expressr2_size_x64=74.1 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/sqlcompact35sp2.iss b/Greenshot/releases/innosetup/scripts/products/sqlcompact35sp2.iss index b1b889def..af5380632 100644 --- a/Greenshot/releases/innosetup/scripts/products/sqlcompact35sp2.iss +++ b/Greenshot/releases/innosetup/scripts/products/sqlcompact35sp2.iss @@ -1,8 +1,7 @@ [CustomMessages] sqlcompact35sp2_title=SQL Server Compact 3.5 Service Pack 2 -en.sqlcompact35sp2_size=5.3 MB -de.sqlcompact35sp2_size=5,3 MB +sqlcompact35sp2_size=5.3 MB [Code] const diff --git a/Greenshot/releases/innosetup/scripts/products/stringversion.iss b/Greenshot/releases/innosetup/scripts/products/stringversion.iss index 9379d1136..4cb114f71 100644 --- a/Greenshot/releases/innosetup/scripts/products/stringversion.iss +++ b/Greenshot/releases/innosetup/scripts/products/stringversion.iss @@ -54,9 +54,9 @@ var temp1, temp2: String; begin - temp1 := versionA; - temp2 := versionB; - Result := compareinnerversion(temp1, temp2); + temp1 := versionA; + temp2 := versionB; + Result := compareinnerversion(temp1, temp2); end; [Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/vcredist2005.iss b/Greenshot/releases/innosetup/scripts/products/vcredist2005.iss index 0425d9777..f559a15b4 100644 --- a/Greenshot/releases/innosetup/scripts/products/vcredist2005.iss +++ b/Greenshot/releases/innosetup/scripts/products/vcredist2005.iss @@ -5,36 +5,29 @@ [CustomMessages] vcredist2005_title=Visual C++ 2005 Redistributable vcredist2005_title_x64=Visual C++ 2005 64-Bit Redistributable -vcredist2005_title_ia64=Visual C++ 2005 Itanium Redistributable -en.vcredist2005_size=2.6 MB -de.vcredist2005_size=2,6 MB - -en.vcredist2005_size_x64=4.1 MB -de.vcredist2005_size_x64=4,1 MB - -en.vcredist2005_size_ia64=8.8 MB -de.vcredist2005_size_ia64=8,8 MB +vcredist2005_size=2.6 MB +vcredist2005_size_x64=4.1 MB [Code] const - vcredist2005_url = 'http://download.microsoft.com/download/d/3/4/d342efa6-3266-4157-a2ec-5174867be706/vcredist_x86.exe'; - vcredist2005_url_x64 = 'http://download.microsoft.com/download/9/1/4/914851c6-9141-443b-bdb4-8bad3a57bea9/vcredist_x64.exe'; - vcredist2005_url_ia64 = 'http://download.microsoft.com/download/8/1/6/816129e4-7f2f-4ba6-b065-684223e2fe1e/vcredist_IA64.exe'; + vcredist2005_url = 'http://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x86.EXE'; + vcredist2005_url_x64 = 'http://download.microsoft.com/download/8/B/4/8B42259F-5D70-43F4-AC2E-4B208FD8D66A/vcredist_x64.EXE'; - vcredist2005_productcode = '{A49F249F-0C91-497F-86DF-B2585E8E76B7}'; - vcredist2005_productcode_x64 = '{6E8E85E8-CE4B-4FF5-91F7-04999C9FAE6A}'; - vcredist2005_productcode_ia64 = '{03ED71EA-F531-4927-AABD-1C31BCE8E187}'; + vcredist2005_upgradecode = '{86C9D5AA-F00C-4921-B3F2-C60AF92E2844}'; + vcredist2005_upgradecode_x64 = '{A8D19029-8E5C-4E22-8011-48070F9E796E}'; -procedure vcredist2005(); +procedure vcredist2005(minVersion: string); begin - if (not msiproduct(GetString(vcredist2005_productcode, vcredist2005_productcode_x64, vcredist2005_productcode_ia64))) then - AddProduct('vcredist2005' + GetArchitectureString() + '.exe', - '/q:a /c:"install /qb /l', - CustomMessage('vcredist2005_title' + GetArchitectureString()), - CustomMessage('vcredist2005_size' + GetArchitectureString()), - GetString(vcredist2005_url, vcredist2005_url_x64, vcredist2005_url_ia64), - false, false, false); + if (not IsIA64()) then begin + if (not msiproductupgrade(GetString(vcredist2005_upgradecode, vcredist2005_upgradecode_x64, ''), minVersion)) then + AddProduct('vcredist2005' + GetArchitectureString() + '.exe', + '/q:a /c:"install /qb /l', + CustomMessage('vcredist2005_title' + GetArchitectureString()), + CustomMessage('vcredist2005_size' + GetArchitectureString()), + GetString(vcredist2005_url, vcredist2005_url_x64, ''), + false, false, false); + end; end; [Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/vcredist2008.iss b/Greenshot/releases/innosetup/scripts/products/vcredist2008.iss index b29ba0b73..d72bdb3a6 100644 --- a/Greenshot/releases/innosetup/scripts/products/vcredist2008.iss +++ b/Greenshot/releases/innosetup/scripts/products/vcredist2008.iss @@ -5,36 +5,30 @@ [CustomMessages] vcredist2008_title=Visual C++ 2008 Redistributable vcredist2008_title_x64=Visual C++ 2008 64-Bit Redistributable -vcredist2008_title_ia64=Visual C++ 2008 Itanium Redistributable -en.vcredist2008_size=1.7 MB -de.vcredist2008_size=1,7 MB - -en.vcredist2008_size_x64=2.3 MB -de.vcredist2008_size_x64=2,3 MB - -en.vcredist2008_size_ia64=4.0 MB -de.vcredist2008_size_ia64=4,0 MB +vcredist2008_size=4.3 MB +vcredist2008_size_x64=5.0 MB [Code] const - vcredist2008_url = 'http://download.microsoft.com/download/1/1/1/1116b75a-9ec3-481a-a3c8-1777b5381140/vcredist_x86.exe'; - vcredist2008_url_x64 = 'http://download.microsoft.com/download/d/2/4/d242c3fb-da5a-4542-ad66-f9661d0a8d19/vcredist_x64.exe'; - vcredist2008_url_ia64 = 'http://download.microsoft.com/download/a/1/a/a1a4996b-ed78-4c2b-9589-8edd81b8df39/vcredist_IA64.exe'; + vcredist2008_url = 'http://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x86.exe'; + vcredist2008_url_x64 = 'http://download.microsoft.com/download/5/D/8/5D8C65CB-C849-4025-8E95-C3966CAFD8AE/vcredist_x64.exe'; - vcredist2008_productcode = '{FF66E9F6-83E7-3A3E-AF14-8DE9A809A6A4}'; - vcredist2008_productcode_x64 = '{350AA351-21FA-3270-8B7A-835434E766AD}'; - vcredist2008_productcode_ia64 = '{2B547B43-DB50-3139-9EBE-37D419E0F5FA}'; + vcredist2008_upgradecode = '{AA783A14-A7A3-3D33-95F0-9A351D530011}'; + vcredist2008_upgradecode_sp1mfc = '{DE2C306F-A067-38EF-B86C-03DE4B0312F9}'; + vcredist2008_upgradecode_sp1mfc_x64 = '{FDA45DDF-8E17-336F-A3ED-356B7B7C688A}'; -procedure vcredist2008(); +procedure vcredist2008(minVersion: string); begin - if (not msiproduct(GetString(vcredist2008_productcode, vcredist2008_productcode_x64, vcredist2008_productcode_ia64))) then - AddProduct('vcredist2008' + GetArchitectureString() + '.exe', - '/q', - CustomMessage('vcredist2008_title' + GetArchitectureString()), - CustomMessage('vcredist2008_size' + GetArchitectureString()), - GetString(vcredist2008_url, vcredist2008_url_x64, vcredist2008_url_ia64), - false, false, false); + if (not IsIA64()) then begin + if (not msiproductupgrade(GetString(vcredist2008_upgradecode_sp1mfc, vcredist2008_upgradecode_sp1mfc_x64, ''), minVersion) and not msiproductupgrade(vcredist2008_upgradecode, minVersion)) then + AddProduct('vcredist2008' + GetArchitectureString() + '.exe', + '/q', + CustomMessage('vcredist2008_title' + GetArchitectureString()), + CustomMessage('vcredist2008_size' + GetArchitectureString()), + GetString(vcredist2008_url, vcredist2008_url_x64, ''), + false, false, false); + end; end; [Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/vcredist2010.iss b/Greenshot/releases/innosetup/scripts/products/vcredist2010.iss index 3d7e58a7e..c2c4e5a01 100644 --- a/Greenshot/releases/innosetup/scripts/products/vcredist2010.iss +++ b/Greenshot/releases/innosetup/scripts/products/vcredist2010.iss @@ -4,36 +4,29 @@ [CustomMessages] vcredist2010_title=Visual C++ 2010 Redistributable vcredist2010_title_x64=Visual C++ 2010 64-Bit Redistributable -vcredist2010_title_ia64=Visual C++ 2010 Itanium Redistributable -en.vcredist2010_size=4.8 MB -de.vcredist2010_size=4,8 MB - -en.vcredist2010_size_x64=5.5 MB -de.vcredist2010_size_x64=5,5 MB - -en.vcredist2010_size_ia64=2.2 MB -de.vcredist2010_size_ia64=2,2 MB +vcredist2010_size=8.6 MB +vcredist2010_size_x64=9.8 MB [Code] const - vcredist2010_url = 'http://download.microsoft.com/download/5/B/C/5BC5DBB3-652D-4DCE-B14A-475AB85EEF6E/vcredist_x86.exe'; - vcredist2010_url_x64 = 'http://download.microsoft.com/download/3/2/2/3224B87F-CFA0-4E70-BDA3-3DE650EFEBA5/vcredist_x64.exe'; - vcredist2010_url_ia64 = 'http://download.microsoft.com/download/3/3/A/33A75193-2CBC-424E-A886-287551FF1EB5/vcredist_IA64.exe'; + vcredist2010_url = 'http://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x86.exe'; + vcredist2010_url_x64 = 'http://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe'; - vcredist2010_productcode = '{196BB40D-1578-3D01-B289-BEFC77A11A1E}'; - vcredist2010_productcode_x64 = '{DA5E371C-6333-3D8A-93A4-6FD5B20BCC6E}'; - vcredist2010_productcode_ia64 = '{C1A35166-4301-38E9-BA67-02823AD72A1B}'; + vcredist2010_upgradecode = '{1F4F1D2A-D9DA-32CF-9909-48485DA06DD5}'; + vcredist2010_upgradecode_x64 = '{5B75F761-BAC8-33BC-A381-464DDDD813A3}'; -procedure vcredist2010(); +procedure vcredist2010(minVersion: string); begin - if (not msiproduct(GetString(vcredist2010_productcode, vcredist2010_productcode_x64, vcredist2010_productcode_ia64))) then - AddProduct('vcredist2010' + GetArchitectureString() + '.exe', - '/passive /norestart', - CustomMessage('vcredist2010_title' + GetArchitectureString()), - CustomMessage('vcredist2010_size' + GetArchitectureString()), - GetString(vcredist2010_url, vcredist2010_url_x64, vcredist2010_url_ia64), - false, false, false); + if (not IsIA64()) then begin + if (not msiproductupgrade(GetString(vcredist2010_upgradecode, vcredist2010_upgradecode_x64, ''), minVersion)) then + AddProduct('vcredist2010' + GetArchitectureString() + '.exe', + '/passive /norestart', + CustomMessage('vcredist2010_title' + GetArchitectureString()), + CustomMessage('vcredist2010_size' + GetArchitectureString()), + GetString(vcredist2010_url, vcredist2010_url_x64, ''), + false, false, false); + end; end; [Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/vcredist2010sp1.iss b/Greenshot/releases/innosetup/scripts/products/vcredist2010sp1.iss deleted file mode 100644 index 91dc8ed7e..000000000 --- a/Greenshot/releases/innosetup/scripts/products/vcredist2010sp1.iss +++ /dev/null @@ -1,41 +0,0 @@ -; Requires Windows 7, Windows Server 2003 R2 (32-bit x86), Windows Server 2003 Service Pack 2, Windows Server 2008 R2, Windows Server 2008 Service Pack 2, Windows Vista Service Pack 2, Windows XP Service Pack 3 -; x86 download page: https://www.microsoft.com/en-us/download/details.aspx?id=8328 -; x64 download page: https://www.microsoft.com/en-us/download/details.aspx?id=13523 -; IA64 download page: https://www.microsoft.com/en-us/download/details.aspx?id=21051 - -[CustomMessages] -vcredist2010_title=Visual C++ 2010 SP1 Redistributable -vcredist2010_title_x64=Visual C++ 2010 SP1 64-Bit Redistributable -vcredist2010_title_ia64=Visual C++ 2010 SP1 Itanium Redistributable - -en.vcredist2010_size=4.8 MB -de.vcredist2010_size=4,8 MB - -en.vcredist2010_size_x64=5.4 MB -de.vcredist2010_size_x64=5,4 MB - -en.vcredist2010_size_ia64=2.2 MB -de.vcredist2010_size_ia64=2,2 MB - -[Code] -const - vcredist2010_url_x86 = 'http://download.microsoft.com/download/C/6/D/C6D0FD4E-9E53-4897-9B91-836EBA2AACD3/vcredist_x86.exe'; - vcredist2010_url_x64 = 'http://download.microsoft.com/download/A/8/0/A80747C3-41BD-45DF-B505-E9710D2744E0/vcredist_x64.exe'; - vcredist2010_url_ia64 = 'http://download.microsoft.com/download/7/7/3/77332C03-CC6C-45E5-A7B6-E02504B93847/vcredist_IA64.exe'; - - vcredist2010_productcode_x86 = '{F0C3E5D1-1ADE-321E-8167-68EF0DE699A5}'; - vcredist2010_productcode_x64 = '{1D8E6291-B0D5-35EC-8441-6616F567A0F7}'; - vcredist2010_productcode_ia64 = '{88C73C1C-2DE5-3B01-AFB8-B46EF4AB41CD}'; - -procedure vcredist2010(); -begin - if (not msiproduct(GetString(vcredist2010_productcode_x86, vcredist2010_productcode_x64, vcredist2010_productcode_ia64))) then - AddProduct('vcredist2010' + GetArchitectureString() + '.exe', - '/passive /norestart', - CustomMessage('vcredist2010_title' + GetArchitectureString()), - CustomMessage('vcredist2010_size' + GetArchitectureString()), - GetString(vcredist2010_url_x86, vcredist2010_url_x64, vcredist2010_url_ia64), - false, false, false); -end; - -[Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/vcredist2012.iss b/Greenshot/releases/innosetup/scripts/products/vcredist2012.iss index 9f2ea00da..3d5a21bee 100644 --- a/Greenshot/releases/innosetup/scripts/products/vcredist2012.iss +++ b/Greenshot/releases/innosetup/scripts/products/vcredist2012.iss @@ -5,24 +5,21 @@ vcredist2012_title=Visual C++ 2012 Redistributable vcredist2012_title_x64=Visual C++ 2012 64-Bit Redistributable -en.vcredist2012_size=6.3 MB -de.vcredist2012_size=6,3 MB - -en.vcredist2012_size_x64=6.4 MB -de.vcredist2012_size_x64=6,4 MB +vcredist2012_size=6.3 MB +vcredist2012_size_x64=6.9 MB [Code] const vcredist2012_url = 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x86.exe'; vcredist2012_url_x64 = 'http://download.microsoft.com/download/1/6/B/16B06F60-3B20-4FF2-B699-5E9B7962F9AE/VSU_4/vcredist_x64.exe'; - vcredist2012_productcode = '{BD95A8CD-1D9F-35AD-981A-3E7925026EBB}'; - vcredist2012_productcode_x64 = '{CF2BEA3C-26EA-32F8-AA9B-331F7E34BA97}'; + vcredist2012_upgradecode = '{4121ED58-4BD9-3E7B-A8B5-9F8BAAE045B7}'; + vcredist2012_upgradecode_x64 = '{EFA6AFA1-738E-3E00-8101-FD03B86B29D1}'; -procedure vcredist2012(); +procedure vcredist2012(minVersion: string); begin if (not IsIA64()) then begin - if (not msiproduct(GetString(vcredist2012_productcode, vcredist2012_productcode_x64, ''))) then + if (not msiproductupgrade(GetString(vcredist2012_upgradecode, vcredist2012_upgradecode_x64, ''), minVersion)) then AddProduct('vcredist2012' + GetArchitectureString() + '.exe', '/passive /norestart', CustomMessage('vcredist2012_title' + GetArchitectureString()), diff --git a/Greenshot/releases/innosetup/scripts/products/vcredist2013.iss b/Greenshot/releases/innosetup/scripts/products/vcredist2013.iss index d55b3651b..1efaa3d18 100644 --- a/Greenshot/releases/innosetup/scripts/products/vcredist2013.iss +++ b/Greenshot/releases/innosetup/scripts/products/vcredist2013.iss @@ -1,28 +1,25 @@ ; requires Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Server 2012 R2, Windows Vista Service Pack 2, Windows XP -; http://www.microsoft.com/en-US/download/details.aspx?id=40784 +; http://www.microsoft.com/en-us/download/details.aspx?id=40784 [CustomMessages] vcredist2013_title=Visual C++ 2013 Redistributable vcredist2013_title_x64=Visual C++ 2013 64-Bit Redistributable -en.vcredist2013_size=6.2 MB -de.vcredist2013_size=6,2 MB - -en.vcredist2013_size_x64=6.9 MB -de.vcredist2013_size_x64=6,9 MB +vcredist2013_size=6.2 MB +vcredist2013_size_x64=6.9 MB [Code] const vcredist2013_url = 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x86.exe'; vcredist2013_url_x64 = 'http://download.microsoft.com/download/2/E/6/2E61CFA4-993B-4DD4-91DA-3737CD5CD6E3/vcredist_x64.exe'; - vcredist2013_productcode = '{13A4EE12-23EA-3371-91EE-EFB36DDFFF3E}'; - vcredist2013_productcode_x64 = '{A749D8E6-B613-3BE3-8F5F-045C84EBA29B}'; + vcredist2013_upgradecode = '{B59F5BF1-67C8-3802-8E59-2CE551A39FC5}'; + vcredist2013_upgradecode_x64 = '{20400CF0-DE7C-327E-9AE4-F0F38D9085F8}'; -procedure vcredist2013(); +procedure vcredist2013(minVersion: string); begin if (not IsIA64()) then begin - if (not msiproduct(GetString(vcredist2013_productcode, vcredist2013_productcode_x64, ''))) then + if (not msiproductupgrade(GetString(vcredist2013_upgradecode, vcredist2013_upgradecode_x64, ''), minVersion)) then AddProduct('vcredist2013' + GetArchitectureString() + '.exe', '/passive /norestart', CustomMessage('vcredist2013_title' + GetArchitectureString()), diff --git a/Greenshot/releases/innosetup/scripts/products/vcredist2015.iss b/Greenshot/releases/innosetup/scripts/products/vcredist2015.iss index e98b268f6..9499a988d 100644 --- a/Greenshot/releases/innosetup/scripts/products/vcredist2015.iss +++ b/Greenshot/releases/innosetup/scripts/products/vcredist2015.iss @@ -1,28 +1,25 @@ ; requires Windows 10, Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003 Service Pack 2, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Vista Service Pack 2, Windows XP Service Pack 3 -; http://www.microsoft.com/en-US/download/details.aspx?id=48145 +; http://www.microsoft.com/en-us/download/details.aspx?id=48145 [CustomMessages] vcredist2015_title=Visual C++ 2015 Redistributable vcredist2015_title_x64=Visual C++ 2015 64-Bit Redistributable -en.vcredist2015_size=12.8 MB -de.vcredist2015_size=12,8 MB - -en.vcredist2015_size_x64=13.9 MB -de.vcredist2015_size_x64=13,9 MB +vcredist2015_size=13.8 MB +vcredist2015_size_x64=14.6 MB [Code] const - vcredist2015_url = 'http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x86.exe'; - vcredist2015_url_x64 = 'http://download.microsoft.com/download/9/3/F/93FCF1E7-E6A4-478B-96E7-D4B285925B00/vc_redist.x64.exe'; + vcredist2015_url = 'http://download.microsoft.com/download/d/e/c/dec58546-c2f5-40a7-b38e-4df8d60b9764/vc_redist.x86.exe'; + vcredist2015_url_x64 = 'http://download.microsoft.com/download/2/c/6/2c675af0-2155-4961-b32e-289d7addfcec/vc_redist.x64.exe'; - vcredist2015_productcode = '{74D0E5DB-B326-4DAE-A6B2-445B9DE1836E}'; - vcredist2015_productcode_x64 = '{0D3E9E15-DE7A-300B-96F1-B4AF12B96488}'; + vcredist2015_upgradecode = '{65E5BD06-6392-3027-8C26-853107D3CF1A}'; + vcredist2015_upgradecode_x64 = '{36F68A90-239C-34DF-B58C-64B30153CE35}'; -procedure vcredist2015(); +procedure vcredist2015(minVersion: string); begin if (not IsIA64()) then begin - if (not msiproduct(GetString(vcredist2015_productcode, vcredist2015_productcode_x64, ''))) then + if (not msiproductupgrade(GetString(vcredist2015_upgradecode, vcredist2015_upgradecode_x64, ''), minVersion)) then AddProduct('vcredist2015' + GetArchitectureString() + '.exe', '/passive /norestart', CustomMessage('vcredist2015_title' + GetArchitectureString()), diff --git a/Greenshot/releases/innosetup/scripts/products/vcredist2017.iss b/Greenshot/releases/innosetup/scripts/products/vcredist2017.iss new file mode 100644 index 000000000..0c3b07dd8 --- /dev/null +++ b/Greenshot/releases/innosetup/scripts/products/vcredist2017.iss @@ -0,0 +1,32 @@ +; requires Windows 10, Windows 7 Service Pack 1, Windows 8, Windows 8.1, Windows Server 2003 Service Pack 2, Windows Server 2008 R2 SP1, Windows Server 2008 Service Pack 2, Windows Server 2012, Windows Vista Service Pack 2, Windows XP Service Pack 3 +; http://www.visualstudio.com/en-us/downloads/ + +[CustomMessages] +vcredist2017_title=Visual C++ 2017 Redistributable +vcredist2017_title_x64=Visual C++ 2017 64-Bit Redistributable + +vcredist2017_size=13.7 MB +vcredist2017_size_x64=14.5 MB + +[Code] +const + vcredist2017_url = 'http://download.microsoft.com/download/1/f/e/1febbdb2-aded-4e14-9063-39fb17e88444/vc_redist.x86.exe'; + vcredist2017_url_x64 = 'http://download.microsoft.com/download/3/b/f/3bf6e759-c555-4595-8973-86b7b4312927/vc_redist.x64.exe'; + + vcredist2017_upgradecode = '{65E5BD06-6392-3027-8C26-853107D3CF1A}'; + vcredist2017_upgradecode_x64 = '{36F68A90-239C-34DF-B58C-64B30153CE35}'; + +procedure vcredist2017(minVersion: string); +begin + if (not IsIA64()) then begin + if (not msiproductupgrade(GetString(vcredist2017_upgradecode, vcredist2017_upgradecode_x64, ''), minVersion)) then + AddProduct('vcredist2017' + GetArchitectureString() + '.exe', + '/passive /norestart', + CustomMessage('vcredist2017_title' + GetArchitectureString()), + CustomMessage('vcredist2017_size' + GetArchitectureString()), + GetString(vcredist2017_url, vcredist2017_url_x64, ''), + false, false, false); + end; +end; + +[Setup] diff --git a/Greenshot/releases/innosetup/scripts/products/wic.iss b/Greenshot/releases/innosetup/scripts/products/wic.iss index bd1abb7d8..579066f68 100644 --- a/Greenshot/releases/innosetup/scripts/products/wic.iss +++ b/Greenshot/releases/innosetup/scripts/products/wic.iss @@ -3,8 +3,7 @@ [CustomMessages] wic_title=Windows Imaging Component -en.wic_size=1.2 MB -de.wic_size=1,2 MB +wic_size=1.2 MB [Code] const @@ -13,26 +12,25 @@ const function GetConvertedLanguageID(): string; begin + Result := 'enu'; case ActiveLanguage() of - 'en': //English - Result := 'enu'; - 'zh': //Chinese + 'zh': // Chinese Result := 'chs'; - 'de': //German + 'de': // German Result := 'deu'; - 'es': //Spanish + 'es': // Spanish Result := 'esn'; - 'fr': //French + 'fr': // French Result := 'fra'; - 'it': //Italian + 'it': // Italian Result := 'ita'; - 'ja': //Japanese + 'ja': // Japanese Result := 'jpn'; - 'nl': //Dutch + 'nl': // Dutch Result := 'nld'; - 'pt': //Portuguese + 'pt': // Portuguese Result := 'ptb'; - 'ru': //Russian + 'ru': // Russian Result := 'rus'; end; end; @@ -40,7 +38,7 @@ end; procedure wic(); begin if (not IsIA64()) then begin - //only needed on Windows XP SP2 or Windows Server 2003 + // only needed on Windows XP SP2 or Windows Server 2003 if ((exactwinversion(5, 1) and exactwinspversion(5, 1, 2)) or (exactwinversion(5, 2))) then begin if (not FileExists(GetEnv('windir') + '\system32\windowscodecs.dll')) then AddProduct('wic' + GetArchitectureString() + '_' + GetConvertedLanguageID() + '.exe', diff --git a/Greenshot/releases/innosetup/setup.iss.template b/Greenshot/releases/innosetup/setup.iss similarity index 81% rename from Greenshot/releases/innosetup/setup.iss.template rename to Greenshot/releases/innosetup/setup.iss index 55449f635..74c2983fe 100644 --- a/Greenshot/releases/innosetup/setup.iss.template +++ b/Greenshot/releases/innosetup/setup.iss @@ -1,6 +1,7 @@ #define ExeName "Greenshot" -#define Version "@VERSION@" -#define FileVersion "@FILEVERSION@" +#define Version GetEnv('BuildVersionSimple') +#define FileVersion GetEnv('AssemblyInformationalVersion') +#define ReleaseDir "..\..\bin\Release\net471" ; Include the scripts to install .NET Framework ; See http://www.codeproject.com/KB/install/dotnetfx_innosetup_instal.aspx @@ -11,16 +12,15 @@ #include "scripts\products\msi20.iss" #include "scripts\products\msi31.iss" #include "scripts\products\dotnetfxversion.iss" -#include "scripts\products\dotnetfx35sp1.iss" +#include "scripts\products\dotnetfx47.iss" [Files] -Source: ..\..\bin\Release\Greenshot.exe; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion -Source: ..\..\bin\Release\GreenshotPlugin.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion -Source: ..\..\bin\Release\Greenshot.exe.config; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion -Source: ..\..\bin\Release\log4net.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion -Source: ..\..\bin\Release\LinqBridge.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion +Source: {#ReleaseDir}\Greenshot.exe; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion +Source: {#ReleaseDir}\GreenshotPlugin.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion +Source: {#ReleaseDir}\Greenshot.exe.config; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion +Source: {#ReleaseDir}\log4net.dll; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion Source: ..\..\log4net.xml; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion -Source: ..\..\bin\Release\checksum.MD5; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion +Source: {#ReleaseDir}\checksum.SHA256; DestDir: {app}; Components: greenshot; Flags: overwritereadonly ignoreversion replacesameversion ;Source: ..\greenshot-defaults.ini; DestDir: {app}; Flags: overwritereadonly ignoreversion replacesameversion Source: ..\additional_files\installer.txt; DestDir: {app}; Components: greenshot; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion Source: ..\additional_files\license.txt; DestDir: {app}; Components: greenshot; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion @@ -70,41 +70,42 @@ Source: ..\..\Languages\*zh-CN*; Excludes: "*installer*,*website*"; DestDir: {ap Source: ..\..\Languages\*zh-TW*; Excludes: "*installer*,*website*"; DestDir: {app}\Languages; Components: languages\zhTW; Flags: overwritereadonly ignoreversion replacesameversion; ;Office Plugin -Source: ..\..\bin\Release\Plugins\GreenshotOfficePlugin\GreenshotOfficePlugin.gsp; DestDir: {app}\Plugins\GreenshotOfficePlugin; Components: plugins\office; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotOfficePlugin.dll; DestDir: {app}\Plugins\GreenshotOfficePlugin; Components: plugins\office; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_office*.xml; DestDir: {app}\Languages\Plugins\GreenshotOfficePlugin; Components: plugins\office; Flags: overwritereadonly ignoreversion replacesameversion; ;OCR Plugin -Source: ..\..\bin\Release\Plugins\GreenshotOCRPlugin\GreenshotOCRPlugin.gsp; DestDir: {app}\Plugins\GreenshotOCRPlugin; Components: plugins\ocr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Plugins\GreenshotOCRPlugin\GreenshotOCRCommand.exe; DestDir: {app}\Plugins\GreenshotOCRPlugin; Components: plugins\ocr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Plugins\GreenshotOCRPlugin\GreenshotOCRCommand.exe.config; DestDir: {app}\Plugins\GreenshotOCRPlugin; Components: plugins\ocr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotOCRPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotOCRPlugin; Components: plugins\ocr; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotOCRPlugin.dll; DestDir: {app}\Plugins\GreenshotOCRPlugin; Components: plugins\ocr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_ocr*.xml; DestDir: {app}\Languages\Plugins\GreenshotOCRPlugin; Components: plugins\ocr; Flags: overwritereadonly ignoreversion replacesameversion; +Source: ..\..\..\GreenshotOCRCommand\bin\Release\net471\GreenshotOCRCommand.exe; DestDir: {app}\Plugins\GreenshotOCRPlugin; Components: plugins\ocr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: ..\..\..\GreenshotOCRCommand\bin\Release\net471\GreenshotOCRCommand.exe.config; DestDir: {app}\Plugins\GreenshotOCRPlugin; Components: plugins\ocr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; ;JIRA Plugin -Source: ..\..\bin\Release\Plugins\GreenshotJiraPlugin\GreenshotJiraPlugin.gsp; DestDir: {app}\Plugins\GreenshotJiraPlugin; Components: plugins\jira; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotJiraPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotJiraPlugin; Components: plugins\jira; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotJiraPlugin.dll; DestDir: {app}\Plugins\GreenshotJiraPlugin; Components: plugins\jira; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_jira*.xml; DestDir: {app}\Languages\Plugins\GreenshotJiraPlugin; Components: plugins\jira; Flags: overwritereadonly ignoreversion replacesameversion; ;Imgur Plugin -Source: ..\..\bin\Release\Plugins\GreenshotImgurPlugin\GreenshotImgurPlugin.gsp; DestDir: {app}\Plugins\GreenshotImgurPlugin; Components: plugins\imgur; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotImgurPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotImgurPlugin; Components: plugins\imgur; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotImgurPlugin.dll; DestDir: {app}\Plugins\GreenshotImgurPlugin; Components: plugins\imgur; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_imgur*.xml; DestDir: {app}\Languages\Plugins\GreenshotImgurPlugin; Components: plugins\imgur; Flags: overwritereadonly ignoreversion replacesameversion; ;Box Plugin -Source: ..\..\bin\Release\Plugins\GreenshotBoxPlugin\GreenshotBoxPlugin.gsp; DestDir: {app}\Plugins\GreenshotBoxPlugin; Components: plugins\box; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotBoxPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotBoxPlugin; Components: plugins\box; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotBoxPlugin.dll; DestDir: {app}\Plugins\GreenshotBoxPlugin; Components: plugins\box; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_box*.xml; DestDir: {app}\Languages\Plugins\GreenshotBoxPlugin; Components: plugins\box; Flags: overwritereadonly ignoreversion replacesameversion; ;DropBox Plugin -Source: ..\..\bin\Release\Plugins\GreenshotDropBoxPlugin\GreenshotDropboxPlugin.gsp; DestDir: {app}\Plugins\GreenshotDropBoxPlugin; Components: plugins\dropbox; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotDropBoxPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotDropBoxPlugin; Components: plugins\dropbox; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotDropboxPlugin.dll; DestDir: {app}\Plugins\GreenshotDropBoxPlugin; Components: plugins\dropbox; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_dropbox*.xml; DestDir: {app}\Languages\Plugins\GreenshotDropBoxPlugin; Components: plugins\dropbox; Flags: overwritereadonly ignoreversion replacesameversion; ;Flickr Plugin -Source: ..\..\bin\Release\Plugins\GreenshotFlickrPlugin\GreenshotFlickrPlugin.gsp; DestDir: {app}\Plugins\GreenshotFlickrPlugin; Components: plugins\flickr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotFlickrPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotFlickrPlugin; Components: plugins\flickr; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotFlickrPlugin.dll; DestDir: {app}\Plugins\GreenshotFlickrPlugin; Components: plugins\flickr; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_flickr*.xml; DestDir: {app}\Languages\Plugins\GreenshotFlickrPlugin; Components: plugins\flickr; Flags: overwritereadonly ignoreversion replacesameversion; ;Photobucket Plugin -Source: ..\..\bin\Release\Plugins\GreenshotPhotobucketPlugin\GreenshotPhotobucketPlugin.gsp; DestDir: {app}\Plugins\GreenshotPhotobucketPlugin; Components: plugins\photobucket; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotPhotobucketPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotPhotobucketPlugin; Components: plugins\photobucket; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotPhotobucketPlugin.dll; DestDir: {app}\Plugins\GreenshotPhotobucketPlugin; Components: plugins\photobucket; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_photo*.xml; DestDir: {app}\Languages\Plugins\GreenshotPhotobucketPlugin; Components: plugins\photobucket; Flags: overwritereadonly ignoreversion replacesameversion; ;Picasa Plugin -Source: ..\..\bin\Release\Plugins\GreenshotPicasaPlugin\GreenshotPicasaPlugin.gsp; DestDir: {app}\Plugins\GreenshotPicasaPlugin; Components: plugins\picasa; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotPicasaPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotPicasaPlugin; Components: plugins\picasa; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotPicasaPlugin.dll; DestDir: {app}\Plugins\GreenshotPicasaPlugin; Components: plugins\picasa; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_picasa*.xml; DestDir: {app}\Languages\Plugins\GreenshotPicasaPlugin; Components: plugins\picasa; Flags: overwritereadonly ignoreversion replacesameversion; ;Confluence Plugin -Source: ..\..\bin\Release\Plugins\GreenshotConfluencePlugin\GreenshotConfluencePlugin.gsp; DestDir: {app}\Plugins\GreenshotConfluencePlugin; Components: plugins\confluence; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotConfluencePlugin\*; DestDir: {app}\Languages\Plugins\GreenshotConfluencePlugin; Components: plugins\confluence; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotConfluencePlugin.dll; DestDir: {app}\Plugins\GreenshotConfluencePlugin; Components: plugins\confluence; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_confluence*.xml; DestDir: {app}\Languages\Plugins\GreenshotConfluencePlugin; Components: plugins\confluence; Flags: overwritereadonly ignoreversion replacesameversion; ;ExternalCommand Plugin -Source: ..\..\bin\Release\Plugins\GreenshotExternalCommandPlugin\GreenshotExternalCommandPlugin.gsp; DestDir: {app}\Plugins\GreenshotExternalCommandPlugin; Components: plugins\externalcommand; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; -Source: ..\..\bin\Release\Languages\Plugins\GreenshotExternalCommandPlugin\*; DestDir: {app}\Languages\Plugins\GreenshotExternalCommandPlugin; Components: plugins\externalcommand; Flags: overwritereadonly ignoreversion replacesameversion; +Source: {#ReleaseDir}\GreenshotExternalCommandPlugin.dll; DestDir: {app}\Plugins\GreenshotExternalCommandPlugin; Components: plugins\externalcommand; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +Source: {#ReleaseDir}\Languages\language_externalcommand*.xml; DestDir: {app}\Languages\Plugins\GreenshotExternalCommandPlugin; Components: plugins\externalcommand; Flags: overwritereadonly ignoreversion replacesameversion; ;Win 10 Plugin -;Source: ..\..\bin\Release\Plugins\GreenshotWin10Plugin\GreenshotWin10Plugin.gsp; DestDir: {app}\Plugins\GreenshotWin10Plugin; Components: plugins\win10; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; +;Source: {#ReleaseDir}\\GreenshotWin10Plugin.dll; DestDir: {app}\Plugins\GreenshotWin10Plugin; Components: plugins\win10; Flags: overwritereadonly recursesubdirs ignoreversion replacesameversion; [Setup] ; changes associations is used when the installer installs new extensions, it clears the explorer icon cache ChangesAssociations=yes @@ -125,21 +126,22 @@ DefaultGroupName={#ExeName} InfoBeforeFile=..\additional_files\readme.txt LicenseFile=..\additional_files\license.txt LanguageDetectionMethod=uilanguage -MinVersion=0,5.01.2600 -OutputBaseFilename={#ExeName}-INSTALLER-{#FileVersion} +MinVersion=6.1.7600 +OutputBaseFilename={#ExeName}-INSTALLER-{#Version} OutputDir=..\ -PrivilegesRequired=none +PrivilegesRequired=lowest SetupIconFile=..\..\icons\applicationIcon\icon.ico ; Create a SHA1 signature -SignTool=SignTool sign /debug /fd sha1 /tr http://time.certum.pl /td sha1 $f +; SignTool=SignTool sign /debug /fd sha1 /tr http://time.certum.pl /td sha1 $f ; Append a SHA256 to the previous SHA1 signature (this is what as does) -SignTool=SignTool sign /debug /as /fd sha256 /tr http://time.certum.pl /td sha256 $f -SignedUninstaller=yes +; SignTool=SignTool sign /debug /as /fd sha256 /tr http://time.certum.pl /td sha256 $f +; SignedUninstaller=yes UninstallDisplayIcon={app}\{#ExeName}.exe Uninstallable=true VersionInfoCompany={#ExeName} VersionInfoProductName={#ExeName} -VersionInfoTextVersion={#Version} +VersionInfoProductTextVersion={#FileVersion} +VersionInfoTextVersion={#FileVersion} VersionInfoVersion={#Version} ; Reference a bitmap, max size 164x314 WizardImageFile=installer-large.bmp @@ -193,7 +195,7 @@ Name: fr; MessagesFile: compiler:Languages\French.isl Name: nl; MessagesFile: compiler:Languages\Dutch.isl Name: lt; MessagesFile: Languages\Latvian.isl Name: nn; MessagesFile: Languages\NorwegianNynorsk.isl -Name: sr; MessagesFile: compiler:Languages\SerbianCyrillic.isl +Name: sr; MessagesFile: Languages\SerbianCyrillic.isl Name: sv; MessagesFile: Languages\Swedish.isl Name: uk; MessagesFile: compiler:Languages\Ukrainian.isl @@ -362,12 +364,12 @@ Name: "custom"; Description: "{code:CustomInstall}"; Flags: iscustom Name: "greenshot"; Description: "Greenshot"; Types: default full compact custom; Flags: fixed Name: "plugins\office"; Description: {cm:office}; Types: default full custom; Flags: disablenouninstallwarning Name: "plugins\ocr"; Description: {cm:ocr}; Types: default full custom; Flags: disablenouninstallwarning -Name: "plugins\jira"; Description: {cm:jira}; Types: full custom; Flags: disablenouninstallwarning; Check: hasDotNet45OrHigher() +Name: "plugins\jira"; Description: {cm:jira}; Types: full custom; Flags: disablenouninstallwarning Name: "plugins\imgur"; Description: {cm:imgur}; Types: default full custom; Flags: disablenouninstallwarning -Name: "plugins\confluence"; Description: {cm:confluence}; Types: full custom; Flags: disablenouninstallwarning; Check: hasDotNet35FullOrHigher() +Name: "plugins\confluence"; Description: {cm:confluence}; Types: full custom; Flags: disablenouninstallwarning Name: "plugins\externalcommand"; Description: {cm:externalcommand}; Types: default full custom; Flags: disablenouninstallwarning ;Name: "plugins\networkimport"; Description: "Network Import Plugin"; Types: full -Name: "plugins\box"; Description: "Box Plugin"; Types: full custom; Flags: disablenouninstallwarning; Check: hasDotNet35FullOrHigher() +Name: "plugins\box"; Description: "Box Plugin"; Types: full custom; Flags: disablenouninstallwarning Name: "plugins\dropbox"; Description: "Dropbox Plugin"; Types: full custom; Flags: disablenouninstallwarning Name: "plugins\flickr"; Description: "Flickr Plugin"; Types: full custom; Flags: disablenouninstallwarning Name: "plugins\picasa"; Description: "Picasa Plugin"; Types: full custom; Flags: disablenouninstallwarning @@ -414,7 +416,7 @@ Name: "languages\zhTW"; Description: "繁體中文"; Types: full custom; Flags: // Do we have a regular user trying to install this? function IsRegularUser(): Boolean; begin - Result := not (IsAdminLoggedOn or IsPowerUserLoggedOn); + Result := not (IsAdmin or IsAdminInstallMode); end; // The following code is used to select the installation path, this is localappdata if non poweruser @@ -590,18 +592,7 @@ end; function hasDotNet() : boolean; begin - // .NET 4.5 = 4.0 full (with a "Release" key, but this is not interresting!) - Result := netfxinstalled(NetFX20, '') or netfxinstalled(NetFX30, '') or netfxinstalled(NetFX35, '') or netfxinstalled(NetFX40Client, '') or netfxinstalled(NetFX40Full, ''); -end; - -function hasDotNet35FullOrHigher() : boolean; -begin - Result := netfxinstalled(NetFX35, '') or netfxinstalled(NetFX40Full, ''); -end; - -function hasDotNet45OrHigher() : boolean; -begin - Result := netfxinstalled(NetFX4x, ''); + Result := netfxspversion(NetFx4x, '') >= 71; end; function getNGENPath(argument: String) : String; @@ -620,15 +611,15 @@ end; // Initialize the setup function InitializeSetup(): Boolean; begin - // Check for .NET and install 3.5 if we don't have it + // Check for .NET and install 4.7.1 if we don't have it if not hasDotNet() then begin // Enhance installer, if needed, otherwise .NET installations won't work msi20('2.0'); msi31('3.0'); - //install .net 3.5 - dotnetfx35sp1(); + //install .net 4.7.1 + dotnetfx47(71); end; Result := true; end; @@ -647,6 +638,7 @@ function IsWindows10OrNewer: Boolean; begin Result := IsWindowsVersionOrNewer(10, 0); end; + [Run] Filename: "{code:getNGENPath}\ngen.exe"; Parameters: "install ""{app}\{#ExeName}.exe"""; StatusMsg: "{cm:optimize}"; Flags: runhidden runasoriginaluser Filename: "{code:getNGENPath}\ngen.exe"; Parameters: "install ""{app}\GreenshotPlugin.dll"""; StatusMsg: "{cm:optimize}"; Flags: runhidden runasoriginaluser diff --git a/Greenshot/tools/7zip/7za.exe b/Greenshot/tools/7zip/7za.exe deleted file mode 100644 index 12b9499a2..000000000 Binary files a/Greenshot/tools/7zip/7za.exe and /dev/null differ diff --git a/Greenshot/tools/ILMerge/ILMerge License.rtf b/Greenshot/tools/ILMerge/ILMerge License.rtf deleted file mode 100644 index 41f5b6ada..000000000 --- a/Greenshot/tools/ILMerge/ILMerge License.rtf +++ /dev/null @@ -1,104 +0,0 @@ -{\rtf1\ansi\ansicpg1252\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1033\deflangfe1033{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f37\fswiss\fcharset0\fprq2{\*\panose 020b0604030504040204}Tahoma;} -{\f39\froman\fcharset0\fprq2{\*\panose 02040602050305030304}Book Antiqua;}{\f40\fswiss\fcharset0\fprq2{\*\panose 020b0706030402020204}Franklin Gothic Demi Cond;}{\f41\fswiss\fcharset0\fprq2{\*\panose 020b0503020102020204}Franklin Gothic Book;} -{\f42\froman\fcharset238\fprq2 Times New Roman CE;}{\f43\froman\fcharset204\fprq2 Times New Roman Cyr;}{\f45\froman\fcharset161\fprq2 Times New Roman Greek;}{\f46\froman\fcharset162\fprq2 Times New Roman Tur;} -{\f47\froman\fcharset177\fprq2 Times New Roman (Hebrew);}{\f48\froman\fcharset178\fprq2 Times New Roman (Arabic);}{\f49\froman\fcharset186\fprq2 Times New Roman Baltic;}{\f50\froman\fcharset163\fprq2 Times New Roman (Vietnamese);} -{\f412\fswiss\fcharset238\fprq2 Tahoma CE;}{\f413\fswiss\fcharset204\fprq2 Tahoma Cyr;}{\f415\fswiss\fcharset161\fprq2 Tahoma Greek;}{\f416\fswiss\fcharset162\fprq2 Tahoma Tur;}{\f417\fswiss\fcharset177\fprq2 Tahoma (Hebrew);} -{\f418\fswiss\fcharset178\fprq2 Tahoma (Arabic);}{\f419\fswiss\fcharset186\fprq2 Tahoma Baltic;}{\f420\fswiss\fcharset163\fprq2 Tahoma (Vietnamese);}{\f421\fswiss\fcharset222\fprq2 Tahoma (Thai);}{\f432\froman\fcharset238\fprq2 Book Antiqua CE;} -{\f433\froman\fcharset204\fprq2 Book Antiqua Cyr;}{\f435\froman\fcharset161\fprq2 Book Antiqua Greek;}{\f436\froman\fcharset162\fprq2 Book Antiqua Tur;}{\f439\froman\fcharset186\fprq2 Book Antiqua Baltic;} -{\f442\fswiss\fcharset238\fprq2 Franklin Gothic Demi Cond CE;}{\f443\fswiss\fcharset204\fprq2 Franklin Gothic Demi Cond Cyr;}{\f445\fswiss\fcharset161\fprq2 Franklin Gothic Demi Cond Greek;}{\f446\fswiss\fcharset162\fprq2 Franklin Gothic Demi Cond Tur;} -{\f449\fswiss\fcharset186\fprq2 Franklin Gothic Demi Cond Baltic;}{\f452\fswiss\fcharset238\fprq2 Franklin Gothic Book CE;}{\f453\fswiss\fcharset204\fprq2 Franklin Gothic Book Cyr;}{\f455\fswiss\fcharset161\fprq2 Franklin Gothic Book Greek;} -{\f456\fswiss\fcharset162\fprq2 Franklin Gothic Book Tur;}{\f459\fswiss\fcharset186\fprq2 Franklin Gothic Book Baltic;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255; -\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;} -{\stylesheet{\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \snext0 Normal;}{\*\cs10 \additive \ssemihidden Default Paragraph Font;}{\* -\ts11\tsrowd\trftsWidthB3\trpaddl108\trpaddr108\trpaddfl3\trpaddft3\trpaddfb3\trpaddfr3\trcbpat1\trcfpat1\tscellwidthfts0\tsvertalt\tsbrdrt\tsbrdrl\tsbrdrb\tsbrdrr\tsbrdrdgl\tsbrdrdgr\tsbrdrh\tsbrdrv -\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \fs20\lang1024\langfe1024\cgrid\langnp1024\langfenp1024 \snext11 \ssemihidden Normal Table;}{\s15\ql \fi-274\li274\ri0\sb120\sl460\slmult0 -\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin274\itap0 \f40\fs44\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext15 \styrsid9786739 1sectionhead;}{\s16\ql \li0\ri0\sb120\sl200\slmult0 -\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \caps\f40\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext16 \styrsid9786739 4laparahead;}{\s17\ql \li0\ri-18\sb120\sl240\slmult0 -\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-18\lin0\itap0 \f40\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext17 \styrsid9786739 2lasubhead;}{\s18\ql \fi-187\li187\ri0\sb60\sl180\slmult0 -\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin187\itap0 \f41\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext18 \styrsid9786739 3cnumbered;}{\s19\ql \fi-340\li624\ri0\sb60\sl160\slmult0 -\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin624\itap0 \f41\fs14\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext19 \styrsid9786739 3inumbered2ndlevel;}{\s20\ql \li0\ri0\sb240\sl240\slmult0 -\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 \f40\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext20 \styrsid9786739 2afrenchsubhead;}{\s21\ql \li0\ri0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0 -\cbpat9 \f37\fs20\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 \sbasedon0 \snext21 \ssemihidden \styrsid7154712 Document Map;}}{\*\latentstyles\lsdstimax156\lsdlockeddef0}{\*\pgptbl {\pgp\ipgp2\itap0\li0\ri0\sb0\sa0\brdrt\brdrs\brdrw20 }{\pgp\ipgp0 -\itap0\li0\ri0\sb0\sa0}}{\*\rsidtbl \rsid2099452\rsid4207571\rsid5465292\rsid5510097\rsid5510644\rsid7154712\rsid7241305\rsid7672529\rsid7735936\rsid9179139\rsid9786739\rsid10440675\rsid11303133\rsid13130884\rsid14028235\rsid14100361\rsid14113652 -\rsid15276140\rsid16213514}{\*\generator Microsoft Word 11.0.6359;}{\info{\title ILMerge EULA}{\author Ken Leppert}{\operator mbarnett}{\creatim\yr2005\mo3\dy16\hr15\min43}{\revtim\yr2005\mo3\dy16\hr15\min43}{\printim\yr2004\mo4\dy30\hr13\min9}{\version2} -{\edmins0}{\nofpages3}{\nofwords1188}{\nofchars6775}{\*\company Microsoft Corporation}{\nofcharsws7948}{\vern24703}}\widowctrl\ftnbj\aenddoc\noxlattoyen\expshrtn\noultrlspc\dntblnsbdb\nospaceforul\formshade\horzdoc\dgmargin\dghspace180\dgvspace180 -\dghorigin1800\dgvorigin1440\dghshow1\dgvshow1\jexpand\viewkind1\viewscale68\viewzk2\pgbrdrhead\pgbrdrfoot\splytwnine\ftnlytwnine\htmautsp\nolnhtadjtbl\useltbaln\alntblind\lytcalctblwd\lyttblrtgr\lnbrkrule\nobrkwrptbl\snaptogridincell\allowfieldendsel -\wrppunct\asianbrkrule\rsidroot9786739\newtblstyruls\nogrowautofit \fet0\sectd \linex0\endnhere\sectlinegrid360\sectdefaultcl\sftnbj {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang -{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang {\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang {\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang -{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}{\*\pnseclvl9\pnlcrm\pnstart1\pnindent720\pnhang {\pntxtb (}{\pntxta )}}\pard\plain -\s15\ql \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\outlinelevel0\adjustright\rin0\lin0\itap0\pararsid7154712 \f40\fs44\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f39\fs28\insrsid9786739 MICROSOFT }{ -\b\f39\fs28\insrsid5465292 ILMerge}{\insrsid9786739 -\par }{\b\f39\fs22\insrsid9786739 END-USER LICENSE AGREEMENT FOR MICROSOFT SOFTWARE}{\insrsid9786739 -\par }\pard\plain \s17\qj \li0\ri-17\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin-17\lin0\itap0\pararsid14100361 \f40\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\b\f39\insrsid9786739 IMPORTANT\emdash -READ CAREFULLY: }{\f39\insrsid9786739 This End-User License Agreement (\'93EULA\'94) is a legal agreement between you (either an individual or a single entity) and Microsoft Corporation (\'93Microsoft\'94) for th -e Microsoft software that accompanies this EULA, which includes computer software and may include associated media, printed materials, \'93online\'94 or electronic documentation, and Internet-based services (\'93Software\'94).\~ - An amendment or addendum to this EULA may accompany the Software.\~ }{\b\f39\insrsid9786739 -YOU AGREE TO BE BOUND BY THE TERMS OF THIS EULA BY INSTALLING, COPYING, OR OTHERWISE USING THE SOFTWARE. IF YOU DO NOT AGREE, DO NOT INSTALL, COPY, OR USE THE SOFTWARE.}{\insrsid9786739 -\par }\pard\plain \qj \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\insrsid9786739 1.\~\~\~\~\~\~\~\~ }{ -\b\f39\fs22\insrsid9786739 GRANTS OF LICENSE}{\f39\fs22\insrsid9786739 . Microsoft grants you the rights described in this EULA provided that you comply with all terms and conditions of this EULA.\~ }{\insrsid9786739 -\par }\pard\plain \s19\qj \fi720\li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f41\fs14\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\cf0\insrsid9786739 1.1\~\~\~\~\~\~ }{ -\b\i\f39\fs22\cf0\insrsid9786739 License Grant}{\f39\fs22\cf0\insrsid9786739 . Microsoft grants to you a personal, nonexclusive, nontransferable, limited license to }{\f39\fs22\insrsid9786739 install and use a reasonable number of copies of -the Software on computers residing on your premises }{\f39\fs22\cf0\insrsid9786739 for the purposes of designing, developing, and testing, your software product(s), provided that you are the only individual using the Software.\~ }{\insrsid9786739 -\par }\pard\plain \s18\qj \fi720\li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f41\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\insrsid9786739 1.2\~\~\~\~\~\~ }{ -\b\i\f39\fs22\insrsid9786739 Documentation}{\f39\fs22\insrsid9786739 .}{\b\f39\fs22\insrsid9786739 \~ }{\f39\fs22\insrsid9786739 You may make and use a reasonabl -e number of copies of any documentation, provided that such copies shall be used only for your personal purposes and are not to be republished or distributed (either in hard copy or electronic form) beyond your premises.}{\insrsid9786739 -\par }\pard \s18\qj \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 {\f39\fs22\insrsid9786739 2.\~\~\~\~\~\~\~\~ }{\b\f39\fs22\insrsid9786739 RESERVATION OF RIGHTS AND OWNERSHIP.\~ }{ -\f39\fs22\insrsid9786739 The Software is licensed as a single product.\~ Its component parts may not be separated. Microsoft reserves all rights not expressly granted to you in this EULA.\~ - The Software is protected by copyright and other intellectual property laws and treaties}{\f39\fs22\insrsid14028235 , and}{\f39\fs22\insrsid9786739 Microsoft }{\f39\fs22\insrsid14028235 (}{\f39\fs22\insrsid9786739 or its suppliers}{ -\f39\fs22\insrsid14028235 , where applicable)}{\f39\fs22\insrsid9786739 own }{\f39\fs22\insrsid14028235 all right, }{\f39\fs22\insrsid9786739 title, }{\f39\fs22\insrsid14028235 and interest in all }{\f39\fs22\insrsid9786739 -intellectual property rights in the Software.\~ }{\b\f39\fs22\insrsid9786739 The Software is licensed, not sold.}{\insrsid9786739 -\par }\pard\plain \s19\qj \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f41\fs14\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\cf0\insrsid9786739 3.\~\~\~\~\~\~\~\~ }{ -\b\f39\fs22\cf0\insrsid9786739 LIMITATIONS ON REVERSE ENGINEERING, DECOMPILATION, AND DISASSEMBLY}{\b\i\f39\fs22\cf0\insrsid9786739 .}{\f39\fs22\cf0\insrsid9786739 \~ - You may not reverse engineer, decompile, or disassemble the Software, except and only to the extent that such activity is expressly permitted by applicable law notwithstanding this limitation.}{\insrsid9786739 -\par }\pard\plain \s18\qj \li0\ri0\sb100\sa100\sbauto1\saauto1\sl220\slmult0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f41\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\insrsid9786739 4.\~\~\~\~\~\~\~\~ -}{\b\f39\fs22\insrsid9786739 NO RENTAL/COMMERCIAL HOSTING.}{\b\i\f39\fs22\insrsid9786739 }{\f39\fs22\insrsid9786739 You may not rent, lease, lend or provide commercial hosting services with the Software.}{\insrsid9786739 -\par }\pard\plain \s19\qj \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f41\fs14\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\cf0\insrsid9786739 5.\~\~\~\~\~\~\~\~ }{ -\b\f39\fs22\cf0\insrsid9786739 NO SOFTWARE TRANSFER.\~ }{\f39\fs22\cf0\insrsid9786739 You may not assign or otherwise transfer the SOFTWARE or any of your rights hereunder to any third party.}{\insrsid9786739 -\par }{\f39\fs22\cf0\insrsid9786739 6.\~\~\~\~\~\~\~\~ }{\b\f39\fs22\cf0\insrsid9786739 CONSENT TO USE OF DATA.\~ }{\f39\fs22\cf0\insrsid9786739 You - agree that Microsoft and its affiliates may collect and use technical information gathered as part of the product support services provided to you, if any, related to the Software.\~ - Microsoft may use this information solely to improve our products or to provide customized services or technologies to you and will not disclose this information in a form that personally identifies you.\~\~ }{\insrsid9786739 -\par }{\f39\fs22\cf0\insrsid5510644 7}{\f39\fs22\cf0\insrsid9786739 .\~\~\~\~\~\~\~\~ }{\b\f39\fs22\cf0\insrsid9786739 ADDITIONAL SOFTWARE/SERVICES.\~ }{\f39\fs22\insrsid9786739 Microsoft is not obligated to provide maintenance, technical supplements}{ -\f39\fs22\insrsid14028235 , updates,}{\f39\fs22\insrsid9786739 or other support to you for the Software licensed under this EULA. }{\f39\fs22\insrsid7241305 }{\f39\fs22\insrsid9786739 In the event that Microsoft does provide such supplements or updates} -{\b\f39\fs22\insrsid9786739 , }{\f39\fs22\insrsid9786739 this EULA applies to such updates, supplements, or add-on components of the Software that Microsoft may provide to -you or make available to you after the date you obtain your initial copy of the Software, unless we provide other terms along with the update, supplement, or add-on component}{\f39\fs22\cf0\insrsid9786739 .\~ - Microsoft reserves the right to discontinue any Internet-based services provided to you or made available to you through the use of the Software.\~ }{\insrsid9786739 -\par }\pard\plain \s18\qj \li0\ri0\sb100\sa100\sbauto1\saauto1\sl220\slmult0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f41\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\insrsid5510644 8}{ -\f39\fs22\insrsid9786739 .\~\~\~\~\~\~\~\~ }{\b\f39\fs22\insrsid9786739 EXPORT RESTRICTIONS}{\f39\fs22\insrsid9786739 .\~ }{\f39\fs22\cgrid0\insrsid9786739 You acknowledge that the Software is subject to U.S. export jurisdiction.\~ - You agree to comply with all applicable international and national laws that apply to the Software, including the U.S. Export Administration Regulations, as well as end-user, end-use, and destination restrictions issued by U.S. and other governments.\~\~ - For additional information see }{\f39\fs22\ul\cgrid0\insrsid9786739 http://www.microsoft.com/exporting/}{\f39\fs22\cgrid0\insrsid9786739 .}{\insrsid9786739 -\par }\pard\plain \s19\qj \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f41\fs14\cf1\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\cf0\insrsid14113652 9}{ -\f39\fs22\cf0\insrsid9786739 .\~\~\~\~\~\~ }{\b\f39\fs22\cf0\insrsid9786739 TERMINATION.}{\f39\fs22\cf0\insrsid9786739 \~ Without prejudice to any other rights, Microsoft may terminate this EULA if you fail to comply with }{\f39\fs22\cf0\insrsid7241305 -any }{\f39\fs22\cf0\insrsid9786739 term}{\f39\fs22\cf0\insrsid7241305 or}{\f39\fs22\cf0\insrsid9786739 condition of this EULA. }{\f39\fs22\cf0\insrsid7241305 }{\f39\fs22\cf0\insrsid9786739 -In such event, you must destroy all copies of the Software and all of its component parts.}{\insrsid9786739 -\par }\pard\plain \s18\qj \li0\ri0\sb100\sa100\sbauto1\saauto1\sl220\slmult0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f41\fs16\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\fs22\insrsid9786739 1}{ -\f39\fs22\insrsid14113652 0}{\f39\fs22\insrsid9786739 .\~\~\~\~\~\~ }{\b\f39\fs22\ul\insrsid9786739 DISCLAIMER OF WARRANTIES}{\b\f39\fs22\insrsid9786739 .\~ - TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, MICROSOFT AND ITS SUPPLIERS PROVIDE THE SOFTWARE}{\f39\fs22\insrsid9786739 }{\b\f39\fs22\insrsid9786739 AND SUPPORT SERVICES (IF ANY) }{\b\i\f39\fs22\insrsid9786739 AS IS AND WITH ALL FAULTS}{ -\b\f39\fs22\insrsid9786739 , AND HEREBY DISCLAIM ALL OTHER WARRANTIES AND CONDITIONS, WHETHER EXPRESS, IMPLIED - OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, ANY (IF ANY) IMPLIED WARRANTIES, DUTIES OR CONDITIONS OF MERCHANTABILITY, OF FITNESS FOR A PARTICULAR PURPOSE, OF RELIABILITY OR AVAILABILITY, OF ACCURACY OR COMPLETENESS OF RESPONSES, OF RESULTS, OF WORKMANLI -K -E EFFORT, OF LACK OF VIRUSES, AND OF LACK OF NEGLIGENCE, ALL WITH REGARD TO THE SOFTWARE, AND THE PROVISION OF OR FAILURE TO PROVIDE SUPPORT OR OTHER SERVICES, INFORMATION, SOFTWARE, AND RELATED CONTENT THROUGH THE SOFTWARE OR OTHERWISE ARISING OUT OF THE - USE OF THE SOFTWARE.\~ ALSO, THERE IS NO WARRANTY OR CONDITION OF TITLE, QUIET ENJOYMENT, QUIET POSSESSION, CORRESPONDENCE TO DESCRIPTION OR NON-INFRINGEMENT WITH REGARD TO THE SOFTWARE.}{\insrsid9786739 -\par }{\f39\fs22\insrsid9786739 1}{\f39\fs22\insrsid14113652 1}{\f39\fs22\insrsid9786739 .}{\b\f39\fs22\insrsid9786739 \~\~\~\~\~\~ }{\b\f39\fs22\ul\insrsid9786739 EXCLUSION OF INCIDENTAL, CONSEQUENTIAL AND CERTAIN OTHER DAMAGES}{\b\f39\fs22\insrsid9786739 .\~ - }{\b\caps\f39\fs22\insrsid9786739 -To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be liable for any special, incidental, punitive, indirect, or consequential damages whatsoever (including, but not limited to, damages for loss of profit -s, LOSS OF DATA, or confidential or other information}{\b\f39\fs22\insrsid9786739 , }{\b\caps\f39\fs22\insrsid9786739 -for business interruption, for personal injury, for loss of privacy, for failure to meet any duty including of good faith or of reasonable care, for negligence, and}{\b\f39\fs22\insrsid9786739 }{\b\caps\f39\fs22\insrsid9786739 -for any other pecuniary or other los -s whatsoever) arising out of or in any way related to the use of or inability to use the SOFTWARE, the provision of or failure to provide Support OR OTHER Services, informatIon, software, and related CONTENT through the software or otherwise arising out o -f - the use of the software, or otherwise under or in connection with any provision of this EULA, even in the event of the fault, tort (including negligence), misrepresentation, strict liability, breach of contract or breach of warranty of Microsoft or any s -upplier, and even if Microsoft or any supplier has been advised of the possibility of such damages. }{\insrsid9786739 -\par }{\f39\fs22\insrsid9786739 1}{\f39\fs22\insrsid14113652 2}{\f39\fs22\insrsid9786739 .}{\b\f39\fs22\insrsid9786739 \~\~\~\~\~\~ }{\b\f39\fs22\ul\insrsid9786739 LIMITATION OF LIABILITY AND REMEDIES}{\b\f39\fs22\insrsid9786739 -. NOTWITHSTANDING ANY DAMAGES THAT YOU MIGHT INCUR FOR ANY REASON WHATSOEVER (INCLUDING, WITHOUT LIMITATION, A -LL DAMAGES REFERENCED HEREIN AND ALL DIRECT OR GENERAL DAMAGES IN CONTRACT OR ANYTHING ELSE), THE ENTIRE LIABILITY OF MICROSOFT AND ANY OF ITS SUPPLIERS UNDER ANY PROVISION OF THIS EULA AND YOUR EXCLUSIVE REMEDY HEREUNDER SHALL BE LIMITED TO THE GREATER O -F THE ACTUAL DAMAGES YOU INCUR IN REASONABLE RELIANCE ON THE SOFTWARE UP TO THE AMOUNT ACTUALLY PAID BY YOU FOR THE SOFTWARE}{\f39\fs22\insrsid9786739 }{\b\f39\fs22\insrsid9786739 OR US$5.00.\~ - THE FOREGOING LIMITATIONS, EXCLUSIONS AND DISCLAIMERS SHALL APPLY TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, EVEN IF ANY REMEDY FAILS ITS ESSENTIAL PURPOSE.}{\insrsid9786739 -\par }{\f39\fs22\insrsid9786739 1}{\f39\fs22\insrsid14113652 3}{\f39\fs22\insrsid9786739 .\~\~\~\~\~\~ }{\b\f39\fs22\insrsid9786739 APPLICABLE LAW.\~ }{\f39\fs22\insrsid7735936 T}{\f39\fs22\insrsid9786739 his EULA }{\f39\fs22\insrsid7735936 -shall be construed under and }{\f39\fs22\insrsid9786739 governed by the laws of the State of Washington}{\f39\fs22\insrsid7735936 , without regard to conflicts of law principles}{\f39\fs22\insrsid9786739 .\~ }{\insrsid9786739 -\par }\pard\plain \s20\qj \li0\ri0\sb100\sa100\sbauto1\saauto1\sl240\slmult0\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \f40\fs22\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\f39\insrsid9786739 1}{\f39\insrsid14113652 -4}{\f39\insrsid9786739 .\~\~\~\~ }{\b\f39\insrsid9786739 ENTIRE AGREEMENT; SEVERABILITY.\~ }{\f39\insrsid9786739 This -EULA (including any addendum or amendment to this EULA which is included with the Software) are the entire agreement between you and Microsoft relating to the Software and the support services (if any) and they supersede all prior or contemporaneous oral -or written communications,\~proposals and representations with respect to the Software or any other subject matter covered by this EULA.\~ - If any provision of this EULA is held to be void, invalid, unenforceable or illegal, the other provisions shall continue in full force and effect}{\insrsid9786739 -\par }\pard\plain \qj \li0\ri0\sb100\sa100\sbauto1\saauto1\widctlpar\aspalpha\aspnum\faauto\adjustright\rin0\lin0\itap0\pararsid14100361 \fs24\lang1033\langfe1033\cgrid\langnp1033\langfenp1033 {\insrsid10440675 -\par }} \ No newline at end of file diff --git a/Greenshot/tools/ILMerge/ILMerge.doc b/Greenshot/tools/ILMerge/ILMerge.doc deleted file mode 100644 index f3ac50149..000000000 Binary files a/Greenshot/tools/ILMerge/ILMerge.doc and /dev/null differ diff --git a/Greenshot/tools/ILMerge/ILMerge.exe b/Greenshot/tools/ILMerge/ILMerge.exe deleted file mode 100644 index bdd546a86..000000000 Binary files a/Greenshot/tools/ILMerge/ILMerge.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/7zip/7z.dll b/Greenshot/tools/PortableApps.comInstaller/App/7zip/7z.dll deleted file mode 100644 index 48bd32f24..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/7zip/7z.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/7zip/7z.exe b/Greenshot/tools/PortableApps.comInstaller/App/7zip/7z.exe deleted file mode 100644 index 5ec90671e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/7zip/7z.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon.ico b/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon.ico deleted file mode 100644 index d0981620d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_128.png b/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_128.png deleted file mode 100644 index b7fcd1d8f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_128.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_16.png b/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_16.png deleted file mode 100644 index 3a7151ffe..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_16.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_32.png b/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_32.png deleted file mode 100644 index 5830fd50a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appicon_32.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appinfo.ini b/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appinfo.ini deleted file mode 100644 index 694557244..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/AppInfo/appinfo.ini +++ /dev/null @@ -1,29 +0,0 @@ -[Format] -Type=PortableApps.comFormat -Version=3.0 - -[Details] -Name=PortableApps.com Installer -AppID=PortableApps.comInstaller -Publisher=PortableApps.com -Homepage=PortableApps.com/go/PortableApps.comInstaller -Category=Development -Description=PortableApps.com Format installer creator -Language=Multilingual - -[License] -Shareable=true -OpenSource=true -Freeware=true -CommercialUse=true - -[Version] -PackageVersion=3.0.6.0 -DisplayVersion=3.0.6 - -[Control] -Icons=1 -Start=PortableApps.comInstaller.exe - -[Associations] -SendTo=true \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/DefaultData/settings.ini b/Greenshot/tools/PortableApps.comInstaller/App/DefaultData/settings.ini deleted file mode 100644 index 8a4e3981d..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/DefaultData/settings.ini +++ /dev/null @@ -1 +0,0 @@ -[InstallerWizard] diff --git a/Greenshot/tools/PortableApps.comInstaller/App/bin/MakeHeader.exe b/Greenshot/tools/PortableApps.comInstaller/App/bin/MakeHeader.exe deleted file mode 100644 index dc8ec8e7e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/bin/MakeHeader.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/PortableApps.comInstallerHeader.bmp b/Greenshot/tools/PortableApps.comInstaller/App/default_bits/PortableApps.comInstallerHeader.bmp deleted file mode 100644 index c592db187..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/PortableApps.comInstallerHeader.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/PortableApps.comInstallerHeaderRTL.bmp b/Greenshot/tools/PortableApps.comInstaller/App/default_bits/PortableApps.comInstallerHeaderRTL.bmp deleted file mode 100644 index d5eef3fe1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/PortableApps.comInstallerHeaderRTL.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon.ico b/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon.ico deleted file mode 100644 index d17e7fb97..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon_16.png b/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon_16.png deleted file mode 100644 index 31a96bf01..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon_16.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon_32.png b/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon_32.png deleted file mode 100644 index 5c742d60d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appicon_32.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appinfo.ini b/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appinfo.ini deleted file mode 100644 index 844686deb..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/default_bits/appinfo.ini +++ /dev/null @@ -1,12 +0,0 @@ -[Format] -Type=PortableApps.comFormat -Version=X.XX - -[Details] - -[License] - -[Version] - -[Control] -Icons=1 \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.bmp b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.bmp deleted file mode 100644 index 220f605c3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.ico b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.ico deleted file mode 100644 index d0981620d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.nsi b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.nsi deleted file mode 100644 index a6e80f7f3..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstaller.nsi +++ /dev/null @@ -1,1358 +0,0 @@ -;Copyright 2007-2013 John T. Haller of PortableApps.com -;Website: http://PortableApps.com/ - -;This software is OSI Certified Open Source Software. -;OSI Certified is a certification mark of the Open Source Initiative. - -;This program is free software; you can redistribute it and/or -;modify it under the terms of the GNU General Public License -;as published by the Free Software Foundation; either version 2 -;of the License, or (at your option) any later version. - -;This program is distributed in the hope that it will be useful, -;but WITHOUT ANY WARRANTY; without even the implied warranty of -;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;GNU General Public License for more details. - -;You should have received a copy of the GNU General Public License -;along with this program; if not, write to the Free Software -;Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -;EXCEPTION: The PortableApps.com Installer can be used with open source -;applications licensed under OSI-approved licenses as well as freeware provided -;it is unmodified and it adheres to the current PortableApps.com Format Specification -;as published at PortableApps.com/development. It may also be used with commercial -;software by contacting PortableApps.com. - -!define PORTABLEAPPSINSTALLERVERSION "3.0.6.0" -!define PORTABLEAPPS.COMFORMATVERSION "3.0.6" - -!if ${__FILE__} == "PortableApps.comInstallerPlugin.nsi" - !include PortableApps.comInstallerPluginConfig.nsh - !define PLUGININSTALLER -!else - !include PortableApps.comInstallerConfig.nsh -!endif - -!define MAINSECTIONIDX 0 -!ifdef MAINSECTIONTITLE - !define OPTIONALSECTIONIDX 1 -!endif - -;=== Program Details -Name "${PORTABLEAPPNAME}" "${PORTABLEAPPNAMEDOUBLEDAMPERSANDS}" -OutFile "..\..\..\${FILENAME}.paf.exe" -!ifdef COMMONFILESPLUGIN - InstallDir "\CommonFiles\${APPID}" -!else - InstallDir "\${APPID}" -!endif -Caption "${PORTABLEAPPNAME} | PortableApps.com Installer" -VIProductVersion "${VERSION}" -VIAddVersionKey ProductName "${PORTABLEAPPNAME}" -VIAddVersionKey Comments "${INSTALLERCOMMENTS}" -VIAddVersionKey CompanyName "PortableApps.com" -VIAddVersionKey LegalCopyright "PortableApps.com Installer Copyright 2007-2012 PortableApps.com." -VIAddVersionKey FileDescription "${PORTABLEAPPNAME}" -VIAddVersionKey FileVersion "${VERSION}" -VIAddVersionKey ProductVersion "${VERSION}" -VIAddVersionKey InternalName "${PORTABLEAPPNAME}" -VIAddVersionKey LegalTrademarks "${INSTALLERADDITIONALTRADEMARKS}PortableApps.com is a registered trademark of Rare Ideas, LLC." -VIAddVersionKey OriginalFilename "${FILENAME}.paf.exe" -VIAddVersionKey PortableApps.comInstallerVersion "${PORTABLEAPPSINSTALLERVERSION}" -VIAddVersionKey PortableApps.comFormatVersion "${PORTABLEAPPS.COMFORMATVERSION}" -VIAddVersionKey PortableApps.comAppID "${APPID}" -!ifdef DownloadURL ;advertise the needed bits to the PA.c Updater - VIAddVersionKey PortableApps.comDownloadURL "${DownloadURL}" - VIAddVersionKey PortableApps.comDownloadName "${DownloadName}" - VIAddVersionKey PortableApps.comDownloadFileName "${DownloadFileName}" - VIAddVersionKey PortableApps.comDownloadMD5 "${DownloadMD5}" -!endif - -;=== Runtime Switches -SetCompress Auto -SetCompressor /SOLID lzma -SetCompressorDictSize 32 -SetDatablockOptimize On -CRCCheck on -AutoCloseWindow True -RequestExecutionLevel user -AllowRootDirInstall true - -;=== Include -!include MUI.nsh -!include FileFunc.nsh -!include LogicLib.nsh -!ifdef PRESERVEFILE1 - !include PortableApps.comInstallerMoveFiles.nsh -!endif -!ifdef COPYLOCALFILES - !include Registry.nsh -!endif -!include TextFunc.nsh -!include WordFunc.nsh -!include PortableApps.comInstallerDumpLogToFile.nsh -!include PortableApps.comInstallerTBProgress.nsh - -;=== Program Icon -Icon "PortableApps.comInstaller.ico" -!define MUI_ICON "PortableApps.comInstaller.ico" -!define MUI_UNICON "PortableApps.comInstaller.ico" -!define MUI_HEADERIMAGE -!define MUI_HEADERIMAGE_BITMAP "PortableApps.comInstallerHeader.bmp" -!define MUI_HEADERIMAGE_BITMAP_RTL "PortableApps.comInstallerHeaderRTL.bmp" -!define MUI_HEADERIMAGE_RIGHT - -;=== Icon & Stye === -BrandingText "PortableApps.com®" - -;=== Pages -!ifdef COPYLOCALFILES - !define MUI_CUSTOMFUNCTION_ABORT CustomAbortFunction -!endif -!define MUI_LANGDLL_WINDOWTITLE "${PORTABLEAPPNAME}" -!define MUI_LANGDLL_INFO "Please select a language for the installer." -!define MUI_WELCOMEFINISHPAGE_BITMAP "PortableApps.comInstaller.bmp" -!ifdef PLUGINNAME - !define MUI_WELCOMEPAGE_TITLE "${PORTABLEAPPNAMEDOUBLEDAMPERSANDS}" -!else - !define MUI_WELCOMEPAGE_TITLE "${PORTABLEAPPNAMEDOUBLEDAMPERSANDS}" -!endif -!define MUI_WELCOMEPAGE_TEXT "$(welcome)" -!define MUI_PAGE_CUSTOMFUNCTION_PRE PreWelcome -!define MUI_COMPONENTSPAGE_SMALLDESC -!insertmacro MUI_PAGE_WELCOME -!ifdef LICENSEAGREEMENT - ;!define MUI_LICENSEPAGE_CHECKBOX - !define MUI_PAGE_CUSTOMFUNCTION_PRE PreLicense - !define MUI_PAGE_CUSTOMFUNCTION_SHOW ShowLicense - !define MUI_PAGE_CUSTOMFUNCTION_LEAVE LeaveLicense - !insertmacro MUI_PAGE_LICENSE "..\..\App\AppInfo\${LICENSEAGREEMENT}" -!endif -!ifdef MAINSECTIONTITLE - !define MUI_PAGE_CUSTOMFUNCTION_PRE PreComponents - !insertmacro MUI_PAGE_COMPONENTS -!endif -!define MUI_DIRECTORYPAGE_VERIFYONLEAVE -!define MUI_PAGE_CUSTOMFUNCTION_PRE PreDirectory -!define MUI_PAGE_CUSTOMFUNCTION_LEAVE LeaveDirectory -!insertmacro MUI_PAGE_DIRECTORY -!define MUI_PAGE_CUSTOMFUNCTION_SHOW ShowInstFiles -!insertmacro MUI_PAGE_INSTFILES -!define MUI_FINISHPAGE_TEXT "$(finish)" -!define MUI_PAGE_CUSTOMFUNCTION_PRE PreFinish -!define MUI_FINISHPAGE_TITLE_3LINES -!define MUI_FINISHPAGE_CANCEL_ENABLED -!ifndef PLUGINNAME - !define MUI_FINISHPAGE_RUN_NOTCHECKED - !define MUI_FINISHPAGE_RUN "$INSTDIR\${FINISHPAGERUN}" -!endif -!insertmacro MUI_PAGE_FINISH - -;=== Languages -!ifndef INSTALLERMULTILINGUAL - !insertmacro MUI_LANGUAGE "${INSTALLERLANGUAGE}" - !include PortableApps.comInstallerLanguages\${INSTALLERLANGUAGE}.nsh -!else - !tempfile LangAutoDetectFile - !macro IncludeLang _LANG_NAME - ; define and filename are all uppercase but both case insensitive - !ifdef USES_${_LANG_NAME} - !insertmacro MUI_LANGUAGE "${_LANG_NAME}" - !include PortableApps.comInstallerLanguages\${_LANG_NAME}.nsh - !appendfile "${LangAutoDetectFile}" "${Case} ${LANG_${_LANG_NAME}}$\n" - !endif - !macroend - !define IncludeLang "!insertmacro IncludeLang" - - ${IncludeLang} English - ${IncludeLang} EnglishGB - ${IncludeLang} Afrikaans - ${IncludeLang} Albanian - ${IncludeLang} Arabic - ${IncludeLang} Armenian - ${IncludeLang} Basque - ${IncludeLang} Belarusian - ${IncludeLang} Bosnian - ${IncludeLang} Breton - ${IncludeLang} Bulgarian - ${IncludeLang} Catalan - ${IncludeLang} Cibemba - ${IncludeLang} Croatian - ${IncludeLang} Czech - ${IncludeLang} Danish - ${IncludeLang} Dutch - ${IncludeLang} Efik - ${IncludeLang} Esperanto - ${IncludeLang} Estonian - ${IncludeLang} Farsi - ${IncludeLang} Finnish - ${IncludeLang} French - ${IncludeLang} Galician - ${IncludeLang} Georgian - ${IncludeLang} German - ${IncludeLang} Greek - ${IncludeLang} Hebrew - ${IncludeLang} Hungarian - ${IncludeLang} Icelandic - ${IncludeLang} Igbo - ${IncludeLang} Indonesian - ${IncludeLang} Irish - ${IncludeLang} Italian - ${IncludeLang} Japanese - ${IncludeLang} Khmer - ${IncludeLang} Korean - ${IncludeLang} Kurdish - ${IncludeLang} Latvian - ${IncludeLang} Lithuanian - ${IncludeLang} Luxembourgish - ${IncludeLang} Macedonian - ${IncludeLang} Malagasy - ${IncludeLang} Malay - ${IncludeLang} Mongolian - ${IncludeLang} Norwegian - ${IncludeLang} NorwegianNynorsk - ${IncludeLang} Pashto - ${IncludeLang} Polish - ${IncludeLang} Portuguese - ${IncludeLang} PortugueseBR - ${IncludeLang} Romanian - ${IncludeLang} Russian - ${IncludeLang} Serbian - ${IncludeLang} SerbianLatin - ${IncludeLang} SimpChinese - ${IncludeLang} Slovak - ${IncludeLang} Slovenian - ${IncludeLang} Spanish - ${IncludeLang} SpanishInternational - ${IncludeLang} Swahili - ${IncludeLang} Swedish - ${IncludeLang} Thai - ${IncludeLang} TradChinese - ${IncludeLang} Turkish - ${IncludeLang} Ukrainian - ${IncludeLang} Uzbek - ${IncludeLang} Valencia - ${IncludeLang} Vietnamese - ${IncludeLang} Welsh - ${IncludeLang} Yoruba - - !insertmacro MUI_RESERVEFILE_LANGDLL -!endif - -;=== Macros -!macro !insertmacro1-10 _m -!insertmacro ${_m} 1 -!insertmacro ${_m} 2 -!insertmacro ${_m} 3 -!insertmacro ${_m} 4 -!insertmacro ${_m} 5 -!insertmacro ${_m} 6 -!insertmacro ${_m} 7 -!insertmacro ${_m} 8 -!insertmacro ${_m} 9 -!insertmacro ${_m} 10 -!macroend -!define !insertmacro1-10 "!insertmacro !insertmacro1-10" - -;=== Variables -Var FOUNDPORTABLEAPPSPATH -!ifdef MAINSECTIONTITLE - Var OPTIONAL1DONE -!endif -Var AUTOMATEDINSTALL -Var AUTOCLOSE -Var SILENTLANGUAGEMODE -Var HIDEINSTALLER -Var MINIMIZEINSTALLER -!ifdef LICENSEAGREEMENT - Var EULAVERSIONMATCH -!endif -!ifdef COPYLOCALFILES - Var CopyLocalFilesFrom - Var CopyLocalFilesTo - Var MISSINGFILEORPATH -!endif -!ifdef DOWNLOADURL - Var MD5MISMATCH - Var DOWNLOADRESULT - Var DOWNLOADEDFILE - Var DOWNLOADALREADYEXISTED - Var SECONDDOWNLOADATTEMPT - Var DownloadURLActual -!endif -Var INTERNALEULAVERSION -Var InstallingStatusString -Var bolAppUpgrade -Var bolLogFile - -;=== Custom Code -!ifdef USESCUSTOMCODE - !if ${__FILE__} == "PortableApps.comInstallerPlugin.nsi" - !include PortableApps.comInstallerPluginCustom.nsh - !else - !include PortableApps.comInstallerCustom.nsh - !endif -!endif - -!ifdef INSTALLERMULTILINGUAL - !macro CaseLang _LANG_NAME _LANG_ID - !ifdef USES_${_LANG_NAME} - ${Case} ${_LANG_ID} - !endif - !macroend - !define CaseLang "!insertmacro CaseLang" -!endif - -Function .onInit - SetSilent normal - - !ifdef DownloadURL - StrCpy $R0 $EXEFILE "" -15 - ${If} $R0 != "_online.paf.exe" - ${AndIf} $R0 != "line.paf[1].exe" ;Handle IE's renaming of files when run directly from a download - ${AndIf} $R0 != "line.paf[2].exe" - ${AndIf} $R0 != "line.paf[3].exe" - ${AndIf} $R0 != "line.paf[4].exe" - ${AndIf} $R0 != "line.paf[5].exe" - ${AndIf} $R0 != "line.paf[6].exe" - ${AndIf} $R0 != "line.paf[7].exe" - ${AndIf} $R0 != "line.paf[8].exe" - ${AndIf} $R0 != "line.paf[9].exe" - MessageBox MB_OK|MB_ICONSTOP `PortableApps.com Installers that download files must end with "_online.paf.exe". This is to ensure that users always know that an installer downloads files before it is run. Please rename the file to end in _online.paf.exe before running.` - Abort - ${EndIf} - !endif - - InitPluginsDir - - !ifdef INSTALLERMULTILINGUAL - ReadEnvStr $0 "PortableApps.comLocaleID" - ${Switch} $0 - ; Use the Case statements formed earlier. - !include "${LangAutoDetectFile}" - !delfile "${LangAutoDetectFile}" - !undef LangAutoDetectFile - StrCpy $LANGUAGE $0 - ${Break} - ${Default} - !insertmacro MUI_LANGDLL_DISPLAY - ${EndSwitch} - !endif - - ;=== Check for logging mode - ${GetOptions} $CMDLINE "/LOG=" $0 - - ${IfNot} ${Errors} - ${AndIf} $0 == "true" - StrCpy $bolLogFile true - ${Else} - ClearErrors - ${EndIf} - - ;=== Check for a specified installation directory - ${GetOptions} $CMDLINE "/DESTINATION=" $0 - - ${IfNot} ${Errors} - !ifdef COMMONFILESPLUGIN - StrCpy $INSTDIR "$0CommonFiles\${APPID}" - !else - ${GetOptions} $CMDLINE "/COPYNUMBER=" $1 - ${IfNot} ${Errors} - StrCpy $INSTDIR "$0${APPID}_Copy_$1" - ${Else} - StrCpy $INSTDIR "$0${APPID}" - ${EndIf} - !endif - - !ifdef LICENSEAGREEMENT - !ifndef EULAVERSION - StrCpy $INTERNALEULAVERSION "1" - !else - StrCpy $INTERNALEULAVERSION ${EULAVERSION} - !endif - ${If} ${FileExists} "$INSTDIR\Data\PortableApps.comInstaller\license.ini" - ReadINIStr $0 "$INSTDIR\Data\PortableApps.comInstaller\license.ini" "PortableApps.comInstaller" "EULAVersion" - ClearErrors - ${If} $0 == $INTERNALEULAVERSION - StrCpy $EULAVERSIONMATCH "true" - ${EndIf} - ${EndIf} - !endif - - ;=== Check for PortableApps.com Platform - ${GetParent} $INSTDIR $0 - !ifdef COMMONFILESPLUGIN - ${GetParent} $0 $0 - !endif - - ;=== Check that it exists at the right location - DetailPrint '$(checkforplatform)' - - ${If} ${FileExists} `$0\PortableApps.com\PortableAppsPlatform.exe` - ;=== Check that it's the real deal - MoreInfo::GetProductName `$0\PortableApps.com\PortableAppsPlatform.exe` - Pop $1 - ${If} $1 == "PortableApps.com Platform" - MoreInfo::GetCompanyName `$0\PortableApps.com\PortableAppsPlatform.exe` - Pop $1 - ${If} $1 == "PortableApps.com" - ;=== Check that it's running - FindProcDLL::FindProc "PortableAppsPlatform.exe" - ${If} $R0 == 1 - ;=== Do a partially automated install - StrCpy $AUTOMATEDINSTALL "true" - - ClearErrors - ${GetOptions} $CMDLINE "/AUTOCLOSE=" $R0 - ${IfNot} ${Errors} - ${AndIf} $R0 == "true" - StrCpy $AUTOCLOSE "true" - ${EndIf} - - ClearErrors - ${GetOptions} $CMDLINE "/HIDEINSTALLER=" $R0 - ${IfNot} ${Errors} - ${AndIf} $R0 == "true" - StrCpy $HIDEINSTALLER "true" - ${EndIf} - - ClearErrors - ${GetOptions} $CMDLINE "/MINIMIZEINSTALLER=" $R0 - ${IfNot} ${Errors} - ${AndIf} $R0 == "true" - StrCpy $MINIMIZEINSTALLER "true" - ${EndIf} - - ClearErrors - ${GetOptions} $CMDLINE "/SILENT=" $R0 - ${IfNot} ${Errors} - ${AndIf} $R0 == "true" - ;Duplicate of the size calculation code, to be functionalized later - SectionGetSize ${MAINSECTIONIDX} $1 ;=== Space Required for App - !ifdef MAINSECTIONTITLE - SectionGetFlags ${OPTIONALSECTIONIDX} $9 - IntOp $9 $9 & ${SF_SELECTED} - ${If} $9 >= ${SF_SELECTED} - SectionGetSize ${OPTIONALSECTIONIDX} $2 ;=== Space Required for App - IntOp $1 $1 + $2 - ${EndIf} - !endif - ${GetRoot} $INSTDIR $2 - ${DriveSpace} `$2\` "/D=F /S=M" $3 ;=== Space Free on Device - - IntOp $1 $1 / 1024 - - ${If} $3 <= $1 - IntOp $1 $1 * 1024 - IntOp $3 $3 * 1024 - !ifndef PLUGININSTALLER ;=== If not a plugin installer, add the current install size to free space - ${If} ${FileExists} $INSTDIR - ${GetSize} `$INSTDIR` "/M=*.* /S=0K /G=0" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current Root Install Size - ${GetSize} `$INSTDIR\App` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current App Install Size - ${GetSize} `$INSTDIR\Other` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current Other Install Size - - ${If} `${ADDONSDIRECTORYPRESERVE}` != "NONE" - ${AndIf} ${FileExists} `$INSTDIR\${ADDONSDIRECTORYPRESERVE}` - ${GetSize} `$INSTDIR\${ADDONSDIRECTORYPRESERVE}` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Size of Data directory - IntOp $3 $3 - $4 ;=== Remove the plugins directory from the free space calculation - ${EndIf} - ${EndIf} - !else - !ifdef COMMONFILESPLUGIN ;Duplicate code for now, to do above for CommonFiles as well - ${If} ${FileExists} $INSTDIR - ${GetSize} `$INSTDIR` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current Install Size - ${EndIf} - !endif - !endif - ${If} $3 <= $1 - MessageBox MB_OK|MB_ICONEXCLAMATION $(notenoughspace) - Abort - ${EndIf} - ${EndIf} - - !ifdef LICENSEAGREEMENT - ${If} $EULAVERSIONMATCH == "true" - SetSilent silent - ${EndIf} - !else - SetSilent silent - !endif - ${EndIf} - - ClearErrors - ${GetOptions} $CMDLINE "/SILENTLANGUAGEMODE=" $R0 - ${IfNot} ${Errors} - ${If} $R0 == "auto" - ${OrIf} $R0 == "never" - ${OrIf} $R0 == "always" - StrCpy $SILENTLANGUAGEMODE $R0 - ${Else} - StrCpy $SILENTLANGUAGEMODE "auto" - ${EndIf} - ${Else} - StrCpy $SILENTLANGUAGEMODE "auto" - ${EndIf} - - ${EndIf} - ${EndIf} - ${EndIf} - ${EndIf} - ${Else} - ClearErrors - ;=== Check legacy location - ${GetOptions} $CMDLINE "-o" $R0 - ${IfNot} ${Errors} - !ifdef COMMONFILESPLUGIN - StrCpy $INSTDIR "$R0CommonFiles\${APPID}" - !else - StrCpy $INSTDIR "$R0${APPID}" - !endif - ${Else} - ;=== No installation directory found - ClearErrors - ${If} ${FileExists} "$PROFILE\PortableApps\*.*" - StrCpy $FOUNDPORTABLEAPPSPATH "$Profile\PortableApps" - ${Else} - ${GetDrives} "HDD+FDD" GetDrivesCallBack - ${EndIf} - ${If} $FOUNDPORTABLEAPPSPATH != "" - !ifdef COMMONFILESPLUGIN - StrCpy $INSTDIR "$FOUNDPORTABLEAPPSPATH\CommonFiles\${APPID}" - !else - StrCpy $INSTDIR "$FOUNDPORTABLEAPPSPATH\${APPID}" - !endif - ${Else} - !ifdef COMMONFILESPLUGIN - StrCpy $INSTDIR "$EXEDIR\CommonFiles\${APPID}" - !else - StrCpy $INSTDIR "$EXEDIR\${APPID}" - !endif - ${EndIf} - ${EndIf} - ${EndIf} - - !ifdef MAINSECTIONTITLE - !ifdef OPTIONALSECTIONPRESELECTEDIFNONENGLISHINSTALL - ;=== If it's not English, select the optional component (languages) by default - ${IfThen} $LANGUAGE != 1033 ${|} SectionSetFlags 1 ${OPTIONALSECTIONIDX} ${|} - !endif - ${If} ${Silent} - ${If} "${OPTIONALSECTIONINSTALLEDWHENSILENT}" == "true" - SectionSetFlags 1 ${OPTIONALSECTIONIDX} - ${ElseIf} "${OptionalSectionSelectedInstallType}" == "Multilingual" - ${If} $SILENTLANGUAGEMODE != "never" - ${If} $SILENTLANGUAGEMODE == "always" - SectionSetFlags 1 ${OPTIONALSECTIONIDX} - ${Else} - ${IfThen} $LANGUAGE != 1033 ${|} SectionSetFlags 1 ${OPTIONALSECTIONIDX} ${|} - ${EndIf} - ${EndIf} - ${EndIf} - ${EndIf} - - !endif - - !ifdef COPYLOCALFILES - StrCpy $CopyLocalFilesFrom "" - - ${If} "${CopyFromRegPath}" != "" - ${registry::Read} "${CopyFromRegPath}" "${CopyFromRegKey}" $R0 $R1 - ${If} $R0 != "" - ;Strip trailing slash if there - StrCpy $1 $R0 "" -1 - ${If} $1 == "\" - StrCpy $R0 $R0 -1 - ${EndIf} - - ;Go up directories if needed - ${If} "${CopyFromRegRemoveDirectories}" != "" - StrCpy $1 1 - ${Do} - ${GetParent} $R0 $R0 - IntOp $1 $1 + 1 - ${LoopUntil} $1 > "${CopyFromRegRemoveDirectories}" - ${EndIf} - - ;Check for existence - ${If} ${FileExists} "$R0\*.*" - StrCpy $CopyLocalFilesFrom $R0 - ${EndIf} - ${EndIf} - ${EndIf} - - ;Fallback to direct entry - ${If} $CopyLocalFilesFrom == "" - ${AndIf} "${CopyFromDirectory}" != "" - StrCpy $CopyLocalFilesFrom "${CopyFromDirectory}" - ${WordReplace} $CopyLocalFilesFrom "%PROGRAMFILES%" $PROGRAMFILES + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%PROGRAMFILES32%" $PROGRAMFILES32 + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%PROGRAMFILES64%" $PROGRAMFILES64 + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%COMMONFILES%" $COMMONFILES + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%COMMONFILES32%" $COMMONFILES32 + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%COMMONFILES64%" $COMMONFILES64 + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%DESKTOP%" $DESKTOP + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%WINDIR%" $WINDIR + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%SYSDIR%" $SYSDIR + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%APPDATA%" $APPDATA + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%LOCALAPPDATA%" $LOCALAPPDATA + $CopyLocalFilesFrom - ${WordReplace} $CopyLocalFilesFrom "%TEMP%" $TEMP + $CopyLocalFilesFrom - ${EndIf} - ${If} ${FileExists} "$CopyLocalFilesFrom\*.*" - SectionGetSize ${MAINSECTIONIDX} $0 - ${GetSize} $CopyLocalFilesFrom "/M=*.* /S=0K /G=1" $1 $2 $3 - IntOp $0 $0 + $1 - SectionSetSize ${MAINSECTIONIDX} $0 - ${EndIf} - !endif - !ifdef AdditionalInstallSize - SectionGetSize ${MAINSECTIONIDX} $0 - IntOp $0 $0 + ${AdditionalInstallSize} - SectionSetSize ${MAINSECTIONIDX} $0 - !endif - - ${If} "${CHECKRUNNING}" != "NONE" - ;=== Check if app is running? - RunningTryAgain: - FindProcDLL::FindProc "${CHECKRUNNING}" - ${If} $R0 == 1 - MessageBox MB_OKCANCEL|MB_ICONINFORMATION $(runwarning) IDOK RunningTryAgain IDCANCEL RunningCancel - - RunningCancel: - Abort - ${EndIf} - ${EndIf} -FunctionEnd - -Function PreWelcome - ${IfThen} $AUTOMATEDINSTALL == "true" ${|} Abort ${|} -FunctionEnd - -!ifdef LICENSEAGREEMENT -Function PreLicense - ${If} $AUTOMATEDINSTALL == "true" - ${AndIf} $EULAVERSIONMATCH == "true" - Abort - ${EndIf} - - !ifndef EULAVERSION - StrCpy $INTERNALEULAVERSION "1" - !else - StrCpy $INTERNALEULAVERSION "${EULAVERSION}" - !endif - ${If} ${FileExists} "$INSTDIR\Data\PortableApps.comInstaller\license.ini" - ReadINIStr $0 "$INSTDIR\Data\PortableApps.comInstaller\license.ini" "PortableApps.comInstaller" "EULAVersion" - ClearErrors - ${If} $0 == $INTERNALEULAVERSION - ${AndIf} $AUTOMATEDINSTALL == "true" - Abort - ${EndIf} - ${EndIf} -FunctionEnd -Function ShowLicense - ${If} $AUTOMATEDINSTALL == "true" - ${TBProgress} 20 - ${TBProgress_State} Paused - ${EndIf} -FunctionEnd -Function LeaveLicense - ${If} $AUTOMATEDINSTALL == "true" - ${TBProgress_State} NoProgress - ${EndIf} -FunctionEnd -!endif - -Function ShowInstFiles - w7tbp::Start -FunctionEnd - -!ifdef MAINSECTIONTITLE - Function PreComponents - ${If} $AUTOCLOSE != "true" - ${OrIfNot} ${FileExists} "$INSTDIR\App\AppInfo\appinfo.ini" - Return - ${EndIf} - - ReadINIStr $0 "$INSTDIR\App\AppInfo\appinfo.ini" "Details" "InstallType" - ClearErrors - ${If} $0 == "${OPTIONALSECTIONSELECTEDINSTALLTYPE}" - SectionSetFlags 1 ${OPTIONALSECTIONIDX} - Abort - ${EndIf} - - ;=== Check not selected - ${If} $0 == "${OPTIONALSECTIONNOTSELECTEDINSTALLTYPE}" - SectionSetFlags 0 ${OPTIONALSECTIONIDX} - Abort - ${EndIf} - FunctionEnd -!endif - -Function PreDirectory - ${IfThen} $AUTOMATEDINSTALL != "true" ${|} Return ${|} - - SectionGetSize ${MAINSECTIONIDX} $1 ;=== Space Required for App - !ifdef MAINSECTIONTITLE - SectionGetFlags ${OPTIONALSECTIONIDX} $9 - IntOp $9 $9 & ${SF_SELECTED} - ${If} $9 >= ${SF_SELECTED} - SectionGetSize ${OPTIONALSECTIONIDX} $2 ;=== Space Required for App - IntOp $1 $1 + $2 - ${EndIf} - !endif - ${GetRoot} $INSTDIR $2 - ${DriveSpace} `$2\` "/D=F /S=M" $3 ;=== Space Free on Device - - IntOp $1 $1 / 1024 - - ${If} $3 <= $1 - IntOp $1 $1 * 1024 - IntOp $3 $3 * 1024 - - !ifndef PLUGININSTALLER ;=== If not a plugin installer, add the current install size to free space - ${If} ${FileExists} $INSTDIR - ${GetSize} $INSTDIR "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current Install Size - - ${If} ${FileExists} `$INSTDIR\Data` - ${GetSize} `$INSTDIR\Data` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Size of Data directory - IntOp $3 $3 - $4 ;=== Remove the data directory from the free space calculation - ${EndIf} - - ${If} `${ADDONSDIRECTORYPRESERVE}` != "NONE" - ${AndIf} ${FileExists} `$INSTDIR\${ADDONSDIRECTORYPRESERVE}` - ${GetSize} `$INSTDIR\${ADDONSDIRECTORYPRESERVE}` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Size of Data directory - IntOp $3 $3 - $4 ;=== Remove the plugins directory from the free space calculation - ${EndIf} - ${EndIf} - !else - !ifdef COMMONFILESPLUGIN ;Duplicate code for now, to do above for CommonFiles as well - ${If} ${FileExists} $INSTDIR - ${GetSize} `$INSTDIR` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current Install Size - ${EndIf} - !endif - !endif - - ${If} $3 <= $1 - MessageBox MB_OK|MB_ICONEXCLAMATION "$(notenoughspace)" - Return - ${EndIf} - ${EndIf} - - ;=== Check if app is running? - ${IfThen} "${CHECKRUNNING}" == "NONE" ${|} Abort ${|} - FindProcDLL::FindProc "${CHECKRUNNING}" - ${IfThen} $R0 != "1" ${|} Abort ${|} - MessageBox MB_OK|MB_ICONINFORMATION $(runwarning) -FunctionEnd - -Function LeaveDirectory - GetInstDirError $0 - - ;=== Does it already exist? (upgrade) - ${If} ${FileExists} $INSTDIR - ${AndIf} "${CHECKRUNNING}" != "NONE" - ;=== Check if app is running? - FindProcDLL::FindProc "${CHECKRUNNING}" - ${If} $R0 = 1 - MessageBox MB_OK|MB_ICONINFORMATION $(runwarning) - Abort - ${EndIf} - ${EndIf} - - ; 0 is valid, enough space, all fine - ${Select} $0 - ${Case} 1 - MessageBox MB_OK|MB_ICONINFORMATION $(invaliddirectory) - Abort - - ${Case} 2 - ${IfNot} ${FileExists} $INSTDIR ;=== Is upgrade - MessageBox MB_OK|MB_ICONEXCLAMATION $(notenoughspace) - Abort - ${EndIf} - - SectionGetSize ${MAINSECTIONIDX} $1 ;=== Space Required for App - !ifdef MAINSECTIONTITLE - SectionGetFlags ${OPTIONALSECTIONIDX} $9 - IntOp $9 $9 & ${SF_SELECTED} - ${If} $9 >= ${SF_SELECTED} - SectionGetSize ${OPTIONALSECTIONIDX} $2 ;=== Space Required for App - IntOp $1 $1 + $2 - ${EndIf} - !endif - ${GetRoot} $INSTDIR $2 - ${DriveSpace} `$2\` "/D=F /S=K" $3 ;=== Space Free on Device - - - !ifndef PLUGININSTALLER ;=== If not a plugin installer, add the current install size to free space - ${GetSize} `$INSTDIR` "/M=*.* /S=0K /G=0" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current Root Install Size - ${GetSize} `$INSTDIR\App` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current App Install Size - ${GetSize} `$INSTDIR\Other` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current Other Install Size - - ${If} `${ADDONSDIRECTORYPRESERVE}` != "NONE" - ${AndIf} ${FileExists} `$INSTDIR\${ADDONSDIRECTORYPRESERVE}` - ${GetSize} `$INSTDIR\${ADDONSDIRECTORYPRESERVE}` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Size of Data directory - IntOp $3 $3 - $4 ;=== Remove the plugins directory from the free space calculation - ${EndIf} - !else - !ifdef COMMONFILESPLUGIN ;Duplicate code for now, to do above for CommonFiles as well - ${GetSize} `$INSTDIR` "/M=*.* /S=0K /G=1" $4 $5 $6 ;=== Current installation size - IntOp $3 $3 + $4 ;=== Space Free + Current Install Size - !endif - !endif - - ${If} $3 <= $1 - MessageBox MB_OK|MB_ICONEXCLAMATION "$(notenoughspace)" - Abort - ${EndIf} - ${EndSelect} - - ;Check for Program Files - ReadEnvStr $0 IPromiseNotToComplainWhenPortableAppsDontWorkRightInProgramFiles - ${If} $0 != "I understand that this may not work and that I can not ask for help with any of my apps when operating in this fashion." - ${WordFind} "$INSTDIR\" "$PROGRAMFILES\" "*" $R0 - ${If} $R0 > 0 - MessageBox MB_OK|MB_ICONINFORMATION "$(invaliddirectory) [$PROGRAMFILES or sub-directories]" - Abort - ${EndIf} - ${WordFind} "$INSTDIR\" "$PROGRAMFILES64\" "*" $R0 - ${If} $R0 > 0 - MessageBox MB_OK|MB_ICONINFORMATION "$(invaliddirectory) [$PROGRAMFILES64 or sub-directories]" - Abort - ${EndIf} - ${EndIf} -FunctionEnd - -Function PreFinish - ${IfThen} $AUTOCLOSE == "true" ${|} Abort ${|} -FunctionEnd - -Function GetDrivesCallBack - ;=== Skip usual floppy letters - ${If} $8 == "FDD" - ${If} $9 == "A:\" - ${OrIf} $9 == "B:\" - Push $0 - Return - ${EndIf} - ${EndIf} - - ${If} ${FileExists} $9PortableApps - StrCpy $FOUNDPORTABLEAPPSPATH $9PortableApps - ${EndIf} - - Push $0 -FunctionEnd - -!ifdef MAINSECTIONTITLE - Section "${MAINSECTIONTITLE}" -!else - Section "App Portable (required)" -!endif - - ${If} $MINIMIZEINSTALLER == "true" - ShowWindow $HWNDPARENT ${SW_MINIMIZE} - ${EndIf} - ${If} $HIDEINSTALLER == "true" - ShowWindow $HWNDPARENT ${SW_HIDE} - ${EndIf} - - ${If} ${FileExists} "$INSTDIR\*.*" - StrCpy $bolAppUpgrade true - ${EndIf} - - ${If} $(installingstatus) != "" - StrCpy $InstallingStatusString "$(installingstatus)" - ${Else} - StrCpy $InstallingStatusString "$(MUI_TEXT_INSTALLING_TITLE)" - ${EndIf} - - SectionIn RO - SetOutPath $INSTDIR - - ${If} $bolAppUpgrade == true - ${If} $(prepareupgrade) == "" - DetailPrint $InstallingStatusString - ${Else} - DetailPrint $(prepareupgrade) - ${EndIf} - ${Else} - DetailPrint $InstallingStatusString - ${EndIf} - SetDetailsPrint ListOnly - - ;=== Download Files -!ifdef DownloadURL - ${If} ${FileExists} `$EXEDIR\${DownloadFileName}` - !ifdef DownloadMD5 - md5dll::GetMD5File "$EXEDIR\${DownloadFileName}" - Pop $R0 - ${If} $R0 == ${DownloadMD5} - StrCpy $DOWNLOADALREADYEXISTED "true" - StrCpy $DOWNLOADRESULT "OK" - ${EndIf} - !else - StrCpy $DOWNLOADALREADYEXISTED "true" - StrCpy $DOWNLOADRESULT "OK" - !endif - ${EndIf} - - ${If} $DOWNLOADALREADYEXISTED == "true" - StrCpy $DOWNLOADEDFILE "$EXEDIR\${DownloadFileName}" - ${Else} - StrCpy $DownloadURLActual ${DownloadURL} - DownloadTheFile: - CreateDirectory `$PLUGINSDIR\Downloaded` - SetDetailsPrint both - ${If} $(downloading) != "" - DetailPrint $(downloading) - ${Else} - DetailPrint "Downloading ${DownloadName}..." - ${EndIf} - - SetDetailsPrint none - Delete "$PLUGINSDIR\Downloaded\${DownloadName}" - Delete "$PLUGINSDIR\Downloaded\${DownloadFilename}" - - ${If} $(downloading) != "" - inetc::get /CONNECTTIMEOUT 30 /NOCOOKIES /TRANSLATE $(downloading) $(downloadconnecting) $(downloadsecond) $(downloadminute) $(downloadhour) $(downloadplural) "%dkB (%d%%) of %dkB @ %d.%01dkB/s" " (%d %s%s $(downloadremaining))" "$DownloadURLActual" "$PLUGINSDIR\Downloaded\${DownloadName}" /END - ${Else} - inetc::get /CONNECTTIMEOUT 30 /NOCOOKIES /TRANSLATE "Downloading %s..." "Connecting..." second minute hour s "%dkB (%d%%) of %dkB @ %d.%01dkB/s" " (%d %s%s remaining)" "$DownloadURLActual" "$PLUGINSDIR\Downloaded\${DownloadName}" /END - ${EndIf} - SetDetailsPrint both - DetailPrint $InstallingStatusString - SetDetailsPrint ListOnly - Pop $DOWNLOADRESULT - ${If} $DOWNLOADRESULT == "OK" - Rename "$PLUGINSDIR\Downloaded\${DownloadName}" "$PLUGINSDIR\Downloaded\${DownloadFilename}" - StrCpy $DOWNLOADEDFILE "$PLUGINSDIR\Downloaded\${DownloadFilename}" - !ifdef DownloadMD5 - md5dll::GetMD5File "$DOWNLOADEDFILE" - Pop $R0 - ${If} $R0 != ${DownloadMD5} - ${If} $SECONDDOWNLOADATTEMPT != true - StrCpy $SECONDDOWNLOADATTEMPT true - Goto DownloadTheFile - ${EndIf} - StrCpy $MD5MISMATCH "true" - - Delete "$INTERNET_CACHE\${DownloadFileName}" - Delete "$PLUGINSDIR\Downloaded\${DownloadFilename}" - SetDetailsPrint textonly - DetailPrint "" - SetDetailsPrint listonly - ${TBProgress_State} Error - ${If} $(downloadfilemismatch) != "" - MessageBox MB_OK|MB_ICONEXCLAMATION $(downloadfilemismatch) - DetailPrint $(downloadfilemismatch) - ${Else} - MessageBox MB_OK|MB_ICONEXCLAMATION `The downloaded copy of ${DownloadName} is not valid and can not be installed. Please try installing again.` - DetailPrint `The downloaded copy of ${DownloadName} is not valid and can not be installed. Please try installing again.` - ${EndIf} - ${TBProgress_State} NoProgress - Abort - ${EndIf} - !endif - ${Else} - Delete "$INTERNET_CACHE\${DownloadFileName}" - Delete "$PLUGINSDIR\Downloaded\${DownloadFilename}" - StrCpy $0 $DownloadURLActual - - ;Use backup PA.c download server if necessary - ${WordFind} "$DownloadURLActual" "http://download2.portableapps.com" "#" $R0 - ${If} $R0 == 1 - ${WordReplace} "$DownloadURLActual" "http://download2.portableapps.com" "http://download.portableapps.com" "+" $DownloadURLActual - Goto DownloadTheFile - ${EndIf} - - ${If} $SECONDDOWNLOADATTEMPT != true - ${AndIf} $DOWNLOADRESULT != "Cancelled" - StrCpy $SECONDDOWNLOADATTEMPT true - Goto DownloadTheFile - ${EndIf} - SetDetailsPrint textonly - DetailPrint "" - SetDetailsPrint listonly - ${TBProgress_State} Error - ${If} $(downloadfailed) != "" - MessageBox MB_OK|MB_ICONEXCLAMATION $(downloadfailed) - DetailPrint $(downloadfailed) - ${Else} - MessageBox MB_OK|MB_ICONEXCLAMATION `The installer was unable to download ${DownloadName}. The installation of the portable app will be incomplete without it. Please try installing again. (ERROR: $DOWNLOADRESULT)` - DetailPrint `The installer was unable to download ${DownloadName}. The installation of the portable app will be incomplete without it. Please try installing again. (ERROR: $DOWNLOADRESULT)` - ${EndIf} - ${TBProgress_State} NoProgress - Abort - ${EndIf} - ${EndIf} -!endif - -!ifdef MAINSECTIONTITLE - SectionGetFlags 1 $0 - IntOp $0 $0 & ${SF_SELECTED} - ${If} $0 != ${SF_SELECTED} - ;=== BEGIN: OPTIONAL NOT SELECTED CLEANUP CODE === - ;This will be executed before install if the optional section (additional languages, etc) is not selected - !ifmacrodef CustomCodeOptionalCleanup - !insertmacro CustomCodeOptionalCleanup - !endif - ;=== END: OPTIONAL NOT SELECTED CLEANUP CODE === - ${EndIf} -!endif - - ;=== BEGIN: PRE-INSTALL CODE === - ;This will be executed before the app is installed. Useful for cleaning up files no longer used. - !ifmacrodef CustomCodePreInstall - !insertmacro CustomCodePreInstall - !endif - ;=== END: PRE-INSTALL CODE === - - ;=== Remove specific files - !macro RemoveFile _n - !ifdef REMOVEFILE${_n} - Delete `$INSTDIR\${REMOVEFILE${_n}}` - !endif - !macroend - ${!insertmacro1-10} RemoveFile - - ;=== Rename the preserved files so they're not deleted in the next part - !macro PreserveFilePre _n - !ifdef PRESERVEFILE${_n} - ${GetFileName} `$INSTDIR\${PRESERVEFILE${_n}}` $1 - ${GetParent} `$INSTDIR\${PRESERVEFILE${_n}}` $2 - CreateDirectory `$INSTDIR\~PRESERVEFILE${_n}` - ${MoveFiles} DOS $1 $2 `$INSTDIR\~PRESERVEFILE${_n}` - !endif - !macroend - ${!insertmacro1-10} PreserveFilePre - - ;=== Remove specific directories - !macro RemoveDirectory _n - !ifdef REMOVEDIRECTORY${_n} - RMDir /r `$INSTDIR\${REMOVEDIRECTORY${_n}}` - !endif - !macroend - ${!insertmacro1-10} RemoveDirectory - - ;=== Rename the preserved directories so they're not deleted in the next part - !macro PreserveDirectoryPre _n - !ifdef PRESERVEDIRECTORY${_n} - Rename `$INSTDIR\${PRESERVEDIRECTORY${_n}}\` `$INSTDIR\~PRESERVEDIRECTORY${_n}\` - !endif - !macroend - ${!insertmacro1-10} PreserveDirectoryPre - - ;=== Remove main directories if necessary - !ifdef REMOVEAPPDIRECTORY - !ifdef COMMONFILESPLUGIN - ${GetParent} $INSTDIR $0 - ${For} $1 1 10 - Rename `$INSTDIR\~PRESERVEFILE$1\` `$0\~PRESERVEFILE$1\` - Rename `$INSTDIR\~PRESERVEDIRECTORY$1\` `$0\~PRESERVEDIRECTORY$1\` - ${Next} - RMDir /r $INSTDIR - CreateDirectory $INSTDIR - ${For} $1 1 10 - Rename `$0\~PRESERVEFILE$1\` `$INSTDIR\~PRESERVEFILE$1\` - Rename `$0\~PRESERVEDIRECTORY$1\` `$INSTDIR\~PRESERVEDIRECTORY$1\` - ${Next} - !else - RMDir /r `$INSTDIR\App` - !endif - !endif - !ifdef REMOVEDATADIRECTORY - RMDir /r `$INSTDIR\Data` - !endif - !ifdef REMOVEOTHERDIRECTORY - RMDir /r `$INSTDIR\Other` - !endif - - ;=== Rename the preserved directories back to their proper names - !macro PreserveDirectoryPost _n - !ifdef PRESERVEDIRECTORY${_n} - ${GetParent} `$INSTDIR\${PRESERVEDIRECTORY${_n}}\` $R0 - CreateDirectory $R0 - Rename `$INSTDIR\~PRESERVEDIRECTORY${_n}\` `$INSTDIR\${PRESERVEDIRECTORY${_n}}\` - !endif - !macroend - ${!insertmacro1-10} PreserveDirectoryPost - - ;=== Rename the preserved files back to their proper names - !macro PreserveFilePost _n - !ifdef PRESERVEFILE${_n} - ${GetFileName} `$INSTDIR\${PRESERVEFILE${_n}}` $1 - ${GetParent} `$INSTDIR\${PRESERVEFILE${_n}}` $2 - CreateDirectory $2 - ${MoveFiles} DOS $1 `$INSTDIR\~PRESERVEFILE${_n}` $2 - RMDir `$INSTDIR\~PRESERVEFILE${_n}` - !endif - !macroend - ${!insertmacro1-10} PreserveFilePost - - ${If} $bolAppUpgrade == true - SetDetailsPrint both - DetailPrint $InstallingStatusString - SetDetailsPrint ListOnly - ${EndIf} - - !ifndef PLUGININSTALLER - File /x thumbs.db "..\..\*.exe" - File /x thumbs.db "..\..\*.html" - SetOutPath $INSTDIR\App - File /r /x thumbs.db "..\..\App\*.*" - !else ifdef COMMONFILESPLUGIN - SetOutPath $INSTDIR - File /r /x thumbs.db /x PortableApps.comInstaller*.* "..\..\*.*" - !else ; non-CommonFiles plugin installer - SetOutPath $INSTDIR\Data - File /nonfatal /r /x thumbs.db "..\..\Data\*.*" - SetOutPath $INSTDIR\App - File /nonfatal /r /x thumbs.db "..\..\App\*.*" - !endif - - SetOutPath $INSTDIR\Other - File /nonfatal /r /x thumbs.db /x PortableApps.comInstaller*.* "..\..\Other\*.*" - - SetOutPath $INSTDIR\Other\Source - !ifdef USESCUSTOMCODE - !if ${__FILE__} == "PortableApps.comInstallerPlugin.nsi" - File "..\..\Other\Source\PortableApps.comInstallerPluginCustom.nsh" - !else - File "..\..\Other\Source\PortableApps.comInstallerCustom.nsh" - !endif - !endif - !ifndef PLUGININSTALLER - CreateDirectory "$INSTDIR\Data" - !endif - - !ifdef INCLUDEINSTALLERSOURCE - File /r /x PortableApps.comInstallerCustom.nsh /x PortableApps.comInstallerPluginCustom.nsh "..\..\Other\Source\PortableApps.comInstaller*.*" - !endif - - ;=== Extract Download Files - !ifdef DownloadURL - !ifdef DownloadTo - ;Just copy the file - CopyFiles /SILENT "$DOWNLOADEDFILE" "$INSTDIR\${DownloadTo}" - !else - ;Process the file - !ifdef Extract1To - ;Standard extract - - !macro ExtractTo _n - !ifdef Extract${_n}To - CreateDirectory "$INSTDIR\${Extract${_n}To}" - nsisunz::UnzipToLog /file "${Extract${_n}File}" "$DOWNLOADEDFILE" "$INSTDIR\${Extract${_n}To}" - Pop $R0 - ${If} $R0 <> "OK" - DetailPrint "ERROR: $R0 (${DownloadFilename} - ${Extract${_n}File})" - Abort - ${EndIf} - !endif - !macroend - ${!insertmacro1-10} ExtractTo - !endif - !ifdef AdvancedExtract1To - ;Advanced extract with 7zip - CreateDirectory "$INSTDIR\7zTemp" - SetOutPath "$INSTDIR\7zTemp" - File "${NSISDIR}\..\7zip\7z.exe" - File "${NSISDIR}\..\7zip\7z.dll" - SetOutPath $INSTDIR - - ; The original code didn't have a !ifdef for 1, but we - ; know it will be defined, and it doesn't matter if we - ; check if it is because it will be. - !macro AdvancedExtractFilter _n - !ifdef AdvancedExtract${_n}To - CreateDirectory "$INSTDIR\${AdvancedExtract${_n}To}" - ${If} "${AdvancedExtract${_n}Filter}" == "**" - ExecDOS::exec `"$INSTDIR\7zTemp\7z.exe" x -r "$DOWNLOADEDFILE" -o"$INSTDIR\${AdvancedExtract${_n}To}" * -aoa -y` "" "" - ${Else} - ExecDOS::exec `"$INSTDIR\7zTemp\7z.exe" x "$DOWNLOADEDFILE" -o"$INSTDIR\${AdvancedExtract${_n}To}" "${AdvancedExtract${_n}Filter}" -aoa -y` "" "" - ${EndIf} - Pop $R0 - ${If} $R0 <> 0 - DetailPrint "ERROR: (${DownloadFilename} > ${AdvancedExtract${_n}To})" - Abort - ${EndIf} - !endif - !macroend - ${!insertmacro1-10} AdvancedExtractFilter - - Delete "$INSTDIR\7zTemp\7z.dll" - Delete "$INSTDIR\7zTemp\7z.exe" - RMDir "$INSTDIR\7zTemp" - !endif - !ifdef DoubleExtractFilename - ;Double extract using 7zip - CreateDirectory "$INSTDIR\7zTemp" - SetOutPath "$INSTDIR\7zTemp" - File "${NSISDIR}\..\7zip\7z.exe" - File "${NSISDIR}\..\7zip\7z.dll" - SetOutPath $INSTDIR - - CreateDirectory "$PLUGINSDIR\Downloaded2" - ExecDOS::exec `"$INSTDIR\7zTemp\7z.exe" x "$DOWNLOADEDFILE" -o"$PLUGINSDIR\Downloaded2" "${DoubleExtractFilename}" -aoa -y` "" "" - Pop $R0 - ${If} $R0 <> 0 - DetailPrint "ERROR: (${DownloadFilename} > ${DoubleExtractFilename})" - Abort - ${EndIf} - - ; The original code didn't have a !ifdef for 1, but we - ; know it will be defined, and it doesn't matter if we - ; check if it is because it will be. - !macro DoubleExtractTo _n - !ifdef DoubleExtract${_n}To - CreateDirectory "$INSTDIR\${DoubleExtract${_n}To}" - ${If} "${DoubleExtract${_n}Filter}" == "**" - ExecDOS::exec `"$INSTDIR\7zTemp\7z.exe" x -r "$PLUGINSDIR\Downloaded2\${DoubleExtractFilename}" -o"$INSTDIR\${DoubleExtract${_n}To}" * -aoa -y` "" "" - ${Else} - ExecDOS::exec `"$INSTDIR\7zTemp\7z.exe" x "$PLUGINSDIR\Downloaded2\${DoubleExtractFilename}" -o"$INSTDIR\${DoubleExtract${_n}To}" "${DoubleExtract${_n}Filter}" -aoa -y` "" "" - ${EndIf} - Pop $R0 - ${If} $R0 <> 0 - DetailPrint "ERROR: (${DoubleExtractFilename} > ${DoubleExtract${_n}To})" - Abort - ${EndIf} - !endif - !macroend - ${!insertmacro1-10} DoubleExtractTo - - Delete "$INSTDIR\7zTemp\7z.exe" - Delete "$INSTDIR\7zTemp\7z.dll" - RMDir "$INSTDIR\7zTemp" - !endif - !endif - !endif - - ;=== Copy Local Files - !ifdef COPYLOCALFILES - ${If} ${FileExists} "$CopyLocalFilesFrom\*.*" - CreateDirectory "$INSTDIR\${CopyToDirectory}" - CopyFiles /SILENT "$CopyLocalFilesFrom\*.*" "$INSTDIR\${CopyToDirectory}" - ${Else} - StrCpy $MISSINGFILEORPATH $CopyLocalFilesFrom - ${If} $(copylocalfilesnotfound) != "" - MessageBox MB_OK|MB_ICONINFORMATION $(copylocalfilesnotfound) - ${Else} - MessageBox MB_OK|MB_ICONINFORMATION `This installer copies a local version of the application and makes it portable. Unfortunately, a local copy of the application was not found. You may reinstall or copy the files yourself to complete the installation at a later time. (ERROR: $MISSINGFILEORPATH could not be found.)` - ${EndIf} - ${EndIf} - !endif - - ;=== BEGIN: POST-INSTALL CODE === - ;This will be executed after the app is installed. Useful for updating configuration files. - !ifmacrodef CustomCodePostInstall - !insertmacro CustomCodePostInstall - !endif - ;=== END: POST-INSTALL CODE === - - !ifndef PLUGININSTALLER - ;=== Refresh PortableApps.com Menu (not final version) - ${GetParent} $INSTDIR $0 - ;=== Check that it exists at the right location - SetDetailsPrint both - DetailPrint '$(checkforplatform)' - ${If} ${FileExists} `$0\PortableApps.com\PortableAppsPlatform.exe` - ;=== Check that it's the real deal so we aren't hanging with no response - MoreInfo::GetProductName `$0\PortableApps.com\PortableAppsPlatform.exe` - Pop $1 - ${If} $1 == "PortableApps.com Platform" - MoreInfo::GetCompanyName `$0\PortableApps.com\PortableAppsPlatform.exe` - Pop $1 - ${If} $1 == "PortableApps.com" - - ;=== Check that it's running - FindProcDLL::FindProc "PortableAppsPlatform.exe" - ${If} $R0 == "1" - - ;=== Send message for the Menu to refresh - CreateDirectory "$0\PortableApps.com\Data" - WriteINIStr "$0\PortableApps.com\Data\NewApp.ini" "NewApp" "AppID" "${APPID}" - - DetailPrint '$(refreshmenu)' - ${IfNot} ${FileExists} `$0\PortableApps.com\App\PortableAppsPlatform.exe` - StrCpy $2 'PortableApps.comPlatformWindowMessageToRefresh$0\PortableApps.com\PortableAppsPlatform.exe' - System::Call "user32::RegisterWindowMessage(t r2) i .r3" - SendMessage 65535 $3 0 0 /TIMEOUT=1 - ${Else} ; old message - StrCpy $2 'PortableApps.comPlatformWindowMessageToRefresh$0\PortableApps.com\App\PortableAppsPlatform.exe' - System::Call "user32::RegisterWindowMessage(t r2) i .r3" - SendMessage 65535 $3 0 0 /TIMEOUT=1 - ${EndIf} - ${EndIf} - ${EndIf} - ${EndIf} - ${EndIf} - !endif - DetailPrint $InstallingStatusString - SetDetailsPrint listonly - Delete "$INSTDIR\7zTemp\7z.exe" - Delete "$INSTDIR\7zTemp\7z.dll" - RMDir "$INSTDIR\7zTemp" - -!ifdef LICENSEAGREEMENT - CreateDirectory "$INSTDIR\Data\PortableApps.comInstaller" - WriteINIStr "$INSTDIR\Data\PortableApps.comInstaller\license.ini" "PortableApps.comInstaller" "EULAVersion" $INTERNALEULAVERSION - ClearErrors -!endif - -!ifdef DownloadURL - Delete "$INTERNET_CACHE\${DownloadFileName}" -!endif - ${If} $bolLogFile == true - ${DumpLogToFile} "$EXEDIR\$EXEFILE.log" - ${EndIf} - SetOutPath $INSTDIR -SectionEnd - -!ifdef MAINSECTIONTITLE - Section /o "${OPTIONALSECTIONTITLE}" - SetOutPath $INSTDIR - File /r "..\..\Optional1\*.*" - StrCpy $OPTIONAL1DONE "true" - SectionEnd - - Section "-UpdateAppInfo" SecUpdateAppInfo - !ifndef PLUGININSTALLER - ${If} $OPTIONAL1DONE != "true" - ${AndIf} "${OPTIONALSECTIONNOTSELECTEDINSTALLTYPE}" != "" - WriteINIStr "$INSTDIR\App\AppInfo\appinfo.ini" "Details" "InstallType" "${OPTIONALSECTIONNOTSELECTEDINSTALLTYPE}" - ${ElseIf} "${OPTIONALSECTIONSELECTEDINSTALLTYPE}" != "" - WriteINIStr "$INSTDIR\App\AppInfo\appinfo.ini" "Details" "InstallType" "${OPTIONALSECTIONSELECTEDINSTALLTYPE}" - ${EndIf} - !endif - SectionEnd - - !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN - !insertmacro MUI_DESCRIPTION_TEXT ${MAINSECTIONIDX} "${MAINSECTIONDESCRIPTION}" - !insertmacro MUI_DESCRIPTION_TEXT ${OPTIONALSECTIONIDX} "${OPTIONALSECTIONDESCRIPTION}" - !insertmacro MUI_FUNCTION_DESCRIPTION_END -!endif - -Function .onInstFailed - !ifdef COPYLOCALFILES - ${registry::Unload} - !endif - RMDir $INSTDIR ;remove directory if empty -FunctionEnd - -!ifdef COPYLOCALFILES - Function .onInstSuccess - ${registry::Unload} - FunctionEnd - Function CustomAbortFunction - ${registry::Unload} - FunctionEnd -!endif \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerConfig.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerConfig.nsh deleted file mode 100644 index bbf1e31c7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerConfig.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerCustom.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerCustom.nsh deleted file mode 100644 index 25dbbad43..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerCustom.nsh +++ /dev/null @@ -1,5 +0,0 @@ -!macro CustomCodePostInstall -CopyFiles /SILENT "$INSTDIR\App\Greenshot\Greenshot.exe.config" "$INSTDIR\" -ReadINIStr $0 "$INSTDIR\App\AppInfo\appinfo.ini" "Version" "PackageVersion" -ExecShell "open" "http://getgreenshot.org/thank-you/?language=en-US&version=$0" -!macroend \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerDumpLogToFile.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerDumpLogToFile.nsh deleted file mode 100644 index 180cd81a8..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerDumpLogToFile.nsh +++ /dev/null @@ -1,62 +0,0 @@ -;http://nsis.sourceforge.net/Docs/AppendixD.html#D.4 -;Define added by John T. Haller of PortableApps.com - -;NOTE - Not yet used. Added for future reference. - -!ifndef DumpLogToFile - -!define DumpLogToFile "!insertmacro DumpLogToFile" -!macro DumpLogToFile logfilename - Delete `${logfilename}` - push `${logfilename}` - call DumpLog -!macroend - -!define LVM_GETITEMCOUNT 0x1004 -!define LVM_GETITEMTEXT 0x1073 - -Function DumpLog - Exch $5 - Push $0 - Push $1 - Push $2 - Push $3 - Push $4 - Push $6 - - FindWindow $0 "#32770" "" $HWNDPARENT - GetDlgItem $0 $0 1016 - StrCmp $0 0 error - FileOpen $5 $5 "w" - FileWriteWord $5 0xfeff ; Write the BOM - StrCmp $5 0 error - SendMessage $0 ${LVM_GETITEMCOUNT} 0 0 $6 - System::StrAlloc ${NSIS_MAX_STRLEN} - Pop $3 - StrCpy $2 0 - System::Call "*(i, i, i, i, i, i, i, i, i) i \ - (0, 0, 0, 0, 0, r3, ${NSIS_MAX_STRLEN}) .r1" - loop: StrCmp $2 $6 done - System::Call "User32::SendMessageW(i, i, i, i) i \ - ($0, ${LVM_GETITEMTEXT}, $2, r1)" - System::Call "*$3(&t${NSIS_MAX_STRLEN} .r4)" - FileWriteUTF16LE $5 "$4$\r$\n" - IntOp $2 $2 + 1 - Goto loop - done: - FileClose $5 - System::Free $1 - System::Free $3 - Goto exit - error: - ;MessageBox MB_OK error - exit: - Pop $6 - Pop $4 - Pop $3 - Pop $2 - Pop $1 - Pop $0 - Exch $5 -FunctionEnd -!endif \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Afrikaans.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Afrikaans.nsh deleted file mode 100644 index 1ab502355..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Afrikaans.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Albanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Albanian.nsh deleted file mode 100644 index e08e0c985..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Albanian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Arabic.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Arabic.nsh deleted file mode 100644 index 961c7ec12..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Arabic.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Armenian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Armenian.nsh deleted file mode 100644 index be22d1312..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Armenian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Basque.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Basque.nsh deleted file mode 100644 index 549999952..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Basque.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Belarusian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Belarusian.nsh deleted file mode 100644 index 5c453841c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Belarusian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Bosnian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Bosnian.nsh deleted file mode 100644 index 60e537169..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Bosnian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Breton.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Breton.nsh deleted file mode 100644 index ceda00b58..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Breton.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Bulgarian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Bulgarian.nsh deleted file mode 100644 index 29f08efaa..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Bulgarian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Catalan.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Catalan.nsh deleted file mode 100644 index e648e87f8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Catalan.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Cibemba.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Cibemba.nsh deleted file mode 100644 index 27414b458..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Cibemba.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Croatian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Croatian.nsh deleted file mode 100644 index a05268fad..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Croatian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Czech.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Czech.nsh deleted file mode 100644 index e59f3cfdb..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Czech.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Danish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Danish.nsh deleted file mode 100644 index 2806d4835..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Danish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Dutch.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Dutch.nsh deleted file mode 100644 index 31ceeba6c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Dutch.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Efik.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Efik.nsh deleted file mode 100644 index 08f2d22e8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Efik.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/English.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/English.nsh deleted file mode 100644 index f78c3ee50..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/English.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/EnglishGB.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/EnglishGB.nsh deleted file mode 100644 index ea4278e08..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/EnglishGB.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Esperanto.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Esperanto.nsh deleted file mode 100644 index 5bcff5e2f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Esperanto.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Estonian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Estonian.nsh deleted file mode 100644 index fd68a3416..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Estonian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Farsi.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Farsi.nsh deleted file mode 100644 index 9ccedd431..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Farsi.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Finnish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Finnish.nsh deleted file mode 100644 index 1229b5be8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Finnish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/French.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/French.nsh deleted file mode 100644 index c1bff71ff..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/French.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Galician.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Galician.nsh deleted file mode 100644 index 35162c3f3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Galician.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Georgian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Georgian.nsh deleted file mode 100644 index 8980079b4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Georgian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/German.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/German.nsh deleted file mode 100644 index c36e18416..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/German.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Greek.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Greek.nsh deleted file mode 100644 index e999dc67d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Greek.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Hebrew.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Hebrew.nsh deleted file mode 100644 index dcbbea08a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Hebrew.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Hungarian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Hungarian.nsh deleted file mode 100644 index be2ce378b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Hungarian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Icelandic.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Icelandic.nsh deleted file mode 100644 index 894c08b3b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Icelandic.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Igbo.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Igbo.nsh deleted file mode 100644 index f98f7476e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Igbo.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Indonesian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Indonesian.nsh deleted file mode 100644 index ee41db8c0..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Indonesian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Irish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Irish.nsh deleted file mode 100644 index a50c78bd1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Irish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Italian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Italian.nsh deleted file mode 100644 index 1e2f2d1b2..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Italian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Japanese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Japanese.nsh deleted file mode 100644 index 43274e06d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Japanese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Khmer.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Khmer.nsh deleted file mode 100644 index 4397ebb1b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Khmer.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Korean.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Korean.nsh deleted file mode 100644 index b88ef5510..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Korean.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Kurdish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Kurdish.nsh deleted file mode 100644 index 0deedd644..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Kurdish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Latvian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Latvian.nsh deleted file mode 100644 index ee02c8429..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Latvian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Lithuanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Lithuanian.nsh deleted file mode 100644 index eeff7057d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Lithuanian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Luxembourgish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Luxembourgish.nsh deleted file mode 100644 index a674cf2d2..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Luxembourgish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Macedonian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Macedonian.nsh deleted file mode 100644 index 43363ebc0..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Macedonian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Malagasy.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Malagasy.nsh deleted file mode 100644 index 498b87dcf..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Malagasy.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Malay.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Malay.nsh deleted file mode 100644 index d128c19fc..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Malay.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Mongolian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Mongolian.nsh deleted file mode 100644 index 8155e94a4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Mongolian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Norwegian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Norwegian.nsh deleted file mode 100644 index 98fffbd43..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Norwegian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/NorwegianNynorsk.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/NorwegianNynorsk.nsh deleted file mode 100644 index 12aed3819..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/NorwegianNynorsk.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Pashto.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Pashto.nsh deleted file mode 100644 index 732b06e37..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Pashto.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Polish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Polish.nsh deleted file mode 100644 index 04a98f24d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Polish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Portuguese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Portuguese.nsh deleted file mode 100644 index 9fadcd98f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Portuguese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/PortugueseBR.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/PortugueseBR.nsh deleted file mode 100644 index 3e96593a6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/PortugueseBR.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Romanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Romanian.nsh deleted file mode 100644 index fa6bfea23..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Romanian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Russian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Russian.nsh deleted file mode 100644 index 772cc4ff6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Russian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Serbian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Serbian.nsh deleted file mode 100644 index 36db0a76a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Serbian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SerbianLatin.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SerbianLatin.nsh deleted file mode 100644 index 0042eada3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SerbianLatin.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SimpChinese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SimpChinese.nsh deleted file mode 100644 index 373016efa..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SimpChinese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Slovak.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Slovak.nsh deleted file mode 100644 index 338bb0dc4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Slovak.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Slovenian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Slovenian.nsh deleted file mode 100644 index 6ac04ea3d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Slovenian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Spanish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Spanish.nsh deleted file mode 100644 index 962549440..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Spanish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SpanishInternational.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SpanishInternational.nsh deleted file mode 100644 index be9738f74..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/SpanishInternational.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Swahili.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Swahili.nsh deleted file mode 100644 index 9659d04e5..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Swahili.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Swedish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Swedish.nsh deleted file mode 100644 index 4519c17d7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Swedish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Thai.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Thai.nsh deleted file mode 100644 index d0578b00f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Thai.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/TradChinese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/TradChinese.nsh deleted file mode 100644 index 914c4ce64..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/TradChinese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Turkish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Turkish.nsh deleted file mode 100644 index eb3ece757..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Turkish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Ukrainian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Ukrainian.nsh deleted file mode 100644 index 6ad7c263e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Ukrainian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Uzbek.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Uzbek.nsh deleted file mode 100644 index 297e6a3bd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Uzbek.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Valencian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Valencian.nsh deleted file mode 100644 index 05e1e1366..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Valencian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Vietnamese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Vietnamese.nsh deleted file mode 100644 index 59afdcdef..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Vietnamese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Welsh.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Welsh.nsh deleted file mode 100644 index f00460a44..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Welsh.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Yoruba.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Yoruba.nsh deleted file mode 100644 index be845c758..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerLanguages/Yoruba.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerMoveFiles.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerMoveFiles.nsh deleted file mode 100644 index 451ab65ee..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerMoveFiles.nsh +++ /dev/null @@ -1,104 +0,0 @@ -; Copyright (c) 2008, Harold E Austin Jr -; All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the distribution. -; * Neither the name of the organization nor the -; names of its contributors may be used to endorse or promote products -; derived from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY Harold E Austin Jr ``AS IS'' AND ANY -; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -; DISCLAIMED. IN NO EVENT SHALL Harold E Austin Jr BE LIABLE FOR ANY -; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -/* - MoveFiles.nsh -- version 1.0 (May 5, 2008) - move files matching "filespec" from "source-directory" to "destination-directory" - - usage: - !include MoveFiles.nsh - - ${MoveFiles} mode "filespec" "source-directory" "destination-directory" - - where: - mode can be DOS, DIR, FORCE or DIR+FORCE (anything else = DOS): - DOS means act like the DOS MOVE command (move only files) - DIR means move files AND directories - FORCE means overwrite destination files (like MOVE/Y) - - example: - CreateDirectory "C:\NEW\DIR" - DetailPrint "Moving files and directories..." - ${MoveFiles} DIR+FORCE "*" "C:\OLD\DIR" "C:\NEW\DIR" - DetailPrint `"Processing"...` - Sleep 2000 - DetailPrint "Moving only the files back..." - ${MoveFiles} DOS "*" "C:\NEW\DIR" "C:\OLD\DIR" - DetailPrint "Moving the directories back..." - ${MoveFiles} DIR "*" "C:\NEW\DIR" "C:\OLD\DIR" -*/ -!ifndef MoveFiles -!define MoveFiles "!insertmacro MoveFiles" -!macro MoveFiles mode filespec sourcedir destdir - push `${destdir}` - push `${sourcedir}` - push `${filespec}` - push `${mode}` - call MoveFiles -!macroend - -Function MoveFiles ; mode filespec sourcedir destdir - Exch $0 ; mode, directory mode - Exch - Exch $1 ; filespec, force mode - Exch 2 - Exch $2 ; source directory - Exch 3 - Exch $3 ; destination directory - Push $4 ; FindFirst/FindNext search handle - Push $5 ; current filename matching filespec in sourcedir - FindFirst $4 $5 "$2\$1" - StrCpy $1 "" ; FORCE mode disabled by default - StrCmp $0 FORCE 0 +2 - StrCpy $1 FORCE - StrCmp $0 DIR+FORCE 0 +3 - StrCpy $0 DIR - StrCpy $1 FORCE - loop: - StrCmp $5 "" done ; $5 == "", if no more matching files - StrCmp $5 . next - StrCmp $5 .. next - StrCmp $0 DIR +2 - ; DIR mode disabled: ignore directories that match ${filespec} - IfFileExists "$2\$5\*.*" next - StrCmp $1 FORCE 0 +4 - ; FORCE mode: make sure destination doesn't exist - Delete "$3\$5" - StrCmp $0 DIR 0 +2 - RMDir /R "$3\$5" - Rename "$2\$5" "$3\$5" - next: - FindNext $4 $5 - Goto loop - done: - FindClose $4 ; finished with this search; close handle - Pop $5 - Pop $4 - Pop $3 - Pop $0 - Pop $1 - Pop $2 -FunctionEnd -!endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerTBProgress.nsh b/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerTBProgress.nsh deleted file mode 100644 index 7fa976961..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/installer/PortableApps.comInstallerTBProgress.nsh +++ /dev/null @@ -1,59 +0,0 @@ -!include "LogicLib.nsh" - -!ifndef CLSCTX_INPROC_SERVER - !define CLSCTX_INPROC_SERVER 1 -!endif - -!define CLSID_ITaskbarList {56fdf344-fd6d-11d0-958a-006097c9a090} - -!define IID_ITaskbarList3 {ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf} -!define ITaskbarList3->SetProgressState $ITaskbarList3->10 -!define ITaskbarList3->SetProgressValue $ITaskbarList3->9 - -!define TBPF_NOPROGRESS 0x00000000 ; Normal state / no progress bar -!define TBPF_INDETERMINATE 0x00000001 ; Marquee style progress bar -!define TBPF_NORMAL 0x00000002 ; Standard progress bar -!define TBPF_ERROR 0x00000004 ; Red taskbar button to indicate an error occurred -!define TBPF_PAUSED 0x00000008 ; Yellow taskbar button to indicate user attention - ; (input) is required to resume progress - -Var ITaskbarList3 - -!macro TBProgress_Init - !ifndef TBProgressInitialized - !define TBProgressInitialized - ${Unless} ${Silent} - System::Call "ole32::CoCreateInstance( \ - g '${CLSID_ITaskbarList}', \ - i 0, \ - i ${CLSCTX_INPROC_SERVER}, \ - g '${IID_ITaskbarList3}', \ - *i .s)" - Pop $ITaskbarList3 - ${Else} - StrCpy $ITaskbarList3 0 - ${EndIf} - !endif -!macroend -!define TBProgress_Init `!insertmacro TBProgress_Init` - -!macro TBProgress_Progress Val Max - ${TBProgress_Init} - ${If} $ITaskbarList3 <> 0 - System::Call "${ITaskbarList3->SetProgressValue}(i$HWNDPARENT, l${Val}, l${Max})" - ${EndIf} -!macroend -!define TBProgress_Progress `!insertmacro TBProgress_Progress` - -!macro TBProgress Val - ${TBProgress_Progress} ${Val} 100 -!macroend -!define TBProgress `!insertmacro TBProgress` - -!macro TBProgress_State State - ${TBProgress_Init} - ${If} $ITaskbarList3 <> 0 - System::Call "${ITaskbarList3->SetProgressState}(i$HWNDPARENT, i${TBPF_${State}})" - ${EndIf} -!macroend -!define TBProgress_State `!insertmacro TBProgress_State` \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/GenPat.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/GenPat.exe deleted file mode 100644 index 04373fcb5..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/GenPat.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/LibraryLocal.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/LibraryLocal.exe deleted file mode 100644 index 39063e90a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/LibraryLocal.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/MakeLangId.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/MakeLangId.exe deleted file mode 100644 index 16ade1390..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/MakeLangId.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/RegTool.bin b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/RegTool.bin deleted file mode 100644 index 5d11756f2..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/RegTool.bin and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/zip2exe.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/zip2exe.exe deleted file mode 100644 index 6a3354093..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Bin/zip2exe.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/COPYING b/Greenshot/tools/PortableApps.comInstaller/App/nsis/COPYING deleted file mode 100644 index afd4902ab..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/COPYING and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/ExDll/exdll.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/ExDll/exdll.h deleted file mode 100644 index 0e69c1cdd..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/ExDll/exdll.h +++ /dev/null @@ -1,116 +0,0 @@ -#ifndef _EXDLL_H_ -#define _EXDLL_H_ - -// only include this file from one place in your DLL. -// (it is all static, if you use it in two places it will fail) - -#define EXDLL_INIT() { \ - g_stringsize=string_size; \ - g_stacktop=stacktop; \ - g_variables=variables; } - -// For page showing plug-ins -#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8) -#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd) -#define NOTIFY_BYE_BYE 'x' - -typedef struct _stack_t { - struct _stack_t *next; - TCHAR text[1]; // this should be the length of string_size -} stack_t; - - -static unsigned int g_stringsize; -static stack_t **g_stacktop; -static TCHAR *g_variables; - -static int __stdcall popstring(TCHAR *str); // 0 on success, 1 on empty stack -static void __stdcall pushstring(const TCHAR *str); - -enum -{ -INST_0, // $0 -INST_1, // $1 -INST_2, // $2 -INST_3, // $3 -INST_4, // $4 -INST_5, // $5 -INST_6, // $6 -INST_7, // $7 -INST_8, // $8 -INST_9, // $9 -INST_R0, // $R0 -INST_R1, // $R1 -INST_R2, // $R2 -INST_R3, // $R3 -INST_R4, // $R4 -INST_R5, // $R5 -INST_R6, // $R6 -INST_R7, // $R7 -INST_R8, // $R8 -INST_R9, // $R9 -INST_CMDLINE, // $CMDLINE -INST_INSTDIR, // $INSTDIR -INST_OUTDIR, // $OUTDIR -INST_EXEDIR, // $EXEDIR -INST_LANG, // $LANGUAGE -__INST_LAST -}; - -typedef struct { - int autoclose; - int all_user_var; - int exec_error; - int abort; - int exec_reboot; - int reboot_called; - int cur_insttype; - int insttype_changed; - int silent; - int instdir_error; - int rtl; - int errlvl; -} exec_flags; - -typedef struct { - exec_flags *exec_flags; - int (__stdcall *ExecuteCodeSegment)(int, HWND); -} extra_parameters; - -// utility functions (not required but often useful) -static int __stdcall popstring(TCHAR *str) -{ - stack_t *th; - if (!g_stacktop || !*g_stacktop) return 1; - th=(*g_stacktop); - lstrcpy(str,th->text); - *g_stacktop = th->next; - GlobalFree((HGLOBAL)th); - return 0; -} - -static void __stdcall pushstring(const TCHAR *str) -{ - stack_t *th; - if (!g_stacktop) return; - th=(stack_t*)GlobalAlloc(GPTR,sizeof(stack_t)+g_stringsize*sizeof(TCHAR)); - lstrcpyn(th->text,str,g_stringsize); - th->next=*g_stacktop; - *g_stacktop=th; -} - -static TCHAR * __stdcall getuservariable(const int varnum) -{ - if (varnum < 0 || varnum >= __INST_LAST) return NULL; - return g_variables+varnum*g_stringsize; -} - -static void __stdcall setuservariable(const int varnum, const TCHAR *var) -{ - if (var != NULL && varnum >= 0 && varnum < __INST_LAST) - lstrcpy(g_variables + varnum*g_stringsize, var); -} - - - -#endif//_EXDLL_H_ \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/big.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/big.bmp deleted file mode 100644 index d6db07793..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/big.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic-cross.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic-cross.bmp deleted file mode 100644 index a4d37a14a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic-cross.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic.bmp deleted file mode 100644 index 83e3cf565..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/classic.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/colorful.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/colorful.bmp deleted file mode 100644 index 7713942e0..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/colorful.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey-cross.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey-cross.bmp deleted file mode 100644 index b28b59bbc..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey-cross.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey.bmp deleted file mode 100644 index b374432b7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/grey.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/modern.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/modern.bmp deleted file mode 100644 index 62468dedc..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/modern.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red-round.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red-round.bmp deleted file mode 100644 index 31d3c0252..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red-round.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red.bmp deleted file mode 100644 index e14e6b4a0..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/red.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round.bmp deleted file mode 100644 index 695023224..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round2.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round2.bmp deleted file mode 100644 index ee1ec8427..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple-round2.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple.bmp deleted file mode 100644 index c687a1d92..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Checks/simple.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis-r.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis-r.bmp deleted file mode 100644 index eb3650f7d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis-r.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis.bmp deleted file mode 100644 index cbb52312f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/nsis.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-nsis.bmp deleted file mode 100644 index b4a0cf94b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-nsis.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r-nsis.bmp deleted file mode 100644 index 2da34f174..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r-nsis.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r.bmp deleted file mode 100644 index c74fbdd51..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-r.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-nsis.bmp deleted file mode 100644 index 635596b20..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-nsis.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r-nsis.bmp deleted file mode 100644 index 5f215d774..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r-nsis.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r.bmp deleted file mode 100644 index 1672afa6d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall-r.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall.bmp deleted file mode 100644 index 97be6746e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange-uninstall.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange.bmp deleted file mode 100644 index 4ac1413b3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/orange.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/win.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/win.bmp deleted file mode 100644 index 6612357a3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Header/win.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-install.ico deleted file mode 100644 index 0441d5cef..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-uninstall.ico deleted file mode 100644 index f3e7bfed3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-install.ico deleted file mode 100644 index e047f7db4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-uninstall.ico deleted file mode 100644 index fa6064fab..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/arrow2-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-install.ico deleted file mode 100644 index fd6c7c1f3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-uninstall.ico deleted file mode 100644 index bc275415f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/box-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-install.ico deleted file mode 100644 index 5afcc62e8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-uninstall.ico deleted file mode 100644 index 09532909e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/classic-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-blue.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-blue.ico deleted file mode 100644 index 08288b6dd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-blue.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-grey.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-grey.ico deleted file mode 100644 index 4749479fa..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/llama-grey.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue-full.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue-full.ico deleted file mode 100644 index 8f1c51222..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue-full.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue.ico deleted file mode 100644 index fecdc2739..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-blue.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-colorful.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-colorful.ico deleted file mode 100644 index 2908f58be..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-colorful.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-full.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-full.ico deleted file mode 100644 index 3aa83e9f4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install-full.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install.ico deleted file mode 100644 index f8fbd5ffa..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue-full.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue-full.ico deleted file mode 100644 index cd9227971..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue-full.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue.ico deleted file mode 100644 index 77031b58e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-blue.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-colorful.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-colorful.ico deleted file mode 100644 index 461035cc2..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-colorful.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-full.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-full.ico deleted file mode 100644 index a134f586c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall-full.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall.ico deleted file mode 100644 index 6c7410c2f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/modern-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-install.ico deleted file mode 100644 index e18044928..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-uninstall.ico deleted file mode 100644 index a37774cf3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/nsis1-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install-nsis.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install-nsis.ico deleted file mode 100644 index ef3975f56..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install-nsis.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install.ico deleted file mode 100644 index 1db75f8e4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall-nsis.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall-nsis.ico deleted file mode 100644 index 431eb2e0f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall-nsis.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall.ico deleted file mode 100644 index 59c79f32b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/orange-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-install.ico deleted file mode 100644 index f2106d611..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-uninstall.ico deleted file mode 100644 index 2003b2df8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/pixel-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-install.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-install.ico deleted file mode 100644 index a5eb774b3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-install.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-uninstall.ico b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-uninstall.ico deleted file mode 100644 index 932917696..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Icons/win-uninstall.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/arrow.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/arrow.bmp deleted file mode 100644 index 9f7426bc8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/arrow.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/llama.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/llama.bmp deleted file mode 100644 index 1e1d94251..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/llama.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nsis.bmp deleted file mode 100644 index dcc38094c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nsis.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nullsoft.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nullsoft.bmp deleted file mode 100644 index d4145d4ff..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/nullsoft.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-nsis.bmp deleted file mode 100644 index ec46bd852..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-nsis.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall-nsis.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall-nsis.bmp deleted file mode 100644 index 661e70232..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall-nsis.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall.bmp deleted file mode 100644 index 097d09429..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange-uninstall.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange.bmp deleted file mode 100644 index 196a5b7a7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/orange.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/win.bmp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/win.bmp deleted file mode 100644 index 5524eef94..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Graphics/Wizard/win.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Example.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Example.nsi deleted file mode 100644 index 2f95e06b6..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Example.nsi +++ /dev/null @@ -1,53 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc plug-in Test" -OutFile "inetc.exe" -;SilentInstall silent - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" - !insertmacro MUI_PAGE_WELCOME - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - -;SetFont 14 - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - - SetDetailsView hide - -; two files download, popup mode - inetc::get /caption "2003-2004 reports" /popup "" "http://ineum.narod.ru/spr_2003.htm" "$EXEDIR\spr3.htm" "http://ineum.narod.ru/spr_2004.htm" "$EXEDIR\spr4.htm" /end - Pop $0 # return value = exit code, "OK" means OK - -; single file, NSISdl-style embedded progress bar with specific cancel button text - inetc::get /caption "2005 report" /canceltext "interrupt!" "http://ineum.narod.ru/spr_2005.htm" "$EXEDIR\spr5.htm" /end - Pop $1 # return value = exit code, "OK" means OK - -; banner with 2 text lines and disabled Cancel button - inetc::get /caption "2006 report" /banner "Banner mode with /nocancel option setten$\nSecond Line" /nocancel "http://ineum.narod.ru/spr_2006.htm" "$EXEDIR\spr6.htm" /end - Pop $2 # return value = exit code, "OK" means OK - - MessageBox MB_OK "Download Status: $0, $1, $2" -SectionEnd - - -;-------------------------------- -;Installer Functions - -Function .onInit - -; plug-in auto-recognizes 'no parent dlg' in onInit and works accordingly -; inetc::head /RESUME "Network error. Retry?" "http://ineum.narod.ru/spr_2003.htm" "$EXEDIR\spr3.txt" -; Pop $4 - -FunctionEnd \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Readme.htm b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Readme.htm deleted file mode 100644 index 40e0f4766..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/Readme.htm +++ /dev/null @@ -1,140 +0,0 @@ -
-

Contents

-
    -
  • 1 Links -
  • 2 Description -
  • 3 Command line -
      -
    • 3.1 get DLL Function -
    • 3.2 post DLL Function -
    • 3.3 head DLL Function -
    • 3.4 put DLL Function -
    -
  • 4 Examples -
  • 5 Credits -
-
- -

Links

-Download: http://nsis.sourceforge.net/Inetc_plug-in - -

Description

-Internet client plug-in for files download and upload. Based on the InetLoad plug-in. -Network implementation uses MS WinInet API, supports http/https and ftp protocols. -Plugin has better proxy support compare to NSISdl plug-in. Command line may include -few URL/File pairs to be transfered. If server or proxy login/password are not setten in the script, -displays IE-style authentication dialog (except silent mode). Plug-in supports 3 -"transfer in progress" display modes: -
    -
  • old NSISdl style - additional embedded progress bar and text on the INSTFILES page; -
  • POPUP dialog mode with detailed info; -
  • BANNER mode with simple popup window. -
-Plug-in recognizes Installer's Silent mode and this case hides any output (this feature -requires NSIS 2.03 or later). Program implements simple re-get functionality - host -reconnect and download from current position after short pause. While program depends on IE settings, -it changes current IE mode to online. NSISdl code fragment was used for progress bar displaying -in the "old style" mode. For ftp use "host/path" for file location relative to user's home dir and -"host//path" for absolute path. - -

Command line

- -Plug-in DLL functions (entry points): get, post, head, put - -

get DLL Function

- -inetc::get [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/NOCOOKIES] - [/NOPROXY] [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] - [/CAPTION TEXT] [/NOCOOKIES] [/RESUME RETRY_QUESTION] [/POPUP HOST_ALIAS | /BANNER TEXT] - [/CANCELTEXT CANCEL_TEXT] [/QUESTION CANCEL_QUESTION] [/USER_AGENT USER_AGENT_TEXT] - [/HEADER HEADER_TEXT] [/TRANSLATE LANG_PARAMS] - URL1 local_file1 [URL2 local_file2 [...]] [/END] -

This call returns "OK" string if successful, error description string if failed (see included InetLoad.cpp file for a full set of status strings). Usage and result processing samples are included to the package. -

/PROXY - -Overwrites current proxy settings, not required in most cases. IE settings will be used by default. -

/USERNAME - -Proxy username (http only). -

/PASSWORD - -Proxy password (http only). For server (http/ftp) authentication it is possible to use URL encoded name and password, for example http://username:password@nsis.sourceforge.net. -

/NOPROXY - -Disables proxy settings for this connection (if any) -

/NOCANCEL - -Prevents download from being interrupted by user (locks Esc, Alt-F4, Cancel handling, removes sysmenu) -

/CONNECTTIMEOUT - -Sets INTERNET_OPTION_CONNECT_TIMEOUT, seconds, default - IE current parameter value. -

/RECEIVETIMEOUT - -Sets INTERNET_OPTION_RECEIVE_TIMEOUT, seconds, default - IE current parameter value. -

/SILENT - -Key hides plug-in' output (both popup dialog and embedded progress bar). Not required if 'SilentInstall silent' mode was defined in script (NSIS 2.03 or later). -

/RESUME - -On the permanent connection/transfer error instead of exit first displays message box with "resume download" question. Useful for dial-up connections and big files - allows user to restore connection and resume download. Default is "Your internet connection seems to have dropped out!\nPlease reconnect and click Retry to resume downloading...". -

/CAPTION - -Defines caption text for /BANNER mode, caption prefix (left of '-') for /POPUP mode and caption for RESUME MessageBox. Default is "InetLoad plug-in" if not set or "". 127 chars maximum. -

/POPUP - -This mode displays detailed download dialog instead of embedded progress bar. Also useful in .onInit function (i.e. not in Section). If HOST_ALIAS is not "", text will replace URL in the dialog - this allows to hide real URL (including password). -

/BANNER - -Displays simple popup dialog (MSI Banner mode) and sets dialog TEXT (up to 3 lines using $\n). -

/CANCELTEXT - -Text for the Cancel button in the NSISdl mode. Default is NSIS dialog Cancel button text (current lang). -

/QUESTION - -Text for the optional MessageBox if user tries to cancel download. If /QUESTION "" was used default -"Are you sure that you want to stop download?" will be substituted. -

/USERAGENT - -UserAgent http request header value. Default is "NSIS_Inetc (Mozilla)". 256 chars maximum. -

/HEADER - -Adds or replaces http request header. Common HEADER_TEXT format is "header: value". -

/NOCOOKIES - -Removes cookies from http request -

/END - -Allows to limit plug-in stack reading (optional, required if you stores other vars in the stack). -

/TRANSLATE - -Allows translating plug-in text in the POPUP or NSISdl modes. 8 parameters both cases.
- -NSISdl mode parameters:
- /TRANSLATE downloading connecting second minute hour plural progress remaining
-With default values:
- "Downloading %s" "Connecting ..." second minute hour s "%dkB (%d%%) of %dkB @ %d.%01dkB/s" "(%d %s%s remaining)"
- -POPUP mode parameters:
- /TRANSLATE url downloading connecting file_name received file_size remaining_time total_time
-With default values:
- URL Downloading Connecting "File Name" Received "File Size" "Remaining Time" "Total Time"
- -

post DLL Function

- -inetc::post TEXT2POST [/FILE] [/PROXY IP:PORT] [/NOPROXY] [/NOCANCEL] - [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/TIMEOUT INT_MS] [/SILENT] - [/CAPTION TEXT] [/POPUP | /BANNER TEXT] [/CANCELTEXT CANCEL_TEXT] - [/USER_AGENT USER_AGENT_TEXT] [/TRANSLATE LANG_PARAMS] - URL1 local_file1 [URL2 local_file2 [...]] [/END] -

Sets POST http mode and defines text string to be used in the POST (http only). Disables auto re-get. No char replaces used (%20 and others). -If /FILE presents in command line, TEXT2POST is filename to be sent in POST request. Also 'Filename:' header will be added to HTTP headers. - -

head DLL Function

- -The same as get, but requests http headers only. Writes raw headers to file. - -

put DLL Function

- -inetc::put [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/NOPROXY] - [/NOCANCEL] [/TIMEOUT INT_MS] [/SILENT] [/CAPTION TEXT] [/POPUP | /BANNER TEXT] - [/CANCELTEXT CANCEL_TEXT] [/USER_AGENT USER_AGENT_TEXT] - [/TRANSLATE LANG_PARAMS] URL1 local_file1 [URL2 local_file2 [...]] [/END] -

Return value and parameters (if applicable) are the same as for previous entry point. - -

Examples

-
  inetc::get "http://dl.zvuki.ru/6306/mp3/12.mp3" "$EXEDIR\12.mp3" \
-     "ftp://dl.zvuki.ru/6306/mp3/11.mp3" "$EXEDIR\11.mp3"
-  Pop $0
-  inetc::put /BANNER "Cameron Diaz upload in progress..." \
-    "http://www.dreamgirlswallpaper.co.uk/fiveyearsonline/wallpaper/Cameron_Diaz/camerond09big.JPG" \
-    "$EXEDIR\cd.jpg"
-  Pop $0
-  StrCmp $0 "OK" dlok
-  MessageBox MB_OK|MB_ICONEXCLAMATION "http upload Error, click OK to abort installation" /SD IDOK
-  Abort
-dlok:
-  ...
- -

Credits

-Many thanks to Backland who offered a simple way to fix NSISdl mode crashes and added 'center parent' function. diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/auth_dlg.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/auth_dlg.nsi deleted file mode 100644 index b322f421b..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/auth_dlg.nsi +++ /dev/null @@ -1,31 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc http auth Test" -OutFile "auth_dlg.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - -; Displays IE auth dialog. -; Both server and proxy auth. -; Please test this with your own link. - - inetc::get "http://www.cnt.ru/personal" "$EXEDIR\auth.html" - Pop $0 # return value = exit code, "OK" if OK - MessageBox MB_OK "Download Status: $0" - -SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/ftp_auth.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/ftp_auth.nsi deleted file mode 100644 index 5e15776f1..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/ftp_auth.nsi +++ /dev/null @@ -1,31 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc ftp authentication Test" -OutFile "ftp_auth.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - -; use your own URL and login@pwd. Password hidden from user with /popup "ALIAS" - - inetc::get /caption "service pack download" /popup "ftp://localhost/" "ftp://login:pwd@localhost/W2Ksp3.exe" "$EXEDIR\sp3.exe" -; inetc::put /caption "service pack upload" /popup "" "ftp://login:pwd@localhost/W2Ksp3.bu.exe" "$EXEDIR\sp3.exe" - Pop $0 # return value = exit code, "OK" if OK - MessageBox MB_OK "Download Status: $0" - -SectionEnd - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/head.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/head.nsi deleted file mode 100644 index 2ad7ff702..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/head.nsi +++ /dev/null @@ -1,29 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc Head Test" -OutFile "head.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - - DetailPrint "New version check out (internet connection)" - inetc::head /silent "http://ineum.narod.ru/spr_2006.htm" "$EXEDIR\head.txt" - Pop $0 # return value = exit code, "OK" if OK - MessageBox MB_OK "Download Status: $0" - -SectionEnd - - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.nsi deleted file mode 100644 index 1eb77c2a0..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.nsi +++ /dev/null @@ -1,31 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Headers Test" -OutFile "headers.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - -; additional headers. Sample php returns raw headers - inetc::get /useragent "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1)" /header "SOAPAction: urn:anonOutInOpe" "http://localhost/headers.php" "$EXEDIR\headers.html" - Pop $0 - - MessageBox MB_OK "Download Status: $0" - -SectionEnd - - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.php deleted file mode 100644 index e33b0d8ed..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/headers.php +++ /dev/null @@ -1,7 +0,0 @@ - $value) { - echo "$header: $value
\n"; -} -?> \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/https.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/https.nsi deleted file mode 100644 index ccf7c58b3..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/https.nsi +++ /dev/null @@ -1,26 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc https Test" -OutFile "https.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - - inetc::get /POPUP "" /CAPTION "bending_property_demo.zip" "https://secure.codeproject.com/cs/miscctrl/bending_property/bending_property_src.zip" "$EXEDIR\bending_property_src.zip" - Pop $0 # return value = exit code, "OK" if OK - MessageBox MB_OK "Download Status: $0" - -SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.cpp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.cpp deleted file mode 100644 index fcea2778b..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.cpp +++ /dev/null @@ -1,1622 +0,0 @@ -/******************************************************* -* FILE NAME: inetc.cpp -* -* Copyright 2004 - Present NSIS -* -* PURPOSE: -* ftp/http file download plug-in -* on the base of MS Inet API -* 4 GB limit (http support?) -* -* CHANGE HISTORY -* -* Author Date Modifications -* Takhir Bedertdinov -* Nov 11, 2004 Original -* Dec 17, 2004 Embedded edition - -* NSISdl GUI style as default -* (nsisdl.cpp code was partly used) -* Dec 17, 2004 MSI Banner style -* Feb 20, 2005 Resume download -* feature for big files and bad connections -* Mar 05, 2005 Proxy authentication -* and /POPUP caption prefix option -* Mar 25, 2005 Connect timeout option -* and FTP switched to passive mode -* Apr 18, 2005 Crack URL buffer size -* bug fixed (256->string_size) -* HTTP POST added -* Jun 06, 2005 IDOK on "Enter" key locked -* POST HTTP header added -* Jun 22, 2005 non-interaptable mode /nocancel -* and direct connect /noproxy -* Jun 29, 2005 post.php written and tested -* Jul 05, 2005 60 sec delay on WinInet detach problem -* solved (not fine, but works including -* installer exit and system reboot) -* Jul 08, 2005 'set foreground' finally removed -* Jul 26, 2005 POPUP translate option -* Aug 23, 2005 https service type in InternetConnect -* and "ignore certificate" flags -* Sep 30, 2005 https with bad certificate from old OS; -* Forbidden handling -* Dec 23, 2005 'put' entry point, new names, 12003 -* ftp error handling (on ftp write permission) -* 405 http error (method not allowed) -* Mar 12, 2006 Internal authorization via InternetErrorDlg() -* and Unauthorized (401) handling. -* Jun 10, 2006 Caption text option for Resume download -* MessageBox -* Jun 24, 2006 HEAD method, silent mode clean up -* Sep 05, 2006 Center dialog code from Backland -* Sep 07, 2006 NSISdl crash fix /Backland idea/ -* Sep 08, 2006 POST as dll entry point. -* Sep 21, 2006 parent dlg progr.bar style and font, -* nocancel via ws_sysmenu -* Sep 22, 2006 current lang IDCANCEL text, /canceltext -* and /useragent options -* Sep 24, 2006 .onInit improvements and defaults -* Nov 11, 2006 FTP path creation, root|current dir mgmt -* Jan 01, 2007 Global char[] cleanup, GetLastError() to -* status string on ERR_DIALOG, few MSVCRT replaces -* Jan 13, 2007 /HEADER option added -* Jan 28, 2007 _open -> CreateFile and related -* Feb 18, 2007 Speed calculating improved (pauses), -* /popup text parameter to hide URL -* Jun 07, 2007 Local file truncation added for download -* (CREATE_ALWAYS) -* Jun 11, 2007 FTP download permitted even if server rejects -* SIZE request (ProFTPD). -* Aug 11, 2007 Backland' fix for progress bar redraw/style -* issue in NSISdl display mode. -* Jan 09, 2008 {_trueparuex^}' fix - InternetSetFilePointer() -* returns -1 on error. -* /question option added for cancel question. -* Feb 15, 2008 PUT content-length file size fix -* Feb 17, 2008 char -> TCHAR replace for UNICODE option -* Feb 19, 2008 janekschwarz fix for HTTP PUT with auth -* CreateFile INVALID_HANDLE_VALUE on error fix -* Feb 20, 2008 base64 encoder update for unicode -* Feb 27, 2008 Unicode configurations added to VS 6 dsp -* Mar 20, 2008 HTTP PUT with proxy auth finally fixed -* FTP errors handling improved. -* HEAD bug fixed -* Mar 27, 2008 Details window hide/show in NSISdl mode -* Apr 10, 2008 Auth test method changed to HEAD for -* old proxy's -* Apr 30, 2008 InternetErrorDlg() ERROR_SUCESS on cancel -* click patched -* 3xx errors added to status list. -* May 20, 2008 InternetReadFile on cable disconnect patched -* May 20, 2008 Reply status "0" patch (name resolution?) -* Jul 15, 2008 HTTP 304 parsing. Incorrect size reported fix. -* Aug 21, 2009 Escape sequence convertion removed (caused -* error in signature with %2b requests) -* Marqueue progess bar style for unknown file size. -* Feb 04, 2010 Unicode POST patch - body converted to multibyte -* Jul 11, 2010 /FILE POST option added -* Nov 04, 2010 Disabled cookies and cache for cleanliness -* Feb 14, 2011 Fixed reget bug introduced in previous commit -* Feb 18, 2011 /NOCOOKIES option added -* Mar 02, 2011 User-agent buffer increased. Small memory leak fix -* Mar 23, 2011 Use caption on embedded progressbar - zenpoy -* Apr 05, 2011 reget fix - INTERNET_FLAG_RELOAD for first connect only -* Apr 27, 2011 /receivetimeout option added for big files and antivirus -* Jun 15, 2011 Stack clean up fix on cancel - zenpoy -* Oct 19, 2011 FTP PUT error parsing fix - tperquin -*******************************************************/ - - -#define _WIN32_WINNT 0x0500 - -#include -#include -#include -#include -#include "exdll.h" -#include "resource.h" - -#ifndef PBM_SETMARQUEE -#define PBM_SETMARQUEE (WM_USER + 10) -#define PBS_MARQUEE 0x08 -#endif - -// IE 4 safety and VS 6 compatibility -typedef BOOL (__stdcall *FTP_CMD)(HINTERNET,BOOL,DWORD,LPCTSTR,DWORD,HINTERNET *); -FTP_CMD myFtpCommand; - -#define PLUGIN_NAME _T("Inetc plug-in") -#define INETC_USERAGENT _T("NSIS_Inetc (Mozilla)") -#define PB_RANGE 400 // progress bar values range -#define PAUSE1_SEC 2 // transfer error indication time, for reget only -#define PAUSE2_SEC 3 // paused state time, increase this if need (60?) -#define PAUSE3_SEC 1 // pause after resume button pressed -#define NOT_AVAILABLE 0xffffffff -#define POST_HEADER _T("Content-Type: application/x-www-form-urlencoded") -#define PUT_HEADER _T("Content-Type: octet-stream\nContent-Length: %d") -#define INTERNAL_OK 0xFFEE -#define PROGRESS_MS 1000 // screen values update interval -#define DEF_QUESTION _T("Are you sure that you want to stop download?") -#define HOST_AUTH_HDR _T("Authorization: basic %s") -#define PROXY_AUTH_HDR _T("Proxy-authorization: basic %s") - -//#define MY_CERT_FLAGS SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_REVOCATION | SECURITY_FLAG_IGNORE_CERT_DATE_INVALID | SECURITY_FLAG_IGNORE_CERT_CN_INVALID -#define MY_CERT_FLAGS SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_REVOCATION -#define MY_REDIR_FLAGS INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP | INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS -#define MY_HTTPS_FLAGS (MY_CERT_FLAGS | MY_REDIR_FLAGS | INTERNET_FLAG_SECURE) - -enum STATUS_CODES { - ST_OK = 0, - ST_CONNECTING, - ST_DOWNLOAD, - ST_CANCELLED, - ST_URLOPEN, - // ST_OPENING, - ST_PAUSE, - ERR_TERMINATED, - ERR_DIALOG, - ERR_INETOPEN, - ERR_URLOPEN, - ERR_TRANSFER, - ERR_FILEOPEN, - ERR_FILEWRITE, - ERR_FILEREAD, - ERR_REGET, - ERR_CONNECT, - ERR_OPENREQUEST, - ERR_SENDREQUEST, - ERR_CRACKURL, - ERR_NOTFOUND, - ERR_THREAD, - ERR_PROXY, - ERR_FORBIDDEN, - ERR_NOTALLOWED, - ERR_REQUEST, - ERR_SERVER, - ERR_AUTH, - ERR_CREATEDIR, - ERR_PATH, - ERR_NOTMODIFIED, - ERR_REDIRECTION -}; - - -static TCHAR szStatus[][32] = { - _T("OK"),_T("Connecting"),_T("Downloading"),_T("Cancelled"),_T("Connecting"), //_T("Opening URL")), - _T("Reconnect Pause"),_T("Terminated"),_T("Dialog Error"),_T("Open Internet Error"), - _T("Open URL Error"),_T("Transfer Error"),_T("File Open Error"),_T("File Write Error"),_T("File Read Error"), - _T("Reget Error"),_T("Connection Error"),_T("OpenRequest Error"),_T("SendRequest Error"), - _T("URL Parts Error"),_T("File Not Found (404)"),_T("CreateThread Error"),_T("Proxy Error (407)"), - _T("Access Forbidden (403)"),_T("Not Allowed (405)"),_T("Request Error"),_T("Server Error"), - _T("Unauthorized (401)"),_T("FtpCreateDir failed (550)"),_T("Error FTP path (550)"),_T("Not Modified"), - _T("Redirection") -}; - -HINSTANCE g_hInstance; -TCHAR fn[MAX_PATH]=_T(""), -*url = NULL, -*szAlias = NULL, -*szProxy = NULL, -*szHeader = NULL, -*szBanner = NULL, -*szQuestion = NULL, -szCancel[64]=_T(""), -szCaption[128]=_T(""), -szUserAgent[256]=_T(""), -szResume[256] = _T("Your internet connection seems to be not permitted or dropped out!\nPlease reconnect and click Retry to resume installation."); -CHAR *szPost = NULL, -post_fname[MAX_PATH] = ""; -DWORD fSize = 0; - -int status; -DWORD cnt = 0, -fs = 0, -timeout = 0, -receivetimeout = 0; -DWORD startTime, transfStart, openType; -bool silent, popup, resume, nocancel, noproxy, nocookies; - -HWND childwnd; -HWND hDlg; -bool fput = false, fhead = false; - - -/***************************************************** -* FUNCTION NAME: sf(HWND) -* PURPOSE: -* moves HWND to top and activates it -* SPECIAL CONSIDERATIONS: -* commented because annoying -*****************************************************/ -/* -void sf(HWND hw) -{ -DWORD ctid = GetCurrentThreadId(); -DWORD ftid = GetWindowThreadProcessId(GetForegroundWindow(), NULL); -AttachThreadInput(ftid, ctid, TRUE); -SetForegroundWindow(hw); -AttachThreadInput(ftid, ctid, FALSE); -} -*/ - -static TCHAR szUrl[64] = _T(""); -static TCHAR szDownloading[64] = _T("Downloading %s"); -static TCHAR szConnecting[64] = _T("Connecting ..."); -static TCHAR szSecond[64] = _T("second"); -static TCHAR szMinute[32] = _T("minute"); -static TCHAR szHour[32] = _T("hour"); -static TCHAR szPlural[32] = _T("s"); -static TCHAR szProgress[128] = _T("%dkB (%d%%) of %dkB @ %d.%01dkB/s"); -static TCHAR szRemaining[64] = _T(" (%d %s%s remaining)"); -static TCHAR szBasic[128] = _T(""); -static TCHAR szAuth[128] = _T(""); - -// is it possible to make it working with unicode strings? - -/* Base64 encode one byte */ -static TCHAR encode(unsigned char u) { - - if(u < 26) return _T('A')+u; - if(u < 52) return _T('a')+(u-26); - if(u < 62) return _T('0')+(u-52); - if(u == 62) return _T('+'); - return _T('/'); -} - -TCHAR *encode_base64(int size, TCHAR *src, TCHAR *dst) { - - int i; - TCHAR *p; - - if(!src) - return NULL; - - if(!size) - size= lstrlen(src); - - p = dst; - - for(i=0; i>2; - b5= ((b1&0x3)<<4)|(b2>>4); - b6= ((b2&0xf)<<2)|(b3>>6); - b7= b3&0x3f; - - *p++= encode(b4); - *p++= encode(b5); - - if(i+1 0) - { - dw = data_buf; - if(!InternetWriteFile(hFile, dw, bytesDone, &rslt) || rslt == 0) - { - status = ERR_TRANSFER; - break; - } - dw += rslt; - cnt += rslt; - bytesDone -= rslt; - } - } - else - { - if(!InternetReadFile(hFile, data_buf, sizeof(data_buf), &rslt)) - { - status = ERR_TRANSFER; - break; - } - if(rslt == 0) // EOF reached or cable disconnect - { -// on cable disconnect returns TRUE and 0 bytes. is cnt == 0 OK (zero file size)? -// cannot check this if reply is chunked (no content-length, http 1.1) - status = (fs != NOT_AVAILABLE && cnt < fs) ? ERR_TRANSFER : ST_OK; - break; - } - if(!WriteFile(localFile, data_buf, rslt, &bytesDone, NULL) || - rslt != bytesDone) - { - status = ERR_FILEWRITE; - break; - } - cnt += rslt; - } - } -} - -/***************************************************** -* FUNCTION NAME: mySendRequest() -* PURPOSE: -* HttpSendRequestEx() sends headers only - for PUT -* We also can use InetWriteFile for POST body I guess -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -int mySendRequest(HINTERNET hFile) -{ - INTERNET_BUFFERS BufferIn = {0}; - if(fput) - { - BufferIn.dwStructSize = sizeof( INTERNET_BUFFERS ); - BufferIn.dwBufferTotal = fs; - return HttpSendRequestEx( hFile, &BufferIn, NULL, HSR_INITIATE, 0); - } - return HttpSendRequest(hFile, NULL, 0, szPost, fSize); -} - -/***************************************************** -* FUNCTION NAME: queryStatus() -* PURPOSE: -* http status code comes before download (get) and -* after upload (put), so this is called from 2 places -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -bool queryStatus(HINTERNET hFile) -{ - TCHAR buf[256] = _T(""); - DWORD rslt; - if(HttpQueryInfo(hFile, HTTP_QUERY_STATUS_CODE, - buf, &(rslt = sizeof(buf)), NULL)) - { - buf[3] = 0; - if(lstrcmp(buf, _T("0")) == 0 || *buf == 0) - status = ERR_SENDREQUEST; - else if(lstrcmp(buf, _T("401")) == 0) - status = ERR_AUTH; - else if(lstrcmp(buf, _T("403")) == 0) - status = ERR_FORBIDDEN; - else if(lstrcmp(buf, _T("404")) == 0) - status = ERR_NOTFOUND; - else if(lstrcmp(buf, _T("407")) == 0) - status = ERR_PROXY; - else if(lstrcmp(buf, _T("405")) == 0) - status = ERR_NOTALLOWED; - else if(lstrcmp(buf, _T("304")) == 0) - status = ERR_NOTMODIFIED; - else if(*buf == _T('3')) - { - status = ERR_REDIRECTION; - wsprintf(szStatus[status] + lstrlen(szStatus[status]), _T(" (%s)"), buf); - } - else if(*buf == _T('4')) - { - status = ERR_REQUEST; - wsprintf(szStatus[status] + lstrlen(szStatus[status]), _T(" (%s)"), buf); - } - else if(*buf == _T('5')) - { - status = ERR_SERVER; - wsprintf(szStatus[status] + lstrlen(szStatus[status]), _T(" (%s)"), buf); - } - return true; - } - return false; -} - -/***************************************************** -* FUNCTION NAME: openFtpFile() -* PURPOSE: -* control connection, size request, re-get lseek -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -HINTERNET openFtpFile(HINTERNET hConn, - TCHAR *path) -{ - TCHAR buf[256] = _T(""), *movp; - HINTERNET hFile; - DWORD rslt, err, gle; - bool https_req_ok = false; - - /* reads connection / auth responce info and cleares 'control' buffer this way */ - InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))); - if(cnt == 0) - { - if(!fput) // we know local file size already - { - /* too clever myFtpCommand returnes false on the valid _T("550 Not found/Not permitted" server answer, - to read answer I had to ignory returned false (!= 999999) :-( - GetLastError also possible, but MSDN description of codes is very limited */ - wsprintf(buf, _T("SIZE %s"), path + 1); - if(myFtpCommand != NULL && - myFtpCommand(hConn, false, FTP_TRANSFER_TYPE_ASCII, buf, 0, &hFile) != 9999 && - memset(buf, 0, sizeof(buf)) != NULL && - InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf)))) - { - if(_tcsstr(buf, _T("213 "))) - { - fs = _tcstol(_tcschr(buf, _T(' ')) + 1, NULL, 0); - } - /* stupid ProFTPD returns error on SIZE request. let's continue without size. - But IE knows some trick to get size from ProFTPD...... - else if(_tcsstr(buf, _T("550 _T(")) - { - status = ERR_SIZE_NOT_PERMITTED; - return NULL; - } - */ - } - if(fs == 0) - { - fs = NOT_AVAILABLE; - } - - } - } - else - { - wsprintf(buf, _T("REST %d"), cnt); - if(myFtpCommand == NULL || - !myFtpCommand(hConn, false, FTP_TRANSFER_TYPE_BINARY, buf, 0, &hFile) || - memset(buf, 0, sizeof(buf)) == NULL || - !InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))) || - (_tcsstr(buf, _T("350")) == NULL && _tcsstr(buf, _T("110")) == NULL)) - { - status = ERR_REGET; - return NULL; - } - } - if((hFile = FtpOpenFile(hConn, path + 1, fput ? GENERIC_WRITE : GENERIC_READ, - FTP_TRANSFER_TYPE_BINARY|INTERNET_FLAG_RELOAD,0)) == NULL) - { - gle = GetLastError(); - *buf = 0; - InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))); - // wrong path - dir may not exist or upload may be not allowed - // we use ftp://host//path (double /) to define path from FS root - if(fput && (_tcsstr(buf, _T("550")) != NULL || _tcsstr(buf, _T("553")) != NULL)) - { - - movp = path + 1; - if(*movp == _T('/')) movp++; // don't need to creat root - while(_tcschr(movp, _T('/'))) - { - *_tcschr(movp,_T('/')) = 0; - FtpCreateDirectory(hConn, path + 1); - InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))); - *(movp + lstrlen(movp)) = _T('/'); - movp = _tcschr(movp, _T('/')) + 1; - } - if(status != ERR_CREATEDIR && - (hFile = FtpOpenFile(hConn, path + 1, GENERIC_WRITE, - FTP_TRANSFER_TYPE_BINARY|INTERNET_FLAG_RELOAD,0)) == NULL) - { - status = ERR_PATH; - if(InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf)))) - lstrcpyn(szStatus[status], _tcsstr(buf, _T("550")), sizeof(szStatus[0]) / sizeof(TCHAR)); - } - } - // may be firewall related error, let's give user time to disable it - else if(gle == 12003) - { - if(_tcsstr(buf, _T("550"))) - { - status = ERR_NOTFOUND; - lstrcpyn(szStatus[status], _tcsstr(buf, _T("550")), sizeof(szStatus[0]) / sizeof(TCHAR)); - } - else - { - lstrcpyn(szStatus[status], buf, sizeof(szStatus[0]) / sizeof(TCHAR)); - } - } - // timeout (firewall or dropped connection problem) - else if(gle == 12002) - { - if(!silent) - resume = true; - status = ERR_URLOPEN; - } - } - else InternetGetLastResponseInfo(&err, buf, &(rslt = sizeof(buf))); - return hFile; -} - - -/***************************************************** -* FUNCTION NAME: openHttpFile() -* PURPOSE: -* file open, size request, re-get lseek -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -HINTERNET openHttpFile(HINTERNET hConn, - INTERNET_SCHEME nScheme, - TCHAR *path) -{ - TCHAR buf[256] = _T(""); - HINTERNET hFile; - DWORD rslt, err; - bool first_attempt = true;; - -// test connection for PUT, the only way to do this before sending data -// OPTIONS fails on HttpOpenRequest step for HTTPS -// but works for HEAD I guess - if(fput)// && nScheme != INTERNET_SCHEME_HTTPS) - { -// old proxy's may not support OPTIONS request, so changed to HEAD.... - if((hFile = HttpOpenRequest(hConn, _T("HEAD"), path, NULL, NULL, NULL, -// if((hFile = HttpOpenRequest(hConn, _T("OPTIONS"), path, NULL, NULL, NULL, - INTERNET_FLAG_RELOAD | INTERNET_FLAG_KEEP_CONNECTION | - (nocookies ? (INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_NO_COOKIES) : 0), 0)) != NULL) - { - if(*szAuth) - { - wsprintf(buf, PROXY_AUTH_HDR, szAuth); - HttpAddRequestHeaders(hFile, buf, -1, - HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); - } -resend_proxy1: - if(*szBasic) - { - wsprintf(buf, HOST_AUTH_HDR, szBasic); - HttpAddRequestHeaders(hFile, buf, -1, - HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); - } -resend_auth1: - if(HttpSendRequest(hFile, NULL, 0, NULL, 0)) - { - queryStatus(hFile); -// may be don't need to read all from socket, but this looks safer - while(InternetReadFile(hFile, buf, sizeof(buf), &rslt) && rslt > 0) {} - if(!silent && (status == ERR_PROXY || status == ERR_AUTH))// || status == ERR_FORBIDDEN)) - { - rslt = InternetErrorDlg(hDlg, hFile, - ERROR_INTERNET_INCORRECT_PASSWORD, - FLAGS_ERROR_UI_FILTER_FOR_ERRORS | - FLAGS_ERROR_UI_FLAGS_GENERATE_DATA | - FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS, - NULL); - if (rslt == ERROR_INTERNET_FORCE_RETRY) - { - status = ST_URLOPEN; - if(status == ERR_PROXY) goto resend_proxy1; - else goto resend_auth1; - } - else - { - status = ST_CANCELLED; - } - - } - // no such file is OK for PUT. server first checks authentication - if(status == ERR_NOTFOUND || status == ERR_FORBIDDEN || status == ERR_NOTALLOWED) - { -// MessageBox(childwnd, _T("NOT_FOUND"), "", 0); - status = ST_URLOPEN; - } - // parameters might be updated during dialog popup - if(status == ST_URLOPEN) - { - *buf = 0; - if(HttpQueryInfo(hFile, HTTP_QUERY_AUTHORIZATION, buf, &(rslt = sizeof(buf)), NULL) && *buf) - lstrcpyn(szBasic, buf, rslt); - *buf = 0; - if(HttpQueryInfo(hFile, HTTP_QUERY_PROXY_AUTHORIZATION, buf, &(rslt = sizeof(buf)), NULL) && *buf) - lstrcpyn(szAuth, buf, rslt); - } - } - else status = ERR_SENDREQUEST; - InternetCloseHandle(hFile); - } - else status = ERR_OPENREQUEST; - } -// request itself - if(status == ST_URLOPEN) - { - if((hFile = HttpOpenRequest(hConn, fput ? _T("PUT") : (fhead ? _T("HEAD") : (szPost ? _T("POST") : NULL)), - path, NULL, NULL, NULL, - // INTERNET_FLAG_RELOAD conflicts with reget - hidden re-read from beginning has place - // INTERNET_FLAG_RESYNCHRONIZE // note - sync may not work with some http servers - // reload on first connect (and any req. except GET), just continue on resume. - // HTTP Proxy still is a problem for reget - (cnt ? 0 : INTERNET_FLAG_RELOAD) - | INTERNET_FLAG_KEEP_CONNECTION | - (nocookies ? (INTERNET_FLAG_NO_CACHE_WRITE | INTERNET_FLAG_NO_COOKIES) : 0) | - (nScheme == INTERNET_SCHEME_HTTPS ? MY_HTTPS_FLAGS : 0), 0)) != NULL) - { - if(*szAuth) - { - wsprintf(buf, PROXY_AUTH_HDR, szAuth); - HttpAddRequestHeaders(hFile, buf, -1, - HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); - } -resend_proxy2: - if(szPost != NULL) - HttpAddRequestHeaders(hFile, POST_HEADER, - -1, HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); - if(*post_fname) - HttpAddRequestHeadersA(hFile, post_fname, - -1, HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); - if(szHeader != NULL) - HttpAddRequestHeaders(hFile, szHeader, -1, - HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); - if(*szBasic) - { - wsprintf(buf, HOST_AUTH_HDR, szBasic); - HttpAddRequestHeaders(hFile, buf, -1, - HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); - } - if(fput) - { - wsprintf(buf, PUT_HEADER, fs); - HttpAddRequestHeaders(hFile, buf, -1, - HTTP_ADDREQ_FLAG_ADD | HTTP_ADDREQ_FLAG_REPLACE); - } -resend_auth2: - first_attempt = true; - if(nScheme == INTERNET_SCHEME_HTTPS) - { - if(!mySendRequest(hFile)) - { - InternetQueryOption (hFile, INTERNET_OPTION_SECURITY_FLAGS, - (LPVOID)&rslt, &(err = sizeof(rslt))); - rslt |= MY_CERT_FLAGS; - InternetSetOption (hFile, INTERNET_OPTION_SECURITY_FLAGS, - &rslt, sizeof(rslt) ); - } - else first_attempt = false; - } -// https Request answer may be after optional second Send only on Win98 - if(!first_attempt || mySendRequest(hFile)) - { -// no status for PUT - headers were sent only. And not need to get size / set position - if(!fput) - { - queryStatus(hFile); - if(!silent && (status == ERR_PROXY || status == ERR_AUTH)) - { - rslt = InternetErrorDlg(hDlg, hFile, - ERROR_INTERNET_INCORRECT_PASSWORD, - FLAGS_ERROR_UI_FILTER_FOR_ERRORS | - FLAGS_ERROR_UI_FLAGS_GENERATE_DATA | - FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS, - NULL); - if (rslt == ERROR_INTERNET_FORCE_RETRY) - { - status = ST_URLOPEN; - if(status == ERR_PROXY) goto resend_proxy2; - else goto resend_auth2; - } - else - status = ST_CANCELLED; - - } -// get size / set position - if(status == ST_URLOPEN) - { - if(cnt == 0) - { - if(HttpQueryInfo(hFile, HTTP_QUERY_CONTENT_LENGTH, buf, - &(rslt = sizeof(buf)), NULL)) - fs = _tcstoul(buf, NULL, 0); - else fs = NOT_AVAILABLE; - } - else - { - if((int)InternetSetFilePointer(hFile, cnt, NULL, FILE_BEGIN, 0) == -1) - status = ERR_REGET; - } - } - } - - } - else - { - if(!queryStatus(hFile)) - status = ERR_SENDREQUEST; - } - } - else status = ERR_OPENREQUEST; - } - return hFile; -} - -/***************************************************** -* FUNCTION NAME: inetTransfer() -* PURPOSE: -* http/ftp file transfer -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -DWORD __stdcall inetTransfer(void *hw) -{ - HINTERNET hSes, hConn, hFile; - HINSTANCE hInstance = NULL; - HANDLE localFile = NULL; - HWND hDlg = (HWND)hw; - DWORD lastCnt, rslt, err; - TCHAR hdr[2048]; - TCHAR *host = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)), - *path = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)), - *params = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)), - *user = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)), - *passwd = (TCHAR*)GlobalAlloc(GPTR, g_stringsize * sizeof(TCHAR)); - - URL_COMPONENTS uc = {sizeof(URL_COMPONENTS), NULL, 0, - (INTERNET_SCHEME)0, host, g_stringsize, 0 , user, g_stringsize, - passwd, g_stringsize, path, g_stringsize, params, g_stringsize}; - - if((hSes = InternetOpen(szUserAgent, openType, szProxy, NULL, 0)) != NULL) - { - if(InternetQueryOption(hSes, INTERNET_OPTION_CONNECTED_STATE, &(rslt=0), - &(lastCnt=sizeof(DWORD))) && - (rslt & INTERNET_STATE_DISCONNECTED_BY_USER)) - { - INTERNET_CONNECTED_INFO ci = {INTERNET_STATE_CONNECTED, 0}; - InternetSetOption(hSes, - INTERNET_OPTION_CONNECTED_STATE, &ci, sizeof(ci)); - } - if(timeout > 0) - lastCnt = InternetSetOption(hSes, INTERNET_OPTION_CONNECT_TIMEOUT, &timeout, sizeof(timeout)); - if(receivetimeout > 0) - InternetSetOption(hSes, INTERNET_OPTION_RECEIVE_TIMEOUT, &receivetimeout, sizeof(receivetimeout)); - // 60 sec WinInet.dll detach delay on socket time_wait fix - // if(hInstance = GetModuleHandle("wininet.dll")) - if(hInstance = LoadLibrary(_T("wininet.dll"))) - myFtpCommand = (FTP_CMD)GetProcAddress(hInstance, -#ifdef UNICODE - "FtpCommandW" -#else - "FtpCommandA" -#endif - ); - while(!popstring(url) && lstrcmpi(url, _T("/end")) != 0) - { - // too many customers requested not to do this - // sf(hDlg); - if(popstring(fn) != 0 || lstrcmpi(url, _T("/end")) == 0) break; - status = ST_CONNECTING; - cnt = fs = *host = *user = *passwd = *path = *params = 0; - PostMessage(hDlg, WM_TIMER, 1, 0); // show url & fn, do it sync - if((localFile = CreateFile(fn, fput ? GENERIC_READ : GENERIC_WRITE, FILE_SHARE_READ, - NULL, fput ? OPEN_EXISTING : CREATE_ALWAYS, 0, NULL)) != INVALID_HANDLE_VALUE) - { - uc.dwHostNameLength = uc.dwUserNameLength = uc.dwPasswordLength = - uc.dwUrlPathLength = uc.dwExtraInfoLength = g_stringsize; - if(fput) - { - fs = GetFileSize(localFile, NULL); - } - if(InternetCrackUrl(url, 0, 0/*ICU_ESCAPE*/ , &uc)) - { - // auth headers for HTTP PUT seems to be lost, preparing encoded login:password - if(*user && *passwd) - { - wsprintf(hdr, _T("%s:%s"), user, passwd); - // does unicode version of encoding works correct? - // are user and passwd ascii only? - encode_base64(lstrlen(hdr), hdr, szBasic); - *hdr = 0; - } - lstrcat(path, params); - transfStart = GetTickCount(); - do - { - // re-PUT to already deleted tmp file on http server is not possible. - // the same with POST - must re-send data to server. for 'resume' loop - if((fput && uc.nScheme != INTERNET_SCHEME_FTP) || szPost) - { - cnt = 0; - SetFilePointer(localFile, 0, NULL, SEEK_SET); - } - status = ST_CONNECTING; - lastCnt = cnt; - if((hConn = InternetConnect(hSes, host, uc.nPort, - lstrlen(user) > 0 ? user : NULL, - lstrlen(passwd) > 0 ? passwd : NULL, - uc.nScheme == INTERNET_SCHEME_FTP ? INTERNET_SERVICE_FTP : INTERNET_SERVICE_HTTP, - uc.nScheme == INTERNET_SCHEME_FTP ? INTERNET_FLAG_PASSIVE : 0, 0)) != NULL) - { - status = ST_URLOPEN; - hFile = uc.nScheme == INTERNET_SCHEME_FTP ? - openFtpFile(hConn, path) : openHttpFile(hConn, uc.nScheme, path); - if(status != ST_URLOPEN && hFile != NULL) - { - InternetCloseHandle(hFile); - hFile = NULL; - } - if(hFile != NULL) - { - if(fhead) - {// repeating calls clear headers.. - if(HttpQueryInfo(hFile, HTTP_QUERY_RAW_HEADERS_CRLF, hdr, &(rslt=2048), NULL)) - WriteFile(localFile, hdr, rslt, &lastCnt, NULL); - status = ST_OK; - } - else - { - HWND hBar = GetDlgItem(hDlg, IDC_PROGRESS1); - SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETPOS, 0, 0); - SetWindowText(GetDlgItem(hDlg, IDC_STATIC5), fs == NOT_AVAILABLE ? _T("Not Available") : _T("")); - SetWindowText(GetDlgItem(hDlg, IDC_STATIC4), fs == NOT_AVAILABLE ? _T("Unknown") : _T("")); - SetWindowLong(hBar, GWL_STYLE, fs == NOT_AVAILABLE ? - (GetWindowLong(hBar, GWL_STYLE) | PBS_MARQUEE) : (GetWindowLong(hBar, GWL_STYLE) & ~PBS_MARQUEE)); - SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETMARQUEE, (WPARAM)(fs == NOT_AVAILABLE ? 1 : 0), (LPARAM)50 ); - fileTransfer(localFile, hFile); - if(fput && uc.nScheme != INTERNET_SCHEME_FTP) - { - rslt = HttpEndRequest(hFile, NULL, 0, 0); - queryStatus(hFile); - } - } - InternetCloseHandle(hFile); - } - InternetCloseHandle(hConn); - } - else - { - status = ERR_CONNECT; - if(uc.nScheme == INTERNET_SCHEME_FTP && - InternetGetLastResponseInfo(&err, hdr, &(rslt = sizeof(hdr))) && - _tcsstr(hdr, _T("530"))) - { - lstrcpyn(szStatus[status], _tcsstr(hdr, _T("530")), sizeof(szStatus[0]) / sizeof(TCHAR)); - } - else - { - rslt = GetLastError(); - if((rslt == 12003 || rslt == 12002) && !silent) - resume = true; - } - } - } while(((!fput || uc.nScheme == INTERNET_SCHEME_FTP) && - cnt > lastCnt && - status == ERR_TRANSFER && - SleepEx(PAUSE1_SEC * 1000, false) == 0 && - (status = ST_PAUSE) != ST_OK && - SleepEx(PAUSE2_SEC * 1000, false) == 0) - || (resume && - status != ST_OK && - status != ST_CANCELLED && - status != ERR_NOTFOUND && - ShowWindow(hDlg, SW_HIDE) != -1 && - MessageBox(GetParent(hDlg), szResume, *szCaption ? szCaption : PLUGIN_NAME, MB_RETRYCANCEL|MB_ICONWARNING) == IDRETRY && - (status = ST_PAUSE) != ST_OK && - ShowWindow(hDlg, silent ? SW_HIDE : SW_SHOW) == false && - SleepEx(PAUSE3_SEC * 1000, false) == 0)); - } - else status = ERR_CRACKURL; - CloseHandle(localFile); - if(!fput && status != ST_OK) - { - rslt = DeleteFile(fn); - break; - } - } - else status = ERR_FILEOPEN; - } - InternetCloseHandle(hSes); - if (lstrcmpi(url, _T("/end"))==0) - pushstring(url); - } - else status = ERR_INETOPEN; - GlobalFree(host); - GlobalFree(path); - GlobalFree(user); - GlobalFree(passwd); - GlobalFree(params); - if(IsWindow(hDlg)) - PostMessage(hDlg, WM_COMMAND, MAKELONG(IDOK, INTERNAL_OK), 0); - return status; -} - -/***************************************************** -* FUNCTION NAME: fsFormat() -* PURPOSE: -* formats DWORD (max 4 GB) file size for dialog, big MB -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -void fsFormat(DWORD bfs, - TCHAR *b) -{ - if(bfs == NOT_AVAILABLE) - lstrcpy(b, _T("???")); - else if(bfs == 0) - lstrcpy(b, _T("0")); - else if(bfs < 10 * 1024) - wsprintf(b, _T("%u bytes"), bfs); - else if(bfs < 10 * 1024 * 1024) - wsprintf(b, _T("%u kB"), bfs / 1024); - else wsprintf(b, _T("%u MB"), (bfs / 1024 / 1024)); -} - - -/***************************************************** -* FUNCTION NAME: progress_callback -* PURPOSE: -* old-style progress bar text updates -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ - -void progress_callback(void) -{ - TCHAR buf[1024] = _T(""), b[1024] = _T(""); - int time_sofar = max(1, (GetTickCount() - transfStart) / 1000); - int bps = cnt / time_sofar; - int remain = (cnt > 0 && fs != NOT_AVAILABLE) ? (MulDiv(time_sofar, fs, cnt) - time_sofar) : 0; - TCHAR *rtext=szSecond; - if(remain < 0) remain = 0; - if (remain >= 60) - { - remain/=60; - rtext=szMinute; - if (remain >= 60) - { - remain/=60; - rtext=szHour; - } - } - wsprintf(buf, - szProgress, - cnt/1024, - fs > 0 && fs != NOT_AVAILABLE ? MulDiv(100, cnt, fs) : 0, - fs != NOT_AVAILABLE ? fs/1024 : 0, - bps/1024,((bps*10)/1024)%10 - ); - if (remain) wsprintf(buf + lstrlen(buf), - szRemaining, - remain, - rtext, - remain==1?_T(""):szPlural - ); - SetDlgItemText(hDlg, IDC_STATIC1, (cnt == 0 || status == ST_CONNECTING) ? szConnecting : buf); - if(fs > 0 && fs != NOT_AVAILABLE) - SendMessage(GetDlgItem(hDlg, IDC_PROGRESS1), PBM_SETPOS, MulDiv(cnt, PB_RANGE, fs), 0); - if (*szCaption == 0) - wsprintf(buf, szDownloading, - _tcschr(fn, _T('\\')) ? _tcsrchr(fn, _T('\\')) + 1 : fn); - else wsprintf(buf, _T("%s"),szCaption); - HWND hwndS = GetDlgItem(childwnd, 1006); - if(!silent && hwndS != NULL && IsWindow(hwndS)) - { - GetWindowText(hwndS, b, sizeof(b)); - if(lstrcmp(b, buf) != 0) - SetWindowText(hwndS, buf); - } -} - -/***************************************************** -* FUNCTION NAME: onTimer() -* PURPOSE: -* updates text fields every second -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -void onTimer(HWND hDlg) -{ - TCHAR b[128]; - DWORD ct = (GetTickCount() - transfStart) / 1000, - tt = (GetTickCount() - startTime) / 1000; - // dialog window caption - wsprintf(b, _T("%s - %s"), *szCaption ? szCaption : PLUGIN_NAME, szStatus[status]); - if(fs > 0 && fs != NOT_AVAILABLE && status == ST_DOWNLOAD) - { - wsprintf(b + lstrlen(b), _T(" %d%%"), MulDiv(100, cnt, fs)); - } - if(szBanner == NULL) SetWindowText(hDlg, b); - // current file and url - SetDlgItemText(hDlg, IDC_STATIC1, (szAlias && *szAlias) ? szAlias : url); - SetDlgItemText(hDlg, IDC_STATIC2, /*_tcschr(fn, '\\') ? _tcsrchr(fn, '\\') + 1 : */fn); - // bytes done and rate - if(cnt > 0) - { - fsFormat(cnt, b); - if(ct > 1 && status == ST_DOWNLOAD) - { - lstrcat(b, _T(" ( ")); - fsFormat(cnt / ct, b + lstrlen(b)); - lstrcat(b, _T("/sec )")); - } - } - else *b = 0; - SetDlgItemText(hDlg, IDC_STATIC3, b); - // total download time - wsprintf(b, _T("%d:%02d:%02d"), tt / 3600, (tt / 60) % 60, tt % 60); - SetDlgItemText(hDlg, IDC_STATIC6, b); - // file size, time remaining, progress bar - if(fs > 0 && fs != NOT_AVAILABLE) - { - fsFormat(fs, b); - SetDlgItemText(hDlg, IDC_STATIC5, b); - SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETPOS, MulDiv(cnt, PB_RANGE, fs), 0); - if(cnt > 5000) - { - ct = MulDiv(fs - cnt, ct, cnt); - wsprintf(b, _T("%d:%02d:%02d"), ct / 3600, (ct / 60) % 60, ct % 60); - } - else *b = 0; - SetWindowText(GetDlgItem(hDlg, IDC_STATIC4), b); - } -} - -/***************************************************** -* FUNCTION NAME: centerDlg() -* PURPOSE: -* centers dlg on NSIS parent -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -void centerDlg(HWND hDlg) -{ - HWND hwndParent = GetParent(hDlg); - RECT nsisRect, dlgRect, waRect; - int dlgX, dlgY, dlgWidth, dlgHeight; - - if(hwndParent == NULL || silent) - return; - if(popup) - GetWindowRect(hwndParent, &nsisRect); - else GetClientRect(hwndParent, &nsisRect); - GetWindowRect(hDlg, &dlgRect); - - dlgWidth = dlgRect.right - dlgRect.left; - dlgHeight = dlgRect.bottom - dlgRect.top; - dlgX = (nsisRect.left + nsisRect.right - dlgWidth) / 2; - dlgY = (nsisRect.top + nsisRect.bottom - dlgHeight) / 2; - - if(popup) - { - SystemParametersInfo(SPI_GETWORKAREA, 0, &waRect, 0); - if(dlgX > waRect.right - dlgWidth) - dlgX = waRect.right - dlgWidth; - if(dlgX < waRect.left) dlgX = waRect.left; - if(dlgY > waRect.bottom - dlgHeight) - dlgY = waRect.bottom - dlgHeight; - if(dlgY < waRect.top) dlgY = waRect.top; - } - else dlgY += 20; - - SetWindowPos(hDlg, HWND_TOP, dlgX, dlgY, 0, 0, SWP_NOSIZE); -} - -/***************************************************** -* FUNCTION NAME: onInitDlg() -* PURPOSE: -* dlg init -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -void onInitDlg(HWND hDlg) -{ - HFONT hFont; - HWND hPrbNew; - HWND hPrbOld; - HWND hCan = GetDlgItem(hDlg, IDCANCEL); - - if(childwnd) - { - hPrbNew = GetDlgItem(hDlg, IDC_PROGRESS1); - hPrbOld = GetDlgItem(childwnd, 0x3ec); - - // Backland' fix for progress bar redraw/style issue. - // Original bar may be hidden because of interfernce with other plug-ins. - LONG prbStyle = WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN; - if(hPrbOld != NULL) - { - prbStyle |= GetWindowLong(hPrbOld, GWL_STYLE); - } - SetWindowLong(hPrbNew, GWL_STYLE, prbStyle); - - if(!popup) - { - if((hFont = (HFONT)SendMessage(childwnd, WM_GETFONT, 0, 0)) != NULL) - { - SendDlgItemMessage(hDlg, IDC_STATIC1, WM_SETFONT, (WPARAM)hFont, 0); - SendDlgItemMessage(hDlg, IDCANCEL, WM_SETFONT, (WPARAM)hFont, 0); - } - if(*szCancel == 0) - GetWindowText(GetDlgItem(GetParent(childwnd), IDCANCEL), szCancel, sizeof(szCancel)); - SetWindowText(hCan, szCancel); - SetWindowPos(hPrbNew, HWND_TOP, 0, 0, 0, 0, SWP_NOSIZE | SWP_NOMOVE); - } - } - - if(nocancel) - { - if(hCan != NULL) - ShowWindow(hCan, SW_HIDE); - if(popup) - SetWindowLong(hDlg, GWL_STYLE, GetWindowLong(hDlg, GWL_STYLE) ^ WS_SYSMENU); - } - SendDlgItemMessage(hDlg, IDC_PROGRESS1, PBM_SETRANGE, - 0, MAKELPARAM(0, PB_RANGE)); - if(szBanner != NULL) - { - SendDlgItemMessage(hDlg, IDC_STATIC13, STM_SETICON, - (WPARAM)LoadIcon(GetModuleHandle(NULL), MAKEINTRESOURCE(103)), 0); - SetDlgItemText(hDlg, IDC_STATIC12, szBanner); - SetWindowText(hDlg, *szCaption ? szCaption : PLUGIN_NAME); - } - SetTimer(hDlg, 1, 1000, NULL); - if(*szUrl != 0) - { - SetDlgItemText(hDlg, IDC_STATIC20, szUrl); - SetDlgItemText(hDlg, IDC_STATIC21, szDownloading); - SetDlgItemText(hDlg, IDC_STATIC22, szConnecting); - SetDlgItemText(hDlg, IDC_STATIC23, szProgress); - SetDlgItemText(hDlg, IDC_STATIC24, szSecond); - SetDlgItemText(hDlg, IDC_STATIC25, szRemaining); - } -} - -/***************************************************** -* FUNCTION NAME: dlgProc() -* PURPOSE: -* dlg message handling procedure -* SPECIAL CONSIDERATIONS: -* todo: better dialog design -*****************************************************/ -BOOL WINAPI dlgProc(HWND hDlg, - UINT message, - WPARAM wParam, - LPARAM lParam ) { - switch(message) { - case WM_INITDIALOG: - onInitDlg(hDlg); - centerDlg(hDlg); - break; - case WM_PAINT: - // child dialog redraw problem. return false is important - RedrawWindow(GetDlgItem(hDlg, IDC_STATIC1), NULL, NULL, RDW_INVALIDATE); - RedrawWindow(GetDlgItem(hDlg, IDCANCEL), NULL, NULL, RDW_INVALIDATE); - RedrawWindow(GetDlgItem(hDlg, IDC_PROGRESS1), NULL, NULL, RDW_INVALIDATE); - UpdateWindow(GetDlgItem(hDlg, IDC_STATIC1)); - UpdateWindow(GetDlgItem(hDlg, IDCANCEL)); - UpdateWindow(GetDlgItem(hDlg, IDC_PROGRESS1)); - return false; - case WM_TIMER: - if(!silent && IsWindow(hDlg)) - { - // long connection period and paused state updates - if(status != ST_DOWNLOAD && GetTickCount() - transfStart > PROGRESS_MS) - transfStart += PROGRESS_MS; - if(popup) onTimer(hDlg); - else progress_callback(); - RedrawWindow(GetDlgItem(hDlg, IDC_STATIC1), NULL, NULL, RDW_INVALIDATE); - RedrawWindow(GetDlgItem(hDlg, IDCANCEL), NULL, NULL, RDW_INVALIDATE); - RedrawWindow(GetDlgItem(hDlg, IDC_PROGRESS1), NULL, NULL, RDW_INVALIDATE); - } - break; - case WM_COMMAND: - switch(LOWORD(wParam)) - { - case IDCANCEL: - if(nocancel) break; - if(szQuestion && - MessageBox(hDlg, szQuestion, *szCaption ? szCaption : PLUGIN_NAME, MB_ICONWARNING|MB_YESNO) == IDNO) - break; - status = ST_CANCELLED; - case IDOK: - if(status != ST_CANCELLED && HIWORD(wParam) != INTERNAL_OK) break; - // otherwise in the silent mode next banner windows may go to background - // if(silent) sf(hDlg); - KillTimer(hDlg, 1); - DestroyWindow(hDlg); - break; - } - default: return false; - } - return true; -} - -/***************************************************** -* FUNCTION NAME: get() -* PURPOSE: -* http/https/ftp file download entry point -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -extern "C" -void __declspec(dllexport) get(HWND hwndParent, - int string_size, - TCHAR *variables, - stack_t **stacktop, - extra_parameters *extra - ) -{ - HANDLE hThread; - DWORD dwThreadId; - MSG msg; - TCHAR szUsername[64]=_T(""), // proxy params - szPassword[64]=_T(""); - - - EXDLL_INIT(); - -// for repeating /nounload plug-un calls - global vars clean up - silent = popup = resume = nocancel = noproxy = nocookies = false; - myFtpCommand = NULL; - openType = INTERNET_OPEN_TYPE_PRECONFIG; - status = ST_CONNECTING; - *szCaption = *szCancel = *szUserAgent = *szBasic = *szAuth = 0; - - url = (TCHAR*)GlobalAlloc(GPTR, string_size * sizeof(TCHAR)); - if(szPost) - { - popstring(url); -#ifdef UNICODE - WideCharToMultiByte(CP_ACP, 0, url, -1, szPost, string_size, NULL, NULL); -#else - lstrcpy(szPost, url); -#endif - fSize = strlen(szPost); - } - // global silent option - if(extra->exec_flags->silent != 0) - silent = true; - // we must take this from stack, or push url back - while(!popstring(url) && *url == _T('/')) - { - if(lstrcmpi(url, _T("/silent")) == 0) - silent = true; - else if(lstrcmpi(url, _T("/caption")) == 0) - popstring(szCaption); - else if(lstrcmpi(url, _T("/username")) == 0) - popstring(szUsername); - else if(lstrcmpi(url, _T("/password")) == 0) - popstring(szPassword); - else if(lstrcmpi(url, _T("/nocancel")) == 0) - nocancel = true; - else if(lstrcmpi(url, _T("/nocookies")) == 0) - nocookies = true; - else if(lstrcmpi(url, _T("/noproxy")) == 0) - openType = INTERNET_OPEN_TYPE_DIRECT; - else if(lstrcmpi(url, _T("/popup")) == 0) - { - popup = true; - szAlias = (TCHAR*)GlobalAlloc(GPTR, string_size); - popstring(szAlias); - } - else if(lstrcmpi(url, _T("/resume")) == 0) - { - popstring(url); - if(lstrlen(url) > 0) - lstrcpy(szResume, url); - resume = true; - } - else if(lstrcmpi(url, _T("/translate")) == 0) - { - if(popup) - { - popstring(szUrl); - popstring(szStatus[ST_DOWNLOAD]); // Downloading - popstring(szStatus[ST_CONNECTING]); // Connecting - lstrcpy(szStatus[ST_URLOPEN], szStatus[ST_CONNECTING]); - popstring(szDownloading);// file name - popstring(szConnecting);// received - popstring(szProgress);// file size - popstring(szSecond);// remaining time - popstring(szRemaining);// total time - } - else - { - popstring(szDownloading); - popstring(szConnecting); - popstring(szSecond); - popstring(szMinute); - popstring(szHour); - popstring(szPlural); - popstring(szProgress); - popstring(szRemaining); - } - } - else if(lstrcmpi(url, _T("/banner")) == 0) - { - popup = true; - szBanner = (TCHAR*)GlobalAlloc(GPTR, string_size); - popstring(szBanner); - } - else if(lstrcmpi(url, _T("/canceltext")) == 0) - { - popstring(szCancel); - } - else if(lstrcmpi(url, _T("/question")) == 0) - { - szQuestion = (TCHAR*)GlobalAlloc(GPTR, string_size); - popstring(szQuestion); - if(*szQuestion == 0) lstrcpy(szQuestion, DEF_QUESTION); - } - else if(lstrcmpi(url, _T("/useragent")) == 0) - { - popstring(szUserAgent); - } - else if(lstrcmpi(url, _T("/proxy")) == 0) - { - szProxy = (TCHAR*)GlobalAlloc(GPTR, string_size * sizeof(TCHAR)); - popstring(szProxy); - openType = INTERNET_OPEN_TYPE_PROXY; - } - else if(lstrcmpi(url, _T("/connecttimeout")) == 0) - { - popstring(url); - timeout = _tcstol(url, NULL, 10) * 1000; - } - else if(lstrcmpi(url, _T("/receivetimeout")) == 0) - - { - popstring(url); - receivetimeout = _tcstol(url, NULL, 10) * 1000; - } - else if(lstrcmpi(url, _T("/header")) == 0) - { - szHeader = (TCHAR*)GlobalAlloc(GPTR, string_size); - popstring(szHeader); - } - else if(lstrcmpi(url, _T("/file")) == 0) - { - HANDLE hFile = CreateFileA(szPost, GENERIC_READ, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL); - DWORD rslt; - if(hFile == INVALID_HANDLE_VALUE) - { - status = ERR_FILEOPEN; - goto cleanup; - } - if((fSize = GetFileSize(hFile, NULL)) == 0) - { - CloseHandle(hFile); - status = ERR_FILEREAD; - goto cleanup; - } - wsprintfA(post_fname, "Filename: %s", - strchr(szPost, '\\') ? strrchr(szPost, '\\') + 1 : szPost); - GlobalFree(szPost); - szPost = (char*)GlobalAlloc(GPTR, fSize); - if(ReadFile(hFile, szPost, fSize, &rslt, NULL) == 0 || rslt != fSize) - { - CloseHandle(hFile); - status = ERR_FILEREAD; - goto cleanup; - } - CloseHandle(hFile); - } - } - pushstring(url); -// if(*szCaption == 0) lstrcpy(szCaption, PLUGIN_NAME); - if(*szUserAgent == 0) lstrcpy(szUserAgent, INETC_USERAGENT); - if(*szPassword && *szUsername) - { - wsprintf(url, _T("%s:%s"), szUsername, szPassword); - encode_base64(lstrlen(url), url, szAuth); - } - // may be silent for plug-in, but not so for installer itself - let's try to define 'progress text' - if(hwndParent != NULL && - (childwnd = FindWindowEx(hwndParent, NULL, _T("#32770"), NULL)) != NULL && - !silent) - SetDlgItemText(childwnd, 1006, *szCaption ? szCaption : PLUGIN_NAME); - else InitCommonControls(); // or NSIS do this before .onInit? - // cannot embed child dialog to non-existing parent. Using 'silent' to hide it - if(childwnd == NULL && !popup) silent = true; - // let's use hidden popup dlg in the silent mode - works both on .onInit and Page - if(silent) { resume = false; popup = true; } - // google says WS_CLIPSIBLINGS helps to redraw... not in my tests... - if(!popup) - { - unsigned int wstyle = GetWindowLong(childwnd, GWL_STYLE); - wstyle |= WS_CLIPSIBLINGS; - SetWindowLong(childwnd, GWL_STYLE, wstyle); - } - startTime = GetTickCount(); - if((hDlg = CreateDialog(g_hInstance, - MAKEINTRESOURCE(szBanner ? IDD_DIALOG2 : (popup ? IDD_DIALOG1 : IDD_DIALOG3)), - (popup ? hwndParent : childwnd), dlgProc)) != NULL) - { - - if((hThread = CreateThread(NULL, 0, inetTransfer, (LPVOID)hDlg, 0, - &dwThreadId)) != NULL) - { - HWND hButton = GetDlgItem(childwnd, 0x403); - HWND hList = GetDlgItem(childwnd, 0x3f8); - DWORD dwStyleButton = 0; - BOOL fVisibleList = false; - if(!silent) - { - ShowWindow(hDlg, SW_NORMAL); - if(childwnd && !popup) - { - if(hButton) - { - dwStyleButton = GetWindowLong(hButton, GWL_STYLE); - EnableWindow(hButton, false); - } - if(hList) - { - fVisibleList = IsWindowVisible(hList); - ShowWindow(hList, SW_HIDE); - } - } - } - - while(IsWindow(hDlg) && - GetMessage(&msg, NULL, 0, 0) > 0) - { - if(!IsDialogMessage(hDlg, &msg) && - !IsDialogMessage(hwndParent, &msg) && - !TranslateMessage(&msg)) - DispatchMessage(&msg); - } - - if(WaitForSingleObject(hThread, 3000) == WAIT_TIMEOUT) - { - TerminateThread(hThread, 1); - status = ERR_TERMINATED; - } - CloseHandle(hThread); - if(!silent && childwnd) - { - SetDlgItemText(childwnd, 1006, _T("")); - if(!popup) - { - if(hButton) - SetWindowLong(hButton, GWL_STYLE, dwStyleButton); - if(hList && fVisibleList) - ShowWindow(hList, SW_SHOW); - } - // RedrawWindow(childwnd, NULL, NULL, RDW_INVALIDATE|RDW_ERASE); - } - } - else - { - status = ERR_THREAD; - DestroyWindow(hDlg); - } - } - else { - status = ERR_DIALOG; - wsprintf(szStatus[status] + lstrlen(szStatus[status]), _T(" (Err=%d)"), GetLastError()); - } -cleanup: - // we need to clean up stack from remaining url/file pairs. - // this multiple files download head pain and may be not safe - while(!popstring(url) && lstrcmpi(url, _T("/end")) != 0) - { - /* nothing MessageBox(NULL, url, _T(""), 0);*/ - } - GlobalFree(url); - if(szAlias) GlobalFree(szAlias); - if(szBanner) GlobalFree(szAlias); - if(szQuestion) GlobalFree(szQuestion); - if(szProxy) GlobalFree(szProxy); - if(szPost) GlobalFree(szPost); - if(szHeader) GlobalFree(szHeader); - - url = szProxy = szHeader = szAlias = szQuestion = NULL; - szPost = NULL; - fput = fhead = false; - - pushstring(szStatus[status]); -} - -/***************************************************** -* FUNCTION NAME: put() -* PURPOSE: -* http/ftp file upload entry point -* SPECIAL CONSIDERATIONS: -* re-put not works with http, but ftp REST - may be. -*****************************************************/ -extern "C" -void __declspec(dllexport) put(HWND hwndParent, - int string_size, - TCHAR *variables, - stack_t **stacktop, - extra_parameters *extra - ) -{ - fput = true; - lstrcpy(szDownloading, _T("Uploading %s")); - lstrcpy(szStatus[2], _T("Uploading")); - get(hwndParent, string_size, variables, stacktop, extra); -} - -/***************************************************** -* FUNCTION NAME: post() -* PURPOSE: -* http post entry point -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -extern "C" -void __declspec(dllexport) post(HWND hwndParent, - int string_size, - TCHAR *variables, - stack_t **stacktop, - extra_parameters *extra - ) -{ - szPost = (CHAR*)GlobalAlloc(GPTR, string_size); - get(hwndParent, string_size, variables, stacktop, extra); -} - -/***************************************************** -* FUNCTION NAME: head() -* PURPOSE: -* http/ftp file upload entry point -* SPECIAL CONSIDERATIONS: -* re-put not works with http, but ftp REST - may be. -*****************************************************/ -extern "C" -void __declspec(dllexport) head(HWND hwndParent, - int string_size, - TCHAR *variables, - stack_t **stacktop, - extra_parameters *extra - ) -{ - fhead = true; - get(hwndParent, string_size, variables, stacktop, extra); -} - -/***************************************************** -* FUNCTION NAME: DllMain() -* PURPOSE: -* Dll main (initialization) entry point -* SPECIAL CONSIDERATIONS: -* -*****************************************************/ -BOOL WINAPI DllMain(HANDLE hInst, - ULONG ul_reason_for_call, - LPVOID lpReserved) -{ - g_hInstance=(HINSTANCE)hInst; - return TRUE; -} diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsp b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsp deleted file mode 100644 index 2a4d46410..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsp +++ /dev/null @@ -1,175 +0,0 @@ -# Microsoft Developer Studio Project File - Name="inetc" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=inetc - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "inetc.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "inetc.mak" CFG="inetc - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "inetc - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "inetc - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "inetc - Win32 Release_Unicode" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "inetc - Win32 Debug_Unicode" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "inetc - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "debug" -# PROP Intermediate_Dir "debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O1 /I "..\ExDll" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 msvcrt.lib kernel32.lib user32.lib gdi32.lib wininet.lib comctl32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib /out:"..\..\plugins\inetc.dll" /opt:nowin98 -# SUBTRACT LINK32 /pdb:none - -!ELSEIF "$(CFG)" == "inetc - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug" -# PROP Intermediate_Dir "Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\ExDll" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib wininet.lib comctl32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\plugins\inetc.dll" /pdbtype:sept -# SUBTRACT LINK32 /incremental:no /debug - -!ELSEIF "$(CFG)" == "inetc - Win32 Release_Unicode" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release_Unicode" -# PROP BASE Intermediate_Dir "Release_Unicode" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "Debug_Unicode" -# PROP Intermediate_Dir "Debug_Unicode" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O1 /I "..\ExDll" /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /c -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 msvcrt.lib kernel32.lib user32.lib gdi32.lib wininet.lib comctl32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /nodefaultlib /out:"..\..\Unicode\plugins\inetc.dll" /opt:nowin98 -# SUBTRACT LINK32 /pdb:none - -!ELSEIF "$(CFG)" == "inetc - Win32 Debug_Unicode" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug_Unicode" -# PROP BASE Intermediate_Dir "Debug_Unicode" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "Debug_Unicode" -# PROP Intermediate_Dir "Debug_Unicode" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\ExDll" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_UNICODE" /D "UNICODE" /D "_USRDLL" /D "inetc_EXPORTS" /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib wininet.lib comctl32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 /out:"..\..\Unicode\plugins\inetc.dll" /pdbtype:sept -# SUBTRACT LINK32 /incremental:no /debug - -!ENDIF - -# Begin Target - -# Name "inetc - Win32 Release" -# Name "inetc - Win32 Debug" -# Name "inetc - Win32 Release_Unicode" -# Name "inetc - Win32 Debug_Unicode" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\inetc.cpp -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# Begin Source File - -SOURCE="..\Graphics\Icons\classic-install.ico" -# End Source File -# Begin Source File - -SOURCE=.\inetc.rc -# End Source File -# End Group -# End Target -# End Project diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsw b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsw deleted file mode 100644 index 98a25c5b2..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "ftpc"=".\inetc.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.rc b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.rc deleted file mode 100644 index 6a29a56f3..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc.rc +++ /dev/null @@ -1,170 +0,0 @@ -//Microsoft Developer Studio generated resource script. -// -#include "resource.h" - -#define APSTUDIO_READONLY_SYMBOLS -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 2 resource. -// -#include "afxres.h" - -///////////////////////////////////////////////////////////////////////////// -#undef APSTUDIO_READONLY_SYMBOLS - -///////////////////////////////////////////////////////////////////////////// -// Russian resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_RUS) -#ifdef _WIN32 -LANGUAGE LANG_RUSSIAN, SUBLANG_DEFAULT -#pragma code_page(1251) -#endif //_WIN32 - -#ifdef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// TEXTINCLUDE -// - -1 TEXTINCLUDE DISCARDABLE -BEGIN - "resource.h\0" -END - -2 TEXTINCLUDE DISCARDABLE -BEGIN - "#include ""afxres.h""\r\n" - "\0" -END - -3 TEXTINCLUDE DISCARDABLE -BEGIN - "\r\n" - "\0" -END - -#endif // APSTUDIO_INVOKED - -#endif // Russian resources -///////////////////////////////////////////////////////////////////////////// - - -///////////////////////////////////////////////////////////////////////////// -// English (U.S.) resources - -#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) -#ifdef _WIN32 -LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US -#pragma code_page(1252) -#endif //_WIN32 - -///////////////////////////////////////////////////////////////////////////// -// -// Dialog -// - -IDD_DIALOG1 DIALOGEX 0, 0, 286, 71 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Inetc plug-in" -FONT 8, "MS Sans Serif" -BEGIN - LTEXT "",IDC_STATIC1,50,4,230,12,SS_CENTERIMAGE, - WS_EX_STATICEDGE - LTEXT "",IDC_STATIC2,50,18,230,12,SS_CENTERIMAGE, - WS_EX_STATICEDGE - CTEXT "",IDC_STATIC3,50,32,102,12,SS_CENTERIMAGE, - WS_EX_STATICEDGE - CTEXT "",IDC_STATIC4,220,32,60,12,SS_CENTERIMAGE, - WS_EX_STATICEDGE - CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",NOT - WS_VISIBLE,5,62,275,7 - CTEXT "",IDC_STATIC5,50,46,102,12,SS_CENTERIMAGE, - WS_EX_STATICEDGE - CTEXT "",IDC_STATIC6,220,46,60,12,SS_CENTERIMAGE, - WS_EX_STATICEDGE - CONTROL "URL",IDC_STATIC20,"Static",SS_LEFTNOWORDWRAP | WS_GROUP, - 5,6,44,10 - CONTROL "File name",IDC_STATIC21,"Static",SS_LEFTNOWORDWRAP | - WS_GROUP,5,20,44,10 - CONTROL "Transfered",IDC_STATIC22,"Static",SS_LEFTNOWORDWRAP | - WS_GROUP,5,34,44,10 - CONTROL "File size",IDC_STATIC23,"Static",SS_LEFTNOWORDWRAP | - WS_GROUP,5,48,44,10 - CONTROL "Remaining time",IDC_STATIC24,"Static",SS_LEFTNOWORDWRAP | - WS_GROUP,164,34,55,10 - CONTROL "Total time",IDC_STATIC25,"Static",SS_LEFTNOWORDWRAP | - WS_GROUP,164,48,55,10 -END - -IDD_DIALOG2 DIALOG DISCARDABLE 0, 0, 226, 62 -STYLE DS_MODALFRAME | DS_CENTER | WS_POPUP | WS_CAPTION | WS_SYSMENU -CAPTION "Inetc plug-in" -FONT 8, "MS Sans Serif" -BEGIN - ICON 103,IDC_STATIC13,4,4,20,20 - LTEXT "Please wait",IDC_STATIC12,35,6,184,28 - CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",NOT - WS_VISIBLE,12,40,201,11 -END - -IDD_DIALOG3 DIALOG DISCARDABLE 0, 0, 266, 62 -STYLE DS_CONTROL | WS_CHILD | WS_VISIBLE -FONT 8, "MS Sans Serif" -BEGIN - CONTROL "Progress1",IDC_PROGRESS1,"msctls_progress32",0x0,0,23, - 266,11 - CTEXT "",IDC_STATIC1,0,8,266,11 - PUSHBUTTON "Cancel",IDCANCEL,166,41,80,16 -END - - -///////////////////////////////////////////////////////////////////////////// -// -// DESIGNINFO -// - -#ifdef APSTUDIO_INVOKED -GUIDELINES DESIGNINFO DISCARDABLE -BEGIN - IDD_DIALOG1, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 279 - TOPMARGIN, 7 - BOTTOMMARGIN, 64 - END - - IDD_DIALOG2, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 219 - TOPMARGIN, 7 - BOTTOMMARGIN, 55 - END - - IDD_DIALOG3, DIALOG - BEGIN - LEFTMARGIN, 7 - RIGHTMARGIN, 259 - TOPMARGIN, 7 - BOTTOMMARGIN, 55 - END -END -#endif // APSTUDIO_INVOKED - -#endif // English (U.S.) resources -///////////////////////////////////////////////////////////////////////////// - - - -#ifndef APSTUDIO_INVOKED -///////////////////////////////////////////////////////////////////////////// -// -// Generated from the TEXTINCLUDE 3 resource. -// - - -///////////////////////////////////////////////////////////////////////////// -#endif // not APSTUDIO_INVOKED - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc_local.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc_local.nsi deleted file mode 100644 index 845a18d64..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/inetc_local.nsi +++ /dev/null @@ -1,80 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc Local Test" -OutFile "inetc_local.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - - -; PUT test - -; FTP requires anonymous access in sample below. -; HTTP sample put.php included to package. Stores test.jpg as m2.bmp -; check server files present after upload - - inetc::put "http://localhost/put.php" "$EXEDIR\test.jpg" - Pop $0 - - inetc::put "ftp://localhost/test.jpg" "$EXEDIR\test.jpg" -; not anonymous format -; inetc::put "ftp://login:password@localhost/test.jpg" "$EXEDIR\test.jpg" - Pop $1 - - DetailPrint "PUT: HTTP $0, FTP $1 (verify server files)" - - -; POST test - -; HTTP sample post.php and post_form.htm (to compare results) included - - inetc::post "login=ami&passwd=333" "http://localhost/post.php?lg=iam&pw=44" "$EXEDIR\post_reply.htm" - Pop $2 - - DetailPrint "POST: $2 (post_reply.htm)" - - -; HEAD test - -; uses uploaded earlier test.jpg - - inetc::head /silent "http://localhost/m2.bmp" "$EXEDIR\head.txt" - Pop $3 - - DetailPrint "HEAD: $3 (head.txt)" - - -; GET test - -; 2 files download in nsisdl mode - inetc::get "http://localhost/m2.bmp" "$EXEDIR\get1.jpg" "http://localhost/m2.bmp" "$EXEDIR\get2.jpg" - Pop $4 - - inetc::get /popup "Localhost:GET with Popup" "http://localhost/m2.bmp" "$EXEDIR\get3.jpg" - Pop $5 - - inetc::get /banner "Local Test GET with Banner" "http://localhost/m2.bmp" "$EXEDIR\get4.jpg" - Pop $6 - - inetc::get /silent "ftp://localhost/test.jpg" "$EXEDIR\get5.jpg" - Pop $7 - - DetailPrint "GET: NSISDL $4, POPUP $5, BANNER $6, FTP $7 (get1-5.jpg)" - - SetDetailsView show - -SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.nsi deleted file mode 100644 index 9dcf0d2bb..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.nsi +++ /dev/null @@ -1,30 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc Post Test" -OutFile "post.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - -; this is my LAN sample, use your own URL for tests. Sample post.php included - - inetc::post "login=ami&passwd=333" "http://localhost/post.php?lg=iam&pw=44" "$EXEDIR\post_reply.htm" - Pop $0 # return value = exit code, "OK" if OK - MessageBox MB_OK "Download Status: $0" - -SectionEnd - - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.php deleted file mode 100644 index f6a894964..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post.php +++ /dev/null @@ -1,13 +0,0 @@ - - - - -"; -echo "post.passwd=".$_POST['passwd']."
"; -echo "get.lg=".$_GET['lg']."
"; -echo "get.pw=".$_GET['pw']."
"; -?> - - - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.nsi deleted file mode 100644 index 7bb7b7704..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.nsi +++ /dev/null @@ -1,30 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc Post Test" -OutFile "post_file.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - -; this is my LAN sample, use your own URL for tests. Sample post.php included - - inetc::post "$EXEDIR\inetc.cpp" /file "http://localhost/post_file.php" "$EXEDIR\post_file.htm" - Pop $0 # return value = exit code, "OK" if OK - MessageBox MB_OK "Download Status: $0" - -SectionEnd - - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.php deleted file mode 100644 index 07ab4fbf2..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_file.php +++ /dev/null @@ -1,10 +0,0 @@ - $value) { - echo "$header: $value
\n"; -} -echo "new
"; -foreach ($_FILES as $key => $value) echo $key . "<>" . $value . "
\n"; -echo file_get_contents('php://input'); -?> \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_form.html b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_form.html deleted file mode 100644 index 046d60533..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/post_form.html +++ /dev/null @@ -1,18 +0,0 @@ - - -Registration form for post.php test - - -This form sends POST request to server. It was interesting to compare server echo
-reply (by included post.php) for this form and InetLoad plug-in - in my
-tests server did not see any difference between them :)
-
- -
-
- - -
- - - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi deleted file mode 100644 index 95cc8dda4..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.nsi +++ /dev/null @@ -1,30 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc Test" -OutFile "put.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - -; this is my LAN sample, use your own URL for tests. Login/pwd hidden from user. Sample put.php (for http request) included - - inetc::put "http://localhost/put.php" "$EXEDIR\test.jpg" -; inetc::put /POPUP "ftp://localhost/" /CAPTION "my local ftp upload" "ftp://localhost/test.jpg" "$EXEDIR\test.jpg" - Pop $0 - MessageBox MB_OK "Upload Status: $0" - -SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.php deleted file mode 100644 index 7bb2bf526..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/put.php +++ /dev/null @@ -1,19 +0,0 @@ - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi deleted file mode 100644 index 52e032663..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/recursive.nsi +++ /dev/null @@ -1,64 +0,0 @@ -Name "Inetc Recursive Dir Upload Test" -OutFile "recursive.exe" - -!include "MUI.nsh" -!insertmacro MUI_PAGE_INSTFILES -!insertmacro MUI_LANGUAGE "English" -!include "FileFunc.nsh" -!insertmacro GetFileAttributes - -var url -var path - -Function dirul - - Push $0 ; search handle - Push $1 ; file name - Push $2 ; attributes - - FindFirst $0 $1 "$path\*" -loop: - StrCmp $1 "" done - ${GetFileAttributes} "$path\$1" DIRECTORY $2 - IntCmp $2 1 isdir -retry: - Inetc::put $url/$1 "$path\$1" /end - Pop $2 - DetailPrint "$2 $path\$1" - StrCmp $2 "OK" cont - MessageBox MB_YESNO "$path\$1 file upload failed. Retry?" IDYES retry - Abort "terminated by user" - Goto cont -isdir: - StrCmp $1 . cont - StrCmp $1 .. cont - Push $path - Push $url - StrCpy $path "$path\$1" - StrCpy $url "$url/$1" - Call dirul - Pop $url - Pop $path -cont: - FindNext $0 $1 - Goto loop -done: - FindClose $0 - - Pop $2 - Pop $1 - Pop $0 - -FunctionEnd - - -Section "Dummy Section" SecDummy - - SetDetailsView hide - StrCpy $path "$EXEDIR" -; put is dir in the user's ftp home, use //put for root-relative path - StrCpy $url ftp://takhir:pwd@localhost/put - Call dirul - SetDetailsView show - -SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.nsi deleted file mode 100644 index cd2943420..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.nsi +++ /dev/null @@ -1,30 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Redirect Test" -OutFile "redirect.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - - SetDetailsView hide - - inetc::get "http://localhost/redirect.php" "$EXEDIR\redirect.htm" /end - Pop $1 - - MessageBox MB_OK "Download Status: $1" - -SectionEnd - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.php b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.php deleted file mode 100644 index afe455283..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/redirect.php +++ /dev/null @@ -1,6 +0,0 @@ - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h deleted file mode 100644 index d7fc835a6..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/resource.h +++ /dev/null @@ -1,47 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Developer Studio generated include file. -// Used by inetc.rc -// -#define IDC_SLOGIN 8 -#define IDC_PROGRESS 10 -#define IDC_SUBTEXT 11 -#define IDC_SPWD 11 -#define IDC_ICON1 12 -#define IDD_DIALOG1 101 -#define IDI_ICON1 102 -#define IDI_ICON2 103 -#define IDD_AUTH 104 -#define IDI_ICON3 105 -#define IDI_ICON4 106 -#define IDI_ICON5 107 -#define IDD_DIALOG2 108 -#define IDI_ICON6 109 -#define IDD_DIALOG3 110 -#define IDC_STATIC1 1001 -#define IDC_STATIC2 1002 -#define IDC_STATIC3 1003 -#define IDC_STATIC4 1004 -#define IDC_PROGRESS1 1005 -#define IDC_STATIC5 1006 -#define IDC_STATIC6 1007 -#define IDC_STATIC12 1008 -#define IDC_STATIC13 1009 -#define IDC_STATIC20 1009 -#define IDC_STATIC21 1010 -#define IDC_STATIC22 1011 -#define IDC_STATIC23 1012 -#define IDC_STATIC24 1013 -#define IDC_STATIC25 1014 -#define IDC_ELOGIN 1015 -#define IDC_EPWD 1016 - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 111 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1018 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/timeout.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/timeout.nsi deleted file mode 100644 index 7ff5688af..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/timeout.nsi +++ /dev/null @@ -1,31 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Timeout Test" -OutFile "to.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_LANGUAGE "English" - - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - -; additional headers. Sample php returns raw headers - inetc::get /receivetimeout 12 "http://localhost/to.php" "$EXEDIR\to.html" - Pop $0 - - MessageBox MB_OK "Download Status: $0" - -SectionEnd - - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/translate.nsi b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/translate.nsi deleted file mode 100644 index 053a8155e..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/translate.nsi +++ /dev/null @@ -1,32 +0,0 @@ - -;-------------------------------- -; General Attributes - -Name "Inetc Translate Test" -OutFile "Translate.exe" - - -;-------------------------------- -;Interface Settings - - !include "MUI.nsh" - !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install-colorful.ico" - !insertmacro MUI_PAGE_WELCOME - !insertmacro MUI_PAGE_INSTFILES - !insertmacro MUI_PAGE_FINISH - !insertmacro MUI_LANGUAGE "Russian" - - -;-------------------------------- -;Installer Sections - -Section "Dummy Section" SecDummy - -; This is russian variant. See Readme.txt for a list of parameters. -; Use LangStrings as TRANSLATE parameters for multilang options - - inetc::load /POPUP "" /CAPTION " " /TRANSLATE "URL" "" " " " " "" "" "" "http://ineum.narod.ru/g06s.htm" "$EXEDIR\g06s.htm" - Pop $0 # return value = exit code, "OK" if OK - MessageBox MB_OK "Download Status: $0" - -SectionEnd diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/wiki.txt b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/wiki.txt deleted file mode 100644 index f7fccb58e..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Inetc/wiki.txt +++ /dev/null @@ -1,169 +0,0 @@ -{{PageAuthor|Takhir}} - -== Links == - -Download:
-Inetc.zip
- -[http://forums.winamp.com/showthread.php?threadid=198596 Forum thread] - -== Description == - -Internet client plug-in for files download and upload. Based on the InetLoad plug-in. Network implementation uses MS WinInet API, supports http/https and ftp protocols. Plugin has better proxy support compared to NSISdl plug-in. Command line may include few URL/File pairs to be transfered. If server or proxy login/password are not set in the script, it displays IE-style authentication dialog (except silent mode). Plug-in supports 3 "transfer in progress" display modes: - -# old NSISdl style - additional embedded progress bar and text on the INSTFILES page; -# POPUP dialog mode with detailed info; -# BANNER mode with simple popup window. - -Plug-in recognizes Installer's Silent mode and this case hides any output (this feature requires NSIS 2.03 or later). Program implements simple re-get functionality - host reconnect and download from current position after short pause. While program depends on IE settings, it changes current IE mode to online. NSISdl code fragment was used for progress bar displaying in the "old style" mode. -For ftp use "host/path" for file location relative to user's home dir and -"host//path" for absolute path. - -== Command line == - -Plug-in DLL functions (entry points): get, post, head, put - -=== get DLL Function === - -inetc::get [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] - [/NOPROXY] [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] - [/CAPTION TEXT] [/NOCOOKIES] [/RESUME RETRY_QUESTION] [/POPUP HOST_ALIAS | /BANNER TEXT] - [/CANCELTEXT CANCEL_TEXT] [/QUESTION CANCEL_QUESTION] [/USER_AGENT USER_AGENT_TEXT] - [/HEADER HEADER_TEXT] [/TRANSLATE LANG_PARAMS] - URL1 local_file1 [URL2 local_file2 [...]] [/END] -This call returns "OK" string if successful, error description string if failed (see included InetLoad.cpp file for a full set of status strings). Usage and result processing samples are included to the package. - -; /PROXY -: Overwrites current proxy settings, not required in most cases. IE settings will be used by default. - -; /USERNAME -: Proxy username (http only). - -; /PASSWORD -: Proxy password (http only). For server (http/ftp) authentication it is possible to use URL encoded name and password, for example http://username:password@nsis.sourceforge.net. - -;/NOPROXY -: Disables proxy settings for this connection (if any) - -;/NOCANCEL -: Prevents download from being interrupted by user (locks Esc, Alt-F4, Cancel handling) - -;/CONNECTTIMEOUT - -:Sets INTERNET_OPTION_CONNECT_TIMEOUT, seconds, default - IE current parameter value. - -;/RECEIVETIMEOUT - -:Sets INTERNET_OPTION_RECEIVE_TIMEOUT, seconds, default - IE current parameter value. - -; /SILENT -: Key hides plug-in' output (both popup dialog and embedded progress bar). Not required if 'SilentInstall silent' mode was defined in script (NSIS 2.03 or later). - -; /RESUME -: On the permanent connection/transfer error instead of exit first displays message box with "resume download" question. Useful for dial-up connections and big files - allows user to restore connection and resume download. Default is "Your internet connection seems to have dropped out!\nPlease reconnect and click Retry to resume downloading...". - -; /CAPTION -: Defines caption text for /BANNER mode, caption prefix (left of '-') for /POPUP mode and caption for RESUME MessageBox. Default is "InetLoad plug-in" if not set or "". - -; /POPUP -: This mode displays detailed download dialog instead of embedded progress bar. Also useful in .onInit function (i.e. not in Section). If HOST_ALIAS is not "", text will replace URL in the dialog - this allows to hide real URL (including password). - -; /BANNER -: Displays simple popup dialog (MSI Banner mode) and sets dialog TEXT (up to 3 lines using $\n). - -; /CANCELTEXT -: Text for the Cancel button in the NSISdl mode. Default is NSIS dialog Cancel button text (current lang). - -; /QUESTION -: Text for the optional MessageBox if user tries to cancel download. If /QUESTION "" was used default "Are you sure that you want to stop download?" will be substituted. - -; /USERAGENT -: UserAgent http request header value. Default is "NSIS_Inetc (Mozilla)". - -; /HEADER -: Adds or replaces http request header. Common HEADER_TEXT format is "header: value". - -; /NOCOOKIES -: Removes cookies from http request - -; /END -: Allows to limit plug-in stack reading (optional, required if you stores other vars in the stack). - -; /TRANSLATE -: Allows translating plug-in text in the POPUP or "old style" (NSISdl) modes (see Readme for parameters). In the BANNER mode text is also customizable. - -=== post DLL Function === - -inetc::post TEXT2POST [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] - [/NOPROXY] [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] - [/FILE] [/CAPTION TEXT] [/NOCOOKIES] [/POPUP HOST_ALIAS | /BANNER TEXT] - [/CANCELTEXT CANCEL_TEXT] [/USER_AGENT USER_AGENT_TEXT] [/TRANSLATE LANG_PARAMS] - URL1 local_file1 [URL2 local_file2 [...]] [/END] -Sets POST http mode and defines text string or file name to be used in the POST (http only). Disables auto re-get. No char replaces used (%20 and others). /FILE option allows to send TEXT2POST file content to server, additional 'Filename:' header added to request this case. - -=== head DLL Function === - -The same as get, but requests http headers only. Writes raw headers to file. - -=== put DLL Function === - -inetc::put [/PROXY IP:PORT] [/USERNAME PROXY_LOGIN /PASSWORD PROXY_PASSWD] [/NOPROXY] - [/NOCANCEL] [/CONNECTTIMEOUT TO_SEC] [/RECEIVETIMEOUT TO_SEC] [/SILENT] [/CAPTION TEXT] - [/POPUP HOST_ALIAS | /BANNER TEXT] [/CANCELTEXT CANCEL_TEXT] [/USER_AGENT USER_AGENT_TEXT] - [/TRANSLATE LANG_PARAMS] [/NOCOOKIES] - URL1 local_file1 [URL2 local_file2 [...]] [/END] -Return value and parameters (if applicable) are the same as for previous entry point. - -== Examples == - - -inetc::get "http://dl.zvuki.ru/6306/mp3/12.mp3" "$EXEDIR\12.mp3" \ - "ftp://dl.zvuki.ru/6306/mp3/11.mp3" "$EXEDIR\11.mp3" -Pop $0 - - - -inetc::put /BANNER "Cameron Diaz upload in progress..." \ -"http://www.dreamgirlswallpaper.co.uk/fiveyearsonline/wallpaper/Cameron_Diaz/camerond09big.JPG" \ -"$EXEDIR\cd.jpg" - Pop $0 - StrCmp $0 "OK" dlok - MessageBox MB_OK|MB_ICONEXCLAMATION "http upload Error, click OK to abort installation" /SD IDOK - Abort -dlok: - ... - - - -;installer window restoring after silent calls from .onGUIInit -;by Edward Marshall & Jonathan Beddoes -;temporarily makes the installer window topmost so that inetc doesn't drop our focus - -Function .onGUIInit - - ; Get window handle of installer into register 0. - ; This only works in onGUIInit! (so you still can't silently call inetc from onInit) - StrCpy $0 $HWNDPARENT - - ; Make window always-on-top. Yes, this is bad but we are only doing it temporarily! - ; This prevents inetc's hidden dialog from getting foreground precedence over the installer. - ; This must be done before any inetc calls. - ; -1 = HWND_TOPMOST, 3 = SWP_NOSIZE|SWP_NOMOVE - System::Call "user32::SetWindowPos(i r0, i -1, i 0, i 0, i 0, i 0, i 3)" - - ; Now do whatever you want with inetc. - inetc::head /silent "http://ineum.narod.ru/spr_2006.htm" "$EXEDIR\head.txt" - - ; Now set the installer window back to normal (not always-on-top). - ; -2 = HWND_NOTOPMOST, 3 = SWP_NOSIZE|SWP_NOMOVE - System::Call "user32::SetWindowPos(i r0, i -2, i 0, i 0, i 0, i 0, i 3)" - -FunctionEnd - - -; Following attribute also can restore installer Window -; BGGradient 000000 000080 FFFFFF - -== Credits == - -Many thanks to Backland who offered a simple way to fix NSISdl mode crashes, added 'center parent' function, offers few nice design ideas and spent a lot of time testing the plug-in. - -[[Category:Plugins]] diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nlf deleted file mode 100644 index 1ec535899..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nsh deleted file mode 100644 index 154afb60a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Afrikaans.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nlf deleted file mode 100644 index a27dbd8d6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nsh deleted file mode 100644 index faf9224e7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Albanian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nlf deleted file mode 100644 index e8ba22303..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nsh deleted file mode 100644 index 1f6f3b51c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Arabic.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nlf deleted file mode 100644 index 182ce50a9..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nsh deleted file mode 100644 index 67884c57a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Armenian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nlf deleted file mode 100644 index 2f46f500e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nsh deleted file mode 100644 index bf5939bcd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Basque.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nlf deleted file mode 100644 index 3730e75a5..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nsh deleted file mode 100644 index 57089408c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Belarusian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nlf deleted file mode 100644 index d7d7ebb34..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nsh deleted file mode 100644 index e9df25470..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bosnian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nlf deleted file mode 100644 index a908febc6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nsh deleted file mode 100644 index e80cb1b94..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Breton.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nlf deleted file mode 100644 index de8fe4ad3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nsh deleted file mode 100644 index d8d9fdbc8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Bulgarian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nlf deleted file mode 100644 index 8800ef074..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nsh deleted file mode 100644 index 931cc43ce..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Catalan.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nlf deleted file mode 100644 index 8faaec4bf..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nsh deleted file mode 100644 index 038825ddb..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Cibemba.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nlf deleted file mode 100644 index 97a7f2b14..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nsh deleted file mode 100644 index 0670d63b6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Croatian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nlf deleted file mode 100644 index 2a337ea73..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nsh deleted file mode 100644 index ae1f19b10..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Czech.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nlf deleted file mode 100644 index 943749e5d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nsh deleted file mode 100644 index ae4ebd45f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Danish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nlf deleted file mode 100644 index a556efa3a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nsh deleted file mode 100644 index b3fb5c232..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Dutch.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nlf deleted file mode 100644 index 70b9cd88c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nsh deleted file mode 100644 index bf8ae0ee3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Efik.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nlf deleted file mode 100644 index 09cc0b80c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nsh deleted file mode 100644 index cc8cdc911..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/English.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nlf deleted file mode 100644 index 61d26c34c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nsh deleted file mode 100644 index 771eb24ab..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/EnglishGB.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nlf deleted file mode 100644 index 2636fce9d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nsh deleted file mode 100644 index c01b319f7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Esperanto.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nlf deleted file mode 100644 index 5317a1c8b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nsh deleted file mode 100644 index b75660f6c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Estonian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nlf deleted file mode 100644 index 0f62cf696..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nsh deleted file mode 100644 index 44f6b4e64..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Farsi.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nlf deleted file mode 100644 index 8d64dd3c1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nsh deleted file mode 100644 index 2c003fbde..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Finnish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nlf deleted file mode 100644 index 613491767..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nsh deleted file mode 100644 index 81b6b2afc..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/French.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nlf deleted file mode 100644 index 456b9d878..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nsh deleted file mode 100644 index ac5b8846d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Galician.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nlf deleted file mode 100644 index 8f49e35ad..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nsh deleted file mode 100644 index 730b550be..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Georgian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nlf deleted file mode 100644 index 16969cb68..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nsh deleted file mode 100644 index 807bc8fbe..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/German.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nlf deleted file mode 100644 index a7fbcd542..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nsh deleted file mode 100644 index c8b07c661..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Greek.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nlf deleted file mode 100644 index 22781ff24..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nsh deleted file mode 100644 index b95289f81..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hebrew.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nlf deleted file mode 100644 index 5f95e49e8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nsh deleted file mode 100644 index f68f90697..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hindi.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nlf deleted file mode 100644 index dde9b3191..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nsh deleted file mode 100644 index e117f7fb4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Hungarian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nlf deleted file mode 100644 index 565d05a5d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nsh deleted file mode 100644 index 5806041d4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Icelandic.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nlf deleted file mode 100644 index f7c914238..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nsh deleted file mode 100644 index 80ef89868..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Igbo.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nlf deleted file mode 100644 index 2e18276f1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nsh deleted file mode 100644 index daaba7f34..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Indonesian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nlf deleted file mode 100644 index a89970ab7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nsh deleted file mode 100644 index fe46098eb..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Irish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nlf deleted file mode 100644 index 617d4af82..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nsh deleted file mode 100644 index 5f7077881..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Italian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nlf deleted file mode 100644 index 9b94418ba..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nsh deleted file mode 100644 index d52b12c27..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Japanese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nlf deleted file mode 100644 index 17010c2f0..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nlf +++ /dev/null @@ -1,191 +0,0 @@ -# Header, don't edit -NLF v6 -# Start editing here -# Language ID -10311 -# Font and size - dash (-) means default -- -- -# Codepage - dash (-) means ANSI code page -1200 -# RTL - anything else than RTL means LTR -- -# Translation by .....សុផល្លី (yi sophally, yi.sophally at gmail dot com) -# ^Branding -Nullsoft Install System %s -# ^SetupCaption -ដំឡើងកម្មវិធី $(^Name) -# ^UninstallCaption -លុប​ $(^Name) ចេញ -#^LicenseSubCaption -: កិច្ចសន្យា​អាជ្ញាបប័ណ្ណ -# ^ComponentsSubCaption -: ជំរើស​នៃ​ការ​ដំឡើង -# ^DirSubCaption -: ថត​ដើម្បី​ដំឡើង -# ^InstallingSubCaption -: កំពុងដំឡើង​ -# ^CompletedSubCaption -: ដំឡើង​រួចរាល់​ -# ^UnComponentsSubCaption -: ជំរើស​នៃការ​លុបកម្មវិធី​ចេញ​ -# ^UnDirSubCaption -: ថត​ដែល​ត្រូវលុបកម្មវិធី​ចេញ​ -# ^ConfirmSubCaption -: ការបញ្ជាក់​ទទួលយក​ -# ^UninstallingSubCaption -: កំពុង​លុប​ចេញ​ -# ^UnCompletedSubCaption -: លុបចេញ​រួចរាល់​ -# ^BackBtn -< &ត្រលប់​ក្រោយ​ -# ^NextBtn -&ទៅ​មុខ​​ > -# ^AgreeBtn -I &យល់​ព្រម​ -# ^AcceptBtn -ខ្ញុំ​ &យល់ព្រមតាម​កិច្ច​ព្រម​ព្រាង​អាជ្ញាប័ណ្ណ -# ^DontAcceptBtn -&ខ្ញុំ​មិន​យល់ព្រមតាម​កិច្ច​ព្រម​ព្រាង​អាជ្ញាប័ណ្ណទេ​ -# ^InstallBtn -&ដំឡើង​ -# ^UninstallBtn -&លុប​ចេញ​ -# ^CancelBtn -បដិសេធ​ -# ^CloseBtn -&បិទ​ -# ^BrowseBtn -ស្វែង​&រក​... -# ^ShowDetailsBtn -បង្ហាញ​ &​លំអិត​សេចក្តី​ -# ^ClickNext -ចុច​ទៅមុខ​ដើម្បី​បន្ត​ -# ^ClickInstall -ចុច​លើ​ដំឡើង​ដើម្បី​ចាប់​ផ្តើម​ដំណើរ​ការ -# ^ClickUninstall -ចុច​លើ​លុប​ចេញ​ដើម្បី​ចាប់​ផ្តើម​លុប​​ -# ^Name -ឈ្មោះ​ -# ^Completed -រួចរាល់​ -# ^LicenseText -សូម​អាន​កិច្ចព្រមព្រាង​អាជ្ញាប័ណ្ណ​មុន​ពេល​ដំឡើង​កម្មវិធី​​ $(^NameDA) នេះ។ ប្រសិន​បើ​អ្នក​យល់​ស្រប​សូម​ចុច​យក​ ខ្ញុំ​យល់​ព្រម​ -# ^LicenseTextCB -សូម​អាន​កិច្ចព្រមព្រាង​អាជ្ញាប័ណ្ណ​មុន​ពេល​ដំឡើង​កម្មវិធី​​ $(^NameDA) នេះ។ ប្រសិន​បើ​អ្នក​យល់​ស្រប​សូម​ធិក​យក​ប្រអប់​ខាង​ក្រោម​$_CLICK -# ^LicenseTextRB -សូម​អាន​កិច្ចព្រមព្រាង​អាជ្ញាប័ណ្ណ​មុន​ពេល​ដំឡើង​កម្មវិធី​​ $(^NameDA) នេះ។ ប្រសិន​បើ​អ្នក​យល់​ស្រប​សូម​ជ្រើស​​យក​ជំរើស​ទី​មួយ​​ខាង​ក្រោម​ $_CLICK -# ^UnLicenseText -សូម​អាន​កិច្ចព្រមព្រាង​អាជ្ញាប័ណ្ណ​មុន​ពេលលុប​កម្មវិធី​​ $(^NameDA) នេះ។ ប្រសិន​បើ​អ្នក​យល់​ស្រប​សូម​ចុច​យក​ ខ្ញុំ​យល់​ព្រម​ -# ^UnLicenseTextCB -សូម​អាន​កិច្ចព្រមព្រាង​អាជ្ញាប័ណ្ណ​មុន​ពេល​លុប​កម្មវិធី​​ $(^NameDA) នេះ។ ប្រសិន​បើ​អ្នក​យល់​ស្រប​សូម​ធិក​យក​ប្រអប់​ខាង​ក្រោម​$_CLICK -# ^UnLicenseTextRB -សូម​អាន​កិច្ចព្រមព្រាង​អាជ្ញាប័ណ្ណ​មុន​ពេល​លុប​កម្មវិធី​​ $(^NameDA) នេះ។ ប្រសិន​បើ​អ្នក​យល់​ស្រប​សូម​ជ្រើស​​យក​ជំរើស​ទី​មួយ​​ខាង​ក្រោម​ $_CLICK -# ^Custom -ជំរើសផ្ទាល់​ខ្លួន​ -# ^ComponentsText -ធិក​យកសមាសភាគ​ដែល​អ្នក​ចង់​ដំឡើង​និង​ដោះធិក​ពី​សមាស​ភាគ​ដែល​អ្នក​មិន​ចង់​ដំឡើង​ ​$_CLICK -# ^ComponentsSubText1 -សូមជ្រើស​រើស​ប្រភេទ​នៃ​ការ​ដំឡើង​: -# ^ComponentsSubText2_NoInstTypes -សូមជ្រើសរើស​សមាសភាគ​ដើម្បី​ដំឡើង​: -# ^ComponentsSubText2 -ឬ ជ្រើស​រើស​សមាសភាគ​ជាជំរើស​ណាមួយ​ដែល​អ្នក​ចង់​ដំឡើង​: -# ^UnComponentsText -ធិក​យកសមាសភាគ​ដែល​អ្នក​ចង់លុបចេញ​និង​ដោះធិក​ពី​សមាស​ភាគ​ដែល​អ្នក​មិន​ចង់លុបចេញ​​ ​$_CLICK -# ^UnComponentsSubText1 -សូមជ្រើស​រើស​ប្រភេទ​នៃ​ការលុបកម្មវិធី​: -# ^UnComponentsSubText2_NoInstTypes -សូមជ្រើសរើស​សមាសភាគ​ដើម្បីកាត់ចេញ​​: -# ^UnComponentsSubText2 -ឬ ជ្រើស​រើស​សមាសភាគ​ជាជំរើស​ណាមួយ​ដែល​អ្នក​ចង់​កាត់ចេញ​​: -# ^DirText -កម្មវិធី​ជំនួយ​នេះ​នឹង​ដំឡើង​$(^NameDA)នៅក្នុង​ថត​ខាង​ក្រោម​នេះ​។ ដើម្បី​ដំឡើង​នៅ​ក្នុង​ថត​ដទៃ​ទៀត​សូម​ចុច​លើ​ស្វែងរក​ ហើយ​ជ្រើសរើស​ថត​ផ្សេង​ទៀត​។ ​$_CLICK -# ^DirSubText -ថត​គោល​ដៅ​ -# ^DirBrowseText -ជ្រើសរើស​ថត​ដើម្បី​ដំឡើង​កម្មវិធី​$(^NameDA): -# ^UnDirText -កម្មវិធី​ជំនួយ​នេះ​នឹងលុប​​$(^NameDA)ចេញពី​ថត​ខាង​ក្រោម​នេះ​។ ដើម្បី​ចេញពី​ក្នុង​ថត​ដទៃ​ទៀត​សូម​ចុច​លើ​ស្វែងរក​ ហើយ​ជ្រើសរើស​ថត​ផ្សេង​ទៀត​។ ​$_CLICK -# ^UnDirSubText -"" -# ^UnDirBrowseText -ជ្រើសរើស​ថត​ដើម្បី​លុប​​កម្មវិធី​$(^NameDA)ចេញ​: -# ^SpaceAvailable -"ចណ្លោះទំហំ​ដែលអាចប្រើប្រាស់បាន​: " -# ^SpaceRequired -"តំរូវការ​ទំហំ​: " -# ^UninstallingText -$(^NameDA) នឹង​ត្រូវ​បាន​លុប​ចេញ​ពី​ថត​ខាង​ក្រោម​នេះ​។ $_CLICK -# ^UninstallingSubText -កំពុង​លុប​ចេញពី:​ -# ^FileError -មាន​កំហុស​ក្នុង​ការ​បើក​ឯកសារ​ដើម្បី​សរសេរ​ចូល​:\r\n\r\n$0\r\n\r\n​ សូមចុចលើ​ បញ្ឈប់​ ដើម្បី​បញ្ចប់ការ​ដំឡើង​ \r\n Retry ដើម្បី​ព្យាយាម​ម្តង​ទៀត​ ឫ បដិសេធ​ដើម្បី​បញ្ឈប់​ឯកសារនេះ​។​ -# ^FileError_NoIgnore -មាន​កំហុស​ក្នុង​ការ​បើក​ឯកសារ​ដើម្បី​សរសេរ​ចូល​:​\r\n\r\n$0\r\n\r\n សូមចុចលើ​ Retry ដើម្បី​ព្យាយាម​ម្តង​ទៀត ឫ \r\nបដិសេធ ដើម្បី​បញ្ឈប់​ការ​ដំឡើង​។​ -# ^CantWrite -"មិនអាច​សរសេរ​ចូល​បាន​: " -# ^CopyFailed -ការចំលងបរាជ័យ -​# ^CopyTo -"ចំលង​ទៅកាន់ " -# ^Registering -"កំពុង​ចុះឈ្មោះ​: " -# ^Unregistering -"កំពុង​លុប​ឈ្មោះ​: " -# ^SymbolNotFound -"មិនអាច​រក​និមិត្ត​សញ្ញាឃើញ​: " -# ^CouldNotLoad -"មិន​អាច​ទាញមក​បាន: " -# ^CreateFolder -"​បង្កើត​ថត​: " -# ^CreateShortcut -"បង្កើត​ផ្លូវកាត់​: " -# ^CreatedUninstaller -"កម្មវិធី​ដើម្បី​លុប​ត្រូវបាន​បង្កើត​: " -# ^Delete -"លុប​ឯកសា​: " -# ^DeleteOnReboot -"លុប​ពេលកុំព្យូទ័រ​​ដំណើរការ​ឡើង​វិញ: " -# ^ErrorCreatingShortcut -"មានកំហុស​ក្នុងការ​បង្កើត​ផ្លូវកាត់​: " -# ^ErrorCreating -"មាន​កំហុស​ក្នុង​ការ​បង្កើត​: " -# ^ErrorDecompressing -មាន​កំហុស​ក្នុង​ការ​ពន្លា​ទិន្នន័យ! កម្មវិធី​ដំឡើង​មាន​បញ្ហា​? -# ^ErrorRegistering -មាន​កំហុស​ក្នុង​ការ​ចុះឈ្មោះ​ ឌីអិល​អិល​ -# ^ExecShell -"ប្រតិប័ត្តសែល​: " -# ^Exec -"ប្រតិប័ត្ត: " -# ^Extract -"ពន្លា: " -# ^ErrorWriting -"ពន្លា​ឯកសារ​: មាន​បញ្ហាពេល​សរសេរ​ចូល​ឯកសារ​ " -# ^InvalidOpcode -កម្មវិធី​ដំឡើង​មាន​បញ្ហា​: opcode មិនត្រឹមត្រូវ​ -# ^NoOLE -"អត់មាន​ OLE សំរាប់​: " -# ^OutputFolder -"ថតសំរាប់ដាក់​ទិន្នផល​: " -# ^RemoveFolder -"លុបថត​ឯកសារ​: " -# ^RenameOnReboot -"ប្តូរឈ្មោះ​នៅពេល​កុំព្យូទ័រ​ដំណើរ​ការ​ឡើង​វិញ​: " -# ^Rename -"ប្តូរ​ឈ្មោះ​: " -# ^Skipped -"ត្រូវបាន​រំលង​: " -# ^CopyDetails -ចំលង​ពិពណ៌នាទៅ​ Clipboard -# ^LogInstall -កត់ត្រា​ដំណើរការ​ដំឡើង​ -# ^Byte -B -# ^Kilo -K -# ^Mega -M -# ^Giga -G \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nsh deleted file mode 100644 index ec33eead1..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Khmer.nsh +++ /dev/null @@ -1,129 +0,0 @@ -;Language: Khmer (1033) -;By yi.sophally - -!insertmacro LANGFILE "Khmer" "ភាសាខ្មែរ" - -!ifdef MUI_WELCOMEPAGE - ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "សូមស្វាគមន៍ចំពោះការ​ដំឡើង​កម្មវិធី​ $(^NameDA)" - ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "កម្មវិធីជំនួយនេះនឹងនាំអ្នកដល់​ការ​ដំឡើង​កម្មវិធី​នៃកម្មវិធី $(^NameDA).$\r$\n$\r$\nIt ដែល​សូម​អោយ​អ្នក​បិទ​នូវ​កម្ម​វិធី​ទាំងឡាយ​ផ្សេង​ទៀត​មុន​ពេល​ចាប់ផ្តើម​ការ​ដំឡើង​។ ដើម្បី​ងាយ​ស្រួល​ក្នុង​ការ​កែប្រែ​ឯកសារ​នៃប្រព័ន្ធប្រតិបត្តការ​ដោយ​មិន​ចាំបាច់​ចាប់​ផ្តើម​ដំណើរ​ការ​ម៉ាស៊ីនរបស់​អ្នក​​សារ​ជា​ថ្មី។​ $\r$\n$\r$\n$_CLICK" -!endif - -!ifdef MUI_UNWELCOMEPAGE - ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "ស្វាគមន៍​ចំពោះ​ការ​លុបកម្មវិធី​ $(^NameDA)​ នេះ" - ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "កម្មវិធីជំនួយនេះនឹងនាំអ្នកដល់​ការលុបចេញ​​នៃកម្មវិធី$(^NameDA).$\r$\n$\r$\n​ មុន​ពេល​ចាប់​ផ្តើម​លុប​ចេញ​ សូម​អោយ​ប្រាកដ​ថា​កម្មវិធី​ $(^NameDA) មិនមែន​កំពុង​ដំណើរ​ការ​$\r$\n$\r$\n$_CLICK" -!endif - -!ifdef MUI_LICENSEPAGE - ${LangFileString} MUI_TEXT_LICENSE_TITLE "កិច្ចព្រមព្រាង​អាជ្ញា​ប័ណ្ណ" - ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "សូម​អាន​អាជ្ញាប័ណ្ណ​អោយ​បាន​ត្រឹម​ត្រូវ​មុន​ពេល​ដំឡើង​កម្មវិធី​ $(^NameDA)។​" - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "ប្រសិន​បើ​អ្នក​យល់​ព្រម​តាម​កិច្ចព្រម​ព្រាង​ សូម​ចុច​ ខ្ញុំយល់ព្រម​ ដើម្បី​ដំណើរការ​បន្ត។ ដើម្បីដំឡើង​​កម្មវិធី​ $(^NameDA) នេះ​អ្នក​ត្រូវ​តែ​យល់ព្រម​តាម​កិច្ចព្រមព្រាង​។" - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "ប្រសិន​បើ​អ្នក​យល់​ព្រម​តាម​កិច្ចព្រម​ព្រាង​សូម​ចុច​ធិច​ប្រអប់​ខាងក្រោម​។ ដើម្បីដំឡើង​កម្មវិធី​ $(^NameDA) នេះ​អ្នក​ត្រូវ​តែ​យល់ព្រម​តាម​កិច្ចព្រមព្រាង​ $_CLICK" - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ប្រសិន​បើ​អ្នក​យល់​ព្រម​តាម​កិច្ចព្រម​ព្រាង​សូមជ្រើសរើស​ជំរើស​ទីមួយ​ខាង​ក្រោម​។ ដើម្បីដំឡើង​កម្មវិធី​ $(^NameDA) នេះ​អ្នក​ត្រូវ​តែ​យល់ព្រម​តាម​កិច្ចព្រមព្រាង $_CLICK" -!endif - -!ifdef MUI_UNLICENSEPAGE - ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "កិច្ចព្រមព្រាង​អាជ្ញា​ប័ណ្ណ" - ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "សូម​អាន​អាជ្ញាប័ណ្ណ​អោយ​បាន​ត្រឹម​ត្រូវ​មុន​ពេល​លុប​កម្មវិធី​ $(^NameDA)ចេញ។​" - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "ប្រសិន​បើ​អ្នក​យល់​ព្រម​តាម​កិច្ចព្រម​ព្រាង​ សូម​ចុច​ I Agree ដើម្បី​ដំណើរការ​បន្ត។ ដើម្បីលុប​កម្មវិធី​ $(^NameDA) នេះ​អ្នក​ត្រូវ​តែ​យល់ព្រម​តាម​កិច្ចព្រមព្រាង​ $_CLICK" - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "ប្រសិន​បើ​អ្នក​យល់​ព្រម​តាម​កិច្ចព្រម​ព្រាង​សូម​ចុច​ធិច​ប្រអប់​ខាងក្រោម​។ ដើម្បីលុបកម្មវិធី​ $(^NameDA) នេះ​អ្នក​ត្រូវ​តែ​យល់ព្រម​តាម​កិច្ចព្រមព្រាង​ $_CLICK" - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "ប្រសិន​បើ​អ្នក​យល់​ព្រម​តាម​កិច្ចព្រម​ព្រាង​សូមជ្រើសរើស​ជំរើស​ទីមួយ​ខាង​ក្រោម​។ ដើម្បីលុប​កម្មវិធី​ $(^NameDA) នេះ​អ្នក​ត្រូវ​តែ​យល់ព្រម​តាម​កិច្ចព្រមព្រាង $_CLICK" -!endif - -!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE - ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "សូម​ចុច Page Down ដើម្បី​មើល​កិច្ច​ព្រម​ព្រាង​ដែល​នៅសល់​" -!endif - -!ifdef MUI_COMPONENTSPAGE - ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "ជ្រើសរើស​សមាសភាគ" - ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "ជ្រើសរើស​ដំណើរ​ការ​នៃកម្មវិធី​ $(^NameDA) ​ដែល​អ្នក​ចង់​ដំឡើង​" -!endif - -!ifdef MUI_UNCOMPONENTSPAGE - ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "ជ្រើសរើស​សមាសភាគ" - ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "ជ្រើសរើស​ដំណើរ​ការ​នៃកម្មវិធី​ $(^NameDA) ​ដែល​អ្នក​ចង់​លប់​​" -!endif - -!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "ការពិពណ័នា" - !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ដាក់កណ្តុរ​បញ្ជារបស់​អ្នក​លើ​សមាសភាគ​ណា​មួយ​ដើម្បី​មើល​ការ​ពិពណ៍នារបស់​វា​​។" - !else - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "ដាក់កណ្តុរ​បញ្ជារបស់​អ្នក​លើ​សមាសភាគ​ណា​មួយ​ដើម្បី​មើល​ការ​ពិពណ៍នារបស់​វា​​។" - !endif -!endif - -!ifdef MUI_DIRECTORYPAGE - ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "ជ្រើសរើស​កន្លែង​ដើម្បី​ដំឡើង​" - ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "ជ្រើសរើសថត​ដើម្បី​ដំឡើង​កម្មវិធី​ $(^NameDA)​ ។" -!endif - -!ifdef MUI_UNDIRECTORYPAGE - ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "ជ្រើសរើស​កន្លែង​ដែលត្រូវ​លប់​ចេញ​" - ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "ជ្រើសរើសថត​ដើម្បី​លប់​កម្មវិធី​ $(^NameDA)​ ចេញ។" -!endif - -!ifdef MUI_INSTFILESPAGE - ${LangFileString} MUI_TEXT_INSTALLING_TITLE "កំពុងដំឡើង​" - ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "សូម​មេត្តា​រង់ចាំ​ខណះដែល​កម្មវិធី​ $(^NameDA) កំពុង​ត្រូវបាន​ដំឡើង​។" - ${LangFileString} MUI_TEXT_FINISH_TITLE "ការដំឡើង​រួចរាល់​" - ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "ការ​ដំឡើង​ត្រូវ​បាន​បញ្ចប់ដោយ​ជោគជ័យ​" - ${LangFileString} MUI_TEXT_ABORT_TITLE "ការដំឡើង​ត្រូវបាន​បញ្ឈប់​" - ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "ការ​ដំឡើង​ត្រូវបានបរាជ័យ។" -!endif - -!ifdef MUI_UNINSTFILESPAGE - ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "កំពុងដំណើរការ​លុប​" - ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "សូមមេត្តារង់ចាំ​ខណះដែល​កម្មវិធី​ $(^NameDA) កំពុង​ត្រូវ​បាន​លុប​។" - ${LangFileString} MUI_UNTEXT_FINISH_TITLE "ការ​លុប​ចេញ​រួច​រាល់​" - ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "ការ​លុប​ចេញ​ត្រូវបាន​បរាជ័យ​​។" - ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ការ​លុប​ចេញ​ត្រូវបាន​បញ្ឈប់​" - ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "ការ​លុប​ចេញ​ត្រូវបាន​បរាជ័យ" -!endif - -!ifdef MUI_FINISHPAGE - ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "កម្មវិធី​ជំនួយ​ក្នុងការ​ដំឡើង​ $(^NameDA) កំពុងត្រូវ​បាន​បញ្ចប់​" - ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "កម្មវិធី​ $(^NameDA) បាន​ត្រូវ​ដំឡើង​រួចរាល់​នៅក្នុង​កុំព្យូទ័រ​របស់​អ្នក​។ $\r$\n$\r$\nចុច​ Finish ដើម្បីបិទកម្មវិធីជំនួយ​នេះ​" - ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "កុំព្យូទ័រ​របស់​អ្នក​ត្រូវតែ​ចាប់​ដំណើរ​ការ​សារ​ជាថ្មី​ដើម្បី​បំពេញ​ការ​ដំឡើង​កម្មវិធី​ $(^NameDA)​ នេះ។ តើ​អ្នក​ចង់ចាប់ផ្តើមដំណើរការ​​កុំព្យូទ័រអ្នក​ឡើង​វិញ​ពេល​នេះ​?" -!endif - -!ifdef MUI_UNFINISHPAGE - ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "កម្មវិធី​ជំនួយ​ក្នុងការ​លុប​ $(^NameDA) កំពុងត្រូវ​បាន​បញ្ចប់" - ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "កម្មវិធី​ $(^NameDA) បាន​ត្រូវ​លុប​រួចរាល់​ពី​ក្នុង​កុំព្យូទ័រ​របស់​អ្នក​។ $\r$\n$\r$\nចុច​ Finish ដើម្បីបិទកម្មវិធីជំនួយ​នេះ​" - ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "កុំព្យូទ័រ​របស់​អ្នក​ត្រូវតែ​ចាប់​ដំណើរ​ការ​សារ​ជាថ្មី​ដើម្បី​បំពេញ​ការ​ដំឡើង​កម្មវិធី​ $(^NameDA)​ នេះ។ តើ​អ្នក​ចង់ចាប់ផ្តើមដំណើរការ​​កុំព្យូទ័រអ្នក​ឡើង​វិញ​ពេល​នេះ​?" -!endif - -!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE - ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "ចាប់ផ្តើមដំណើរការ​​កុំព្យូទ័រឡើង​វិញ​ពេល​នេះ​" - ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "ចង់​ដំណើរការ​កុំព្យូទ័រ​ដោយ​ខ្លួន​ឯង​ពេល​ក្រោយ​" - ${LangFileString} MUI_TEXT_FINISH_RUN "&Run $(^NameDA)" - ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Show Readme" - ${LangFileString} MUI_BUTTONTEXT_FINISH "&Finish" -!endif - -!ifdef MUI_STARTMENUPAGE - ${LangFileString} MUI_TEXT_STARTMENU_TITLE "ជ្រើសរើស​ថត​ម៉ឺនុយ Start " - ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "ជ្រើសរើស​ថត​ម៉ឺនុយ Start ដើម្បី​បង្កើត​ផ្លូវ​កាត់​ទៅ​កម្ម​វិធី​ $(^NameDA) ។" - ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "ជ្រើសរើស​ថត​ម៉ឺនុយ Start ដែល​អ្នក​ចង់​បង្កើត​ផ្លូវកាត់​ទៅ​កម្មវិធី​​នេះ​។​ អ្នក​ក៏​អាច​បញ្ចូលឈ្មោះមួយ​ដើម្បី​បង្កើត​ថត​ថ្មីមួយទៀត​។" - ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "មិនបាច់​បង្កើត​ផ្លូវកាត់​" -!endif - -!ifdef MUI_UNCONFIRMPAGE - ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "លុបកម្មវិធី​ $(^NameDA)​​ ចេញ​" - ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "លុបកម្មវិធី​ $(^NameDA) ចេញពីកុំព្យូទ័រ​របស់​អ្នក​។​" -!endif - -!ifdef MUI_ABORTWARNING - ${LangFileString} MUI_TEXT_ABORTWARNING "តើ​អ្នក​ប្រាកដ​ថា​នឹង​ចាក​ចេញ​ពី​ការ​ដំឡើង​កម្មវិធី​​ $(^Name) នេះ​មែន​ទេ​?" -!endif - -!ifdef MUI_UNABORTWARNING - ${LangFileString} MUI_UNTEXT_ABORTWARNING "តើ​អ្នក​ប្រាកដ​ថា​នឹង​ចាក​ចេញ​ពី​ការ​លុបកម្មវិធី​​ $(^Name) នេះ​មែន​ទេ​?" -!endif - -!ifdef MULTIUSER_INSTALLMODEPAGE - ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "ជ្រើសរើស​អ្នក​ប្រើប្រាស់​" - ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "ជ្រើសរើស​អ្នក​ប្រើប្រាស់​ទាំង​ឡាយណា​ដែល​អ្នក​ចង់​អោយ​ប្រើ​កម្មវិធី​ $(^NameDA)​ នេះ។​" - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "សូមជ្រើសរើស​ថាតើ​អ្នក​ចង់​ដំឡើង​កម្មវិធី $(^NameDA) សំរាប់​តែខ្លួន​អ្នក​ រឺ សំរាប់​អ្នករាល់​គ្នា​ដែល​ប្រើ​កុំព្យូទ័រ​នេះ​។ $(^ClickNext)" - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "ដំឡើង​សំរាប់​អ្នកទាំង​ឡាយដែល​ប្រើ​កុំព្យូទ័រនេះ" - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "ដំឡើងសំរាប់តែខ្ញុំម្នាក់​" -!endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nlf deleted file mode 100644 index 6160fd837..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nsh deleted file mode 100644 index 615227f7b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Korean.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nlf deleted file mode 100644 index 5f244548d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nsh deleted file mode 100644 index c5d33d2be..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Kurdish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nlf deleted file mode 100644 index 03a5baeff..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nsh deleted file mode 100644 index 273331eae..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Latvian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nlf deleted file mode 100644 index bc3dd775f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nsh deleted file mode 100644 index 78880deac..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Lithuanian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nlf deleted file mode 100644 index 20c879bc3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nsh deleted file mode 100644 index c18a407ed..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Luxembourgish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nlf deleted file mode 100644 index 69bd7d890..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nsh deleted file mode 100644 index f1d4fae8d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Macedonian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nlf deleted file mode 100644 index dd73961a1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nsh deleted file mode 100644 index d84573eda..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malagasy.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nlf deleted file mode 100644 index 8072d5454..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nsh deleted file mode 100644 index feaea4134..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Malay.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nlf deleted file mode 100644 index c9f7fe38f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nsh deleted file mode 100644 index b9a6d4938..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Mongolian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nlf deleted file mode 100644 index eef204b46..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nsh deleted file mode 100644 index 4ae470a68..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Norwegian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nlf deleted file mode 100644 index 4536a8c8a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nsh deleted file mode 100644 index dd6f8fb6c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/NorwegianNynorsk.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nlf deleted file mode 100644 index 884e2b7d6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nsh deleted file mode 100644 index 4cabf6b90..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Pashto.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nlf deleted file mode 100644 index 491629bc6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nsh deleted file mode 100644 index d92e470e5..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Polish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nlf deleted file mode 100644 index 082fb1b4e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nsh deleted file mode 100644 index 2974313fa..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Portuguese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nlf deleted file mode 100644 index 505844b70..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nsh deleted file mode 100644 index 01d6183f9..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/PortugueseBR.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nlf deleted file mode 100644 index b69ebe91f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nsh deleted file mode 100644 index 9898022f1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Romanian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nlf deleted file mode 100644 index 253fa5995..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nsh deleted file mode 100644 index df536bb51..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Russian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nlf deleted file mode 100644 index 32404fd08..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nsh deleted file mode 100644 index aa3d93edb..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Serbian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nlf deleted file mode 100644 index 5ef26d210..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nsh deleted file mode 100644 index 66b443176..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SerbianLatin.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nlf deleted file mode 100644 index ad66c887b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nsh deleted file mode 100644 index 59a5e295d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sesotho.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nlf deleted file mode 100644 index 344bb35fd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nsh deleted file mode 100644 index 68d1dcc00..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SimpChinese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nlf deleted file mode 100644 index 8020787ae..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nsh deleted file mode 100644 index eac523832..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovak.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nlf deleted file mode 100644 index ba985650c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nsh deleted file mode 100644 index 52db6a368..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Slovenian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nlf deleted file mode 100644 index f78148893..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nsh deleted file mode 100644 index 15281a0d3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Spanish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nlf deleted file mode 100644 index 6134f11fd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nsh deleted file mode 100644 index 4a4b59010..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/SpanishInternational.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nlf deleted file mode 100644 index 143ba7a9d..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nlf +++ /dev/null @@ -1,191 +0,0 @@ -# Header, Ulah diropa -NLF v6 -# mimitian ti dieu -# ID Sundanese -33 -# Font and size - dash (-) means default -- -- -# Codepage - dash (-) means ANSI code page -- -# RTL - anything else than RTL means LTR -- -# Translation sukma gemala [http://facebook.com/sukma.gemala] -# ^Branding -Sistem Pamasang Nullsoft %s -# ^SetupCaption -Masangkeun $(^Name) -# ^UninstallCaption -Miceun $(^Name) -# ^LicenseSubCaption -: Aturan jeung Kasapukan -# ^ComponentsSubCaption -: Pilihan Instalasi -# ^DirSubCaption -: Map Instalasi -# ^InstallingSubCaption -: Masangkeun -# ^CompletedSubCaption -: Rngs -# ^UnComponentsSubCaption -: Pilihan Miceun -# ^UnDirSubCaption -: Map Miceun -# ^ConfirmSubCaption -: Muguhkeun -# ^UninstallingSubCaption -: Miceun instalasi -# ^UnCompletedSubCaption -: Rngs -# ^BackBtn -< Sam&mhna -# ^NextBtn -Tulu&ykeun > -# ^AgreeBtn -&Sapuk -# ^AcceptBtn -S&apuk -# ^DontAcceptBtn -Te&u sapuk -# ^InstallBtn -&Pasang -# ^UninstallBtn -Pi&ceun -# ^CancelBtn -&Bolay -# ^CloseBtn -&Tutup -# ^BrowseBtn -Pili&h... -# ^ShowDetailsBtn -&Detil -# ^ClickNext -Klik Tuluykeun pikeun nuluykeun. -# ^ClickInstall -Klik Pasang pikeun ngamimitian masang $(^Name). -# ^ClickUninstall -Klik Piceun pikeun ngamimitian miceun $(^Name). -# ^Name -Ngaran -# ^Completed -Rngs -# ^LicenseText -Imeutan ieu kasapukan sammh masangkeun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, klik Sapuk. -# ^LicenseTextCB -Imeutan ieu kasapukan sammh masangkeun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, br contrng. $_CLICK -# ^LicenseTextRB -Imeutan ieu kasapukan sammh masangkeun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, pilih salah sahiji anu aya di handap. $_CLICK -# ^UnLicenseText -Imeutan ieu kasapukan sammh miceun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, klik Sapuk. -# ^UnLicenseTextCB -Imeutan ieu kasapukan sammh miceun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, br contrng. $_CLICK -# ^UnLicenseTextRB -Imeutan ieu kasapukan sammh miceun $(^NameDA). Lamun anjeun narima sakabh anu dipedar dina kasapukan, pilih salah sahiji anu aya di handap. $_CLICK -# ^Custom -Reka -# ^ComponentsText -Contrng dina komponn anu rk dipasang atawa piceun contrngna lamun teu pati perlu. $_CLICK -# ^ComponentsSubText1 -Pilih tipeu instalasi: -# ^ComponentsSubText2_NoInstTypes -Pilih komponn-komponn anu bakal dipasang: -# ^ComponentsSubText2 -Atawa, pilih ieu komponn anu bakal dipasang: -# ^UnComponentsText -Contrng dina komponn anu rk dipiceun. $_CLICK -# ^UnComponentsSubText1 -Pilih tipeu miceun: -# ^UnComponentsSubText2_NoInstTypes -Pilih komponn-komponn anu rk dipiceun: -# ^UnComponentsSubText2 -Atawa, pilih ieu komponn anu rk dipiceun: -# ^DirText -$(^NameDA) bakal dipasang dina ieu map. Pikeun milih map sjn, klik Pilih tuluy tangtukeun map nu dipikahayang ku ajeun. $_CLICK -# ^DirSubText -Map anu dituju -# ^DirBrowseText -Pilih map pikeun tempat masangkeun $(^NameDA): -# ^UnDirText -$(^NameDA) bakal dipiceun tina ieu map. Pikeun milih map sjn, klik Pilih tuluy tangtukeun map nu dipikahayang ku ajeun. $_CLICK -# ^UnDirSubText -"" -# ^UnDirBrowseText -Pilih map pikeun tempat miceun $(^NameDA): -# ^SpaceAvailable -"Rohang disk anu nyampak: " -# ^SpaceRequired -"Rohang disk anu dibutuhkeun: " -# ^UninstallingText -$(^NameDA) bakal dipiceun tina ieu map. $_CLICK -# ^UninstallingSubText -Miceun instalasi: -# ^FileError -Henteu bisa nulis koropak: \r\n\t"$0"\r\nKlik abort pikeun ngabolaykeun instalasi,\r\nretry pikeun nyoba deui, atawa\r\nignore lamun moal dipalir. -# ^FileError_NoIgnore -Henteu bisa nulis koropak: \r\n\t"$0"\r\nKlik retry pikeun nyobaan deui, atawa\r\ncancel pikeun ngabolaykeun instalasi -# ^CantWrite -"Henteu bisa nulis dina: " -# ^CopyFailed -Pross niron gagal -# ^CopyTo -"Ditiron kana " -# ^Registering -"Ngadaftarkeun modul: " -# ^Unregistering -"Ngudar modul: " -# ^SymbolNotFound -"Henteu manggih : " -# ^CouldNotLoad -"Henteu bisa muka: " -# ^CreateFolder -"Nyieun map: " -# ^CreateShortcut -"Nyieun tumbu: " -# ^CreatedUninstaller -"Nyieun aplikasi pamiceun instalasi: " -# ^Delete -"Mupus koropak: " -# ^DeleteOnReboot -"Bakal dipupus nalika komputer dimimitian-deui: " -# ^ErrorCreatingShortcut -"Henteu bisa nyieun tumbu: " -# ^ErrorCreating -"Kasalahan dina nyieun: " -# ^ErrorDecompressing -Kasalahan nalika muka gmbolan data! Aplikasi Pamasang ruksak -# ^ErrorRegistering -Kasalahan nalika ngadaftarkeun modul DLL -# ^ExecShell -"ExecShell: " -# ^Exec -"Ngajalankeun: " -# ^Extract -"Muka gmbolan: " -# ^ErrorWriting -"Gmbolan: kasalahan nalika nulis koropak " -# ^InvalidOpcode -Program Pamasang: opcode henteu lengkep -# ^NoOLE -"OLE henteu kapanggih: " -# ^OutputFolder -"Map anu dituju: " -# ^RemoveFolder -"Mupus map: " -# ^RenameOnReboot -"Bakal diganti ngaranna nalika dimimitian-deui (restart): " -# ^Rename -"Ngaganti ngaran: " -# ^Skipped -Diliwat: " -# ^CopyDetails -Tiron Detil kana Clipboard -# ^LogInstall -Catet pross instalasi -# ^Byte -B -# ^Kilo -K -# ^Mega -M -# ^Giga -G \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nsh deleted file mode 100644 index 2397ec9ad..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Sundanese.nsh +++ /dev/null @@ -1,129 +0,0 @@ -;Language: Sundanese (33) -;By sukma gemala - http://facebook.com/sukma.gemala - -!insertmacro LANGFILE "Sundanese" "Basa Sunda" - -!ifdef MUI_WELCOMEPAGE - ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE "Baga, ieu th Apingan Masang $(^NameDA)" - ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "Apingan Masang bakal ngaping anjeun dina pross masangkeun $(^NameDA).$\r$\n$\r$\nAlusna mah tutupkeun heula program sjn anu ayeuna keur dijalankeun sammh nuluykeun masang ieu program. Eta hal aya patalina jeung kaperluan ngarobah file anu keur dipak ku sistem tanpa kudu ngamimitian-deui (restart) komputer anjeun.$\r$\n$\r$\n$_CLICK" -!endif - -!ifdef MUI_UNWELCOMEPAGE - ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE "Baga, ieu th Apingan Miceun $(^NameDA)" - ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "Apingan Miceun bakal ngaping anjeun dina pross miceun $(^NameDA).$\r$\n$\r$\nSamemeh ngamimitian miceun instalasina, anjeun kudu yakin heula yn $(^NameDA) henteu eukeur dijalankeun.$\r$\n$\r$\n$_CLICK" -!endif - -!ifdef MUI_LICENSEPAGE - ${LangFileString} MUI_TEXT_LICENSE_TITLE "Aturan jeung Kasapukan" - ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "Imeutan ieu aturan jeung kasapukan sammh masangkeun $(^NameDA)." - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "Lamun anjeun narima sakabh anu dipedar, klik Sapuk pikeun nuluykeun. Anjeun kudu satuju sangkan bisa masangkeun $(^NameDA)." - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "Lamun anjeun narima sakabh anu dipedar dina kasapukan, br contrng. Anjeun kudu satuju sangkan bisa masangkeun $(^NameDA). $_CLICK" - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Lamun anjeun narima sakabh anu dipedar dina kasapukan, pilih salah sahiji anu aya dihandap. Anjeun kudu satuju sangkan bisa masangkeun $(^NameDA). $_CLICK" -!endif - -!ifdef MUI_UNLICENSEPAGE - ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "Aturan jeung Kasapukan" - ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE "Imeutan ieu aturan jeung kasapukan sammh miceun $(^NameDA)." - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "Lamun anjeun narima sakabh anu dipedar, klik Sapuk pikeun nuluykeun. Anjeun kudu satuju sangkan bisa miceun $(^NameDA)." - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "Lamun anjeun narima sakabh anu dipedar dina kasapukan, br contrng. Anjeun kudu satuju sangkan bisa miceun $(^NameDA). $_CLICK" - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "Lamun anjeun narima sakabh anu dipedar dina kasapukan, pilih salah sahiji anu aya dihandap. Anjeun kudu satuju sangkan bisa miceun $(^NameDA). $_CLICK" -!endif - -!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE - ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "Penct Page Down pikeun ningali tuluyanana." -!endif - -!ifdef MUI_COMPONENTSPAGE - ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "Milih Komponn" - ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "Pilih fitur ti $(^NameDA) anu rk dipasang." - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "Wangenan" -!endif - -!ifdef MUI_UNCOMPONENTSPAGE - ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "Milih Komponn" - ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "Pilih fitur ti $(^NameDA) anu rk dipiceun." -!endif - -!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE - !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Tunjuk salah sahiji pikeun ningali kateranganana." - !else - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "Tunjuk salah sahiji pikeun ningali kateranganana." - !endif -!endif - -!ifdef MUI_DIRECTORYPAGE - ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "Milih Lokasi Masang" - ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "Pilih map pikeun tempat masangkeun $(^NameDA)." -!endif - -!ifdef MUI_UNDIRECTORYSPAGE - ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE "Milih Lokasi Miceun" - ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "Pilih map pikeun tempat miceun $(^NameDA)." -!endif - -!ifdef MUI_INSTFILESPAGE - ${LangFileString} MUI_TEXT_INSTALLING_TITLE "Masang" - ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "Tungguan, $(^NameDA) eukeur dipasangkeun." - ${LangFileString} MUI_TEXT_FINISH_TITLE "Pross Masangkeun Rngs" - ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "$(^NameDA) rngs dipasangkeun." - ${LangFileString} MUI_TEXT_ABORT_TITLE "Pross Masang Dibolaykeun" - ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "Masangkeun rngs tapi can sampurna." -!endif - -!ifdef MUI_UNINSTFILESPAGE - ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "Miceun" - ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE "Tungguan, $(^NameDA) eukeur dipiceun." - ${LangFileString} MUI_UNTEXT_FINISH_TITLE "Pross Miceun Rngs" - ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "$(^NameDA) rngs dipiceun." - ${LangFileString} MUI_UNTEXT_ABORT_TITLE "Pross Miceun Dibolaykeun" - ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "Miceun rngs tapi can sampurna." -!endif - -!ifdef MUI_FINISHPAGE - ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "Ngarngskeun Apingan Masang $(^NameDA)" - ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA) geus dipasangkeun kana komputer anjeun.$\r$\n$\r$\nKlik Rngs pikeun nutup Apingan Masang." - ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT "Komputer anjeun kudu dimimitian-deui (restart) pikeun ngarngskeun pross instalasi $(^NameDA). Mmimitian-deui ayeuna?" -!endif - -!ifdef MUI_UNFINISHPAGE - ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "Ngarngskeun Apingan Miceun $(^NameDA)" - ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA) geus dipiceun tina komputer anjeun.$\r$\n$\r$\nKlik Rngs pikeun nutup Apingan Miceun." - ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT "Komputer anjeun kudu dimimitian-deui (restart) pikeun ngarngskeun pross uninstall $(^NameDA). Mmimitian-deui ayeuna?" -!endif - -!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE - ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "Mimitian-deui" - ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "Moal waka" - ${LangFileString} MUI_TEXT_FINISH_RUN "&Jalankeun $(^NameDA)" - ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&Buka Koropak Bacaheula" - ${LangFileString} MUI_BUTTONTEXT_FINISH "&Rngs" -!endif - -!ifdef MUI_STARTMENUPAGE - ${LangFileString} MUI_TEXT_STARTMENU_TITLE "Milih Menu Mimiti" - ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "Pilih map Menu Mimiti (Start Menu) pikeun nempatkeun tumbu $(^NameDA)." - ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "Pilih map Menu Mimiti (Start Menu) pikeun nempatkeun tumbu ieu program. Og bisa nyieun ngaran map anyar." - ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "Ulah nyieun tumbu" -!endif - -!ifdef MUI_UNCONFIRMPAGE - ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "Miceun $(^NameDA)" - ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "Miceun $(^NameDA) tina komputer anjeun." -!endif - -!ifdef MUI_ABORTWARNING - ${LangFileString} MUI_TEXT_ABORTWARNING "Bener, rk kaluar tina pross masangkeun $(^Name)?" -!endif - -!ifdef MUI_UNABORTWARNING - ${LangFileString} MUI_UNTEXT_ABORTWARNING "Bener, rk kaluar tina pross miceun $(^Name)?" -!endif - -!ifdef MULTIUSER_INSTALLMODEPAGE - ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "Milih Pamak" - ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE "Milih pamak anu rk dipasangkeun $(^NameDA)." - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP "Pilih tujuan masangkeun $(^NameDA) keur soranganeun atawa keur kabh pamak komputer ieu. $(^ClickNext)" - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "Pasangkeun keur kabh pamak komputer ieu" - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "Kuring wungkul" -!endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nlf deleted file mode 100644 index 4a498ed90..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nsh deleted file mode 100644 index 0bb6cbceb..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swahili.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nlf deleted file mode 100644 index 20e1b4ee0..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nsh deleted file mode 100644 index f1525fc8d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Swedish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nlf deleted file mode 100644 index d1dce0540..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nsh deleted file mode 100644 index b47ad88e7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Tamil.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nlf deleted file mode 100644 index 34ec33370..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nsh deleted file mode 100644 index 29e74dce9..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Thai.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nlf deleted file mode 100644 index 90700348b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nsh deleted file mode 100644 index b46dd6fd5..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/TradChinese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nlf deleted file mode 100644 index bd1968b4b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nsh deleted file mode 100644 index 2f5586df2..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Turkish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nlf deleted file mode 100644 index 5d2a6bc2c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nsh deleted file mode 100644 index 8aeea8f4e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Twi.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nlf deleted file mode 100644 index e556221fd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nsh deleted file mode 100644 index 7111d5193..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Ukrainian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nlf deleted file mode 100644 index 6d0aed542..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nlf +++ /dev/null @@ -1,191 +0,0 @@ -# Header, don't edit -NLF v6 -# Start editing here -# Language ID -1152 -# Font and size - dash (-) means default فونت نامى ۋە چوڭلىقى -Arial -9 -# Codepage - dash (-) means ANSI code page كودبېتى -65001 -# RTL - anything else than RTL means LTR ئوڭدىن سولغا يېزىش -RTL -# Translation by Yasinjan Ghupur (yasenghupur@sina.com) 26 April 2012 -# ^Branding -Nullsoft Install System %s -# ^SetupCaption -$(^Name) قاچىلاش -# ^UninstallCaption -$(^Name) ئۆچۈرۈش -# ^LicenseSubCaption -: ئىجازەت كېلىشىمى -# ^ComponentsSubCaption -: قاچىلاش تاللاشلىرى -# ^DirSubCaption -: قاچىلايدىغان قىسقۇچ -# ^InstallingSubCaption -: قاچىلاۋاتىدۇ -# ^CompletedSubCaption -: تاماملاندى -# ^UnComponentsSubCaption -: ئۆچۈرۈش تاللاشلىرى -# ^UnDirSubCaption -: ئۆچۈرۈدىغان قىسقۇچ -# ^ConfirmSubCaption -: جەزىملەش -# ^UninstallingSubCaption -: ئۆچۈرۈۋاتىدۇ -# ^UnCompletedSubCaption -: تاماملاندى -# ^BackBtn -< &كەينىگە -# ^NextBtn -&ئالدىغا > -# ^AgreeBtn -قوشۇلىمەن -# ^AcceptBtn - ئىجازەت كېلىشىمىدىكى تۈرلەرگە قوشۇلىمەن -# ^DontAcceptBtn - ئىجازەت كېلىشىمىدىكى تۈرلەرگە قوشۇلمايمەن -# ^InstallBtn -&قاچىلاش -# ^UninstallBtn -& ئۆچۈرۈش -# ^CancelBtn -قالدۇرۇش -# ^CloseBtn -&يېپىش -# ^BrowseBtn -كۆرۈش... -# ^ShowDetailsBtn -تەپسىلاتىنى كۆرۈش -# ^ClickNext -ئالدىغا نى چېكىپ داۋاملاشتۇرۇڭ. -# ^ClickInstall -قاچىلاش نى چېكىپ قاچىلاشنى باشلاڭ. -# ^ClickUninstall -ئۆچۈرۈش نى چېكىپ ئۆچۈرۈشنى باشلاڭ. -# ^Name -نامى -# ^Completed -تاماملاندى -# ^LicenseText -$(^NameDA) نى قاچىلاشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،قوشۇلىمەن نى بېسىڭ . -# ^LicenseTextCB -$(^NameDA) نى قاچىلاشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،تاللاش كاتەكچىسى نى چېكىڭ . $_CLICK -# ^LicenseTextRB -$(^NameDA) نى قاچىلاشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،بىرىنجى تاللاش نى تاللاڭ . $_CLICK -# ^UnLicenseText -$(^NameDA) نى ئۆچۈرۈشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،قوشۇلىمەن نى بېسىڭ . -# ^UnLicenseTextCB -$(^NameDA) نى ئۆچۈرۈشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،تاللاش كاتەكچىسى نى چېكىڭ . $_CLICK -# ^UnLicenseTextRB -$(^NameDA) نى ئۆچۈرۈشتىن بۇرۇن ئىجازەت كېلىشىمىنى كۆرۈپ چىقىڭ. كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،بىرىنجى تاللاش نى تاللاڭ . $_CLICK -# ^Custom -ئۆزى بېكىتىش -# ^ComponentsText -قاچىلايدىغان بۆلەكلەرنى تاللاڭ ۋە قاچىلىمايدىغان بۆلەكلەرنى تاللىماڭ. $_CLICK -# ^ComponentsSubText1 -قاچىلاش ئۇسلۇبىنى تاللاڭ: -# ^ComponentsSubText2_NoInstTypes -قاچىلاش بۆلىكىنى تاللاڭ: -# ^ComponentsSubText2 -ياكى قاچىلىماقچى بولغان بۆلەكنى تاللاڭ: -# ^UnComponentsText -ئۆچۈرمەكچى بولغان بۆلەكنى تاللاڭ ھەمدە ئۆچۈرمەيدىغان بۆلەكنى تاللىماڭ. $_CLICK -# ^UnComponentsSubText1 -ئۆچۈرۈش ئۇسلۇبىنى تاللاڭ: -# ^UnComponentsSubText2_NoInstTypes -ئۆچۈرۈش بۆلىكىنى تاللاڭ: -# ^UnComponentsSubText2 -ياكى ئۆچۈرمەكچى بولغان بۆلەكنى تاللاڭ: -# ^DirText - قاچىلاش يېتەكچىسى $(^NameDA) نى بۇ قىسقۇچنىڭ ئاستىغا قاچىلايدۇ.باشقا قىسقۇچقا قاچىلماقچى بولسىڭىز،كۆرۈش نى چېكىپ باشقا قىسقۇچنى تاللاڭ . $_CLICK -# ^DirSubText -نىشان قىسقۇچ -# ^DirBrowseText -نى قاچىلايدىغان قىسقۇچنى تاللاڭ $(^NameDA): -# ^UnDirText -قاچىلاش يېتەكچىسى $(^NameDA) نى بۇ قىسقۇچنىڭ ئاستىدىن ئۆچۈرۈدۇ.باشقا قىسقۇچتىن ئۆچۈرمەكچى بولسىڭىز،كۆرۈش نى چېكىپ باشقا قىسقۇچنى تاللاڭ . $_CLICK -# ^UnDirSubText -"" -# ^UnDirBrowseText - $(^NameDA) نى ئۆچۈرۈدىغان قىسقۇچنى تاللاڭ : -# ^SpaceAvailable -"قاچىلاش بوشلۇقى يېتەرلىك: " -# ^SpaceRequired -" ئېھتىياجلىق قاچىلاش بوشلۇقى : " -# ^UninstallingText -$(^NameDA) نى تۆۋەندىكى قىسقۇچتىن ئۆچۈرۈدۇ. $_CLICK -# ^UninstallingSubText -دىن ئۆچۈرۈۋاتىدۇ: -# ^FileError -يازىدىغان ھۆججەتنى ئېچىش خاتالىقى: \r\n\r\n$0\r\n\r\nتوختىتۇش نى بېسىپ قاچىلاشنى توختۇتۇش,\r\nقايتىلاش ياكى \r\nبۇ ھۆججەتتىن ئاتلاپ ئۆتۈپ كېتىش. -# ^FileError_NoIgnore -يازىدىغان ھۆججەتنى ئېچىش خاتالىقى: \r\n\r\n$0\r\n\r\nقايتىلاش نى بېسىپ قاچىلاشنى قايتىلاش ياكى \r\n قاچىلاشنى قالدۇرۇش . -# ^CantWrite -"يازالمىدى: " -# ^CopyFailed -كۆچۈرەلمىدى -# ^CopyTo -"گە كۆچۈرۈش " -# ^Registering -"رۇيخەتكە ئېلىۋاتىدۇ: " -# ^Unregistering -"رۇيخەتتىن ئۆچۈرۈۋاتىدۇ: " -# ^SymbolNotFound -"بەلگىنى تاپالمىدى: " -# ^CouldNotLoad -"يۈكلىيەلمىدى: " -# ^CreateFolder -"قىسقۇچ قۇرۇش: " -# ^CreateShortcut -"تېزكۆرگۈچ قۇرۇش: " -# ^CreatedUninstaller -" ئۆچۈرۈش يېتەكچىسى ياسالدى: " -# ^Delete -"ھۆججەت ئۆچۈرۈش: " -# ^DeleteOnReboot -"قايتا قوزغالغاندا ئۆچۈرۈش: " -# ^ErrorCreatingShortcut -"تېزكۆرگۈچ قۇرۇش خاتالىقى: " -# ^ErrorCreating -"قۇرۇش خاتالىقى: " -# ^ErrorDecompressing -مەلۇماتلارنى ئەسلىگە قايتۇرۇش خاتالىقى! قاچىلاش يېتەكچىسى بۇزۇلغانمۇ؟ -# ^ErrorRegistering -DLL نى رۇيخەتكە ئېلىش خاتالىقى -# ^ExecShell -"قاپلىنىش بۇيرۇقى ئىجرا قىلىش : " -# ^Exec -"ئىجرا قىلىش: " -# ^Extract -"يېيىش: " -# ^ErrorWriting -"يېيىش : ھۆججەتكە يېزىش خاتالىقى " -# ^InvalidOpcode -قاچىلاش يېتەكچىسى بۇزۇلغان : ئىناۋەتسىز كود -# ^NoOLE -"گە OLE يوق : " -# ^OutputFolder -"چىقىرىدىغان قىسقۇچ: " -# ^RemoveFolder -"قىسقۇچنى ئۆچۈرۈش: " -# ^RenameOnReboot -" قايتا قوزغالغاندا نامىنى ئۆزگەرتىش: " -# ^Rename -"نامىنى ئۆزگەرتىش: " -# ^Skipped -"ئاتلاپ ئۆتتى: " -# ^CopyDetails -تەپسىلاتىنى ئىشتاختىغا كۆچۈرۈش -# ^LogInstall -قاچىلاش جەريانى خاتىرسى -# ^Byte -بايىت -# ^Kilo - كىلو -# ^Mega - مېگا -# ^Giga - گىگا \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nsh deleted file mode 100644 index 76bf6a615..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uyghur.nsh +++ /dev/null @@ -1,129 +0,0 @@ -;Language: Uyghur (1152) -;Uyghur(China), Translated By Yasinjan Ghupur (yasenghupur@sina.com) - -!insertmacro LANGFILE "Uyghur" "Uyghur" - -!ifdef MUI_WELCOMEPAGE - ${LangFileString} MUI_TEXT_WELCOME_INFO_TITLE " $(^NameDA) نى قاچىلاش يېتەكچىسىنى ئىشلىتىشىڭىزنى قارشى ئالىدۇ" - ${LangFileString} MUI_TEXT_WELCOME_INFO_TEXT "قاچىلاش يېتەكچىسى $(^NameDA)نى قاچىلاش جەريانىغا يېتەكچىلىك قىلىدۇ .$\r$\n$\r$\nقاچىلاشتىن بۇرۇن بارلىق پروگراممىلارنى يېپىۋېتىشنى تەۋسىيە قىلىدۇ،بۇنىڭ بىلەن قاچىلاپ بولغاندىن كېيىن كومپيۇتېرىڭىزنى قايتا قوزغاتمىسىڭىزمۇ بولىدۇ.$\r$\n$\r$\n$_CLICK" -!endif - -!ifdef MUI_UNWELCOMEPAGE - ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TITLE " $(^NameDA) نى ئۆچۈرۈش يېتەكچىسىنى ئىشلىتىشىڭىزنى قارشى ئالىدۇ" - ${LangFileString} MUI_UNTEXT_WELCOME_INFO_TEXT "ئۆچۈرۈش يېتەكچىسى$(^NameDA)نى ئۆچۈرۈش جەريانىغا يېتەكچىلىك قىلىدۇ .$\r$\n$\r$\n ئۆچۈرۈشتىن بۇرۇن $(^NameDA)نىڭ قوزغىتىلمىغانلىقىنى جەزىملەشتۈرۈڭ.$\r$\n$\r$\n$_CLICK" -!endif - -!ifdef MUI_LICENSEPAGE - ${LangFileString} MUI_TEXT_LICENSE_TITLE "ئىجازەت كېلىشىمى" - ${LangFileString} MUI_TEXT_LICENSE_SUBTITLE "$(^NameDA)نى قاچىلىشتىن بۇرۇن ئىجازەت تۈرلىرىنى كۆرۈپ چىقىڭ ." - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM "$(^NameDA)نى قاچىلىش ئۈچۈن،كېلىشىم تۈرلىرىگە قوشۇلىشىڭىز كېرەك. قوشۇلسىڭىز،قوشۇلىمەن نى بېسىپ داۋاملاشتۇرۇڭ ." - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX "$(^NameDA)نى قاچىلاش ئۈچۈن كېلىشىمگە قوشۇلىشىڭىز كېرەك كېلىشىم تۈرلىرىگە قوشۇلسىڭىز،تاللاش كاتىكىنى بېسىڭ. $_CLICK" - ${LangFileString} MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "$(^NameDA)نى قاچىلىش ئۈچۈن،كېلىشىم تۈرلىرىگە قوشۇلىشىڭىز كېرەك. قوشۇلسىڭىز،بىرىنجى تاللاشنى تاللاڭ. $_CLICK" -!endif - -!ifdef MUI_UNLICENSEPAGE - ${LangFileString} MUI_UNTEXT_LICENSE_TITLE "ئىجازەت كېلىشىمى" - ${LangFileString} MUI_UNTEXT_LICENSE_SUBTITLE " $(^NameDA)نى ئۆچۈرۈشتىن بۇرۇن ئىجازەت كېلىشىم تۈرلىرىنى كۆرۈپ چىقىڭ ." - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM "$(^NameDA)نى ئۆچۈرۈش ئۈچۈن، كېلىشىمگە قوشۇلىشىڭىز كېرەك .كېلىشىم تۈرلىرىگە قوشۇلسىڭىز, قوشۇلىمەن نى بېسىپ داۋاملاشتۇرۇڭ ." - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX "$(^NameDA) نى ئۆچۈرۈش ئۈچۈن كېلىشىم تۈرلىرىگە قوشۇلىشىڭىز كېرەك .قوشۇلسىڭىز, تاللاش كاتەكچىسىنى چېكىڭ. $_CLICK" - ${LangFileString} MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS "$(^NameDA)نى ئۆچۈرۈش ئۈچۈن كېلىشىم تۈرلىرىگە قوشۇلىشىڭىز كېرەك. قوشۇلسىڭىز،بىرىنجى تاللاشنى تاللاڭ . $_CLICK" -!endif - -!ifdef MUI_LICENSEPAGE | MUI_UNLICENSEPAGE - ${LangFileString} MUI_INNERTEXT_LICENSE_TOP "كېلىشىمنىڭ قالغان قىسمىنى كۆرۈش ئۈچۈن Page Down نى بېسىڭ ." -!endif - -!ifdef MUI_COMPONENTSPAGE - ${LangFileString} MUI_TEXT_COMPONENTS_TITLE "بۆلەك تاللاش" - ${LangFileString} MUI_TEXT_COMPONENTS_SUBTITLE "$(^NameDA) نى قاچىلاش ئۈچۈن ،ئېھتىياجىلىق ئىقتىدارلارنى تاللاڭ" -!endif - -!ifdef MUI_UNCOMPONENTSPAGE - ${LangFileString} MUI_UNTEXT_COMPONENTS_TITLE "بۆلەك تاللاش" - ${LangFileString} MUI_UNTEXT_COMPONENTS_SUBTITLE "$(^NameDA) نى ئۆچۈرۈش ئۈچۈن ،ئېھتىياجىلىق ئىقتىدارلارنى تاللاڭ." -!endif - -!ifdef MUI_COMPONENTSPAGE | MUI_UNCOMPONENTSPAGE - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE "چۈشەندۈرۈش" - !ifndef NSIS_CONFIG_COMPONENTPAGE_ALTERNATIVE - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "بۆلەكنىڭ چۈشەندۈرۈشىنى كۆرۈش ئۈچۈن،مائوسنى بۆلەكنىڭ ئۈستىگە ئاپىرىڭ." - !else - ${LangFileString} MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO "بۆلەكنىڭ چۈشەندۈرۈشىنى كۆرۈش ئۈچۈن،مائوسنى بۆلەكنىڭ ئۈستىگە ئاپىرىڭ." - !endif -!endif - -!ifdef MUI_DIRECTORYPAGE - ${LangFileString} MUI_TEXT_DIRECTORY_TITLE "قاچىلايدىغان ئورۇننى تاللاڭ" - ${LangFileString} MUI_TEXT_DIRECTORY_SUBTITLE "$(^NameDA)نى قاچىلاش ئۈچۈن قاچىلايدىغان قىسقۇچنى تاللاڭ." -!endif - -!ifdef MUI_UNDIRECTORYPAGE - ${LangFileString} MUI_UNTEXT_DIRECTORY_TITLE " ئۆچۈرۈدىغان ئورۇننى تاللاڭ" - ${LangFileString} MUI_UNTEXT_DIRECTORY_SUBTITLE "$(^NameDA)نى ئۆچۈرۈش ئۈچۈن ئۆچۈرۈدىغان قىسقۇچنى تاللاڭ." -!endif - -!ifdef MUI_INSTFILESPAGE - ${LangFileString} MUI_TEXT_INSTALLING_TITLE "قاچىلاۋاتىدۇ" - ${LangFileString} MUI_TEXT_INSTALLING_SUBTITLE "$(^NameDA)نى قاچىلاۋاتىدۇ...تەخىر قىلىڭ ." - ${LangFileString} MUI_TEXT_FINISH_TITLE "قاچىلاش تاماملاندى" - ${LangFileString} MUI_TEXT_FINISH_SUBTITLE "مۇۋەپپىقىيەتلىك قاچىلاندى." - ${LangFileString} MUI_TEXT_ABORT_TITLE "قاچىليالمىدى" - ${LangFileString} MUI_TEXT_ABORT_SUBTITLE "قاچىلاش مەغلۇپ بولدى." -!endif - -!ifdef MUI_UNINSTFILESPAGE - ${LangFileString} MUI_UNTEXT_UNINSTALLING_TITLE "ئۆچۈرۈش" - ${LangFileString} MUI_UNTEXT_UNINSTALLING_SUBTITLE " $(^NameDA)نى ئۆچۈرۈۋاتىدۇ... تەخىر قىلىڭ ." - ${LangFileString} MUI_UNTEXT_FINISH_TITLE "ئۆچۈرۈش تاماملاندى" - ${LangFileString} MUI_UNTEXT_FINISH_SUBTITLE "مۇۋەپپىقىيەتلىك ئۆچۈرۈلدى." - ${LangFileString} MUI_UNTEXT_ABORT_TITLE "ئۆچۈرەلمىدى" - ${LangFileString} MUI_UNTEXT_ABORT_SUBTITLE "ئۆچۈرۈش مەغلۇپ بولدى." -!endif - -!ifdef MUI_FINISHPAGE - ${LangFileString} MUI_TEXT_FINISH_INFO_TITLE "قاچىلاش يېتەكچىسى$(^NameDA)نى قاچىلاشنى تاماملىدى " - ${LangFileString} MUI_TEXT_FINISH_INFO_TEXT "$(^NameDA)كومپيۇتېرىڭىزغا قاچىلاندى .$\r$\n$\r$\nتامام نى بېسىپ قاچىلاش يېتەكچىسىنى يېپىڭ." - ${LangFileString} MUI_TEXT_FINISH_INFO_REBOOT " $(^NameDA) نى قاچىلاشنى تاماملاش ئۈچۈن،كومپيۇتېرىڭىزنى قايتا قوزغىتىڭ كومپيۇتېرىڭىزنى قايتا قوزغىتامسىز؟ ." -!endif - -!ifdef MUI_UNFINISHPAGE - ${LangFileString} MUI_UNTEXT_FINISH_INFO_TITLE "ئۆچۈرۈش يېتەكچىسى$(^NameDA)نى ئۆچۈرۈشنى تاماملىدى " - ${LangFileString} MUI_UNTEXT_FINISH_INFO_TEXT "$(^NameDA)كومپيۇتېرىڭىزدىن ئۆچۈرۈلدى .$\r$\n$\r$\nئۆچۈرۈش يېتەكچىسىنى يېپىش ئۈچۈن تامام نى بېسىڭ." - ${LangFileString} MUI_UNTEXT_FINISH_INFO_REBOOT " $(^NameDA) نى ئۆچۈرۈشنى تاماملاش ئۈچۈن،كومپيۇتېرىڭىزنى قايتا قوزغىتىڭ كومپيۇتېرىڭىزنى قايتا قوزغىتامسىز؟ " -!endif - -!ifdef MUI_FINISHPAGE | MUI_UNFINISHPAGE - ${LangFileString} MUI_TEXT_FINISH_REBOOTNOW "ھازىرلا قايتا قوزغۇتۇش" - ${LangFileString} MUI_TEXT_FINISH_REBOOTLATER "كېيىنرەك كومپيۇتېرنى قولدا قايتا قوزغىتاي" - ${LangFileString} MUI_TEXT_FINISH_RUN "&$(^NameDA)نى ئىجرا قىلىش " - ${LangFileString} MUI_TEXT_FINISH_SHOWREADME "&ياردەمنى كۆرۈش" - ${LangFileString} MUI_BUTTONTEXT_FINISH "&تامام" -!endif - -!ifdef MUI_STARTMENUPAGE - ${LangFileString} MUI_TEXT_STARTMENU_TITLE "باشلاش تىزىملىكى قىسقۇچى تاللاش" - ${LangFileString} MUI_TEXT_STARTMENU_SUBTITLE "$(^NameDA)تېزكۆرگۈچى ئۈچۈن باشلاش تىزىملىكى قىسقۇچى تاللاش ." - ${LangFileString} MUI_INNERTEXT_STARTMENU_TOP "پروگراممىنىڭ تېزكۆرگۈچىنى ياسايدىغان باشلاش تىزىملىك قىسقۇچىنى تاللاڭ ھەم يېڭى قىسقۇچقا ئىسىم كىرگۈزۈڭ." - ${LangFileString} MUI_INNERTEXT_STARTMENU_CHECKBOX "تېزكۆرگۈچ ياسىمىسۇن" -!endif - -!ifdef MUI_UNCONFIRMPAGE - ${LangFileString} MUI_UNTEXT_CONFIRM_TITLE "$(^NameDA)نى ئۆچۈرۈش " - ${LangFileString} MUI_UNTEXT_CONFIRM_SUBTITLE "$(^NameDA)نى كومپيۇتېردىن ئۆچۈرۈش ." -!endif - -!ifdef MUI_ABORTWARNING - ${LangFileString} MUI_TEXT_ABORTWARNING " $(^NameDA)نى قاچىلاشتىن چېكىنەمسىز؟" -!endif - -!ifdef MUI_UNABORTWARNING - ${LangFileString} MUI_UNTEXT_ABORTWARNING " $(^NameDA)نى ئۆچۈرۈشتىن چېكىنەمسىز؟" -!endif - -!ifdef MULTIUSER_INSTALLMODEPAGE - ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_TITLE "ئىشلەتكۈچى تاللاش" - ${LangFileString} MULTIUSER_TEXT_INSTALLMODE_SUBTITLE " $(^NameDA) نى قاچىلاش ئۈچۈن ئىشلەتكۈچىلەرنى تاللاڭ." - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_TOP " $(^NameDA) نى ئۆزى ئۈچۈنلا قاچىلاش ياكى بارلىق ئىشلەتكۈچىلەر ئۈچۈن قاچىلاشنى تاللاش. $(^ClickNext)" - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_ALLUSERS "بارلىق ئىشلەتكۈچىلەرگە قاچىلاش" - ${LangFileString} MULTIUSER_INNERTEXT_INSTALLMODE_CURRENTUSER "ماڭىلا قاچىلاش" -!endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nlf deleted file mode 100644 index e5c40ce72..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nsh deleted file mode 100644 index 79beed70a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Uzbek.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nlf deleted file mode 100644 index 79609e1c4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nsh deleted file mode 100644 index 84a8f7def..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Valencian.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nlf deleted file mode 100644 index d5bb8e8b2..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nsh deleted file mode 100644 index 7c0850adf..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Vietnamese.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nlf deleted file mode 100644 index d28bf3221..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nsh deleted file mode 100644 index 8af9f1bc5..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Welsh.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nlf deleted file mode 100644 index c22f1af84..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nsh deleted file mode 100644 index a2782cff3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Yoruba.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nlf b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nlf deleted file mode 100644 index d2de2f204..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nlf and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nsh deleted file mode 100644 index 113d7d138..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Language files/Zulu.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Deprecated.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Deprecated.nsh deleted file mode 100644 index ddde664e8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Deprecated.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Interface.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Interface.nsh deleted file mode 100644 index 2fba6a0d8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Interface.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Localization.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Localization.nsh deleted file mode 100644 index aa7fc2a70..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Localization.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/MUI2.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/MUI2.nsh deleted file mode 100644 index e571bd028..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/MUI2.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages.nsh deleted file mode 100644 index 76b033f41..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Components.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Components.nsh deleted file mode 100644 index eeeeb5714..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Components.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Directory.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Directory.nsh deleted file mode 100644 index dafe19494..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Directory.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Finish.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Finish.nsh deleted file mode 100644 index 1f6250d54..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Finish.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/InstallFiles.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/InstallFiles.nsh deleted file mode 100644 index 00796c16b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/InstallFiles.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/License.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/License.nsh deleted file mode 100644 index 2979cc9ca..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/License.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/StartMenu.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/StartMenu.nsh deleted file mode 100644 index b1403b205..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/StartMenu.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh deleted file mode 100644 index 9b01ed378..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/UninstallConfirm.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Welcome.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Welcome.nsh deleted file mode 100644 index b80beb92f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI 2/Pages/Welcome.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/System.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/System.nsh deleted file mode 100644 index e58d6d214..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/System.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/ioSpecial.ini b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/ioSpecial.ini deleted file mode 100644 index 9dba15455..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/Modern UI/ioSpecial.ini and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/api.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/api.h deleted file mode 100644 index 7418b873c..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/api.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * apih - * - * This file is a part of NSIS. - * - * Copyright (C) 1999-2009 Nullsoft and Contributors - * - * Licensed under the zlib/libpng license (the "License"); - * you may not use this file except in compliance with the License. - * - * Licence details can be found in the file COPYING. - * - * This software is provided 'as-is', without any express or implied - * warranty. - */ - -#ifndef _NSIS_EXEHEAD_API_H_ -#define _NSIS_EXEHEAD_API_H_ - -// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version -// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x)) -// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {} - -#define NSISPIAPIVER_1_0 0x00010000 -#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0 - -// NSIS Plug-In Callback Messages -enum NSPIM -{ - NSPIM_UNLOAD, // This is the last message a plugin gets, do final cleanup - NSPIM_GUIUNLOAD, // Called after .onGUIEnd -}; - -// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback() -// Return NULL for unknown messages -// Should always be __cdecl for future expansion possibilities -typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM); - -// extra_parameters data structures containing other interesting stuff -// but the stack, variables and HWND passed on to plug-ins. -typedef struct -{ - int autoclose; - int all_user_var; - int exec_error; - int abort; - int exec_reboot; // NSIS_SUPPORT_REBOOT - int reboot_called; // NSIS_SUPPORT_REBOOT - int XXX_cur_insttype; // depreacted - int plugin_api_version; // see NSISPIAPIVER_CURR - // used to be XXX_insttype_changed - int silent; // NSIS_CONFIG_SILENT_SUPPORT - int instdir_error; - int rtl; - int errlvl; - int alter_reg_view; - int status_update; -} exec_flags_t; - -#ifndef NSISCALL -# define NSISCALL __stdcall -#endif - -typedef struct { - exec_flags_t *exec_flags; - int (NSISCALL *ExecuteCodeSegment)(int, HWND); - void (NSISCALL *validate_filename)(char *); - int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors -} extra_parameters; - -// Definitions for page showing plug-ins -// See Ui.c to understand better how they're used - -// sent to the outer window to tell it to go to the next inner window -#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8) - -// custom pages should send this message to let NSIS know they're ready -#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd) - -// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning -#define NOTIFY_BYE_BYE 'x' - -#endif /* _PLUGIN_H_ */ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.h deleted file mode 100644 index 63b8b8467..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.h +++ /dev/null @@ -1,74 +0,0 @@ -#ifndef ___NSIS_PLUGIN__H___ -#define ___NSIS_PLUGIN__H___ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "api.h" - -#ifndef NSISCALL -# define NSISCALL __stdcall -#endif - -#define EXDLL_INIT() { \ - g_stringsize=string_size; \ - g_stacktop=stacktop; \ - g_variables=variables; } - -typedef struct _stack_t { - struct _stack_t *next; - char text[1]; // this should be the length of string_size -} stack_t; - -enum -{ -INST_0, // $0 -INST_1, // $1 -INST_2, // $2 -INST_3, // $3 -INST_4, // $4 -INST_5, // $5 -INST_6, // $6 -INST_7, // $7 -INST_8, // $8 -INST_9, // $9 -INST_R0, // $R0 -INST_R1, // $R1 -INST_R2, // $R2 -INST_R3, // $R3 -INST_R4, // $R4 -INST_R5, // $R5 -INST_R6, // $R6 -INST_R7, // $R7 -INST_R8, // $R8 -INST_R9, // $R9 -INST_CMDLINE, // $CMDLINE -INST_INSTDIR, // $INSTDIR -INST_OUTDIR, // $OUTDIR -INST_EXEDIR, // $EXEDIR -INST_LANG, // $LANGUAGE -__INST_LAST -}; - -extern unsigned int g_stringsize; -extern stack_t **g_stacktop; -extern char *g_variables; - -int NSISCALL popstring(char *str); // 0 on success, 1 on empty stack -int NSISCALL popstringn(char *str, int maxlen); // with length limit, pass 0 for g_stringsize -int NSISCALL popint(); // pops an integer -int NSISCALL popint_or(); // with support for or'ing (2|4|8) -int NSISCALL myatoi(const char *s); // converts a string to an integer -unsigned NSISCALL myatou(const char *s); // converts a string to an unsigned integer, decimal only -int NSISCALL myatoi_or(const char *s); // with support for or'ing (2|4|8) -void NSISCALL pushstring(const char *str); -void NSISCALL pushint(int value); -char * NSISCALL getuservariable(const int varnum); -void NSISCALL setuservariable(const int varnum, const char *var); - -#ifdef __cplusplus -} -#endif - -#endif//!___NSIS_PLUGIN__H___ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.lib b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.lib deleted file mode 100644 index ea64b80d8..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_ansi/pluginapi.lib and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/api.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/api.h deleted file mode 100644 index bab952224..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/api.h +++ /dev/null @@ -1,83 +0,0 @@ -/* - * apih - * - * This file is a part of NSIS. - * - * Copyright (C) 1999-2009 Nullsoft and Contributors - * - * Licensed under the zlib/libpng license (the "License"); - * you may not use this file except in compliance with the License. - * - * Licence details can be found in the file COPYING. - * - * This software is provided 'as-is', without any express or implied - * warranty. - */ - -#ifndef _NSIS_EXEHEAD_API_H_ -#define _NSIS_EXEHEAD_API_H_ - -// Starting with NSIS 2.42, you can check the version of the plugin API in exec_flags->plugin_api_version -// The format is 0xXXXXYYYY where X is the major version and Y is the minor version (MAKELONG(y,x)) -// When doing version checks, always remember to use >=, ex: if (pX->exec_flags->plugin_api_version >= NSISPIAPIVER_1_0) {} - -#define NSISPIAPIVER_1_0 0x00010000 -#define NSISPIAPIVER_CURR NSISPIAPIVER_1_0 - -// NSIS Plug-In Callback Messages -enum NSPIM -{ - NSPIM_UNLOAD, // This is the last message a plugin gets, do final cleanup - NSPIM_GUIUNLOAD, // Called after .onGUIEnd -}; - -// Prototype for callbacks registered with extra_parameters->RegisterPluginCallback() -// Return NULL for unknown messages -// Should always be __cdecl for future expansion possibilities -typedef UINT_PTR (*NSISPLUGINCALLBACK)(enum NSPIM); - -// extra_parameters data structures containing other interesting stuff -// but the stack, variables and HWND passed on to plug-ins. -typedef struct -{ - int autoclose; - int all_user_var; - int exec_error; - int abort; - int exec_reboot; // NSIS_SUPPORT_REBOOT - int reboot_called; // NSIS_SUPPORT_REBOOT - int XXX_cur_insttype; // depreacted - int plugin_api_version; // see NSISPIAPIVER_CURR - // used to be XXX_insttype_changed - int silent; // NSIS_CONFIG_SILENT_SUPPORT - int instdir_error; - int rtl; - int errlvl; - int alter_reg_view; - int status_update; -} exec_flags_t; - -#ifndef NSISCALL -# define NSISCALL __stdcall -#endif - -typedef struct { - exec_flags_t *exec_flags; - int (NSISCALL *ExecuteCodeSegment)(int, HWND); - void (NSISCALL *validate_filename)(TCHAR *); - int (NSISCALL *RegisterPluginCallback)(HMODULE, NSISPLUGINCALLBACK); // returns 0 on success, 1 if already registered and < 0 on errors -} extra_parameters; - -// Definitions for page showing plug-ins -// See Ui.c to understand better how they're used - -// sent to the outer window to tell it to go to the next inner window -#define WM_NOTIFY_OUTER_NEXT (WM_USER+0x8) - -// custom pages should send this message to let NSIS know they're ready -#define WM_NOTIFY_CUSTOM_READY (WM_USER+0xd) - -// sent as wParam with WM_NOTIFY_OUTER_NEXT when user cancels - heed its warning -#define NOTIFY_BYE_BYE 'x' - -#endif /* _PLUGIN_H_ */ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/nsis_tchar.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/nsis_tchar.h deleted file mode 100644 index 9532d4e4c..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/nsis_tchar.h +++ /dev/null @@ -1,214 +0,0 @@ -/* - * nsis_tchar.h - * - * This file is a part of NSIS. - * - * Copyright (C) 1999-2007 Nullsoft and Contributors - * - * This software is provided 'as-is', without any express or implied - * warranty. - * - * For Unicode support by Jim Park -- 08/30/2007 - */ - -// Jim Park: Only those we use are listed here. - -#pragma once - -#ifdef _UNICODE - -#ifndef _T -#define __T(x) L ## x -#define _T(x) __T(x) -#define _TEXT(x) __T(x) -#endif -typedef wchar_t TCHAR; -typedef wchar_t _TUCHAR; - -// program -#define _tmain wmain -#define _tWinMain wWinMain -#define _tenviron _wenviron -#define __targv __wargv - -// printfs -#define _ftprintf fwprintf -#define _sntprintf _snwprintf -#define _stprintf _swprintf -#define _tprintf wprintf -#define _vftprintf vfwprintf -#define _vsntprintf _vsnwprintf -#define _vstprintf _vswprintf - -// scanfs -#define _tscanf wscanf -#define _stscanf swscanf - -// string manipulations -#define _tcscat wcscat -#define _tcschr wcschr -#define _tcsclen wcslen -#define _tcscpy wcscpy -#define _tcsdup _wcsdup -#define _tcslen wcslen -#define _tcsnccpy wcsncpy -#define _tcsncpy wcsncpy -#define _tcsrchr wcsrchr -#define _tcsstr wcsstr -#define _tcstok wcstok - -// string comparisons -#define _tcscmp wcscmp -#define _tcsicmp _wcsicmp -#define _tcsncicmp _wcsnicmp -#define _tcsncmp wcsncmp -#define _tcsnicmp _wcsnicmp - -// upper / lower -#define _tcslwr _wcslwr -#define _tcsupr _wcsupr -#define _totlower towlower -#define _totupper towupper - -// conversions to numbers -#define _tcstoi64 _wcstoi64 -#define _tcstol wcstol -#define _tcstoul wcstoul -#define _tstof _wtof -#define _tstoi _wtoi -#define _tstoi64 _wtoi64 -#define _ttoi _wtoi -#define _ttoi64 _wtoi64 -#define _ttol _wtol - -// conversion from numbers to strings -#define _itot _itow -#define _ltot _ltow -#define _i64tot _i64tow -#define _ui64tot _ui64tow - -// file manipulations -#define _tfopen _wfopen -#define _topen _wopen -#define _tremove _wremove -#define _tunlink _wunlink - -// reading and writing to i/o -#define _fgettc fgetwc -#define _fgetts fgetws -#define _fputts fputws -#define _gettchar getwchar - -// directory -#define _tchdir _wchdir - -// environment -#define _tgetenv _wgetenv -#define _tsystem _wsystem - -// time -#define _tcsftime wcsftime - -#else // ANSI - -#ifndef _T -#define _T(x) x -#define _TEXT(x) x -#endif -typedef char TCHAR; -typedef unsigned char _TUCHAR; - -// program -#define _tmain main -#define _tWinMain WinMain -#define _tenviron environ -#define __targv __argv - -// printfs -#define _ftprintf fprintf -#define _sntprintf _snprintf -#define _stprintf sprintf -#define _tprintf printf -#define _vftprintf vfprintf -#define _vsntprintf _vsnprintf -#define _vstprintf vsprintf - -// scanfs -#define _tscanf scanf -#define _stscanf sscanf - -// string manipulations -#define _tcscat strcat -#define _tcschr strchr -#define _tcsclen strlen -#define _tcscnlen strnlen -#define _tcscpy strcpy -#define _tcsdup _strdup -#define _tcslen strlen -#define _tcsnccpy strncpy -#define _tcsrchr strrchr -#define _tcsstr strstr -#define _tcstok strtok - -// string comparisons -#define _tcscmp strcmp -#define _tcsicmp _stricmp -#define _tcsncmp strncmp -#define _tcsncicmp _strnicmp -#define _tcsnicmp _strnicmp - -// upper / lower -#define _tcslwr _strlwr -#define _tcsupr _strupr - -#define _totupper toupper -#define _totlower tolower - -// conversions to numbers -#define _tcstol strtol -#define _tcstoul strtoul -#define _tstof atof -#define _tstoi atoi -#define _tstoi64 _atoi64 -#define _tstoi64 _atoi64 -#define _ttoi atoi -#define _ttoi64 _atoi64 -#define _ttol atol - -// conversion from numbers to strings -#define _i64tot _i64toa -#define _itot _itoa -#define _ltot _ltoa -#define _ui64tot _ui64toa - -// file manipulations -#define _tfopen fopen -#define _topen _open -#define _tremove remove -#define _tunlink _unlink - -// reading and writing to i/o -#define _fgettc fgetc -#define _fgetts fgets -#define _fputts fputs -#define _gettchar getchar - -// directory -#define _tchdir _chdir - -// environment -#define _tgetenv getenv -#define _tsystem system - -// time -#define _tcsftime strftime - -#endif - -// is functions (the same in Unicode / ANSI) -#define _istgraph isgraph -#define _istascii __isascii - -#define __TFILE__ _T(__FILE__) -#define __TDATE__ _T(__DATE__) -#define __TTIME__ _T(__TIME__) diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.h deleted file mode 100644 index e762bbfc4..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.h +++ /dev/null @@ -1,101 +0,0 @@ -#ifndef ___NSIS_PLUGIN__H___ -#define ___NSIS_PLUGIN__H___ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "api.h" -#include "nsis_tchar.h" - -#ifndef NSISCALL -# define NSISCALL __stdcall -#endif - -#define EXDLL_INIT() { \ - g_stringsize=string_size; \ - g_stacktop=stacktop; \ - g_variables=variables; } - -typedef struct _stack_t { - struct _stack_t *next; - TCHAR text[1]; // this should be the length of string_size -} stack_t; - -enum -{ -INST_0, // $0 -INST_1, // $1 -INST_2, // $2 -INST_3, // $3 -INST_4, // $4 -INST_5, // $5 -INST_6, // $6 -INST_7, // $7 -INST_8, // $8 -INST_9, // $9 -INST_R0, // $R0 -INST_R1, // $R1 -INST_R2, // $R2 -INST_R3, // $R3 -INST_R4, // $R4 -INST_R5, // $R5 -INST_R6, // $R6 -INST_R7, // $R7 -INST_R8, // $R8 -INST_R9, // $R9 -INST_CMDLINE, // $CMDLINE -INST_INSTDIR, // $INSTDIR -INST_OUTDIR, // $OUTDIR -INST_EXEDIR, // $EXEDIR -INST_LANG, // $LANGUAGE -__INST_LAST -}; - -extern unsigned int g_stringsize; -extern stack_t **g_stacktop; -extern TCHAR *g_variables; - -int NSISCALL popstring(TCHAR *str); // 0 on success, 1 on empty stack -int NSISCALL popstringn(TCHAR *str, int maxlen); // with length limit, pass 0 for g_stringsize -int NSISCALL popint(); // pops an integer -int NSISCALL popint_or(); // with support for or'ing (2|4|8) -int NSISCALL myatoi(const TCHAR *s); // converts a string to an integer -unsigned NSISCALL myatou(const TCHAR *s); // converts a string to an unsigned integer, decimal only -int NSISCALL myatoi_or(const TCHAR *s); // with support for or'ing (2|4|8) -void NSISCALL pushstring(const TCHAR *str); -void NSISCALL pushint(int value); -TCHAR * NSISCALL getuservariable(const int varnum); -void NSISCALL setuservariable(const int varnum, const TCHAR *var); - -#ifdef _UNICODE -#define PopStringW(x) popstring(x) -#define PushStringW(x) pushstring(x) -#define SetUserVariableW(x,y) setuservariable(x,y) - -int NSISCALL PopStringA(char* ansiStr); -void NSISCALL PushStringA(const char* ansiStr); -void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr); -void NSISCALL GetUserVariableA(const int varnum, char* ansiStr); -void NSISCALL SetUserVariableA(const int varnum, const char* ansiStr); - -#else -// ANSI defs - -#define PopStringA(x) popstring(x) -#define PushStringA(x) pushstring(x) -#define SetUserVariableA(x,y) setuservariable(x,y) - -int NSISCALL PopStringW(wchar_t* wideStr); -void NSISCALL PushStringW(wchar_t* wideStr); -void NSISCALL GetUserVariableW(const int varnum, wchar_t* wideStr); -void NSISCALL GetUserVariableA(const int varnum, char* ansiStr); -void NSISCALL SetUserVariableW(const int varnum, const wchar_t* wideStr); - -#endif - -#ifdef __cplusplus -} -#endif - -#endif//!___NSIS_PLUGIN__H___ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.lib b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.lib deleted file mode 100644 index 5a208423f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/nsis_unicode/pluginapi.lib and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/resource.h b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/resource.h deleted file mode 100644 index baf8b2829..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/resource.h +++ /dev/null @@ -1,14 +0,0 @@ -//{{NO_DEPENDENCIES}} -// Microsoft Visual C++ generated include file. -// Used by selfdel.rc - -// Next default values for new objects -// -#ifdef APSTUDIO_INVOKED -#ifndef APSTUDIO_READONLY_SYMBOLS -#define _APS_NEXT_RESOURCE_VALUE 101 -#define _APS_NEXT_COMMAND_VALUE 40001 -#define _APS_NEXT_CONTROL_VALUE 1001 -#define _APS_NEXT_SYMED_VALUE 101 -#endif -#endif diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.c b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.c deleted file mode 100644 index dbd88354b..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.c +++ /dev/null @@ -1,324 +0,0 @@ -/*************************************************** -* FILE NAME: selfdel.c -* -* PURPOSE: -* NSIS plug-in for self deleting uninstaller for -* Win9x/WinNT (all versions) -* -* CONSIDERATIONS -* -* MSVC6: works with Release built only, because source -* file must be compiled with /GZ turned OFF, but in -* Debug builds it is always on (basically, disable -* run-time stack checks) -* -* CHANGE HISTORY -* -* James Brown - Oct 01 2003 -* - Original http://www.catch22.net/tuts/selfdel.asp -* -* Takhir Bedertdinov - Jan 21 2006 -* - Converted to NSIS plug-in, rmdir implementation, MSVCRT -* dependencies removed -* -* Stuart Welch - Jul 17 2011 -* - Fixed for x64 by specifying full path to explorer.exe -* - Ensures WOW64 file system redirection is enabled -* - Reduced deletion retry to 500ms -* - Built with VS2010 -* - Added Unicode build -* - Added version information resource -* - Calls MoveFileEx with MOVEFILE_DELAY_UNTIL_REBOOT on failure -* -* Stuart Welch - Aug 10 2011 -* - Added /REBOOT -* -**************************************************/ - -#define WINVER 0x0400 -#define _WIN32_WINNT 0x0400 -#include - -#ifdef UNICODE -#include "nsis_unicode\pluginapi.h" -#else -#include "nsis_ansi\pluginapi.h" -#endif - -#ifdef MoveFileEx -#undef MoveFileEx -#endif - -#ifndef EWX_FORCEIFHUNG -#define EWX_FORCEIFHUNG 0x00000010 -#endif - -#pragma pack(push, 1) - -#define CODESIZE 0x200 -#define SWITCH_RMDIR TEXT("/RMDIR") -#define SWITCH_REBOOT TEXT("/REBOOT") - -// -// Structure to inject into remote process. Contains -// function pointers and code to execute. -// -typedef struct _SELFDEL -{ - struct _SELFDEL *Arg0; // pointer to self - - BYTE opCodes[CODESIZE]; // code - - HANDLE hParent; // parent process handle - - FARPROC fnWaitForSingleObject; - FARPROC fnCloseHandle; - FARPROC fnDeleteFile; - FARPROC fnSleep; - FARPROC fnExitProcess; - FARPROC fnRemoveDirectory; - FARPROC fnGetLastError; - FARPROC fnExitWindowsEx; - - TCHAR szFileName[MAX_PATH]; // file to delete - BOOL fRemDir; - BOOL fReboot; - -} SELFDEL; - -#pragma pack(pop) - -#define NSISFUNC(name) void __declspec(dllexport) name(HWND hWndParent, int string_size, TCHAR* variables, stack_t** stacktop, extra_parameters* extra) -#define DLL_INIT() EXDLL_INIT(); - -typedef BOOLEAN (WINAPI* PWow64EnableWow64FsRedirection)(BOOLEAN Wow64FsEnableRedirection); -typedef BOOL (WINAPI* PMoveFileEx)(LPCTSTR lpExistingFileName, LPCTSTR lpNewFileName, DWORD dwFlags); - -#ifdef _DEBUG -#define FUNC_ADDR(func) (PVOID)(*(DWORD *)((BYTE *)func + 1) + (DWORD)((BYTE *)func + 5)) -#else -#define FUNC_ADDR(func) func -#endif - -/***************************************************** - * FUNCTION NAME: remote_thread() - * PURPOSE: - * Routine to execute in remote process - * SPECIAL CONSIDERATIONS: - * Takhir: I hope it still less then CODESIZE after - * I added rmdir - *****************************************************/ -static void remote_thread(SELFDEL *remote) -{ - TCHAR *p = remote->szFileName, *e; - - // Wait for parent process to terminate - remote->fnWaitForSingleObject(remote->hParent, INFINITE); - remote->fnCloseHandle(remote->hParent); - - // Try to delete the executable file - while(!remote->fnDeleteFile(remote->szFileName)) - { - // Failed - try again in a bit - remote->fnSleep(500); - } - - // Takhir: my rmdir add-on :) - // Do we have at least one back slash in full path-name - // strrchr() implementation - if(remote->fRemDir) - { - while(*++p != 0) - { - if(*p == '\\') - e = p; - } - - *e = 0; - - // Root install safe, rmdir on Wins doesn't delete 'c:' - remote->fnRemoveDirectory(remote->szFileName); - } - - // Afrow UK: reboot add-on - if (remote->fReboot) - { - remote->fnExitWindowsEx(EWX_REBOOT|EWX_FORCEIFHUNG, 0); - } - - // Finished! Exit so that we don't execute garbage code - remote->fnExitProcess(0); -} - -/***************************************************** - * FUNCTION NAME: my_memcpy() - * PURPOSE: - * msvcrt replacement - * SPECIAL CONSIDERATIONS: - * - *****************************************************/ -void my_memcpy(BYTE* dst, BYTE* src, int len) -{ - int i; - for(i=0;i -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102 - -CFG=selfdel - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "selfdel.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "selfdel.mak" CFG="selfdel - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "selfdel - Win32 Release" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE "selfdel - Win32 Debug" (based on "Win32 (x86) Dynamic-Link Library") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -MTL=midl.exe -RSC=rc.exe - -!IF "$(CFG)" == "selfdel - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../debug" -# PROP Intermediate_Dir "../debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "selfdel_EXPORTS" /YX /FD /c -# ADD CPP /nologo /MT /W3 /GX /O1 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "selfdel_EXPORTS" /FD /c -# SUBTRACT CPP /YX -# ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 -# ADD LINK32 kernel32.lib user32.lib /nologo /entry:"DllMain" /dll /machine:I386 /nodefaultlib /out:"..\..\plugins\SelfDel.dll" /opt:nowin98 -# SUBTRACT LINK32 /pdb:none - -!ELSEIF "$(CFG)" == "selfdel - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../Debug" -# PROP Intermediate_Dir "../Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "selfdel_EXPORTS" /YX /FD /GZ /c -# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /D "selfdel_EXPORTS" /YX /FD /GZ /c -# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /incremental:no /machine:I386 /out:"..\..\plugins\selfdel.dll" /pdbtype:sept -# SUBTRACT LINK32 /debug - -!ENDIF - -# Begin Target - -# Name "selfdel - Win32 Release" -# Name "selfdel - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=.\selfdel.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.dsw b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.dsw deleted file mode 100644 index 787b607df..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.dsw +++ /dev/null @@ -1,29 +0,0 @@ -Microsoft Developer Studio Workspace File, Format Version 6.00 -# WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! - -############################################################################### - -Project: "selfdel"=".\selfdel.dsp" - Package Owner=<4> - -Package=<5> -{{{ -}}} - -Package=<4> -{{{ -}}} - -############################################################################### - -Global: - -Package=<5> -{{{ -}}} - -Package=<3> -{{{ -}}} - -############################################################################### - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.rc b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.rc deleted file mode 100644 index d22bc07fe..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.rc and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.sln b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.sln deleted file mode 100644 index a8b81b637..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.sln +++ /dev/null @@ -1,23 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 11.00 -# Visual Studio 2010 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "selfdel", "selfdel.vcxproj", "{7A296601-9716-5C64-8D09-09D1C67BF8B1}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release Unicode|Win32 = Release Unicode|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Debug|Win32.ActiveCfg = Debug|Win32 - {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Debug|Win32.Build.0 = Debug|Win32 - {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Release Unicode|Win32.ActiveCfg = Release Unicode|Win32 - {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Release Unicode|Win32.Build.0 = Release Unicode|Win32 - {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Release|Win32.ActiveCfg = Release|Win32 - {7A296601-9716-5C64-8D09-09D1C67BF8B1}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj deleted file mode 100644 index 9ad1f4203..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj +++ /dev/null @@ -1,184 +0,0 @@ - - - - - Debug - Win32 - - - Release Unicode - Win32 - - - Release - Win32 - - - - - - - - - DynamicLibrary - false - MultiByte - - - DynamicLibrary - false - Unicode - - - DynamicLibrary - false - MultiByte - - - - - - - - - - - - - - - - - - - false - false - - - false - $(SolutionDir)..\..\Plugins\ - false - - - false - $(SolutionDir)..\..\Unicode\Plugins\ - false - - - - MultiThreadedDebugDLL - Default - false - Disabled - true - Level3 - true - EditAndContinue - WIN32;_DEBUG;_WINDOWS;_USRDLL;selfdel_EXPORTS;%(PreprocessorDefinitions) - EnableFastChecks - - - true - _DEBUG;%(PreprocessorDefinitions) - .\../Debug\selfdel.tlb - true - Win32 - - - 0x0409 - _DEBUG;%(PreprocessorDefinitions) - - - true - .\../Debug\selfdel.bsc - - - true - true - true - nsis_ansi\pluginapi.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) - - - - - MultiThreadedDLL - OnlyExplicitInline - true - true - MinSpace - true - Level3 - WIN32;NDEBUG;_WINDOWS;_USRDLL;selfdel_EXPORTS;%(PreprocessorDefinitions) - false - - - true - NDEBUG;%(PreprocessorDefinitions) - .\../debug\selfdel.tlb - true - Win32 - - - 0x0409 - NDEBUG;%(PreprocessorDefinitions) - - - true - .\../debug\selfdel.bsc - - - true - true - true - nsis_ansi\pluginapi.lib;kernel32.lib;user32.lib;%(AdditionalDependencies) - DllMain - - - - - MultiThreadedDLL - OnlyExplicitInline - true - true - MinSpace - true - Level3 - WIN32;NDEBUG;_WINDOWS;_USRDLL;selfdel_EXPORTS;%(PreprocessorDefinitions) - false - - - true - NDEBUG;%(PreprocessorDefinitions) - .\../debug\selfdel.tlb - true - Win32 - - - 0x0409 - NDEBUG;%(PreprocessorDefinitions) - - - true - .\../debug\selfdel.bsc - - - true - true - true - nsis_unicode\pluginapi.lib;kernel32.lib;user32.lib;%(AdditionalDependencies) - DllMain - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj.filters b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj.filters deleted file mode 100644 index 34e02bd50..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/SelfDel/selfdel.vcxproj.filters +++ /dev/null @@ -1,12 +0,0 @@ - - - - - - - - - - - - \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/default.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/default.exe deleted file mode 100644 index fd11f0133..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/default.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern.exe deleted file mode 100644 index 61dc1fb21..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmp.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmp.exe deleted file mode 100644 index a4393b1e1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmp.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmpr.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmpr.exe deleted file mode 100644 index eef8fa442..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_headerbmpr.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_nodesc.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_nodesc.exe deleted file mode 100644 index 3b628a679..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_nodesc.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_smalldesc.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_smalldesc.exe deleted file mode 100644 index 52000ad1b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/modern_smalldesc.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/sdbarker_tiny.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/sdbarker_tiny.exe deleted file mode 100644 index ec5b4ba6c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/UIs/sdbarker_tiny.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Base.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Base.nsh deleted file mode 100644 index 47219c370..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Base.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Classic.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Classic.nsh deleted file mode 100644 index adfd8dfcd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Classic.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Modern.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Modern.nsh deleted file mode 100644 index 1ed8c2a65..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Contrib/zip2exe/Modern.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Colors.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Colors.nsh deleted file mode 100644 index 01f933793..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Colors.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/FileFunc.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/FileFunc.nsh deleted file mode 100644 index 30307a544..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/FileFunc.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/InstallOptions.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/InstallOptions.nsh deleted file mode 100644 index c51b2ddde..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/InstallOptions.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LangFile.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LangFile.nsh deleted file mode 100644 index 565ab7d05..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LangFile.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Library.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Library.nsh deleted file mode 100644 index 9ba01258b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Library.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LogicLib.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LogicLib.nsh deleted file mode 100644 index 295978f9c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/LogicLib.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI.nsh deleted file mode 100644 index 79b53ac24..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI2.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI2.nsh deleted file mode 100644 index 7a76129ec..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MUI2.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Memento.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Memento.nsh deleted file mode 100644 index cf9ca4853..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Memento.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MultiUser.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MultiUser.nsh deleted file mode 100644 index 9feb3a7c5..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/MultiUser.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/NewTextReplace.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/NewTextReplace.nsh deleted file mode 100644 index 584503c13..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/NewTextReplace.nsh +++ /dev/null @@ -1,77 +0,0 @@ -/***************************************************************** - * NewTextReplace NSIS plugin v0.4 * - * by Gringoloco023, 2010 * - * http://portableapps.com/node/21840 * - * Based on: * - * TextReplace NSIS plugin v1.5 * - * * - * 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru) * - *****************************************************************/ - - -!define ReplaceInFileUTF16LECS '!insertmacro "ReplaceInFileUTF16LECS"' ;${ReplaceInFileUTF16LECS} SOURCE_FILE SEARCH_TEXT REPLACEMENT -!define ReplaceInFileUTF16LE '!insertmacro "ReplaceInFileUTF16LE"' ;${ReplaceInFileUTF16LE} SOURCE_FILE SEARCH_TEXT REPLACEMENT - - -!define textreplace::FindInFile `!insertmacro textreplace::FindInFile` - -!macro textreplace::FindInFile _INPUTFILE _FINDIT _OPTIONS _COUNT - newtextreplace::_FindInFile /NOUNLOAD `${_INPUTFILE}` `${_FINDIT}` `${_OPTIONS}` - Pop ${_COUNT} -!macroend - - -!define textreplace::ReplaceInFile `!insertmacro textreplace::ReplaceInFile` - -!macro textreplace::ReplaceInFile _INPUTFILE _OUTPUTFILE _REPLACEIT _REPLACEWITH _OPTIONS _COUNT - newtextreplace::_ReplaceInFile /NOUNLOAD `${_INPUTFILE}` `${_OUTPUTFILE}` `${_REPLACEIT}` `${_REPLACEWITH}` `${_OPTIONS}` - Pop ${_COUNT} -!macroend - - -!define textreplace::FillReadBuffer `!insertmacro textreplace::FillReadBuffer` - -!macro textreplace::FillReadBuffer _FILE _POINTER - newtextreplace::_FillReadBuffer /NOUNLOAD `${_FILE}` - Pop ${_POINTER} -!macroend - - - -!define textreplace::FreeReadBuffer `!insertmacro textreplace::FreeReadBuffer` - -!macro textreplace::FreeReadBuffer _POINTER - newtextreplace::_FreeReadBuffer /NOUNLOAD `${_POINTER}` -!macroend - - - -!define textreplace::Unload `!insertmacro textreplace::Unload` - -!macro textreplace::Unload - newtextreplace::_Unload -!macroend - -/***************************************************************** - *** The following is meant to *** - *** be used in combination with *** - *** ReplaceInFileWithTextReplace.nsh *** - *****************************************************************/ - -!macro ReplaceInFileUTF16LECS SOURCE_FILE SEARCH_TEXT REPLACEMENT - Push `/U=1 /S=1` - Push `${SOURCE_FILE}` - Push `${SEARCH_TEXT}` - Push `${REPLACEMENT}` - Call ReplaceInFile - -!macroend - -!macro ReplaceInFileUTF16LE SOURCE_FILE SEARCH_TEXT REPLACEMENT - Push `/U=1 /S=0` - Push `${SOURCE_FILE}` - Push `${SEARCH_TEXT}` - Push `${REPLACEMENT}` - Call ReplaceInFile -!macroend - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Registry.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Registry.nsh deleted file mode 100644 index d6dfd138a..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Registry.nsh +++ /dev/null @@ -1,195 +0,0 @@ -!define registry::Open `!insertmacro registry::Open` - -!macro registry::Open _PATH _OPTIONS _HANDLE - registry::_Open /NOUNLOAD `${_PATH}` `${_OPTIONS}` - Pop ${_HANDLE} -!macroend - - -!define registry::Find `!insertmacro registry::Find` - -!macro registry::Find _HANDLE _PATH _VALUEORKEY _STRING _TYPE - registry::_Find /NOUNLOAD `${_HANDLE}` - Pop ${_PATH} - Pop ${_VALUEORKEY} - Pop ${_STRING} - Pop ${_TYPE} -!macroend - - -!define registry::Close `!insertmacro registry::Close` - -!macro registry::Close _HANDLE - registry::_Close /NOUNLOAD `${_HANDLE}` -!macroend - - -!define registry::KeyExists `!insertmacro registry::KeyExists` - -!macro registry::KeyExists _PATH _ERR - registry::_KeyExists /NOUNLOAD `${_PATH}` - Pop ${_ERR} -!macroend - - -!define registry::Read `!insertmacro registry::Read` - -!macro registry::Read _PATH _VALUE _STRING _TYPE - registry::_Read /NOUNLOAD `${_PATH}` `${_VALUE}` - Pop ${_STRING} - Pop ${_TYPE} -!macroend - - -!define registry::Write `!insertmacro registry::Write` - -!macro registry::Write _PATH _VALUE _STRING _TYPE _ERR - registry::_Write /NOUNLOAD `${_PATH}` `${_VALUE}` `${_STRING}` `${_TYPE}` - Pop ${_ERR} -!macroend - - -!define registry::ReadExtra `!insertmacro registry::ReadExtra` - -!macro registry::ReadExtra _PATH _VALUE _NUMBER _STRING _TYPE - registry::_ReadExtra /NOUNLOAD `${_PATH}` `${_VALUE}` `${_NUMBER}` - Pop ${_STRING} - Pop ${_TYPE} -!macroend - - -!define registry::WriteExtra `!insertmacro registry::WriteExtra` - -!macro registry::WriteExtra _PATH _VALUE _STRING _ERR - registry::_WriteExtra /NOUNLOAD `${_PATH}` `${_VALUE}` `${_STRING}` - Pop ${_ERR} -!macroend - - -!define registry::CreateKey `!insertmacro registry::CreateKey` - -!macro registry::CreateKey _PATH _ERR - registry::_CreateKey /NOUNLOAD `${_PATH}` - Pop ${_ERR} -!macroend - - -!define registry::DeleteValue `!insertmacro registry::DeleteValue` - -!macro registry::DeleteValue _PATH _VALUE _ERR - registry::_DeleteValue /NOUNLOAD `${_PATH}` `${_VALUE}` - Pop ${_ERR} -!macroend - - -!define registry::DeleteKey `!insertmacro registry::DeleteKey` - -!macro registry::DeleteKey _PATH _ERR - registry::_DeleteKey /NOUNLOAD `${_PATH}` - Pop ${_ERR} -!macroend - - -!define registry::DeleteKeyEmpty `!insertmacro registry::DeleteKeyEmpty` - -!macro registry::DeleteKeyEmpty _PATH _ERR - registry::_DeleteKeyEmpty /NOUNLOAD `${_PATH}` - Pop ${_ERR} -!macroend - - -!define registry::CopyValue `!insertmacro registry::CopyValue` - -!macro registry::CopyValue _PATH_SOURCE _VALUE_SOURCE _PATH_TARGET _VALUE_TARGET _ERR - registry::_CopyValue /NOUNLOAD `${_PATH_SOURCE}` `${_VALUE_SOURCE}` `${_PATH_TARGET}` `${_VALUE_TARGET}` - Pop ${_ERR} -!macroend - - -!define registry::MoveValue `!insertmacro registry::MoveValue` - -!macro registry::MoveValue _PATH_SOURCE _VALUE_SOURCE _PATH_TARGET _VALUE_TARGET _ERR - registry::_MoveValue /NOUNLOAD `${_PATH_SOURCE}` `${_VALUE_SOURCE}` `${_PATH_TARGET}` `${_VALUE_TARGET}` - Pop ${_ERR} -!macroend - - -!define registry::CopyKey `!insertmacro registry::CopyKey` - -!macro registry::CopyKey _PATH_SOURCE _PATH_TARGET _ERR - registry::_CopyKey /NOUNLOAD `${_PATH_SOURCE}` `${_PATH_TARGET}` - Pop ${_ERR} -!macroend - - -!define registry::MoveKey `!insertmacro registry::MoveKey` - -!macro registry::MoveKey _PATH_SOURCE _PATH_TARGET _ERR - registry::_MoveKey /NOUNLOAD `${_PATH_SOURCE}` `${_PATH_TARGET}` - Pop ${_ERR} -!macroend - - -!define registry::SaveKey `!insertmacro registry::SaveKey` - -!macro registry::SaveKey _PATH _FILE _OPTIONS _ERR - registry::_SaveKey /NOUNLOAD `${_PATH}` `${_FILE}` `${_OPTIONS}` - Pop ${_ERR} -!macroend - - -!define registry::RestoreKey `!insertmacro registry::RestoreKey` - -!macro registry::RestoreKey _FILE _ERR - registry::_RestoreKey /NOUNLOAD `${_FILE}` - Pop ${_ERR} - IntCmp ${_ERR} -2 0 0 +10 ;REGEDIT4 ansi file - SetDetailsPrint none - IfFileExists "$SYSDIR\reg.exe" 0 +4 ;reg.exe used in Windows2K/XP/Vista/7 - nsExec::ExecToStack `"$SYSDIR\reg.exe" import "${_FILE}"` - Pop ${_ERR} - StrCmp ${_ERR} 0 +5 0 - IfFileExists "$WINDIR\regedit.exe" 0 +3 ;regedit.exe used in Wine - ExecWait `"$WINDIR\regedit.exe" /s "${_FILE}"` ${_ERR} - IfErrors 0 +2 - StrCpy ${_ERR} -1 - SetDetailsPrint lastused -!macroend - -!define registry::StrToHex `!insertmacro registry::StrToHex` - -!macro registry::StrToHex _STRING _HEX_STRING - registry::_StrToHex /NOUNLOAD `${_STRING}` - Pop ${_HEX_STRING} -!macroend - - -!define registry::HexToStr `!insertmacro registry::HexToStr` - -!macro registry::HexToStr _HEX_STRING _STRING - registry::_HexToStr /NOUNLOAD `${_HEX_STRING}` - Pop ${_STRING} -!macroend - - -!define registry::StrToHexUTF16LE `!insertmacro registry::StrToHexUTF16LE` - -!macro registry::StrToHexUTF16LE _STRING _HEX_STRING - registry::_StrToHexUTF16LE /NOUNLOAD `${_STRING}` - Pop ${_HEX_STRING} -!macroend - - -!define registry::HexToStrUTF16LE `!insertmacro registry::HexToStrUTF16LE` - -!macro registry::HexToStrUTF16LE _HEX_STRING _STRING - registry::_HexToStrUTF16LE /NOUNLOAD `${_HEX_STRING}` - Pop ${_STRING} -!macroend - - -!define registry::Unload `!insertmacro registry::Unload` - -!macro registry::Unload - registry::_Unload -!macroend diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Sections.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Sections.nsh deleted file mode 100644 index f5ca6214a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Sections.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/StrFunc.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/StrFunc.nsh deleted file mode 100644 index 41081643d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/StrFunc.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TBProgress.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TBProgress.nsh deleted file mode 100644 index f72eb616c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TBProgress.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextFunc.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextFunc.nsh deleted file mode 100644 index 287631be2..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextFunc.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextReplace.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextReplace.nsh deleted file mode 100644 index e5bec680a..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/TextReplace.nsh +++ /dev/null @@ -1,77 +0,0 @@ -/***************************************************************** - * NewTextReplace NSIS plugin v0.4 * - * by Gringoloco023, 2010 * - * http://portableapps.com/node/21840 * - * Based on: * - * TextReplace NSIS plugin v1.5 * - * * - * 2006 Shengalts Aleksander aka Instructor (Shengalts@mail.ru) * - *****************************************************************/ -;This file named TextReplace.nsh, for compatibility of old scripts ! - -!define ReplaceInFileUTF16LECS '!insertmacro "ReplaceInFileUTF16LECS"' ;${ReplaceInFileUTF16LECS} SOURCE_FILE SEARCH_TEXT REPLACEMENT -!define ReplaceInFileUTF16LE '!insertmacro "ReplaceInFileUTF16LE"' ;${ReplaceInFileUTF16LE} SOURCE_FILE SEARCH_TEXT REPLACEMENT - - -!define textreplace::FindInFile `!insertmacro textreplace::FindInFile` - -!macro textreplace::FindInFile _INPUTFILE _FINDIT _OPTIONS _COUNT - newtextreplace::_FindInFile /NOUNLOAD `${_INPUTFILE}` `${_FINDIT}` `${_OPTIONS}` - Pop ${_COUNT} -!macroend - - -!define textreplace::ReplaceInFile `!insertmacro textreplace::ReplaceInFile` - -!macro textreplace::ReplaceInFile _INPUTFILE _OUTPUTFILE _REPLACEIT _REPLACEWITH _OPTIONS _COUNT - newtextreplace::_ReplaceInFile /NOUNLOAD `${_INPUTFILE}` `${_OUTPUTFILE}` `${_REPLACEIT}` `${_REPLACEWITH}` `${_OPTIONS}` - Pop ${_COUNT} -!macroend - - -!define textreplace::FillReadBuffer `!insertmacro textreplace::FillReadBuffer` - -!macro textreplace::FillReadBuffer _FILE _POINTER - newtextreplace::_FillReadBuffer /NOUNLOAD `${_FILE}` - Pop ${_POINTER} -!macroend - - - -!define textreplace::FreeReadBuffer `!insertmacro textreplace::FreeReadBuffer` - -!macro textreplace::FreeReadBuffer _POINTER - newtextreplace::_FreeReadBuffer /NOUNLOAD `${_POINTER}` -!macroend - - - -!define textreplace::Unload `!insertmacro textreplace::Unload` - -!macro textreplace::Unload - newtextreplace::_Unload -!macroend - -/***************************************************************** - *** The following is meant to *** - *** be used in combination with *** - *** ReplaceInFileWithTextReplace.nsh *** - *****************************************************************/ - -!macro ReplaceInFileUTF16LECS SOURCE_FILE SEARCH_TEXT REPLACEMENT - Push `/U=1 /S=1` - Push `${SOURCE_FILE}` - Push `${SEARCH_TEXT}` - Push `${REPLACEMENT}` - Call ReplaceInFile - -!macroend - -!macro ReplaceInFileUTF16LE SOURCE_FILE SEARCH_TEXT REPLACEMENT - Push `/U=1 /S=0` - Push `${SOURCE_FILE}` - Push `${SEARCH_TEXT}` - Push `${REPLACEMENT}` - Call ReplaceInFile -!macroend - diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/UpgradeDLL.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/UpgradeDLL.nsh deleted file mode 100644 index 8e88c3ce3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/UpgradeDLL.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Util.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Util.nsh deleted file mode 100644 index b05d9ea70..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Util.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VB6RunTime.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VB6RunTime.nsh deleted file mode 100644 index 759124051..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VB6RunTime.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VPatchLib.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VPatchLib.nsh deleted file mode 100644 index 42ed923b4..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/VPatchLib.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinDef.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinDef.nsh deleted file mode 100644 index db7b6c74a..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinDef.nsh +++ /dev/null @@ -1,74 +0,0 @@ -!ifndef __WIN_WINDEF__INC -!define __WIN_WINDEF__INC -!verbose push -!verbose 3 -!ifndef __WIN_NOINC_WINDEF - - -!ifndef MAX_PATH -!define MAX_PATH 260 -!endif -#define NULL 0 - - -!macro _Win_MINMAX _intcmp _j1 _j2 _outvar _a _b -${_intcmp} "${_a}" "${_b}" ${_j1} ${_j1} ${_j2} -StrCpy ${_outvar} "${_a}" -goto +2 -StrCpy ${_outvar} "${_b}" -!macroend -!ifndef __WIN_MS_NOMINMAX & min & max & min_u & max_u -!define min "!insertmacro _Win_MINMAX IntCmp +1 +3 " -!define max "!insertmacro _Win_MINMAX IntCmp +3 +1 " -!define min_u "!insertmacro _Win_MINMAX IntCmpU +1 +3 " -!define max_u "!insertmacro _Win_MINMAX IntCmpU +3 +1 " -!endif - -!macro _Win_LOBYTE _outvar _in -IntOp ${_outvar} "${_in}" & 0xFF -!macroend -!define LOBYTE "!insertmacro _Win_LOBYTE " - -!macro _Win_HIBYTE _outvar _in -IntOp ${_outvar} "${_in}" >> 8 -${LOBYTE} ${_outvar} ${_outvar} -!macroend -!define HIBYTE "!insertmacro _Win_HIBYTE " - -!macro _Win_LOWORD _outvar _in -IntOp ${_outvar} "${_in}" & 0xFFFF -!macroend -!define LOWORD "!insertmacro _Win_LOWORD " - -!macro _Win_HIWORD _outvar _in -IntOp ${outvar} "${_in}" >> 16 ;sign extended :( -${LOWORD} ${_outvar} ${outvar} ;make sure we strip off the upper word -!macroend -!define HIWORD "!insertmacro _Win_HIWORD " - -!macro _Win_MAKEWORD _outvar _tmpvar _lo _hi -${LOBYTE} ${_outvar} "${_hi}" -${LOBYTE} ${_tmpvar} "${_lo}" -IntOp ${_outvar} ${_outvar} << 8 -IntOp ${_outvar} ${_outvar} | ${_tmpvar} -!macroend -!define MAKEWORD "!insertmacro _Win_MAKEWORD " - -!macro _Win_MAKELONG32 _outvar _tmpvar _wlo _whi -${LOWORD} ${_outvar} "${_wlo}" -IntOp ${_tmpvar} "${_whi}" << 16 -IntOp ${_outvar} ${_outvar} | ${_tmpvar} -!macroend -!define MAKELONG "!insertmacro _Win_MAKELONG32 " -!if "${__WIN_PTRSIZE}" <= 4 -!define MAKEWPARAM "${MAKELONG}" -!define MAKELPARAM "${MAKELONG}" -!define MAKELRESULT "${MAKELONG}" -!else -!error "Missing 64bit imp!" -!endif - - -!endif /* __WIN_NOINC_WINDEF */ -!verbose pop -!endif /* __WIN_WINDEF__INC */ \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinError.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinError.nsh deleted file mode 100644 index 4fec78052..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinError.nsh +++ /dev/null @@ -1,64 +0,0 @@ -!ifndef __WIN_WINERROR__INC -!define __WIN_WINERROR__INC -!verbose push -!verbose 3 -!ifndef __WIN_NOINC_WINERROR - -#define NO_ERROR 0 -!define ERROR_SUCCESS 0 -!define ERROR_INVALID_FUNCTION 1 -!define ERROR_FILE_NOT_FOUND 2 -!define ERROR_PATH_NOT_FOUND 3 -!define ERROR_TOO_MANY_OPEN_FILES 4 -!define ERROR_ACCESS_DENIED 5 -!define ERROR_INVALID_HANDLE 6 -!define ERROR_ARENA_TRASHED 7 -!define ERROR_NOT_ENOUGH_MEMORY 8 -!define ERROR_INVALID_BLOCK 9 -!define ERROR_BAD_ENVIRONMENT 10 -!define ERROR_BAD_FORMAT 11 -!define ERROR_INVALID_ACCESS 12 -!define ERROR_INVALID_DATA 13 -!define ERROR_OUTOFMEMORY 14 -!define ERROR_INVALID_DRIVE 15 -!define ERROR_CURRENT_DIRECTORY 16 -!define ERROR_NOT_SAME_DEVICE 17 -!define ERROR_NO_MORE_FILES 18 -!define ERROR_WRITE_PROTECT 19 -!define ERROR_BAD_UNIT 20 -!define ERROR_NOT_READY 21 -!define ERROR_BAD_COMMAND 22 -!define ERROR_CRC 23 -!define ERROR_BAD_LENGTH 24 -!define ERROR_SEEK 25 -!define ERROR_NOT_DOS_DISK 26 -!define ERROR_SECTOR_NOT_FOUND 27 -!define ERROR_OUT_OF_PAPER 28 -!define ERROR_WRITE_FAULT 29 -!define ERROR_READ_FAULT 30 -!define ERROR_GEN_FAILURE 31 -!define ERROR_SHARING_VIOLATION 32 -!define ERROR_LOCK_VIOLATION 33 -!define ERROR_WRONG_DISK 34 -!define ERROR_SHARING_BUFFER_EXCEEDED 36 -!define ERROR_HANDLE_EOF 38 -!define ERROR_HANDLE_DISK_FULL 39 -!define ERROR_NOT_SUPPORTED 50 - -!define SEVERITY_SUCCESS 0 -!define SEVERITY_ERROR 1 -!define E_UNEXPECTED 0x8000FFFF -!define E_NOTIMPL 0x80004001 -!define E_OUTOFMEMORY 0x8007000E -!define E_INVALIDARG 0x80070057 -!define E_NOINTERFACE 0x80004002 -!define E_POINTER 0x80004003 -!define E_HANDLE 0x80070006 -!define E_ABORT 0x80004004 -!define E_FAIL 0x80004005 -!define E_ACCESSDENIED 0x80070005 -!define E_PENDING 0x8000000A - -!endif /* __WIN_NOINC_WINERROR */ -!verbose pop -!endif /* __WIN_WINERROR__INC */ \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinNT.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinNT.nsh deleted file mode 100644 index bec1c1445..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinNT.nsh +++ /dev/null @@ -1,209 +0,0 @@ -!ifndef __WIN_WINNT__INC -!define __WIN_WINNT__INC -!verbose push -!verbose 3 -!ifndef __WIN_NOINC_WINNT - - -#define MINCHAR 0x80 -#define MAXCHAR 0x7f -!define MINSHORT 0x8000 -!define MAXSHORT 0x7fff -!define MINLONG 0x80000000 -!define MAXLONG 0x7fffffff -!define MAXBYTE 0xff -!define MAXWORD 0xffff -!define MAXDWORD 0xffffffff - -!ifndef WIN32_NO_STATUS -!define STATUS_WAIT_0 0x00000000 -!define STATUS_ABANDONED_WAIT_0 0x00000080 -!define STATUS_USER_APC 0x000000C0 -!define STATUS_TIMEOUT 0x00000102 -!define STATUS_PENDING 0x00000103 -!define DBG_EXCEPTION_HANDLED 0x00010001 -!define DBG_CONTINUE 0x00010002 -!define STATUS_SEGMENT_NOTIFICATION 0x40000005 -!define DBG_TERMINATE_THREAD 0x40010003 -!define DBG_TERMINATE_PROCESS 0x40010004 -!define DBG_CONTROL_C 0x40010005 -!define DBG_CONTROL_BREAK 0x40010008 -!define DBG_COMMAND_EXCEPTION 0x40010009 -!define STATUS_GUARD_PAGE_VIOLATION 0x80000001 -!define STATUS_DATATYPE_MISALIGNMENT 0x80000002 -!define STATUS_BREAKPOINT 0x80000003 -!define STATUS_SINGLE_STEP 0x80000004 -!define DBG_EXCEPTION_NOT_HANDLED 0x80010001 -!define STATUS_ACCESS_VIOLATION 0xC0000005 -!define STATUS_IN_PAGE_ERROR 0xC0000006 -!define STATUS_INVALID_HANDLE 0xC0000008 -!define STATUS_NO_MEMORY 0xC0000017 -!define STATUS_ILLEGAL_INSTRUCTION 0xC000001D -!define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025 -!define STATUS_INVALID_DISPOSITION 0xC0000026 -!define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C -!define STATUS_FLOAT_DENORMAL_OPERAND 0xC000008D -!define STATUS_FLOAT_DIVIDE_BY_ZERO 0xC000008E -!define STATUS_FLOAT_INEXACT_RESULT 0xC000008F -!define STATUS_FLOAT_INVALID_OPERATION 0xC0000090 -!define STATUS_FLOAT_OVERFLOW 0xC0000091 -!define STATUS_FLOAT_STACK_CHECK 0xC0000092 -!define STATUS_FLOAT_UNDERFLOW 0xC0000093 -!define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094 -!define STATUS_INTEGER_OVERFLOW 0xC0000095 -!define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096 -!define STATUS_STACK_OVERFLOW 0xC00000FD -!define STATUS_CONTROL_C_EXIT 0xC000013A -!define STATUS_FLOAT_MULTIPLE_FAULTS 0xC00002B4 -!define STATUS_FLOAT_MULTIPLE_TRAPS 0xC00002B5 -!define STATUS_REG_NAT_CONSUMPTION 0xC00002C9 -!define STATUS_SXS_EARLY_DEACTIVATION 0xC015000F -!define STATUS_SXS_INVALID_DEACTIVATION 0xC0150010 -!endif /*WIN32_NO_STATUS*/ - -#define MAXIMUM_WAIT_OBJECTS 64 - -!define DELETE 0x00010000 -!define READ_CONTROL 0x00020000 -!define WRITE_DAC 0x00040000 -!define WRITE_OWNER 0x00080000 -!define SYNCHRONIZE 0x00100000 -!define STANDARD_RIGHTS_REQUIRED 0x000F0000 -!define STANDARD_RIGHTS_READ ${READ_CONTROL} -!define STANDARD_RIGHTS_WRITE ${READ_CONTROL} -!define STANDARD_RIGHTS_EXECUTE ${READ_CONTROL} -!define STANDARD_RIGHTS_ALL 0x001F0000 -!define SPECIFIC_RIGHTS_ALL 0x0000FFFF -!define ACCESS_SYSTEM_SECURITY 0x01000000 -!define MAXIMUM_ALLOWED 0x02000000 -!define GENERIC_READ 0x80000000 -!define GENERIC_WRITE 0x40000000 -!define GENERIC_EXECUTE 0x20000000 -!define GENERIC_ALL 0x10000000 - -!define SE_PRIVILEGE_ENABLED_BY_DEFAULT 0x00000001 -!define SE_PRIVILEGE_ENABLED 0x00000002 -!define SE_PRIVILEGE_REMOVED 0x00000004 -!define SE_PRIVILEGE_USED_FOR_ACCESS 0x80000000 - -!define SE_CREATE_TOKEN_NAME "SeCreateTokenPrivilege" -!define SE_ASSIGNPRIMARYTOKEN_NAME "SeAssignPrimaryTokenPrivilege" -!define SE_LOCK_MEMORY_NAME "SeLockMemoryPrivilege" -!define SE_INCREASE_QUOTA_NAME "SeIncreaseQuotaPrivilege" -!define SE_UNSOLICITED_INPUT_NAME "SeUnsolicitedInputPrivilege" -!define SE_MACHINE_ACCOUNT_NAME "SeMachineAccountPrivilege" -!define SE_TCB_NAME "SeTcbPrivilege" -!define SE_SECURITY_NAME "SeSecurityPrivilege" -!define SE_TAKE_OWNERSHIP_NAME "SeTakeOwnershipPrivilege" -!define SE_LOAD_DRIVER_NAME "SeLoadDriverPrivilege" -!define SE_SYSTEM_PROFILE_NAME "SeSystemProfilePrivilege" -!define SE_SYSTEMTIME_NAME "SeSystemtimePrivilege" -!define SE_PROF_SINGLE_PROCESS_NAME "SeProfileSingleProcessPrivilege" -!define SE_INC_BASE_PRIORITY_NAME "SeIncreaseBasePriorityPrivilege" -!define SE_CREATE_PAGEFILE_NAME "SeCreatePagefilePrivilege" -!define SE_CREATE_PERMANENT_NAME "SeCreatePermanentPrivilege" -!define SE_BACKUP_NAME "SeBackupPrivilege" -!define SE_RESTORE_NAME "SeRestorePrivilege" -!define SE_SHUTDOWN_NAME "SeShutdownPrivilege" -!define SE_DEBUG_NAME "SeDebugPrivilege" -!define SE_AUDIT_NAME "SeAuditPrivilege" -!define SE_SYSTEM_ENVIRONMENT_NAME "SeSystemEnvironmentPrivilege" -!define SE_CHANGE_NOTIFY_NAME "SeChangeNotifyPrivilege" -!define SE_REMOTE_SHUTDOWN_NAME "SeRemoteShutdownPrivilege" -!define SE_UNDOCK_NAME "SeUndockPrivilege" -!define SE_SYNC_AGENT_NAME "SeSyncAgentPrivilege" -!define SE_ENABLE_DELEGATION_NAME "SeEnableDelegationPrivilege" -!define SE_MANAGE_VOLUME_NAME "SeManageVolumePrivilege" -!define SE_IMPERSONATE_NAME "SeImpersonatePrivilege" -!define SE_CREATE_GLOBAL_NAME "SeCreateGlobalPrivilege" - -!define TOKEN_ASSIGN_PRIMARY 0x0001 -!define TOKEN_DUPLICATE 0x0002 -!define TOKEN_IMPERSONATE 0x0004 -!define TOKEN_QUERY 0x0008 -!define TOKEN_QUERY_SOURCE 0x0010 -!define TOKEN_ADJUST_PRIVILEGES 0x0020 -!define TOKEN_ADJUST_GROUPS 0x0040 -!define TOKEN_ADJUST_DEFAULT 0x0080 -!define TOKEN_ADJUST_SESSIONID 0x0100 -!define TOKEN_ALL_ACCESS_P 0xF00FF -!define /math TOKEN_ALL_ACCESS ${TOKEN_ALL_ACCESS_P} | ${TOKEN_ADJUST_SESSIONID} -!define /math TOKEN_READ ${STANDARD_RIGHTS_READ} | ${TOKEN_QUERY} -!define TOKEN_WRITE 0x200E0 ;(STANDARD_RIGHTS_WRITE|TOKEN_ADJUST_PRIVILEGES|TOKEN_ADJUST_GROUPS|TOKEN_ADJUST_DEFAULT) -!define TOKEN_EXECUTE ${STANDARD_RIGHTS_EXECUTE} - -!define PROCESS_TERMINATE 0x0001 -!define PROCESS_CREATE_THREAD 0x0002 -!define PROCESS_SET_SESSIONID 0x0004 -!define PROCESS_VM_OPERATION 0x0008 -!define PROCESS_VM_READ 0x0010 -!define PROCESS_VM_WRITE 0x0020 -!define PROCESS_DUP_HANDLE 0x0040 -!define PROCESS_CREATE_PROCESS 0x0080 -!define PROCESS_SET_QUOTA 0x0100 -!define PROCESS_SET_INFORMATION 0x0200 -!define PROCESS_QUERY_INFORMATION 0x0400 -!define PROCESS_SUSPEND_RESUME 0x0800 -!define PROCESS_ALL_ACCESS 0x1F0FFF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF) -!define THREAD_TERMINATE 0x0001 -!define THREAD_SUSPEND_RESUME 0x0002 -!define THREAD_GET_CONTEXT 0x0008 -!define THREAD_SET_CONTEXT 0x0010 -!define THREAD_SET_INFORMATION 0x0020 -!define THREAD_QUERY_INFORMATION 0x0040 -!define THREAD_SET_THREAD_TOKEN 0x0080 -!define THREAD_IMPERSONATE 0x0100 -!define THREAD_DIRECT_IMPERSONATION 0x0200 -!define THREAD_ALL_ACCESS 0x1F03FF ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF) -!define JOB_OBJECT_ASSIGN_PROCESS 0x0001 -!define JOB_OBJECT_SET_ATTRIBUTES 0x0002 -!define JOB_OBJECT_QUERY 0x0004 -!define JOB_OBJECT_TERMINATE 0x0008 -!define JOB_OBJECT_SET_SECURITY_ATTRIBUTES 0x0010 -!define JOB_OBJECT_ALL_ACCESS 0x1F001F ;(STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x1F ) -!define EVENT_MODIFY_STATE 0x0002 -!define EVENT_ALL_ACCESS 0x1F0003 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|0x3) -!define MUTANT_QUERY_STATE 0x0001 -!define MUTANT_ALL_ACCESS 0x1F0001 ;(STANDARD_RIGHTS_REQUIRED|SYNCHRONIZE|MUTANT_QUERY_STATE) - -!define FILE_SHARE_READ 0x00000001 -!define FILE_SHARE_WRITE 0x00000002 -!define FILE_SHARE_DELETE 0x00000004 -!define FILE_ATTRIBUTE_READONLY 0x00000001 -!define FILE_ATTRIBUTE_HIDDEN 0x00000002 -!define FILE_ATTRIBUTE_SYSTEM 0x00000004 -!define FILE_ATTRIBUTE_DIRECTORY 0x00000010 -!define FILE_ATTRIBUTE_ARCHIVE 0x00000020 -!define FILE_ATTRIBUTE_DEVICE 0x00000040 -!define FILE_ATTRIBUTE_NORMAL 0x00000080 -!define FILE_ATTRIBUTE_TEMPORARY 0x00000100 -!define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200 -!define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400 -!define FILE_ATTRIBUTE_COMPRESSED 0x00000800 -!define FILE_ATTRIBUTE_OFFLINE 0x00001000 -!define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000 -!define FILE_ATTRIBUTE_ENCRYPTED 0x00004000 - -!define DUPLICATE_CLOSE_SOURCE 0x00000001 -!define DUPLICATE_SAME_ACCESS 0x00000002 - -!define VER_PLATFORM_WIN32s 0 -!define VER_PLATFORM_WIN32_WINDOWS 1 -!define VER_PLATFORM_WIN32_NT 2 - -!ifndef REG_SZ & NSIS_WINDOWS__NO_REGTYPES -!define REG_NONE 0 -!define REG_SZ 1 -!define REG_EXPAND_SZ 2 -!define REG_BINARY 3 -!define REG_DWORD 4 -!define REG_DWORD_LITTLE_ENDIAN 4 -!define REG_DWORD_BIG_ENDIAN 5 -!define REG_LINK 6 -!define REG_MULTI_SZ 7 -!endif - - -!endif /* __WIN_NOINC_WINNT */ -!verbose pop -!endif /* __WIN_WINNT__INC */ \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinUser.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinUser.nsh deleted file mode 100644 index 7a217c27d..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/Win/WinUser.nsh +++ /dev/null @@ -1,199 +0,0 @@ -!ifndef __WIN_WINUSER__INC -!define __WIN_WINUSER__INC -!verbose push -!verbose 3 -!ifndef __WIN_MS_NOUSER & __WIN_NOINC_WINUSER - -!ifndef __WIN_MS_NOVIRTUALKEYCODES -!define VK_LBUTTON 0x01 -!define VK_RBUTTON 0x02 -!define VK_CANCEL 0x03 -!define VK_MBUTTON 0x04 /* NOT contiguous with L & RBUTTON */ -!define VK_XBUTTON1 0x05 /* NOT contiguous with L & RBUTTON */ -!define VK_XBUTTON2 0x06 /* NOT contiguous with L & RBUTTON */ -!define VK_BACK 0x08 -!define VK_TAB 0x09 -!define VK_CLEAR 0x0C -!define VK_RETURN 0x0D -!define VK_SHIFT 0x10 -!define VK_CONTROL 0x11 -!define VK_MENU 0x12 -!define VK_PAUSE 0x13 -!define VK_CAPITAL 0x14 -!define VK_ESCAPE 0x1B -!define VK_CONVERT 0x1C -!define VK_NONCONVERT 0x1D -!define VK_ACCEPT 0x1E -!define VK_MODECHANGE 0x1F -!define VK_SPACE 0x20 -!define VK_PRIOR 0x21 -!define VK_NEXT 0x22 -!define VK_END 0x23 -!define VK_HOME 0x24 -!define VK_LEFT 0x25 -!define VK_UP 0x26 -!define VK_RIGHT 0x27 -!define VK_DOWN 0x28 -!define VK_SELECT 0x29 -!define VK_PRINT 0x2A -!define VK_EXECUTE 0x2B -!define VK_SNAPSHOT 0x2C -!define VK_INSERT 0x2D -!define VK_DELETE 0x2E -!define VK_HELP 0x2F -; VK_0 - VK_9 are the same as ASCII '0' - '9' (0x30 - 0x39) -; VK_A - VK_Z are the same as ASCII 'A' - 'Z' (0x41 - 0x5A) -!define VK_LWIN 0x5B -!define VK_RWIN 0x5C -!define VK_APPS 0x5D -!define VK_SLEEP 0x5F -!define VK_NUMPAD0 0x60 -!define VK_NUMPAD1 0x61 -!define VK_NUMPAD2 0x62 -!define VK_NUMPAD3 0x63 -!define VK_NUMPAD4 0x64 -!define VK_NUMPAD5 0x65 -!define VK_NUMPAD6 0x66 -!define VK_NUMPAD7 0x67 -!define VK_NUMPAD8 0x68 -!define VK_NUMPAD9 0x69 -!define VK_MULTIPLY 0x6A -!define VK_ADD 0x6B -!define VK_SEPARATOR 0x6C -!define VK_SUBTRACT 0x6D -!define VK_DECIMAL 0x6E -!define VK_DIVIDE 0x6F -!define VK_F1 0x70 -!define VK_F2 0x71 -!define VK_F3 0x72 -!define VK_F4 0x73 -!define VK_F5 0x74 -!define VK_F6 0x75 -!define VK_F7 0x76 -!define VK_F8 0x77 -!define VK_F9 0x78 -!define VK_F10 0x79 -!define VK_F11 0x7A -!define VK_F12 0x7B -!define VK_NUMLOCK 0x90 -!define VK_SCROLL 0x91 -!define VK_OEM_NEC_EQUAL 0x92 ; '=' key on numpad -!define VK_LSHIFT 0xA0 -!define VK_RSHIFT 0xA1 -!define VK_LCONTROL 0xA2 -!define VK_RCONTROL 0xA3 -!define VK_LMENU 0xA4 -!define VK_RMENU 0xA5 -!endif - -!ifndef __WIN_MS_NOWINOFFSETS -/* in nsDialogs.nsh... -!define GWL_STYLE -16 -!define GWL_EXSTYLE -20 */ -!define GWLP_WNDPROC -4 -!define GWLP_HINSTANCE -6 -!define GWLP_HWNDPARENT -8 -!define GWLP_USERDATA -21 -!define GWLP_ID -12 -!define DWLP_MSGRESULT 0 -!define /math DWLP_DLGPROC ${DWLP_MSGRESULT} + ${__WIN_PTRSIZE} ;DWLP_MSGRESULT + sizeof(LRESULT) -!define /math DWLP_USER ${DWLP_DLGPROC} + ${__WIN_PTRSIZE} ;DWLP_DLGPROC + sizeof(DLGPROC) -!endif - -!ifndef __WIN_MS_NONCMESSAGES -!define HTERROR -2 -!define HTTRANSPARENT -1 -!define HTNOWHERE 0 -!define HTCLIENT 1 -!define HTCAPTION 2 -!define HTSYSMENU 3 -!define HTGROWBOX 4 -!define HTSIZE ${HTGROWBOX} -!define HTMENU 5 -!define HTHSCROLL 6 -!define HTVSCROLL 7 -!define HTMINBUTTON 8 -!define HTMAXBUTTON 9 -!define HTLEFT 10 -!define HTRIGHT 11 -!define HTTOP 12 -!define HTTOPLEFT 13 -!define HTTOPRIGHT 14 -!define HTBOTTOM 15 -!define HTBOTTOMLEFT 16 -!define HTBOTTOMRIGHT 17 -!define HTBORDER 18 -!define HTREDUCE ${HTMINBUTTON} -!define HTZOOM ${HTMAXBUTTON} -!define HTSIZEFIRST ${HTLEFT} -!define HTSIZELAST ${HTBOTTOMRIGHT} -!define HTOBJECT 19 -!define HTCLOSE 20 -!define HTHELP 21 -!endif - -!ifndef __WIN_MS_NOSYSCOMMANDS -!define SC_SIZE 0xF000 -!define SC_MOVE 0xF010 -!define SC_MINIMIZE 0xF020 -!define SC_MAXIMIZE 0xF030 -!define SC_NEXTWINDOW 0xF040 -!define SC_PREVWINDOW 0xF050 -!define SC_CLOSE 0xF060 -!define SC_VSCROLL 0xF070 -!define SC_HSCROLL 0xF080 -!define SC_MOUSEMENU 0xF090 -!define SC_KEYMENU 0xF100 -!define SC_ARRANGE 0xF110 -!define SC_RESTORE 0xF120 -!define SC_TASKLIST 0xF130 -!define SC_SCREENSAVE 0xF140 -!define SC_HOTKEY 0xF150 -!define SC_DEFAULT 0xF160 -!define SC_MONITORPOWER 0xF170 -!define SC_CONTEXTHELP 0xF180 -!define SC_SEPARATOR 0xF00F -!endif - -!define IDC_ARROW 32512 -!define IDC_IBEAM 32513 -!define IDC_WAIT 32514 -!define IDC_CROSS 32515 -!define IDC_UPARROW 32516 -!define IDC_SIZENWSE 32642 -!define IDC_SIZENESW 32643 -!define IDC_SIZEWE 32644 -!define IDC_SIZENS 32645 -!define IDC_SIZEALL 32646 -!define IDC_NO 32648 -!define IDC_HAND 32649 -!define IDC_APPSTARTING 32650 -!define IDC_HELP 32651 - -/* in nsDialogs.nsh... -!define IMAGE_BITMAP 0 -!define IMAGE_ICON 1 -!define IMAGE_CURSOR 2*/ - -/* in nsDialogs.nsh... -!define LR_DEFAULTCOLOR 0x0000 -!define LR_MONOCHROME 0x0001 -!define LR_COLOR 0x0002 -!define LR_COPYRETURNORG 0x0004 -!define LR_COPYDELETEORG 0x0008 -!define LR_LOADFROMFILE 0x0010 -!define LR_LOADTRANSPARENT 0x0020 -!define LR_DEFAULTSIZE 0x0040 -!define LR_VGACOLOR 0x0080 -!define LR_LOADMAP3DCOLORS 0x1000 -!define LR_CREATEDIBSECTION 0x2000 -!define LR_COPYFROMRESOURCE 0x4000 -!define LR_SHARED 0x8000*/ - -!define GA_PARENT 1 -!define GA_ROOT 2 -!define GA_ROOTOWNER 3 - -!endif /* __WIN_MS_NOUSER & __WIN_NOINC_WINUSER */ -!verbose pop -!endif /* __WIN_WINUSER__INC */ \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinCore.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinCore.nsh deleted file mode 100644 index 6767847fe..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinCore.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinMessages.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinMessages.nsh deleted file mode 100644 index cbfb54a8b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinMessages.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinVer.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinVer.nsh deleted file mode 100644 index 91640c6e7..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WinVer.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WordFunc.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WordFunc.nsh deleted file mode 100644 index 875a00b65..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/WordFunc.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/dialogs.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/dialogs.nsh deleted file mode 100644 index 555b0226d..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/dialogs.nsh +++ /dev/null @@ -1,56 +0,0 @@ -# "Dialogs header file by Joel Almeida Garca" - -#include once this header file -!ifndef DIALOGS_NSH - !define DIALOGS_NSH - !verbose push - !verbose 3 - - !ifndef LOGICLIB - #Add logic library - !include "LogicLib.nsh" - !endif - - # Global stuff - !define ISTRUE 1 - !define ISFALSE 0 - !define NULL "" - - # Returning Vars - !define VAR_0 0 # $0 - !define VAR_1 1 # $1 - !define VAR_2 2 # $2 - !define VAR_3 3 # $3 - !define VAR_4 4 # $4 - !define VAR_5 5 # $5 - !define VAR_6 6 # $6 - !define VAR_7 7 # $7 - !define VAR_8 8 # $8 - !define VAR_9 9 # $9 - !define VAR_R0 10 # $R0 - !define VAR_R1 11 # $R1 - !define VAR_R2 12 # $R2 - !define VAR_R3 13 # $R3 - !define VAR_R4 14 # $R4 - !define VAR_R5 15 # $R5 - !define VAR_R6 16 # $R6 - !define VAR_R7 17 # $R7 - !define VAR_R8 18 # $R8 - !define VAR_R9 19 # $R9 - !define VAR_CMDLINE 20 # $CMDLINE - !define VAR_INSTDIR 21 # $INSTDIR - !define VAR_OUTDIR 22 # $OUTDIR - !define VAR_EXEDIR 23 # $EXEDIR - !define VAR_LANG 24 # $LANGUAGE - - # Function prototypes - !define OpenBox 'dialogsEx::FileBox ""' - !define SaveBox 'dialogsEx::FileBox "1"' - !define ClassicFolderBox 'dialogsEx::FolderBox ""' - !define ModernFolderBox 'dialogsEx::FolderBox "1"' - !define InputTextBox 'dialogsEx::InputBox ""' - !define InputPwdBox 'dialogsEx::InputBox "1"' - !define InputRegBox 'dialogsEx::InputRegBox' - - !verbose pop -!endif \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/nsDialogs.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/nsDialogs.nsh deleted file mode 100644 index ef4e17861..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/nsDialogs.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/x64.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/x64.nsh deleted file mode 100644 index 5f78a1d91..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Include/x64.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/AdvSplash.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/AdvSplash.dll deleted file mode 100644 index 9d40006fb..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/AdvSplash.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Banner.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Banner.dll deleted file mode 100644 index 7cbc3a1d9..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Banner.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/BgImage.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/BgImage.dll deleted file mode 100644 index d79334f97..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/BgImage.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Dialer.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Dialer.dll deleted file mode 100644 index 4d163e1fd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Dialer.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EmbeddedLists.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EmbeddedLists.dll deleted file mode 100644 index 5a27af02b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EmbeddedLists.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EnumINI.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EnumINI.dll deleted file mode 100644 index 168cc5053..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/EnumINI.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/FindProcDLL.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/FindProcDLL.dll deleted file mode 100644 index 22c8398f1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/FindProcDLL.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/InstallOptions.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/InstallOptions.dll deleted file mode 100644 index b6de1b684..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/InstallOptions.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/KillProcDLL.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/KillProcDLL.dll deleted file mode 100644 index 8119afa2b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/KillProcDLL.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/LangDLL.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/LangDLL.dll deleted file mode 100644 index 35b0b4611..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/LangDLL.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Math.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Math.dll deleted file mode 100644 index d5a6d4e52..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Math.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/MoreInfo.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/MoreInfo.dll deleted file mode 100644 index 274d98198..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/MoreInfo.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/NSISdl.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/NSISdl.dll deleted file mode 100644 index 5747dc6b6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/NSISdl.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/RealProgress.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/RealProgress.dll deleted file mode 100644 index 12292166b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/RealProgress.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/SelfDel.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/SelfDel.dll deleted file mode 100644 index 3cb288c2d..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/SelfDel.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Splash.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Splash.dll deleted file mode 100644 index bd1ec597c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/Splash.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/StartMenu.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/StartMenu.dll deleted file mode 100644 index 0f69f3a98..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/StartMenu.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/System.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/System.dll deleted file mode 100644 index 19a876efe..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/System.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/TypeLib.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/TypeLib.dll deleted file mode 100644 index b4440fdf3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/TypeLib.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/UserInfo.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/UserInfo.dll deleted file mode 100644 index 586871cdb..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/UserInfo.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/VPatch.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/VPatch.dll deleted file mode 100644 index af1b4e69f..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/VPatch.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/dialogsEx.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/dialogsEx.dll deleted file mode 100644 index 0a582159b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/dialogsEx.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/execDos.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/execDos.dll deleted file mode 100644 index 0234253e6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/execDos.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/inetc.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/inetc.dll deleted file mode 100644 index f35cd6a08..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/inetc.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/md5dll.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/md5dll.dll deleted file mode 100644 index d265788b1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/md5dll.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newadvsplash.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newadvsplash.dll deleted file mode 100644 index 5e58c3917..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newadvsplash.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newtextreplace.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newtextreplace.dll deleted file mode 100644 index 206dc2c64..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/newtextreplace.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsDialogs.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsDialogs.dll deleted file mode 100644 index 1f142a27b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsDialogs.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsExec.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsExec.dll deleted file mode 100644 index 788bfe377..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/nsExec.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/registry.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/registry.dll deleted file mode 100644 index 180598051..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/registry.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/w7tbp.dll b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/w7tbp.dll deleted file mode 100644 index 0b71718ce..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Plugins/w7tbp.dll and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2 b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2 deleted file mode 100644 index 0a63d0556..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2 and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2_solid b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2_solid deleted file mode 100644 index 313d679f6..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/bzip2_solid and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma deleted file mode 100644 index a4038f9fa..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma_solid b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma_solid deleted file mode 100644 index f992aec84..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/lzma_solid and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/uninst b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/uninst deleted file mode 100644 index 90d7d2252..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/uninst and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib deleted file mode 100644 index ad55bb1dd..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib_solid b/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib_solid deleted file mode 100644 index 5855cff84..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/Stubs/zlib_solid and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/makensis.exe b/Greenshot/tools/PortableApps.comInstaller/App/nsis/makensis.exe deleted file mode 100644 index 6845bb2ca..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/makensis.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/App/nsis/nsisconf.nsh b/Greenshot/tools/PortableApps.comInstaller/App/nsis/nsisconf.nsh deleted file mode 100644 index ded5b9aa3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/App/nsis/nsisconf.nsh and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Data/settings.ini b/Greenshot/tools/PortableApps.comInstaller/Data/settings.ini deleted file mode 100644 index 8a4e3981d..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/Data/settings.ini +++ /dev/null @@ -1 +0,0 @@ -[InstallerWizard] diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/donation_button.png b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/donation_button.png deleted file mode 100644 index f19dea7a1..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/donation_button.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/favicon.ico b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/favicon.ico deleted file mode 100644 index ed849b2de..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/favicon.ico and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_footer.png b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_footer.png deleted file mode 100644 index 5ebdc028c..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_footer.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_header.png b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_header.png deleted file mode 100644 index cf1ebf762..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_background_header.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_logo_top.png b/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_logo_top.png deleted file mode 100644 index 1a705050e..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Help/images/help_logo_top.png and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizard.nsi b/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizard.nsi deleted file mode 100644 index 6432f87a6..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizard.nsi +++ /dev/null @@ -1,1141 +0,0 @@ -;Copyright (C) 2006-2013 John T. Haller - -;Website: http://PortableApps.com/Installer - -;This software is OSI Certified Open Source Software. -;OSI Certified is a certification mark of the Open Source Initiative. - -;This program is free software; you can redistribute it and/or -;modify it under the terms of the GNU General Public License -;as published by the Free Software Foundation; either version 2 -;of the License, or (at your option) any later version. - -;This program is distributed in the hope that it will be useful, -;but WITHOUT ANY WARRANTY; without even the implied warranty of -;MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -;GNU General Public License for more details. - -;You should have received a copy of the GNU General Public License -;along with this program; if not, write to the Free Software -;Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -!define APPNAME "PortableApps.com Installer" -!define VER "3.0.6.0" -!define WEBSITE "PortableApps.com/Installer" -!define FRIENDLYVER "3.0.6" -!define PORTABLEAPPS.COMFORMATVERSION "3.0" - -;=== Program Details -Name "${APPNAME}" -OutFile "..\..\PortableApps.comInstaller.exe" -Caption "${APPNAME}" -VIProductVersion "${VER}" -VIAddVersionKey ProductName "${APPNAME}" -VIAddVersionKey Comments "For additional details, visit ${WEBSITE}" -VIAddVersionKey CompanyName "PortableApps.com" -VIAddVersionKey LegalCopyright "John T. Haller" -VIAddVersionKey FileDescription "${APPNAME}" -VIAddVersionKey FileVersion "${VER}" -VIAddVersionKey ProductVersion "${VER}" -VIAddVersionKey InternalName "${APPNAME}" -VIAddVersionKey LegalTrademarks "PortableApps.com is a trademark of Rare Ideas, LLC." -VIAddVersionKey OriginalFilename "PortableApps.comInstaller.exe" - -;=== Runtime Switches -CRCCheck On -RequestExecutionLevel user - -; Best Compression -SetCompress Auto -SetCompressor /SOLID lzma -SetCompressorDictSize 32 -SetDatablockOptimize On - -;=== Include -;(Standard) -!include WordFunc.nsh -!insertmacro WordReplace -!include FileFunc.nsh -!insertmacro GetFileName -!insertmacro GetParameters -!insertmacro GetParent -!insertmacro GetSize -!include LogicLib.nsh -!include MUI.nsh - -;(Addons) -!include dialogs.nsh - -;(Custom) -!include MoveFiles.nsh -!include ReadINIStrWithDefault.nsh -!include TBProgress.nsh - -;=== Icon & Stye === -!define MUI_ICON "..\..\App\AppInfo\appicon.ico" -!define MUI_HEADERIMAGE -!define MUI_HEADERIMAGE_RIGHT -!define MUI_HEADERIMAGE_BITMAP header.bmp -!define MUI_HEADERIMAGE_BITMAP_RTL header_rtl.bmp - -BrandingText "PortableApps.com®" -InstallButtonText "Go >" -ShowInstDetails show -SubCaption 3 " | Processing Files" - -;=== Variables -Var FINISHTEXT -Var FINISHTITLE -Var INSTALLAPPDIRECTORY -Var SKIPWELCOMEPAGE -Var AUTOMATICCOMPILE - -Var INCLUDESOURCE -Var PORTABLEAPPNAME -Var PORTABLEAPPNAMEDOUBLEDAMPERSANDS -Var PLUGINNAME -Var APPID -Var SHORTNAME -Var APPLANGUAGE -Var ALLLANGUAGES -Var INSTALLERFILENAME -Var OPTIONALCOMPONENTS -Var DISPLAYVERSION -Var COMMONFILESPLUGIN -Var USEEXTRACTEDICON -Var INTERACTIVEMODE -Var EULAVERSION - -Var ERROROCCURED - -Var AppInfoINIFile -Var InstallerINIFile -Var PluginInstaller -Var OptionalSectionSelectedInstallType - -;=== Pages -!define MUI_WELCOMEFINISHPAGE_BITMAP welcomefinish.bmp -!define MUI_WELCOMEPAGE_TITLE "PortableApps.com Installer ${FRIENDLYVER}" -!define MUI_WELCOMEPAGE_TEXT "Welcome to the PortableApps.com Installer.\r\n\r\nThis utility allows you to create a PortableApps.com Installer package for an app in PortableApps.com Format. Just click next and select the application to package.\r\n\r\nLICENSE: The PortableApps.com Installer can be used with open source and freeware apps provided the installer is unmodified and the app adheres to the current PortableApps.com Format Specification as published at PortableApps.com/development. It may also be used with commercial software by contacting PortableApps.com." -!define MUI_PAGE_CUSTOMFUNCTION_PRE ShowWelcomeWindow -!insertmacro MUI_PAGE_WELCOME -Page custom ShowOptionsWindow LeaveOptionsWindow " | Portable App Folder Selection" -!insertmacro MUI_PAGE_INSTFILES -!define MUI_PAGE_CUSTOMFUNCTION_PRE ShowFinishPage -!define MUI_FINISHPAGE_TITLE "$FINISHTITLE" -!define MUI_FINISHPAGE_TEXT "$FINISHTEXT" -!define MUI_FINISHPAGE_RUN -!define MUI_FINISHPAGE_RUN_NOTCHECKED -!define MUI_FINISHPAGE_RUN_TEXT "Test Installer" -!define MUI_FINISHPAGE_RUN_FUNCTION "RunOnFinish" -!define MUI_FINISHPAGE_SHOWREADME "$EXEDIR\Data\PortableApps.comInstallerLog.txt" -!define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED -!define MUI_FINISHPAGE_SHOWREADME_TEXT "View log file" -!define MUI_FINISHPAGE_CANCEL_ENABLED -!insertmacro MUI_PAGE_FINISH - -;=== Languages -!insertmacro MUI_LANGUAGE "English" - -Function .onInit - !insertmacro MUI_INSTALLOPTIONS_EXTRACT "InstallerWizardForm.ini" - - ;=== Check for settings.ini - ${IfNot} ${FileExists} $EXEDIR\Data\settings.ini - CreateDirectory $EXEDIR\Data - CopyFiles /SILENT $EXEDIR\App\DefaultData\settings.ini $EXEDIR\Data - ${EndIf} - - ; Get settings - ReadINIStr $SKIPWELCOMEPAGE "$EXEDIR\Data\settings.ini" "InstallerWizard" "SkipWelcomePage" - ReadINIStr $INSTALLAPPDIRECTORY "$EXEDIR\Data\settings.ini" "InstallerWizard" "INSTALLAPPDIRECTORY" - - ${GetParameters} $R0 - ${If} $R0 != "" - StrCpy $INSTALLAPPDIRECTORY $R0 - StrCpy $SKIPWELCOMEPAGE "true" - StrCpy $AUTOMATICCOMPILE "true" - ;Strip quotes from $INSTALLAPPDIRECTORY - StrCpy $R0 $INSTALLAPPDIRECTORY 1 - ${If} $R0 == `"` - StrCpy $INSTALLAPPDIRECTORY $INSTALLAPPDIRECTORY "" 1 - StrCpy $INSTALLAPPDIRECTORY $INSTALLAPPDIRECTORY -1 - ${EndIf} - ${EndIf} - - ;=== Pre-Fill Path with Directory - WriteINIStr $PLUGINSDIR\InstallerWizardForm.ini "Field 2" "State" "$INSTALLAPPDIRECTORY" -FunctionEnd - -Function ShowWelcomeWindow - ${If} $SKIPWELCOMEPAGE == "true" - Abort - ${EndIf} -FunctionEnd - -Function ShowOptionsWindow - !insertmacro MUI_HEADER_TEXT "PortableApps.com Installer ${FRIENDLYVER}" "the open portable software standard" - ${If} $AUTOMATICCOMPILE == "true" - ${If} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini" - StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini" - StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\installer.ini" - StrCpy $PluginInstaller "false" - Abort - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $PluginInstaller "true" - Abort - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\plugininstaller.ini" - CreateDirectory "$INSTALLAPPDIRECTORY\App" - CreateDirectory "$INSTALLAPPDIRECTORY\App\AppInfo" - Rename "$INSTALLAPPDIRECTORY\Other\Source\plugininstaller.ini" "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $PluginInstaller "true" - Abort - ${EndIf} - ${EndIf} - ${ReadINIStrWithDefault} $INTERACTIVEMODE "$EXEDIR\Data\settings.ini" "InstallerWizard" "InteractiveMode" "1" - WriteINIStr "$PLUGINSDIR\InstallerWizardForm.ini" "Field 3" "State" "$INTERACTIVEMODE" - InstallOptions::InitDialog /NOUNLOAD "$PLUGINSDIR\InstallerWizardForm.ini" - Pop $0 - InstallOptions::Show -FunctionEnd - -Function LeaveOptionsWindow - ;=== Blank - ReadINIStr $INSTALLAPPDIRECTORY $PLUGINSDIR\InstallerWizardForm.ini "Field 2" "State" - ReadINIStr $INTERACTIVEMODE "$PLUGINSDIR\InstallerWizardForm.ini" "Field 3" "State" - - StrCmp $INSTALLAPPDIRECTORY "" NoInstallAppDirectoryError - ${If} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini" - StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini" - StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\installer.ini" - StrCpy $PluginInstaller "false" - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $PluginInstaller "true" - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\plugininstaller.ini" - CreateDirectory "$INSTALLAPPDIRECTORY\App" - CreateDirectory "$INSTALLAPPDIRECTORY\App\AppInfo" - Rename "$INSTALLAPPDIRECTORY\Other\Source\plugininstaller.ini" "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $AppInfoINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $InstallerINIFile "$INSTALLAPPDIRECTORY\App\AppInfo\plugininstaller.ini" - StrCpy $PluginInstaller "true" - ${ElseIf} $INTERACTIVEMODE = 1 - ; No AppInfo found - ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\*.exe" - ${AndIf} $PluginInstaller != "true" - Goto NoInstallAppDirectoryError - ${EndIf} - - MessageBox MB_ICONQUESTION|MB_YESNO "The app does not appear to have the necessary files within the App\AppInfo directory required by PortableApps.com Format. Would you like to create the settings interactively and use a set of default icons for now for testing?" IDNO NoInstallAppDirectoryError - - ;Find EXE file - FindFirst $2 $3 "$INSTALLAPPDIRECTORY\*.exe" - StrCpy $4 0 - - ${DoWhile} $3 != "" - StrCpy $5 $3 - IntOp $4 $4 + 1 - FindNext $2 $3 - ${Loop} - FindClose $2 - - ${If} $4 > 1 - MessageBox MB_OK|MB_ICONEXCLAMATION `Multiple EXEs were found in the directory you selected. The PortableApps.com Installer can only generate default information for applications with a single EXE. Please review the information at PortableApps.com/development for details on creating the configuration files.` - Abort - ${EndIf} - - CreateDirectory "$INSTALLAPPDIRECTORY\App\AppInfo" - CopyFiles /SILENT "$EXEDIR\App\default_bits\appicon_16.png" "$INSTALLAPPDIRECTORY\App\AppInfo" - CopyFiles /SILENT "$EXEDIR\App\default_bits\appicon_32.png" "$INSTALLAPPDIRECTORY\App\AppInfo" - CopyFiles /SILENT "$EXEDIR\App\default_bits\appicon.ico" "$INSTALLAPPDIRECTORY\App\AppInfo" - CopyFiles /SILENT "$EXEDIR\App\default_bits\appinfo.ini" "$INSTALLAPPDIRECTORY\App\AppInfo" - WriteINIStr "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini" "Format" "Version" "${PORTABLEAPPS.COMFORMATVERSION}" - WriteINIStr "$INSTALLAPPDIRECTORY\App\AppInfo\appinfo.ini" "Control" "Start" "$5" - - MessageBox MB_ICONINFORMATION "Before releasing this application, please be sure to create a set of proper icons in App\AppInfo." - ${Else} - Goto NoInstallAppDirectoryError - ${EndIf} - - ; Store settings - WriteINIStr "$EXEDIR\Data\settings.ini" "InstallerWizard" "INSTALLAPPDIRECTORY" $INSTALLAPPDIRECTORY - WriteINIStr "$EXEDIR\Data\settings.ini" "InstallerWizard" "InteractiveMode" $INTERACTIVEMODE - Goto EndLeaveOptionsWindow - - NoInstallAppDirectoryError: - MessageBox MB_OK|MB_ICONEXCLAMATION `Please select a valid portable app's base directory to create an installer for.` - Abort - - EndLeaveOptionsWindow: -FunctionEnd - -!define SetIndividualLanguage "!insertmacro SetIndividualLanguage" - -!define WriteConfig "!insertmacro WriteConfig" - -!macro WriteConfig Variable Value - FileWriteUTF16LE $0 `!define ${Variable} "${Value}"$\r$\n` -!macroend - -!macro SetIndividualLanguage IndividualLanguage - StrCpy $2 "${IndividualLanguage}" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "Languages" "$2" "false" - ${If} $1 == "true" - ${OrIf} $ALLLANGUAGES == "true" - ${WriteConfig} USES_$2 "true" - ${EndIf} -!macroend - -!define WriteErrorToLog "!insertmacro WriteErrorToLog" - -!macro WriteErrorToLog ErrorToWrite - FileOpen $9 "$EXEDIR\Data\PortableApps.comInstallerLog.txt" a - FileSeek $9 0 END - FileWriteUTF16LE $9 `ERROR: ${ErrorToWrite}$\r$\n` - FileClose $9 - StrCpy $ERROROCCURED "true" -!macroend - -!define TransferInstallerINIToConfig "!insertmacro TransferInstallerINIToConfig" - -!macro TransferInstallerINIToConfig Section Key Required - ${ReadINIStrWithDefault} $1 $InstallerINIFile ${Section} ${Key} "" - ${If} $1 != "" - ${WriteConfig} ${Key} "$1" - !if ${Required} == required - ${Else} - ${WriteErrorToLog} "Installer.ini - ${Section} - ${Key} is missing." - !endif - ${EndIf} -!macroend - -Section Main - !insertmacro MUI_HEADER_TEXT "PortableApps.com Installer ${FRIENDLYVER}" "the open portable software standard" - ${TBProgress} 33 - SetDetailsPrint ListOnly - DetailPrint "App: $INSTALLAPPDIRECTORY" - DetailPrint " " - ;FindWindow $0 "#32770" "" $HWNDPARENT - ;FindWindow $1 "msctls_progress32" "" $0 - - ;DetailPrint "Hanlde: $1" - RealProgress::SetProgress /NOUNLOAD 1 - RealProgress::GradualProgress /NOUNLOAD 2 1 90 "Processing complete." - DetailPrint "Generating installer code..." - SetDetailsPrint none - - ;Ensure the source directory exists - CreateDirectory "$INSTALLAPPDIRECTORY\Other\Source" - - ;Remove any existing installer files (leaving custom intact) - RMDir /r "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerLanguages" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.bmp" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.ico" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.nsi" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig-EXAMPLE.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerDumpLogToFile.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerHeader.bmp" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerMoveFiles.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerStrRep.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerHeaderRTL.bmp" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPlugin.nsi" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginConfig.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerTBProgress.nsh" - - ;Copy the current PortableApps.com Installer in - CopyFiles /SILENT "$EXEDIR\App\installer\*.*" "$INSTALLAPPDIRECTORY\Other\Source" - ${If} $PluginInstaller == "true" - Rename "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.nsi" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPlugin.nsi" - Rename "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginConfig.nsh" - ${EndIf} - - ;Generate the configuration file - Delete "$EXEDIR\Data\PortableApps.comInstallerLog.txt" - - ;Determine icon type - ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Control" "ExtractIcon" "" - ${If} $1 != "" - StrCpy $USEEXTRACTEDICON "true" - ${EndIf} - - ;Check for content - ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\*.exe" - ${AndIf} $PluginInstaller != "true" - ${WriteErrorToLog} "No EXE in $INSTALLAPPDIRECTORY." - ${EndIf} - - ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\help.html" - ${AndIf} $PluginInstaller != "true" - ${WriteErrorToLog} "No help.html in $INSTALLAPPDIRECTORY." - ${EndIf} - - !macro AppInfoFileMissingAskInsertDefault FileName FileDescription - ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\${FileName}" - ${AndIf} $PluginInstaller != "true" - ${If} $USEEXTRACTEDICON == "true" - !if ${FileName} == appicon.ico - ;Copy the default icon in (appicon_*.png don't get included) - CopyFiles /SILENT "$EXEDIR\App\default_bits\${FileName}" "$INSTALLAPPDIRECTORY\App\AppInfo" - !endif - ${ElseIf} $INTERACTIVEMODE = 1 - ${AndIf} ${Cmd} ${|} MessageBox MB_ICONQUESTION|MB_YESNO "The app does not have ${FileDescription} (${FileName}) in the App\AppInfo directory. Would you like to use a default icon for test purposes for now?" IDYES ${|} - CopyFiles /SILENT "$EXEDIR\App\default_bits\${FileName}" "$INSTALLAPPDIRECTORY\App\AppInfo" - MessageBox MB_ICONINFORMATION "Before releasing this application, please be sure to create a proper ${FileName} app icon in App\AppInfo." - ${Else} - ${WriteErrorToLog} "No ${FileName} in $INSTALLAPPDIRECTORY\App\AppInfo." - ${EndIf} - ${EndIf} - !macroend - - !insertmacro AppInfoFileMissingAskInsertDefault appicon_16.png "a 16x16 PNG icon" - !insertmacro AppInfoFileMissingAskInsertDefault appicon_32.png "a 32x32 PNG icon" - !insertmacro AppInfoFileMissingAskInsertDefault appicon.ico "an icon" - - ${If} $PluginInstaller == "true" - FileOpen $0 "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginConfig.nsh" a - ${Else} - FileOpen $0 "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh" a - ${EndIf} - FileSeek $0 0 END - FileWriteUTF16LE $0 `;Code generated by PortableApps.com Installer ${FRIENDLYVER}. DO NOT EDIT.$\r$\n$\r$\n` - - ;PortableApps.comFormat Version - ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Format" "Version" "" - ${If} $1 == "0.9.8" - ;Preserve old installer config in case it's needed - Rename "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfigOld.nsh" - - ;Autogenerate App ID is handled normally when interactive - - ;Language selection is handled normally when in interactive - - ;This brings it up to 0.90 - StrCpy $1 "0.90" - ${EndIf} - ${If} $1 == "0.90" - ;0.90 to 0.91 needs no changes, so it brings it to 0.91 - StrCpy $1 "0.91" - ${EndIf} - ${If} $1 == "0.91" - ;0.91 to 1.0 needs no changes, so it brings it to 1.0 - StrCpy $1 "1.0" - ${EndIf} - ${If} $1 == "1.0" - ${OrIf} $1 == "2.0" - ;1.0 to 2.0 needs no changes, so it brings it to 2.0 - WriteINIStr $AppInfoINIFile "Format" "Version" "${PORTABLEAPPS.COMFORMATVERSION}" - ${EndIf} - - !macro GetValueFromAppInfo Section Key Prompt DefaultValue Variable Required - ReadINIStr ${Variable} $AppInfoINIFile ${Section} ${Key} - ${If} ${Variable} == "" - ${If} $INTERACTIVEMODE = 1 - ${InputTextBox} "${APPNAME}" "${Prompt}" "${DefaultValue}" "255" "OK" "Cancel" 9 - ${If} $9 != "" - StrCpy ${Variable} $9 - WriteINIStr $AppInfoINIFile ${Section} ${Key} $9 - !if ${Required} == required - ${Else} - ${WriteErrorToLog} "AppInfo.ini - ${Section} - ${Key} is missing." - !endif - ${EndIf} - !if ${Required} == required - ${Else} - ${WriteErrorToLog} "AppInfo.ini - ${Section} - ${Key} is missing." - !endif - ${EndIf} - ${EndIf} - !macroend - - ;App Name - !insertmacro GetValueFromAppInfo \ - Details \ - Name \ - "Enter the portable app's name (e.g. FileZilla Portable):" \ - "AppName Portable" \ - $PORTABLEAPPNAME \ - required - - ${If} $PluginInstaller != "true" - ${WriteConfig} PORTABLEAPPNAME "$PORTABLEAPPNAME" - ${WordReplace} $PORTABLEAPPNAME "&" "~~~@@@~~~" + $PORTABLEAPPNAMEDOUBLEDAMPERSANDS - ${WordReplace} $PORTABLEAPPNAMEDOUBLEDAMPERSANDS "~~~@@@~~~" "&&" + $PORTABLEAPPNAMEDOUBLEDAMPERSANDS - ${WriteConfig} PORTABLEAPPNAMEDOUBLEDAMPERSANDS "$PORTABLEAPPNAMEDOUBLEDAMPERSANDS" - ${EndIf} - - ;Plugin Name - ${If} $PluginInstaller == "true" - !insertmacro GetValueFromAppInfo \ - Details \ - PluginName \ - "Enter the plugin's name (e.g. Acme Plugin):" \ - "Plugin" \ - $PLUGINNAME \ - required - - ${WriteConfig} PLUGINNAME "$PLUGINNAME" - ${WriteConfig} PORTABLEAPPNAME "$PLUGINNAME" - ${WordReplace} $PLUGINNAME "&" "~~~@@@~~~" + $PORTABLEAPPNAMEDOUBLEDAMPERSANDS - ${WordReplace} $PORTABLEAPPNAMEDOUBLEDAMPERSANDS "~~~@@@~~~" "&&" + $PORTABLEAPPNAMEDOUBLEDAMPERSANDS - ${WriteConfig} PORTABLEAPPNAMEDOUBLEDAMPERSANDS "$PORTABLEAPPNAMEDOUBLEDAMPERSANDS" - ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Details" "PluginType" "App" - ${If} $1 == "CommonFiles" - StrCpy $COMMONFILESPLUGIN "true" - ${WriteConfig} COMMONFILESPLUGIN "true" - ${EndIf} - ${EndIf} - - - ;App ID - ${WordReplace} $PORTABLEAPPNAME " " "" + $8 - ${WordReplace} $8 " " "_" + $8 - ${WordReplace} $8 "(" "" + $8 - ${WordReplace} $8 ")" "" + $8 - ${WordReplace} $8 "[" "" + $8 - ${WordReplace} $8 "]" "" + $8 - ${WordReplace} $8 "~" "-" + $8 - ${WordReplace} $8 "&" "+" + $8 - ${WordReplace} $8 "#" "+" + $8 - ${WordReplace} $8 "$\"" "-" + $8 - ${WordReplace} $8 "*" "+" + $8 - ${WordReplace} $8 "/" "_" + $8 - ${WordReplace} $8 "\" "_" + $8 - ${WordReplace} $8 ":" "." + $8 - ${WordReplace} $8 "<" "-" + $8 - ${WordReplace} $8 ">" "-" + $8 - ${WordReplace} $8 "?" "" + $8 - ${WordReplace} $8 "|" "-" + $8 - ${WordReplace} $8 "=" "-" + $8 - ${WordReplace} $8 "," "." + $8 - ${WordReplace} $8 ";" "." + $8 - !insertmacro GetValueFromAppInfo \ - Details \ - AppID \ - "Enter the portable app's App ID (usually the name with no spaces or symbols):" \ - $8 \ - $APPID \ - required - - ${WriteConfig} APPID "$APPID" - StrCpy $SHORTNAME $APPID - - ;Publisher - !insertmacro GetValueFromAppInfo \ - Details \ - Publisher \ - "Enter the publisher ('App Developer && PortableApps.com' for our apps):" \ - "No Publisher Specified" \ - $1 \ - optional - - ;Homepage - !insertmacro GetValueFromAppInfo \ - Details \ - Homepage \ - "Enter the app's homepage (e.g. portableapps.com):" \ - "example.com" \ - $1 \ - optional - - ;Category - !insertmacro GetValueFromAppInfo \ - Details \ - Category \ - "Enter the app's category *exactly* (Accessibility, Development, Education, Games, Graphics && Pictures, Internet, Music && Video, Office, Operating Systems, Utilities):" \ - "" \ - $1 \ - optional - - ;Description - !insertmacro GetValueFromAppInfo \ - Details \ - Description \ - "Enter the app's description (e.g. Simple FTP program.):" \ - "" \ - $1 \ - optional - - ;Language - !insertmacro GetValueFromAppInfo \ - Details \ - Language \ - "Enter the portable app's language as expected by NSIS (e.g. English or Multilingual):" \ - "English" \ - $APPLANGUAGE \ - optional - ${If} $APPLANGUAGE == "" - StrCpy $APPLANGUAGE "English" - ${EndIf} - - !macro GetLicenseValueFromAppInfo Key Prompt - ReadINIStr $1 $AppInfoINIFile License ${Key} - ${If} $1 == "" - ${If} $INTERACTIVEMODE = 1 - ${If} ${Cmd} ${|} MessageBox MB_ICONQUESTION|MB_YESNO "License Question: ${Prompt}" IDYES ${|} - StrCpy $1 "true" - ${Else} - StrCpy $1 "false" - ${EndIf} - WriteINIStr $AppInfoINIFile License ${Key} $1 - ${EndIf} - ${EndIf} - !macroend - - ;License - !insertmacro GetLicenseValueFromAppInfo Shareable "Can this application be legally shared from one user to another?" - !insertmacro GetLicenseValueFromAppInfo OpenSource "Is this application 100% open source under an OSI-approved license?" - !insertmacro GetLicenseValueFromAppInfo Freeware "Is this application freeware (it can be used without payment)?" - !insertmacro GetLicenseValueFromAppInfo CommercialUse "Can this app be used in a commercial environment?" - - ;EULA Version - ${ReadINIStrWithDefault} $EULAVERSION $AppInfoINIFile "License" "EULAVersion" "" - - ;Display Version - !insertmacro GetValueFromAppInfo \ - Version \ - DisplayVersion \ - "Enter the portable app's display version (e.g. 1.0 or 2.2 Beta 1):" \ - "0.1" \ - $DISPLAYVERSION \ - required - - ;Package Version - !insertmacro GetValueFromAppInfo \ - Version \ - PackageVersion \ - "Enter the portable app's package version as all numbers in the form X.X.X.X (e.g. 1.0.0.0 or 2.2.0.1):" \ - "0.1.0.0" \ - $1 \ - required - - ${WriteConfig} VERSION "$1" - - ;Filename should only be alpha, numbers as well as: + . - _ - ${If} $PluginInstaller == "true" - StrCpy $INSTALLERFILENAME "$PLUGINNAME_$DISPLAYVERSION" - ${Else} - StrCpy $INSTALLERFILENAME "$APPID_$DISPLAYVERSION" - ${EndIf} - - ${If} $APPLANGUAGE != "Multilingual" - StrCpy $INSTALLERFILENAME "$INSTALLERFILENAME_$APPLANGUAGE" - ${EndIf} - - ${WordReplace} $INSTALLERFILENAME " " "_" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "(" "" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME ")" "" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "[" "" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "]" "" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "~" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "&" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "#" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "$\"" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "*" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "/" "_" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "\" "_" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME ":" "." + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "<" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME ">" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "?" "" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "|" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "=" "-" + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "," "." + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME ";" "." + $INSTALLERFILENAME - ${WordReplace} $INSTALLERFILENAME "+" "Plus" + $INSTALLERFILENAME - - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DownloadURL" "" - ${If} $1 != "" - StrCpy $INSTALLERFILENAME "$INSTALLERFILENAME_online" - ${EndIf} - - ${WriteConfig} FILENAME "$INSTALLERFILENAME" - - - ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Control" "Start" "" - ${If} $1 == "" - ${WriteErrorToLog} "AppInfo.ini - Control - Start is missing." - ${Else} - ${WriteConfig} FINISHPAGERUN "$1" - ${EndIf} - ${IfNot} ${FileExists} "$INSTALLAPPDIRECTORY\$1" - ${AndIf} $PluginInstaller != "true" - ${WriteErrorToLog} "AppInfo.ini - Control - Start=$1, file is missing." - ${EndIf} - - ${ReadINIStrWithDefault} $2 $InstallerINIFile "CheckRunning" "CloseEXE" "$1" - ${WriteConfig} CHECKRUNNING "$2" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "CheckRunning" "CloseName" "$PORTABLEAPPNAME" - ${WriteConfig} CLOSENAME "$1" - ${ReadINIStrWithDefault} $1 $AppInfoINIFile "SpecialPaths" "Plugins" "NONE" - ${WriteConfig} ADDONSDIRECTORYPRESERVE "$1" - ${WriteConfig} INSTALLERCOMMENTS "For additional details, visit PortableApps.com" - ${ReadINIStrWithDefault} $1 $AppInfoINIFile "Details" "Trademarks" "" - ${If} $1 != "" - StrCpy $1 "$1. " - ${EndIf} - ${WriteConfig} INSTALLERADDITIONALTRADEMARKS "$1" - - ;Source Code - ${ReadINIStrWithDefault} $INCLUDESOURCE $InstallerINIFile "Source" "IncludeInstallerSource" "false" - ${If} $INCLUDESOURCE == "true" - ${WriteConfig} INCLUDEINSTALLERSOURCE "true" - ${EndIf} - - ;Languages - ${If} $APPLANGUAGE != "Multilingual" - ${WriteConfig} INSTALLERLANGUAGE "$APPLANGUAGE" - ${Else} - ${WriteConfig} INSTALLERMULTILINGUAL "true" - - ${ReadINIStrWithDefault} $1 $InstallerINIFile "Languages" "English" "" - ${If} $1 == "" - StrCpy $ALLLANGUAGES "true" - ${EndIf} - - ${SetIndividualLanguage} "ENGLISH" - ${SetIndividualLanguage} "ENGLISHGB" - ${SetIndividualLanguage} "AFRIKAANS" - ${SetIndividualLanguage} "ALBANIAN" - ${SetIndividualLanguage} "ARABIC" - ${SetIndividualLanguage} "ARMENIAN" - ${SetIndividualLanguage} "BASQUE" - ${SetIndividualLanguage} "BELARUSIAN" - ${SetIndividualLanguage} "BOSNIAN" - ${SetIndividualLanguage} "BRETON" - ${SetIndividualLanguage} "BULGARIAN" - ${SetIndividualLanguage} "CATALAN" - ${SetIndividualLanguage} "CROATIAN" - ${SetIndividualLanguage} "CZECH" - ${SetIndividualLanguage} "DANISH" - ${SetIndividualLanguage} "DUTCH" - ${SetIndividualLanguage} "ESPERANTO" - ${SetIndividualLanguage} "ESTONIAN" - ${SetIndividualLanguage} "FARSI" - ${SetIndividualLanguage} "FINNISH" - ${SetIndividualLanguage} "FRENCH" - ${SetIndividualLanguage} "GALICIAN" - ${SetIndividualLanguage} "GERMAN" - ${SetIndividualLanguage} "GREEK" - ${SetIndividualLanguage} "HEBREW" - ${SetIndividualLanguage} "HUNGARIAN" - ${SetIndividualLanguage} "ICELANDIC" - ${SetIndividualLanguage} "INDONESIAN" - ${SetIndividualLanguage} "IRISH" - ${SetIndividualLanguage} "ITALIAN" - ${SetIndividualLanguage} "JAPANESE" - ${SetIndividualLanguage} "KOREAN" - ${SetIndividualLanguage} "KURDISH" - ${SetIndividualLanguage} "LATVIAN" - ${SetIndividualLanguage} "LITHUANIAN" - ${SetIndividualLanguage} "LUXEMBOURGISH" - ${SetIndividualLanguage} "MACEDONIAN" - ${SetIndividualLanguage} "MALAY" - ${SetIndividualLanguage} "MONGOLIAN" - ${SetIndividualLanguage} "NORWEGIAN" - ${SetIndividualLanguage} "NORWEGIANNYNORSK" - ${SetIndividualLanguage} "POLISH" - ${SetIndividualLanguage} "PORTUGUESE" - ${SetIndividualLanguage} "PORTUGUESEBR" - ${SetIndividualLanguage} "ROMANIAN" - ${SetIndividualLanguage} "RUSSIAN" - ${SetIndividualLanguage} "SERBIAN" - ${SetIndividualLanguage} "SERBIANLATIN" - ${SetIndividualLanguage} "SIMPCHINESE" - ${SetIndividualLanguage} "SLOVAK" - ${SetIndividualLanguage} "SLOVENIAN" - ${SetIndividualLanguage} "SPANISH" - ${SetIndividualLanguage} "SPANISHINTERNATIONAL" - ${SetIndividualLanguage} "SWEDISH" - ${SetIndividualLanguage} "THAI" - ${SetIndividualLanguage} "TRADCHINESE" - ${SetIndividualLanguage} "TURKISH" - ${SetIndividualLanguage} "UKRAINIAN" - ${SetIndividualLanguage} "UZBEK" - ${SetIndividualLanguage} "WELSH" - ${EndIf} - - ;EULA - ${If} $PluginInstaller == "true" - ${If} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\PluginEULA.txt" - ${WriteConfig} LICENSEAGREEMENT "PluginEULA.txt" - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\PluginEULA.txt" - Rename "$INSTALLAPPDIRECTORY\Other\Source\PluginEULA.txt" "$INSTALLAPPDIRECTORY\App\AppInfo\PluginEULA.txt" - ${WriteConfig} LICENSEAGREEMENT "PluginEULA.txt" - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\PluginEULA.rtf" - ${WriteErrorToLog} "EULA - Other\Source\PluginEULA.rtf is no longer supported. Use App\AppInfo\PluginEULA.txt instead." - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\PluginEULA.rtf" - ${WriteErrorToLog} "EULA - App\AppInfo\PluginEULA.rtf is not supported. Use App\AppInfo\PluginEULA.txt instead." - ${EndIf} - ${Else} - ${If} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\EULA.txt" - ${WriteConfig} LICENSEAGREEMENT "eula.txt" - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\EULA.txt" - Rename "$INSTALLAPPDIRECTORY\Other\Source\EULA.txt" "$INSTALLAPPDIRECTORY\App\AppInfo\EULA.txt" - ${WriteConfig} LICENSEAGREEMENT "eula.txt" - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\Other\Source\EULA.rtf" - ${WriteErrorToLog} "EULA - Other\Source\EULA.rtf is no longer supported. Use App\AppInfo\EULA.txt instead." - ${ElseIf} ${FileExists} "$INSTALLAPPDIRECTORY\App\AppInfo\EULA.rtf" - ${WriteErrorToLog} "EULA - App\AppInfo\EULA.rtf is not supported. Use App\AppInfo\EULA.txt instead." - ${EndIf} - ${EndIf} - - ${If} $EULAVERSION != "" - ${WriteConfig} EULAVERSION "$EULAVERSION" - ${EndIf} - - ;OptionalComponents - ${ReadINIStrWithDefault} $OPTIONALCOMPONENTS $InstallerINIFile "OptionalComponents" "OptionalComponents" "false" - ${If} $OPTIONALCOMPONENTS == "true" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "MainSectionTitle" "$PORTABLEAPPNAME (English) [Required]" - ${WriteConfig} MAINSECTIONTITLE "$1" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "MainSectionDescription" "Install the portable app" - ${WriteConfig} MAINSECTIONDESCRIPTION "$1" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionTitle" "Additional Languages" - ${WriteConfig} OPTIONALSECTIONTITLE "$1" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionDescription" "Add multilingual support for this app" - ${WriteConfig} OPTIONALSECTIONDESCRIPTION "$1" - ${ReadINIStrWithDefault} $OptionalSectionSelectedInstallType $InstallerINIFile "OptionalComponents" "OptionalSectionSelectedInstallType" "Multilingual" - ${WriteConfig} OPTIONALSECTIONSELECTEDINSTALLTYPE "$OptionalSectionSelectedInstallType" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionNotSelectedInstallType" "English" - ${WriteConfig} OPTIONALSECTIONNOTSELECTEDINSTALLTYPE "$1" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionPreSelectedIfNonEnglishInstall" "true" - ${If} $1 == "true" - ${WriteConfig} OPTIONALSECTIONPRESELECTEDIFNONENGLISHINSTALL "$1" - ${EndIf} - - ${If} $OptionalSectionSelectedInstallType == "Multilingual" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionInstalledWhenSilent" "false" - ${Else} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalSectionInstalledWhenSilent" "true" - ${EndIf} - - ${If} $1 == "true" - ${WriteConfig} OPTIONALSECTIONINSTALLEDWHENSILENT "$1" - ${EndIf} - ${EndIf} - - ;Main directories - ${If} $PluginInstaller == "true" - ${AndIf} $COMMONFILESPLUGIN != "true" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveAppDirectory" "false" - ${Else} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveAppDirectory" "true" - ${EndIf} - ${If} $1 == "true" - ${WriteConfig} REMOVEAPPDIRECTORY "true" - ${EndIf} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveDataDirectory" "false" - ${If} $1 == "true" - ${WriteConfig} REMOVEDATADIRECTORY "true" - ${EndIf} - ${If} $PluginInstaller == "true" - ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveOtherDirectory" "false" - ${Else} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "MainDirectories" "RemoveOtherDirectory" "true" - ${EndIf} - ${If} $1 == "true" - ${WriteConfig} REMOVEOTHERDIRECTORY "true" - ${EndIf} - - ;Preserve directories - StrCpy $R1 1 - ${Do} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DirectoriesToPreserve" "PreserveDirectory$R1" "" - ${If} $1 != "" - ${WriteConfig} PRESERVEDIRECTORY$R1 "$1" - ${EndIf} - IntOp $R1 $R1 + 1 - ${LoopUntil} $R1 > 10 - - ;Remove directories - StrCpy $R1 1 - ${Do} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DirectoriesToRemove" "RemoveDirectory$R1" "" - ${If} $1 != "" - ${WriteConfig} REMOVEDIRECTORY$R1 "$1" - ${EndIf} - IntOp $R1 $R1 + 1 - ${LoopUntil} $R1 > 10 - - ;Preserve files - StrCpy $R1 1 - ${Do} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "FilesToPreserve" "PreserveFile$R1" "" - ${If} $1 != "" - ${WriteConfig} PRESERVEFILE$R1 "$1" - ${EndIf} - IntOp $R1 $R1 + 1 - ${LoopUntil} $R1 > 10 - - ;Remove files - StrCpy $R1 1 - ${Do} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "FilesToRemove" "RemoveFile$R1" "" - ${If} $1 != "" - ${WriteConfig} REMOVEFILE$R1 "$1" - ${EndIf} - IntOp $R1 $R1 + 1 - ${LoopUntil} $R1 > 10 - - ;Custom code - ${If} $PluginInstaller == "true" - StrCpy $9 "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginCustom.nsh" - ${Else} - StrCpy $9 "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerCustom.nsh" - ${EndIf} - ${If} ${FileExists} $9 - ${WriteConfig} USESCUSTOMCODE "true" - ${EndIf} - - ;Local Files - ${ReadINIStrWithDefault} $1 $InstallerINIFile "CopyLocalFiles" "CopyLocalFiles" "false" - ${If} $1 == "true" - ${WriteConfig} COPYLOCALFILES "true" - - !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyFromRegPath - - !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyFromRegKey - - !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyFromRegRemoveDirectories - - !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyFromDirectory - - !insertmacro TransferInstallerINIToConfig CopyLocalFiles CopyToDirectory - - ${EndIf} - - ;Download files - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DownloadURL" "" - ${If} $1 != "" - StrCpy $2 $1 7 - - ${If} $2 == "http://" - ${WriteConfig} DownloadURL "$1" - - !insertmacro TransferInstallerINIToConfig DownloadFiles DownloadName required - !insertmacro TransferInstallerINIToConfig DownloadFiles DownloadFilename required - !insertmacro TransferInstallerINIToConfig DownloadFiles DownloadMD5 - - !insertmacro TransferInstallerINIToConfig DownloadFiles DownloadTo - - !insertmacro TransferInstallerINIToConfig DownloadFiles AdditionalInstallSize required - - ${For} $R1 1 10 - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "Extract$R1To" "" - ${If} $1 != "" - ${If} $1 == "" - StrCpy $1 "" - ${EndIf} - ${WriteConfig} Extract$R1To "$1" - ${EndIf} - ${Next} - - ${For} $R1 1 10 - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "Extract$R1File" "" - ${If} $1 != "" - ${WriteConfig} Extract$R1File "$1" - ${EndIf} - ${Next} - - ${For} $R1 1 10 - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "AdvancedExtract$R1To" "" - ${If} $1 != "" - ${If} $1 == "" - StrCpy $1 "" - ${EndIf} - ${WriteConfig} AdvancedExtract$R1To "$1" - ${EndIf} - ${Next} - - ${For} $R1 1 10 - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "AdvancedExtract$R1Filter" "" - ${If} $1 != "" - ${WriteConfig} AdvancedExtract$R1Filter "$1" - ${EndIf} - ${Next} - - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DoubleExtractFilename" "" - ${If} $1 != "" - ${WriteConfig} DoubleExtractFilename "$1" - - ${For} $R1 1 10 - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DoubleExtract$R1To" "" - ${If} $1 != "" - ${If} $1 == "" - StrCpy $1 "" - ${EndIf} - ${WriteConfig} DoubleExtract$R1To "$1" - ${EndIf} - ${Next} - - ${For} $R1 1 10 - ${ReadINIStrWithDefault} $1 $InstallerINIFile "DownloadFiles" "DoubleExtract$R1Filter" "" - ${If} $1 != "" - ${WriteConfig} DoubleExtract$R1Filter "$1" - ${EndIf} - ${Next} - - ${EndIf} - ${Else} - ${WriteErrorToLog} "Installer.ini - DownloadFiles - DownloadURL must begin with http://" - ${EndIf} - ${EndIf} - - FileClose $0 - - ; If errors have occurred, there's no point in going on to the actual generation of it. - ${If} $ERROROCCURED != "true" - ;Make the installer header - ${If} $USEEXTRACTEDICON == "true" - ${OrIf} $PluginInstaller == "true" - CopyFiles /SILENT "$EXEDIR\App\default_bits\PortableApps.comInstallerHeader.bmp" "$INSTALLAPPDIRECTORY\Other\Source" - CopyFiles /SILENT "$EXEDIR\App\default_bits\PortableApps.comInstallerHeaderRTL.bmp" "$INSTALLAPPDIRECTORY\Other\Source" - ${Else} - ExecWait `"$EXEDIR\App\bin\MakeHeader.exe" "$INSTALLAPPDIRECTORY"` - ${EndIf} - - ;Move optional component files - ${If} $OPTIONALCOMPONENTS == "true" - CreateDirectory "$INSTALLAPPDIRECTORY\Optional1" - - ;Move directories - StrCpy $R1 1 - ${Do} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalDirectory$R1" "\COMPLETED\" - ${If} $1 != "" - ${AndIf} $1 != "\COMPLETED\" - ${GetParent} "$INSTALLAPPDIRECTORY\Optional1\$1" $2 - CreateDirectory $2 - Rename "$INSTALLAPPDIRECTORY\$1" "$INSTALLAPPDIRECTORY\Optional1\$1" - ${EndIf} - IntOp $R1 $R1 + 1 - ${LoopUntil} $1 == "\COMPLETED\" - - ;Move files - StrCpy $R1 1 - ${Do} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalFile$R1" "\COMPLETED\" - ${If} $1 != "" - ${AndIf} $1 != "\COMPLETED\" - ${GetParent} "$INSTALLAPPDIRECTORY\Optional1\$1" $2 - CreateDirectory $2 - ${GetParent} "$INSTALLAPPDIRECTORY\$1" $3 - ${GetFileName} "$INSTALLAPPDIRECTORY\Optional1\$1" $4 - ${MoveFiles} DOS "$4" "$3" "$2" - ${EndIf} - IntOp $R1 $R1 + 1 - ${LoopUntil} $1 == "\COMPLETED\" - - ${EndIf} - - ;Compile the installer - SetDetailsPrint ListOnly - ${If} $PluginInstaller == "true" - DetailPrint "Creating $PLUGINNAME installer..." - ${Else} - DetailPrint "Creating $PORTABLEAPPNAME installer..." - ${EndIf} - SetDetailsPrint none - ${TBProgress} 66 - - ;Delete existing installer if there is one - ${GetParent} $INSTALLAPPDIRECTORY $0 - Delete "$0\$INSTALLERFILENAME.paf.exe" - ${If} ${FileExists} "$0\$INSTALLERFILENAME.paf.exe" - MessageBox MB_OK|MB_ICONEXCLAMATION "Unable to delete file: $0\$INSTALLERFILENAME.paf.exe. Please be sure the file is not in use" - ${WriteErrorToLog} "Unable to delete file: $0\$INSTALLERFILENAME.paf.exe. Please be sure the file is not in use." - ${Else} - SetOutPath "$EXEDIR\App\nsis" - ${If} $PluginInstaller == "true" - ExecDos::exec `"$EXEDIR\App\nsis\makensis.exe" /O"$EXEDIR\Data\PortableApps.comInstallerLog.txt" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPlugin.nsi"` "" "" - ${Else} - ExecDos::exec `"$EXEDIR\App\nsis\makensis.exe" /O"$EXEDIR\Data\PortableApps.comInstallerLog.txt" "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.nsi"` "" "" - ${EndIf} - ${EndIf} - - ;Move optional component files back - ${If} $OPTIONALCOMPONENTS == "true" - ;Move directories - StrCpy $R1 1 - ${Do} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalDirectory$R1" "\COMPLETED\" - ${If} $1 != "" - ${AndIf} $1 != "\COMPLETED\" - Rename "$INSTALLAPPDIRECTORY\Optional1\$1" "$INSTALLAPPDIRECTORY\$1" - ${EndIf} - IntOp $R1 $R1 + 1 - ${LoopUntil} $1 == "\COMPLETED\" - - ;Move files - StrCpy $R1 1 - ${Do} - ${ReadINIStrWithDefault} $1 $InstallerINIFile "OptionalComponents" "OptionalFile$R1" "\COMPLETED\" - ${If} $1 != "" - ${AndIf} $1 != "\COMPLETED\" - ${GetParent} "$INSTALLAPPDIRECTORY\Optional1\$1" $2 - ${GetParent} "$INSTALLAPPDIRECTORY\$1" $3 - ${GetFileName} "$INSTALLAPPDIRECTORY\Optional1\$1" $4 - ${MoveFiles} DOS "$4" "$2" "$3" - ${EndIf} - IntOp $R1 $R1 + 1 - ${LoopUntil} $1 == "\COMPLETED\" - - RMDir /r "$INSTALLAPPDIRECTORY\Optional1" - ${EndIf} - ${EndIf} - - ; Done - SetDetailsPrint ListOnly - DetailPrint " " - DetailPrint "Processing complete." - - ${If} ${FileExists} "$0\$INSTALLERFILENAME.paf.exe" - ${AndIf} $ERROROCCURED != "true" - StrCpy $FINISHTITLE "Installer Created" - StrCpy $FINISHTEXT "The installer has been created. Installer location:\r\n$0\r\n\r\nInstaller name:\r\n$INSTALLERFILENAME.paf.exe" - ${Else} - StrCpy $FINISHTITLE "An Error Occured" - StrCpy $FINISHTEXT "The installer was not created. You can view the log file for more information." - StrCpy $ERROROCCURED "true" - ${EndIf} - - SetDetailsPrint none - ;Remove the installer files if not included - ${If} $INCLUDESOURCE != "true" - ${AndIf} $ERROROCCURED != "true" - RMDir /r "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerLanguages\" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.bmp" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.ico" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstaller.nsi" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerConfig.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerDumpLogToFile.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerHeader.bmp" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerHeaderRTL.bmp" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerMoveFiles.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPlugin.nsi" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerPluginConfig.nsh" - Delete "$INSTALLAPPDIRECTORY\Other\Source\PortableApps.comInstallerTBProgress.nsh" - ${EndIf} - - ;Remove the Source and Other directories if empty - RMDir "$INSTALLAPPDIRECTORY\Other\Source" - RMDir "$INSTALLAPPDIRECTORY\Other" - ${TBProgress_State} NoProgress -SectionEnd - -Function ShowFinishPage - ${If} $AUTOMATICCOMPILE == "true" - ${AndIf} $ERROROCCURED != "true" - Abort - ${ElseIf} $ERROROCCURED == "true" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Flags" "DISABLED" - !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" "1" - ${EndIf} -FunctionEnd - -Function RunOnFinish - Exec `"$0\$INSTALLERFILENAME.paf.exe"` -FunctionEnd - -Function .onGUIEnd - RealProgress::Unload -FunctionEnd \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizardForm.ini b/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizardForm.ini deleted file mode 100644 index 3f3bc0b01..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Source/InstallerWizardForm.ini and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/License.txt b/Greenshot/tools/PortableApps.comInstaller/Other/Source/License.txt deleted file mode 100644 index d6a3987f4..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/License.txt +++ /dev/null @@ -1,344 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, -THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT -PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED -IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, -EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR -A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY -AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL -NECESSARY SERVICING, REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR -AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY -OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM -AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING -ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES -ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM -(INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING -RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY -OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS -BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) 19yy - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - , 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/MoveFiles.nsh b/Greenshot/tools/PortableApps.comInstaller/Other/Source/MoveFiles.nsh deleted file mode 100644 index 451ab65ee..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/MoveFiles.nsh +++ /dev/null @@ -1,104 +0,0 @@ -; Copyright (c) 2008, Harold E Austin Jr -; All rights reserved. -; -; Redistribution and use in source and binary forms, with or without -; modification, are permitted provided that the following conditions are met: -; * Redistributions of source code must retain the above copyright -; notice, this list of conditions and the following disclaimer. -; * Redistributions in binary form must reproduce the above copyright -; notice, this list of conditions and the following disclaimer in the -; documentation and/or other materials provided with the distribution. -; * Neither the name of the organization nor the -; names of its contributors may be used to endorse or promote products -; derived from this software without specific prior written permission. -; -; THIS SOFTWARE IS PROVIDED BY Harold E Austin Jr ``AS IS'' AND ANY -; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -; DISCLAIMED. IN NO EVENT SHALL Harold E Austin Jr BE LIABLE FOR ANY -; DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -; (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -; ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -/* - MoveFiles.nsh -- version 1.0 (May 5, 2008) - move files matching "filespec" from "source-directory" to "destination-directory" - - usage: - !include MoveFiles.nsh - - ${MoveFiles} mode "filespec" "source-directory" "destination-directory" - - where: - mode can be DOS, DIR, FORCE or DIR+FORCE (anything else = DOS): - DOS means act like the DOS MOVE command (move only files) - DIR means move files AND directories - FORCE means overwrite destination files (like MOVE/Y) - - example: - CreateDirectory "C:\NEW\DIR" - DetailPrint "Moving files and directories..." - ${MoveFiles} DIR+FORCE "*" "C:\OLD\DIR" "C:\NEW\DIR" - DetailPrint `"Processing"...` - Sleep 2000 - DetailPrint "Moving only the files back..." - ${MoveFiles} DOS "*" "C:\NEW\DIR" "C:\OLD\DIR" - DetailPrint "Moving the directories back..." - ${MoveFiles} DIR "*" "C:\NEW\DIR" "C:\OLD\DIR" -*/ -!ifndef MoveFiles -!define MoveFiles "!insertmacro MoveFiles" -!macro MoveFiles mode filespec sourcedir destdir - push `${destdir}` - push `${sourcedir}` - push `${filespec}` - push `${mode}` - call MoveFiles -!macroend - -Function MoveFiles ; mode filespec sourcedir destdir - Exch $0 ; mode, directory mode - Exch - Exch $1 ; filespec, force mode - Exch 2 - Exch $2 ; source directory - Exch 3 - Exch $3 ; destination directory - Push $4 ; FindFirst/FindNext search handle - Push $5 ; current filename matching filespec in sourcedir - FindFirst $4 $5 "$2\$1" - StrCpy $1 "" ; FORCE mode disabled by default - StrCmp $0 FORCE 0 +2 - StrCpy $1 FORCE - StrCmp $0 DIR+FORCE 0 +3 - StrCpy $0 DIR - StrCpy $1 FORCE - loop: - StrCmp $5 "" done ; $5 == "", if no more matching files - StrCmp $5 . next - StrCmp $5 .. next - StrCmp $0 DIR +2 - ; DIR mode disabled: ignore directories that match ${filespec} - IfFileExists "$2\$5\*.*" next - StrCmp $1 FORCE 0 +4 - ; FORCE mode: make sure destination doesn't exist - Delete "$3\$5" - StrCmp $0 DIR 0 +2 - RMDir /R "$3\$5" - Rename "$2\$5" "$3\$5" - next: - FindNext $4 $5 - Goto loop - done: - FindClose $4 ; finished with this search; close handle - Pop $5 - Pop $4 - Pop $3 - Pop $0 - Pop $1 - Pop $2 -FunctionEnd -!endif diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/ReadINIStrWithDefault.nsh b/Greenshot/tools/PortableApps.comInstaller/Other/Source/ReadINIStrWithDefault.nsh deleted file mode 100644 index 2d3b3a10b..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/ReadINIStrWithDefault.nsh +++ /dev/null @@ -1,55 +0,0 @@ -; ReadINIStrWithDefault 1.1 (2009-05-12) -; -; Substitutes a default value if the INI is undefined -; Copyright 2008-2009 John T. Haller of PortableApps.com -; Released under the BSD -; -; Usage: ${ReadINIStrWithDefault} OUTPUT_VALUE INI_FILENAME SECTION_NAME ENTRY_NAME DEFAULT_VALUE -; -; History: -; 1.1 (2009-05-12): Fixed error with $0 and $2 being swapped - -Function ReadINIStrWithDefault - ;Start with a clean slate - ClearErrors - - ;Get our parameters - Exch $0 ;DEFAULT_VALUE - Exch - Exch $1 ;ENTRY_NAME - Exch 2 - Exch $2 ;SECTION_NAME - Exch 3 - Exch $3 ;INI_FILENAME - Push $4 ;OUTPUT_VALUE - - ;Read from the INI - ReadINIStr $4 $3 $2 $1 - IfErrors 0 +3 - StrCpy $4 $0 - ClearErrors - - ;Keep the variable for last - StrCpy $0 $4 - - ;Clear the stack - Pop $4 - Pop $3 - Exch 2 - Pop $2 - Pop $1 - - ;Reset the last variable and leave our result on the stack - Exch $0 -FunctionEnd - -!macro ReadINIStrWithDefault OUTPUT_VALUE INI_FILENAME SECTION_NAME ENTRY_NAME DEFAULT_VALUE - Push `${INI_FILENAME}` - Push `${SECTION_NAME}` - Push `${ENTRY_NAME}` - Push `${DEFAULT_VALUE}` - Call ReadINIStrWithDefault - Pop `${OUTPUT_VALUE}` -!macroend - -!define ReadINIStrWithDefault '!insertmacro "ReadINIStrWithDefault"' diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/Readme.txt b/Greenshot/tools/PortableApps.comInstaller/Other/Source/Readme.txt deleted file mode 100644 index c725c6ea3..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/Readme.txt +++ /dev/null @@ -1,41 +0,0 @@ -PortableApps.com Installer -========================== -Copyright 2006-2009 John T. Haller - -Website: http://PortableApps.com/Installer - -This software is OSI Certified Open Source Software. -OSI Certified is a certification mark of the Open Source Initiative. - -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - - -About PortableApps.com Installer -================================ -PortableApps.com Installer allows you to easily package apps in PortableApps.com -Format as a PortableApps.com Installer. - - -LICENSE -======= -This code is released under the GPL. Within the Other\Source directory -you will find the code as well as the full GPL license (License.txt). If you use the -code in your own product, please give proper and prominent attribution. - - -PortableApps.com Installer CONFIGURATION -======================================== -Configuration options are included in the appropriate appinfo.ini and installer.ini -files in the app's AppInfo directory as detailed at PortableApps.com/development \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/TBProgress.nsh b/Greenshot/tools/PortableApps.comInstaller/Other/Source/TBProgress.nsh deleted file mode 100644 index 7fa976961..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/Other/Source/TBProgress.nsh +++ /dev/null @@ -1,59 +0,0 @@ -!include "LogicLib.nsh" - -!ifndef CLSCTX_INPROC_SERVER - !define CLSCTX_INPROC_SERVER 1 -!endif - -!define CLSID_ITaskbarList {56fdf344-fd6d-11d0-958a-006097c9a090} - -!define IID_ITaskbarList3 {ea1afb91-9e28-4b86-90e9-9e9f8a5eefaf} -!define ITaskbarList3->SetProgressState $ITaskbarList3->10 -!define ITaskbarList3->SetProgressValue $ITaskbarList3->9 - -!define TBPF_NOPROGRESS 0x00000000 ; Normal state / no progress bar -!define TBPF_INDETERMINATE 0x00000001 ; Marquee style progress bar -!define TBPF_NORMAL 0x00000002 ; Standard progress bar -!define TBPF_ERROR 0x00000004 ; Red taskbar button to indicate an error occurred -!define TBPF_PAUSED 0x00000008 ; Yellow taskbar button to indicate user attention - ; (input) is required to resume progress - -Var ITaskbarList3 - -!macro TBProgress_Init - !ifndef TBProgressInitialized - !define TBProgressInitialized - ${Unless} ${Silent} - System::Call "ole32::CoCreateInstance( \ - g '${CLSID_ITaskbarList}', \ - i 0, \ - i ${CLSCTX_INPROC_SERVER}, \ - g '${IID_ITaskbarList3}', \ - *i .s)" - Pop $ITaskbarList3 - ${Else} - StrCpy $ITaskbarList3 0 - ${EndIf} - !endif -!macroend -!define TBProgress_Init `!insertmacro TBProgress_Init` - -!macro TBProgress_Progress Val Max - ${TBProgress_Init} - ${If} $ITaskbarList3 <> 0 - System::Call "${ITaskbarList3->SetProgressValue}(i$HWNDPARENT, l${Val}, l${Max})" - ${EndIf} -!macroend -!define TBProgress_Progress `!insertmacro TBProgress_Progress` - -!macro TBProgress Val - ${TBProgress_Progress} ${Val} 100 -!macroend -!define TBProgress `!insertmacro TBProgress` - -!macro TBProgress_State State - ${TBProgress_Init} - ${If} $ITaskbarList3 <> 0 - System::Call "${ITaskbarList3->SetProgressState}(i$HWNDPARENT, i${TBPF_${State}})" - ${EndIf} -!macroend -!define TBProgress_State `!insertmacro TBProgress_State` \ No newline at end of file diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/header.bmp b/Greenshot/tools/PortableApps.comInstaller/Other/Source/header.bmp deleted file mode 100644 index 46414e810..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Source/header.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/header_rtl.bmp b/Greenshot/tools/PortableApps.comInstaller/Other/Source/header_rtl.bmp deleted file mode 100644 index 25b91490b..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Source/header_rtl.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/Other/Source/welcomefinish.bmp b/Greenshot/tools/PortableApps.comInstaller/Other/Source/welcomefinish.bmp deleted file mode 100644 index 220f605c3..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/Other/Source/welcomefinish.bmp and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/PortableApps.comInstaller.exe b/Greenshot/tools/PortableApps.comInstaller/PortableApps.comInstaller.exe deleted file mode 100644 index ce6cb438a..000000000 Binary files a/Greenshot/tools/PortableApps.comInstaller/PortableApps.comInstaller.exe and /dev/null differ diff --git a/Greenshot/tools/PortableApps.comInstaller/help.html b/Greenshot/tools/PortableApps.comInstaller/help.html deleted file mode 100644 index d4fe83fe2..000000000 --- a/Greenshot/tools/PortableApps.comInstaller/help.html +++ /dev/null @@ -1,175 +0,0 @@ - -PortableApps.com Installer Help - - - - - - -
-

PortableApps.com Installer Help

-

package your portable apps right

-

PortableApps.com Installer compiles PortableApps.com Format apps into easy-to-use installers. They're small, easy to use, automatically work with the PortableApps.com Platform and require no coding or compiling. -Learn more about the PortableApps.com Installer...

- -Make a Donation - Support PortableApps.com's Hosting and Development - -

Go to the PortableApps.com Installer Homepage >>

- -

Get more portable apps at PortableApps.com

- -

This software is OSI Certified Open Source Software. OSI Certified is a certification mark of the Open Source Initiative.

- -

PortableApps.com Installer-Specific Issues

-SourceForge.net -

For support questions, see the PortableApps.com Installer Homepage

- - -
- - - \ No newline at end of file diff --git a/Greenshot/tools/WinSCP/WinSCP.com b/Greenshot/tools/WinSCP/WinSCP.com deleted file mode 100644 index 959299ecd..000000000 Binary files a/Greenshot/tools/WinSCP/WinSCP.com and /dev/null differ diff --git a/Greenshot/tools/WinSCP/WinSCP.exe b/Greenshot/tools/WinSCP/WinSCP.exe deleted file mode 100644 index db0326b35..000000000 Binary files a/Greenshot/tools/WinSCP/WinSCP.exe and /dev/null differ diff --git a/Greenshot/tools/WinSCP/WinSCPnet.dll b/Greenshot/tools/WinSCP/WinSCPnet.dll deleted file mode 100644 index fff0b8d83..000000000 Binary files a/Greenshot/tools/WinSCP/WinSCPnet.dll and /dev/null differ diff --git a/Greenshot/tools/WinSCP/license-dotnet.txt b/Greenshot/tools/WinSCP/license-dotnet.txt deleted file mode 100644 index 14e2f777f..000000000 --- a/Greenshot/tools/WinSCP/license-dotnet.txt +++ /dev/null @@ -1,373 +0,0 @@ -Mozilla Public License Version 2.0 -================================== - -1. Definitions --------------- - -1.1. "Contributor" - means each individual or legal entity that creates, contributes to - the creation of, or owns Covered Software. - -1.2. "Contributor Version" - means the combination of the Contributions of others (if any) used - by a Contributor and that particular Contributor's Contribution. - -1.3. "Contribution" - means Covered Software of a particular Contributor. - -1.4. "Covered Software" - means Source Code Form to which the initial Contributor has attached - the notice in Exhibit A, the Executable Form of such Source Code - Form, and Modifications of such Source Code Form, in each case - including portions thereof. - -1.5. "Incompatible With Secondary Licenses" - means - - (a) that the initial Contributor has attached the notice described - in Exhibit B to the Covered Software; or - - (b) that the Covered Software was made available under the terms of - version 1.1 or earlier of the License, but not also under the - terms of a Secondary License. - -1.6. "Executable Form" - means any form of the work other than Source Code Form. - -1.7. "Larger Work" - means a work that combines Covered Software with other material, in - a separate file or files, that is not Covered Software. - -1.8. "License" - means this document. - -1.9. "Licensable" - means having the right to grant, to the maximum extent possible, - whether at the time of the initial grant or subsequently, any and - all of the rights conveyed by this License. - -1.10. "Modifications" - means any of the following: - - (a) any file in Source Code Form that results from an addition to, - deletion from, or modification of the contents of Covered - Software; or - - (b) any new file in Source Code Form that contains any Covered - Software. - -1.11. "Patent Claims" of a Contributor - means any patent claim(s), including without limitation, method, - process, and apparatus claims, in any patent Licensable by such - Contributor that would be infringed, but for the grant of the - License, by the making, using, selling, offering for sale, having - made, import, or transfer of either its Contributions or its - Contributor Version. - -1.12. "Secondary License" - means either the GNU General Public License, Version 2.0, the GNU - Lesser General Public License, Version 2.1, the GNU Affero General - Public License, Version 3.0, or any later versions of those - licenses. - -1.13. "Source Code Form" - means the form of the work preferred for making modifications. - -1.14. "You" (or "Your") - means an individual or a legal entity exercising rights under this - License. For legal entities, "You" includes any entity that - controls, is controlled by, or is under common control with You. For - purposes of this definition, "control" means (a) the power, direct - or indirect, to cause the direction or management of such entity, - whether by contract or otherwise, or (b) ownership of more than - fifty percent (50%) of the outstanding shares or beneficial - ownership of such entity. - -2. License Grants and Conditions --------------------------------- - -2.1. Grants - -Each Contributor hereby grants You a world-wide, royalty-free, -non-exclusive license: - -(a) under intellectual property rights (other than patent or trademark) - Licensable by such Contributor to use, reproduce, make available, - modify, display, perform, distribute, and otherwise exploit its - Contributions, either on an unmodified basis, with Modifications, or - as part of a Larger Work; and - -(b) under Patent Claims of such Contributor to make, use, sell, offer - for sale, have made, import, and otherwise transfer either its - Contributions or its Contributor Version. - -2.2. Effective Date - -The licenses granted in Section 2.1 with respect to any Contribution -become effective for each Contribution on the date the Contributor first -distributes such Contribution. - -2.3. Limitations on Grant Scope - -The licenses granted in this Section 2 are the only rights granted under -this License. No additional rights or licenses will be implied from the -distribution or licensing of Covered Software under this License. -Notwithstanding Section 2.1(b) above, no patent license is granted by a -Contributor: - -(a) for any code that a Contributor has removed from Covered Software; - or - -(b) for infringements caused by: (i) Your and any other third party's - modifications of Covered Software, or (ii) the combination of its - Contributions with other software (except as part of its Contributor - Version); or - -(c) under Patent Claims infringed by Covered Software in the absence of - its Contributions. - -This License does not grant any rights in the trademarks, service marks, -or logos of any Contributor (except as may be necessary to comply with -the notice requirements in Section 3.4). - -2.4. Subsequent Licenses - -No Contributor makes additional grants as a result of Your choice to -distribute the Covered Software under a subsequent version of this -License (see Section 10.2) or under the terms of a Secondary License (if -permitted under the terms of Section 3.3). - -2.5. Representation - -Each Contributor represents that the Contributor believes its -Contributions are its original creation(s) or it has sufficient rights -to grant the rights to its Contributions conveyed by this License. - -2.6. Fair Use - -This License is not intended to limit any rights You have under -applicable copyright doctrines of fair use, fair dealing, or other -equivalents. - -2.7. Conditions - -Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted -in Section 2.1. - -3. Responsibilities -------------------- - -3.1. Distribution of Source Form - -All distribution of Covered Software in Source Code Form, including any -Modifications that You create or to which You contribute, must be under -the terms of this License. You must inform recipients that the Source -Code Form of the Covered Software is governed by the terms of this -License, and how they can obtain a copy of this License. You may not -attempt to alter or restrict the recipients' rights in the Source Code -Form. - -3.2. Distribution of Executable Form - -If You distribute Covered Software in Executable Form then: - -(a) such Covered Software must also be made available in Source Code - Form, as described in Section 3.1, and You must inform recipients of - the Executable Form how they can obtain a copy of such Source Code - Form by reasonable means in a timely manner, at a charge no more - than the cost of distribution to the recipient; and - -(b) You may distribute such Executable Form under the terms of this - License, or sublicense it under different terms, provided that the - license for the Executable Form does not attempt to limit or alter - the recipients' rights in the Source Code Form under this License. - -3.3. Distribution of a Larger Work - -You may create and distribute a Larger Work under terms of Your choice, -provided that You also comply with the requirements of this License for -the Covered Software. If the Larger Work is a combination of Covered -Software with a work governed by one or more Secondary Licenses, and the -Covered Software is not Incompatible With Secondary Licenses, this -License permits You to additionally distribute such Covered Software -under the terms of such Secondary License(s), so that the recipient of -the Larger Work may, at their option, further distribute the Covered -Software under the terms of either this License or such Secondary -License(s). - -3.4. Notices - -You may not remove or alter the substance of any license notices -(including copyright notices, patent notices, disclaimers of warranty, -or limitations of liability) contained within the Source Code Form of -the Covered Software, except that You may alter any license notices to -the extent required to remedy known factual inaccuracies. - -3.5. Application of Additional Terms - -You may choose to offer, and to charge a fee for, warranty, support, -indemnity or liability obligations to one or more recipients of Covered -Software. However, You may do so only on Your own behalf, and not on -behalf of any Contributor. You must make it absolutely clear that any -such warranty, support, indemnity, or liability obligation is offered by -You alone, and You hereby agree to indemnify every Contributor for any -liability incurred by such Contributor as a result of warranty, support, -indemnity or liability terms You offer. You may include additional -disclaimers of warranty and limitations of liability specific to any -jurisdiction. - -4. Inability to Comply Due to Statute or Regulation ---------------------------------------------------- - -If it is impossible for You to comply with any of the terms of this -License with respect to some or all of the Covered Software due to -statute, judicial order, or regulation then You must: (a) comply with -the terms of this License to the maximum extent possible; and (b) -describe the limitations and the code they affect. Such description must -be placed in a text file included with all distributions of the Covered -Software under this License. Except to the extent prohibited by statute -or regulation, such description must be sufficiently detailed for a -recipient of ordinary skill to be able to understand it. - -5. Termination --------------- - -5.1. The rights granted under this License will terminate automatically -if You fail to comply with any of its terms. However, if You become -compliant, then the rights granted under this License from a particular -Contributor are reinstated (a) provisionally, unless and until such -Contributor explicitly and finally terminates Your grants, and (b) on an -ongoing basis, if such Contributor fails to notify You of the -non-compliance by some reasonable means prior to 60 days after You have -come back into compliance. Moreover, Your grants from a particular -Contributor are reinstated on an ongoing basis if such Contributor -notifies You of the non-compliance by some reasonable means, this is the -first time You have received notice of non-compliance with this License -from such Contributor, and You become compliant prior to 30 days after -Your receipt of the notice. - -5.2. If You initiate litigation against any entity by asserting a patent -infringement claim (excluding declaratory judgment actions, -counter-claims, and cross-claims) alleging that a Contributor Version -directly or indirectly infringes any patent, then the rights granted to -You by any and all Contributors for the Covered Software under Section -2.1 of this License shall terminate. - -5.3. In the event of termination under Sections 5.1 or 5.2 above, all -end user license agreements (excluding distributors and resellers) which -have been validly granted by You or Your distributors under this License -prior to termination shall survive termination. - -************************************************************************ -* * -* 6. Disclaimer of Warranty * -* ------------------------- * -* * -* Covered Software is provided under this License on an "as is" * -* basis, without warranty of any kind, either expressed, implied, or * -* statutory, including, without limitation, warranties that the * -* Covered Software is free of defects, merchantable, fit for a * -* particular purpose or non-infringing. The entire risk as to the * -* quality and performance of the Covered Software is with You. * -* Should any Covered Software prove defective in any respect, You * -* (not any Contributor) assume the cost of any necessary servicing, * -* repair, or correction. This disclaimer of warranty constitutes an * -* essential part of this License. No use of any Covered Software is * -* authorized under this License except under this disclaimer. * -* * -************************************************************************ - -************************************************************************ -* * -* 7. Limitation of Liability * -* -------------------------- * -* * -* Under no circumstances and under no legal theory, whether tort * -* (including negligence), contract, or otherwise, shall any * -* Contributor, or anyone who distributes Covered Software as * -* permitted above, be liable to You for any direct, indirect, * -* special, incidental, or consequential damages of any character * -* including, without limitation, damages for lost profits, loss of * -* goodwill, work stoppage, computer failure or malfunction, or any * -* and all other commercial damages or losses, even if such party * -* shall have been informed of the possibility of such damages. This * -* limitation of liability shall not apply to liability for death or * -* personal injury resulting from such party's negligence to the * -* extent applicable law prohibits such limitation. Some * -* jurisdictions do not allow the exclusion or limitation of * -* incidental or consequential damages, so this exclusion and * -* limitation may not apply to You. * -* * -************************************************************************ - -8. Litigation -------------- - -Any litigation relating to this License may be brought only in the -courts of a jurisdiction where the defendant maintains its principal -place of business and such litigation shall be governed by laws of that -jurisdiction, without reference to its conflict-of-law provisions. -Nothing in this Section shall prevent a party's ability to bring -cross-claims or counter-claims. - -9. Miscellaneous ----------------- - -This License represents the complete agreement concerning the subject -matter hereof. If any provision of this License is held to be -unenforceable, such provision shall be reformed only to the extent -necessary to make it enforceable. Any law or regulation which provides -that the language of a contract shall be construed against the drafter -shall not be used to construe this License against a Contributor. - -10. Versions of the License ---------------------------- - -10.1. New Versions - -Mozilla Foundation is the license steward. Except as provided in Section -10.3, no one other than the license steward has the right to modify or -publish new versions of this License. Each version will be given a -distinguishing version number. - -10.2. Effect of New Versions - -You may distribute the Covered Software under the terms of the version -of the License under which You originally received the Covered Software, -or under the terms of any subsequent version published by the license -steward. - -10.3. Modified Versions - -If you create software not governed by this License, and you want to -create a new license for such software, you may create and use a -modified version of this License if you rename the license and remove -any references to the name of the license steward (except to note that -such modified license differs from this License). - -10.4. Distributing Source Code Form that is Incompatible With Secondary -Licenses - -If You choose to distribute Source Code Form that is Incompatible With -Secondary Licenses under the terms of this version of the License, the -notice described in Exhibit B of this License must be attached. - -Exhibit A - Source Code Form License Notice -------------------------------------------- - - This Source Code Form is subject to the terms of the Mozilla Public - License, v. 2.0. If a copy of the MPL was not distributed with this - file, You can obtain one at http://mozilla.org/MPL/2.0/. - -If it is not possible or desirable to put the notice in a particular -file, then You may include the notice in a location (such as a LICENSE -file in a relevant directory) where a recipient would be likely to look -for such a notice. - -You may add additional accurate notices of copyright ownership. - -Exhibit B - "Incompatible With Secondary Licenses" Notice ---------------------------------------------------------- - - This Source Code Form is "Incompatible With Secondary Licenses", as - defined by the Mozilla Public License, v. 2.0. diff --git a/Greenshot/tools/WinSCP/license.txt b/Greenshot/tools/WinSCP/license.txt deleted file mode 100644 index 3c03f9b59..000000000 --- a/Greenshot/tools/WinSCP/license.txt +++ /dev/null @@ -1,722 +0,0 @@ - A. GNU General Public License - B. License of WinSCP Icon Set - C. Privacy Policy - - - A. GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. - - - B. License of WinSCP Icon Set - -Note that all images distributed in or with WinSCP application are NOT -published under the GNU General Public License. It means that it is not -allowed to redistribute or reuse these images or parts of them or modifications -of them without WinSCP separately or in or with another software. - -You agree that all ownership and copyright of the licensed stock icons remain -the property of York Technologies Limited. WinSCP was granted a license to -display this graphical media royalty-free in WinSCP software applications, -web design, presentations, and multimedia projects that WinSCP creates and/or -distributes. - - - C. WinSCP Privacy Policy - -Please take time to read WinSCP Privacy policy at -http://winscp.net/eng/docs/privacy - -WinSCP includes functionality to collect and send non-personal WinSCP -Usage statistics and to automatically check for application updates. The only -potentially personal information sent to WinSCP is IP addresses. Users can -opt-out from using this functionality in the installer or anytime later -in WinSCP Preferences. WinSCP Usage statistics help improve future versions -of WinSCP. Once sent, usage statistics are stored for analysis (except -IP addresses) and made available to the core WinSCP team only. - -Before disabling WinSCP Usage statistics, be so kind and consider that it -plays very important role in the WinSCP development. We work very hard -to make WinSCP reliable and useful. We also love improving WinSCP with every -release. And last but not least, we provide WinSCP application to you -for free and we want this to stay so! However our resources and time are -unfortunately very limited. We want to focus our effort on improving -the right features for you. That is why we need to learn more about how you -use WinSCP. - -If you still want to disable WinSCP Usage statistics already during -installation, you may do so using Custom installation. - -Thank you! - diff --git a/Greenshot/tools/WinSCP/readme.txt b/Greenshot/tools/WinSCP/readme.txt deleted file mode 100644 index 77f09feea..000000000 --- a/Greenshot/tools/WinSCP/readme.txt +++ /dev/null @@ -1,11 +0,0 @@ -This is the README file for standalone package of WinSCP for portable use. - -For portable use of WinSCP see -http://winscp.net/eng/docs/portable - -The package includes two executables, .exe and .com. For details see -http://winscp.net/eng/docs/executables - -WinSCP homepage is http://winscp.net/ - -See the file 'license.txt' for the license conditions. diff --git a/Greenshot/tools/WinSCP/readme_automation.txt b/Greenshot/tools/WinSCP/readme_automation.txt deleted file mode 100644 index efd8a7d60..000000000 --- a/Greenshot/tools/WinSCP/readme_automation.txt +++ /dev/null @@ -1,19 +0,0 @@ -This is the README file for automation package of WinSCP. - -For use of WinSCP automation package see -http://winscp.net/eng/docs/library -http://winscp.net/eng/docs/library_install - -To use this package you must unpack it to the WinSCP installation folder -or to a folder, where you have already unpacked the WinSCP standalone package. -http://winscp.net/eng/docs/installation or -http://winscp.net/eng/docs/portable - -To use the WinSCP assembly via COM interop, register it using: -%WINDIR%\Microsoft.NET\Framework\\RegAsm.exe WinSCPnet.dll /codebase /tlb -where is typically either v4.0.30319 or v2.0.50727. -http://winscp.net/eng/docs/library_install#registering - -WinSCP homepage is http://winscp.net/ - -See the file 'license-dotnet.txt' for the license conditions. \ No newline at end of file diff --git a/GreenshotBoxPlugin/BoxConfiguration.cs b/GreenshotBoxPlugin/BoxConfiguration.cs index 4fb64cd2f..991fe594e 100644 --- a/GreenshotBoxPlugin/BoxConfiguration.cs +++ b/GreenshotBoxPlugin/BoxConfiguration.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/BoxCredentials.cs b/GreenshotBoxPlugin/BoxCredentials.cs index c2c625889..e78cbdf60 100644 --- a/GreenshotBoxPlugin/BoxCredentials.cs +++ b/GreenshotBoxPlugin/BoxCredentials.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/BoxDestination.cs b/GreenshotBoxPlugin/BoxDestination.cs index f76a8bf96..96223a902 100644 --- a/GreenshotBoxPlugin/BoxDestination.cs +++ b/GreenshotBoxPlugin/BoxDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/BoxEntities.cs b/GreenshotBoxPlugin/BoxEntities.cs index b07282adf..23cc4a8c4 100644 --- a/GreenshotBoxPlugin/BoxEntities.cs +++ b/GreenshotBoxPlugin/BoxEntities.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/BoxPlugin.cs b/GreenshotBoxPlugin/BoxPlugin.cs index 314d2a0d8..ebabaf8a7 100644 --- a/GreenshotBoxPlugin/BoxPlugin.cs +++ b/GreenshotBoxPlugin/BoxPlugin.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/BoxPlugin.resx b/GreenshotBoxPlugin/BoxPlugin.resx index 57b6289de..d54439ba4 100644 --- a/GreenshotBoxPlugin/BoxPlugin.resx +++ b/GreenshotBoxPlugin/BoxPlugin.resx @@ -112,13 +112,13 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + - box.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + box.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
\ No newline at end of file diff --git a/GreenshotBoxPlugin/BoxUtils.cs b/GreenshotBoxPlugin/BoxUtils.cs index 4f375a28c..64464b8e0 100644 --- a/GreenshotBoxPlugin/BoxUtils.cs +++ b/GreenshotBoxPlugin/BoxUtils.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -86,9 +86,11 @@ namespace GreenshotBoxPlugin { try { var webRequest = OAuth2Helper.CreateOAuth2WebRequest(HTTPMethod.POST, UploadFileUri, settings); - IDictionary parameters = new Dictionary(); - parameters.Add("file", image); - parameters.Add("parent_id", Config.FolderId); + IDictionary parameters = new Dictionary + { + { "file", image }, + { "parent_id", Config.FolderId } + }; NetworkHelper.WriteMultipartFormData(webRequest, parameters); @@ -126,11 +128,10 @@ namespace GreenshotBoxPlugin { /// string public static string Serialize(object jsonObject) { var serializer = new DataContractJsonSerializer(jsonObject.GetType()); - using (MemoryStream stream = new MemoryStream()) { - serializer.WriteObject(stream, jsonObject); - return Encoding.UTF8.GetString(stream.ToArray()); - } - } + using MemoryStream stream = new MemoryStream(); + serializer.WriteObject(stream, jsonObject); + return Encoding.UTF8.GetString(stream.ToArray()); + } /// /// Helper method to parse JSON to object @@ -140,12 +141,11 @@ namespace GreenshotBoxPlugin { /// public static T Deserialize(string jsonString) { var deserializer = new DataContractJsonSerializer(typeof(T)); - using (MemoryStream stream = new MemoryStream()) { - byte[] content = Encoding.UTF8.GetBytes(jsonString); - stream.Write(content, 0, content.Length); - stream.Seek(0, SeekOrigin.Begin); - return (T)deserializer.ReadObject(stream); - } - } + using MemoryStream stream = new MemoryStream(); + byte[] content = Encoding.UTF8.GetBytes(jsonString); + stream.Write(content, 0, content.Length); + stream.Seek(0, SeekOrigin.Begin); + return (T)deserializer.ReadObject(stream); + } } } diff --git a/GreenshotBoxPlugin/Forms/BoxForm.cs b/GreenshotBoxPlugin/Forms/BoxForm.cs index 51473ad06..7083d89d0 100644 --- a/GreenshotBoxPlugin/Forms/BoxForm.cs +++ b/GreenshotBoxPlugin/Forms/BoxForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/Forms/SettingsForm.Designer.cs b/GreenshotBoxPlugin/Forms/SettingsForm.Designer.cs index 2eaf2b790..dc7991f8d 100644 --- a/GreenshotBoxPlugin/Forms/SettingsForm.Designer.cs +++ b/GreenshotBoxPlugin/Forms/SettingsForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/Forms/SettingsForm.cs b/GreenshotBoxPlugin/Forms/SettingsForm.cs index df1c50134..954dc13de 100644 --- a/GreenshotBoxPlugin/Forms/SettingsForm.cs +++ b/GreenshotBoxPlugin/Forms/SettingsForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/GreenshotBoxPlugin.csproj b/GreenshotBoxPlugin/GreenshotBoxPlugin.csproj index 6f806f200..47724aa87 100644 --- a/GreenshotBoxPlugin/GreenshotBoxPlugin.csproj +++ b/GreenshotBoxPlugin/GreenshotBoxPlugin.csproj @@ -1,106 +1,21 @@ - - - + + - {697CF066-9077-4F22-99D9-D989CCE7282B} - Library GreenshotBoxPlugin GreenshotBoxPlugin - v4.7.1 - Properties - False - False - 4 - false - Always - - - - - - 3.5 - - false - - - false - - - false - - - false - - - true - - - - - - - - - - - - - - - - - - - Form - - - Form - - - SettingsForm.cs - - - - - BoxPlugin.cs - Designer - - - - - - - - - - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - - - 2.0.8 - - - - if exist "$(ProjectDir)BoxCredentials.orig.cs" ( - rename "$(ProjectDir)BoxCredentials.cs" "BoxCredentials.private.cs" - rename "$(ProjectDir)BoxCredentials.orig.cs" "BoxCredentials.cs" -) -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).dll" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - - -if exist "$(ProjectDir)BoxCredentials.private.cs" ( - rename "$(ProjectDir)BoxCredentials.cs" "BoxCredentials.orig.cs" - rename "$(ProjectDir)BoxCredentials.private.cs" "BoxCredentials.cs" -) - + + + PreserveNewest + + + + + + + + + + \ No newline at end of file diff --git a/GreenshotBoxPlugin/LanguageKeys.cs b/GreenshotBoxPlugin/LanguageKeys.cs index a6e170688..7019cdca2 100644 --- a/GreenshotBoxPlugin/LanguageKeys.cs +++ b/GreenshotBoxPlugin/LanguageKeys.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotBoxPlugin/Properties/AssemblyInfo.cs b/GreenshotBoxPlugin/Properties/AssemblyInfo.cs index 2eda350e4..78e96157f 100644 --- a/GreenshotBoxPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotBoxPlugin/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom, Francis Noel * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -26,22 +26,10 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Greenshot-Box-Plugin")] [assembly: AssemblyDescription("A plugin to upload images to Box")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot & F. Noel")] -[assembly: AssemblyProduct("Box Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2012")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotBoxPlugin.BoxPlugin", true)] +[assembly: Plugin("GreenshotBoxPlugin.BoxPlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotConfluencePlugin/Confluence.cs b/GreenshotConfluencePlugin/Confluence.cs index fdda7c31b..ddc4be0c1 100644 --- a/GreenshotConfluencePlugin/Confluence.cs +++ b/GreenshotConfluencePlugin/Confluence.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -27,8 +27,7 @@ using GreenshotConfluencePlugin.confluence; using GreenshotPlugin.Core; namespace Confluence { - #region transport classes - public class Page { + public class Page { public Page(RemotePage page) { Id = page.id; Title = page.title; @@ -85,9 +84,8 @@ namespace Confluence { set; } } - #endregion - /// + /// /// For details see the Confluence API site /// See: http://confluence.atlassian.com/display/CONFDEV/Remote+API+Specification /// diff --git a/GreenshotConfluencePlugin/ConfluenceConfiguration.cs b/GreenshotConfluencePlugin/ConfluenceConfiguration.cs index a64fbe8fd..b04efa234 100644 --- a/GreenshotConfluencePlugin/ConfluenceConfiguration.cs +++ b/GreenshotConfluencePlugin/ConfluenceConfiguration.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/ConfluenceDestination.cs b/GreenshotConfluencePlugin/ConfluenceDestination.cs index 50330f109..1c42041dd 100644 --- a/GreenshotConfluencePlugin/ConfluenceDestination.cs +++ b/GreenshotConfluencePlugin/ConfluenceDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -138,11 +138,10 @@ namespace GreenshotConfluencePlugin { } string extension = "." + ConfluenceConfig.UploadFormat; if (!filename.ToLower().EndsWith(extension)) { - filename = filename + extension; + filename += extension; } if (selectedPage != null) { - string errorMessage; - bool uploaded = Upload(surface, selectedPage, filename, out errorMessage); + bool uploaded = Upload(surface, selectedPage, filename, out var errorMessage); if (uploaded) { if (openPage) { try diff --git a/GreenshotConfluencePlugin/ConfluencePlugin.cs b/GreenshotConfluencePlugin/ConfluencePlugin.cs index eabc34b19..651fbeea0 100644 --- a/GreenshotConfluencePlugin/ConfluencePlugin.cs +++ b/GreenshotConfluencePlugin/ConfluencePlugin.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/ConfluenceUtils.cs b/GreenshotConfluencePlugin/ConfluenceUtils.cs index 19c417136..7c9e84b00 100644 --- a/GreenshotConfluencePlugin/ConfluenceUtils.cs +++ b/GreenshotConfluencePlugin/ConfluenceUtils.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/EnumDisplayer.cs b/GreenshotConfluencePlugin/EnumDisplayer.cs index ca55afa40..2e4ded768 100644 --- a/GreenshotConfluencePlugin/EnumDisplayer.cs +++ b/GreenshotConfluencePlugin/EnumDisplayer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/Forms/ConfluenceConfigurationForm.xaml.cs b/GreenshotConfluencePlugin/Forms/ConfluenceConfigurationForm.xaml.cs index 4ce336f3c..ca662b316 100644 --- a/GreenshotConfluencePlugin/Forms/ConfluenceConfigurationForm.xaml.cs +++ b/GreenshotConfluencePlugin/Forms/ConfluenceConfigurationForm.xaml.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/Forms/ConfluencePagePicker.xaml.cs b/GreenshotConfluencePlugin/Forms/ConfluencePagePicker.xaml.cs index 0d5f78bfb..9d52f49e9 100644 --- a/GreenshotConfluencePlugin/Forms/ConfluencePagePicker.xaml.cs +++ b/GreenshotConfluencePlugin/Forms/ConfluencePagePicker.xaml.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/Forms/ConfluenceSearch.xaml.cs b/GreenshotConfluencePlugin/Forms/ConfluenceSearch.xaml.cs index 815222ef7..e84366a8f 100644 --- a/GreenshotConfluencePlugin/Forms/ConfluenceSearch.xaml.cs +++ b/GreenshotConfluencePlugin/Forms/ConfluenceSearch.xaml.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/Forms/ConfluenceTreePicker.xaml.cs b/GreenshotConfluencePlugin/Forms/ConfluenceTreePicker.xaml.cs index 6d3768973..78fb2235d 100644 --- a/GreenshotConfluencePlugin/Forms/ConfluenceTreePicker.xaml.cs +++ b/GreenshotConfluencePlugin/Forms/ConfluenceTreePicker.xaml.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -28,6 +28,7 @@ using System.Windows.Input; using System.Windows.Threading; using Confluence; +using Page = Confluence.Page; namespace GreenshotConfluencePlugin { /// @@ -49,8 +50,7 @@ namespace GreenshotConfluencePlugin { private void pageTreeViewItem_DoubleClick(object sender, MouseButtonEventArgs eventArgs) { Log.Debug("spaceTreeViewItem_MouseLeftButtonDown is called!"); TreeViewItem clickedItem = eventArgs.Source as TreeViewItem; - Confluence.Page page = clickedItem?.Tag as Confluence.Page; - if (page == null) { + if (!(clickedItem?.Tag is Page page)) { return; } if (clickedItem.HasItems) @@ -80,8 +80,7 @@ namespace GreenshotConfluencePlugin { private void pageTreeViewItem_Click(object sender, MouseButtonEventArgs eventArgs) { Log.Debug("pageTreeViewItem_PreviewMouseDoubleClick is called!"); - TreeViewItem clickedItem = eventArgs.Source as TreeViewItem; - if (clickedItem ==null) { + if (!(eventArgs.Source is TreeViewItem clickedItem)) { return; } Confluence.Page page = clickedItem.Tag as Confluence.Page; diff --git a/GreenshotConfluencePlugin/Forms/ConfluenceUpload.xaml.cs b/GreenshotConfluencePlugin/Forms/ConfluenceUpload.xaml.cs index 82424d5c7..cb6db1b84 100644 --- a/GreenshotConfluencePlugin/Forms/ConfluenceUpload.xaml.cs +++ b/GreenshotConfluencePlugin/Forms/ConfluenceUpload.xaml.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/Forms/ListViewColumnSorter.cs b/GreenshotConfluencePlugin/Forms/ListViewColumnSorter.cs index a2b859414..fa3d4e027 100644 --- a/GreenshotConfluencePlugin/Forms/ListViewColumnSorter.cs +++ b/GreenshotConfluencePlugin/Forms/ListViewColumnSorter.cs @@ -1,3 +1,23 @@ +/* + * Greenshot - a free and open source screenshot tool + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom + * + * For more information see: http://getgreenshot.org/ + * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 1 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ using System.Collections; using System.Windows.Forms; @@ -8,28 +28,28 @@ public class ListViewColumnSorter : IComparer { /// /// Specifies the column to be sorted /// - private int ColumnToSort; + private int _columnToSort; /// /// Specifies the order in which to sort (i.e. 'Ascending'). /// - private SortOrder OrderOfSort; + private SortOrder _orderOfSort; /// /// Case insensitive comparer object /// - private CaseInsensitiveComparer ObjectCompare; + private readonly CaseInsensitiveComparer _objectCompare; /// /// Class constructor. Initializes various elements /// public ListViewColumnSorter() { // Initialize the column to '0' - ColumnToSort = 0; + _columnToSort = 0; // Initialize the sort order to 'none' - OrderOfSort = SortOrder.None; + _orderOfSort = SortOrder.None; // Initialize the CaseInsensitiveComparer object - ObjectCompare = new CaseInsensitiveComparer(); + _objectCompare = new CaseInsensitiveComparer(); } /// @@ -47,13 +67,13 @@ public class ListViewColumnSorter : IComparer { listviewY = (ListViewItem)y; // Compare the two items - compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text, listviewY.SubItems[ColumnToSort].Text); + compareResult = _objectCompare.Compare(listviewX.SubItems[_columnToSort].Text, listviewY.SubItems[_columnToSort].Text); // Calculate correct return value based on object comparison - if (OrderOfSort == SortOrder.Ascending) { + if (_orderOfSort == SortOrder.Ascending) { // Ascending sort is selected, return normal result of compare operation return compareResult; - } else if (OrderOfSort == SortOrder.Descending) { + } else if (_orderOfSort == SortOrder.Descending) { // Descending sort is selected, return negative result of compare operation return (-compareResult); } else { @@ -67,10 +87,10 @@ public class ListViewColumnSorter : IComparer { /// public int SortColumn { set { - ColumnToSort = value; + _columnToSort = value; } get { - return ColumnToSort; + return _columnToSort; } } @@ -79,10 +99,10 @@ public class ListViewColumnSorter : IComparer { /// public SortOrder Order { set { - OrderOfSort = value; + _orderOfSort = value; } get { - return OrderOfSort; + return _orderOfSort; } } diff --git a/GreenshotConfluencePlugin/GreenshotConfluencePlugin.csproj b/GreenshotConfluencePlugin/GreenshotConfluencePlugin.csproj index 642ca4a3e..46091586c 100644 --- a/GreenshotConfluencePlugin/GreenshotConfluencePlugin.csproj +++ b/GreenshotConfluencePlugin/GreenshotConfluencePlugin.csproj @@ -1,125 +1,17 @@ - - - + + - 1685 - {C3052651-598A-44E2-AAB3-2E41311D50F9} - Library GreenshotConfluencePlugin GreenshotConfluencePlugin - v4.7.1 - Properties - False - False - 4 - false - OnBuildSuccess - - - - - - - 3.5 + net471 - - false - - - false - - - false - - - false - - - true - - + - - - - - 3.5 - - - - - - - - 3.5 - - - 3.0 - - - 3.0 - - - - - - - - - - - ConfluenceConfigurationForm.xaml - Code - - - - ConfluencePagePicker.xaml - Code - - - ConfluenceSearch.xaml - Code - - - ConfluenceTreePicker.xaml - Code - - - ConfluenceUpload.xaml - Code - - - - - - - - - - - True - True - Reference.map - - - Reference.map - - - - Never - - - Never - - - Never - - - - MSDiscoCodeGenerator - Reference.cs + + PreserveNewest + @@ -129,45 +21,12 @@ Confluence + - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - - - MSBuild:Compile - Designer - + + - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - False - + - - - 2.0.8 - - - - mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)\Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - \ No newline at end of file diff --git a/GreenshotConfluencePlugin/LanguageKeys.cs b/GreenshotConfluencePlugin/LanguageKeys.cs index 5f4213764..0caa382cb 100644 --- a/GreenshotConfluencePlugin/LanguageKeys.cs +++ b/GreenshotConfluencePlugin/LanguageKeys.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotConfluencePlugin/Properties/AssemblyInfo.cs b/GreenshotConfluencePlugin/Properties/AssemblyInfo.cs index 17d53dec2..bbedaea56 100644 --- a/GreenshotConfluencePlugin/Properties/AssemblyInfo.cs +++ b/GreenshotConfluencePlugin/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -20,23 +20,14 @@ */ using Greenshot.Plugin; -using System.Reflection; using System.Runtime.InteropServices; using System.Security; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("GreenshotConfluencePlugin")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("Confluence Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotConfluencePlugin.ConfluencePlugin", true)] +[assembly: Plugin("GreenshotConfluencePlugin.ConfluencePlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. @@ -44,8 +35,3 @@ using System.Security; // Solve Link-Demand issues [assembly: SecurityTransparent] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] \ No newline at end of file diff --git a/GreenshotConfluencePlugin/Support/LanguageXMLTranslationProvider.cs b/GreenshotConfluencePlugin/Support/LanguageXMLTranslationProvider.cs index e5cf3bfe8..3b23c0d58 100644 --- a/GreenshotConfluencePlugin/Support/LanguageXMLTranslationProvider.cs +++ b/GreenshotConfluencePlugin/Support/LanguageXMLTranslationProvider.cs @@ -5,17 +5,7 @@ namespace TranslationByMarkupExtension { /// /// public class LanguageXMLTranslationProvider : ITranslationProvider { - #region Private Members - - #endregion - - #region Construction - - #endregion - - #region ITranslationProvider Members - - /// + /// /// See /// public object Translate(string key) { @@ -24,7 +14,5 @@ namespace TranslationByMarkupExtension { } return key; } - - #endregion - } + } } diff --git a/GreenshotConfluencePlugin/Support/TranslateExtension.cs b/GreenshotConfluencePlugin/Support/TranslateExtension.cs index 4ae20584a..c581efc77 100644 --- a/GreenshotConfluencePlugin/Support/TranslateExtension.cs +++ b/GreenshotConfluencePlugin/Support/TranslateExtension.cs @@ -10,14 +10,8 @@ namespace TranslationByMarkupExtension /// public class TranslateExtension : MarkupExtension { - #region Private Members - private string _key; - #endregion - - #region Construction - /// /// Initializes a new instance of the class. /// @@ -27,8 +21,6 @@ namespace TranslationByMarkupExtension _key = key; } - #endregion - [ConstructorArgument("key")] public string Key { diff --git a/GreenshotConfluencePlugin/Support/TranslationData.cs b/GreenshotConfluencePlugin/Support/TranslationData.cs index 287cca4c0..e659a0be3 100644 --- a/GreenshotConfluencePlugin/Support/TranslationData.cs +++ b/GreenshotConfluencePlugin/Support/TranslationData.cs @@ -4,13 +4,9 @@ using System.Windows; namespace TranslationByMarkupExtension { public class TranslationData : IWeakEventListener, INotifyPropertyChanged { - #region Private Members + private readonly string _key; - private readonly string _key; - - #endregion - - /// + /// /// Initializes a new instance of the class. /// /// The key. @@ -29,9 +25,7 @@ namespace TranslationByMarkupExtension { public object Value => TranslationManager.Instance.Translate(_key); - #region IWeakEventListener Members - - public bool ReceiveWeakEvent(Type managerType, object sender, EventArgs e) + public bool ReceiveWeakEvent(Type managerType, object sender, EventArgs e) { if (managerType == typeof(LanguageChangedEventManager)) { @@ -46,12 +40,6 @@ namespace TranslationByMarkupExtension { PropertyChanged?.Invoke( this, new PropertyChangedEventArgs("Value")); } - #endregion - - #region INotifyPropertyChanged Members - - public event PropertyChangedEventHandler PropertyChanged; - - #endregion - } + public event PropertyChangedEventHandler PropertyChanged; + } } diff --git a/GreenshotDropboxPlugin/DropboxDestination.cs b/GreenshotDropboxPlugin/DropboxDestination.cs index 1e378a7a1..ea27f7d7e 100644 --- a/GreenshotDropboxPlugin/DropboxDestination.cs +++ b/GreenshotDropboxPlugin/DropboxDestination.cs @@ -46,8 +46,7 @@ namespace GreenshotDropboxPlugin { public override ExportInformation ExportCapture(bool manually, ISurface surface, ICaptureDetails captureDetails) { ExportInformation exportInformation = new ExportInformation(Designation, Description); - string uploadUrl; - bool uploaded = _plugin.Upload(captureDetails, surface, out uploadUrl); + bool uploaded = _plugin.Upload(captureDetails, surface, out var uploadUrl); if (uploaded) { exportInformation.Uri = uploadUrl; exportInformation.ExportMade = true; diff --git a/GreenshotDropboxPlugin/DropboxPlugin.resx b/GreenshotDropboxPlugin/DropboxPlugin.resx index 571fbeac0..fdc63087a 100644 --- a/GreenshotDropboxPlugin/DropboxPlugin.resx +++ b/GreenshotDropboxPlugin/DropboxPlugin.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/GreenshotDropboxPlugin/GreenshotDropboxPlugin.csproj b/GreenshotDropboxPlugin/GreenshotDropboxPlugin.csproj index 952967dd1..b24217779 100644 --- a/GreenshotDropboxPlugin/GreenshotDropboxPlugin.csproj +++ b/GreenshotDropboxPlugin/GreenshotDropboxPlugin.csproj @@ -1,98 +1,21 @@ - - - + + - {AD7CFFE2-40E7-46CF-A172-D48CF7AE9A12} - Library GreenshotDropboxPlugin GreenshotDropboxPlugin - v4.7.1 - Properties - False - False - 4 - false - Always - - - - - - 3.5 - - false - - - false - - - false - - - false - - - true - - + - - - - + + PreserveNewest + + - - - - - - - Form - - - Form - - - SettingsForm.cs - - - - - DropboxPlugin.cs - + + - - + - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - - - 2.0.8 - - - - if exist "$(ProjectDir)DropBoxCredentials.orig.cs" ( - rename "$(ProjectDir)DropBoxCredentials.cs" "DropBoxCredentials.private.cs" - rename "$(ProjectDir)DropBoxCredentials.orig.cs" "DropBoxCredentials.cs" -) -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - - -if exist "$(ProjectDir)DropBoxCredentials.private.cs" ( - rename "$(ProjectDir)DropBoxCredentials.cs" "DropBoxCredentials.orig.cs" - rename "$(ProjectDir)DropBoxCredentials.private.cs" "DropBoxCredentials.cs" -) - \ No newline at end of file diff --git a/GreenshotDropboxPlugin/Properties/AssemblyInfo.cs b/GreenshotDropboxPlugin/Properties/AssemblyInfo.cs index 44f4a108a..310392649 100644 --- a/GreenshotDropboxPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotDropboxPlugin/Properties/AssemblyInfo.cs @@ -26,22 +26,10 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Greenshot-Dropbox-Plugin")] [assembly: AssemblyDescription("A plugin to upload images to Dropbox")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot & F. Noel")] -[assembly: AssemblyProduct("Dropbox Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2012")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotDropboxPlugin.DropboxPlugin", true)] +[assembly: Plugin("GreenshotDropboxPlugin.DropboxPlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotExternalCommandPlugin/ExternalCommandConfiguration.cs b/GreenshotExternalCommandPlugin/ExternalCommandConfiguration.cs index d6aae0d1f..bfecc84e9 100644 --- a/GreenshotExternalCommandPlugin/ExternalCommandConfiguration.cs +++ b/GreenshotExternalCommandPlugin/ExternalCommandConfiguration.cs @@ -139,20 +139,15 @@ namespace ExternalCommand { /// /// The property to return a default for /// object with the default value for the supplied property - public override object GetDefault(string property) { - switch(property) { - case nameof(DeletedBuildInCommands): - return new List(); - case nameof(Commands): - return new List(); - case nameof(Commandline): - return new Dictionary(); - case nameof(Argument): - return new Dictionary(); - case nameof(RunInbackground): - return new Dictionary(); - } - return null; - } - } + public override object GetDefault(string property) => + property switch + { + nameof(DeletedBuildInCommands) => (object) new List(), + nameof(Commands) => new List(), + nameof(Commandline) => new Dictionary(), + nameof(Argument) => new Dictionary(), + nameof(RunInbackground) => new Dictionary(), + _ => null + }; + } } diff --git a/GreenshotExternalCommandPlugin/ExternalCommandDestination.cs b/GreenshotExternalCommandPlugin/ExternalCommandDestination.cs index 93c0e8096..fb897c769 100644 --- a/GreenshotExternalCommandPlugin/ExternalCommandDestination.cs +++ b/GreenshotExternalCommandPlugin/ExternalCommandDestination.cs @@ -171,47 +171,46 @@ namespace ExternalCommand { string arguments = config.Argument[commando]; output = null; error = null; - if (!string.IsNullOrEmpty(commandline)) { - using (Process process = new Process()) - { - // Fix variables - commandline = FilenameHelper.FillVariables(commandline, true); - commandline = FilenameHelper.FillCmdVariables(commandline, true); + if (!string.IsNullOrEmpty(commandline)) + { + using Process process = new Process(); + // Fix variables + commandline = FilenameHelper.FillVariables(commandline, true); + commandline = FilenameHelper.FillCmdVariables(commandline, true); - arguments = FilenameHelper.FillVariables(arguments, false); - arguments = FilenameHelper.FillCmdVariables(arguments, false); + arguments = FilenameHelper.FillVariables(arguments, false); + arguments = FilenameHelper.FillCmdVariables(arguments, false); - process.StartInfo.FileName = FilenameHelper.FillCmdVariables(commandline, true); - process.StartInfo.Arguments = FormatArguments(arguments, fullPath); - process.StartInfo.UseShellExecute = false; - if (config.RedirectStandardOutput) { - process.StartInfo.RedirectStandardOutput = true; - } - if (config.RedirectStandardError) { - process.StartInfo.RedirectStandardError = true; - } - if (verb != null) { - process.StartInfo.Verb = verb; - } - LOG.InfoFormat("Starting : {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); - process.Start(); - process.WaitForExit(); - if (config.RedirectStandardOutput) { - output = process.StandardOutput.ReadToEnd(); - if (config.ShowStandardOutputInLog && output.Trim().Length > 0) { - LOG.InfoFormat("Output:\n{0}", output); - } - } - if (config.RedirectStandardError) { - error = process.StandardError.ReadToEnd(); - if (error.Trim().Length > 0) { - LOG.WarnFormat("Error:\n{0}", error); - } - } - LOG.InfoFormat("Finished : {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); - return process.ExitCode; - } - } + process.StartInfo.FileName = FilenameHelper.FillCmdVariables(commandline, true); + process.StartInfo.Arguments = FormatArguments(arguments, fullPath); + process.StartInfo.UseShellExecute = false; + if (config.RedirectStandardOutput) { + process.StartInfo.RedirectStandardOutput = true; + } + if (config.RedirectStandardError) { + process.StartInfo.RedirectStandardError = true; + } + if (verb != null) { + process.StartInfo.Verb = verb; + } + LOG.InfoFormat("Starting : {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); + process.Start(); + process.WaitForExit(); + if (config.RedirectStandardOutput) { + output = process.StandardOutput.ReadToEnd(); + if (config.ShowStandardOutputInLog && output.Trim().Length > 0) { + LOG.InfoFormat("Output:\n{0}", output); + } + } + if (config.RedirectStandardError) { + error = process.StandardError.ReadToEnd(); + if (error.Trim().Length > 0) { + LOG.WarnFormat("Error:\n{0}", error); + } + } + LOG.InfoFormat("Finished : {0} {1}", process.StartInfo.FileName, process.StartInfo.Arguments); + return process.ExitCode; + } return -1; } diff --git a/GreenshotExternalCommandPlugin/GreenshotExternalCommandPlugin.csproj b/GreenshotExternalCommandPlugin/GreenshotExternalCommandPlugin.csproj index cb9131304..761d1278f 100644 --- a/GreenshotExternalCommandPlugin/GreenshotExternalCommandPlugin.csproj +++ b/GreenshotExternalCommandPlugin/GreenshotExternalCommandPlugin.csproj @@ -1,114 +1,17 @@ - - - + + - {47F23C86-604E-4CC3-8767-B3D4088F30BB} - Library GreenshotExternalCommandPlugin GreenshotExternalCommandPlugin - v4.7.1 - Properties - False - False - 4 - false - OnBuildSuccess - - - - - - 3.5 - - false - - - false - - - false - - - false - - - true - - + - - - - + + PreserveNewest + + - - - Form - - - - - - - Form - - - SettingsForm.cs - - - Form - - - SettingsFormDetail.cs - - + - - - {5b924697-4dcd-4f98-85f1-105cb84b7341} - GreenshotPlugin - - - - - 2.0.8 - - - - mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - - - False - Off - 4194304 - x86 - 4096 - - - False - Off - 4194304 - AnyCPU - 4096 - - - DEBUG;TRACE - False - True - Full - true - - - TRACE - True - False - None - false - - \ No newline at end of file + diff --git a/GreenshotExternalCommandPlugin/Properties/AssemblyInfo.cs b/GreenshotExternalCommandPlugin/Properties/AssemblyInfo.cs index 61259677a..4adefdc2e 100644 --- a/GreenshotExternalCommandPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotExternalCommandPlugin/Properties/AssemblyInfo.cs @@ -26,22 +26,9 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("GreenshotExternalCommandPlugin")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("External command Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("ExternalCommand.ExternalCommandPlugin", true)] +[assembly: Plugin("ExternalCommand.ExternalCommandPlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotFlickrPlugin/FlickrDestination.cs b/GreenshotFlickrPlugin/FlickrDestination.cs index 70778e1f7..1c093f0d4 100644 --- a/GreenshotFlickrPlugin/FlickrDestination.cs +++ b/GreenshotFlickrPlugin/FlickrDestination.cs @@ -43,8 +43,7 @@ namespace GreenshotFlickrPlugin { public override ExportInformation ExportCapture(bool manuallyInitiated, ISurface surface, ICaptureDetails captureDetails) { ExportInformation exportInformation = new ExportInformation(Designation, Description); - string uploadUrl; - bool uploaded = _plugin.Upload(captureDetails, surface, out uploadUrl); + bool uploaded = _plugin.Upload(captureDetails, surface, out var uploadUrl); if (uploaded) { exportInformation.ExportMade = true; exportInformation.Uri = uploadUrl; diff --git a/GreenshotFlickrPlugin/FlickrPlugin.resx b/GreenshotFlickrPlugin/FlickrPlugin.resx index d4a65b3e2..154c66500 100644 --- a/GreenshotFlickrPlugin/FlickrPlugin.resx +++ b/GreenshotFlickrPlugin/FlickrPlugin.resx @@ -112,13 +112,13 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + - flickr.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + flickr.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/GreenshotFlickrPlugin/FlickrUtils.cs b/GreenshotFlickrPlugin/FlickrUtils.cs index 39c423cdf..7b2cbd837 100644 --- a/GreenshotFlickrPlugin/FlickrUtils.cs +++ b/GreenshotFlickrPlugin/FlickrUtils.cs @@ -81,16 +81,20 @@ namespace GreenshotFlickrPlugin { IniConfig.Save(); } try { - IDictionary signedParameters = new Dictionary(); - signedParameters.Add("content_type", "2"); // Screenshot - signedParameters.Add("tags", "Greenshot"); - signedParameters.Add("is_public", config.IsPublic ? "1" : "0"); - signedParameters.Add("is_friend", config.IsFriend ? "1" : "0"); - signedParameters.Add("is_family", config.IsFamily ? "1" : "0"); - signedParameters.Add("safety_level", $"{(int) config.SafetyLevel}"); - signedParameters.Add("hidden", config.HiddenFromSearch ? "1" : "2"); - IDictionary otherParameters = new Dictionary(); - otherParameters.Add("photo", new SurfaceContainer(surfaceToUpload, outputSettings, filename)); + IDictionary signedParameters = new Dictionary + { + { "content_type", "2" }, // Screenshot + { "tags", "Greenshot" }, + { "is_public", config.IsPublic ? "1" : "0" }, + { "is_friend", config.IsFriend ? "1" : "0" }, + { "is_family", config.IsFamily ? "1" : "0" }, + { "safety_level", $"{(int)config.SafetyLevel}" }, + { "hidden", config.HiddenFromSearch ? "1" : "2" } + }; + IDictionary otherParameters = new Dictionary + { + { "photo", new SurfaceContainer(surfaceToUpload, outputSettings, filename) } + }; string response = oAuth.MakeOAuthRequest(HTTPMethod.POST, FLICKR_UPLOAD_URL, signedParameters, otherParameters, null); string photoId = GetPhotoId(response); diff --git a/GreenshotFlickrPlugin/GreenshotFlickrPlugin.csproj b/GreenshotFlickrPlugin/GreenshotFlickrPlugin.csproj index 74aef94c2..9c7a8c597 100644 --- a/GreenshotFlickrPlugin/GreenshotFlickrPlugin.csproj +++ b/GreenshotFlickrPlugin/GreenshotFlickrPlugin.csproj @@ -1,101 +1,21 @@ - - - + + - {7EC72A5A-D73A-4B4B-9CA1-2216C7D92D5E} - Library GreenshotFlickrPlugin GreenshotFlickrPlugin - v4.7.1 - Properties - False - False - 4 - false - Always - 3.5 - - - - - - - false - - - false - - - false - - - false - - - true - - - - - - - - - - - - - Form - - - Form - - - SettingsForm.cs - - - - - - - - Always - Designer - - - FlickrPlugin.cs - - - - - - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - - - 2.0.8 - - - - if exist "$(ProjectDir)FlickrCredentials.orig.cs" ( - rename "$(ProjectDir)FlickrCredentials.cs" "FlickrCredentials.private.cs" - rename "$(ProjectDir)FlickrCredentials.orig.cs" "FlickrCredentials.cs" -) -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - -if exist "$(ProjectDir)FlickrCredentials.private.cs" ( - rename "$(ProjectDir)FlickrCredentials.cs" "FlickrCredentials.orig.cs" - rename "$(ProjectDir)FlickrCredentials.private.cs" "FlickrCredentials.cs" -) - + + + PreserveNewest + + + + + + + + + + \ No newline at end of file diff --git a/GreenshotFlickrPlugin/Properties/AssemblyInfo.cs b/GreenshotFlickrPlugin/Properties/AssemblyInfo.cs index e507ea606..32846d09a 100644 --- a/GreenshotFlickrPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotFlickrPlugin/Properties/AssemblyInfo.cs @@ -26,22 +26,10 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Greenshot-Flickr-Plugin")] [assembly: AssemblyDescription("A plugin to upload images to Flickr")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot & F. Noel")] -[assembly: AssemblyProduct("Flickr Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2012")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotFlickrPlugin.FlickrPlugin", true)] +[assembly: Plugin("GreenshotFlickrPlugin.FlickrPlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] \ No newline at end of file diff --git a/GreenshotImgurPlugin/GreenshotImgurPlugin.csproj b/GreenshotImgurPlugin/GreenshotImgurPlugin.csproj index 9040234dd..9e75ecc5b 100644 --- a/GreenshotImgurPlugin/GreenshotImgurPlugin.csproj +++ b/GreenshotImgurPlugin/GreenshotImgurPlugin.csproj @@ -1,114 +1,17 @@ - - - + + - {80D8DEB9-94E3-4876-8CCA-2DF1ED5F2C50} - Library GreenshotImgurPlugin GreenshotImgurPlugin - v4.7.1 - Properties - False - False - 4 - false - Always - - - - 3.5 - - - - false - - - false - - - false - - - false - - - true - - - - - - - - - - - Form - - - Form - - - ImgurHistory.cs - - - Form - - - SettingsForm.cs - - - - - - - - - - - Never - - - Never - - - Never - - - Never - - - - ImgurPlugin.cs - - - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - - - 2.0.8 - - - - -if exist "$(ProjectDir)ImgurCredentials.private.cs" ( - rename "$(ProjectDir)ImgurCredentials.cs" "ImgurCredentials.orig.cs" - rename "$(ProjectDir)ImgurCredentials.private.cs" "ImgurCredentials.cs" -) - if exist "$(ProjectDir)ImgurCredentials.orig.cs" ( - rename "$(ProjectDir)ImgurCredentials.cs" "ImgurCredentials.private.cs" - rename "$(ProjectDir)ImgurCredentials.orig.cs" "ImgurCredentials.cs" -) -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)\Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - + + + PreserveNewest + + + + + + \ No newline at end of file diff --git a/GreenshotImgurPlugin/ImgurConfiguration.cs b/GreenshotImgurPlugin/ImgurConfiguration.cs index a65c3e7b2..08a7126a4 100644 --- a/GreenshotImgurPlugin/ImgurConfiguration.cs +++ b/GreenshotImgurPlugin/ImgurConfiguration.cs @@ -82,14 +82,14 @@ namespace GreenshotImgurPlugin { /// /// The property to return a default for /// object with the default value for the supplied property - public override object GetDefault(string property) { - switch(property) { - case "ImgurUploadHistory": - return new Dictionary(); - } - return null; - } - /// + public override object GetDefault(string property) => + property switch + { + "ImgurUploadHistory" => new Dictionary(), + _ => null + }; + + /// /// A form for username/password /// /// bool true if OK was pressed, false if cancel diff --git a/GreenshotImgurPlugin/ImgurDestination.cs b/GreenshotImgurPlugin/ImgurDestination.cs index 030a6e81a..2dabf958b 100644 --- a/GreenshotImgurPlugin/ImgurDestination.cs +++ b/GreenshotImgurPlugin/ImgurDestination.cs @@ -46,11 +46,11 @@ namespace GreenshotImgurPlugin { } public override ExportInformation ExportCapture(bool manuallyInitiated, ISurface surface, ICaptureDetails captureDetails) { - ExportInformation exportInformation = new ExportInformation(Designation, Description); - string uploadUrl; - exportInformation.ExportMade = _plugin.Upload(captureDetails, surface, out uploadUrl); - exportInformation.Uri = uploadUrl; - ProcessExport(exportInformation, surface); + ExportInformation exportInformation = new ExportInformation(Designation, Description) + { + ExportMade = _plugin.Upload(captureDetails, surface, out var uploadUrl), Uri = uploadUrl + }; + ProcessExport(exportInformation, surface); return exportInformation; } } diff --git a/GreenshotImgurPlugin/ImgurInfo.cs b/GreenshotImgurPlugin/ImgurInfo.cs index 61f16a17e..283b891ee 100644 --- a/GreenshotImgurPlugin/ImgurInfo.cs +++ b/GreenshotImgurPlugin/ImgurInfo.cs @@ -177,8 +177,7 @@ namespace GreenshotImgurPlugin if (nodes.Count > 0) { // Version 3 has seconds since Epoch - double secondsSince; - if (double.TryParse(nodes.Item(0)?.InnerText, out secondsSince)) + if (double.TryParse(nodes.Item(0)?.InnerText, out var secondsSince)) { var epoch = new DateTimeOffset(1970, 1, 1, 0, 0, 0, TimeSpan.Zero); imgurInfo.Timestamp = epoch.AddSeconds(secondsSince).DateTime; diff --git a/GreenshotImgurPlugin/ImgurPlugin.resx b/GreenshotImgurPlugin/ImgurPlugin.resx index 133a58122..ce27fddee 100644 --- a/GreenshotImgurPlugin/ImgurPlugin.resx +++ b/GreenshotImgurPlugin/ImgurPlugin.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/GreenshotImgurPlugin/ImgurUtils.cs b/GreenshotImgurPlugin/ImgurUtils.cs index c2f002ccc..2ead0358b 100644 --- a/GreenshotImgurPlugin/ImgurUtils.cs +++ b/GreenshotImgurPlugin/ImgurUtils.cs @@ -151,20 +151,16 @@ namespace GreenshotImgurPlugin { using (var requestStream = webRequest.GetRequestStream()) { ImageOutput.SaveToStream(surfaceToUpload, requestStream, outputSettings); } - - using (WebResponse response = webRequest.GetResponse()) - { - LogRateLimitInfo(response); - var responseStream = response.GetResponseStream(); - if (responseStream != null) - { - using (StreamReader reader = new StreamReader(responseStream, true)) - { - responseString = reader.ReadToEnd(); - } - } - } - } catch (Exception ex) { + + using WebResponse response = webRequest.GetResponse(); + LogRateLimitInfo(response); + var responseStream = response.GetResponseStream(); + if (responseStream != null) + { + using StreamReader reader = new StreamReader(responseStream, true); + responseString = reader.ReadToEnd(); + } + } catch (Exception ex) { Log.Error("Upload to imgur gave an exeption: ", ex); throw; } @@ -227,15 +223,14 @@ namespace GreenshotImgurPlugin { webRequest.ServicePoint.Expect100Continue = false; // Not for getting the thumbnail, in anonymous modus //SetClientId(webRequest); - using (WebResponse response = webRequest.GetResponse()) { - LogRateLimitInfo(response); - Stream responseStream = response.GetResponseStream(); - if (responseStream != null) - { - imgurInfo.Image = ImageHelper.FromStream(responseStream); - } - } - } + using WebResponse response = webRequest.GetResponse(); + LogRateLimitInfo(response); + Stream responseStream = response.GetResponseStream(); + if (responseStream != null) + { + imgurInfo.Image = ImageHelper.FromStream(responseStream); + } + } /// /// Retrieve information on an imgur image @@ -250,19 +245,17 @@ namespace GreenshotImgurPlugin { webRequest.ServicePoint.Expect100Continue = false; SetClientId(webRequest); string responseString = null; - try { - using (WebResponse response = webRequest.GetResponse()) { - LogRateLimitInfo(response); - var responseStream = response.GetResponseStream(); - if (responseStream != null) - { - using (StreamReader reader = new StreamReader(responseStream, true)) - { - responseString = reader.ReadToEnd(); - } - } - } - } catch (WebException wE) { + try + { + using WebResponse response = webRequest.GetResponse(); + LogRateLimitInfo(response); + var responseStream = response.GetResponseStream(); + if (responseStream != null) + { + using StreamReader reader = new StreamReader(responseStream, true); + responseString = reader.ReadToEnd(); + } + } catch (WebException wE) { if (wE.Status == WebExceptionStatus.ProtocolError) { if (((HttpWebResponse)wE.Response).StatusCode == HttpStatusCode.NotFound) { return null; @@ -297,12 +290,10 @@ namespace GreenshotImgurPlugin { LogRateLimitInfo(response); var responseStream = response.GetResponseStream(); if (responseStream != null) - { - using (StreamReader reader = new StreamReader(responseStream, true)) - { - responseString = reader.ReadToEnd(); - } - } + { + using StreamReader reader = new StreamReader(responseStream, true); + responseString = reader.ReadToEnd(); + } } Log.InfoFormat("Delete result: {0}", responseString); } catch (WebException wE) { @@ -350,8 +341,7 @@ namespace GreenshotImgurPlugin { LogHeader(nameValues, "X-RateLimit-ClientRemaining"); // Update the credits in the config, this is shown in a form - int credits; - if (nameValues.ContainsKey("X-RateLimit-Remaining") && int.TryParse(nameValues["X-RateLimit-Remaining"], out credits)) { + if (nameValues.ContainsKey("X-RateLimit-Remaining") && int.TryParse(nameValues["X-RateLimit-Remaining"], out var credits)) { Config.Credits = credits; } } diff --git a/GreenshotImgurPlugin/Properties/AssemblyInfo.cs b/GreenshotImgurPlugin/Properties/AssemblyInfo.cs index f0234c49c..77e4b81a6 100644 --- a/GreenshotImgurPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotImgurPlugin/Properties/AssemblyInfo.cs @@ -26,22 +26,10 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("GreenshotImgurPlugin")] [assembly: AssemblyDescription("A plugin to upload images to Imgur")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("Imgur Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotImgurPlugin.ImgurPlugin", true)] +[assembly: Plugin("GreenshotImgurPlugin.ImgurPlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] \ No newline at end of file diff --git a/GreenshotJiraPlugin/AsyncMemoryCache.cs b/GreenshotJiraPlugin/AsyncMemoryCache.cs index 479bbbd20..dd51b5931 100644 --- a/GreenshotJiraPlugin/AsyncMemoryCache.cs +++ b/GreenshotJiraPlugin/AsyncMemoryCache.cs @@ -1,6 +1,4 @@ -#region Dapplo 2016 - GNU Lesser General Public License - -// Dapplo - building blocks for .NET applications +// Dapplo - building blocks for .NET applications // Copyright (C) 2016 Dapplo // // For more information see: http://dapplo.net/ @@ -21,18 +19,12 @@ // You should have a copy of the GNU Lesser General Public License // along with Dapplo.Utils. If not, see . -#endregion - -#region Usings - using System; using System.Runtime.Caching; using System.Threading; using System.Threading.Tasks; using Dapplo.Log; -#endregion - namespace GreenshotJiraPlugin { @@ -76,7 +68,7 @@ namespace GreenshotJiraPlugin /// TKey /// CancellationToken /// TResult - protected abstract Task CreateAsync(TKey key, CancellationToken cancellationToken = default(CancellationToken)); + protected abstract Task CreateAsync(TKey key, CancellationToken cancellationToken = default); /// /// Creates a key under which the object is stored or retrieved, default is a toString on the object. @@ -94,7 +86,7 @@ namespace GreenshotJiraPlugin /// object for the key /// CancellationToken /// TResult - public async Task DeleteAsync(TKey keyObject, CancellationToken cancellationToken = default(CancellationToken)) + public async Task DeleteAsync(TKey keyObject, CancellationToken cancellationToken = default) { var key = CreateKey(keyObject); await _semaphoreSlim.WaitAsync(cancellationToken).ConfigureAwait(false); @@ -126,7 +118,7 @@ namespace GreenshotJiraPlugin /// object for the key /// CancellationToken /// Task with TResult - public Task GetOrCreateAsync(TKey keyObject, CancellationToken cancellationToken = default(CancellationToken)) + public Task GetOrCreateAsync(TKey keyObject, CancellationToken cancellationToken = default) { var key = CreateKey(keyObject); return _cache.Get(key) as Task ?? GetOrCreateInternalAsync(keyObject, null, cancellationToken); @@ -139,7 +131,7 @@ namespace GreenshotJiraPlugin /// CacheItemPolicy for when you want more control over the item /// CancellationToken /// Task with TResult - public Task GetOrCreateAsync(TKey keyObject, CacheItemPolicy cacheItemPolicy, CancellationToken cancellationToken = default(CancellationToken)) + public Task GetOrCreateAsync(TKey keyObject, CacheItemPolicy cacheItemPolicy, CancellationToken cancellationToken = default) { var key = CreateKey(keyObject); return _cache.Get(key) as Task ?? GetOrCreateInternalAsync(keyObject, cacheItemPolicy, cancellationToken); @@ -152,7 +144,7 @@ namespace GreenshotJiraPlugin /// CacheItemPolicy for when you want more control over the item /// CancellationToken /// TResult - private async Task GetOrCreateInternalAsync(TKey keyObject, CacheItemPolicy cacheItemPolicy = null, CancellationToken cancellationToken = default(CancellationToken)) + private async Task GetOrCreateInternalAsync(TKey keyObject, CacheItemPolicy cacheItemPolicy = null, CancellationToken cancellationToken = default) { var key = CreateKey(keyObject); var completionSource = new TaskCompletionSource(); @@ -174,9 +166,8 @@ namespace GreenshotJiraPlugin } } - var result = _cache.AddOrGetExisting(key, completionSource.Task, cacheItemPolicy) as Task; - // Test if we got an existing object or our own - if (result != null && !completionSource.Task.Equals(result)) + // Test if we got an existing object or our own + if (_cache.AddOrGetExisting(key, completionSource.Task, cacheItemPolicy) is Task result && !completionSource.Task.Equals(result)) { return await result.ConfigureAwait(false); } @@ -225,8 +216,7 @@ namespace GreenshotJiraPlugin protected virtual void RemovedCallback(CacheEntryRemovedArguments cacheEntryRemovedArguments) { _log.Verbose().WriteLine("Item {0} removed due to {1}.", cacheEntryRemovedArguments.CacheItem.Key, cacheEntryRemovedArguments.RemovedReason); - var disposable = cacheEntryRemovedArguments.CacheItem.Value as IDisposable; - if (disposable != null) + if (cacheEntryRemovedArguments.CacheItem.Value is IDisposable disposable) { _log.Debug().WriteLine("Disposed cached item."); disposable.Dispose(); diff --git a/GreenshotJiraPlugin/Forms/JiraForm.cs b/GreenshotJiraPlugin/Forms/JiraForm.cs index f4a47a347..bdcda3627 100644 --- a/GreenshotJiraPlugin/Forms/JiraForm.cs +++ b/GreenshotJiraPlugin/Forms/JiraForm.cs @@ -146,8 +146,7 @@ namespace GreenshotJiraPlugin.Forms { LangKey[] columns = { LangKey.column_issueType, LangKey.column_id, LangKey.column_created, LangKey.column_assignee, LangKey.column_reporter, LangKey.column_summary }; foreach (LangKey column in columns) { - string translation; - if (!Language.TryGetString("jira", column, out translation)) + if (!Language.TryGetString("jira", column, out var translation)) { translation = ""; } diff --git a/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj b/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj index c02d68b99..ad83078a6 100644 --- a/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj +++ b/GreenshotJiraPlugin/GreenshotJiraPlugin.csproj @@ -1,193 +1,19 @@ - - - + + - {19FEEF09-313F-43C7-819D-F1BCA782B08B} - Library GreenshotJiraPlugin GreenshotJiraPlugin - v4.7.1 - Properties - False - False - 4 - false - OnBuildSuccess - - - - 3.5 - - - - false - - - false - - - false - - - false - - - true - - - - - ..\packages\Dapplo.HttpExtensions.0.6.17\lib\net45\Dapplo.HttpExtensions.dll - True - - - ..\packages\Dapplo.Jira.0.5.12\lib\net45\Dapplo.Jira.dll - True - - - ..\packages\Dapplo.Log.1.0.23\lib\net45\Dapplo.Log.dll - True - - - - - - ..\packages\Svg.2.3.0\lib\net35\Svg.dll - True - - - - - - - - - - - - - - - - - - - - Form - - - JiraForm.cs - - - Form - - - Form - - - SettingsForm.cs - - - - - - - - - - - - - - - - - - - - Always - - - Always - - - Always - - - Always - - - - JiraPlugin.cs - - - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - {CD642BF4-D815-4D67-A0B5-C69F0B8231AF} - Greenshot - - - - - 0.5.12 - - - 1.2.0 - - - 2.0.8 - - - - mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -"$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -del /q /s "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)"\* -if "$(ConfigurationName)" == "Release" ( - ..\..\..\packages\LibZ.Tool.1.2.0.0\tools\libz.exe inject-dll --assembly $(ProjectDir)bin\$(Configuration)\$(TargetFileName) --include $(ProjectDir)bin\$(Configuration)\dapplo*.dll --include $(ProjectDir)bin\$(Configuration)\svg.dll --move -) -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" - -if "$(ConfigurationName)" == "Debug" ( - copy "$(ProjectDir)bin\$(Configuration)\Dapplo.*" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" - copy "$(ProjectDir)bin\$(Configuration)\Svg.dll" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" - copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -) - -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)\Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - - - False - Off - 4194304 - x86 - 4096 - - - False - Off - 4194304 - AnyCPU - 4096 - - - DEBUG;TRACE - False - True - Full - true - - - TRACE - True - False - None - false - + + + PreserveNewest + + + + + + + + \ No newline at end of file diff --git a/GreenshotJiraPlugin/Hooking/WindowsEventHook.cs b/GreenshotJiraPlugin/Hooking/WindowsEventHook.cs index e2be9d0b0..cd13831d3 100644 --- a/GreenshotJiraPlugin/Hooking/WindowsEventHook.cs +++ b/GreenshotJiraPlugin/Hooking/WindowsEventHook.cs @@ -55,8 +55,7 @@ namespace GreenshotJiraPlugin.Hooking _gcHandle = GCHandle.Alloc(_winEventHandler); } - #region native code - [DllImport("user32", SetLastError = true)] + [DllImport("user32", SetLastError = true)] private static extern bool UnhookWinEvent(IntPtr hWinEventHook); [DllImport("user32", SetLastError = true)] private static extern IntPtr SetWinEventHook(WinEvent eventMin, WinEvent eventMax, IntPtr hmodWinEventProc, WinEventDelegate lpfnWinEventProc, int idProcess, int idThread, WinEventHookFlags dwFlags); @@ -72,9 +71,8 @@ namespace GreenshotJiraPlugin.Hooking /// /// private delegate void WinEventDelegate(IntPtr hWinEventHook, WinEvent eventType, IntPtr hwnd, EventObjects idObject, int idChild, uint dwEventThread, uint dwmsEventTime); - #endregion - private readonly IDictionary _winEventHandlers = new Dictionary(); + private readonly IDictionary _winEventHandlers = new Dictionary(); /// /// Are hooks active? @@ -140,8 +138,7 @@ namespace GreenshotJiraPlugin.Hooking /// private void WinEventDelegateHandler(IntPtr hWinEventHook, WinEvent eventType, IntPtr hWnd, EventObjects idObject, int idChild, uint dwEventThread, uint dwmsEventTime) { - WinEventHandler handler; - if (_winEventHandlers.TryGetValue(hWinEventHook, out handler)) + if (_winEventHandlers.TryGetValue(hWinEventHook, out var handler)) { handler(eventType, hWnd, idObject, idChild, dwEventThread, dwmsEventTime); } diff --git a/GreenshotJiraPlugin/Hooking/WindowsTitleMonitor.cs b/GreenshotJiraPlugin/Hooking/WindowsTitleMonitor.cs index 5e0a05cf7..d92ffe2d3 100644 --- a/GreenshotJiraPlugin/Hooking/WindowsTitleMonitor.cs +++ b/GreenshotJiraPlugin/Hooking/WindowsTitleMonitor.cs @@ -94,9 +94,7 @@ namespace GreenshotJiraPlugin.Hooking } } - #region IDisposable Support - - private bool _disposedValue; // To detect redundant calls + private bool _disposedValue; // To detect redundant calls /// /// Dispose the underlying hook @@ -132,8 +130,6 @@ namespace GreenshotJiraPlugin.Hooking Dispose(true); GC.SuppressFinalize(this); } - - #endregion - } + } } diff --git a/GreenshotJiraPlugin/JiraConnector.cs b/GreenshotJiraPlugin/JiraConnector.cs index c786f4b46..1fa049bea 100644 --- a/GreenshotJiraPlugin/JiraConnector.cs +++ b/GreenshotJiraPlugin/JiraConnector.cs @@ -97,7 +97,7 @@ namespace GreenshotJiraPlugin { /// Internal login which catches the exceptions /// /// true if login was done sucessfully - private async Task DoLoginAsync(string user, string password, CancellationToken cancellationToken = default(CancellationToken)) + private async Task DoLoginAsync(string user, string password, CancellationToken cancellationToken = default) { if (string.IsNullOrEmpty(user) || string.IsNullOrEmpty(password)) { @@ -136,7 +136,7 @@ namespace GreenshotJiraPlugin { /// If there are credentials, call the real login. /// /// Task - public async Task LoginAsync(CancellationToken cancellationToken = default(CancellationToken)) { + public async Task LoginAsync(CancellationToken cancellationToken = default) { await LogoutAsync(cancellationToken); try { // Get the system name, so the user knows where to login to @@ -175,7 +175,7 @@ namespace GreenshotJiraPlugin { /// /// End the session, if there was one /// - public async Task LogoutAsync(CancellationToken cancellationToken = default(CancellationToken)) { + public async Task LogoutAsync(CancellationToken cancellationToken = default) { if (_jiraClient != null && _loggedIn) { Monitor.Dispose(); @@ -189,7 +189,7 @@ namespace GreenshotJiraPlugin { /// Do not use ConfigureAwait to call this, as it will move await from the UI thread. /// /// - private async Task CheckCredentialsAsync(CancellationToken cancellationToken = default(CancellationToken)) { + private async Task CheckCredentialsAsync(CancellationToken cancellationToken = default) { if (_loggedIn) { if (_loggedInTime.AddMinutes(_timeout-1).CompareTo(DateTime.Now) < 0) { await LogoutAsync(cancellationToken); @@ -204,7 +204,7 @@ namespace GreenshotJiraPlugin { /// Get the favourite filters /// /// List with filters - public async Task> GetFavoriteFiltersAsync(CancellationToken cancellationToken = default(CancellationToken)) + public async Task> GetFavoriteFiltersAsync(CancellationToken cancellationToken = default) { await CheckCredentialsAsync(cancellationToken); return await _jiraClient.Filter.GetFavoritesAsync(cancellationToken).ConfigureAwait(false); @@ -216,7 +216,7 @@ namespace GreenshotJiraPlugin { /// Jira issue key /// CancellationToken /// Issue - public async Task GetIssueAsync(string issueKey, CancellationToken cancellationToken = default(CancellationToken)) + public async Task GetIssueAsync(string issueKey, CancellationToken cancellationToken = default) { await CheckCredentialsAsync(cancellationToken); try @@ -236,16 +236,14 @@ namespace GreenshotJiraPlugin { /// IBinaryContainer /// /// - public async Task AttachAsync(string issueKey, IBinaryContainer content, CancellationToken cancellationToken = default(CancellationToken)) + public async Task AttachAsync(string issueKey, IBinaryContainer content, CancellationToken cancellationToken = default) { await CheckCredentialsAsync(cancellationToken); - using (var memoryStream = new MemoryStream()) - { - content.WriteToStream(memoryStream); - memoryStream.Seek(0, SeekOrigin.Begin); - await _jiraClient.Attachment.AttachAsync(issueKey, memoryStream, content.Filename, content.ContentType, cancellationToken).ConfigureAwait(false); - } - } + using var memoryStream = new MemoryStream(); + content.WriteToStream(memoryStream); + memoryStream.Seek(0, SeekOrigin.Begin); + await _jiraClient.Attachment.AttachAsync(issueKey, memoryStream, content.Filename, content.ContentType, cancellationToken).ConfigureAwait(false); + } /// /// Add a comment to the supplied issue @@ -254,7 +252,7 @@ namespace GreenshotJiraPlugin { /// text /// the visibility role /// CancellationToken - public async Task AddCommentAsync(string issueKey, string body, string visibility = null, CancellationToken cancellationToken = default(CancellationToken)) + public async Task AddCommentAsync(string issueKey, string body, string visibility = null, CancellationToken cancellationToken = default) { await CheckCredentialsAsync(cancellationToken); await _jiraClient.Issue.AddCommentAsync(issueKey, body, visibility, cancellationToken).ConfigureAwait(false); @@ -266,7 +264,7 @@ namespace GreenshotJiraPlugin { /// Filter /// /// - public async Task> SearchAsync(Filter filter, CancellationToken cancellationToken = default(CancellationToken)) + public async Task> SearchAsync(Filter filter, CancellationToken cancellationToken = default) { await CheckCredentialsAsync(cancellationToken); var searchResult = await _jiraClient.Issue.SearchAsync(filter.Jql, 20, new[] { "summary", "reporter", "assignee", "created", "issuetype" }, cancellationToken).ConfigureAwait(false); @@ -279,7 +277,7 @@ namespace GreenshotJiraPlugin { /// Issue /// CancellationToken /// Bitmap - public async Task GetIssueTypeBitmapAsync(Issue issue, CancellationToken cancellationToken = default(CancellationToken)) + public async Task GetIssueTypeBitmapAsync(Issue issue, CancellationToken cancellationToken = default) { return await _issueTypeBitmapCache.GetOrCreateAsync(issue.Fields.IssueType, cancellationToken).ConfigureAwait(false); } diff --git a/GreenshotJiraPlugin/JiraMonitor.cs b/GreenshotJiraPlugin/JiraMonitor.cs index 562bf6c4c..409fc9140 100644 --- a/GreenshotJiraPlugin/JiraMonitor.cs +++ b/GreenshotJiraPlugin/JiraMonitor.cs @@ -60,9 +60,7 @@ namespace GreenshotJiraPlugin _monitor.TitleChangeEvent += MonitorTitleChangeEvent; } - #region Dispose - - /// + /// /// Dispose /// public void Dispose() @@ -87,9 +85,7 @@ namespace GreenshotJiraPlugin // free native resources if there are any. } - #endregion - - /// + /// /// Retrieve the API belonging to a JiraDetails /// /// @@ -117,7 +113,7 @@ namespace GreenshotJiraPlugin /// /// /// - public async Task AddJiraInstanceAsync(IJiraClient jiraInstance, CancellationToken token = default(CancellationToken)) + public async Task AddJiraInstanceAsync(IJiraClient jiraInstance, CancellationToken token = default) { _jiraInstances.Add(jiraInstance); var projects = await jiraInstance.Project.GetAllAsync(cancellationToken: token).ConfigureAwait(false); @@ -142,8 +138,7 @@ namespace GreenshotJiraPlugin { try { - IJiraClient jiraClient; - if (_projectJiraClientMap.TryGetValue(jiraDetails.ProjectKey, out jiraClient)) + if (_projectJiraClientMap.TryGetValue(jiraDetails.ProjectKey, out var jiraClient)) { var issue = await jiraClient.Issue.GetAsync(jiraDetails.JiraKey).ConfigureAwait(false); jiraDetails.JiraIssue = issue; @@ -179,13 +174,11 @@ namespace GreenshotJiraPlugin var projectKey = jiraKeyParts[0]; var jiraId = jiraKeyParts[1]; - IJiraClient jiraClient; - // Check if we have a JIRA instance with a project for this key - if (_projectJiraClientMap.TryGetValue(projectKey, out jiraClient)) + // Check if we have a JIRA instance with a project for this key + if (_projectJiraClientMap.TryGetValue(projectKey, out var jiraClient)) { // We have found a project for this _jira key, so it must be a valid & known JIRA - JiraDetails currentJiraDetails; - if (_recentJiras.TryGetValue(jiraKey, out currentJiraDetails)) + if (_recentJiras.TryGetValue(jiraKey, out var currentJiraDetails)) { // update currentJiraDetails.SeenAt = DateTimeOffset.Now; diff --git a/GreenshotJiraPlugin/JiraPlugin.resx b/GreenshotJiraPlugin/JiraPlugin.resx index d6a7cedd1..e21fb17c2 100644 --- a/GreenshotJiraPlugin/JiraPlugin.resx +++ b/GreenshotJiraPlugin/JiraPlugin.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/GreenshotJiraPlugin/language_jiraplugin-kab-DZ.xml b/GreenshotJiraPlugin/Languages/language_jiraplugin-kab-DZ.xml similarity index 100% rename from GreenshotJiraPlugin/language_jiraplugin-kab-DZ.xml rename to GreenshotJiraPlugin/Languages/language_jiraplugin-kab-DZ.xml diff --git a/GreenshotJiraPlugin/Properties/AssemblyInfo.cs b/GreenshotJiraPlugin/Properties/AssemblyInfo.cs index 5065d542c..f78362690 100644 --- a/GreenshotJiraPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotJiraPlugin/Properties/AssemblyInfo.cs @@ -26,14 +26,6 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("GreenshotJiraPlugin")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("Jira Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable [assembly: Plugin("GreenshotJiraPlugin.JiraPlugin", true)] @@ -41,7 +33,3 @@ using System.Runtime.InteropServices; // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotOCRCommand/COMWrapper.cs b/GreenshotOCRCommand/COMWrapper.cs index 4d9d7f11b..e64824f8d 100644 --- a/GreenshotOCRCommand/COMWrapper.cs +++ b/GreenshotOCRCommand/COMWrapper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -34,9 +34,7 @@ namespace Greenshot.Interop { private const int MK_E_UNAVAILABLE = -2147221021; private const int CO_E_CLASSSTRING = -2147221005; - #region Private Data - - /// + /// /// Holds reference to the actual COM object which is wrapped by this proxy /// private readonly object _comObject; @@ -51,11 +49,7 @@ namespace Greenshot.Interop { /// private readonly Type _interceptType; - #endregion - - #region Construction - - /// + /// /// Gets a COM object and returns the transparent proxy which intercepts all calls to the object /// /// Interface which defines the method and properties to intercept @@ -96,7 +90,7 @@ namespace Greenshot.Interop { COMWrapper wrapper = new COMWrapper(comObject, type); return (T)wrapper.GetTransparentProxy(); } - return default(T); + return default; } /// @@ -160,7 +154,7 @@ namespace Greenshot.Interop { COMWrapper wrapper = new COMWrapper(comObject, type); return (T)wrapper.GetTransparentProxy(); } - return default(T); + return default; } /// @@ -197,11 +191,7 @@ namespace Greenshot.Interop { _interceptType = type; } - #endregion - - #region Clean up - - /// + /// /// If is not called, we need to make /// sure that the COM object is still cleaned up. /// @@ -239,11 +229,7 @@ namespace Greenshot.Interop { } } - #endregion - - #region Object methods - - /// + /// /// Returns a string representing the wrapped object. /// /// @@ -274,8 +260,7 @@ namespace Greenshot.Interop { /// public override bool Equals(object value) { if (null != value && RemotingServices.IsTransparentProxy(value)) { - COMWrapper wrapper = RemotingServices.GetRealProxy(value) as COMWrapper; - if (null != wrapper) { + if (RemotingServices.GetRealProxy(value) is COMWrapper wrapper) { return _comObject == wrapper._comObject; } } @@ -309,9 +294,7 @@ namespace Greenshot.Interop { return byRefType; } - #endregion - - /// + /// /// Intercept method calls /// /// @@ -356,8 +339,7 @@ namespace Greenshot.Interop { } else if ("Equals" == methodName && 1 == argCount && typeof(bool) == returnType) { returnValue = Equals(callMessage.Args[0]); } else if (1 == argCount && typeof(void) == returnType && (methodName.StartsWith("add_") || methodName.StartsWith("remove_"))) { - var handler = callMessage.InArgs[0] as Delegate; - if (null == handler) { + if (!(callMessage.InArgs[0] is Delegate handler)) { return new ReturnMessage(new ArgumentNullException(nameof(handler)), callMessage); } } else { diff --git a/GreenshotOCRCommand/ComProgIdAttribute.cs b/GreenshotOCRCommand/ComProgIdAttribute.cs index 05fd69237..ae581d031 100644 --- a/GreenshotOCRCommand/ComProgIdAttribute.cs +++ b/GreenshotOCRCommand/ComProgIdAttribute.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/GreenshotOCRCommand.csproj b/GreenshotOCRCommand/GreenshotOCRCommand.csproj index 919f92df3..b42f8871b 100644 --- a/GreenshotOCRCommand/GreenshotOCRCommand.csproj +++ b/GreenshotOCRCommand/GreenshotOCRCommand.csproj @@ -1,98 +1,11 @@ - - + + - Debug - x86 - 8.0.30703 - 2.0 - {D61E6ECE-E0B6-4467-B492-F08A06BA8F02} - WinExe - Properties GreenshotOCRCommand GreenshotOCRCommand - v4.7.1 - 512 - OnBuildSuccess - False - False - false - False - Off - 4194304 - x86 - - - - - 3.5 - - - - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - true - false - - - None - true - bin\Release\ - TRACE - prompt - 4 - false - false - - - GreenshotOCRCommand.Program - - - true + WinExe - - - - - - - - - - - - - - - - - - - - - - - - -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\GreenshotOCRPlugin" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\GreenshotOCRPlugin" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName).config" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\GreenshotOCRPlugin" - - - - False - - - \ No newline at end of file + diff --git a/GreenshotOCRCommand/Modi/CompressionLevel.cs b/GreenshotOCRCommand/Modi/CompressionLevel.cs index a8bc9e34a..87a3a2e7c 100644 --- a/GreenshotOCRCommand/Modi/CompressionLevel.cs +++ b/GreenshotOCRCommand/Modi/CompressionLevel.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/FileFormat.cs b/GreenshotOCRCommand/Modi/FileFormat.cs index cbf061333..bd738cdaf 100644 --- a/GreenshotOCRCommand/Modi/FileFormat.cs +++ b/GreenshotOCRCommand/Modi/FileFormat.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/ICommon.cs b/GreenshotOCRCommand/Modi/ICommon.cs index ecdf4052d..a8995c826 100644 --- a/GreenshotOCRCommand/Modi/ICommon.cs +++ b/GreenshotOCRCommand/Modi/ICommon.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/IDispatch.cs b/GreenshotOCRCommand/Modi/IDispatch.cs index 22235153d..f2d5e9ed0 100644 --- a/GreenshotOCRCommand/Modi/IDispatch.cs +++ b/GreenshotOCRCommand/Modi/IDispatch.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/IDocument.cs b/GreenshotOCRCommand/Modi/IDocument.cs index 7913ece5f..6b1d44e99 100644 --- a/GreenshotOCRCommand/Modi/IDocument.cs +++ b/GreenshotOCRCommand/Modi/IDocument.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/IImage.cs b/GreenshotOCRCommand/Modi/IImage.cs index fd7dd3c06..f53ffa089 100644 --- a/GreenshotOCRCommand/Modi/IImage.cs +++ b/GreenshotOCRCommand/Modi/IImage.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/IImages.cs b/GreenshotOCRCommand/Modi/IImages.cs index 885dd1bba..7eeeb6401 100644 --- a/GreenshotOCRCommand/Modi/IImages.cs +++ b/GreenshotOCRCommand/Modi/IImages.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/ILayout.cs b/GreenshotOCRCommand/Modi/ILayout.cs index ca7b43322..2b8d8beb5 100644 --- a/GreenshotOCRCommand/Modi/ILayout.cs +++ b/GreenshotOCRCommand/Modi/ILayout.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/IMiRect.cs b/GreenshotOCRCommand/Modi/IMiRect.cs index 18ac6b0e8..060a838f9 100644 --- a/GreenshotOCRCommand/Modi/IMiRect.cs +++ b/GreenshotOCRCommand/Modi/IMiRect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/IMiRects.cs b/GreenshotOCRCommand/Modi/IMiRects.cs index 9981bdd5f..b9ae99af5 100644 --- a/GreenshotOCRCommand/Modi/IMiRects.cs +++ b/GreenshotOCRCommand/Modi/IMiRects.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/IWord.cs b/GreenshotOCRCommand/Modi/IWord.cs index 8e7895f8c..f905c2617 100644 --- a/GreenshotOCRCommand/Modi/IWord.cs +++ b/GreenshotOCRCommand/Modi/IWord.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/IWords.cs b/GreenshotOCRCommand/Modi/IWords.cs index b26b6f0c3..41acfb0fe 100644 --- a/GreenshotOCRCommand/Modi/IWords.cs +++ b/GreenshotOCRCommand/Modi/IWords.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Modi/ModiLanguage.cs b/GreenshotOCRCommand/Modi/ModiLanguage.cs index d062a4cb9..89e49ed5b 100644 --- a/GreenshotOCRCommand/Modi/ModiLanguage.cs +++ b/GreenshotOCRCommand/Modi/ModiLanguage.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOCRCommand/Program.cs b/GreenshotOCRCommand/Program.cs index 6f7fe33a1..2bd757e8d 100644 --- a/GreenshotOCRCommand/Program.cs +++ b/GreenshotOCRCommand/Program.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -48,47 +48,47 @@ namespace GreenshotOCRCommand { straightenImage = bool.Parse(args[3]); } try { - if (File.Exists(filename) || "-c".Equals(filename)) { - using (var document = COMWrapper.GetOrCreateInstance()) { - if (document == null) { - Console.WriteLine("MODI not installed"); - return -2; - } - if ("-c".Equals(filename)) { - return 0; - } - document.Create(filename); - document.OCR(language, orientimage, straightenImage); - var modiImage = document.Images[0]; - var layout = modiImage.Layout; - if (layout != null) - { + if (File.Exists(filename) || "-c".Equals(filename)) + { + using var document = COMWrapper.GetOrCreateInstance(); + if (document == null) { + Console.WriteLine("MODI not installed"); + return -2; + } + if ("-c".Equals(filename)) { + return 0; + } + document.Create(filename); + document.OCR(language, orientimage, straightenImage); + var modiImage = document.Images[0]; + var layout = modiImage.Layout; + if (layout != null) + { #if DEBUG - if (layout.Words != null) - { - foreach (var word in ToEnumerable(layout.Words)) - { - if (word.Rects != null) - { - foreach (var rect in ToEnumerable(word.Rects)) - { - Debug.WriteLine($"Rect {rect.Left},{rect.Top},{rect.Right},{rect.Bottom} - Word {word.Text} : Confidence: {word.RecognitionConfidence}"); - } - } - } - } + if (layout.Words != null) + { + foreach (var word in ToEnumerable(layout.Words)) + { + if (word.Rects != null) + { + foreach (var rect in ToEnumerable(word.Rects)) + { + Debug.WriteLine($"Rect {rect.Left},{rect.Top},{rect.Right},{rect.Bottom} - Word {word.Text} : Confidence: {word.RecognitionConfidence}"); + } + } + } + } #endif - if (layout.Text != null) - { - // For for BUG-1884: - // Although trim is done in the OCR Plugin, it does make sense in the command too. - Console.WriteLine(layout.Text.Trim()); - } - } - document.Close(false); - return 0; - } - } + if (layout.Text != null) + { + // For for BUG-1884: + // Although trim is done in the OCR Plugin, it does make sense in the command too. + Console.WriteLine(layout.Text.Trim()); + } + } + document.Close(false); + return 0; + } } catch (Exception ex) { Console.WriteLine(ex.Message); } diff --git a/GreenshotOCRCommand/Properties/AssemblyInfo.cs b/GreenshotOCRCommand/Properties/AssemblyInfo.cs index 00eb68097..ff10a1848 100644 --- a/GreenshotOCRCommand/Properties/AssemblyInfo.cs +++ b/GreenshotOCRCommand/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -25,14 +25,7 @@ using System.Runtime.InteropServices; // Allgemeine Informationen über eine Assembly werden über die folgenden // Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern, // die mit einer Assembly verknüpft sind. -[assembly: AssemblyTitle("GreenshotOCRCommand")] [assembly: AssemblyDescription("A small executable to OCR a bitmap")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("GreenshotOCRCommand")] -[assembly: AssemblyCopyright("Greenshot")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // Durch Festlegen von ComVisible auf "false" werden die Typen in dieser Assembly unsichtbar // für COM-Komponenten. Wenn Sie auf einen Typ in dieser Assembly von @@ -41,8 +34,3 @@ using System.Runtime.InteropServices; // Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird [assembly: Guid("d7668e7e-3018-4d27-9aa0-21b1afade1b8")] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotOCRPlugin/GreenshotOCRPlugin.csproj b/GreenshotOCRPlugin/GreenshotOCRPlugin.csproj index 8d4a1e065..86e73629f 100644 --- a/GreenshotOCRPlugin/GreenshotOCRPlugin.csproj +++ b/GreenshotOCRPlugin/GreenshotOCRPlugin.csproj @@ -1,118 +1,16 @@ - - - + + - {C6988EE8-2FEE-4349-9F09-F9628A0D8965} - Library GreenshotOCR GreenshotOCRPlugin - v4.7.1 - Properties - False - False - 4 - false - OnBuildSuccess - - - - 3.5 - - - - false - - - false - - - false - - - false - - - true - - + - - - + + PreserveNewest + - - - - Form - - - - - Form - - - SettingsForm.cs - - - Always - - - Always - - - Always - - - Always - - + - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - - - 2.0.8 - - - - mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)\Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - - - False - Off - 4194304 - x86 - 4096 - - - False - Off - 4194304 - AnyCPU - 4096 - - - Full - true - DEBUG;TRACE - False - True - - - None - false - TRACE - True - False - - \ No newline at end of file + diff --git a/GreenshotOCRPlugin/OCRPlugin.cs b/GreenshotOCRPlugin/OCRPlugin.cs index 992e6ea96..6b4b5bb5e 100644 --- a/GreenshotOCRPlugin/OCRPlugin.cs +++ b/GreenshotOCRPlugin/OCRPlugin.cs @@ -183,16 +183,15 @@ namespace GreenshotOCR { RedirectStandardOutput = true, UseShellExecute = false }; - using (Process process = Process.Start(processStartInfo)) { - if (process != null) - { - process.WaitForExit(30 * 1000); - if (process.ExitCode == 0) { - text = process.StandardOutput.ReadToEnd(); - } - } - } - } catch (Exception e) { + using Process process = Process.Start(processStartInfo); + if (process != null) + { + process.WaitForExit(30 * 1000); + if (process.ExitCode == 0) { + text = process.StandardOutput.ReadToEnd(); + } + } + } catch (Exception e) { Log.Error("Error while calling Microsoft Office Document Imaging (MODI) to OCR: ", e); } finally { if (File.Exists(filePath)) { @@ -222,15 +221,15 @@ namespace GreenshotOCR { } private bool HasModi() { - try { - using (Process process = Process.Start(_ocrCommand, "-c")) { - if (process != null) - { - process.WaitForExit(); - return process.ExitCode == 0; - } - } - } catch(Exception e) { + try + { + using Process process = Process.Start(_ocrCommand, "-c"); + if (process != null) + { + process.WaitForExit(); + return process.ExitCode == 0; + } + } catch(Exception e) { Log.DebugFormat("Error trying to initiate MODI: {0}", e.Message); } Log.InfoFormat("No Microsoft Office Document Imaging (MODI) found, disabling OCR"); diff --git a/GreenshotOCRPlugin/Properties/AssemblyInfo.cs b/GreenshotOCRPlugin/Properties/AssemblyInfo.cs index d895fbe59..593635a36 100644 --- a/GreenshotOCRPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotOCRPlugin/Properties/AssemblyInfo.cs @@ -26,22 +26,9 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("GreenshotOCR")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("OCR Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotOCR.OcrPlugin", true)] +[assembly: Plugin("GreenshotOCR.OcrPlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotOfficePlugin/Destinations/ExcelDestination.cs b/GreenshotOfficePlugin/Destinations/ExcelDestination.cs index caa0bc37a..98ee5a218 100644 --- a/GreenshotOfficePlugin/Destinations/ExcelDestination.cs +++ b/GreenshotOfficePlugin/Destinations/ExcelDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/Destinations/OneNoteDestination.cs b/GreenshotOfficePlugin/Destinations/OneNoteDestination.cs index 6c31e5832..23c7dd171 100644 --- a/GreenshotOfficePlugin/Destinations/OneNoteDestination.cs +++ b/GreenshotOfficePlugin/Destinations/OneNoteDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/Destinations/OutlookDestination.cs b/GreenshotOfficePlugin/Destinations/OutlookDestination.cs index 6474eb844..443a7ac89 100644 --- a/GreenshotOfficePlugin/Destinations/OutlookDestination.cs +++ b/GreenshotOfficePlugin/Destinations/OutlookDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/Destinations/PowerpointDestination.cs b/GreenshotOfficePlugin/Destinations/PowerpointDestination.cs index 6ab1e1a54..6d3e0b3e6 100644 --- a/GreenshotOfficePlugin/Destinations/PowerpointDestination.cs +++ b/GreenshotOfficePlugin/Destinations/PowerpointDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/Destinations/WordDestination.cs b/GreenshotOfficePlugin/Destinations/WordDestination.cs index 989dd0626..4065e7f7a 100644 --- a/GreenshotOfficePlugin/Destinations/WordDestination.cs +++ b/GreenshotOfficePlugin/Destinations/WordDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/GreenshotOfficePlugin.csproj b/GreenshotOfficePlugin/GreenshotOfficePlugin.csproj index 10f7c9728..37f42746a 100644 --- a/GreenshotOfficePlugin/GreenshotOfficePlugin.csproj +++ b/GreenshotOfficePlugin/GreenshotOfficePlugin.csproj @@ -1,116 +1,31 @@ - - + + - {92599C09-FF29-4ABD-B6E6-C48ECD781BAB} - Debug - x86 - Library GreenshotOfficePlugin GreenshotOfficePlugin - v4.7.1 - Properties - OnBuildSuccess - False - False - 4 - false - - - - - - 3.5 - - - x86 - False - Off - 4194304 - 4096 - - - bin\Debug\ - true - Full - False - True - DEBUG;TRACE - - - bin\Release\ - false - None - True - False - TRACE - - - false - - - false - - - false - - - false - - - true + net471 + - - - - + + PreserveNewest + - - - - - - - - - - - - - - - - - - - - - + + - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - - - 2.0.8 + + + + + + + + True + - - - mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" - - - - AnyCPU - False - Off - 4194304 - 4096 - - \ No newline at end of file + + diff --git a/GreenshotOfficePlugin/OfficeConfiguration.cs b/GreenshotOfficePlugin/OfficeConfiguration.cs index 4f943c7c3..d308d1a4e 100644 --- a/GreenshotOfficePlugin/OfficeConfiguration.cs +++ b/GreenshotOfficePlugin/OfficeConfiguration.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/OfficeExport/ExcelExporter.cs b/GreenshotOfficePlugin/OfficeExport/ExcelExporter.cs index f65a3e33e..f90544a44 100644 --- a/GreenshotOfficePlugin/OfficeExport/ExcelExporter.cs +++ b/GreenshotOfficePlugin/OfficeExport/ExcelExporter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -39,16 +39,16 @@ namespace Greenshot.Interop.Office { if (excelApplication == null) { return currentWorkbooks; } - using (IWorkbooks workbooks = excelApplication.Workbooks) { - for (int i = 1; i <= workbooks.Count; i++) { - using (IWorkbook workbook = workbooks[i]) { - if (workbook != null) { - currentWorkbooks.Add(workbook.Name); - } - } - } - } - } + + using IWorkbooks workbooks = excelApplication.Workbooks; + for (int i = 1; i <= workbooks.Count; i++) + { + using IWorkbook workbook = workbooks[i]; + if (workbook != null) { + currentWorkbooks.Add(workbook.Name); + } + } + } currentWorkbooks.Sort(); return currentWorkbooks; } @@ -59,27 +59,27 @@ namespace Greenshot.Interop.Office { /// /// /// - public static void InsertIntoExistingWorkbook(string workbookName, string tmpFile, Size imageSize) { - using (IExcelApplication excelApplication = GetExcelApplication()) { - if (excelApplication == null) { - return; - } - using (IWorkbooks workbooks = excelApplication.Workbooks) { - for (int i = 1; i <= workbooks.Count; i++) { - using (IWorkbook workbook = workbooks[i]) { - if (workbook != null && workbook.Name.StartsWith(workbookName)) { - InsertIntoExistingWorkbook(workbook, tmpFile, imageSize); - } - } - } - } - int hWnd = excelApplication.Hwnd; - if (hWnd > 0) - { - WindowDetails.ToForeground(new IntPtr(hWnd)); - } - } - } + public static void InsertIntoExistingWorkbook(string workbookName, string tmpFile, Size imageSize) + { + using IExcelApplication excelApplication = GetExcelApplication(); + if (excelApplication == null) { + return; + } + using (IWorkbooks workbooks = excelApplication.Workbooks) { + for (int i = 1; i <= workbooks.Count; i++) + { + using IWorkbook workbook = workbooks[i]; + if (workbook != null && workbook.Name.StartsWith(workbookName)) { + InsertIntoExistingWorkbook(workbook, tmpFile, imageSize); + } + } + } + int hWnd = excelApplication.Hwnd; + if (hWnd > 0) + { + WindowDetails.ToForeground(new IntPtr(hWnd)); + } + } /// /// Insert a file into an already created workbook @@ -92,38 +92,37 @@ namespace Greenshot.Interop.Office { if (workSheet == null) { return; } - using (IShapes shapes = workSheet.Shapes) { - if (shapes != null) { - using (IShape shape = shapes.AddPicture(tmpFile, MsoTriState.msoFalse, MsoTriState.msoTrue, 0, 0, imageSize.Width, imageSize.Height)) { - if (shape != null) { - shape.Top = 40; - shape.Left = 40; - shape.LockAspectRatio = MsoTriState.msoTrue; - shape.ScaleHeight(1, MsoTriState.msoTrue, MsoScaleFrom.msoScaleFromTopLeft); - shape.ScaleWidth(1, MsoTriState.msoTrue, MsoScaleFrom.msoScaleFromTopLeft); - } - } - } - } - } + + using IShapes shapes = workSheet.Shapes; + if (shapes != null) + { + using IShape shape = shapes.AddPicture(tmpFile, MsoTriState.msoFalse, MsoTriState.msoTrue, 0, 0, imageSize.Width, imageSize.Height); + if (shape != null) { + shape.Top = 40; + shape.Left = 40; + shape.LockAspectRatio = MsoTriState.msoTrue; + shape.ScaleHeight(1, MsoTriState.msoTrue, MsoScaleFrom.msoScaleFromTopLeft); + shape.ScaleWidth(1, MsoTriState.msoTrue, MsoScaleFrom.msoScaleFromTopLeft); + } + } + } /// /// Add an image-file to a newly created workbook /// /// /// - public static void InsertIntoNewWorkbook(string tmpFile, Size imageSize) { - using (IExcelApplication excelApplication = GetOrCreateExcelApplication()) { - if (excelApplication != null) { - excelApplication.Visible = true; - object template = Missing.Value; - using (IWorkbooks workbooks = excelApplication.Workbooks) { - IWorkbook workbook = workbooks.Add(template); - InsertIntoExistingWorkbook(workbook, tmpFile, imageSize); - } - } - } - } + public static void InsertIntoNewWorkbook(string tmpFile, Size imageSize) + { + using IExcelApplication excelApplication = GetOrCreateExcelApplication(); + if (excelApplication != null) { + excelApplication.Visible = true; + object template = Missing.Value; + using IWorkbooks workbooks = excelApplication.Workbooks; + IWorkbook workbook = workbooks.Add(template); + InsertIntoExistingWorkbook(workbook, tmpFile, imageSize); + } + } /// diff --git a/GreenshotOfficePlugin/OfficeExport/OneNoteExporter.cs b/GreenshotOfficePlugin/OfficeExport/OneNoteExporter.cs index 83d7a6255..1a9c71de1 100644 --- a/GreenshotOfficePlugin/OfficeExport/OneNoteExporter.cs +++ b/GreenshotOfficePlugin/OfficeExport/OneNoteExporter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -63,11 +63,11 @@ namespace Greenshot.Interop.Office { /// ISurface /// OneNotePage /// bool true if everything worked - public static bool ExportToPage(ISurface surfaceToUpload, OneNotePage page) { - using(IOneNoteApplication oneNoteApplication = COMWrapper.GetOrCreateInstance()) { - return ExportToPage(oneNoteApplication, surfaceToUpload, page); - } - } + public static bool ExportToPage(ISurface surfaceToUpload, OneNotePage page) + { + using IOneNoteApplication oneNoteApplication = COMWrapper.GetOrCreateInstance(); + return ExportToPage(oneNoteApplication, surfaceToUpload, page); + } /// /// Export the capture to the specified page @@ -80,22 +80,22 @@ namespace Greenshot.Interop.Office { if(oneNoteApplication == null) { return false; } - using (MemoryStream pngStream = new MemoryStream()) { - SurfaceOutputSettings pngOutputSettings = new SurfaceOutputSettings(OutputFormat.png, 100, false); - ImageOutput.SaveToStream(surfaceToUpload, pngStream, pngOutputSettings); - string base64String = Convert.ToBase64String(pngStream.GetBuffer()); - string imageXmlStr = string.Format(XmlImageContent, base64String, surfaceToUpload.Image.Width, surfaceToUpload.Image.Height); - string pageChangesXml = string.Format(XmlOutline, imageXmlStr, page.ID, OnenoteNamespace2010, page.Name); - Log.InfoFormat("Sending XML: {0}", pageChangesXml); - oneNoteApplication.UpdatePageContent(pageChangesXml, DateTime.MinValue, XMLSchema.xs2010, false); - try { - oneNoteApplication.NavigateTo(page.ID, null, false); - } catch(Exception ex) { - Log.Warn("Unable to navigate to the target page", ex); - } - return true; - } - } + + using MemoryStream pngStream = new MemoryStream(); + SurfaceOutputSettings pngOutputSettings = new SurfaceOutputSettings(OutputFormat.png, 100, false); + ImageOutput.SaveToStream(surfaceToUpload, pngStream, pngOutputSettings); + string base64String = Convert.ToBase64String(pngStream.GetBuffer()); + string imageXmlStr = string.Format(XmlImageContent, base64String, surfaceToUpload.Image.Width, surfaceToUpload.Image.Height); + string pageChangesXml = string.Format(XmlOutline, imageXmlStr, page.ID, OnenoteNamespace2010, page.Name); + Log.InfoFormat("Sending XML: {0}", pageChangesXml); + oneNoteApplication.UpdatePageContent(pageChangesXml, DateTime.MinValue, XMLSchema.xs2010, false); + try { + oneNoteApplication.NavigateTo(page.ID, null, false); + } catch(Exception ex) { + Log.Warn("Unable to navigate to the target page", ex); + } + return true; + } /// /// Retrieve the Section ID for the specified special location @@ -119,18 +119,17 @@ namespace Greenshot.Interop.Office { StringReader reader = null; try { reader = new StringReader(notebookXml); - using(XmlTextReader xmlReader = new XmlTextReader(reader)) { - while(xmlReader.Read()) { - if("one:Section".Equals(xmlReader.Name)) { - string id = xmlReader.GetAttribute("ID"); - string path = xmlReader.GetAttribute("path"); - if(unfiledNotesPath.Equals(path)) { - return id; - } - } - } - } - } finally + using XmlTextReader xmlReader = new XmlTextReader(reader); + while(xmlReader.Read()) { + if("one:Section".Equals(xmlReader.Name)) { + string id = xmlReader.GetAttribute("ID"); + string path = xmlReader.GetAttribute("path"); + if(unfiledNotesPath.Equals(path)) { + return id; + } + } + } + } finally { reader?.Dispose(); } @@ -144,70 +143,69 @@ namespace Greenshot.Interop.Office { /// public static List GetPages() { List pages = new List(); - try { - using (IOneNoteApplication oneNoteApplication = COMWrapper.GetOrCreateInstance()) { - if (oneNoteApplication != null) { - // ReSharper disable once RedundantAssignment - string notebookXml = ""; - oneNoteApplication.GetHierarchy("", HierarchyScope.hsPages, out notebookXml, XMLSchema.xs2010); - if (!string.IsNullOrEmpty(notebookXml)) { - Log.Debug(notebookXml); - StringReader reader = null; - try { - reader = new StringReader(notebookXml); - using (XmlTextReader xmlReader = new XmlTextReader(reader)) { - reader = null; - OneNoteSection currentSection = null; - OneNoteNotebook currentNotebook = null; - while (xmlReader.Read()) { - if ("one:Notebook".Equals(xmlReader.Name)) { - string id = xmlReader.GetAttribute("ID"); - if (id != null && (currentNotebook == null || !id.Equals(currentNotebook.ID))) { - currentNotebook = new OneNoteNotebook - { - ID = xmlReader.GetAttribute("ID"), - Name = xmlReader.GetAttribute("name") - }; - } - } - if ("one:Section".Equals(xmlReader.Name)) { - string id = xmlReader.GetAttribute("ID"); - if (id != null && (currentSection == null || !id.Equals(currentSection.ID))) { - currentSection = new OneNoteSection - { - ID = xmlReader.GetAttribute("ID"), - Name = xmlReader.GetAttribute("name"), - Parent = currentNotebook - }; - } - } - if ("one:Page".Equals(xmlReader.Name)) { - // Skip deleted items - if ("true".Equals(xmlReader.GetAttribute("isInRecycleBin"))) { - continue; - } - OneNotePage page = new OneNotePage - { - Parent = currentSection, - Name = xmlReader.GetAttribute("name"), - ID = xmlReader.GetAttribute("ID") - }; - if (page.ID == null || page.Name == null) { - continue; - } - page.IsCurrentlyViewed = "true".Equals(xmlReader.GetAttribute("isCurrentlyViewed")); - pages.Add(page); - } - } - } - } finally - { - reader?.Dispose(); - } - } - } - } - } catch (COMException cEx) { + try + { + using IOneNoteApplication oneNoteApplication = COMWrapper.GetOrCreateInstance(); + if (oneNoteApplication != null) { + // ReSharper disable once RedundantAssignment + string notebookXml = ""; + oneNoteApplication.GetHierarchy("", HierarchyScope.hsPages, out notebookXml, XMLSchema.xs2010); + if (!string.IsNullOrEmpty(notebookXml)) { + Log.Debug(notebookXml); + StringReader reader = null; + try { + reader = new StringReader(notebookXml); + using XmlTextReader xmlReader = new XmlTextReader(reader); + reader = null; + OneNoteSection currentSection = null; + OneNoteNotebook currentNotebook = null; + while (xmlReader.Read()) { + if ("one:Notebook".Equals(xmlReader.Name)) { + string id = xmlReader.GetAttribute("ID"); + if (id != null && (currentNotebook == null || !id.Equals(currentNotebook.ID))) { + currentNotebook = new OneNoteNotebook + { + ID = xmlReader.GetAttribute("ID"), + Name = xmlReader.GetAttribute("name") + }; + } + } + if ("one:Section".Equals(xmlReader.Name)) { + string id = xmlReader.GetAttribute("ID"); + if (id != null && (currentSection == null || !id.Equals(currentSection.ID))) { + currentSection = new OneNoteSection + { + ID = xmlReader.GetAttribute("ID"), + Name = xmlReader.GetAttribute("name"), + Parent = currentNotebook + }; + } + } + if ("one:Page".Equals(xmlReader.Name)) { + // Skip deleted items + if ("true".Equals(xmlReader.GetAttribute("isInRecycleBin"))) { + continue; + } + OneNotePage page = new OneNotePage + { + Parent = currentSection, + Name = xmlReader.GetAttribute("name"), + ID = xmlReader.GetAttribute("ID") + }; + if (page.ID == null || page.Name == null) { + continue; + } + page.IsCurrentlyViewed = "true".Equals(xmlReader.GetAttribute("isCurrentlyViewed")); + pages.Add(page); + } + } + } finally + { + reader?.Dispose(); + } + } + } + } catch (COMException cEx) { if (cEx.ErrorCode == unchecked((int)0x8002801D)) { Log.Warn("Wrong registry keys, to solve this remove the OneNote key as described here: http://microsoftmercenary.com/wp/outlook-excel-interop-calls-breaking-solved/"); } diff --git a/GreenshotOfficePlugin/OfficeExport/OutlookEmailExporter.cs b/GreenshotOfficePlugin/OfficeExport/OutlookEmailExporter.cs index 4d0d724f2..cc5b3a93c 100644 --- a/GreenshotOfficePlugin/OfficeExport/OutlookEmailExporter.cs +++ b/GreenshotOfficePlugin/OfficeExport/OutlookEmailExporter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -52,42 +52,40 @@ namespace Greenshot.Interop.Office { /// List of strings with inspector captions (window title) public static IDictionary RetrievePossibleTargets() { IDictionary inspectorCaptions = new SortedDictionary(); - try { - using (IOutlookApplication outlookApplication = GetOutlookApplication()) { - if (outlookApplication == null) { - return null; - } + try + { + using IOutlookApplication outlookApplication = GetOutlookApplication(); + if (outlookApplication == null) { + return null; + } - if (_outlookVersion.Major >= (int)OfficeVersion.OFFICE_2013) { - // Check inline "panel" for Outlook 2013 - using (var activeExplorer = outlookApplication.ActiveExplorer()) { - if (activeExplorer != null) { - using (var inlineResponse = activeExplorer.ActiveInlineResponse) { - if (CanExportToInspector(inlineResponse)) { - OlObjectClass currentItemClass = inlineResponse.Class; - inspectorCaptions.Add(activeExplorer.Caption, currentItemClass); - } - } - } - } - } + if (_outlookVersion.Major >= (int)OfficeVersion.OFFICE_2013) + { + // Check inline "panel" for Outlook 2013 + using var activeExplorer = outlookApplication.ActiveExplorer(); + if (activeExplorer != null) + { + using var inlineResponse = activeExplorer.ActiveInlineResponse; + if (CanExportToInspector(inlineResponse)) { + OlObjectClass currentItemClass = inlineResponse.Class; + inspectorCaptions.Add(activeExplorer.Caption, currentItemClass); + } + } + } - using (IInspectors inspectors = outlookApplication.Inspectors) { - if (inspectors != null && inspectors.Count > 0) { - for (int i = 1; i <= inspectors.Count; i++) { - using (IInspector inspector = outlookApplication.Inspectors[i]) { - using (IItem currentItem = inspector.CurrentItem) { - if (CanExportToInspector(currentItem)) { - OlObjectClass currentItemClass = currentItem.Class; - inspectorCaptions.Add(inspector.Caption, currentItemClass); - } - } - } - } - } - } - } - } catch (Exception ex) { + using IInspectors inspectors = outlookApplication.Inspectors; + if (inspectors != null && inspectors.Count > 0) { + for (int i = 1; i <= inspectors.Count; i++) + { + using IInspector inspector = outlookApplication.Inspectors[i]; + using IItem currentItem = inspector.CurrentItem; + if (CanExportToInspector(currentItem)) { + OlObjectClass currentItemClass = currentItem.Class; + inspectorCaptions.Add(inspector.Caption, currentItemClass); + } + } + } + } catch (Exception ex) { Log.Warn("Problem retrieving word destinations, ignoring: ", ex); } return inspectorCaptions; @@ -137,52 +135,50 @@ namespace Greenshot.Interop.Office { if (outlookApplication == null) { return false; } - if (_outlookVersion.Major >= (int)OfficeVersion.OFFICE_2013) { - // Check inline "panel" for Outlook 2013 - using (var activeExplorer = outlookApplication.ActiveExplorer()) { - if (activeExplorer == null) { - return false; - } - var currentCaption = activeExplorer.Caption; - if (currentCaption.StartsWith(inspectorCaption)) { - using (var inlineResponse = activeExplorer.ActiveInlineResponse) { - using (IItem currentItem = activeExplorer.ActiveInlineResponse) { - if (CanExportToInspector(inlineResponse)) { - try { - return ExportToInspector(activeExplorer, currentItem, tmpFile, attachmentName); - } catch (Exception exExport) { - Log.Error("Export to " + currentCaption + " failed.", exExport); - } - } - } - } - } - } - } + if (_outlookVersion.Major >= (int)OfficeVersion.OFFICE_2013) + { + // Check inline "panel" for Outlook 2013 + using var activeExplorer = outlookApplication.ActiveExplorer(); + if (activeExplorer == null) { + return false; + } + var currentCaption = activeExplorer.Caption; + if (currentCaption.StartsWith(inspectorCaption)) + { + using var inlineResponse = activeExplorer.ActiveInlineResponse; + using IItem currentItem = activeExplorer.ActiveInlineResponse; + if (CanExportToInspector(inlineResponse)) { + try { + return ExportToInspector(activeExplorer, currentItem, tmpFile, attachmentName); + } catch (Exception exExport) { + Log.Error("Export to " + currentCaption + " failed.", exExport); + } + } + } + } - using (IInspectors inspectors = outlookApplication.Inspectors) { - if (inspectors == null || inspectors.Count == 0) { - return false; - } - Log.DebugFormat("Got {0} inspectors to check", inspectors.Count); - for (int i = 1; i <= inspectors.Count; i++) { - using (IInspector inspector = outlookApplication.Inspectors[i]) { - string currentCaption = inspector.Caption; - if (currentCaption.StartsWith(inspectorCaption)) { - using (IItem currentItem = inspector.CurrentItem) { - if (CanExportToInspector(currentItem)) { - try { - return ExportToInspector(inspector, currentItem, tmpFile, attachmentName); - } catch (Exception exExport) { - Log.Error("Export to " + currentCaption + " failed.", exExport); - } - } - } - } - } - } - } - } + using IInspectors inspectors = outlookApplication.Inspectors; + if (inspectors == null || inspectors.Count == 0) { + return false; + } + Log.DebugFormat("Got {0} inspectors to check", inspectors.Count); + for (int i = 1; i <= inspectors.Count; i++) + { + using IInspector inspector = outlookApplication.Inspectors[i]; + string currentCaption = inspector.Caption; + if (currentCaption.StartsWith(inspectorCaption)) + { + using IItem currentItem = inspector.CurrentItem; + if (CanExportToInspector(currentItem)) { + try { + return ExportToInspector(inspector, currentItem, tmpFile, attachmentName); + } catch (Exception exExport) { + Log.Error("Export to " + currentCaption + " failed.", exExport); + } + } + } + } + } return false; } @@ -229,14 +225,12 @@ namespace Greenshot.Interop.Office { // http://msdn.microsoft.com/en-us/library/dd492012%28v=office.12%29.aspx // Earlier versions of Outlook also supported an Inspector.HTMLEditor object property, but since Internet Explorer is no longer the rendering engine for HTML messages and posts, HTMLEditor is no longer supported. IWordDocument wordDocument = null; - var explorer = inspectorOrExplorer as IExplorer; - if (explorer != null) { + if (inspectorOrExplorer is IExplorer explorer) { wordDocument = explorer.ActiveInlineResponseWordEditor; } else { - var inspector1 = inspectorOrExplorer as IInspector; - if (inspector1 != null) { + if (inspectorOrExplorer is IInspector inspector1) { var inspector = inspector1; if (inspector.IsWordMail()) { wordDocument = inspector.WordEditor; @@ -282,8 +276,7 @@ namespace Greenshot.Interop.Office { // if html we can try to inline it // The following might cause a security popup... can't ignore it. try { - IHTMLDocument2 document2 = (inspectorOrExplorer as IInspector).HTMLEditor as IHTMLDocument2; - if (document2 != null) { + if ((inspectorOrExplorer as IInspector).HTMLEditor is IHTMLDocument2 document2) { IHTMLSelectionObject selection = document2.selection; if (selection != null) { IHTMLTxtRange range = selection.createRange(); @@ -307,18 +300,17 @@ namespace Greenshot.Interop.Office { } // Create the attachment (if inlined the attachment isn't visible as attachment!) - using (IAttachment attachment = mailItem.Attachments.Add(tmpFile, OlAttachmentType.olByValue, inlinePossible ? 0 : 1, attachmentName)) { - if (_outlookVersion.Major >= (int)OfficeVersion.OFFICE_2007) { - // Add the content id to the attachment, this only works for Outlook >= 2007 - try { - IPropertyAccessor propertyAccessor = attachment.PropertyAccessor; - propertyAccessor.SetProperty(PropTag.ATTACHMENT_CONTENT_ID, contentId); - } catch { - // Ignore - } - } - } - } catch (Exception ex) { + using IAttachment attachment = mailItem.Attachments.Add(tmpFile, OlAttachmentType.olByValue, inlinePossible ? 0 : 1, attachmentName); + if (_outlookVersion.Major >= (int)OfficeVersion.OFFICE_2007) { + // Add the content id to the attachment, this only works for Outlook >= 2007 + try { + IPropertyAccessor propertyAccessor = attachment.PropertyAccessor; + propertyAccessor.SetProperty(PropTag.ATTACHMENT_CONTENT_ID, contentId); + } catch { + // Ignore + } + } + } catch (Exception ex) { Log.WarnFormat("Problem while trying to add attachment to Item '{0}' : {1}", inspectorOrExplorer.Caption, ex); return false; } @@ -344,98 +336,97 @@ namespace Greenshot.Interop.Office { /// /// /// - private static void ExportToNewEmail(IOutlookApplication outlookApplication, EmailFormat format, string tmpFile, string subject, string attachmentName, string to, string cc, string bcc, string url) { - using (IItem newItem = outlookApplication.CreateItem(OlItemType.olMailItem)) { - if (newItem == null) { - return; - } - //MailItem newMail = COMWrapper.Cast(newItem); - MailItem newMail = (MailItem)newItem; - newMail.Subject = subject; - if (!string.IsNullOrEmpty(to)) { - newMail.To = to; - } - if (!string.IsNullOrEmpty(cc)) { - newMail.CC = cc; - } - if (!string.IsNullOrEmpty(bcc)) { - newMail.BCC = bcc; - } - newMail.BodyFormat = OlBodyFormat.olFormatHTML; - string bodyString = null; - // Read the default signature, if nothing found use empty email - try { - bodyString = GetOutlookSignature(format); - } catch (Exception e) { - Log.Error("Problem reading signature!", e); - } - switch (format) { - case EmailFormat.Text: - // Create the attachment (and dispose the COM object after using) - using (newMail.Attachments.Add(tmpFile, OlAttachmentType.olByValue, 1, attachmentName)) - { - newMail.BodyFormat = OlBodyFormat.olFormatPlain; - if (bodyString == null) { - bodyString = ""; - } - newMail.Body = bodyString; - } - break; - default: - string contentId = Path.GetFileName(tmpFile); - // Create the attachment (and dispose the COM object after using) - using (IAttachment attachment = newMail.Attachments.Add(tmpFile, OlAttachmentType.olByValue, 0, attachmentName)) { - // add content ID to the attachment - if (_outlookVersion.Major >= (int)OfficeVersion.OFFICE_2007) { - try { - contentId = Guid.NewGuid().ToString(); - IPropertyAccessor propertyAccessor = attachment.PropertyAccessor; - propertyAccessor.SetProperty(PropTag.ATTACHMENT_CONTENT_ID, contentId); - } catch { - Log.Info("Error working with the PropertyAccessor, using filename as contentid"); - contentId = Path.GetFileName(tmpFile); - } - } - } + private static void ExportToNewEmail(IOutlookApplication outlookApplication, EmailFormat format, string tmpFile, string subject, string attachmentName, string to, string cc, string bcc, string url) + { + using IItem newItem = outlookApplication.CreateItem(OlItemType.olMailItem); + if (newItem == null) { + return; + } + //MailItem newMail = COMWrapper.Cast(newItem); + MailItem newMail = (MailItem)newItem; + newMail.Subject = subject; + if (!string.IsNullOrEmpty(to)) { + newMail.To = to; + } + if (!string.IsNullOrEmpty(cc)) { + newMail.CC = cc; + } + if (!string.IsNullOrEmpty(bcc)) { + newMail.BCC = bcc; + } + newMail.BodyFormat = OlBodyFormat.olFormatHTML; + string bodyString = null; + // Read the default signature, if nothing found use empty email + try { + bodyString = GetOutlookSignature(format); + } catch (Exception e) { + Log.Error("Problem reading signature!", e); + } + switch (format) { + case EmailFormat.Text: + // Create the attachment (and dispose the COM object after using) + using (newMail.Attachments.Add(tmpFile, OlAttachmentType.olByValue, 1, attachmentName)) + { + newMail.BodyFormat = OlBodyFormat.olFormatPlain; + if (bodyString == null) { + bodyString = ""; + } + newMail.Body = bodyString; + } + break; + default: + string contentId = Path.GetFileName(tmpFile); + // Create the attachment (and dispose the COM object after using) + using (IAttachment attachment = newMail.Attachments.Add(tmpFile, OlAttachmentType.olByValue, 0, attachmentName)) { + // add content ID to the attachment + if (_outlookVersion.Major >= (int)OfficeVersion.OFFICE_2007) { + try { + contentId = Guid.NewGuid().ToString(); + IPropertyAccessor propertyAccessor = attachment.PropertyAccessor; + propertyAccessor.SetProperty(PropTag.ATTACHMENT_CONTENT_ID, contentId); + } catch { + Log.Info("Error working with the PropertyAccessor, using filename as contentid"); + contentId = Path.GetFileName(tmpFile); + } + } + } - newMail.BodyFormat = OlBodyFormat.olFormatHTML; - string href = ""; - string hrefEnd = ""; - if (!string.IsNullOrEmpty(url)) { - href = $""; - hrefEnd = ""; - } - string htmlImgEmbedded = $"
{href}\"{attachmentName}\"{hrefEnd}
"; - string fallbackBody = $"{htmlImgEmbedded}"; - if (bodyString == null) { - bodyString = fallbackBody; - } else { - int bodyIndex = bodyString.IndexOf("= 0) - { - bodyIndex = bodyString.IndexOf(">", bodyIndex, StringComparison.Ordinal) + 1; - bodyString = bodyIndex >= 0 ? bodyString.Insert(bodyIndex, htmlImgEmbedded) : fallbackBody; - } else { - bodyString = fallbackBody; - } - } - newMail.HTMLBody = bodyString; - break; - } - // So not save, otherwise the email is always stored in Draft folder.. (newMail.Save();) - newMail.Display(false); + newMail.BodyFormat = OlBodyFormat.olFormatHTML; + string href = ""; + string hrefEnd = ""; + if (!string.IsNullOrEmpty(url)) { + href = $""; + hrefEnd = ""; + } + string htmlImgEmbedded = $"
{href}\"{attachmentName}\"{hrefEnd}
"; + string fallbackBody = $"{htmlImgEmbedded}"; + if (bodyString == null) { + bodyString = fallbackBody; + } else { + int bodyIndex = bodyString.IndexOf("= 0) + { + bodyIndex = bodyString.IndexOf(">", bodyIndex, StringComparison.Ordinal) + 1; + bodyString = bodyIndex >= 0 ? bodyString.Insert(bodyIndex, htmlImgEmbedded) : fallbackBody; + } else { + bodyString = fallbackBody; + } + } + newMail.HTMLBody = bodyString; + break; + } + // So not save, otherwise the email is always stored in Draft folder.. (newMail.Save();) + newMail.Display(false); - using (IInspector inspector = newMail.GetInspector()) { - if (inspector != null) { - try { - inspector.Activate(); - } catch { - // Ignore - } - } - } - } - } + using IInspector inspector = newMail.GetInspector(); + if (inspector != null) { + try { + inspector.Activate(); + } catch { + // Ignore + } + } + } /// /// Helper method to create an outlook mail item with attachment @@ -476,46 +467,40 @@ namespace Greenshot.Interop.Office { } string defaultProfile = (string)profilesKey.GetValue(DefaultProfileValue); Log.DebugFormat("defaultProfile={0}", defaultProfile); - using (RegistryKey profileKey = profilesKey.OpenSubKey(defaultProfile + @"\" + AccountKey, false)) { - if (profileKey != null) - { - string[] numbers = profileKey.GetSubKeyNames(); - foreach (string number in numbers) { - Log.DebugFormat("Found subkey {0}", number); - using (RegistryKey numberKey = profileKey.OpenSubKey(number, false)) { - if (numberKey != null) - { - byte[] val = (byte[])numberKey.GetValue(NewSignatureValue); - if (val == null) { - continue; - } - string signatureName = ""; - foreach (byte b in val) { - if (b != 0) { - signatureName += (char)b; - } - } - Log.DebugFormat("Found email signature: {0}", signatureName); - string extension; - switch (format) { - case EmailFormat.Text: - extension = ".txt"; - break; - default: - extension = ".htm"; - break; - } - string signatureFile = Path.Combine(SignaturePath, signatureName + extension); - if (File.Exists(signatureFile)) { - Log.DebugFormat("Found email signature file: {0}", signatureFile); - return File.ReadAllText(signatureFile, Encoding.Default); - } - } - } - } - } - } - } + using RegistryKey profileKey = profilesKey.OpenSubKey(defaultProfile + @"\" + AccountKey, false); + if (profileKey != null) + { + string[] numbers = profileKey.GetSubKeyNames(); + foreach (string number in numbers) { + Log.DebugFormat("Found subkey {0}", number); + using RegistryKey numberKey = profileKey.OpenSubKey(number, false); + if (numberKey != null) + { + byte[] val = (byte[])numberKey.GetValue(NewSignatureValue); + if (val == null) { + continue; + } + string signatureName = ""; + foreach (byte b in val) { + if (b != 0) { + signatureName += (char)b; + } + } + Log.DebugFormat("Found email signature: {0}", signatureName); + var extension = format switch + { + EmailFormat.Text => ".txt", + _ => ".htm" + }; + string signatureFile = Path.Combine(SignaturePath, signatureName + extension); + if (File.Exists(signatureFile)) { + Log.DebugFormat("Found email signature file: {0}", signatureFile); + return File.ReadAllText(signatureFile, Encoding.Default); + } + } + } + } + } return null; } diff --git a/GreenshotOfficePlugin/OfficeExport/PowerpointExporter.cs b/GreenshotOfficePlugin/OfficeExport/PowerpointExporter.cs index 713a73c90..03d792c76 100644 --- a/GreenshotOfficePlugin/OfficeExport/PowerpointExporter.cs +++ b/GreenshotOfficePlugin/OfficeExport/PowerpointExporter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -41,33 +41,32 @@ namespace Greenshot.Interop.Office { /// public static List GetPowerpointPresentations() { List foundPresentations = new List(); - try { - using (IPowerpointApplication powerpointApplication = GetPowerpointApplication()) { - if (powerpointApplication == null) { - return foundPresentations; - } + try + { + using IPowerpointApplication powerpointApplication = GetPowerpointApplication(); + if (powerpointApplication == null) { + return foundPresentations; + } - using (IPresentations presentations = powerpointApplication.Presentations) { - LOG.DebugFormat("Open Presentations: {0}", presentations.Count); - for (int i = 1; i <= presentations.Count; i++) { - using (IPresentation presentation = presentations.item(i)) { - if (presentation == null) { - continue; - } - if (presentation.ReadOnly == MsoTriState.msoTrue) { - continue; - } - if (IsAfter2003()) { - if (presentation.Final) { - continue; - } - } - foundPresentations.Add(presentation.Name); - } - } - } - } - } catch (Exception ex) { + using IPresentations presentations = powerpointApplication.Presentations; + LOG.DebugFormat("Open Presentations: {0}", presentations.Count); + for (int i = 1; i <= presentations.Count; i++) + { + using IPresentation presentation = presentations.item(i); + if (presentation == null) { + continue; + } + if (presentation.ReadOnly == MsoTriState.msoTrue) { + continue; + } + if (IsAfter2003()) { + if (presentation.Final) { + continue; + } + } + foundPresentations.Add(presentation.Name); + } + } catch (Exception ex) { LOG.Warn("Problem retrieving word destinations, ignoring: ", ex); } foundPresentations.Sort(); @@ -87,26 +86,26 @@ namespace Greenshot.Interop.Office { if (powerpointApplication == null) { return false; } - using (IPresentations presentations = powerpointApplication.Presentations) { - LOG.DebugFormat("Open Presentations: {0}", presentations.Count); - for (int i = 1; i <= presentations.Count; i++) { - using (IPresentation presentation = presentations.item(i)) { - if (presentation == null) { - continue; - } - if (!presentation.Name.StartsWith(presentationName)) { - continue; - } - try { - AddPictureToPresentation(presentation, tmpFile, imageSize, title); - return true; - } catch (Exception e) { - LOG.Error(e); - } - } - } - } - } + + using IPresentations presentations = powerpointApplication.Presentations; + LOG.DebugFormat("Open Presentations: {0}", presentations.Count); + for (int i = 1; i <= presentations.Count; i++) + { + using IPresentation presentation = presentations.item(i); + if (presentation == null) { + continue; + } + if (!presentation.Name.StartsWith(presentationName)) { + continue; + } + try { + AddPictureToPresentation(presentation, tmpFile, imageSize, title); + return true; + } catch (Exception e) { + LOG.Error(e); + } + } + } return false; } @@ -198,17 +197,15 @@ namespace Greenshot.Interop.Office { using (IPowerpointApplication powerpointApplication = GetOrCreatePowerpointApplication()) { if (powerpointApplication != null) { powerpointApplication.Visible = true; - using (IPresentations presentations = powerpointApplication.Presentations) { - using (IPresentation presentation = presentations.Add(MsoTriState.msoTrue)) { - try { - AddPictureToPresentation(presentation, tmpFile, imageSize, title); - isPictureAdded = true; - } catch (Exception e) { - LOG.Error(e); - } - } - } - } + using IPresentations presentations = powerpointApplication.Presentations; + using IPresentation presentation = presentations.Add(MsoTriState.msoTrue); + try { + AddPictureToPresentation(presentation, tmpFile, imageSize, title); + isPictureAdded = true; + } catch (Exception e) { + LOG.Error(e); + } + } } return isPictureAdded; } diff --git a/GreenshotOfficePlugin/OfficeExport/WordExporter.cs b/GreenshotOfficePlugin/OfficeExport/WordExporter.cs index 350f51fd8..9cb731a14 100644 --- a/GreenshotOfficePlugin/OfficeExport/WordExporter.cs +++ b/GreenshotOfficePlugin/OfficeExport/WordExporter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -49,18 +49,17 @@ namespace Greenshot.Interop.Office { if (wordApplication == null) { return false; } - using (IDocuments documents = wordApplication.Documents) { - for (int i = 1; i <= documents.Count; i++) { - using (IWordDocument wordDocument = documents.item(i)) { - using (IWordWindow activeWindow = wordDocument.ActiveWindow) { - if (activeWindow.Caption.StartsWith(wordCaption)) { - return InsertIntoExistingDocument(wordApplication, wordDocument, tmpFile, null, null); - } - } - } - } - } - } + + using IDocuments documents = wordApplication.Documents; + for (int i = 1; i <= documents.Count; i++) + { + using IWordDocument wordDocument = documents.item(i); + using IWordWindow activeWindow = wordDocument.ActiveWindow; + if (activeWindow.Caption.StartsWith(wordCaption)) { + return InsertIntoExistingDocument(wordApplication, wordDocument, tmpFile, null, null); + } + } + } return false; } @@ -83,64 +82,61 @@ namespace Greenshot.Interop.Office { { // ignored } - using (ISelection selection = wordApplication.Selection) { - if (selection == null) { - Log.InfoFormat("No selection to insert {0} into found.", tmpFile); - return false; - } - // Add Picture - using (IInlineShape shape = AddPictureToSelection(selection, tmpFile)) { - if (!string.IsNullOrEmpty(address)) { - object screentip = Type.Missing; - if (!string.IsNullOrEmpty(tooltip)) { - screentip = tooltip; - } - try { - using (IHyperlinks hyperlinks = wordDocument.Hyperlinks) { - hyperlinks.Add(shape, screentip, Type.Missing, screentip, Type.Missing, Type.Missing); - } - } catch (Exception e) { - Log.WarnFormat("Couldn't add hyperlink for image: {0}", e.Message); - } - } - } - try { - using (IWordWindow activeWindow = wordDocument.ActiveWindow) { - activeWindow.Activate(); - using (IPane activePane = activeWindow.ActivePane) { - using (IWordView view = activePane.View) { - view.Zoom.Percentage = 100; - } - } - } - } catch (Exception e) { - Log.WarnFormat("Couldn't set zoom to 100, error: {0}", e.InnerException?.Message ?? e.Message); - } - try { - wordApplication.Activate(); - } - catch - { - // ignored - } - try { - using (var activeWindow = wordDocument.ActiveWindow) - { - activeWindow.Activate(); - int hWnd = activeWindow.Hwnd; - if (hWnd > 0) - { - WindowDetails.ToForeground(new IntPtr(hWnd)); - } - } - } - catch - { - // ignored - } - return true; - } - } + + using ISelection selection = wordApplication.Selection; + if (selection == null) { + Log.InfoFormat("No selection to insert {0} into found.", tmpFile); + return false; + } + // Add Picture + using (IInlineShape shape = AddPictureToSelection(selection, tmpFile)) { + if (!string.IsNullOrEmpty(address)) { + object screentip = Type.Missing; + if (!string.IsNullOrEmpty(tooltip)) { + screentip = tooltip; + } + try + { + using IHyperlinks hyperlinks = wordDocument.Hyperlinks; + hyperlinks.Add(shape, screentip, Type.Missing, screentip, Type.Missing, Type.Missing); + } catch (Exception e) { + Log.WarnFormat("Couldn't add hyperlink for image: {0}", e.Message); + } + } + } + try + { + using IWordWindow activeWindow = wordDocument.ActiveWindow; + activeWindow.Activate(); + using IPane activePane = activeWindow.ActivePane; + using IWordView view = activePane.View; + view.Zoom.Percentage = 100; + } catch (Exception e) { + Log.WarnFormat("Couldn't set zoom to 100, error: {0}", e.InnerException?.Message ?? e.Message); + } + try { + wordApplication.Activate(); + } + catch + { + // ignored + } + try + { + using var activeWindow = wordDocument.ActiveWindow; + activeWindow.Activate(); + int hWnd = activeWindow.Hwnd; + if (hWnd > 0) + { + WindowDetails.ToForeground(new IntPtr(hWnd)); + } + } + catch + { + // ignored + } + return true; + } /// /// Helper method to add the file as image to the selection @@ -148,77 +144,74 @@ namespace Greenshot.Interop.Office { /// /// /// - private static IInlineShape AddPictureToSelection(ISelection selection, string tmpFile) { - using (IInlineShapes shapes = selection.InlineShapes) { - IInlineShape shape = shapes.AddPicture(tmpFile, false, true, Type.Missing); - // Lock aspect ratio - if (OfficeConfig.WordLockAspectRatio) { - shape.LockAspectRatio = MsoTriState.msoTrue; - } - selection.InsertAfter("\r\n"); - selection.MoveDown(WdUnits.wdLine, 1, Type.Missing); - return shape; - } - } + private static IInlineShape AddPictureToSelection(ISelection selection, string tmpFile) + { + using IInlineShapes shapes = selection.InlineShapes; + IInlineShape shape = shapes.AddPicture(tmpFile, false, true, Type.Missing); + // Lock aspect ratio + if (OfficeConfig.WordLockAspectRatio) { + shape.LockAspectRatio = MsoTriState.msoTrue; + } + selection.InsertAfter("\r\n"); + selection.MoveDown(WdUnits.wdLine, 1, Type.Missing); + return shape; + } - public static void InsertIntoNewDocument(string tmpFile, string address, string tooltip) { - using (IWordApplication wordApplication = GetOrCreateWordApplication()) { - if (wordApplication == null) { - return; - } - wordApplication.Visible = true; - wordApplication.Activate(); - // Create new Document - object template = string.Empty; - object newTemplate = false; - object documentType = 0; - object documentVisible = true; - using (IDocuments documents = wordApplication.Documents) { - using (IWordDocument wordDocument = documents.Add(ref template, ref newTemplate, ref documentType, ref documentVisible)) { - using (ISelection selection = wordApplication.Selection) { - // Add Picture - using (IInlineShape shape = AddPictureToSelection(selection, tmpFile)) { - if (!string.IsNullOrEmpty(address)) { - object screentip = Type.Missing; - if (!string.IsNullOrEmpty(tooltip)) { - screentip = tooltip; - } - try { - using (IHyperlinks hyperlinks = wordDocument.Hyperlinks) { - hyperlinks.Add(shape, screentip, Type.Missing, screentip, Type.Missing, Type.Missing); - } - } catch (Exception e) { - Log.WarnFormat("Couldn't add hyperlink for image: {0}", e.Message); - } - } - } - } - try { - wordDocument.Activate(); - } - catch - { - // ignored - } - try { - using (var activeWindow = wordDocument.ActiveWindow) - { - activeWindow.Activate(); - int hWnd = activeWindow.Hwnd; - if (hWnd > 0) - { - WindowDetails.ToForeground(new IntPtr(hWnd)); - } - } - } - catch - { - // ignored - } - } - } - } - } + public static void InsertIntoNewDocument(string tmpFile, string address, string tooltip) + { + using IWordApplication wordApplication = GetOrCreateWordApplication(); + if (wordApplication == null) { + return; + } + wordApplication.Visible = true; + wordApplication.Activate(); + // Create new Document + object template = string.Empty; + object newTemplate = false; + object documentType = 0; + object documentVisible = true; + using IDocuments documents = wordApplication.Documents; + using IWordDocument wordDocument = documents.Add(ref template, ref newTemplate, ref documentType, ref documentVisible); + using (ISelection selection = wordApplication.Selection) + { + // Add Picture + using IInlineShape shape = AddPictureToSelection(selection, tmpFile); + if (!string.IsNullOrEmpty(address)) { + object screentip = Type.Missing; + if (!string.IsNullOrEmpty(tooltip)) { + screentip = tooltip; + } + try + { + using IHyperlinks hyperlinks = wordDocument.Hyperlinks; + hyperlinks.Add(shape, screentip, Type.Missing, screentip, Type.Missing, Type.Missing); + } catch (Exception e) { + Log.WarnFormat("Couldn't add hyperlink for image: {0}", e.Message); + } + } + } + try { + wordDocument.Activate(); + } + catch + { + // ignored + } + try + { + using var activeWindow = wordDocument.ActiveWindow; + activeWindow.Activate(); + int hWnd = activeWindow.Hwnd; + if (hWnd > 0) + { + WindowDetails.ToForeground(new IntPtr(hWnd)); + } + } + catch + { + // ignored + } + } /// /// Get the captions of all the open word documents @@ -226,30 +219,30 @@ namespace Greenshot.Interop.Office { /// public static List GetWordDocuments() { List openDocuments = new List(); - try { - using (IWordApplication wordApplication = GetWordApplication()) { - if (wordApplication == null) { - return openDocuments; - } - using (IDocuments documents = wordApplication.Documents) { - for (int i = 1; i <= documents.Count; i++) { - using (IWordDocument document = documents.item(i)) { - if (document.ReadOnly) { - continue; - } - if (IsAfter2003()) { - if (document.Final) { - continue; - } - } - using (IWordWindow activeWindow = document.ActiveWindow) { - openDocuments.Add(activeWindow.Caption); - } - } - } - } - } - } catch (Exception ex) { + try + { + using IWordApplication wordApplication = GetWordApplication(); + if (wordApplication == null) { + return openDocuments; + } + + using IDocuments documents = wordApplication.Documents; + for (int i = 1; i <= documents.Count; i++) + { + using IWordDocument document = documents.item(i); + if (document.ReadOnly) { + continue; + } + if (IsAfter2003()) { + if (document.Final) { + continue; + } + } + + using IWordWindow activeWindow = document.ActiveWindow; + openDocuments.Add(activeWindow.Caption); + } + } catch (Exception ex) { Log.Warn("Problem retrieving word destinations, ignoring: ", ex); } openDocuments.Sort(); diff --git a/GreenshotOfficePlugin/OfficeInterop/ExcelInterop.cs b/GreenshotOfficePlugin/OfficeInterop/ExcelInterop.cs index 4ff22b066..f456cda16 100644 --- a/GreenshotOfficePlugin/OfficeInterop/ExcelInterop.cs +++ b/GreenshotOfficePlugin/OfficeInterop/ExcelInterop.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/OfficeInterop/OfficeCommunicator.cs b/GreenshotOfficePlugin/OfficeInterop/OfficeCommunicator.cs deleted file mode 100644 index f659d12b3..000000000 --- a/GreenshotOfficePlugin/OfficeInterop/OfficeCommunicator.cs +++ /dev/null @@ -1,71 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Text; -using Greenshot.Interop; -using Greenshot.Interop.Office; - -namespace GreenshotInterop.OfficeInterop { - // See: http://msdn.microsoft.com/en-us/library/bb758788%28v=office.12%29 - [ComProgId("Communicator.UIAutomation")] - public interface IMessenger : Common { - void AutoSignin(); - string MyServiceId { - get; - } - IMessengerContact GetContact(string signinName, string serviceId); - IMessengerWindow InstantMessage(string contact); - } - - // See: http://msdn.microsoft.com/en-us/library/bb787250%28v=office.12%29 - public interface IMessengerContact : Common { - string FriendlyName { - get; - } - string ServiceName { - get; - } - string ServiceId { - get; - } - string SigninName { - get; - } - MISTATUS Status { - get; - } - } - - // See: http://msdn.microsoft.com/en-us/library/bb787207%28v=office.12%29 - public enum MISTATUS { - MISTATUS_UNKNOWN = 0x0000, - MISTATUS_OFFLINE = 0x0001, - MISTATUS_ONLINE = 0x0002, - MISTATUS_INVISIBLE = 0x0006, - MISTATUS_BUSY = 0x000A, - MISTATUS_BE_RIGHT_BACK = 0x000E, - MISTATUS_IDLE = 0x0012, - MISTATUS_AWAY = 0x0022, - MISTATUS_ON_THE_PHONE = 0x0032, - MISTATUS_OUT_TO_LUNCH = 0x0042, - MISTATUS_IN_A_MEETING = 0x0052, - MISTATUS_OUT_OF_OFFICE = 0x0062, - MISTATUS_DO_NOT_DISTURB = 0x0072, - MISTATUS_IN_A_CONFERENCE = 0x0082, - MISTATUS_ALLOW_URGENT_INTERRUPTIONS = 0x0092, - MISTATUS_MAY_BE_AVAILABLE = 0x00A2, - MISTATUS_CUSTOM = 0x00B2, - MISTATUS_LOCAL_FINDING_SERVER = 0x0100, - MISTATUS_LOCAL_CONNECTING_TO_SERVER = 0x0200, - MISTATUS_LOCAL_SYNCHRONIZING_WITH_SERVER = 0x0300, - MISTATUS_LOCAL_DISCONNECTING_FROM_SERVER = 0x0400 - } ; - - // See: http://msdn.microsoft.com/en-us/library/bb758816%28v=office.12%29 - public interface IMessengerWindow : Common { - bool IsClosed { - get; - } - void Show(); - } - -} diff --git a/GreenshotOfficePlugin/OfficeInterop/OfficeInterop.cs b/GreenshotOfficePlugin/OfficeInterop/OfficeInterop.cs index 6887d4374..adba5fd12 100644 --- a/GreenshotOfficePlugin/OfficeInterop/OfficeInterop.cs +++ b/GreenshotOfficePlugin/OfficeInterop/OfficeInterop.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/OfficeInterop/OneNoteInterop.cs b/GreenshotOfficePlugin/OfficeInterop/OneNoteInterop.cs index ed00cfdb5..f1322788f 100644 --- a/GreenshotOfficePlugin/OfficeInterop/OneNoteInterop.cs +++ b/GreenshotOfficePlugin/OfficeInterop/OneNoteInterop.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/OfficeInterop/OutlookInterop.cs b/GreenshotOfficePlugin/OfficeInterop/OutlookInterop.cs index 2fee5863d..d9d0c7714 100644 --- a/GreenshotOfficePlugin/OfficeInterop/OutlookInterop.cs +++ b/GreenshotOfficePlugin/OfficeInterop/OutlookInterop.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/OfficeInterop/OutlookUtils.cs b/GreenshotOfficePlugin/OfficeInterop/OutlookUtils.cs index c0a85b341..5b2975392 100644 --- a/GreenshotOfficePlugin/OfficeInterop/OutlookUtils.cs +++ b/GreenshotOfficePlugin/OfficeInterop/OutlookUtils.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -438,12 +438,9 @@ namespace Greenshot.Interop.Office { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Design", "CA1060:MovePInvokesToNativeMethodsClass")] public class OutlookUtils { private static readonly log4net.ILog LOG = log4net.LogManager.GetLogger(typeof(OutlookUtils)); - private const uint KEEP_OPEN_READONLY = 0x00000001; private const uint KEEP_OPEN_READWRITE = 0x00000002; - private const uint FORCE_SAVE = 0x00000004; - #region MAPI Interface ID'S - // The Interface ID's are used to retrieve the specific MAPI Interfaces from the IUnknown Object + // The Interface ID's are used to retrieve the specific MAPI Interfaces from the IUnknown Object public const string IID_IMAPISession = "00020300-0000-0000-C000-000000000046"; public const string IID_IMAPIProp = "00020303-0000-0000-C000-000000000046"; public const string IID_IMAPITable = "00020301-0000-0000-C000-000000000046"; @@ -464,12 +461,11 @@ namespace Greenshot.Interop.Office { public const string IID_IMAPIControl = "0002031B-0000-0000-C000-000000000046"; public const string IID_IMAPILogonRemote = "00020346-0000-0000-C000-000000000046"; public const string IID_IMAPIForm = "00020327-0000-0000-C000-000000000046"; - #endregion - [ComVisible(false)] + [ComVisible(false)] [ComImport()] [Guid(IID_IMAPIProp)] - [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] + [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] private interface IMessage : IMAPIProp { [return: MarshalAs(UnmanagedType.I4)] [PreserveSig] @@ -557,7 +553,7 @@ namespace Greenshot.Interop.Office { [ComVisible(false)] [ComImport()] [Guid(IID_IMAPIProp)] - [InterfaceTypeAttribute(ComInterfaceType.InterfaceIsIUnknown)] + [InterfaceType(ComInterfaceType.InterfaceIsIUnknown)] private interface IMAPIProp { [return: MarshalAs(UnmanagedType.I4)] [PreserveSig] @@ -676,15 +672,17 @@ namespace Greenshot.Interop.Office { IUnknown = Marshal.GetIUnknownForObject(attachment.MAPIOBJECT); IMAPIProp mapiProp = (IMAPIProp)Marshal.GetTypedObjectForIUnknown(IUnknown, typeof(IMAPIProp)); - // Create structure - propValue = new SPropValue(); - propValue.propTag = (uint)PropTags.PR_ATTACH_CONTENT_ID; - //propValue.propTag = 0x3712001E; - // Create Ansi string - propValue.Value = Marshal.StringToHGlobalUni(contentId); + // Create structure + propValue = new SPropValue + { + propTag = (uint)PropTags.PR_ATTACH_CONTENT_ID, + //propValue.propTag = 0x3712001E; + // Create Ansi string + Value = Marshal.StringToHGlobalUni(contentId) + }; - // Create unmanaged memory for structure - ptrPropValue = Marshal.AllocHGlobal(Marshal.SizeOf(propValue)); + // Create unmanaged memory for structure + ptrPropValue = Marshal.AllocHGlobal(Marshal.SizeOf(propValue)); // Copy structure to unmanged memory Marshal.StructureToPtr(propValue, ptrPropValue, false); mapiProp.SetProps(1, ptrPropValue, IntPtr.Zero); @@ -752,14 +750,16 @@ namespace Greenshot.Interop.Office { return false; } - // Create structure - propValue = new SPropValue(); - propValue.propTag = (uint)proptag; - // Create Ansi string - propValue.Value = Marshal.StringToHGlobalUni(propertyValue); + // Create structure + propValue = new SPropValue + { + propTag = (uint)proptag, + // Create Ansi string + Value = Marshal.StringToHGlobalUni(propertyValue) + }; - // Create unmanaged memory for structure - ptrPropValue = Marshal.AllocHGlobal(Marshal.SizeOf(propValue)); + // Create unmanaged memory for structure + ptrPropValue = Marshal.AllocHGlobal(Marshal.SizeOf(propValue)); // Copy structure to unmanged memory Marshal.StructureToPtr(propValue, ptrPropValue, false); @@ -784,8 +784,7 @@ namespace Greenshot.Interop.Office { } } - #region MAPI DLL Imports - [DllImport("MAPI32.DLL", EntryPoint = "HrSetOneProp@8")] + [DllImport("MAPI32.DLL", EntryPoint = "HrSetOneProp@8")] private static extern void HrSetOneProp(IntPtr pmp, IntPtr pprop); [DllImport("MAPI32.DLL")] @@ -793,6 +792,5 @@ namespace Greenshot.Interop.Office { [DllImport("MAPI32.DLL")] private static extern void MAPIUninitialize(); - #endregion - } + } } \ No newline at end of file diff --git a/GreenshotOfficePlugin/OfficeInterop/PowerpointInterop.cs b/GreenshotOfficePlugin/OfficeInterop/PowerpointInterop.cs index be2aaa86a..1da0a8bbd 100644 --- a/GreenshotOfficePlugin/OfficeInterop/PowerpointInterop.cs +++ b/GreenshotOfficePlugin/OfficeInterop/PowerpointInterop.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/OfficeInterop/WordInterop.cs b/GreenshotOfficePlugin/OfficeInterop/WordInterop.cs index 2a2f63420..337862dfe 100644 --- a/GreenshotOfficePlugin/OfficeInterop/WordInterop.cs +++ b/GreenshotOfficePlugin/OfficeInterop/WordInterop.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/OfficePlugin.cs b/GreenshotOfficePlugin/OfficePlugin.cs index 76f661367..da14f7683 100644 --- a/GreenshotOfficePlugin/OfficePlugin.cs +++ b/GreenshotOfficePlugin/OfficePlugin.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotOfficePlugin/Properties/AssemblyInfo.cs b/GreenshotOfficePlugin/Properties/AssemblyInfo.cs index 034162b0e..4ad912b84 100644 --- a/GreenshotOfficePlugin/Properties/AssemblyInfo.cs +++ b/GreenshotOfficePlugin/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -26,22 +26,10 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("GreenshotOfficePlugin")] [assembly: AssemblyDescription("A plugin to export images to Office applications")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("Office Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotOfficePlugin.OfficePlugin", true)] +[assembly: Plugin("GreenshotOfficePlugin.OfficePlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] \ No newline at end of file diff --git a/GreenshotPhotobucketPlugin/Forms/PhotobucketForm.cs b/GreenshotPhotobucketPlugin/Forms/PhotobucketForm.cs index 49b237289..21c90f7d1 100644 --- a/GreenshotPhotobucketPlugin/Forms/PhotobucketForm.cs +++ b/GreenshotPhotobucketPlugin/Forms/PhotobucketForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPhotobucketPlugin/Forms/SettingsForm.Designer.cs b/GreenshotPhotobucketPlugin/Forms/SettingsForm.Designer.cs index 93cab0688..4cd900c68 100644 --- a/GreenshotPhotobucketPlugin/Forms/SettingsForm.Designer.cs +++ b/GreenshotPhotobucketPlugin/Forms/SettingsForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPhotobucketPlugin/Forms/SettingsForm.cs b/GreenshotPhotobucketPlugin/Forms/SettingsForm.cs index 4fc578463..056d696a9 100644 --- a/GreenshotPhotobucketPlugin/Forms/SettingsForm.cs +++ b/GreenshotPhotobucketPlugin/Forms/SettingsForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPhotobucketPlugin/GreenshotPhotobucketPlugin.csproj b/GreenshotPhotobucketPlugin/GreenshotPhotobucketPlugin.csproj index 47b3c614e..f8ba2574c 100644 --- a/GreenshotPhotobucketPlugin/GreenshotPhotobucketPlugin.csproj +++ b/GreenshotPhotobucketPlugin/GreenshotPhotobucketPlugin.csproj @@ -1,111 +1,18 @@ - - - + + - {9C0ECC4C-7807-4111-916A-4F57BB29788A} - Library GreenshotPhotobucketPlugin GreenshotPhotobucketPlugin - v4.7.1 - Properties - False - False - 4 - false - OnBuildSuccess - - - - - - 3.5 + net471 - - false - - - false - - - false - - - false - - - true - - + - - - - + + PreserveNewest + + - - Form - - - Form - - - SettingsForm.cs - - - - - - - - - - - Never - - - Never - - - Never - - - Never - - - - PhotobucketPlugin.cs - Designer - + - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - - - 2.0.8 - - - - -if exist "$(ProjectDir)PhotobucketCredentials.private.cs" ( - rename "$(ProjectDir)PhotobucketCredentials.cs" "PhotobucketCredentials.orig.cs" - rename "$(ProjectDir)PhotobucketCredentials.private.cs" "PhotobucketCredentials.cs" -) - - -if exist "$(ProjectDir)PhotobucketCredentials.orig.cs" ( - rename "$(ProjectDir)PhotobucketCredentials.cs" "PhotobucketCredentials.private.cs" - rename "$(ProjectDir)PhotobucketCredentials.orig.cs" "PhotobucketCredentials.cs" -) -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(TargetFileName)" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)\Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - - - \ No newline at end of file + diff --git a/GreenshotPhotobucketPlugin/LanguageKeys.cs b/GreenshotPhotobucketPlugin/LanguageKeys.cs index d8c6e1a3d..5c077c4ad 100644 --- a/GreenshotPhotobucketPlugin/LanguageKeys.cs +++ b/GreenshotPhotobucketPlugin/LanguageKeys.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPhotobucketPlugin/PhotobucketConfiguration.cs b/GreenshotPhotobucketPlugin/PhotobucketConfiguration.cs index 4eed1bcdd..9b3f8aa4e 100644 --- a/GreenshotPhotobucketPlugin/PhotobucketConfiguration.cs +++ b/GreenshotPhotobucketPlugin/PhotobucketConfiguration.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPhotobucketPlugin/PhotobucketCredentials.cs b/GreenshotPhotobucketPlugin/PhotobucketCredentials.cs index 2b4cee804..e37c5533d 100644 --- a/GreenshotPhotobucketPlugin/PhotobucketCredentials.cs +++ b/GreenshotPhotobucketPlugin/PhotobucketCredentials.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPhotobucketPlugin/PhotobucketDestination.cs b/GreenshotPhotobucketPlugin/PhotobucketDestination.cs index d2b484342..9f897db30 100644 --- a/GreenshotPhotobucketPlugin/PhotobucketDestination.cs +++ b/GreenshotPhotobucketPlugin/PhotobucketDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -89,8 +89,7 @@ namespace GreenshotPhotobucketPlugin { /// public override ExportInformation ExportCapture(bool manuallyInitiated, ISurface surface, ICaptureDetails captureDetails) { ExportInformation exportInformation = new ExportInformation(Designation, Description); - string uploadUrl; - bool uploaded = _plugin.Upload(captureDetails, surface, _albumPath, out uploadUrl); + bool uploaded = _plugin.Upload(captureDetails, surface, _albumPath, out var uploadUrl); if (uploaded) { exportInformation.ExportMade = true; exportInformation.Uri = uploadUrl; diff --git a/GreenshotPhotobucketPlugin/PhotobucketInfo.cs b/GreenshotPhotobucketPlugin/PhotobucketInfo.cs index cd66992fb..cf0fd0c54 100644 --- a/GreenshotPhotobucketPlugin/PhotobucketInfo.cs +++ b/GreenshotPhotobucketPlugin/PhotobucketInfo.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPhotobucketPlugin/PhotobucketPlugin.cs b/GreenshotPhotobucketPlugin/PhotobucketPlugin.cs index 6d7402319..ee7483ef4 100644 --- a/GreenshotPhotobucketPlugin/PhotobucketPlugin.cs +++ b/GreenshotPhotobucketPlugin/PhotobucketPlugin.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPhotobucketPlugin/PhotobucketPlugin.resx b/GreenshotPhotobucketPlugin/PhotobucketPlugin.resx index 1727301b6..19cb5cfbd 100644 --- a/GreenshotPhotobucketPlugin/PhotobucketPlugin.resx +++ b/GreenshotPhotobucketPlugin/PhotobucketPlugin.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 diff --git a/GreenshotPhotobucketPlugin/PhotobucketUtils.cs b/GreenshotPhotobucketPlugin/PhotobucketUtils.cs index 6738c0086..02bb82366 100644 --- a/GreenshotPhotobucketPlugin/PhotobucketUtils.cs +++ b/GreenshotPhotobucketPlugin/PhotobucketUtils.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -66,9 +66,11 @@ namespace GreenshotPhotobucketPlugin { if (filename != null) { signedParameters.Add("filename", filename); } - IDictionary unsignedParameters = new Dictionary(); - // Add image - unsignedParameters.Add("uploadfile", new SurfaceContainer(surfaceToUpload, outputSettings, filename)); + IDictionary unsignedParameters = new Dictionary + { + // Add image + { "uploadfile", new SurfaceContainer(surfaceToUpload, outputSettings, filename) } + }; try { string apiUrl = "http://api.photobucket.com/album/!/upload"; responseString = oAuth.MakeOAuthRequest(HTTPMethod.POST, apiUrl, apiUrl.Replace("api.photobucket.com", PhotobucketConfig.SubDomain), signedParameters, unsignedParameters, null); diff --git a/GreenshotPhotobucketPlugin/Properties/AssemblyInfo.cs b/GreenshotPhotobucketPlugin/Properties/AssemblyInfo.cs index 6bfbb5a0d..9f85c8546 100644 --- a/GreenshotPhotobucketPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotPhotobucketPlugin/Properties/AssemblyInfo.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -27,22 +27,11 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Greenshot-Photobucket-Plugin")] [assembly: AssemblyDescription("A plugin to upload images to Photobucket")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("Photobucket Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotPhotobucketPlugin.PhotobucketPlugin", true)] +[assembly: Plugin("GreenshotPhotobucketPlugin.PhotobucketPlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotPicasaPlugin/GreenshotPicasaPlugin.csproj b/GreenshotPicasaPlugin/GreenshotPicasaPlugin.csproj index 7d5692d66..ac827cfec 100644 --- a/GreenshotPicasaPlugin/GreenshotPicasaPlugin.csproj +++ b/GreenshotPicasaPlugin/GreenshotPicasaPlugin.csproj @@ -1,107 +1,21 @@ - - - + + - {1893A2E4-A78A-4713-A8E7-E70058DABEE0} - Library GreenshotPicasaPlugin GreenshotPicasaPlugin - v4.7.1 - Properties - False - False - 4 - false - Always - - - 3.5 - - - - - false - - - false - - - false - - - false - - - true - - - - - - - - - - - - Form - - - Form - - - SettingsForm.cs - - - - - - - - - PicasaPlugin.cs - Designer - - - - - - - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - - - - - - - - - - - - 2.0.8 - - - - if exist "$(ProjectDir)PicasaCredentials.orig.cs" ( - rename "$(ProjectDir)PicasaCredentials.cs" "PicasaCredentials.private.cs" - rename "$(ProjectDir)PicasaCredentials.orig.cs" "PicasaCredentials.cs" -) -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).dll" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)" -copy "$(ProjectDir)Languages\*.xml" "$(SolutionDir)Greenshot\bin\$(Configuration)\Languages\Plugins\$(ProjectName)\" - - -if exist "$(ProjectDir)PicasaCredentials.private.cs" ( - rename "$(ProjectDir)PicasaCredentials.cs" "PicasaCredentials.orig.cs" - rename "$(ProjectDir)PicasaCredentials.private.cs" "PicasaCredentials.cs" -) - + + + PreserveNewest + + + + + + + + + + \ No newline at end of file diff --git a/GreenshotPicasaPlugin/PicasaDestination.cs b/GreenshotPicasaPlugin/PicasaDestination.cs index cb2206f13..2857ad772 100644 --- a/GreenshotPicasaPlugin/PicasaDestination.cs +++ b/GreenshotPicasaPlugin/PicasaDestination.cs @@ -42,8 +42,7 @@ namespace GreenshotPicasaPlugin { public override ExportInformation ExportCapture(bool manuallyInitiated, ISurface surface, ICaptureDetails captureDetails) { ExportInformation exportInformation = new ExportInformation(Designation, Description); - string uploadUrl; - bool uploaded = _plugin.Upload(captureDetails, surface, out uploadUrl); + bool uploaded = _plugin.Upload(captureDetails, surface, out var uploadUrl); if (uploaded) { exportInformation.ExportMade = true; exportInformation.Uri = uploadUrl; diff --git a/GreenshotPicasaPlugin/PicasaPlugin.resx b/GreenshotPicasaPlugin/PicasaPlugin.resx index 6fa560f9e..de5045226 100644 --- a/GreenshotPicasaPlugin/PicasaPlugin.resx +++ b/GreenshotPicasaPlugin/PicasaPlugin.resx @@ -112,13 +112,13 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + - picasa.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + picasa.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/GreenshotPicasaPlugin/Properties/AssemblyInfo.cs b/GreenshotPicasaPlugin/Properties/AssemblyInfo.cs index 350c36fe0..94c85fd40 100644 --- a/GreenshotPicasaPlugin/Properties/AssemblyInfo.cs +++ b/GreenshotPicasaPlugin/Properties/AssemblyInfo.cs @@ -26,22 +26,10 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("Greenshot-Picasa-Plugin")] [assembly: AssemblyDescription("A plugin to upload images to Picasa")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot & F. Noel")] -[assembly: AssemblyProduct("Picasa-Web Plugin")] -[assembly: AssemblyCopyright("Copyright (C) 2012")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable -[assembly: PluginAttribute("GreenshotPicasaPlugin.PicasaPlugin", true)] +[assembly: Plugin("GreenshotPicasaPlugin.PicasaPlugin", true)] // This sets the default COM visibility of types in the assembly to invisible. // If you need to expose a type to COM, use [ComVisible(true)] on that type. [assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotPlugin/Controls/AnimatingForm.cs b/GreenshotPlugin/Controls/AnimatingForm.cs index db6fc8c59..b23389cf3 100644 --- a/GreenshotPlugin/Controls/AnimatingForm.cs +++ b/GreenshotPlugin/Controls/AnimatingForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -47,12 +47,12 @@ namespace GreenshotPlugin.Controls { /// protected int VRefresh { get { - if (_vRefresh == 0) { - // get te hDC of the desktop to get the VREFRESH - using (SafeWindowDcHandle desktopHandle = SafeWindowDcHandle.FromDesktop()) { - _vRefresh = GDI32.GetDeviceCaps(desktopHandle, DeviceCaps.VREFRESH); - } - } + if (_vRefresh == 0) + { + // get te hDC of the desktop to get the VREFRESH + using SafeWindowDcHandle desktopHandle = SafeWindowDcHandle.FromDesktop(); + _vRefresh = GDI32.GetDeviceCaps(desktopHandle, DeviceCaps.VREFRESH); + } // A vertical refresh rate value of 0 or 1 represents the display hardware's default refresh rate. // As there is currently no know way to get the default, we guess it. if (_vRefresh <= 1) { diff --git a/GreenshotPlugin/Controls/BackgroundForm.Designer.cs b/GreenshotPlugin/Controls/BackgroundForm.Designer.cs index 382b469ac..bef6439b5 100644 --- a/GreenshotPlugin/Controls/BackgroundForm.Designer.cs +++ b/GreenshotPlugin/Controls/BackgroundForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/BackgroundForm.cs b/GreenshotPlugin/Controls/BackgroundForm.cs index 59fe024e3..a3152ac4a 100644 --- a/GreenshotPlugin/Controls/BackgroundForm.cs +++ b/GreenshotPlugin/Controls/BackgroundForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/ExtendedWebBrowser.cs b/GreenshotPlugin/Controls/ExtendedWebBrowser.cs index 6a0d52418..d2f1ed61a 100644 --- a/GreenshotPlugin/Controls/ExtendedWebBrowser.cs +++ b/GreenshotPlugin/Controls/ExtendedWebBrowser.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -26,19 +26,16 @@ namespace GreenshotPlugin.Controls { public class ExtendedWebBrowser : WebBrowser { protected class ExtendedWebBrowserSite : WebBrowserSite, IOleCommandTarget { private const int OLECMDID_SHOWSCRIPTERROR = 40; - private const int OLECMDID_SHOWMESSAGE = 41; private static readonly Guid CGID_DocHostCommandHandler = new Guid("F38BC242-B950-11D1-8918-00C04FC2C836"); private const int S_OK = 0; private const int OLECMDERR_E_NOTSUPPORTED = (-2147221248); - private const int OLECMDERR_E_UNKNOWNGROUP = (-2147221244); public ExtendedWebBrowserSite(WebBrowser wb) : base(wb) { } - #region IOleCommandTarget Members - public int QueryStatus(Guid pguidCmdGroup, int cCmds, IntPtr prgCmds, IntPtr pCmdText) { + public int QueryStatus(Guid pguidCmdGroup, int cCmds, IntPtr prgCmds, IntPtr pCmdText) { return OLECMDERR_E_NOTSUPPORTED; } @@ -52,9 +49,7 @@ namespace GreenshotPlugin.Controls { return OLECMDERR_E_NOTSUPPORTED; } - - #endregion - } + } protected override WebBrowserSiteBase CreateWebBrowserSiteBase() { return new ExtendedWebBrowserSite(this); diff --git a/GreenshotPlugin/Controls/FormWithoutActivation.cs b/GreenshotPlugin/Controls/FormWithoutActivation.cs index 86e1eac91..3fd3f8e30 100644 --- a/GreenshotPlugin/Controls/FormWithoutActivation.cs +++ b/GreenshotPlugin/Controls/FormWithoutActivation.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotButton.cs b/GreenshotPlugin/Controls/GreenshotButton.cs index 223bd68c4..2cbee2916 100644 --- a/GreenshotPlugin/Controls/GreenshotButton.cs +++ b/GreenshotPlugin/Controls/GreenshotButton.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotCheckBox.cs b/GreenshotPlugin/Controls/GreenshotCheckBox.cs index 58f61787c..53300d5d7 100644 --- a/GreenshotPlugin/Controls/GreenshotCheckBox.cs +++ b/GreenshotPlugin/Controls/GreenshotCheckBox.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotColumnSorter.cs b/GreenshotPlugin/Controls/GreenshotColumnSorter.cs index 4ebf2f521..379d53883 100644 --- a/GreenshotPlugin/Controls/GreenshotColumnSorter.cs +++ b/GreenshotPlugin/Controls/GreenshotColumnSorter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotComboBox.cs b/GreenshotPlugin/Controls/GreenshotComboBox.cs index 262309410..e5245b5a2 100644 --- a/GreenshotPlugin/Controls/GreenshotComboBox.cs +++ b/GreenshotPlugin/Controls/GreenshotComboBox.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotForm.cs b/GreenshotPlugin/Controls/GreenshotForm.cs index e30f7e674..50480f85c 100644 --- a/GreenshotPlugin/Controls/GreenshotForm.cs +++ b/GreenshotPlugin/Controls/GreenshotForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -96,33 +96,32 @@ namespace GreenshotPlugin.Controls { /// Code to initialize the language etc during design time /// protected void InitializeForDesigner() { - if (DesignMode) { - _designTimeControls = new Dictionary(); - _designTimeToolStripItems = new Dictionary(); - try { - ITypeResolutionService typeResService = GetService(typeof(ITypeResolutionService)) as ITypeResolutionService; + if (!DesignMode) return; + _designTimeControls = new Dictionary(); + _designTimeToolStripItems = new Dictionary(); + try { + ITypeResolutionService typeResService = GetService(typeof(ITypeResolutionService)) as ITypeResolutionService; - // Add a hard-path if you are using SharpDevelop - // Language.AddLanguageFilePath(@"C:\Greenshot\Greenshot\Languages"); + // Add a hard-path if you are using SharpDevelop + // Language.AddLanguageFilePath(@"C:\Greenshot\Greenshot\Languages"); - // this "type" - Assembly currentAssembly = GetType().Assembly; - if (typeResService != null) - { - string assemblyPath = typeResService.GetPathOfAssembly(currentAssembly.GetName()); - string assemblyDirectory = Path.GetDirectoryName(assemblyPath); - if (assemblyDirectory != null && !Language.AddLanguageFilePath(Path.Combine(assemblyDirectory, @"..\..\Greenshot\Languages\"))) { - Language.AddLanguageFilePath(Path.Combine(assemblyDirectory, @"..\..\..\Greenshot\Languages\")); - } - if (assemblyDirectory != null && !Language.AddLanguageFilePath(Path.Combine(assemblyDirectory, @"..\..\Languages\"))) { - Language.AddLanguageFilePath(Path.Combine(assemblyDirectory, @"..\..\..\Languages\")); - } - } - } catch (Exception ex) { - MessageBox.Show(ex.Message); - } - } - } + // this "type" + Assembly currentAssembly = GetType().Assembly; + if (typeResService != null) + { + string assemblyPath = typeResService.GetPathOfAssembly(currentAssembly.GetName()); + string assemblyDirectory = Path.GetDirectoryName(assemblyPath); + if (assemblyDirectory != null && !Language.AddLanguageFilePath(Path.Combine(assemblyDirectory, @"..\..\Greenshot\Languages\"))) { + Language.AddLanguageFilePath(Path.Combine(assemblyDirectory, @"..\..\..\Greenshot\Languages\")); + } + if (assemblyDirectory != null && !Language.AddLanguageFilePath(Path.Combine(assemblyDirectory, @"..\..\Languages\"))) { + Language.AddLanguageFilePath(Path.Combine(assemblyDirectory, @"..\..\..\Languages\")); + } + } + } catch (Exception ex) { + MessageBox.Show(ex.Message); + } + } /// /// This override is only for the design-time of the form @@ -234,50 +233,44 @@ namespace GreenshotPlugin.Controls { /// /// /// - private void OnComponentChanged(object sender, ComponentChangedEventArgs ce) { - if (((IComponent) ce.Component)?.Site != null && ce.Member != null) { - if ("LanguageKey".Equals(ce.Member.Name)) { - Control control = ce.Component as Control; - if (control != null) { - LOG.InfoFormat("Changing LanguageKey for {0} to {1}", control.Name, ce.NewValue); - ApplyLanguage(control, (string)ce.NewValue); - } else { - ToolStripItem item = ce.Component as ToolStripItem; - if (item != null) { - LOG.InfoFormat("Changing LanguageKey for {0} to {1}", item.Name, ce.NewValue); - ApplyLanguage(item, (string)ce.NewValue); - } else { - LOG.InfoFormat("Not possible to changing LanguageKey for {0} to {1}", ce.Component.GetType(), ce.NewValue); - } - } - } - } - } + private void OnComponentChanged(object sender, ComponentChangedEventArgs ce) + { + if (((IComponent) ce.Component)?.Site == null || ce.Member == null) return; + if (!"LanguageKey".Equals(ce.Member.Name)) return; + if (ce.Component is Control control) { + LOG.InfoFormat("Changing LanguageKey for {0} to {1}", control.Name, ce.NewValue); + ApplyLanguage(control, (string)ce.NewValue); + } else { + if (ce.Component is ToolStripItem item) { + LOG.InfoFormat("Changing LanguageKey for {0} to {1}", item.Name, ce.NewValue); + ApplyLanguage(item, (string)ce.NewValue); + } else { + LOG.InfoFormat("Not possible to changing LanguageKey for {0} to {1}", ce.Component.GetType(), ce.NewValue); + } + } + } private void OnComponentAdded(object sender, ComponentEventArgs ce) { - if (ce.Component?.Site != null) { - Control control = ce.Component as Control; - if (control != null) { - if (!_designTimeControls.ContainsKey(control.Name)) { - _designTimeControls.Add(control.Name, control); - } else { - _designTimeControls[control.Name] = control; - } - } - else - { - var stripItem = ce.Component as ToolStripItem; - if (stripItem != null) { - ToolStripItem item = stripItem; - if (!_designTimeControls.ContainsKey(item.Name)) { - _designTimeToolStripItems.Add(item.Name, item); - } else { - _designTimeToolStripItems[item.Name] = item; - } - } - } - } - } + if (ce.Component?.Site == null) return; + if (ce.Component is Control control) { + if (!_designTimeControls.ContainsKey(control.Name)) { + _designTimeControls.Add(control.Name, control); + } else { + _designTimeControls[control.Name] = control; + } + } + else + { + if (ce.Component is ToolStripItem stripItem) { + ToolStripItem item = stripItem; + if (!_designTimeControls.ContainsKey(item.Name)) { + _designTimeToolStripItems.Add(item.Name, item); + } else { + _designTimeToolStripItems[item.Name] = item; + } + } + } + } // Clean up any resources being used. protected override void Dispose(bool disposing) { @@ -308,18 +301,15 @@ namespace GreenshotPlugin.Controls { } protected void ApplyLanguage(ToolStripItem applyTo) { - IGreenshotLanguageBindable languageBindable = applyTo as IGreenshotLanguageBindable; - if (languageBindable != null) { + if (applyTo is IGreenshotLanguageBindable languageBindable) { ApplyLanguage(applyTo, languageBindable.LanguageKey); } } protected void ApplyLanguage(Control applyTo) { - IGreenshotLanguageBindable languageBindable = applyTo as IGreenshotLanguageBindable; - if (languageBindable == null) { + if (!(applyTo is IGreenshotLanguageBindable languageBindable)) { // check if it's a menu! - ToolStrip toolStrip = applyTo as ToolStrip; - if (toolStrip == null) + if (!(applyTo is ToolStrip toolStrip)) { return; } @@ -333,9 +323,7 @@ namespace GreenshotPlugin.Controls { ApplyLanguage(applyTo, languageBindable.LanguageKey); // Repopulate the combox boxes - IGreenshotConfigBindable configBindable = applyTo as IGreenshotConfigBindable; - GreenshotComboBox comboxBox = applyTo as GreenshotComboBox; - if (configBindable != null && comboxBox != null) { + if (applyTo is IGreenshotConfigBindable configBindable && applyTo is GreenshotComboBox comboxBox) { if (!string.IsNullOrEmpty(configBindable.SectionName) && !string.IsNullOrEmpty(configBindable.PropertyName)) { IniSection section = IniConfig.GetIniSection(configBindable.SectionName); if (section != null) { @@ -354,8 +342,7 @@ namespace GreenshotPlugin.Controls { /// /// private static FieldInfo[] GetCachedFields(Type typeToGetFieldsFor) { - FieldInfo[] fields; - if (!reflectionCache.TryGetValue(typeToGetFieldsFor, out fields)) { + if (!reflectionCache.TryGetValue(typeToGetFieldsFor, out var fields)) { fields = typeToGetFieldsFor.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance); reflectionCache.Add(typeToGetFieldsFor, fields); } @@ -369,8 +356,7 @@ namespace GreenshotPlugin.Controls { SuspendLayout(); try { // Set title of the form - string langString; - if (!string.IsNullOrEmpty(LanguageKey) && Language.TryGetString(LanguageKey, out langString)) { + if (!string.IsNullOrEmpty(LanguageKey) && Language.TryGetString(LanguageKey, out var langString)) { Text = langString; } @@ -381,8 +367,8 @@ namespace GreenshotPlugin.Controls { LOG.DebugFormat("No value: {0}", field.Name); continue; } - Control applyToControl = controlObject as Control; - if (applyToControl == null) { + + if (!(controlObject is Control applyToControl)) { ToolStripItem applyToItem = controlObject as ToolStripItem; if (applyToItem == null) { LOG.DebugFormat("No Control or ToolStripItem: {0}", field.Name); @@ -440,29 +426,25 @@ namespace GreenshotPlugin.Controls { if (!string.IsNullOrEmpty(configBindable?.SectionName) && !string.IsNullOrEmpty(configBindable.PropertyName)) { IniSection section = IniConfig.GetIniSection(configBindable.SectionName); if (section != null) { - IniValue iniValue; - if (!section.Values.TryGetValue(configBindable.PropertyName, out iniValue)) { + if (!section.Values.TryGetValue(configBindable.PropertyName, out var iniValue)) { LOG.DebugFormat("Wrong property '{0}' configured for field '{1}'",configBindable.PropertyName,field.Name); continue; } - CheckBox checkBox = controlObject as CheckBox; - if (checkBox != null) { + if (controlObject is CheckBox checkBox) { checkBox.Checked = (bool)iniValue.Value; checkBox.Enabled = !iniValue.IsFixed; continue; } - RadioButton radíoButton = controlObject as RadioButton; - if (radíoButton != null) { + + if (controlObject is RadioButton radíoButton) { radíoButton.Checked = (bool)iniValue.Value; radíoButton.Enabled = !iniValue.IsFixed; continue; } - TextBox textBox = controlObject as TextBox; - if (textBox != null) { - HotkeyControl hotkeyControl = controlObject as HotkeyControl; - if (hotkeyControl != null) { + if (controlObject is TextBox textBox) { + if (controlObject is HotkeyControl hotkeyControl) { string hotkeyValue = (string)iniValue.Value; if (!string.IsNullOrEmpty(hotkeyValue)) { hotkeyControl.SetHotkey(hotkeyValue); @@ -473,10 +455,9 @@ namespace GreenshotPlugin.Controls { textBox.Text = iniValue.ToString(); textBox.Enabled = !iniValue.IsFixed; continue; - } + } - GreenshotComboBox comboxBox = controlObject as GreenshotComboBox; - if (comboxBox != null) { + if (controlObject is GreenshotComboBox comboxBox) { comboxBox.Populate(iniValue.ValueType); comboxBox.SetValue((Enum)iniValue.Value); comboxBox.Enabled = !iniValue.IsFixed; @@ -502,26 +483,24 @@ namespace GreenshotPlugin.Controls { if (!string.IsNullOrEmpty(configBindable?.SectionName) && !string.IsNullOrEmpty(configBindable.PropertyName)) { IniSection section = IniConfig.GetIniSection(configBindable.SectionName); if (section != null) { - IniValue iniValue; - if (!section.Values.TryGetValue(configBindable.PropertyName, out iniValue)) { + if (!section.Values.TryGetValue(configBindable.PropertyName, out var iniValue)) { continue; } - CheckBox checkBox = controlObject as CheckBox; - if (checkBox != null) { + + if (controlObject is CheckBox checkBox) { iniValue.Value = checkBox.Checked; iniDirty = true; continue; } - RadioButton radioButton = controlObject as RadioButton; - if (radioButton != null) { + + if (controlObject is RadioButton radioButton) { iniValue.Value = radioButton.Checked; iniDirty = true; continue; } - TextBox textBox = controlObject as TextBox; - if (textBox != null) { - HotkeyControl hotkeyControl = controlObject as HotkeyControl; - if (hotkeyControl != null) { + + if (controlObject is TextBox textBox) { + if (controlObject is HotkeyControl hotkeyControl) { iniValue.Value = hotkeyControl.ToString(); iniDirty = true; continue; @@ -530,8 +509,8 @@ namespace GreenshotPlugin.Controls { iniDirty = true; continue; } - GreenshotComboBox comboxBox = controlObject as GreenshotComboBox; - if (comboxBox != null) { + + if (controlObject is GreenshotComboBox comboxBox) { iniValue.Value = comboxBox.GetSelectedEnum(); iniDirty = true; } diff --git a/GreenshotPlugin/Controls/GreenshotGroupBox.cs b/GreenshotPlugin/Controls/GreenshotGroupBox.cs index 33bb86073..b61f64436 100644 --- a/GreenshotPlugin/Controls/GreenshotGroupBox.cs +++ b/GreenshotPlugin/Controls/GreenshotGroupBox.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotLabel.cs b/GreenshotPlugin/Controls/GreenshotLabel.cs index 94620faf3..fa10711e0 100644 --- a/GreenshotPlugin/Controls/GreenshotLabel.cs +++ b/GreenshotPlugin/Controls/GreenshotLabel.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotRadioButton.cs b/GreenshotPlugin/Controls/GreenshotRadioButton.cs index 010378da2..7ef3d41d7 100644 --- a/GreenshotPlugin/Controls/GreenshotRadioButton.cs +++ b/GreenshotPlugin/Controls/GreenshotRadioButton.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotTabPage.cs b/GreenshotPlugin/Controls/GreenshotTabPage.cs index 09081cc0c..189c9173a 100644 --- a/GreenshotPlugin/Controls/GreenshotTabPage.cs +++ b/GreenshotPlugin/Controls/GreenshotTabPage.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotTextBox.cs b/GreenshotPlugin/Controls/GreenshotTextBox.cs index 85e52492d..e370c0b35 100644 --- a/GreenshotPlugin/Controls/GreenshotTextBox.cs +++ b/GreenshotPlugin/Controls/GreenshotTextBox.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotToolDropDownButton.cs b/GreenshotPlugin/Controls/GreenshotToolDropDownButton.cs index d333e2a65..585334a5f 100644 --- a/GreenshotPlugin/Controls/GreenshotToolDropDownButton.cs +++ b/GreenshotPlugin/Controls/GreenshotToolDropDownButton.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotToolStripButton.cs b/GreenshotPlugin/Controls/GreenshotToolStripButton.cs index 696f7eb4e..c5ffff3b0 100644 --- a/GreenshotPlugin/Controls/GreenshotToolStripButton.cs +++ b/GreenshotPlugin/Controls/GreenshotToolStripButton.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotToolStripLabel.cs b/GreenshotPlugin/Controls/GreenshotToolStripLabel.cs index 32c0e6238..2c7051c21 100644 --- a/GreenshotPlugin/Controls/GreenshotToolStripLabel.cs +++ b/GreenshotPlugin/Controls/GreenshotToolStripLabel.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/GreenshotToolStripMenuItem.cs b/GreenshotPlugin/Controls/GreenshotToolStripMenuItem.cs index c780a4ef3..1adca374d 100644 --- a/GreenshotPlugin/Controls/GreenshotToolStripMenuItem.cs +++ b/GreenshotPlugin/Controls/GreenshotToolStripMenuItem.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/HotkeyControl.cs b/GreenshotPlugin/Controls/HotkeyControl.cs index 590f6090a..69eb825e3 100644 --- a/GreenshotPlugin/Controls/HotkeyControl.cs +++ b/GreenshotPlugin/Controls/HotkeyControl.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -506,8 +506,8 @@ namespace GreenshotPlugin.Controls { { return true; } - HotKeyHandler handler; - if (KeyHandlers.TryGetValue((int)m.WParam, out handler)) + + if (KeyHandlers.TryGetValue((int)m.WParam, out var handler)) { handler(); } diff --git a/GreenshotPlugin/Controls/IGreenshotConfigBindable.cs b/GreenshotPlugin/Controls/IGreenshotConfigBindable.cs index 237ebd8d9..7211ed402 100644 --- a/GreenshotPlugin/Controls/IGreenshotConfigBindable.cs +++ b/GreenshotPlugin/Controls/IGreenshotConfigBindable.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/IGreenshotLanguageBindable.cs b/GreenshotPlugin/Controls/IGreenshotLanguageBindable.cs index 134d381a7..7b5775a22 100644 --- a/GreenshotPlugin/Controls/IGreenshotLanguageBindable.cs +++ b/GreenshotPlugin/Controls/IGreenshotLanguageBindable.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/OAuthLoginForm.Designer.cs b/GreenshotPlugin/Controls/OAuthLoginForm.Designer.cs index 9e5596e37..572829a76 100644 --- a/GreenshotPlugin/Controls/OAuthLoginForm.Designer.cs +++ b/GreenshotPlugin/Controls/OAuthLoginForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/OAuthLoginForm.cs b/GreenshotPlugin/Controls/OAuthLoginForm.cs index a3c5ffea2..2c788893c 100644 --- a/GreenshotPlugin/Controls/OAuthLoginForm.cs +++ b/GreenshotPlugin/Controls/OAuthLoginForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/PleaseWaitForm.Designer.cs b/GreenshotPlugin/Controls/PleaseWaitForm.Designer.cs index cb8a3a705..d287b3dde 100644 --- a/GreenshotPlugin/Controls/PleaseWaitForm.Designer.cs +++ b/GreenshotPlugin/Controls/PleaseWaitForm.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/PleaseWaitForm.cs b/GreenshotPlugin/Controls/PleaseWaitForm.cs index 3556af50b..430520267 100644 --- a/GreenshotPlugin/Controls/PleaseWaitForm.cs +++ b/GreenshotPlugin/Controls/PleaseWaitForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -47,7 +47,7 @@ namespace GreenshotPlugin.Controls { protected override CreateParams CreateParams { get { CreateParams createParams = base.CreateParams; - createParams.ClassStyle = createParams.ClassStyle | CP_NOCLOSE_BUTTON ; + createParams.ClassStyle |= CP_NOCLOSE_BUTTON ; return createParams; } } diff --git a/GreenshotPlugin/Controls/QualityDialog.Designer.cs b/GreenshotPlugin/Controls/QualityDialog.Designer.cs index f754b9508..cf10c3a2e 100644 --- a/GreenshotPlugin/Controls/QualityDialog.Designer.cs +++ b/GreenshotPlugin/Controls/QualityDialog.Designer.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/QualityDialog.cs b/GreenshotPlugin/Controls/QualityDialog.cs index 43029ed62..d60e8fc00 100644 --- a/GreenshotPlugin/Controls/QualityDialog.cs +++ b/GreenshotPlugin/Controls/QualityDialog.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/SaveImageFileDialog.cs b/GreenshotPlugin/Controls/SaveImageFileDialog.cs index c077b4093..40476b550 100644 --- a/GreenshotPlugin/Controls/SaveImageFileDialog.cs +++ b/GreenshotPlugin/Controls/SaveImageFileDialog.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Controls/ThumbnailForm.cs b/GreenshotPlugin/Controls/ThumbnailForm.cs index c0ca8435b..56a3207eb 100644 --- a/GreenshotPlugin/Controls/ThumbnailForm.cs +++ b/GreenshotPlugin/Controls/ThumbnailForm.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -74,8 +74,7 @@ namespace GreenshotPlugin.Controls { DWM.DwmRegisterThumbnail(Handle, window.Handle, out _thumbnailHandle); if (_thumbnailHandle != IntPtr.Zero) { - SIZE sourceSize; - DWM.DwmQueryThumbnailSourceSize(_thumbnailHandle, out sourceSize); + DWM.DwmQueryThumbnailSourceSize(_thumbnailHandle, out var sourceSize); int thumbnailHeight = 200; int thumbnailWidth = (int)(thumbnailHeight * (sourceSize.Width / (float)sourceSize.Height)); if (parentControl != null && thumbnailWidth > parentControl.Width) { diff --git a/GreenshotPlugin/Core/AbstractDestination.cs b/GreenshotPlugin/Core/AbstractDestination.cs index 8b7ea5c19..c5b01ad3b 100644 --- a/GreenshotPlugin/Core/AbstractDestination.cs +++ b/GreenshotPlugin/Core/AbstractDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -37,12 +37,11 @@ namespace GreenshotPlugin.Core { private static readonly CoreConfiguration CoreConfig = IniConfig.GetIniSection(); public virtual int CompareTo(object obj) { - IDestination other = obj as IDestination; - if (other == null) { + if (!(obj is IDestination other)) { return 1; } if (Priority == other.Priority) { - return String.Compare(Description, other.Description, StringComparison.Ordinal); + return string.Compare(Description, other.Description, StringComparison.Ordinal); } return Priority - other.Priority; } diff --git a/GreenshotPlugin/Core/AbstractProcessor.cs b/GreenshotPlugin/Core/AbstractProcessor.cs index 69b9a9298..02090ba90 100644 --- a/GreenshotPlugin/Core/AbstractProcessor.cs +++ b/GreenshotPlugin/Core/AbstractProcessor.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -29,8 +29,7 @@ namespace GreenshotPlugin.Core { public abstract class AbstractProcessor : IProcessor { public virtual int CompareTo(object obj) { - IProcessor other = obj as IProcessor; - if (other == null) { + if (!(obj is IProcessor other)) { return 1; } if (Priority == other.Priority) { diff --git a/GreenshotPlugin/Core/AccessibleHelper.cs b/GreenshotPlugin/Core/AccessibleHelper.cs index 9b6064f30..f6d5770b3 100644 --- a/GreenshotPlugin/Core/AccessibleHelper.cs +++ b/GreenshotPlugin/Core/AccessibleHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -23,7 +23,6 @@ using System.Collections.Generic; using System.Runtime.InteropServices; using Accessibility; -using log4net; namespace GreenshotPlugin.Core { @@ -33,10 +32,7 @@ namespace GreenshotPlugin.Core { /// Maybe move the basic Accessible functions to WindowDetails!? /// public class Accessible { - private static readonly ILog Log = LogManager.GetLogger(typeof(Accessible)); - - #region Interop - private static int AccessibleObjectFromWindow(IntPtr hWnd, OBJID idObject, ref IAccessible acc) { + private static int AccessibleObjectFromWindow(IntPtr hWnd, OBJID idObject, ref IAccessible acc) { var guid = new Guid("{618736e0-3c3d-11cf-810c-00aa00389b71}"); // IAccessible object obj = null; int num = AccessibleObjectFromWindow(hWnd, (uint)idObject, ref guid, ref obj); @@ -51,9 +47,8 @@ namespace GreenshotPlugin.Core { [DllImport("oleacc.dll", PreserveSig=false)] [return: MarshalAs(UnmanagedType.Interface)] public static extern object ObjectFromLresult(UIntPtr lResult, [MarshalAs(UnmanagedType.LPStruct)] Guid refiid, IntPtr wParam); - #endregion - private enum OBJID : uint { + private enum OBJID : uint { OBJID_WINDOW = 0x00000000, } @@ -62,16 +57,14 @@ namespace GreenshotPlugin.Core { private readonly IAccessible accessible; private Accessible[] Children { get { - int num; - object[] res = GetAccessibleChildren(accessible, out num); + object[] res = GetAccessibleChildren(accessible, out var num); if (res == null) { return new Accessible[0]; } List list = new List(res.Length); foreach (object obj in res) { - IAccessible acc = obj as IAccessible; - if (acc != null) { + if (obj is IAccessible acc) { list.Add(new Accessible(acc)); } } @@ -260,10 +253,7 @@ namespace GreenshotPlugin.Core { } private Accessible(IAccessible acc) { - if (acc == null) { - throw new Exception(); - } - accessible = acc; + accessible = acc ?? throw new Exception(); } private void Activate() { diff --git a/GreenshotPlugin/Core/AnimationHelpers.cs b/GreenshotPlugin/Core/AnimationHelpers.cs index f34fb04ab..cd96b890a 100644 --- a/GreenshotPlugin/Core/AnimationHelpers.cs +++ b/GreenshotPlugin/Core/AnimationHelpers.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -220,18 +220,15 @@ namespace GreenshotPlugin.Core { /// Get the easing value, which is from 0-1 and depends on the frame ///
protected double EasingValue { - get { - switch (EasingMode) { - case EasingMode.EaseOut: - return Easing.EaseOut(CurrentFrameNr / (double)Frames, EasingType); - case EasingMode.EaseInOut: - return Easing.EaseInOut(CurrentFrameNr / (double)Frames, EasingType); - case EasingMode.EaseIn: - default: - return Easing.EaseIn(CurrentFrameNr / (double)Frames, EasingType); - } - } - } + get => + EasingMode switch + { + EasingMode.EaseOut => Easing.EaseOut(CurrentFrameNr / (double) Frames, EasingType), + EasingMode.EaseInOut => Easing.EaseInOut(CurrentFrameNr / (double) Frames, EasingType), + EasingMode.EaseIn => Easing.EaseIn(CurrentFrameNr / (double) Frames, EasingType), + _ => Easing.EaseIn(CurrentFrameNr / (double) Frames, EasingType) + }; + } /// /// Get the current (previous) frame object @@ -455,71 +452,50 @@ namespace GreenshotPlugin.Core { return ((easedStep - linearStep) * Math.Abs(acceleration) + linearStep); } - public static double EaseIn(double linearStep, EasingType type) { - switch (type) { - case EasingType.Step: - return linearStep < 0.5 ? 0 : 1; - case EasingType.Linear: - return linearStep; - case EasingType.Sine: - return Sine.EaseIn(linearStep); - case EasingType.Quadratic: - return Power.EaseIn(linearStep, 2); - case EasingType.Cubic: - return Power.EaseIn(linearStep, 3); - case EasingType.Quartic: - return Power.EaseIn(linearStep, 4); - case EasingType.Quintic: - return Power.EaseIn(linearStep, 5); - } - throw new NotImplementedException(); - } + public static double EaseIn(double linearStep, EasingType type) => + type switch + { + EasingType.Step => (linearStep < 0.5 ? 0 : 1), + EasingType.Linear => linearStep, + EasingType.Sine => Sine.EaseIn(linearStep), + EasingType.Quadratic => Power.EaseIn(linearStep, 2), + EasingType.Cubic => Power.EaseIn(linearStep, 3), + EasingType.Quartic => Power.EaseIn(linearStep, 4), + EasingType.Quintic => Power.EaseIn(linearStep, 5), + _ => throw new NotImplementedException() + }; - public static double EaseOut(double linearStep, EasingType type) { - switch (type) { - case EasingType.Step: - return linearStep < 0.5 ? 0 : 1; - case EasingType.Linear: - return linearStep; - case EasingType.Sine: - return Sine.EaseOut(linearStep); - case EasingType.Quadratic: - return Power.EaseOut(linearStep, 2); - case EasingType.Cubic: - return Power.EaseOut(linearStep, 3); - case EasingType.Quartic: - return Power.EaseOut(linearStep, 4); - case EasingType.Quintic: - return Power.EaseOut(linearStep, 5); - } - throw new NotImplementedException(); - } + public static double EaseOut(double linearStep, EasingType type) => + type switch + { + EasingType.Step => (linearStep < 0.5 ? 0 : 1), + EasingType.Linear => linearStep, + EasingType.Sine => Sine.EaseOut(linearStep), + EasingType.Quadratic => Power.EaseOut(linearStep, 2), + EasingType.Cubic => Power.EaseOut(linearStep, 3), + EasingType.Quartic => Power.EaseOut(linearStep, 4), + EasingType.Quintic => Power.EaseOut(linearStep, 5), + _ => throw new NotImplementedException() + }; - public static double EaseInOut(double linearStep, EasingType easeInType, EasingType easeOutType) { + public static double EaseInOut(double linearStep, EasingType easeInType, EasingType easeOutType) { return linearStep < 0.5 ? EaseInOut(linearStep, easeInType) : EaseInOut(linearStep, easeOutType); } - public static double EaseInOut(double linearStep, EasingType type) { - switch (type) { - case EasingType.Step: - return linearStep < 0.5 ? 0 : 1; - case EasingType.Linear: - return linearStep; - case EasingType.Sine: - return Sine.EaseInOut(linearStep); - case EasingType.Quadratic: - return Power.EaseInOut(linearStep, 2); - case EasingType.Cubic: - return Power.EaseInOut(linearStep, 3); - case EasingType.Quartic: - return Power.EaseInOut(linearStep, 4); - case EasingType.Quintic: - return Power.EaseInOut(linearStep, 5); - } - throw new NotImplementedException(); - } + public static double EaseInOut(double linearStep, EasingType type) => + type switch + { + EasingType.Step => (linearStep < 0.5 ? 0 : 1), + EasingType.Linear => linearStep, + EasingType.Sine => Sine.EaseInOut(linearStep), + EasingType.Quadratic => Power.EaseInOut(linearStep, 2), + EasingType.Cubic => Power.EaseInOut(linearStep, 3), + EasingType.Quartic => Power.EaseInOut(linearStep, 4), + EasingType.Quintic => Power.EaseInOut(linearStep, 5), + _ => throw new NotImplementedException() + }; - private static class Sine { + private static class Sine { public static double EaseIn(double s) { return Math.Sin(s * (Math.PI / 2) - (Math.PI / 2)) + 1; } diff --git a/GreenshotPlugin/Core/BinaryStructHelper.cs b/GreenshotPlugin/Core/BinaryStructHelper.cs index 390d029e0..b8584c572 100644 --- a/GreenshotPlugin/Core/BinaryStructHelper.cs +++ b/GreenshotPlugin/Core/BinaryStructHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/Cache.cs b/GreenshotPlugin/Core/Cache.cs index 61604c23b..ae41d7d60 100644 --- a/GreenshotPlugin/Core/Cache.cs +++ b/GreenshotPlugin/Core/Cache.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -93,7 +93,7 @@ namespace GreenshotPlugin.Core { /// public TV this[TK key] { get { - TV result = default(TV); + TV result = default; lock (_lockObject) { if (_internalCache.ContainsKey(key)) { result = _internalCache[key]; diff --git a/GreenshotPlugin/Core/CaptureHandler.cs b/GreenshotPlugin/Core/CaptureHandler.cs index 0f52bfe38..4f832004a 100644 --- a/GreenshotPlugin/Core/CaptureHandler.cs +++ b/GreenshotPlugin/Core/CaptureHandler.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/ClipboardHelper.cs b/GreenshotPlugin/Core/ClipboardHelper.cs index e46821b22..47dd0d532 100644 --- a/GreenshotPlugin/Core/ClipboardHelper.cs +++ b/GreenshotPlugin/Core/ClipboardHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -105,28 +105,25 @@ EndSelection:<<<<<<<4 if (hWnd != IntPtr.Zero) { try { - int pid; - User32.GetWindowThreadProcessId(hWnd, out pid); - using (Process me = Process.GetCurrentProcess()) - using (Process ownerProcess = Process.GetProcessById(pid)) - { - // Exclude myself - if (me.Id != ownerProcess.Id) - { - // Get Process Name - owner = ownerProcess.ProcessName; - // Try to get the starting Process Filename, this might fail. - try - { - owner = ownerProcess.Modules[0].FileName; - } - catch (Exception) - { - // Ignore - } - } - } - } + User32.GetWindowThreadProcessId(hWnd, out var pid); + using Process me = Process.GetCurrentProcess(); + using Process ownerProcess = Process.GetProcessById(pid); + // Exclude myself + if (me.Id != ownerProcess.Id) + { + // Get Process Name + owner = ownerProcess.ProcessName; + // Try to get the starting Process Filename, this might fail. + try + { + owner = ownerProcess.Modules[0].FileName; + } + catch (Exception) + { + // Ignore + } + } + } catch(Exception e) { Log.Warn("Non critical error: Couldn't get clipboard process, trying to use the title.", e); @@ -407,17 +404,16 @@ EndSelection:<<<<<<<4 byte[] fileHeaderBytes = BinaryStructHelper.ToByteArray(fileHeader); - using (MemoryStream bitmapStream = new MemoryStream()) { - bitmapStream.Write(fileHeaderBytes, 0, fileHeaderSize); - bitmapStream.Write(dibBuffer, 0, dibBuffer.Length); - bitmapStream.Seek(0, SeekOrigin.Begin); - var image = ImageHelper.FromStream(bitmapStream); - if (image != null) - { - return image; - } - } - } else { + using MemoryStream bitmapStream = new MemoryStream(); + bitmapStream.Write(fileHeaderBytes, 0, fileHeaderSize); + bitmapStream.Write(dibBuffer, 0, dibBuffer.Length); + bitmapStream.Seek(0, SeekOrigin.Begin); + var image = ImageHelper.FromStream(bitmapStream); + if (image != null) + { + return image; + } + } else { Log.Info("Using special DIBV5 / Format17 format reader"); // CF_DIBV5 IntPtr gcHandle = IntPtr.Zero; diff --git a/GreenshotPlugin/Core/CoreConfiguration.cs b/GreenshotPlugin/Core/CoreConfiguration.cs index 4d60bb5aa..df19a9532 100644 --- a/GreenshotPlugin/Core/CoreConfiguration.cs +++ b/GreenshotPlugin/Core/CoreConfiguration.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/CredentialsHelper.cs b/GreenshotPlugin/Core/CredentialsHelper.cs index a031b5922..7732c4f46 100644 --- a/GreenshotPlugin/Core/CredentialsHelper.cs +++ b/GreenshotPlugin/Core/CredentialsHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -397,30 +397,30 @@ namespace GreenshotPlugin.Core { CredUi.CredFlags credFlags = CredUi.CredFlags.GENERIC_CREDENTIALS; if (IncorrectPassword) { - credFlags = credFlags | CredUi.CredFlags.INCORRECT_PASSWORD; + credFlags |= CredUi.CredFlags.INCORRECT_PASSWORD; } if (AlwaysDisplay) { - credFlags = credFlags | CredUi.CredFlags.ALWAYS_SHOW_UI; + credFlags |= CredUi.CredFlags.ALWAYS_SHOW_UI; } if (ExcludeCertificates) { - credFlags = credFlags | CredUi.CredFlags.EXCLUDE_CERTIFICATES; + credFlags |= CredUi.CredFlags.EXCLUDE_CERTIFICATES; } if (Persist) { - credFlags = credFlags | CredUi.CredFlags.EXPECT_CONFIRMATION; + credFlags |= CredUi.CredFlags.EXPECT_CONFIRMATION; if (SaveDisplayed) { - credFlags = credFlags | CredUi.CredFlags.SHOW_SAVE_CHECK_BOX; + credFlags |= CredUi.CredFlags.SHOW_SAVE_CHECK_BOX; } else { - credFlags = credFlags | CredUi.CredFlags.PERSIST; + credFlags |= CredUi.CredFlags.PERSIST; } } else { - credFlags = credFlags | CredUi.CredFlags.DO_NOT_PERSIST; + credFlags |= CredUi.CredFlags.DO_NOT_PERSIST; } if (KeepName) { - credFlags = credFlags | CredUi.CredFlags.KEEP_USERNAME; + credFlags |= CredUi.CredFlags.KEEP_USERNAME; } return credFlags; @@ -428,33 +428,22 @@ namespace GreenshotPlugin.Core { /// Returns a DialogResult from the specified code. /// The credential return code. - private DialogResult GetDialogResult(CredUi.ReturnCodes code) { - DialogResult result; - switch (code) { - case CredUi.ReturnCodes.NO_ERROR: - result = DialogResult.OK; - break; - case CredUi.ReturnCodes.ERROR_CANCELLED: - result = DialogResult.Cancel; - break; - case CredUi.ReturnCodes.ERROR_NO_SUCH_LOGON_SESSION: - throw new ApplicationException("No such logon session."); - case CredUi.ReturnCodes.ERROR_NOT_FOUND: - throw new ApplicationException("Not found."); - case CredUi.ReturnCodes.ERROR_INVALID_ACCOUNT_NAME: - throw new ApplicationException("Invalid account name."); - case CredUi.ReturnCodes.ERROR_INSUFFICIENT_BUFFER: - throw new ApplicationException("Insufficient buffer."); - case CredUi.ReturnCodes.ERROR_INVALID_PARAMETER: - throw new ApplicationException("Invalid parameter."); - case CredUi.ReturnCodes.ERROR_INVALID_FLAGS: - throw new ApplicationException("Invalid flags."); - default: - throw new ApplicationException("Unknown credential result encountered."); - } - return result; - } - } + private DialogResult GetDialogResult(CredUi.ReturnCodes code) => + code switch + { + CredUi.ReturnCodes.NO_ERROR => DialogResult.OK, + CredUi.ReturnCodes.ERROR_CANCELLED => DialogResult.Cancel, + CredUi.ReturnCodes.ERROR_NO_SUCH_LOGON_SESSION => throw new ApplicationException( + "No such logon session."), + CredUi.ReturnCodes.ERROR_NOT_FOUND => throw new ApplicationException("Not found."), + CredUi.ReturnCodes.ERROR_INVALID_ACCOUNT_NAME => + throw new ApplicationException("Invalid account name."), + CredUi.ReturnCodes.ERROR_INSUFFICIENT_BUFFER => throw new ApplicationException("Insufficient buffer."), + CredUi.ReturnCodes.ERROR_INVALID_PARAMETER => throw new ApplicationException("Invalid parameter."), + CredUi.ReturnCodes.ERROR_INVALID_FLAGS => throw new ApplicationException("Invalid flags."), + _ => throw new ApplicationException("Unknown credential result encountered.") + }; + } internal static class CredUi { /// http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthn/security/authentication_constants.asp diff --git a/GreenshotPlugin/Core/DisplayKeyAttribute.cs b/GreenshotPlugin/Core/DisplayKeyAttribute.cs index f8b1c4408..d055b91ad 100644 --- a/GreenshotPlugin/Core/DisplayKeyAttribute.cs +++ b/GreenshotPlugin/Core/DisplayKeyAttribute.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/EffectConverter.cs b/GreenshotPlugin/Core/EffectConverter.cs index 1d41b8086..69c78a092 100644 --- a/GreenshotPlugin/Core/EffectConverter.cs +++ b/GreenshotPlugin/Core/EffectConverter.cs @@ -73,8 +73,7 @@ namespace Greenshot.Core } public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object value) { - var settings = value as string; - if (settings != null) { + if (value is string settings) { if (settings.Contains("ToothHeight")) { return ConvertTo(context, culture, settings, typeof(TornEdgeEffect)); } @@ -89,29 +88,25 @@ namespace Greenshot.Core string[] pair = nameValuePair.Split(':'); switch (pair[0]) { case "Darkness" : - float darkness; - // Fix to prevent BUG-1753 - if (pair[1] != null && float.TryParse(pair[1], NumberStyles.Float, _numberFormatInfo, out darkness)) { + // Fix to prevent BUG-1753 + if (pair[1] != null && float.TryParse(pair[1], NumberStyles.Float, _numberFormatInfo, out var darkness)) { if (darkness <= 1.0) { effect.Darkness = darkness; } } break; case "ShadowSize": - int shadowSize; - if (int.TryParse(pair[1], out shadowSize)) { + if (int.TryParse(pair[1], out var shadowSize)) { effect.ShadowSize = shadowSize; } break; case "ShadowOffset": Point shadowOffset = new Point(); - int shadowOffsetX; - int shadowOffsetY; - string[] coordinates = pair[1].Split(','); - if (int.TryParse(coordinates[0], out shadowOffsetX)) { + string[] coordinates = pair[1].Split(','); + if (int.TryParse(coordinates[0], out var shadowOffsetX)) { shadowOffset.X = shadowOffsetX; } - if (int.TryParse(coordinates[1], out shadowOffsetY)) { + if (int.TryParse(coordinates[1], out var shadowOffsetY)) { shadowOffset.Y = shadowOffsetY; } effect.ShadowOffset = shadowOffset; @@ -126,33 +121,28 @@ namespace Greenshot.Core string[] pair = nameValuePair.Split(':'); switch (pair[0]) { case "GenerateShadow": - bool generateShadow; - if (bool.TryParse(pair[1], out generateShadow)) { + if (bool.TryParse(pair[1], out var generateShadow)) { effect.GenerateShadow = generateShadow; } break; case "ToothHeight": - int toothHeight; - if (int.TryParse(pair[1], out toothHeight)) { + if (int.TryParse(pair[1], out var toothHeight)) { effect.ToothHeight = toothHeight; } break; case "HorizontalToothRange": - int horizontalToothRange; - if (int.TryParse(pair[1], out horizontalToothRange)) { + if (int.TryParse(pair[1], out var horizontalToothRange)) { effect.HorizontalToothRange = horizontalToothRange; } break; case "VerticalToothRange": - int verticalToothRange; - if (int.TryParse(pair[1], out verticalToothRange)) { + if (int.TryParse(pair[1], out var verticalToothRange)) { effect.VerticalToothRange = verticalToothRange; } break; case "Edges": string[] edges = pair[1].Split(','); - bool edge; - if (bool.TryParse(edges[0], out edge)) { + if (bool.TryParse(edges[0], out var edge)) { effect.Edges[0] = edge; } if (bool.TryParse(edges[1], out edge)) { diff --git a/GreenshotPlugin/Core/EmailConfigHelper.cs b/GreenshotPlugin/Core/EmailConfigHelper.cs index 14ae354f2..59db98886 100644 --- a/GreenshotPlugin/Core/EmailConfigHelper.cs +++ b/GreenshotPlugin/Core/EmailConfigHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -43,12 +43,11 @@ namespace GreenshotPlugin.Core { } } - public static bool HasMapi() { - using (RegistryKey key = Registry.LocalMachine.OpenSubKey(MapiLocationKey, false)) - { - return key != null && "1".Equals(key.GetValue(MapiKey, "0")); - } - } + public static bool HasMapi() + { + using RegistryKey key = Registry.LocalMachine.OpenSubKey(MapiLocationKey, false); + return key != null && "1".Equals(key.GetValue(MapiKey, "0")); + } public static string GetOutlookExePath() { using (RegistryKey key = Registry.LocalMachine.OpenSubKey(OutlookPathKey, false)) { diff --git a/GreenshotPlugin/Core/EnumExtensions.cs b/GreenshotPlugin/Core/EnumExtensions.cs index 1201f28f9..39aff04f1 100644 --- a/GreenshotPlugin/Core/EnumExtensions.cs +++ b/GreenshotPlugin/Core/EnumExtensions.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/EventDelay.cs b/GreenshotPlugin/Core/EventDelay.cs index b02d4317b..84860f7ae 100644 --- a/GreenshotPlugin/Core/EventDelay.cs +++ b/GreenshotPlugin/Core/EventDelay.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/ExplorerHelper.cs b/GreenshotPlugin/Core/ExplorerHelper.cs index a94513f48..8f67018b1 100644 --- a/GreenshotPlugin/Core/ExplorerHelper.cs +++ b/GreenshotPlugin/Core/ExplorerHelper.cs @@ -33,14 +33,12 @@ namespace GreenshotPlugin.Core } // Check if path is a file if (File.Exists(path)) - { - // Start the explorer process and select the file - using (var explorer = Process.Start("explorer.exe", $"/select,\"{path}\"")) - { - explorer?.WaitForInputIdle(500); - return true; - } - } + { + // Start the explorer process and select the file + using var explorer = Process.Start("explorer.exe", $"/select,\"{path}\""); + explorer?.WaitForInputIdle(500); + return true; + } } catch (Exception ex) { diff --git a/GreenshotPlugin/Core/ExtensionAttribute.cs b/GreenshotPlugin/Core/ExtensionAttribute.cs index 147e9a007..2e47f4962 100644 --- a/GreenshotPlugin/Core/ExtensionAttribute.cs +++ b/GreenshotPlugin/Core/ExtensionAttribute.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/FastBitmap.cs b/GreenshotPlugin/Core/FastBitmap.cs index 8bc3b3313..a76045a42 100644 --- a/GreenshotPlugin/Core/FastBitmap.cs +++ b/GreenshotPlugin/Core/FastBitmap.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -650,8 +650,7 @@ namespace GreenshotPlugin.Core { public abstract void GetColorAt(int x, int y, byte[] color); public abstract void SetColorAt(int x, int y, byte[] color); - #region IFastBitmapWithClip - bool IFastBitmapWithClip.Contains(int x, int y) { + bool IFastBitmapWithClip.Contains(int x, int y) { bool contains = Clip.Contains(x, y); if (InvertClip) { return !contains; @@ -675,10 +674,8 @@ namespace GreenshotPlugin.Core { } SetColorAt(x, y, color); } - #endregion - #region IFastBitmapWithOffset - /// + /// /// returns true if x & y are inside the FastBitmap /// /// @@ -710,8 +707,7 @@ namespace GreenshotPlugin.Core { y -= _top; SetColorAt(x, y, color); } - #endregion - } + } /// /// This is the implementation of the FastBitmat for the 8BPP pixelformat @@ -788,8 +784,7 @@ namespace GreenshotPlugin.Core { /// Color to set public override void SetColorAt(int x, int y, Color color) { int offset = x + (y * Stride); - byte colorIndex; - if (!_colorCache.TryGetValue(color, out colorIndex)) { + if (!_colorCache.TryGetValue(color, out var colorIndex)) { bool foundColor = false; for (colorIndex = 0; colorIndex < _colorEntries.Length; colorIndex++) { if (color == _colorEntries[colorIndex]) { diff --git a/GreenshotPlugin/Core/FilenameHelper.cs b/GreenshotPlugin/Core/FilenameHelper.cs index 2016c27af..85d297ade 100644 --- a/GreenshotPlugin/Core/FilenameHelper.cs +++ b/GreenshotPlugin/Core/FilenameHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/Func.cs b/GreenshotPlugin/Core/Func.cs index 9c15475ca..e76abe766 100644 --- a/GreenshotPlugin/Core/Func.cs +++ b/GreenshotPlugin/Core/Func.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/GreenshotResources.cs b/GreenshotPlugin/Core/GreenshotResources.cs index a4e2dae85..358dbab46 100644 --- a/GreenshotPlugin/Core/GreenshotResources.cs +++ b/GreenshotPlugin/Core/GreenshotResources.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/GreenshotResources.resx b/GreenshotPlugin/Core/GreenshotResources.resx index dce181b2b..521a6125f 100644 --- a/GreenshotPlugin/Core/GreenshotResources.resx +++ b/GreenshotPlugin/Core/GreenshotResources.resx @@ -112,12 +112,12 @@ 2.0 - System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + AAABAAUAAAAAAAEACAClFwAAVgAAADAwAAABAAgAqA4AAPsXAAAgIAAAAQAIAKgIAACjJgAAGBgAAAEA diff --git a/GreenshotPlugin/Core/IEHelper.cs b/GreenshotPlugin/Core/IEHelper.cs index 92ffa2816..703d42a15 100644 --- a/GreenshotPlugin/Core/IEHelper.cs +++ b/GreenshotPlugin/Core/IEHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -57,8 +57,7 @@ namespace GreenshotPlugin.Core { strVal = strVal.Substring(0, iPos); } - int res; - if (int.TryParse(strVal, out res)) + if (int.TryParse(strVal, out var res)) { maxVer = Math.Max(maxVer, res); } diff --git a/GreenshotPlugin/Core/IImage.cs b/GreenshotPlugin/Core/IImage.cs index ee5c9f367..53fa64bd3 100644 --- a/GreenshotPlugin/Core/IImage.cs +++ b/GreenshotPlugin/Core/IImage.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/ImageHelper.cs b/GreenshotPlugin/Core/ImageHelper.cs index bac22c31b..04d305d9d 100644 --- a/GreenshotPlugin/Core/ImageHelper.cs +++ b/GreenshotPlugin/Core/ImageHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -65,38 +65,34 @@ namespace GreenshotPlugin.Core { return surface.GetImageForExport(); }; - Func defaultConverter = (stream, s) => - { - stream.Position = 0; - using (var tmpImage = Image.FromStream(stream, true, true)) - { - Log.DebugFormat("Loaded bitmap with Size {0}x{1} and PixelFormat {2}", tmpImage.Width, tmpImage.Height, tmpImage.PixelFormat); - return Clone(tmpImage, PixelFormat.Format32bppArgb); - } - }; + static Image DefaultConverter(Stream stream, string s) + { + stream.Position = 0; + using var tmpImage = Image.FromStream(stream, true, true); + Log.DebugFormat("Loaded bitmap with Size {0}x{1} and PixelFormat {2}", tmpImage.Width, tmpImage.Height, tmpImage.PixelFormat); + return Clone(tmpImage, PixelFormat.Format32bppArgb); + } - // Fallback - StreamConverters[""] = defaultConverter; - StreamConverters["gif"] = defaultConverter; - StreamConverters["bmp"] = defaultConverter; - StreamConverters["jpg"] = defaultConverter; - StreamConverters["jpeg"] = defaultConverter; - StreamConverters["png"] = defaultConverter; - StreamConverters["wmf"] = defaultConverter; + // Fallback + StreamConverters[""] = DefaultConverter; + StreamConverters["gif"] = DefaultConverter; + StreamConverters["bmp"] = DefaultConverter; + StreamConverters["jpg"] = DefaultConverter; + StreamConverters["jpeg"] = DefaultConverter; + StreamConverters["png"] = DefaultConverter; + StreamConverters["wmf"] = DefaultConverter; StreamConverters["ico"] = (stream, extension) => { // Icon logic, try to get the Vista icon, else the biggest possible try - { - using (Image tmpImage = ExtractVistaIcon(stream)) - { - if (tmpImage != null) - { - return Clone(tmpImage, PixelFormat.Format32bppArgb); - } - } - } + { + using Image tmpImage = ExtractVistaIcon(stream); + if (tmpImage != null) + { + return Clone(tmpImage, PixelFormat.Format32bppArgb); + } + } catch (Exception vistaIconException) { Log.Warn("Can't read icon", vistaIconException); @@ -106,21 +102,17 @@ namespace GreenshotPlugin.Core { // No vista icon, try normal icon stream.Position = 0; // We create a copy of the bitmap, so everything else can be disposed - using (Icon tmpIcon = new Icon(stream, new Size(1024, 1024))) - { - using (Image tmpImage = tmpIcon.ToBitmap()) - { - return Clone(tmpImage, PixelFormat.Format32bppArgb); - } - } - } + using Icon tmpIcon = new Icon(stream, new Size(1024, 1024)); + using Image tmpImage = tmpIcon.ToBitmap(); + return Clone(tmpImage, PixelFormat.Format32bppArgb); + } catch (Exception iconException) { Log.Warn("Can't read icon", iconException); } stream.Position = 0; - return defaultConverter(stream, extension); + return DefaultConverter(stream, extension); }; } @@ -405,13 +397,11 @@ namespace GreenshotPlugin.Core { { int iImageSize = BitConverter.ToInt32(srcBuf, sizeIconDir + sizeIconDirEntry * iIndex + 8); int iImageOffset = BitConverter.ToInt32(srcBuf, sizeIconDir + sizeIconDirEntry * iIndex + 12); - using (MemoryStream destStream = new MemoryStream()) - { - destStream.Write(srcBuf, iImageOffset, iImageSize); - destStream.Seek(0, SeekOrigin.Begin); - bmpPngExtracted = new Bitmap(destStream); // This is PNG! :) - } - break; + using MemoryStream destStream = new MemoryStream(); + destStream.Write(srcBuf, iImageOffset, iImageSize); + destStream.Seek(0, SeekOrigin.Begin); + bmpPngExtracted = new Bitmap(destStream); // This is PNG! :) + break; } } } @@ -431,9 +421,7 @@ namespace GreenshotPlugin.Core { /// Icon public static Icon ExtractAssociatedIcon(string location, int index, bool takeLarge) { - IntPtr large; - IntPtr small; - Shell32.ExtractIconEx(location, index, out large, out small, 1); + Shell32.ExtractIconEx(location, index, out var large, out var small, 1); Icon returnIcon = null; bool isLarge = false; bool isSmall = false; @@ -476,9 +464,7 @@ namespace GreenshotPlugin.Core { /// public static int CountAssociatedIcons(string location) { - IntPtr large; - IntPtr small; - return Shell32.ExtractIconEx(location, -1, out large, out small, 0); + return Shell32.ExtractIconEx(location, -1, out _, out _, 0); } /// @@ -640,19 +626,15 @@ namespace GreenshotPlugin.Core { path.CloseFigure(); // Draw the created figure with the original image by using a TextureBrush so we have anti-aliasing - using (Graphics graphics = Graphics.FromImage(returnImage)) - { - graphics.SmoothingMode = SmoothingMode.HighQuality; - graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; - graphics.CompositingQuality = CompositingQuality.HighQuality; - graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; - using (Brush brush = new TextureBrush(sourceImage)) - { - // Important note: If the target wouldn't be at 0,0 we need to translate-transform!! - graphics.FillPath(brush, path); - } - } - } + using Graphics graphics = Graphics.FromImage(returnImage); + graphics.SmoothingMode = SmoothingMode.HighQuality; + graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; + graphics.CompositingQuality = CompositingQuality.HighQuality; + graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; + using Brush brush = new TextureBrush(sourceImage); + // Important note: If the target wouldn't be at 0,0 we need to translate-transform!! + graphics.FillPath(brush, path); + } return returnImage; } @@ -662,13 +644,11 @@ namespace GreenshotPlugin.Core { /// Bitmap to blur /// Must be ODD! public static void ApplyBoxBlur(Bitmap destinationBitmap, int range) - { - // We only need one fastbitmap as we use it as source and target (the reading is done for one line H/V, writing after "parsing" one line H/V) - using (IFastBitmap fastBitmap = FastBitmap.Create(destinationBitmap)) - { - ApplyBoxBlur(fastBitmap, range); - } - } + { + // We only need one fastbitmap as we use it as source and target (the reading is done for one line H/V, writing after "parsing" one line H/V) + using IFastBitmap fastBitmap = FastBitmap.Create(destinationBitmap); + ApplyBoxBlur(fastBitmap, range); + } /// /// Apply BoxBlur to the fastBitmap @@ -1021,13 +1001,11 @@ namespace GreenshotPlugin.Core { graphics.CompositingQuality = CompositingQuality.HighQuality; graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; // draw original with a TextureBrush so we have nice antialiasing! - using (Brush textureBrush = new TextureBrush(sourceBitmap, WrapMode.Clamp)) - { - // We need to do a translate-transform otherwise the image is wrapped - graphics.TranslateTransform(offset.X, offset.Y); - graphics.FillRectangle(textureBrush, 0, 0, sourceBitmap.Width, sourceBitmap.Height); - } - } + using Brush textureBrush = new TextureBrush(sourceBitmap, WrapMode.Clamp); + // We need to do a translate-transform otherwise the image is wrapped + graphics.TranslateTransform(offset.X, offset.Y); + graphics.FillRectangle(textureBrush, 0, 0, sourceBitmap.Width, sourceBitmap.Height); + } return returnImage; } @@ -1068,14 +1046,12 @@ namespace GreenshotPlugin.Core { /// Image to copy to /// ColorMatrix to apply public static void ApplyColorMatrix(Bitmap source, Rectangle sourceRect, Bitmap dest, Rectangle destRect, ColorMatrix colorMatrix) - { - using (ImageAttributes imageAttributes = new ImageAttributes()) - { - imageAttributes.ClearColorMatrix(); - imageAttributes.SetColorMatrix(colorMatrix); - ApplyImageAttributes(source, sourceRect, dest, destRect, imageAttributes); - } - } + { + using ImageAttributes imageAttributes = new ImageAttributes(); + imageAttributes.ClearColorMatrix(); + imageAttributes.SetColorMatrix(colorMatrix); + ApplyImageAttributes(source, sourceRect, dest, destRect, imageAttributes); + } /// /// Apply image attributes to the image @@ -1109,18 +1085,17 @@ namespace GreenshotPlugin.Core { { destRect = new Rectangle(0, 0, dest.Width, dest.Height); } - using (Graphics graphics = Graphics.FromImage(dest)) - { - // Make sure we draw with the best quality! - graphics.SmoothingMode = SmoothingMode.HighQuality; - graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; - graphics.CompositingQuality = CompositingQuality.HighQuality; - graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; - graphics.CompositingMode = CompositingMode.SourceCopy; - graphics.DrawImage(source, destRect, sourceRect.X, sourceRect.Y, sourceRect.Width, sourceRect.Height, GraphicsUnit.Pixel, imageAttributes); - } - } + using Graphics graphics = Graphics.FromImage(dest); + // Make sure we draw with the best quality! + graphics.SmoothingMode = SmoothingMode.HighQuality; + graphics.PixelOffsetMode = PixelOffsetMode.HighQuality; + graphics.CompositingQuality = CompositingQuality.HighQuality; + graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; + graphics.CompositingMode = CompositingMode.SourceCopy; + + graphics.DrawImage(source, destRect, sourceRect.X, sourceRect.Y, sourceRect.Width, sourceRect.Height, GraphicsUnit.Pixel, imageAttributes); + } /// /// Returns a b/w of Bitmap @@ -1129,22 +1104,20 @@ namespace GreenshotPlugin.Core { /// Threshold for monochrome filter (0 - 255), lower value means less black /// b/w bitmap public static Bitmap CreateMonochrome(Image sourceImage, byte threshold) - { - using (IFastBitmap fastBitmap = FastBitmap.CreateCloneOf(sourceImage, sourceImage.PixelFormat)) - { - for (int y = 0; y < fastBitmap.Height; y++) - { - for (int x = 0; x < fastBitmap.Width; x++) - { - Color color = fastBitmap.GetColorAt(x, y); - int colorBrightness = (color.R + color.G + color.B) / 3 > threshold ? 255 : 0; - Color monoColor = Color.FromArgb(color.A, colorBrightness, colorBrightness, colorBrightness); - fastBitmap.SetColorAt(x, y, monoColor); - } - } - return fastBitmap.UnlockAndReturnBitmap(); - } - } + { + using IFastBitmap fastBitmap = FastBitmap.CreateCloneOf(sourceImage, sourceImage.PixelFormat); + for (int y = 0; y < fastBitmap.Height; y++) + { + for (int x = 0; x < fastBitmap.Width; x++) + { + Color color = fastBitmap.GetColorAt(x, y); + int colorBrightness = (color.R + color.G + color.B) / 3 > threshold ? 255 : 0; + Color monoColor = Color.FromArgb(color.A, colorBrightness, colorBrightness, colorBrightness); + fastBitmap.SetColorAt(x, y, monoColor); + } + } + return fastBitmap.UnlockAndReturnBitmap(); + } /// /// Create a new bitmap where the sourceBitmap has a Simple border around it @@ -1173,22 +1146,20 @@ namespace GreenshotPlugin.Core { using (GraphicsPath path = new GraphicsPath()) { path.AddRectangle(new Rectangle(borderSize >> 1, borderSize >> 1, newImage.Width - borderSize, newImage.Height - borderSize)); - using (Pen pen = new Pen(borderColor, borderSize)) + using Pen pen = new Pen(borderColor, borderSize) { - pen.LineJoin = LineJoin.Round; - pen.StartCap = LineCap.Round; - pen.EndCap = LineCap.Round; - graphics.DrawPath(pen, path); - } - } + LineJoin = LineJoin.Round, + StartCap = LineCap.Round, + EndCap = LineCap.Round + }; + graphics.DrawPath(pen, path); + } // draw original with a TextureBrush so we have nice antialiasing! - using (Brush textureBrush = new TextureBrush(sourceImage, WrapMode.Clamp)) - { - // We need to do a translate-tranform otherwise the image is wrapped - graphics.TranslateTransform(offset.X, offset.Y); - graphics.FillRectangle(textureBrush, 0, 0, sourceImage.Width, sourceImage.Height); - } - } + using Brush textureBrush = new TextureBrush(sourceImage, WrapMode.Clamp); + // We need to do a translate-tranform otherwise the image is wrapped + graphics.TranslateTransform(offset.X, offset.Y); + graphics.FillRectangle(textureBrush, 0, 0, sourceImage.Width, sourceImage.Height); + } return newImage; } @@ -1370,24 +1341,22 @@ namespace GreenshotPlugin.Core { // Make sure both images have the same resolution newImage.SetResolution(sourceImage.HorizontalResolution, sourceImage.VerticalResolution); - using (Graphics graphics = Graphics.FromImage(newImage)) - { - if (fromTransparentToNon) - { - // Rule 2: Make sure the background color is white - graphics.Clear(Color.White); - } - // decide fastest copy method - if (isAreaEqual) - { - graphics.DrawImageUnscaled(sourceImage, 0, 0); - } - else - { - graphics.DrawImage(sourceImage, 0, 0, sourceRect, GraphicsUnit.Pixel); - } - } - } + using Graphics graphics = Graphics.FromImage(newImage); + if (fromTransparentToNon) + { + // Rule 2: Make sure the background color is white + graphics.Clear(Color.White); + } + // decide fastest copy method + if (isAreaEqual) + { + graphics.DrawImageUnscaled(sourceImage, 0, 0); + } + else + { + graphics.DrawImage(sourceImage, 0, 0, sourceRect, GraphicsUnit.Pixel); + } + } else { // Let GDI+ decide how to convert, need to test what is quicker... @@ -1455,24 +1424,22 @@ namespace GreenshotPlugin.Core { Bitmap newImage = new Bitmap(width, height, format); newImage.SetResolution(horizontalResolution, verticalResolution); if (format != PixelFormat.Format8bppIndexed) - { - using (Graphics graphics = Graphics.FromImage(newImage)) - { - // Make sure the background color is what we want (transparent or white, depending on the pixel format) - if (!Color.Empty.Equals(backgroundColor)) - { - graphics.Clear(backgroundColor); - } - else if (Image.IsAlphaPixelFormat(format)) - { - graphics.Clear(Color.Transparent); - } - else - { - graphics.Clear(Color.White); - } - } - } + { + using Graphics graphics = Graphics.FromImage(newImage); + // Make sure the background color is what we want (transparent or white, depending on the pixel format) + if (!Color.Empty.Equals(backgroundColor)) + { + graphics.Clear(backgroundColor); + } + else if (Image.IsAlphaPixelFormat(format)) + { + graphics.Clear(Color.Transparent); + } + else + { + graphics.Clear(Color.White); + } + } return newImage; } @@ -1549,28 +1516,27 @@ namespace GreenshotPlugin.Core { int toCount = colorToCount.ToArgb(); if (!includeAlpha) { - toCount = toCount & 0xffffff; + toCount &= 0xffffff; } - using (IFastBitmap bb = FastBitmap.Create((Bitmap)sourceImage)) - { - for (int y = 0; y < bb.Height; y++) - { - for (int x = 0; x < bb.Width; x++) - { - int bitmapcolor = bb.GetColorAt(x, y).ToArgb(); - if (!includeAlpha) - { - bitmapcolor = bitmapcolor & 0xffffff; - } - if (bitmapcolor == toCount) - { - colors++; - } - } - } - return colors; - } - } + + using IFastBitmap bb = FastBitmap.Create((Bitmap)sourceImage); + for (int y = 0; y < bb.Height; y++) + { + for (int x = 0; x < bb.Width; x++) + { + int bitmapcolor = bb.GetColorAt(x, y).ToArgb(); + if (!includeAlpha) + { + bitmapcolor &= 0xffffff; + } + if (bitmapcolor == toCount) + { + colors++; + } + } + } + return colors; + } /// /// Scale the bitmap, keeping aspect ratio, but the canvas will always have the specified size. @@ -1651,12 +1617,10 @@ namespace GreenshotPlugin.Core { using (Graphics graphics = Graphics.FromImage(newImage)) { graphics.InterpolationMode = InterpolationMode.HighQualityBicubic; - using (ImageAttributes wrapMode = new ImageAttributes()) - { - wrapMode.SetWrapMode(WrapMode.TileFlipXY); - graphics.DrawImage(sourceImage, new Rectangle(destX, destY, destWidth, destHeight), 0, 0, sourceImage.Width, sourceImage.Height, GraphicsUnit.Pixel, wrapMode); - } - } + using ImageAttributes wrapMode = new ImageAttributes(); + wrapMode.SetWrapMode(WrapMode.TileFlipXY); + graphics.DrawImage(sourceImage, new Rectangle(destX, destY, destWidth, destHeight), 0, 0, sourceImage.Width, sourceImage.Height, GraphicsUnit.Pixel, wrapMode); + } return newImage; } @@ -1692,13 +1656,11 @@ namespace GreenshotPlugin.Core { Log.InfoFormat("Greenshot file format: {0}", greenshotMarker); const int filesizeLocation = 8 + markerSize; surfaceFileStream.Seek(-filesizeLocation, SeekOrigin.End); - using (BinaryReader reader = new BinaryReader(surfaceFileStream)) - { - long bytesWritten = reader.ReadInt64(); - surfaceFileStream.Seek(-(bytesWritten + filesizeLocation), SeekOrigin.End); - returnSurface.LoadElementsFromStream(surfaceFileStream); - } - } + using BinaryReader reader = new BinaryReader(surfaceFileStream); + long bytesWritten = reader.ReadInt64(); + surfaceFileStream.Seek(-(bytesWritten + filesizeLocation), SeekOrigin.End); + returnSurface.LoadElementsFromStream(surfaceFileStream); + } if (fileImage != null) { returnSurface.Image = fileImage; @@ -1733,8 +1695,7 @@ namespace GreenshotPlugin.Core { } Image returnImage = null; - Func converter; - if (StreamConverters.TryGetValue(extension ?? "", out converter)) + if (StreamConverters.TryGetValue(extension ?? "", out var converter)) { returnImage = converter(stream, extension); } @@ -1743,12 +1704,10 @@ namespace GreenshotPlugin.Core { { // We create a copy of the bitmap, so everything else can be disposed stream.Position = 0; - using (var tmpImage = Image.FromStream(stream, true, true)) - { - Log.DebugFormat("Loaded bitmap with Size {0}x{1} and PixelFormat {2}", tmpImage.Width, tmpImage.Height, tmpImage.PixelFormat); - returnImage = Clone(tmpImage, PixelFormat.Format32bppArgb); - } - } + using var tmpImage = Image.FromStream(stream, true, true); + Log.DebugFormat("Loaded bitmap with Size {0}x{1} and PixelFormat {2}", tmpImage.Width, tmpImage.Height, tmpImage.PixelFormat); + returnImage = Clone(tmpImage, PixelFormat.Format32bppArgb); + } return returnImage; } } diff --git a/GreenshotPlugin/Core/ImageOutput.cs b/GreenshotPlugin/Core/ImageOutput.cs index 125ec0dda..065f44cdb 100644 --- a/GreenshotPlugin/Core/ImageOutput.cs +++ b/GreenshotPlugin/Core/ImageOutput.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -75,16 +75,15 @@ namespace GreenshotPlugin.Core { } return propertyItem; } - #region save - /// + + /// /// Saves ISurface to stream with specified output settings /// /// ISurface to save /// Stream to save to /// SurfaceOutputSettings public static void SaveToStream(ISurface surface, Stream stream, SurfaceOutputSettings outputSettings) { - Image imageToSave; - bool disposeImage = CreateImageFromSurface(surface, outputSettings, out imageToSave); + bool disposeImage = CreateImageFromSurface(surface, outputSettings, out var imageToSave); SaveToStream(imageToSave, surface, stream, outputSettings); // cleanup if needed if (disposeImage) { @@ -109,28 +108,16 @@ namespace GreenshotPlugin.Core { } try { - ImageFormat imageFormat; - switch (outputSettings.Format) { - case OutputFormat.bmp: - imageFormat = ImageFormat.Bmp; - break; - case OutputFormat.gif: - imageFormat = ImageFormat.Gif; - break; - case OutputFormat.jpg: - imageFormat = ImageFormat.Jpeg; - break; - case OutputFormat.tiff: - imageFormat = ImageFormat.Tiff; - break; - case OutputFormat.ico: - imageFormat = ImageFormat.Icon; - break; - default: - imageFormat = ImageFormat.Png; - break; - } - Log.DebugFormat("Saving image to stream with Format {0} and PixelFormat {1}", imageFormat, imageToSave.PixelFormat); + var imageFormat = outputSettings.Format switch + { + OutputFormat.bmp => ImageFormat.Bmp, + OutputFormat.gif => ImageFormat.Gif, + OutputFormat.jpg => ImageFormat.Jpeg, + OutputFormat.tiff => ImageFormat.Tiff, + OutputFormat.ico => ImageFormat.Icon, + _ => ImageFormat.Png + }; + Log.DebugFormat("Saving image to stream with Format {0} and PixelFormat {1}", imageFormat, imageToSave.PixelFormat); // Check if we want to use a memory stream, to prevent issues with non seakable streams // The save is made to the targetStream, this is directed to either the MemoryStream or the original @@ -177,8 +164,10 @@ namespace GreenshotPlugin.Core { } } else if (Equals(imageFormat, ImageFormat.Icon)) { // FEATURE-916: Added Icon support - IList images = new List(); - images.Add(imageToSave); + IList images = new List + { + imageToSave + }; WriteIcon(stream, images); } else { bool needsDispose = false; @@ -211,17 +200,16 @@ namespace GreenshotPlugin.Core { { return; } - using (MemoryStream tmpStream = new MemoryStream()) { - long bytesWritten = surface.SaveElementsToStream(tmpStream); - using (BinaryWriter writer = new BinaryWriter(tmpStream)) { - writer.Write(bytesWritten); - Version v = Assembly.GetExecutingAssembly().GetName().Version; - byte[] marker = Encoding.ASCII.GetBytes($"Greenshot{v.Major:00}.{v.Minor:00}"); - writer.Write(marker); - tmpStream.WriteTo(stream); - } - } - } + + using MemoryStream tmpStream = new MemoryStream(); + long bytesWritten = surface.SaveElementsToStream(tmpStream); + using BinaryWriter writer = new BinaryWriter(tmpStream); + writer.Write(bytesWritten); + Version v = Assembly.GetExecutingAssembly().GetName().Version; + byte[] marker = Encoding.ASCII.GetBytes($"Greenshot{v.Major:00}.{v.Minor:00}"); + writer.Write(marker); + tmpStream.WriteTo(stream); + } finally { memoryStream?.Dispose(); @@ -263,24 +251,23 @@ namespace GreenshotPlugin.Core { RedirectStandardError = true, UseShellExecute = false }; - using (Process process = Process.Start(processStartInfo)) { - if (process != null) { - process.WaitForExit(); - if (process.ExitCode == 0) { - if (Log.IsDebugEnabled) { - Log.DebugFormat("File size after processing {0}", new FileInfo(tmpFileName).Length); - Log.DebugFormat("Reading back tmp file: {0}", tmpFileName); - } - byte[] processedImage = File.ReadAllBytes(tmpFileName); - targetStream.Write(processedImage, 0, processedImage.Length); - return true; - } - Log.ErrorFormat("Error while processing PNG image: {0}", process.ExitCode); - Log.ErrorFormat("Output: {0}", process.StandardOutput.ReadToEnd()); - Log.ErrorFormat("Error: {0}", process.StandardError.ReadToEnd()); - } - } - } catch (Exception e) { + using Process process = Process.Start(processStartInfo); + if (process != null) { + process.WaitForExit(); + if (process.ExitCode == 0) { + if (Log.IsDebugEnabled) { + Log.DebugFormat("File size after processing {0}", new FileInfo(tmpFileName).Length); + Log.DebugFormat("Reading back tmp file: {0}", tmpFileName); + } + byte[] processedImage = File.ReadAllBytes(tmpFileName); + targetStream.Write(processedImage, 0, processedImage.Length); + return true; + } + Log.ErrorFormat("Error while processing PNG image: {0}", process.ExitCode); + Log.ErrorFormat("Output: {0}", process.StandardOutput.ReadToEnd()); + Log.ErrorFormat("Error: {0}", process.StandardError.ReadToEnd()); + } + } catch (Exception e) { Log.Error("Error while processing PNG image: ", e); } finally { if (File.Exists(tmpFileName)) { @@ -334,27 +321,27 @@ namespace GreenshotPlugin.Core { return disposeImage; } bool isAlpha = Image.IsAlphaPixelFormat(imageToSave.PixelFormat); - if (outputSettings.ReduceColors || (!isAlpha && CoreConfig.OutputFileAutoReduceColors)) { - using (var quantizer = new WuQuantizer((Bitmap)imageToSave)) { - int colorCount = quantizer.GetColorCount(); - Log.InfoFormat("Image with format {0} has {1} colors", imageToSave.PixelFormat, colorCount); - if (!outputSettings.ReduceColors && colorCount >= 256) { - return disposeImage; - } - try { - Log.Info("Reducing colors on bitmap to 256."); - tmpImage = quantizer.GetQuantizedImage(CoreConfig.OutputFileReduceColorsTo); - if (disposeImage) { - imageToSave.Dispose(); - } - imageToSave = tmpImage; - // Make sure the "new" image is disposed - disposeImage = true; - } catch (Exception e) { - Log.Warn("Error occurred while Quantizing the image, ignoring and using original. Error: ", e); - } - } - } else if (isAlpha && !outputSettings.ReduceColors) { + if (outputSettings.ReduceColors || (!isAlpha && CoreConfig.OutputFileAutoReduceColors)) + { + using var quantizer = new WuQuantizer((Bitmap)imageToSave); + int colorCount = quantizer.GetColorCount(); + Log.InfoFormat("Image with format {0} has {1} colors", imageToSave.PixelFormat, colorCount); + if (!outputSettings.ReduceColors && colorCount >= 256) { + return disposeImage; + } + try { + Log.Info("Reducing colors on bitmap to 256."); + tmpImage = quantizer.GetQuantizedImage(CoreConfig.OutputFileReduceColorsTo); + if (disposeImage) { + imageToSave.Dispose(); + } + imageToSave = tmpImage; + // Make sure the "new" image is disposed + disposeImage = true; + } catch (Exception e) { + Log.Warn("Error occurred while Quantizing the image, ignoring and using original. Error: ", e); + } + } else if (isAlpha && !outputSettings.ReduceColors) { Log.Info("Skipping 'optional' color reduction as the image has alpha"); } return disposeImage; @@ -444,11 +431,8 @@ namespace GreenshotPlugin.Core { } return format; } - #endregion - #region save-as - - /// + /// /// Save with showing a dialog /// /// @@ -477,9 +461,8 @@ namespace GreenshotPlugin.Core { } return returnValue; } - #endregion - /// + /// /// Create a tmpfile which has the name like in the configured pattern. /// Used e.g. by the email export /// @@ -580,16 +563,13 @@ namespace GreenshotPlugin.Core { /// /// private static void RemoveExpiredTmpFile(string filekey, object filename) { - string path = filename as string; - if (path != null && File.Exists(path)) { + if (filename is string path && File.Exists(path)) { Log.DebugFormat("Removing expired file {0}", path); File.Delete(path); } } - #region Icon - - /// + /// /// Write the images to the stream as icon /// Every image is resized to 256x256 (but the content maintains the aspect ratio) /// @@ -622,25 +602,19 @@ namespace GreenshotPlugin.Core { } var imageStream = new MemoryStream(); if (image.Width == size && image.Height == size) - { - using (var clonedImage = ImageHelper.Clone(image, PixelFormat.Format32bppArgb)) - { - clonedImage.Save(imageStream, ImageFormat.Png); - imageSizes.Add(new Size(size, size)); - } - } + { + using var clonedImage = ImageHelper.Clone(image, PixelFormat.Format32bppArgb); + clonedImage.Save(imageStream, ImageFormat.Png); + imageSizes.Add(new Size(size, size)); + } else - { - // Resize to the specified size, first make sure the image is 32bpp - using (var clonedImage = ImageHelper.Clone(image, PixelFormat.Format32bppArgb)) - { - using (var resizedImage = ImageHelper.ResizeImage(clonedImage, true, true, Color.Empty, size, size, null)) - { - resizedImage.Save(imageStream, ImageFormat.Png); - imageSizes.Add(resizedImage.Size); - } - } - } + { + // Resize to the specified size, first make sure the image is 32bpp + using var clonedImage = ImageHelper.Clone(image, PixelFormat.Format32bppArgb); + using var resizedImage = ImageHelper.ResizeImage(clonedImage, true, true, Color.Empty, size, size, null); + resizedImage.Save(imageStream, ImageFormat.Png); + imageSizes.Add(resizedImage.Size); + } imageStream.Seek(0, SeekOrigin.Begin); encodedImages.Add(imageStream); @@ -678,7 +652,5 @@ namespace GreenshotPlugin.Core { encodedImage.Dispose(); } } - #endregion - - } + } } diff --git a/GreenshotPlugin/Core/InterfaceUtils.cs b/GreenshotPlugin/Core/InterfaceUtils.cs index ef5fec356..0adccda0b 100644 --- a/GreenshotPlugin/Core/InterfaceUtils.cs +++ b/GreenshotPlugin/Core/InterfaceUtils.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/JSONHelper.cs b/GreenshotPlugin/Core/JSONHelper.cs index 57293726c..04015248e 100644 --- a/GreenshotPlugin/Core/JSONHelper.cs +++ b/GreenshotPlugin/Core/JSONHelper.cs @@ -216,8 +216,7 @@ namespace GreenshotPlugin.Core { int remainingLength = json.Length - index; if (remainingLength >= 4) { // parse the 32 bit hex into an integer codepoint - uint codePoint; - if (!(success = uint.TryParse(new string(json, index, 4), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out codePoint))) { + if (!(success = uint.TryParse(new string(json, index, 4), NumberStyles.HexNumber, CultureInfo.InvariantCulture, out var codePoint))) { return ""; } // convert the integer codepoint to a unicode char and add to string @@ -249,8 +248,7 @@ namespace GreenshotPlugin.Core { int lastIndex = GetLastIndexOfNumber(json, index); int charLength = (lastIndex - index) + 1; - double number; - success = double.TryParse(new string(json, index, charLength), NumberStyles.Any, CultureInfo.InvariantCulture, out number); + success = double.TryParse(new string(json, index, charLength), NumberStyles.Any, CultureInfo.InvariantCulture, out var number); index = lastIndex + 1; return number; diff --git a/GreenshotPlugin/Core/Language.cs b/GreenshotPlugin/Core/Language.cs index 986623659..0ceb3659d 100644 --- a/GreenshotPlugin/Core/Language.cs +++ b/GreenshotPlugin/Core/Language.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -87,20 +87,20 @@ namespace GreenshotPlugin.Core { Log.Error(pathException); } - try { - using (RegistryKey languageGroupsKey = Registry.LocalMachine.OpenSubKey(LanguageGroupsKey, false)) { - if (languageGroupsKey != null) { - string [] groups = languageGroupsKey.GetValueNames(); - foreach(string group in groups) { - string groupValue = (string)languageGroupsKey.GetValue(group); - bool isGroupNotInstalled = "0".Equals(groupValue); - if (isGroupNotInstalled) { - UnsupportedLanguageGroups.Add(group.ToLower()); - } - } - } - } - } catch(Exception e) { + try + { + using RegistryKey languageGroupsKey = Registry.LocalMachine.OpenSubKey(LanguageGroupsKey, false); + if (languageGroupsKey != null) { + string [] groups = languageGroupsKey.GetValueNames(); + foreach(string group in groups) { + string groupValue = (string)languageGroupsKey.GetValue(@group); + bool isGroupNotInstalled = "0".Equals(groupValue); + if (isGroupNotInstalled) { + UnsupportedLanguageGroups.Add(@group.ToLower()); + } + } + } + } catch(Exception e) { Log.Warn("Couldn't read the installed language groups.", e); } @@ -611,8 +611,8 @@ namespace GreenshotPlugin.Core { if (key == null) { return null; } - string returnValue; - if (!Resources.TryGetValue(key, out returnValue)) { + + if (!Resources.TryGetValue(key, out var returnValue)) { return "string ###" + key + "### not found"; } return returnValue; @@ -657,8 +657,7 @@ namespace GreenshotPlugin.Core { /// /// formatted resource or a "string ###key### not found" public static string GetFormattedString(string key, object param) { - string returnValue; - if (!Resources.TryGetValue(key, out returnValue)) { + if (!Resources.TryGetValue(key, out var returnValue)) { return "string ###" + key + "### not found"; } return string.Format(returnValue, param); diff --git a/GreenshotPlugin/Core/LogHelper.cs b/GreenshotPlugin/Core/LogHelper.cs index 8d7ab2368..04d21b6fc 100644 --- a/GreenshotPlugin/Core/LogHelper.cs +++ b/GreenshotPlugin/Core/LogHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -64,12 +64,11 @@ namespace GreenshotPlugin.Core { if (!_isLog4NetConfigured) { try { Assembly assembly = typeof(LogHelper).Assembly; - using (Stream stream = assembly.GetManifestResourceStream("GreenshotPlugin.log4net-embedded.xml")) { - XmlConfigurator.Configure(stream); - _isLog4NetConfigured = true; - IniConfig.ForceIniInStartupPath(); - } - } catch (Exception ex){ + using Stream stream = assembly.GetManifestResourceStream("GreenshotPlugin.log4net-embedded.xml"); + XmlConfigurator.Configure(stream); + _isLog4NetConfigured = true; + IniConfig.ForceIniInStartupPath(); + } catch (Exception ex){ MessageBox.Show(ex.Message, InitMessage, MessageBoxButtons.OK, MessageBoxIcon.Warning); } } diff --git a/GreenshotPlugin/Core/NetworkHelper.cs b/GreenshotPlugin/Core/NetworkHelper.cs index d8874cc65..2872dcc97 100644 --- a/GreenshotPlugin/Core/NetworkHelper.cs +++ b/GreenshotPlugin/Core/NetworkHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -82,23 +82,17 @@ namespace GreenshotPlugin.Core { Uri url = new Uri(baseUri, new Uri("favicon.ico")); try { HttpWebRequest request = CreateWebRequest(url); - using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) - { - if (request.HaveResponse) - { - using (Stream responseStream = response.GetResponseStream()) - { - if (responseStream != null) - { - using (Image image = ImageHelper.FromStream(responseStream)) - { - return image.Height > 16 && image.Width > 16 ? new Bitmap(image, 16, 16) : new Bitmap(image); - } - } - } - } - } - } catch (Exception e) { + using HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + if (request.HaveResponse) + { + using Stream responseStream = response.GetResponseStream(); + if (responseStream != null) + { + using Image image = ImageHelper.FromStream(responseStream); + return image.Height > 16 && image.Width > 16 ? new Bitmap(image, 16, 16) : new Bitmap(image); + } + } + } catch (Exception e) { Log.Error("Problem downloading the FavIcon from: " + baseUri, e); } return null; @@ -111,16 +105,15 @@ namespace GreenshotPlugin.Core { /// MemoryStream which is already seeked to 0 public static MemoryStream GetAsMemoryStream(string url) { HttpWebRequest request = CreateWebRequest(url); - using (HttpWebResponse response = (HttpWebResponse)request.GetResponse()) { - MemoryStream memoryStream = new MemoryStream(); - using (Stream responseStream = response.GetResponseStream()) { - responseStream?.CopyTo(memoryStream); - // Make sure it can be used directly - memoryStream.Seek(0, SeekOrigin.Begin); - } - return memoryStream; - } - } + using HttpWebResponse response = (HttpWebResponse)request.GetResponse(); + MemoryStream memoryStream = new MemoryStream(); + using (Stream responseStream = response.GetResponseStream()) { + responseStream?.CopyTo(memoryStream); + // Make sure it can be used directly + memoryStream.Seek(0, SeekOrigin.Begin); + } + return memoryStream; + } /// /// Download the uri to Bitmap @@ -143,37 +136,34 @@ namespace GreenshotPlugin.Core { var imageUrlRegex = new Regex($@"(http|https)://.*(?{extensions})"); var match = imageUrlRegex.Match(url); try - { - using (var memoryStream = GetAsMemoryStream(url)) - { - try - { - return ImageHelper.FromStream(memoryStream, match.Success ? match.Groups["extension"]?.Value : null); - } - catch (Exception) - { - // If we arrive here, the image loading didn't work, try to see if the response has a http(s) URL to an image and just take this instead. - string content; - using (StreamReader streamReader = new StreamReader(memoryStream, Encoding.UTF8, true)) - { - content = streamReader.ReadLine(); - } - if (string.IsNullOrEmpty(content)) - { - throw; - } - match = imageUrlRegex.Match(content); - if (!match.Success) - { - throw; - } - using (var memoryStream2 = GetAsMemoryStream(match.Value)) - { - return ImageHelper.FromStream(memoryStream2, match.Groups["extension"]?.Value); - } - } - } - } + { + using var memoryStream = GetAsMemoryStream(url); + try + { + return ImageHelper.FromStream(memoryStream, match.Success ? match.Groups["extension"]?.Value : null); + } + catch (Exception) + { + // If we arrive here, the image loading didn't work, try to see if the response has a http(s) URL to an image and just take this instead. + string content; + using (StreamReader streamReader = new StreamReader(memoryStream, Encoding.UTF8, true)) + { + content = streamReader.ReadLine(); + } + if (string.IsNullOrEmpty(content)) + { + throw; + } + match = imageUrlRegex.Match(content); + if (!match.Success) + { + throw; + } + + using var memoryStream2 = GetAsMemoryStream(match.Value); + return ImageHelper.FromStream(memoryStream2, match.Groups["extension"]?.Value); + } + } catch (Exception e) { Log.Error("Problem downloading the image from: " + url, e); @@ -291,7 +281,7 @@ namespace GreenshotPlugin.Core { while (currentLocation < text.Length) { string process = text.Substring(currentLocation, Math.Min(16384, text.Length - currentLocation)); result.Append(Uri.EscapeDataString(process)); - currentLocation = currentLocation + 16384; + currentLocation += 16384; } return result.ToString(); } @@ -363,10 +353,9 @@ namespace GreenshotPlugin.Core { public static void WriteMultipartFormData(HttpWebRequest webRequest, IDictionary postParameters) { string boundary = $"----------{Guid.NewGuid():N}"; webRequest.ContentType = "multipart/form-data; boundary=" + boundary; - using (Stream formDataStream = webRequest.GetRequestStream()) { - WriteMultipartFormData(formDataStream, boundary, postParameters); - } - } + using Stream formDataStream = webRequest.GetRequestStream(); + WriteMultipartFormData(formDataStream, boundary, postParameters); + } /// /// Write Multipart Form Data to the HttpListenerResponse @@ -396,8 +385,7 @@ namespace GreenshotPlugin.Core { needsClrf = true; - var binaryContainer = param.Value as IBinaryContainer; - if (binaryContainer != null) { + if (param.Value is IBinaryContainer binaryContainer) { binaryContainer.WriteFormDataToStream(boundary, param.Key, formDataStream); } else { string postData = $"--{boundary}\r\nContent-Disposition: form-data; name=\"{param.Key}\"\r\n\r\n{param.Value}"; @@ -420,10 +408,9 @@ namespace GreenshotPlugin.Core { string urlEncoded = GenerateQueryParameters(parameters); byte[] data = Encoding.UTF8.GetBytes(urlEncoded); - using (var requestStream = webRequest.GetRequestStream()) { - requestStream.Write(data, 0, data.Length); - } - } + using var requestStream = webRequest.GetRequestStream(); + requestStream.Write(data, 0, data.Length); + } /// /// Log the headers of the WebResponse, if IsDebugEnabled @@ -465,12 +452,10 @@ namespace GreenshotPlugin.Core { { Stream responseStream = response.GetResponseStream(); if (responseStream != null) - { - using (StreamReader reader = new StreamReader(responseStream, true)) - { - responseData = reader.ReadToEnd(); - } - } + { + using StreamReader reader = new StreamReader(responseStream, true); + responseData = reader.ReadToEnd(); + } } return responseData; } @@ -543,12 +528,10 @@ namespace GreenshotPlugin.Core { try { HttpWebRequest webRequest = CreateWebRequest(uri); webRequest.Method = HTTPMethod.HEAD.ToString(); - using (HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse()) - { - Log.DebugFormat("RSS feed was updated at {0}", webResponse.LastModified); - return webResponse.LastModified; - } - } catch (Exception wE) { + using HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse(); + Log.DebugFormat("RSS feed was updated at {0}", webResponse.LastModified); + return webResponse.LastModified; + } catch (Exception wE) { Log.WarnFormat("Problem requesting HTTP - HEAD on uri {0}", uri); Log.Warn(wE.Message); // Pretend it is old @@ -639,10 +622,9 @@ namespace GreenshotPlugin.Core { public void Upload(HttpWebRequest webRequest) { webRequest.ContentType = _contentType; webRequest.ContentLength = _fileSize; - using (var requestStream = webRequest.GetRequestStream()) { - WriteToStream(requestStream); - } - } + using var requestStream = webRequest.GetRequestStream(); + WriteToStream(requestStream); + } public string ContentType => _contentType; public string Filename { get; set; } @@ -666,24 +648,24 @@ namespace GreenshotPlugin.Core { /// Should be avoided if possible, as this uses a lot of memory. /// /// string - public string ToBase64String(Base64FormattingOptions formattingOptions) { - using (MemoryStream stream = new MemoryStream()) { - ImageOutput.SaveToStream(_bitmap, null, stream, _outputSettings); - return Convert.ToBase64String(stream.GetBuffer(), 0, (int)stream.Length, formattingOptions); - } - } + public string ToBase64String(Base64FormattingOptions formattingOptions) + { + using MemoryStream stream = new MemoryStream(); + ImageOutput.SaveToStream(_bitmap, null, stream, _outputSettings); + return Convert.ToBase64String(stream.GetBuffer(), 0, (int)stream.Length, formattingOptions); + } /// /// Create a byte[] from the image by saving it to a memory stream. /// Should be avoided if possible, as this uses a lot of memory. /// /// byte[] - public byte[] ToByteArray() { - using (MemoryStream stream = new MemoryStream()) { - ImageOutput.SaveToStream(_bitmap, null, stream, _outputSettings); - return stream.ToArray(); - } - } + public byte[] ToByteArray() + { + using MemoryStream stream = new MemoryStream(); + ImageOutput.SaveToStream(_bitmap, null, stream, _outputSettings); + return stream.ToArray(); + } /// /// Write Multipart Form Data directly to the HttpWebRequest response stream @@ -714,10 +696,9 @@ namespace GreenshotPlugin.Core { /// public void Upload(HttpWebRequest webRequest) { webRequest.ContentType = "image/" + _outputSettings.Format; - using (var requestStream = webRequest.GetRequestStream()) { - WriteToStream(requestStream); - } - } + using var requestStream = webRequest.GetRequestStream(); + WriteToStream(requestStream); + } public string ContentType => "image/" + _outputSettings.Format; @@ -742,24 +723,24 @@ namespace GreenshotPlugin.Core { /// Should be avoided if possible, as this uses a lot of memory. /// /// string - public string ToBase64String(Base64FormattingOptions formattingOptions) { - using (MemoryStream stream = new MemoryStream()) { - ImageOutput.SaveToStream(_surface, stream, _outputSettings); - return Convert.ToBase64String(stream.GetBuffer(), 0, (int)stream.Length, formattingOptions); - } - } + public string ToBase64String(Base64FormattingOptions formattingOptions) + { + using MemoryStream stream = new MemoryStream(); + ImageOutput.SaveToStream(_surface, stream, _outputSettings); + return Convert.ToBase64String(stream.GetBuffer(), 0, (int)stream.Length, formattingOptions); + } /// /// Create a byte[] from the image by saving it to a memory stream. /// Should be avoided if possible, as this uses a lot of memory. /// /// byte[] - public byte[] ToByteArray() { - using (MemoryStream stream = new MemoryStream()) { - ImageOutput.SaveToStream(_surface, stream, _outputSettings); - return stream.ToArray(); - } - } + public byte[] ToByteArray() + { + using MemoryStream stream = new MemoryStream(); + ImageOutput.SaveToStream(_surface, stream, _outputSettings); + return stream.ToArray(); + } /// /// Write Multipart Form Data directly to the HttpWebRequest response stream @@ -790,10 +771,9 @@ namespace GreenshotPlugin.Core { /// public void Upload(HttpWebRequest webRequest) { webRequest.ContentType = ContentType; - using (var requestStream = webRequest.GetRequestStream()) { - WriteToStream(requestStream); - } - } + using var requestStream = webRequest.GetRequestStream(); + WriteToStream(requestStream); + } public string ContentType => "image/" + _outputSettings.Format; public string Filename { get; set; } diff --git a/GreenshotPlugin/Core/OAuthHelper.cs b/GreenshotPlugin/Core/OAuthHelper.cs index eb0f90353..3908a6702 100644 --- a/GreenshotPlugin/Core/OAuthHelper.cs +++ b/GreenshotPlugin/Core/OAuthHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -250,8 +250,7 @@ namespace GreenshotPlugin.Core { // default _browser size - #region PublicProperties - public HTTPMethod RequestTokenMethod { + public HTTPMethod RequestTokenMethod { get; set; } @@ -311,10 +310,8 @@ namespace GreenshotPlugin.Core { get; set; } - - #endregion - /// + /// /// Create an OAuthSession with the consumerKey / consumerSecret /// /// "Public" key for the encoding. When using RSASHA1 this is the path to the private key file @@ -431,8 +428,7 @@ namespace GreenshotPlugin.Core { response = NetworkHelper.UrlDecode(response); Log.DebugFormat("Request token response: {0}", response); _requestTokenResponseParameters = NetworkHelper.ParseQueryString(response); - string value; - if (_requestTokenResponseParameters.TryGetValue(OAUTH_TOKEN_KEY, out value)) { + if (_requestTokenResponseParameters.TryGetValue(OAUTH_TOKEN_KEY, out var value)) { Token = value; TokenSecret = _requestTokenResponseParameters[OAUTH_TOKEN_SECRET_KEY]; } @@ -455,12 +451,11 @@ namespace GreenshotPlugin.Core { oAuthLoginForm.ShowDialog(); if (oAuthLoginForm.IsOk) { if (oAuthLoginForm.CallbackParameters != null) { - string tokenValue; - if (oAuthLoginForm.CallbackParameters.TryGetValue(OAUTH_TOKEN_KEY, out tokenValue)) { + if (oAuthLoginForm.CallbackParameters.TryGetValue(OAUTH_TOKEN_KEY, out var tokenValue)) { Token = tokenValue; } - string verifierValue; - if (oAuthLoginForm.CallbackParameters.TryGetValue(OAUTH_VERIFIER_KEY, out verifierValue)) { + + if (oAuthLoginForm.CallbackParameters.TryGetValue(OAUTH_VERIFIER_KEY, out var verifierValue)) { Verifier = verifierValue; } } @@ -491,12 +486,11 @@ namespace GreenshotPlugin.Core { response = NetworkHelper.UrlDecode(response); Log.DebugFormat("Access token response: {0}", response); AccessTokenResponseParameters = NetworkHelper.ParseQueryString(response); - string tokenValue; - if (AccessTokenResponseParameters.TryGetValue(OAUTH_TOKEN_KEY, out tokenValue) && tokenValue != null) { + if (AccessTokenResponseParameters.TryGetValue(OAUTH_TOKEN_KEY, out var tokenValue) && tokenValue != null) { Token = tokenValue; } - string secretValue; - if (AccessTokenResponseParameters.TryGetValue(OAUTH_TOKEN_SECRET_KEY, out secretValue) && secretValue != null) { + + if (AccessTokenResponseParameters.TryGetValue(OAUTH_TOKEN_SECRET_KEY, out var secretValue) && secretValue != null) { TokenSecret = secretValue; } } @@ -780,10 +774,9 @@ namespace GreenshotPlugin.Core { } webRequest.ContentType = "application/x-www-form-urlencoded"; byte[] data = Encoding.UTF8.GetBytes(form.ToString()); - using (var requestStream = webRequest.GetRequestStream()) { - requestStream.Write(data, 0, data.Length); - } - } + using var requestStream = webRequest.GetRequestStream(); + requestStream.Write(data, 0, data.Length); + } } else if (postData != null) { postData.Upload(webRequest); } else { @@ -921,10 +914,9 @@ Greenshot received information from CloudServiceName. You can close this browser byte[] buffer = Encoding.UTF8.GetBytes(ClosePageResponse.Replace("CloudServiceName", _cloudServiceName)); // Write to response stream. response.ContentLength64 = buffer.Length; - using (var stream = response.OutputStream) { - stream.Write(buffer, 0, buffer.Length); - } - } + using var stream = response.OutputStream; + stream.Write(buffer, 0, buffer.Length); + } // Create a new response URL with a dictionary that contains all the response query parameters. foreach (var name in nameValueCollection.AllKeys) { @@ -973,13 +965,15 @@ Greenshot received information from CloudServiceName. You can close this browser /// /// OAuth2Settings to update with the information that was retrieved public static void GenerateRefreshToken(OAuth2Settings settings) { - IDictionary data = new Dictionary(); - // Use the returned code to get a refresh code - data.Add(Code, settings.Code); - data.Add(ClientId, settings.ClientId); - data.Add(RedirectUri, settings.RedirectUrl); - data.Add(ClientSecret, settings.ClientSecret); - data.Add(GrantType, AuthorizationCode); + IDictionary data = new Dictionary + { + // Use the returned code to get a refresh code + { Code, settings.Code }, + { ClientId, settings.ClientId }, + { RedirectUri, settings.RedirectUrl }, + { ClientSecret, settings.ClientSecret }, + { GrantType, AuthorizationCode } + }; foreach (string key in settings.AdditionalAttributes.Keys) { data.Add(key, settings.AdditionalAttributes[key]); } @@ -1044,8 +1038,7 @@ Greenshot received information from CloudServiceName. You can close this browser settings.AccessTokenExpires = DateTimeOffset.MaxValue; if (expiresIn != null) { - double seconds; - if (double.TryParse(expiresIn, out seconds)) + if (double.TryParse(expiresIn, out var seconds)) { settings.AccessTokenExpires = DateTimeOffset.Now.AddSeconds(seconds); } @@ -1061,11 +1054,13 @@ Greenshot received information from CloudServiceName. You can close this browser /// /// public static void GenerateAccessToken(OAuth2Settings settings) { - IDictionary data = new Dictionary(); - data.Add(RefreshToken, settings.RefreshToken); - data.Add(ClientId, settings.ClientId); - data.Add(ClientSecret, settings.ClientSecret); - data.Add(GrantType, RefreshToken); + IDictionary data = new Dictionary + { + { RefreshToken, settings.RefreshToken }, + { ClientId, settings.ClientId }, + { ClientSecret, settings.ClientSecret }, + { GrantType, RefreshToken } + }; foreach (string key in settings.AdditionalAttributes.Keys) { data.Add(key, settings.AdditionalAttributes[key]); } @@ -1122,17 +1117,12 @@ Greenshot received information from CloudServiceName. You can close this browser /// OAuth2Settings /// false if it was canceled, true if it worked, exception if not public static bool Authenticate(OAuth2Settings settings) { - bool completed; - switch (settings.AuthorizeMode) { - case OAuth2AuthorizeMode.LocalServer: - completed = AuthenticateViaLocalServer(settings); - break; - case OAuth2AuthorizeMode.EmbeddedBrowser: - completed = AuthenticateViaEmbeddedBrowser(settings); - break; - default: - throw new NotImplementedException($"Authorize mode '{settings.AuthorizeMode}' is not 'yet' implemented."); - } + var completed = settings.AuthorizeMode switch + { + OAuth2AuthorizeMode.LocalServer => AuthenticateViaLocalServer(settings), + OAuth2AuthorizeMode.EmbeddedBrowser => AuthenticateViaEmbeddedBrowser(settings), + _ => throw new NotImplementedException($"Authorize mode '{settings.AuthorizeMode}' is not 'yet' implemented."), + }; return completed; } @@ -1152,8 +1142,7 @@ Greenshot received information from CloudServiceName. You can close this browser OAuthLoginForm loginForm = new OAuthLoginForm($"Authorize {settings.CloudServiceName}", settings.BrowserSize, settings.FormattedAuthUrl, settings.RedirectUrl); loginForm.ShowDialog(); if (loginForm.IsOk) { - string code; - if (loginForm.CallbackParameters.TryGetValue(Code, out code) && !string.IsNullOrEmpty(code)) { + if (loginForm.CallbackParameters.TryGetValue(Code, out var code) && !string.IsNullOrEmpty(code)) { settings.Code = code; GenerateRefreshToken(settings); return true; @@ -1173,16 +1162,14 @@ Greenshot received information from CloudServiceName. You can close this browser var codeReceiver = new LocalServerCodeReceiver(); IDictionary result = codeReceiver.ReceiveCode(settings); - string code; - if (result.TryGetValue(Code, out code) && !string.IsNullOrEmpty(code)) { + if (result.TryGetValue(Code, out var code) && !string.IsNullOrEmpty(code)) { settings.Code = code; GenerateRefreshToken(settings); return true; } - string error; - if (result.TryGetValue("error", out error)) { - string errorDescription; - if (result.TryGetValue("error_description", out errorDescription)) { + + if (result.TryGetValue("error", out var error)) { + if (result.TryGetValue("error_description", out var errorDescription)) { throw new Exception(errorDescription); } if ("access_denied" == error) { diff --git a/GreenshotPlugin/Core/ObjectExtensions.cs b/GreenshotPlugin/Core/ObjectExtensions.cs index 0e31fd5d5..491d24238 100644 --- a/GreenshotPlugin/Core/ObjectExtensions.cs +++ b/GreenshotPlugin/Core/ObjectExtensions.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -48,16 +48,15 @@ namespace GreenshotPlugin.Core { // Don't serialize a null object, simply return the default for that object if (source == null) { - return default(T); + return default; } IFormatter formatter = new BinaryFormatter(); - using (var stream = new MemoryStream()) { - formatter.Serialize(stream, source); - stream.Seek(0, SeekOrigin.Begin); - return (T)formatter.Deserialize(stream); - } - } + using var stream = new MemoryStream(); + formatter.Serialize(stream, source); + stream.Seek(0, SeekOrigin.Begin); + return (T)formatter.Deserialize(stream); + } /// /// Clone the content from source to destination diff --git a/GreenshotPlugin/Core/OperatingSystemExtensions.cs b/GreenshotPlugin/Core/OperatingSystemExtensions.cs index 678a65058..3560576c6 100644 --- a/GreenshotPlugin/Core/OperatingSystemExtensions.cs +++ b/GreenshotPlugin/Core/OperatingSystemExtensions.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub: https://github.com/greenshot diff --git a/GreenshotPlugin/Core/PluginUtils.cs b/GreenshotPlugin/Core/PluginUtils.cs index 4ef0fd8ee..4edb453c2 100644 --- a/GreenshotPlugin/Core/PluginUtils.cs +++ b/GreenshotPlugin/Core/PluginUtils.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -59,21 +59,19 @@ namespace GreenshotPlugin.Core { /// /// private static void OnIconSizeChanged(object sender, PropertyChangedEventArgs e) { - if (e.PropertyName == "IconSize") { - List cachedImages = new List(); - lock (ExeIconCache) { - foreach (string key in ExeIconCache.Keys) { - cachedImages.Add(ExeIconCache[key]); - } - ExeIconCache.Clear(); - } - foreach (Image cachedImage in cachedImages) - { - cachedImage?.Dispose(); - } - - } - } + if (e.PropertyName != "IconSize") return; + List cachedImages = new List(); + lock (ExeIconCache) { + foreach (string key in ExeIconCache.Keys) { + cachedImages.Add(ExeIconCache[key]); + } + ExeIconCache.Clear(); + } + foreach (Image cachedImage in cachedImages) + { + cachedImage?.Dispose(); + } + } /// /// Get the path of an executable diff --git a/GreenshotPlugin/Core/QuantizerHelper.cs b/GreenshotPlugin/Core/QuantizerHelper.cs index 4b3267726..0946b4385 100644 --- a/GreenshotPlugin/Core/QuantizerHelper.cs +++ b/GreenshotPlugin/Core/QuantizerHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -155,47 +155,45 @@ namespace GreenshotPlugin.Core { } // Use a bitmap to store the initial match, which is just as good as an array and saves us 2x the storage - using (IFastBitmap sourceFastBitmap = FastBitmap.Create(sourceBitmap)) { - IFastBitmapWithBlend sourceFastBitmapWithBlend = sourceFastBitmap as IFastBitmapWithBlend; - sourceFastBitmap.Lock(); - using (FastChunkyBitmap destinationFastBitmap = FastBitmap.CreateEmpty(sourceBitmap.Size, PixelFormat.Format8bppIndexed, Color.White) as FastChunkyBitmap) { - destinationFastBitmap.Lock(); - for (int y = 0; y < sourceFastBitmap.Height; y++) { - for (int x = 0; x < sourceFastBitmap.Width; x++) { - Color color; - if (sourceFastBitmapWithBlend == null) { - color = sourceFastBitmap.GetColorAt(x, y); - } else { - color = sourceFastBitmapWithBlend.GetBlendedColorAt(x, y); - } - // To count the colors - int index = color.ToArgb() & 0x00ffffff; - // Check if we already have this color - if (!bitArray.Get(index)) { - // If not, add 1 to the single colors - colorCount++; - bitArray.Set(index, true); - } + using IFastBitmap sourceFastBitmap = FastBitmap.Create(sourceBitmap); + IFastBitmapWithBlend sourceFastBitmapWithBlend = sourceFastBitmap as IFastBitmapWithBlend; + sourceFastBitmap.Lock(); + using FastChunkyBitmap destinationFastBitmap = FastBitmap.CreateEmpty(sourceBitmap.Size, PixelFormat.Format8bppIndexed, Color.White) as FastChunkyBitmap; + destinationFastBitmap.Lock(); + for (int y = 0; y < sourceFastBitmap.Height; y++) { + for (int x = 0; x < sourceFastBitmap.Width; x++) { + Color color; + if (sourceFastBitmapWithBlend == null) { + color = sourceFastBitmap.GetColorAt(x, y); + } else { + color = sourceFastBitmapWithBlend.GetBlendedColorAt(x, y); + } + // To count the colors + int index = color.ToArgb() & 0x00ffffff; + // Check if we already have this color + if (!bitArray.Get(index)) { + // If not, add 1 to the single colors + colorCount++; + bitArray.Set(index, true); + } - int indexRed = (color.R >> 3) + 1; - int indexGreen = (color.G >> 3) + 1; - int indexBlue = (color.B >> 3) + 1; + int indexRed = (color.R >> 3) + 1; + int indexGreen = (color.G >> 3) + 1; + int indexBlue = (color.B >> 3) + 1; - weights[indexRed, indexGreen, indexBlue]++; - momentsRed[indexRed, indexGreen, indexBlue] += color.R; - momentsGreen[indexRed, indexGreen, indexBlue] += color.G; - momentsBlue[indexRed, indexGreen, indexBlue] += color.B; - moments[indexRed, indexGreen, indexBlue] += table[color.R] + table[color.G] + table[color.B]; + weights[indexRed, indexGreen, indexBlue]++; + momentsRed[indexRed, indexGreen, indexBlue] += color.R; + momentsGreen[indexRed, indexGreen, indexBlue] += color.G; + momentsBlue[indexRed, indexGreen, indexBlue] += color.B; + moments[indexRed, indexGreen, indexBlue] += table[color.R] + table[color.G] + table[color.B]; - // Store the initial "match" - int paletteIndex = (indexRed << 10) + (indexRed << 6) + indexRed + (indexGreen << 5) + indexGreen + indexBlue; - destinationFastBitmap.SetColorIndexAt(x, y, (byte)(paletteIndex & 0xff)); - } - } - resultBitmap = destinationFastBitmap.UnlockAndReturnBitmap(); - } - } - } + // Store the initial "match" + int paletteIndex = (indexRed << 10) + (indexRed << 6) + indexRed + (indexGreen << 5) + indexGreen + indexBlue; + destinationFastBitmap.SetColorIndexAt(x, y, (byte)(paletteIndex & 0xff)); + } + } + resultBitmap = destinationFastBitmap.UnlockAndReturnBitmap(); + } /// /// See for more details. @@ -213,31 +211,30 @@ namespace GreenshotPlugin.Core { Dictionary lookup = new Dictionary(); using (FastChunkyBitmap bbbDest = FastBitmap.Create(resultBitmap) as FastChunkyBitmap) { bbbDest.Lock(); - using (IFastBitmap bbbSrc = FastBitmap.Create(sourceBitmap)) { - IFastBitmapWithBlend bbbSrcBlend = bbbSrc as IFastBitmapWithBlend; + using IFastBitmap bbbSrc = FastBitmap.Create(sourceBitmap); + IFastBitmapWithBlend bbbSrcBlend = bbbSrc as IFastBitmapWithBlend; - bbbSrc.Lock(); - byte index; - for (int y = 0; y < bbbSrc.Height; y++) { - for (int x = 0; x < bbbSrc.Width; x++) { - Color color; - if (bbbSrcBlend != null) { - color = bbbSrcBlend.GetBlendedColorAt(x, y); - } else { - color = bbbSrc.GetColorAt(x, y); - } - if (lookup.ContainsKey(color)) { - index = lookup[color]; - } else { - colors.Add(color); - index = (byte)(colors.Count - 1); - lookup.Add(color, index); - } - bbbDest.SetColorIndexAt(x, y, index); - } - } - } - } + bbbSrc.Lock(); + byte index; + for (int y = 0; y < bbbSrc.Height; y++) { + for (int x = 0; x < bbbSrc.Width; x++) { + Color color; + if (bbbSrcBlend != null) { + color = bbbSrcBlend.GetBlendedColorAt(x, y); + } else { + color = bbbSrc.GetColorAt(x, y); + } + if (lookup.ContainsKey(color)) { + index = lookup[color]; + } else { + colors.Add(color); + index = (byte)(colors.Count - 1); + lookup.Add(color, index); + } + bbbDest.SetColorIndexAt(x, y, index); + } + } + } // generates palette ColorPalette imagePalette = resultBitmap.Palette; @@ -333,61 +330,61 @@ namespace GreenshotPlugin.Core { LOG.Info("Starting bitmap reconstruction..."); - using (FastChunkyBitmap dest = FastBitmap.Create(resultBitmap) as FastChunkyBitmap) { - using (IFastBitmap src = FastBitmap.Create(sourceBitmap)) { - IFastBitmapWithBlend srcBlend = src as IFastBitmapWithBlend; - Dictionary lookup = new Dictionary(); - for (int y = 0; y < src.Height; y++) { - for (int x = 0; x < src.Width; x++) { - Color color; - if (srcBlend != null) { - // WithoutAlpha, this makes it possible to ignore the alpha - color = srcBlend.GetBlendedColorAt(x, y); - } else { - color = src.GetColorAt(x, y); - } + using (FastChunkyBitmap dest = FastBitmap.Create(resultBitmap) as FastChunkyBitmap) + { + using IFastBitmap src = FastBitmap.Create(sourceBitmap); + IFastBitmapWithBlend srcBlend = src as IFastBitmapWithBlend; + Dictionary lookup = new Dictionary(); + for (int y = 0; y < src.Height; y++) { + for (int x = 0; x < src.Width; x++) { + Color color; + if (srcBlend != null) { + // WithoutAlpha, this makes it possible to ignore the alpha + color = srcBlend.GetBlendedColorAt(x, y); + } else { + color = src.GetColorAt(x, y); + } - // Check if we already matched the color - byte bestMatch; - if (!lookup.ContainsKey(color)) { - // If not we need to find the best match + // Check if we already matched the color + byte bestMatch; + if (!lookup.ContainsKey(color)) { + // If not we need to find the best match - // First get initial match - bestMatch = dest.GetColorIndexAt(x, y); - bestMatch = tag[bestMatch]; + // First get initial match + bestMatch = dest.GetColorIndexAt(x, y); + bestMatch = tag[bestMatch]; - int bestDistance = 100000000; - for (int lookupIndex = 0; lookupIndex < allowedColorCount; lookupIndex++) { - int foundRed = lookupRed[lookupIndex]; - int foundGreen = lookupGreen[lookupIndex]; - int foundBlue = lookupBlue[lookupIndex]; - int deltaRed = color.R - foundRed; - int deltaGreen = color.G - foundGreen; - int deltaBlue = color.B - foundBlue; + int bestDistance = 100000000; + for (int lookupIndex = 0; lookupIndex < allowedColorCount; lookupIndex++) { + int foundRed = lookupRed[lookupIndex]; + int foundGreen = lookupGreen[lookupIndex]; + int foundBlue = lookupBlue[lookupIndex]; + int deltaRed = color.R - foundRed; + int deltaGreen = color.G - foundGreen; + int deltaBlue = color.B - foundBlue; - int distance = deltaRed * deltaRed + deltaGreen * deltaGreen + deltaBlue * deltaBlue; + int distance = deltaRed * deltaRed + deltaGreen * deltaGreen + deltaBlue * deltaBlue; - if (distance < bestDistance) { - bestDistance = distance; - bestMatch = (byte)lookupIndex; - } - } - lookup.Add(color, bestMatch); - } else { - // Already matched, so we just use the lookup - bestMatch = lookup[color]; - } + if (distance < bestDistance) { + bestDistance = distance; + bestMatch = (byte)lookupIndex; + } + } + lookup.Add(color, bestMatch); + } else { + // Already matched, so we just use the lookup + bestMatch = lookup[color]; + } - reds[bestMatch] += color.R; - greens[bestMatch] += color.G; - blues[bestMatch] += color.B; - sums[bestMatch]++; + reds[bestMatch] += color.R; + greens[bestMatch] += color.G; + blues[bestMatch] += color.B; + sums[bestMatch]++; - dest.SetColorIndexAt(x, y, bestMatch); - } - } - } - } + dest.SetColorIndexAt(x, y, bestMatch); + } + } + } // generates palette @@ -491,56 +488,46 @@ namespace GreenshotPlugin.Core { /// Splits the cube in given position, and color direction. /// private static long Top(WuColorCube cube, int direction, int position, long[,,] moment) { - switch (direction) { - case RED: - return (moment[position, cube.GreenMaximum, cube.BlueMaximum] - - moment[position, cube.GreenMaximum, cube.BlueMinimum] - - moment[position, cube.GreenMinimum, cube.BlueMaximum] + - moment[position, cube.GreenMinimum, cube.BlueMinimum]); - - case GREEN: - return (moment[cube.RedMaximum, position, cube.BlueMaximum] - - moment[cube.RedMaximum, position, cube.BlueMinimum] - - moment[cube.RedMinimum, position, cube.BlueMaximum] + - moment[cube.RedMinimum, position, cube.BlueMinimum]); - - case BLUE: - return (moment[cube.RedMaximum, cube.GreenMaximum, position] - - moment[cube.RedMaximum, cube.GreenMinimum, position] - - moment[cube.RedMinimum, cube.GreenMaximum, position] + - moment[cube.RedMinimum, cube.GreenMinimum, position]); - - default: - return 0; - } + return direction switch + { + RED => (moment[position, cube.GreenMaximum, cube.BlueMaximum] - + moment[position, cube.GreenMaximum, cube.BlueMinimum] - + moment[position, cube.GreenMinimum, cube.BlueMaximum] + + moment[position, cube.GreenMinimum, cube.BlueMinimum]), + GREEN => (moment[cube.RedMaximum, position, cube.BlueMaximum] - + moment[cube.RedMaximum, position, cube.BlueMinimum] - + moment[cube.RedMinimum, position, cube.BlueMaximum] + + moment[cube.RedMinimum, position, cube.BlueMinimum]), + BLUE => (moment[cube.RedMaximum, cube.GreenMaximum, position] - + moment[cube.RedMaximum, cube.GreenMinimum, position] - + moment[cube.RedMinimum, cube.GreenMaximum, position] + + moment[cube.RedMinimum, cube.GreenMinimum, position]), + _ => 0, + }; } /// /// Splits the cube in a given color direction at its minimum. /// - private static long Bottom(WuColorCube cube, int direction, long[,,] moment) { - switch (direction) { - case RED: - return (-moment[cube.RedMinimum, cube.GreenMaximum, cube.BlueMaximum] + - moment[cube.RedMinimum, cube.GreenMaximum, cube.BlueMinimum] + - moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMaximum] - - moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMinimum]); - - case GREEN: - return (-moment[cube.RedMaximum, cube.GreenMinimum, cube.BlueMaximum] + - moment[cube.RedMaximum, cube.GreenMinimum, cube.BlueMinimum] + - moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMaximum] - - moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMinimum]); - - case BLUE: - return (-moment[cube.RedMaximum, cube.GreenMaximum, cube.BlueMinimum] + - moment[cube.RedMaximum, cube.GreenMinimum, cube.BlueMinimum] + - moment[cube.RedMinimum, cube.GreenMaximum, cube.BlueMinimum] - - moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMinimum]); - default: - return 0; - } - } + private static long Bottom(WuColorCube cube, int direction, long[,,] moment) + { + return direction switch + { + RED => (-moment[cube.RedMinimum, cube.GreenMaximum, cube.BlueMaximum] + + moment[cube.RedMinimum, cube.GreenMaximum, cube.BlueMinimum] + + moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMaximum] - + moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMinimum]), + GREEN => (-moment[cube.RedMaximum, cube.GreenMinimum, cube.BlueMaximum] + + moment[cube.RedMaximum, cube.GreenMinimum, cube.BlueMinimum] + + moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMaximum] - + moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMinimum]), + BLUE => (-moment[cube.RedMaximum, cube.GreenMaximum, cube.BlueMinimum] + + moment[cube.RedMaximum, cube.GreenMinimum, cube.BlueMinimum] + + moment[cube.RedMinimum, cube.GreenMaximum, cube.BlueMinimum] - + moment[cube.RedMinimum, cube.GreenMinimum, cube.BlueMinimum]), + _ => 0 + }; + } /// /// Calculates statistical variance for a given cube. diff --git a/GreenshotPlugin/Core/RssHelper.cs b/GreenshotPlugin/Core/RssHelper.cs index 445f5fd53..d66e124e8 100644 --- a/GreenshotPlugin/Core/RssHelper.cs +++ b/GreenshotPlugin/Core/RssHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Core/StringExtensions.cs b/GreenshotPlugin/Core/StringExtensions.cs index 7483fc967..6676500af 100644 --- a/GreenshotPlugin/Core/StringExtensions.cs +++ b/GreenshotPlugin/Core/StringExtensions.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -79,8 +79,7 @@ namespace GreenshotPlugin.Core { Group formatGroup = m.Groups["format"]; Group endGroup = m.Groups["end"]; - object value; - values.Add(properties.TryGetValue(propertyGroup.Value, out value) ? value : source); + values.Add(properties.TryGetValue(propertyGroup.Value, out var value) ? value : source); return new string('{', startGroup.Captures.Count) + (values.Count - 1) + formatGroup.Value + new string('}', endGroup.Captures.Count); }); @@ -97,18 +96,16 @@ namespace GreenshotPlugin.Core { try { byte[] clearTextBytes = Encoding.ASCII.GetBytes(clearText); SymmetricAlgorithm rijn = SymmetricAlgorithm.Create(); - - using (MemoryStream ms = new MemoryStream()) { - byte[] rgbIV = Encoding.ASCII.GetBytes(RGBIV); - byte[] key = Encoding.ASCII.GetBytes(KEY); - using (CryptoStream cs = new CryptoStream(ms, rijn.CreateEncryptor(key, rgbIV), CryptoStreamMode.Write)) { - cs.Write(clearTextBytes, 0, clearTextBytes.Length); - cs.FlushFinalBlock(); - returnValue = Convert.ToBase64String(ms.ToArray()); - } - } - } catch (Exception ex) { + using MemoryStream ms = new MemoryStream(); + byte[] rgbIV = Encoding.ASCII.GetBytes(RGBIV); + byte[] key = Encoding.ASCII.GetBytes(KEY); + using CryptoStream cs = new CryptoStream(ms, rijn.CreateEncryptor(key, rgbIV), CryptoStreamMode.Write); + cs.Write(clearTextBytes, 0, clearTextBytes.Length); + cs.FlushFinalBlock(); + + returnValue = Convert.ToBase64String(ms.ToArray()); + } catch (Exception ex) { LOG.ErrorFormat("Error encrypting, error: {0}", ex.Message); } return returnValue; @@ -123,21 +120,18 @@ namespace GreenshotPlugin.Core { string returnValue = encryptedText; try { byte[] encryptedTextBytes = Convert.FromBase64String(encryptedText); - using (MemoryStream ms = new MemoryStream()) { - SymmetricAlgorithm rijn = SymmetricAlgorithm.Create(); + using MemoryStream ms = new MemoryStream(); + SymmetricAlgorithm rijn = SymmetricAlgorithm.Create(); - byte[] rgbIV = Encoding.ASCII.GetBytes(RGBIV); - byte[] key = Encoding.ASCII.GetBytes(KEY); + byte[] rgbIV = Encoding.ASCII.GetBytes(RGBIV); + byte[] key = Encoding.ASCII.GetBytes(KEY); - using (CryptoStream cs = new CryptoStream(ms, rijn.CreateDecryptor(key, rgbIV), CryptoStreamMode.Write)) { - cs.Write(encryptedTextBytes, 0, encryptedTextBytes.Length); - cs.FlushFinalBlock(); - returnValue = Encoding.ASCII.GetString(ms.ToArray()); - } - - } - } catch (Exception ex) { + using CryptoStream cs = new CryptoStream(ms, rijn.CreateDecryptor(key, rgbIV), CryptoStreamMode.Write); + cs.Write(encryptedTextBytes, 0, encryptedTextBytes.Length); + cs.FlushFinalBlock(); + returnValue = Encoding.ASCII.GetString(ms.ToArray()); + } catch (Exception ex) { LOG.ErrorFormat("Error decrypting {0}, error: {1}", encryptedText, ex.Message); } diff --git a/GreenshotPlugin/Core/WindowCapture.cs b/GreenshotPlugin/Core/WindowCapture.cs index 2fa0aded5..657f409f0 100644 --- a/GreenshotPlugin/Core/WindowCapture.cs +++ b/GreenshotPlugin/Core/WindowCapture.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -374,8 +374,8 @@ namespace GreenshotPlugin.Core { { return false; } - CaptureElement other = obj as CaptureElement; - return other != null && Bounds.Equals(other.Bounds); + + return obj is CaptureElement other && Bounds.Equals(other.Bounds); } public override int GetHashCode() { @@ -456,31 +456,29 @@ namespace GreenshotPlugin.Core { CursorInfo cursorInfo = new CursorInfo(); cursorInfo.cbSize = Marshal.SizeOf(cursorInfo); if (User32.GetCursorInfo(out cursorInfo)) { - if (cursorInfo.flags == User32.CURSOR_SHOWING) { - using (SafeIconHandle safeIcon = User32.CopyIcon(cursorInfo.hCursor)) - { - IconInfo iconInfo; - if (User32.GetIconInfo(safeIcon, out iconInfo)) { - Point cursorLocation = User32.GetCursorLocation(); - // Allign cursor location to Bitmap coordinates (instead of Screen coordinates) - var x = cursorLocation.X - iconInfo.xHotspot - capture.ScreenBounds.X; - var y = cursorLocation.Y - iconInfo.yHotspot - capture.ScreenBounds.Y; - // Set the location - capture.CursorLocation = new Point(x, y); + if (cursorInfo.flags == User32.CURSOR_SHOWING) + { + using SafeIconHandle safeIcon = User32.CopyIcon(cursorInfo.hCursor); + if (User32.GetIconInfo(safeIcon, out var iconInfo)) { + Point cursorLocation = User32.GetCursorLocation(); + // Allign cursor location to Bitmap coordinates (instead of Screen coordinates) + var x = cursorLocation.X - iconInfo.xHotspot - capture.ScreenBounds.X; + var y = cursorLocation.Y - iconInfo.yHotspot - capture.ScreenBounds.Y; + // Set the location + capture.CursorLocation = new Point(x, y); - using (Icon icon = Icon.FromHandle(safeIcon.DangerousGetHandle())) { - capture.Cursor = icon; - } + using (Icon icon = Icon.FromHandle(safeIcon.DangerousGetHandle())) { + capture.Cursor = icon; + } - if (iconInfo.hbmMask != IntPtr.Zero) { - DeleteObject(iconInfo.hbmMask); - } - if (iconInfo.hbmColor != IntPtr.Zero) { - DeleteObject(iconInfo.hbmColor); - } - } - } - } + if (iconInfo.hbmMask != IntPtr.Zero) { + DeleteObject(iconInfo.hbmMask); + } + if (iconInfo.hbmColor != IntPtr.Zero) { + DeleteObject(iconInfo.hbmColor); + } + } + } } return capture; } @@ -629,102 +627,97 @@ namespace GreenshotPlugin.Core { } // create a device context we can copy to - using (SafeCompatibleDCHandle safeCompatibleDcHandle = GDI32.CreateCompatibleDC(desktopDcHandle)) { - // Check if the device context is there, if not throw an error with as much info as possible! - if (safeCompatibleDcHandle.IsInvalid) { - // Get Exception before the error is lost - Exception exceptionToThrow = CreateCaptureException("CreateCompatibleDC", captureBounds); - // throw exception - throw exceptionToThrow; - } - // Create BITMAPINFOHEADER for CreateDIBSection - BITMAPINFOHEADER bmi = new BITMAPINFOHEADER(captureBounds.Width, captureBounds.Height, 24); + using SafeCompatibleDCHandle safeCompatibleDcHandle = GDI32.CreateCompatibleDC(desktopDcHandle); + // Check if the device context is there, if not throw an error with as much info as possible! + if (safeCompatibleDcHandle.IsInvalid) { + // Get Exception before the error is lost + Exception exceptionToThrow = CreateCaptureException("CreateCompatibleDC", captureBounds); + // throw exception + throw exceptionToThrow; + } + // Create BITMAPINFOHEADER for CreateDIBSection + BITMAPINFOHEADER bmi = new BITMAPINFOHEADER(captureBounds.Width, captureBounds.Height, 24); - // Make sure the last error is set to 0 - Win32.SetLastError(0); + // Make sure the last error is set to 0 + Win32.SetLastError(0); - // create a bitmap we can copy it to, using GetDeviceCaps to get the width/height - IntPtr bits0; // not used for our purposes. It returns a pointer to the raw bits that make up the bitmap. - using (SafeDibSectionHandle safeDibSectionHandle = GDI32.CreateDIBSection(desktopDcHandle, ref bmi, BITMAPINFOHEADER.DIB_RGB_COLORS, out bits0, IntPtr.Zero, 0)) { - if (safeDibSectionHandle.IsInvalid) { - // Get Exception before the error is lost - Exception exceptionToThrow = CreateCaptureException("CreateDIBSection", captureBounds); - exceptionToThrow.Data.Add("hdcDest", safeCompatibleDcHandle.DangerousGetHandle().ToInt32()); - exceptionToThrow.Data.Add("hdcSrc", desktopDcHandle.DangerousGetHandle().ToInt32()); + // create a bitmap we can copy it to, using GetDeviceCaps to get the width/height + using SafeDibSectionHandle safeDibSectionHandle = GDI32.CreateDIBSection(desktopDcHandle, ref bmi, BITMAPINFOHEADER.DIB_RGB_COLORS, out var bits0, IntPtr.Zero, 0); + if (safeDibSectionHandle.IsInvalid) { + // Get Exception before the error is lost + Exception exceptionToThrow = CreateCaptureException("CreateDIBSection", captureBounds); + exceptionToThrow.Data.Add("hdcDest", safeCompatibleDcHandle.DangerousGetHandle().ToInt32()); + exceptionToThrow.Data.Add("hdcSrc", desktopDcHandle.DangerousGetHandle().ToInt32()); - // Throw so people can report the problem - throw exceptionToThrow; - } - // select the bitmap object and store the old handle - using (safeCompatibleDcHandle.SelectObject(safeDibSectionHandle)) { - // bitblt over (make copy) - // ReSharper disable once BitwiseOperatorOnEnumWithoutFlags - GDI32.BitBlt(safeCompatibleDcHandle, 0, 0, captureBounds.Width, captureBounds.Height, desktopDcHandle, captureBounds.X, captureBounds.Y, CopyPixelOperation.SourceCopy | CopyPixelOperation.CaptureBlt); - } + // Throw so people can report the problem + throw exceptionToThrow; + } + // select the bitmap object and store the old handle + using (safeCompatibleDcHandle.SelectObject(safeDibSectionHandle)) { + // bitblt over (make copy) + // ReSharper disable once BitwiseOperatorOnEnumWithoutFlags + GDI32.BitBlt(safeCompatibleDcHandle, 0, 0, captureBounds.Width, captureBounds.Height, desktopDcHandle, captureBounds.X, captureBounds.Y, CopyPixelOperation.SourceCopy | CopyPixelOperation.CaptureBlt); + } - // get a .NET image object for it - // A suggestion for the "A generic error occurred in GDI+." E_FAIL/080004005 error is to re-try... - bool success = false; - ExternalException exception = null; - for (int i = 0; i < 3; i++) { - try { - // Collect all screens inside this capture - List screensInsideCapture = new List(); - foreach (Screen screen in Screen.AllScreens) { - if (screen.Bounds.IntersectsWith(captureBounds)) { - screensInsideCapture.Add(screen); - } - } - // Check all all screens are of an equal size - bool offscreenContent; - using (Region captureRegion = new Region(captureBounds)) { - // Exclude every visible part - foreach (Screen screen in screensInsideCapture) { - captureRegion.Exclude(screen.Bounds); - } - // If the region is not empty, we have "offscreenContent" - using (Graphics screenGraphics = Graphics.FromHwnd(User32.GetDesktopWindow())) { - offscreenContent = !captureRegion.IsEmpty(screenGraphics); - } - } - // Check if we need to have a transparent background, needed for offscreen content - if (offscreenContent) { - using (Bitmap tmpBitmap = Image.FromHbitmap(safeDibSectionHandle.DangerousGetHandle())) { - // Create a new bitmap which has a transparent background - returnBitmap = ImageHelper.CreateEmpty(tmpBitmap.Width, tmpBitmap.Height, PixelFormat.Format32bppArgb, Color.Transparent, tmpBitmap.HorizontalResolution, tmpBitmap.VerticalResolution); - // Content will be copied here - using (Graphics graphics = Graphics.FromImage(returnBitmap)) { - // For all screens copy the content to the new bitmap - foreach (Screen screen in Screen.AllScreens) { - Rectangle screenBounds = screen.Bounds; - // Make sure the bounds are offsetted to the capture bounds - screenBounds.Offset(-captureBounds.X, -captureBounds.Y); - graphics.DrawImage(tmpBitmap, screenBounds, screenBounds.X, screenBounds.Y, screenBounds.Width, screenBounds.Height, GraphicsUnit.Pixel); - } - } - } - } else { - // All screens, which are inside the capture, are of equal size - // assign image to Capture, the image will be disposed there.. - returnBitmap = Image.FromHbitmap(safeDibSectionHandle.DangerousGetHandle()); - } - // We got through the capture without exception - success = true; - break; - } catch (ExternalException ee) { - Log.Warn("Problem getting bitmap at try " + i + " : ", ee); - exception = ee; - } - } - if (!success) { - Log.Error("Still couldn't create Bitmap!"); - if (exception != null) { - throw exception; - } - } - } - } - } + // get a .NET image object for it + // A suggestion for the "A generic error occurred in GDI+." E_FAIL/080004005 error is to re-try... + bool success = false; + ExternalException exception = null; + for (int i = 0; i < 3; i++) { + try { + // Collect all screens inside this capture + List screensInsideCapture = new List(); + foreach (Screen screen in Screen.AllScreens) { + if (screen.Bounds.IntersectsWith(captureBounds)) { + screensInsideCapture.Add(screen); + } + } + // Check all all screens are of an equal size + bool offscreenContent; + using (Region captureRegion = new Region(captureBounds)) { + // Exclude every visible part + foreach (Screen screen in screensInsideCapture) { + captureRegion.Exclude(screen.Bounds); + } + // If the region is not empty, we have "offscreenContent" + using Graphics screenGraphics = Graphics.FromHwnd(User32.GetDesktopWindow()); + offscreenContent = !captureRegion.IsEmpty(screenGraphics); + } + // Check if we need to have a transparent background, needed for offscreen content + if (offscreenContent) + { + using Bitmap tmpBitmap = Image.FromHbitmap(safeDibSectionHandle.DangerousGetHandle()); + // Create a new bitmap which has a transparent background + returnBitmap = ImageHelper.CreateEmpty(tmpBitmap.Width, tmpBitmap.Height, PixelFormat.Format32bppArgb, Color.Transparent, tmpBitmap.HorizontalResolution, tmpBitmap.VerticalResolution); + // Content will be copied here + using Graphics graphics = Graphics.FromImage(returnBitmap); + // For all screens copy the content to the new bitmap + foreach (Screen screen in Screen.AllScreens) { + Rectangle screenBounds = screen.Bounds; + // Make sure the bounds are offsetted to the capture bounds + screenBounds.Offset(-captureBounds.X, -captureBounds.Y); + graphics.DrawImage(tmpBitmap, screenBounds, screenBounds.X, screenBounds.Y, screenBounds.Width, screenBounds.Height, GraphicsUnit.Pixel); + } + } else { + // All screens, which are inside the capture, are of equal size + // assign image to Capture, the image will be disposed there.. + returnBitmap = Image.FromHbitmap(safeDibSectionHandle.DangerousGetHandle()); + } + // We got through the capture without exception + success = true; + break; + } catch (ExternalException ee) { + Log.Warn("Problem getting bitmap at try " + i + " : ", ee); + exception = ee; + } + } + if (!success) { + Log.Error("Still couldn't create Bitmap!"); + if (exception != null) { + throw exception; + } + } + } return returnBitmap; } } diff --git a/GreenshotPlugin/Core/WindowsHelper.cs b/GreenshotPlugin/Core/WindowsHelper.cs index 3c609a607..fb3d3d66f 100644 --- a/GreenshotPlugin/Core/WindowsHelper.cs +++ b/GreenshotPlugin/Core/WindowsHelper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -35,8 +35,7 @@ using System.Text.RegularExpressions; using System.Windows.Forms; namespace GreenshotPlugin.Core { - #region EnumWindows - /// + /// /// EnumWindows wrapper for .NET /// public class WindowsEnumerator { @@ -94,8 +93,7 @@ namespace GreenshotPlugin.Core { return this; } - #region EnumWindows callback - /// + /// /// The enum Windows callback. /// /// Window Handle @@ -109,9 +107,7 @@ namespace GreenshotPlugin.Core { return 0; } - #endregion - - /// + /// /// Called whenever a new window is about to be added /// by the Window enumeration called from GetWindows. /// If overriding this function, return true to continue @@ -128,10 +124,8 @@ namespace GreenshotPlugin.Core { return true; } } - #endregion EnumWindows - #region WindowDetails - /// + /// /// Code for handling with "windows" /// Main code is taken from vbAccelerator, location: /// http://www.vbaccelerator.com/home/NET/Code/Libraries/Windows/Enumerating_Windows/article.asp @@ -229,7 +223,7 @@ namespace GreenshotPlugin.Core { /// /// public bool Equals(WindowDetails other) { - if (ReferenceEquals(other, null)) { + if (other is null) { return false; } @@ -272,8 +266,7 @@ namespace GreenshotPlugin.Core { return string.Empty; } // Get the process id - int processid; - User32.GetWindowThreadProcessId(Handle, out processid); + User32.GetWindowThreadProcessId(Handle, out var processid); return Kernel32.GetProcessPath(processid); } } @@ -284,13 +277,13 @@ namespace GreenshotPlugin.Core { /// public Image DisplayIcon { get { - try { - using (var appIcon = GetAppIcon(Handle)) { - if (appIcon != null) { - return appIcon.ToBitmap(); - } - } - } catch (Exception ex) { + try + { + using var appIcon = GetAppIcon(Handle); + if (appIcon != null) { + return appIcon.ToBitmap(); + } + } catch (Exception ex) { Log.WarnFormat("Couldn't get icon for window {0} due to: {1}", Text, ex.Message); Log.Warn(ex); } @@ -714,8 +707,7 @@ namespace GreenshotPlugin.Core { public int ProcessId { get { - int processId; - User32.GetWindowThreadProcessId(Handle, out processId); + User32.GetWindowThreadProcessId(Handle, out var processId); return processId; } } @@ -723,8 +715,7 @@ namespace GreenshotPlugin.Core { public Process Process { get { try { - int processId; - User32.GetWindowThreadProcessId(Handle, out processId); + User32.GetWindowThreadProcessId(Handle, out var processId); return Process.GetProcessById(processId); } catch (Exception ex) { Log.Warn(ex); @@ -787,9 +778,8 @@ namespace GreenshotPlugin.Core { // Correction for maximized windows, only if it's not an app if (!HasParent && !IsApp && Maximised) { - Size size; - // Only if the border size can be retrieved - if (GetBorderSize(out size)) + // Only if the border size can be retrieved + if (GetBorderSize(out var size)) { windowRect = new Rectangle(windowRect.X + size.Width, windowRect.Y + size.Height, windowRect.Width - (2 * size.Width), windowRect.Height - (2 * size.Height)); } @@ -832,8 +822,7 @@ namespace GreenshotPlugin.Core { /// public Rectangle ClientRectangle { get { - Rectangle clientRect; - if (!GetClientRect(out clientRect)) + if (!GetClientRect(out var clientRect)) { Win32Error error = Win32.GetLastErrorCode(); Log.WarnFormat("Couldn't retrieve the client rectangle for {0}, error: {1}", Text, Win32.GetMessage(error)); @@ -944,8 +933,7 @@ namespace GreenshotPlugin.Core { DWM.DwmRegisterThumbnail(tempForm.Handle, Handle, out thumbnailHandle); // Get the original size - SIZE sourceSize; - DWM.DwmQueryThumbnailSourceSize(thumbnailHandle, out sourceSize); + DWM.DwmQueryThumbnailSourceSize(thumbnailHandle, out var sourceSize); if (sourceSize.Width <= 0 || sourceSize.Height <= 0) { return null; @@ -959,30 +947,29 @@ namespace GreenshotPlugin.Core { if (!Maximised) { // Assume using it's own location formLocation = windowRectangle.Location; - using (Region workingArea = new Region(Screen.PrimaryScreen.Bounds)) { - // Find the screen where the window is and check if it fits - foreach (Screen screen in Screen.AllScreens) { - if (!Equals(screen, Screen.PrimaryScreen)) { - workingArea.Union(screen.Bounds); - } - } + using Region workingArea = new Region(Screen.PrimaryScreen.Bounds); + // Find the screen where the window is and check if it fits + foreach (Screen screen in Screen.AllScreens) { + if (!Equals(screen, Screen.PrimaryScreen)) { + workingArea.Union(screen.Bounds); + } + } - // If the formLocation is not inside the visible area - if (!workingArea.AreRectangleCornersVisisble(windowRectangle)) { - // If none found we find the biggest screen - foreach (Screen screen in Screen.AllScreens) { - Rectangle newWindowRectangle = new Rectangle(screen.WorkingArea.Location, windowRectangle.Size); - if (workingArea.AreRectangleCornersVisisble(newWindowRectangle)) { - formLocation = screen.Bounds.Location; - doesCaptureFit = true; - break; - } - } - } else { - doesCaptureFit = true; - } - } - } else if (!Environment.OSVersion.IsWindows8OrLater()) { + // If the formLocation is not inside the visible area + if (!workingArea.AreRectangleCornersVisisble(windowRectangle)) { + // If none found we find the biggest screen + foreach (Screen screen in Screen.AllScreens) { + Rectangle newWindowRectangle = new Rectangle(screen.WorkingArea.Location, windowRectangle.Size); + if (workingArea.AreRectangleCornersVisisble(newWindowRectangle)) { + formLocation = screen.Bounds.Location; + doesCaptureFit = true; + break; + } + } + } else { + doesCaptureFit = true; + } + } else if (!Environment.OSVersion.IsWindows8OrLater()) { //GetClientRect(out windowRectangle); GetBorderSize(out borderSize); formLocation = new Point(windowRectangle.X - borderSize.Width, windowRectangle.Y - borderSize.Height); @@ -1006,15 +993,15 @@ namespace GreenshotPlugin.Core { if (autoMode) { // check if the capture fits - if (!doesCaptureFit) { - // if GDI is allowed.. (a screenshot won't be better than we comes if we continue) - using (Process thisWindowProcess = Process) { - if (!IsMetroApp && WindowCapture.IsGdiAllowed(thisWindowProcess)) { - // we return null which causes the capturing code to try another method. - return null; - } - } - } + if (!doesCaptureFit) + { + // if GDI is allowed.. (a screenshot won't be better than we comes if we continue) + using Process thisWindowProcess = Process; + if (!IsMetroApp && WindowCapture.IsGdiAllowed(thisWindowProcess)) { + // we return null which causes the capturing code to try another method. + return null; + } + } } } // Prepare the displaying of the Thumbnail @@ -1044,23 +1031,22 @@ namespace GreenshotPlugin.Core { tempForm.Refresh(); Application.DoEvents(); - try { - using (Bitmap whiteBitmap = WindowCapture.CaptureRectangle(captureRectangle)) { - // Apply a white color - tempForm.BackColor = Color.Black; - // Make sure everything is visible - tempForm.Refresh(); - if (!IsMetroApp) { - // Make sure the application window is active, so the colors & buttons are right - ToForeground(); - } - // Make sure all changes are processed and visible - Application.DoEvents(); - using (Bitmap blackBitmap = WindowCapture.CaptureRectangle(captureRectangle)) { - capturedBitmap = ApplyTransparency(blackBitmap, whiteBitmap); - } - } - } catch (Exception e) { + try + { + using Bitmap whiteBitmap = WindowCapture.CaptureRectangle(captureRectangle); + // Apply a white color + tempForm.BackColor = Color.Black; + // Make sure everything is visible + tempForm.Refresh(); + if (!IsMetroApp) { + // Make sure the application window is active, so the colors & buttons are right + ToForeground(); + } + // Make sure all changes are processed and visible + Application.DoEvents(); + using Bitmap blackBitmap = WindowCapture.CaptureRectangle(captureRectangle); + capturedBitmap = ApplyTransparency(blackBitmap, whiteBitmap); + } catch (Exception e) { Log.Debug("Exception: ", e); // Some problem occurred, cleanup and make a normal capture if (capturedBitmap != null) { @@ -1138,18 +1124,18 @@ namespace GreenshotPlugin.Core { /// Helper method to remove the corners from a DMW capture /// /// The bitmap to remove the corners from. - private void RemoveCorners(Bitmap image) { - using (IFastBitmap fastBitmap = FastBitmap.Create(image)) { - for (int y = 0; y < Conf.WindowCornerCutShape.Count; y++) { - for (int x = 0; x < Conf.WindowCornerCutShape[y]; x++) { - fastBitmap.SetColorAt(x, y, Color.Transparent); - fastBitmap.SetColorAt(image.Width-1-x, y, Color.Transparent); - fastBitmap.SetColorAt(image.Width-1-x, image.Height-1-y, Color.Transparent); - fastBitmap.SetColorAt(x, image.Height-1-y, Color.Transparent); - } - } - } - } + private void RemoveCorners(Bitmap image) + { + using IFastBitmap fastBitmap = FastBitmap.Create(image); + for (int y = 0; y < Conf.WindowCornerCutShape.Count; y++) { + for (int x = 0; x < Conf.WindowCornerCutShape[y]; x++) { + fastBitmap.SetColorAt(x, y, Color.Transparent); + fastBitmap.SetColorAt(image.Width-1-x, y, Color.Transparent); + fastBitmap.SetColorAt(image.Width-1-x, image.Height-1-y, Color.Transparent); + fastBitmap.SetColorAt(x, image.Height-1-y, Color.Transparent); + } + } + } /// /// Apply transparency by comparing a transparent capture with a black and white background @@ -1159,42 +1145,42 @@ namespace GreenshotPlugin.Core { /// Bitmap with the black image /// Bitmap with the black image /// Bitmap with transparency - private Bitmap ApplyTransparency(Bitmap blackBitmap, Bitmap whiteBitmap) { - using (IFastBitmap targetBuffer = FastBitmap.CreateEmpty(blackBitmap.Size, PixelFormat.Format32bppArgb, Color.Transparent)) { - targetBuffer.SetResolution(blackBitmap.HorizontalResolution, blackBitmap.VerticalResolution); - using (IFastBitmap blackBuffer = FastBitmap.Create(blackBitmap)) { - using (IFastBitmap whiteBuffer = FastBitmap.Create(whiteBitmap)) { - for (int y = 0; y < blackBuffer.Height; y++) { - for (int x = 0; x < blackBuffer.Width; x++) { - Color c0 = blackBuffer.GetColorAt(x, y); - Color c1 = whiteBuffer.GetColorAt(x, y); - // Calculate alpha as double in range 0-1 - int alpha = c0.R - c1.R + 255; - if (alpha == 255) { - // Alpha == 255 means no change! - targetBuffer.SetColorAt(x, y, c0); - } else if (alpha == 0) { - // Complete transparency, use transparent pixel - targetBuffer.SetColorAt(x, y, Color.Transparent); - } else { - // Calculate original color - byte originalAlpha = (byte)Math.Min(255, alpha); - var alphaFactor = alpha/255d; - //LOG.DebugFormat("Alpha {0} & c0 {1} & c1 {2}", alpha, c0, c1); - byte originalRed = (byte)Math.Min(255, c0.R / alphaFactor); - byte originalGreen = (byte)Math.Min(255, c0.G / alphaFactor); - byte originalBlue = (byte)Math.Min(255, c0.B / alphaFactor); - Color originalColor = Color.FromArgb(originalAlpha, originalRed, originalGreen, originalBlue); - //Color originalColor = Color.FromArgb(originalAlpha, originalRed, c0.G, c0.B); - targetBuffer.SetColorAt(x, y, originalColor); - } - } - } - } - } - return targetBuffer.UnlockAndReturnBitmap(); - } - } + private Bitmap ApplyTransparency(Bitmap blackBitmap, Bitmap whiteBitmap) + { + using IFastBitmap targetBuffer = FastBitmap.CreateEmpty(blackBitmap.Size, PixelFormat.Format32bppArgb, Color.Transparent); + targetBuffer.SetResolution(blackBitmap.HorizontalResolution, blackBitmap.VerticalResolution); + using (IFastBitmap blackBuffer = FastBitmap.Create(blackBitmap)) + { + using IFastBitmap whiteBuffer = FastBitmap.Create(whiteBitmap); + for (int y = 0; y < blackBuffer.Height; y++) { + for (int x = 0; x < blackBuffer.Width; x++) { + Color c0 = blackBuffer.GetColorAt(x, y); + Color c1 = whiteBuffer.GetColorAt(x, y); + // Calculate alpha as double in range 0-1 + int alpha = c0.R - c1.R + 255; + if (alpha == 255) { + // Alpha == 255 means no change! + targetBuffer.SetColorAt(x, y, c0); + } else if (alpha == 0) { + // Complete transparency, use transparent pixel + targetBuffer.SetColorAt(x, y, Color.Transparent); + } else { + // Calculate original color + byte originalAlpha = (byte)Math.Min(255, alpha); + var alphaFactor = alpha/255d; + //LOG.DebugFormat("Alpha {0} & c0 {1} & c1 {2}", alpha, c0, c1); + byte originalRed = (byte)Math.Min(255, c0.R / alphaFactor); + byte originalGreen = (byte)Math.Min(255, c0.G / alphaFactor); + byte originalBlue = (byte)Math.Min(255, c0.B / alphaFactor); + Color originalColor = Color.FromArgb(originalAlpha, originalRed, originalGreen, originalBlue); + //Color originalColor = Color.FromArgb(originalAlpha, originalRed, c0.G, c0.B); + targetBuffer.SetColorAt(x, y, originalColor); + } + } + } + } + return targetBuffer.UnlockAndReturnBitmap(); + } /// /// Helper method to get the window size for DWM Windows @@ -1202,8 +1188,7 @@ namespace GreenshotPlugin.Core { /// out Rectangle /// bool true if it worked private bool GetExtendedFrameBounds(out Rectangle rectangle) { - RECT rect; - int result = DWM.DwmGetWindowAttribute(Handle, (int)DWMWINDOWATTRIBUTE.DWMWA_EXTENDED_FRAME_BOUNDS, out rect, Marshal.SizeOf(typeof(RECT))); + int result = DWM.DwmGetWindowAttribute(Handle, (int)DWMWINDOWATTRIBUTE.DWMWA_EXTENDED_FRAME_BOUNDS, out var rect, Marshal.SizeOf(typeof(RECT))); if (result >= 0) { rectangle = rect.ToRectangle(); return true; @@ -1363,30 +1348,30 @@ namespace GreenshotPlugin.Core { /// /// Unfreeze the process belonging to the window /// - public void UnfreezeWindow() { - using (Process proc = Process.GetProcessById(ProcessId)) { - string processName = proc.ProcessName; - if (!CanFreezeOrUnfreeze(processName)) { - Log.DebugFormat("Not unfreezing {0}", processName); - return; - } - if (!CanFreezeOrUnfreeze(Text)) { - Log.DebugFormat("Not unfreezing {0}", processName); - return; - } - Log.DebugFormat("Unfreezing process: {0}", processName); + public void UnfreezeWindow() + { + using Process proc = Process.GetProcessById(ProcessId); + string processName = proc.ProcessName; + if (!CanFreezeOrUnfreeze(processName)) { + Log.DebugFormat("Not unfreezing {0}", processName); + return; + } + if (!CanFreezeOrUnfreeze(Text)) { + Log.DebugFormat("Not unfreezing {0}", processName); + return; + } + Log.DebugFormat("Unfreezing process: {0}", processName); - foreach (ProcessThread pT in proc.Threads) { - IntPtr pOpenThread = Kernel32.OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)pT.Id); + foreach (ProcessThread pT in proc.Threads) { + IntPtr pOpenThread = Kernel32.OpenThread(ThreadAccess.SUSPEND_RESUME, false, (uint)pT.Id); - if (pOpenThread == IntPtr.Zero) { - break; - } + if (pOpenThread == IntPtr.Zero) { + break; + } - Kernel32.ResumeThread(pOpenThread); - } - } - } + Kernel32.ResumeThread(pOpenThread); + } + } /// /// Return an Image representing the Window! @@ -1404,24 +1389,23 @@ namespace GreenshotPlugin.Core { pixelFormat = PixelFormat.Format32bppArgb; } returnImage = new Bitmap(windowRect.Width, windowRect.Height, pixelFormat); - using (Graphics graphics = Graphics.FromImage(returnImage)) { - using (SafeDeviceContextHandle graphicsDc = graphics.GetSafeDeviceContext()) { - bool printSucceeded = User32.PrintWindow(Handle, graphicsDc.DangerousGetHandle(), 0x0); - if (!printSucceeded) { - // something went wrong, most likely a "0x80004005" (Acess Denied) when using UAC - exceptionOccured = User32.CreateWin32Exception("PrintWindow"); - } - } + using Graphics graphics = Graphics.FromImage(returnImage); + using (SafeDeviceContextHandle graphicsDc = graphics.GetSafeDeviceContext()) { + bool printSucceeded = User32.PrintWindow(Handle, graphicsDc.DangerousGetHandle(), 0x0); + if (!printSucceeded) { + // something went wrong, most likely a "0x80004005" (Acess Denied) when using UAC + exceptionOccured = User32.CreateWin32Exception("PrintWindow"); + } + } - // Apply the region "transparency" - if (region != null && !region.IsEmpty(graphics)) { - graphics.ExcludeClip(region); - graphics.Clear(Color.Transparent); - } + // Apply the region "transparency" + if (region != null && !region.IsEmpty(graphics)) { + graphics.ExcludeClip(region); + graphics.Clear(Color.Transparent); + } - graphics.Flush(); - } - } + graphics.Flush(); + } // Return null if error if (exceptionOccured != null) { @@ -1431,8 +1415,7 @@ namespace GreenshotPlugin.Core { } if (!HasParent && Maximised) { Log.Debug("Correcting for maximalization"); - Size borderSize; - GetBorderSize(out borderSize); + GetBorderSize(out var borderSize); Rectangle borderRectangle = new Rectangle(borderSize.Width, borderSize.Height, windowRect.Width - (2 * borderSize.Width), windowRect.Height - (2 * borderSize.Height)); ImageHelper.Crop(ref returnImage, ref borderRectangle); } @@ -1475,11 +1458,11 @@ namespace GreenshotPlugin.Core { public bool IsGreenshot { get { try { - if (!IsMetroApp) { - using (Process thisWindowProcess = Process) { - return "Greenshot".Equals(thisWindowProcess.MainModule.FileVersionInfo.ProductName); - } - } + if (!IsMetroApp) + { + using Process thisWindowProcess = Process; + return "Greenshot".Equals(thisWindowProcess.MainModule.FileVersionInfo.ProductName); + } } catch (Exception ex) { Log.Warn(ex); } @@ -1791,5 +1774,4 @@ namespace GreenshotPlugin.Core { } } } - #endregion } diff --git a/GreenshotPlugin/Core/WmInputLangChangeRequestFilter.cs b/GreenshotPlugin/Core/WmInputLangChangeRequestFilter.cs index e92e1507d..a671d8a65 100644 --- a/GreenshotPlugin/Core/WmInputLangChangeRequestFilter.cs +++ b/GreenshotPlugin/Core/WmInputLangChangeRequestFilter.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/AdjustEffect.cs b/GreenshotPlugin/Effects/AdjustEffect.cs index 9dd4da68e..a3a542c53 100644 --- a/GreenshotPlugin/Effects/AdjustEffect.cs +++ b/GreenshotPlugin/Effects/AdjustEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/BorderEffect.cs b/GreenshotPlugin/Effects/BorderEffect.cs index cfc36ca44..32822f4a9 100644 --- a/GreenshotPlugin/Effects/BorderEffect.cs +++ b/GreenshotPlugin/Effects/BorderEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/DropShadowEffect.cs b/GreenshotPlugin/Effects/DropShadowEffect.cs index 8d3516303..2844c5889 100644 --- a/GreenshotPlugin/Effects/DropShadowEffect.cs +++ b/GreenshotPlugin/Effects/DropShadowEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/GrayscaleEffect.cs b/GreenshotPlugin/Effects/GrayscaleEffect.cs index 9e3b8f9b6..8210be695 100644 --- a/GreenshotPlugin/Effects/GrayscaleEffect.cs +++ b/GreenshotPlugin/Effects/GrayscaleEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/IEffect.cs b/GreenshotPlugin/Effects/IEffect.cs index 2226ff91b..aee145ea4 100644 --- a/GreenshotPlugin/Effects/IEffect.cs +++ b/GreenshotPlugin/Effects/IEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/InvertEffect.cs b/GreenshotPlugin/Effects/InvertEffect.cs index 4b2c6b395..64f44c4c6 100644 --- a/GreenshotPlugin/Effects/InvertEffect.cs +++ b/GreenshotPlugin/Effects/InvertEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/MonochromeEffect.cs b/GreenshotPlugin/Effects/MonochromeEffect.cs index 568fe0dad..4ee358cba 100644 --- a/GreenshotPlugin/Effects/MonochromeEffect.cs +++ b/GreenshotPlugin/Effects/MonochromeEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/ReduceColorsEffect.cs b/GreenshotPlugin/Effects/ReduceColorsEffect.cs index 5c9ea936f..c82b10e71 100644 --- a/GreenshotPlugin/Effects/ReduceColorsEffect.cs +++ b/GreenshotPlugin/Effects/ReduceColorsEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/ResizeCanvasEffect.cs b/GreenshotPlugin/Effects/ResizeCanvasEffect.cs index 7103508ca..750dc41ea 100644 --- a/GreenshotPlugin/Effects/ResizeCanvasEffect.cs +++ b/GreenshotPlugin/Effects/ResizeCanvasEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/ResizeEffect.cs b/GreenshotPlugin/Effects/ResizeEffect.cs index f6702db74..528d1a0dc 100644 --- a/GreenshotPlugin/Effects/ResizeEffect.cs +++ b/GreenshotPlugin/Effects/ResizeEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/RotateEffect.cs b/GreenshotPlugin/Effects/RotateEffect.cs index bbf37e351..dedab9a34 100644 --- a/GreenshotPlugin/Effects/RotateEffect.cs +++ b/GreenshotPlugin/Effects/RotateEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Effects/TornEdgeEffect.cs b/GreenshotPlugin/Effects/TornEdgeEffect.cs index aab04d619..be577097d 100644 --- a/GreenshotPlugin/Effects/TornEdgeEffect.cs +++ b/GreenshotPlugin/Effects/TornEdgeEffect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/GreenshotPlugin.csproj b/GreenshotPlugin/GreenshotPlugin.csproj index aa506f1b9..3fc441c33 100644 --- a/GreenshotPlugin/GreenshotPlugin.csproj +++ b/GreenshotPlugin/GreenshotPlugin.csproj @@ -1,253 +1,24 @@ - - - + + - {5B924697-4DCD-4F98-85F1-105CB84B7341} - Library GreenshotPlugin GreenshotPlugin - v4.7.1 - Properties - OnBuildSuccess - True - False - 4 - false - - - - - - 3.5 + true + net471 - - false - - - false - - - false - - - false - - - true - - + + + PreserveNewest + + + + + - - - - - - Form - - - Component - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Component - - - Form - - - Component - - - Component - - - - Component - - - Form - - - Component - - - Component - - - Component - - - Component - - - Component - - - Component - - - Form - - - BackgroundForm.cs - - - - - Component - - - Component - - - Component - - - Form - - - OAuthLoginForm.cs - - - Form - - - PleaseWaitForm.cs - - - Form - - - QualityDialog.cs - - - - Form - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GreenshotResources.cs - - - - 2.0.8 - - - \ No newline at end of file + diff --git a/GreenshotPlugin/IEInterop/IHTMLBodyElement.cs b/GreenshotPlugin/IEInterop/IHTMLBodyElement.cs index 4fccbc924..eb5f8c5f9 100644 --- a/GreenshotPlugin/IEInterop/IHTMLBodyElement.cs +++ b/GreenshotPlugin/IEInterop/IHTMLBodyElement.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLCurrentStyle.cs b/GreenshotPlugin/IEInterop/IHTMLCurrentStyle.cs index eaeda59bf..444c6314d 100644 --- a/GreenshotPlugin/IEInterop/IHTMLCurrentStyle.cs +++ b/GreenshotPlugin/IEInterop/IHTMLCurrentStyle.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLDocument.cs b/GreenshotPlugin/IEInterop/IHTMLDocument.cs index d78705978..5e01506ab 100644 --- a/GreenshotPlugin/IEInterop/IHTMLDocument.cs +++ b/GreenshotPlugin/IEInterop/IHTMLDocument.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLDocument2.cs b/GreenshotPlugin/IEInterop/IHTMLDocument2.cs index b0992091d..4059d5f35 100644 --- a/GreenshotPlugin/IEInterop/IHTMLDocument2.cs +++ b/GreenshotPlugin/IEInterop/IHTMLDocument2.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLDocument3.cs b/GreenshotPlugin/IEInterop/IHTMLDocument3.cs index 92c4a349d..da6485caa 100644 --- a/GreenshotPlugin/IEInterop/IHTMLDocument3.cs +++ b/GreenshotPlugin/IEInterop/IHTMLDocument3.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLDocument4.cs b/GreenshotPlugin/IEInterop/IHTMLDocument4.cs index 1637e5f21..2b959747d 100644 --- a/GreenshotPlugin/IEInterop/IHTMLDocument4.cs +++ b/GreenshotPlugin/IEInterop/IHTMLDocument4.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLDocument5.cs b/GreenshotPlugin/IEInterop/IHTMLDocument5.cs index 1406fa82f..e486d5007 100644 --- a/GreenshotPlugin/IEInterop/IHTMLDocument5.cs +++ b/GreenshotPlugin/IEInterop/IHTMLDocument5.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLElement.cs b/GreenshotPlugin/IEInterop/IHTMLElement.cs index dce6a7e30..6f2226140 100644 --- a/GreenshotPlugin/IEInterop/IHTMLElement.cs +++ b/GreenshotPlugin/IEInterop/IHTMLElement.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLElement2.cs b/GreenshotPlugin/IEInterop/IHTMLElement2.cs index 336d454e2..8d920b7f2 100644 --- a/GreenshotPlugin/IEInterop/IHTMLElement2.cs +++ b/GreenshotPlugin/IEInterop/IHTMLElement2.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLElementCollection.cs b/GreenshotPlugin/IEInterop/IHTMLElementCollection.cs index 405e4da6d..111983d62 100644 --- a/GreenshotPlugin/IEInterop/IHTMLElementCollection.cs +++ b/GreenshotPlugin/IEInterop/IHTMLElementCollection.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLFrameBase.cs b/GreenshotPlugin/IEInterop/IHTMLFrameBase.cs index d2971c433..b4b1ed9a0 100644 --- a/GreenshotPlugin/IEInterop/IHTMLFrameBase.cs +++ b/GreenshotPlugin/IEInterop/IHTMLFrameBase.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLFramesCollection2.cs b/GreenshotPlugin/IEInterop/IHTMLFramesCollection2.cs index d3aadf864..8817f973b 100644 --- a/GreenshotPlugin/IEInterop/IHTMLFramesCollection2.cs +++ b/GreenshotPlugin/IEInterop/IHTMLFramesCollection2.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLRect.cs b/GreenshotPlugin/IEInterop/IHTMLRect.cs index 7fecba3c6..371f089d3 100644 --- a/GreenshotPlugin/IEInterop/IHTMLRect.cs +++ b/GreenshotPlugin/IEInterop/IHTMLRect.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLScreen.cs b/GreenshotPlugin/IEInterop/IHTMLScreen.cs index 2f3438448..8c56480fd 100644 --- a/GreenshotPlugin/IEInterop/IHTMLScreen.cs +++ b/GreenshotPlugin/IEInterop/IHTMLScreen.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLScreen2.cs b/GreenshotPlugin/IEInterop/IHTMLScreen2.cs index 90c09aee2..ee350328c 100644 --- a/GreenshotPlugin/IEInterop/IHTMLScreen2.cs +++ b/GreenshotPlugin/IEInterop/IHTMLScreen2.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLSelectionObject.cs b/GreenshotPlugin/IEInterop/IHTMLSelectionObject.cs index f1ca0a053..dae935d15 100644 --- a/GreenshotPlugin/IEInterop/IHTMLSelectionObject.cs +++ b/GreenshotPlugin/IEInterop/IHTMLSelectionObject.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLStyle.cs b/GreenshotPlugin/IEInterop/IHTMLStyle.cs index 6d2cc6c10..fd640333c 100644 --- a/GreenshotPlugin/IEInterop/IHTMLStyle.cs +++ b/GreenshotPlugin/IEInterop/IHTMLStyle.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLTxtRange.cs b/GreenshotPlugin/IEInterop/IHTMLTxtRange.cs index f51c1e9d5..f01f66751 100644 --- a/GreenshotPlugin/IEInterop/IHTMLTxtRange.cs +++ b/GreenshotPlugin/IEInterop/IHTMLTxtRange.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLWindow2.cs b/GreenshotPlugin/IEInterop/IHTMLWindow2.cs index d9511e1fa..589bdedbc 100644 --- a/GreenshotPlugin/IEInterop/IHTMLWindow2.cs +++ b/GreenshotPlugin/IEInterop/IHTMLWindow2.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLWindow3.cs b/GreenshotPlugin/IEInterop/IHTMLWindow3.cs index 9d07da6f6..e1c34cab1 100644 --- a/GreenshotPlugin/IEInterop/IHTMLWindow3.cs +++ b/GreenshotPlugin/IEInterop/IHTMLWindow3.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IHTMLWindow4.cs b/GreenshotPlugin/IEInterop/IHTMLWindow4.cs index aa59f41b1..5fddd4690 100644 --- a/GreenshotPlugin/IEInterop/IHTMLWindow4.cs +++ b/GreenshotPlugin/IEInterop/IHTMLWindow4.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IEInterop/IWebBrowser2.cs b/GreenshotPlugin/IEInterop/IWebBrowser2.cs index 63548a244..f29bd54e0 100644 --- a/GreenshotPlugin/IEInterop/IWebBrowser2.cs +++ b/GreenshotPlugin/IEInterop/IWebBrowser2.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IniFile/IniAttributes.cs b/GreenshotPlugin/IniFile/IniAttributes.cs index 5243b0fe2..a97ce35f1 100644 --- a/GreenshotPlugin/IniFile/IniAttributes.cs +++ b/GreenshotPlugin/IniFile/IniAttributes.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/IniFile/IniConfig.cs b/GreenshotPlugin/IniFile/IniConfig.cs index 8ac27deca..5f61830a7 100644 --- a/GreenshotPlugin/IniFile/IniConfig.cs +++ b/GreenshotPlugin/IniFile/IniConfig.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -264,8 +264,8 @@ namespace Greenshot.IniFile { { return; } - IDictionary fixedPropertiesForSection; - if (!_fixedProperties.TryGetValue(section.IniSectionAttribute.Name, out fixedPropertiesForSection)) + + if (!_fixedProperties.TryGetValue(section.IniSectionAttribute.Name, out var fixedPropertiesForSection)) { return; } @@ -326,8 +326,7 @@ namespace Greenshot.IniFile { /// /// public static IniSection GetIniSection(string sectionName) { - IniSection returnValue; - SectionMap.TryGetValue(sectionName, out returnValue); + SectionMap.TryGetValue(sectionName, out var returnValue); return returnValue; } @@ -426,41 +425,39 @@ namespace Greenshot.IniFile { { Directory.CreateDirectory(iniPath); } - using (var memoryStream = new MemoryStream()) { - using (TextWriter writer = new StreamWriter(memoryStream, Encoding.UTF8)) { - foreach (var section in SectionMap.Values) { - section.Write(writer, false); - // Add empty line after section - writer.WriteLine(); - section.IsDirty = false; - } - writer.WriteLine(); - // Write left over properties - foreach (string sectionName in _sections.Keys) { - // Check if the section is one that is "registered", if so skip it! - if (SectionMap.ContainsKey(sectionName)) - { - continue; - } - writer.WriteLine("; The section {0} hasn't been 'claimed' since the last start of Greenshot, therefor it doesn't have additional information here!", sectionName); - writer.WriteLine("; The reason could be that the section {0} just hasn't been used, a plugin has an error and can't claim it or maybe the whole section {0} is obsolete.", sectionName); - // Write section name - writer.WriteLine("[{0}]", sectionName); - var properties = _sections[sectionName]; - // Loop and write properties - foreach (string propertyName in properties.Keys) { - writer.WriteLine("{0}={1}", propertyName, properties[propertyName]); - } - writer.WriteLine(); - } - // Don't forget to flush the buffer - writer.Flush(); - // Now write the created .ini string to the real file - using (FileStream fileStream = new FileStream(iniLocation, FileMode.Create, FileAccess.Write)) { - memoryStream.WriteTo(fileStream); - } - } - } - } + + using var memoryStream = new MemoryStream(); + using TextWriter writer = new StreamWriter(memoryStream, Encoding.UTF8); + foreach (var section in SectionMap.Values) { + section.Write(writer, false); + // Add empty line after section + writer.WriteLine(); + section.IsDirty = false; + } + writer.WriteLine(); + // Write left over properties + foreach (string sectionName in _sections.Keys) { + // Check if the section is one that is "registered", if so skip it! + if (SectionMap.ContainsKey(sectionName)) + { + continue; + } + writer.WriteLine("; The section {0} hasn't been 'claimed' since the last start of Greenshot, therefor it doesn't have additional information here!", sectionName); + writer.WriteLine("; The reason could be that the section {0} just hasn't been used, a plugin has an error and can't claim it or maybe the whole section {0} is obsolete.", sectionName); + // Write section name + writer.WriteLine("[{0}]", sectionName); + var properties = _sections[sectionName]; + // Loop and write properties + foreach (string propertyName in properties.Keys) { + writer.WriteLine("{0}={1}", propertyName, properties[propertyName]); + } + writer.WriteLine(); + } + // Don't forget to flush the buffer + writer.Flush(); + // Now write the created .ini string to the real file + using FileStream fileStream = new FileStream(iniLocation, FileMode.Create, FileAccess.Write); + memoryStream.WriteTo(fileStream); + } } } diff --git a/GreenshotPlugin/IniFile/IniReader.cs b/GreenshotPlugin/IniFile/IniReader.cs index 96db00760..43541cd41 100644 --- a/GreenshotPlugin/IniFile/IniReader.cs +++ b/GreenshotPlugin/IniFile/IniReader.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -41,39 +41,39 @@ namespace Greenshot.IniFile { /// public static IDictionary> Read(string path, Encoding encoding) { var ini = new Dictionary>(); - using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 1024)) { - using (var streamReader = new StreamReader(fileStream, encoding)) { - IDictionary nameValues = new Dictionary(); - while (!streamReader.EndOfStream) { - string line = streamReader.ReadLine(); - if (line == null) - { - continue; - } - string cleanLine = line.Trim(); - if (cleanLine.Length == 0 || cleanLine.StartsWith(Comment)) { - continue; - } - if (cleanLine.StartsWith(SectionStart)) { - string section = line.Replace(SectionStart, string.Empty).Replace(SectionEnd, string.Empty).Trim(); - if (!ini.TryGetValue(section, out nameValues)) - { - nameValues = new Dictionary(); - ini.Add(section, nameValues); - } - } else { - string[] keyvalueSplitter = line.Split(Assignment, 2); - string name = keyvalueSplitter[0]; - string inivalue = keyvalueSplitter.Length > 1 ? keyvalueSplitter[1] : null; - if (nameValues.ContainsKey(name)) { - nameValues[name] = inivalue; - } else { - nameValues.Add(name, inivalue); - } - } - } - } - } + using (var fileStream = new FileStream(path, FileMode.Open, FileAccess.Read, FileShare.Read, 1024)) + { + using var streamReader = new StreamReader(fileStream, encoding); + IDictionary nameValues = new Dictionary(); + while (!streamReader.EndOfStream) { + string line = streamReader.ReadLine(); + if (line == null) + { + continue; + } + string cleanLine = line.Trim(); + if (cleanLine.Length == 0 || cleanLine.StartsWith(Comment)) { + continue; + } + if (cleanLine.StartsWith(SectionStart)) { + string section = line.Replace(SectionStart, string.Empty).Replace(SectionEnd, string.Empty).Trim(); + if (!ini.TryGetValue(section, out nameValues)) + { + nameValues = new Dictionary(); + ini.Add(section, nameValues); + } + } else { + string[] keyvalueSplitter = line.Split(Assignment, 2); + string name = keyvalueSplitter[0]; + string inivalue = keyvalueSplitter.Length > 1 ? keyvalueSplitter[1] : null; + if (nameValues.ContainsKey(name)) { + nameValues[name] = inivalue; + } else { + nameValues.Add(name, inivalue); + } + } + } + } return ini; } } diff --git a/GreenshotPlugin/IniFile/IniSection.cs b/GreenshotPlugin/IniFile/IniSection.cs index 74b9c7cf8..89129870e 100644 --- a/GreenshotPlugin/IniFile/IniSection.cs +++ b/GreenshotPlugin/IniFile/IniSection.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -147,8 +147,7 @@ namespace Greenshot.IniFile { try { iniValue.SetValueFromProperties(properties); if (iniValue.Attributes.Encrypted) { - string stringValue = iniValue.Value as string; - if (stringValue != null && stringValue.Length > 2) { + if (iniValue.Value is string stringValue && stringValue.Length > 2) { iniValue.Value = stringValue.Decrypt(); } } @@ -178,16 +177,14 @@ namespace Greenshot.IniFile { foreach (IniValue value in Values.Values) { if (value.Attributes.Encrypted) { - string stringValue = value.Value as string; - if (stringValue != null && stringValue.Length > 2) { + if (value.Value is string stringValue && stringValue.Length > 2) { value.Value = stringValue.Encrypt(); } } // Write the value value.Write(writer, onlyProperties); if (value.Attributes.Encrypted) { - string stringValue = value.Value as string; - if (stringValue != null && stringValue.Length > 2) { + if (value.Value is string stringValue && stringValue.Length > 2) { value.Value = stringValue.Decrypt(); } } diff --git a/GreenshotPlugin/IniFile/IniValue.cs b/GreenshotPlugin/IniFile/IniValue.cs index 2ad6c356b..c34fd1f24 100644 --- a/GreenshotPlugin/IniFile/IniValue.cs +++ b/GreenshotPlugin/IniFile/IniValue.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/Capture.cs b/GreenshotPlugin/Interfaces/Capture.cs index 0f6cf7ee8..38ab7dd4a 100644 --- a/GreenshotPlugin/Interfaces/Capture.cs +++ b/GreenshotPlugin/Interfaces/Capture.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/Drawing/Adorners/IAdorner.cs b/GreenshotPlugin/Interfaces/Drawing/Adorners/IAdorner.cs index 2879ade61..1a6c4a950 100644 --- a/GreenshotPlugin/Interfaces/Drawing/Adorners/IAdorner.cs +++ b/GreenshotPlugin/Interfaces/Drawing/Adorners/IAdorner.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on Sourceforge: http://sourceforge.net/projects/greenshot/ diff --git a/GreenshotPlugin/Interfaces/Drawing/Container.cs b/GreenshotPlugin/Interfaces/Drawing/Container.cs index 3a5630710..e4297a548 100644 --- a/GreenshotPlugin/Interfaces/Drawing/Container.cs +++ b/GreenshotPlugin/Interfaces/Drawing/Container.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/Drawing/IField.cs b/GreenshotPlugin/Interfaces/Drawing/IField.cs index 1dcd46061..54d083a3a 100644 --- a/GreenshotPlugin/Interfaces/Drawing/IField.cs +++ b/GreenshotPlugin/Interfaces/Drawing/IField.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/Drawing/IFieldholder.cs b/GreenshotPlugin/Interfaces/Drawing/IFieldholder.cs index 735b4717e..fc10175c2 100644 --- a/GreenshotPlugin/Interfaces/Drawing/IFieldholder.cs +++ b/GreenshotPlugin/Interfaces/Drawing/IFieldholder.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/Drawing/IMemento.cs b/GreenshotPlugin/Interfaces/Drawing/IMemento.cs index 40ab2452f..318d0c7fe 100644 --- a/GreenshotPlugin/Interfaces/Drawing/IMemento.cs +++ b/GreenshotPlugin/Interfaces/Drawing/IMemento.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/Forms/ImageEditor.cs b/GreenshotPlugin/Interfaces/Forms/ImageEditor.cs index db12e66c9..1c393d476 100644 --- a/GreenshotPlugin/Interfaces/Forms/ImageEditor.cs +++ b/GreenshotPlugin/Interfaces/Forms/ImageEditor.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/Generic.cs b/GreenshotPlugin/Interfaces/Generic.cs index 4fc2da7aa..f0be46838 100644 --- a/GreenshotPlugin/Interfaces/Generic.cs +++ b/GreenshotPlugin/Interfaces/Generic.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/IDestination.cs b/GreenshotPlugin/Interfaces/IDestination.cs index 18d2b26ef..a56dcc05e 100644 --- a/GreenshotPlugin/Interfaces/IDestination.cs +++ b/GreenshotPlugin/Interfaces/IDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/IProcessor.cs b/GreenshotPlugin/Interfaces/IProcessor.cs index dd21899cd..6cf07badc 100644 --- a/GreenshotPlugin/Interfaces/IProcessor.cs +++ b/GreenshotPlugin/Interfaces/IProcessor.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interfaces/Plugin/PluginInterfaces.cs b/GreenshotPlugin/Interfaces/Plugin/PluginInterfaces.cs index 4eb8c918d..eab16499a 100644 --- a/GreenshotPlugin/Interfaces/Plugin/PluginInterfaces.cs +++ b/GreenshotPlugin/Interfaces/Plugin/PluginInterfaces.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -63,8 +63,7 @@ namespace Greenshot.Plugin { } public int CompareTo(object obj) { - PluginAttribute other = obj as PluginAttribute; - if (other != null) { + if (obj is PluginAttribute other) { return Name.CompareTo(other.Name); } throw new ArgumentException("object is not a PluginAttribute"); diff --git a/GreenshotPlugin/Interop/COMWrapper.cs b/GreenshotPlugin/Interop/COMWrapper.cs index 48671c940..76d74a39d 100644 --- a/GreenshotPlugin/Interop/COMWrapper.cs +++ b/GreenshotPlugin/Interop/COMWrapper.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -40,9 +40,7 @@ namespace Greenshot.Interop { public const int RPC_E_CALL_REJECTED = unchecked((int)0x80010001); public const int RPC_E_FAIL = unchecked((int)0x80004005); - #region Private Data - - /// + /// /// Holds reference to the actual COM object which is wrapped by this proxy /// private readonly object _comObject; @@ -62,16 +60,13 @@ namespace Greenshot.Interop { /// private readonly string _targetName; - #endregion - [DllImport("ole32.dll")] + [DllImport("ole32.dll")] private static extern int ProgIDFromCLSID([In] ref Guid clsid, [MarshalAs(UnmanagedType.LPWStr)] out string lplpszProgId); // Converts failure HRESULTs to exceptions: [DllImport("oleaut32", PreserveSig=false)] private static extern void GetActiveObject(ref Guid rclsid, IntPtr pvReserved, [MarshalAs(UnmanagedType.IUnknown)] out object ppunk); - #region Construction - - /// + /// /// Gets a COM object and returns the transparent proxy which intercepts all calls to the object /// /// Interface which defines the method and properties to intercept @@ -139,7 +134,7 @@ namespace Greenshot.Interop { return (T)comObject; } } - return default(T); + return default; } /// @@ -190,7 +185,7 @@ namespace Greenshot.Interop { if (comObject != null) { return (T)comObject; } - return default(T); + return default; } /// @@ -248,7 +243,7 @@ namespace Greenshot.Interop { Log.DebugFormat("No current instance of {0} object available.", progId); } else if (comE.ErrorCode == CO_E_CLASSSTRING) { Log.WarnFormat("Unknown progId {0} (application not installed)", progId); - return default(T); + return default; } else { Log.Warn("Error getting active object for " + progId, comE); } @@ -289,7 +284,7 @@ namespace Greenshot.Interop { return (T)comObject; } } - return default(T); + return default; } /// @@ -347,11 +342,7 @@ namespace Greenshot.Interop { _targetName = targetName; } - #endregion - - #region Clean up - - /// + /// /// If is not called, we need to make /// sure that the COM object is still cleaned up. /// @@ -395,11 +386,7 @@ namespace Greenshot.Interop { } } - #endregion - - #region Object methods - - /// + /// /// Returns a string representing the wrapped object. /// /// @@ -465,9 +452,7 @@ namespace Greenshot.Interop { return byRefType; } - #endregion - - /// + /// /// Intercept method calls /// /// @@ -477,8 +462,7 @@ namespace Greenshot.Interop { /// A . /// public override IMessage Invoke(IMessage myMessage) { - IMethodCallMessage callMessage = myMessage as IMethodCallMessage; - if (null == callMessage) { + if (!(myMessage is IMethodCallMessage callMessage)) { Log.DebugFormat("Message type not implemented: {0}", myMessage.GetType()); return null; } @@ -515,8 +499,7 @@ namespace Greenshot.Interop { bool removeHandler = methodName.StartsWith("remove_"); methodName = methodName.Substring(removeHandler ? 7 : 4); // TODO: Something is missing here - Delegate handler = callMessage.InArgs[0] as Delegate; - if (null == handler) { + if (!(callMessage.InArgs[0] is Delegate handler)) { return new ReturnMessage(new ArgumentNullException(nameof(handler)), callMessage); } } else { @@ -602,8 +585,7 @@ namespace Greenshot.Interop { return new ReturnMessage(icoEx, callMessage); } catch (Exception ex) { // Test for rejected - COMException comEx = ex as COMException; - if (comEx == null) { + if (!(ex is COMException comEx)) { comEx = ex.InnerException as COMException; } if (comEx != null && (comEx.ErrorCode == RPC_E_CALL_REJECTED || comEx.ErrorCode == RPC_E_FAIL)) { diff --git a/GreenshotPlugin/Interop/ComProgIdAttribute.cs b/GreenshotPlugin/Interop/ComProgIdAttribute.cs index 58e3d3c6a..703c91aa2 100644 --- a/GreenshotPlugin/Interop/ComProgIdAttribute.cs +++ b/GreenshotPlugin/Interop/ComProgIdAttribute.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interop/IAppVisibility.cs b/GreenshotPlugin/Interop/IAppVisibility.cs index 4b898562d..38afe86c0 100644 --- a/GreenshotPlugin/Interop/IAppVisibility.cs +++ b/GreenshotPlugin/Interop/IAppVisibility.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interop/IDispatch.cs b/GreenshotPlugin/Interop/IDispatch.cs index 5ff24a865..dd6c086da 100644 --- a/GreenshotPlugin/Interop/IDispatch.cs +++ b/GreenshotPlugin/Interop/IDispatch.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interop/IOleCommandTarget.cs b/GreenshotPlugin/Interop/IOleCommandTarget.cs index 4c297a7d4..01886bf09 100644 --- a/GreenshotPlugin/Interop/IOleCommandTarget.cs +++ b/GreenshotPlugin/Interop/IOleCommandTarget.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interop/IOleWindow.cs b/GreenshotPlugin/Interop/IOleWindow.cs index 28100d193..7d69483de 100644 --- a/GreenshotPlugin/Interop/IOleWindow.cs +++ b/GreenshotPlugin/Interop/IOleWindow.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interop/IServiceProvider.cs b/GreenshotPlugin/Interop/IServiceProvider.cs index 1c0e69777..68e4b7dfd 100644 --- a/GreenshotPlugin/Interop/IServiceProvider.cs +++ b/GreenshotPlugin/Interop/IServiceProvider.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Interop/IUnknown.cs b/GreenshotPlugin/Interop/IUnknown.cs index e3f153ff8..929ad48b6 100644 --- a/GreenshotPlugin/Interop/IUnknown.cs +++ b/GreenshotPlugin/Interop/IUnknown.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/Properties/AssemblyInfo.cs b/GreenshotPlugin/Properties/AssemblyInfo.cs deleted file mode 100644 index 6d91d5373..000000000 --- a/GreenshotPlugin/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom - * - * For more information see: http://getgreenshot.org/ - * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 1 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("GreenshotPlugin")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("GreenshotPlugin")] -[assembly: AssemblyCopyright("Copyright (C) 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// This sets the default COM visibility of types in the assembly to invisible. -// If you need to expose a type to COM, use [ComVisible(true)] on that type. -[assembly: ComVisible(false)] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotPlugin/UnmanagedHelpers/DWM.cs b/GreenshotPlugin/UnmanagedHelpers/DWM.cs index 64638eec1..252442c5b 100644 --- a/GreenshotPlugin/UnmanagedHelpers/DWM.cs +++ b/GreenshotPlugin/UnmanagedHelpers/DWM.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -138,8 +138,7 @@ namespace GreenshotPlugin.UnmanagedHelpers { return true; } if (Environment.OSVersion.Version.Major >= 6) { - bool dwmEnabled; - DwmIsCompositionEnabled(out dwmEnabled); + DwmIsCompositionEnabled(out var dwmEnabled); return dwmEnabled; } return false; diff --git a/GreenshotPlugin/UnmanagedHelpers/Enumerations.cs b/GreenshotPlugin/UnmanagedHelpers/Enumerations.cs index ff2dfa325..692f69b41 100644 --- a/GreenshotPlugin/UnmanagedHelpers/Enumerations.cs +++ b/GreenshotPlugin/UnmanagedHelpers/Enumerations.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -153,12 +153,12 @@ namespace GreenshotPlugin.UnmanagedHelpers { /// Activates the window and displays it as a maximized window. /// ShowMaximized = 3, - /// - /// Displays a window in its most recent size and position. This value - /// is similar to , except - /// the window is not actived. - /// - ShowNoActivate = 4, + /// + /// Displays a window in its most recent size and position. This value + /// is similar to , except + /// the window is not actived. + /// + ShowNoActivate = 4, /// /// Activates the window and displays it in its current size and position. /// @@ -168,18 +168,18 @@ namespace GreenshotPlugin.UnmanagedHelpers { /// window in the Z order. /// Minimize = 6, - /// - /// Displays the window as a minimized window. This value is similar to - /// , except the - /// window is not activated. - /// - ShowMinNoActive = 7, - /// - /// Displays the window in its current size and position. This value is - /// similar to , except the - /// window is not activated. - /// - ShowNA = 8, + /// + /// Displays the window as a minimized window. This value is similar to + /// , except the + /// window is not activated. + /// + ShowMinNoActive = 7, + /// + /// Displays the window in its current size and position. This value is + /// similar to , except the + /// window is not activated. + /// + ShowNA = 8, /// /// Activates and displays the window. If the window is minimized or /// maximized, the system restores it to its original size and position. diff --git a/GreenshotPlugin/UnmanagedHelpers/GDI32.cs b/GreenshotPlugin/UnmanagedHelpers/GDI32.cs index 9176b21df..8c426f692 100644 --- a/GreenshotPlugin/UnmanagedHelpers/GDI32.cs +++ b/GreenshotPlugin/UnmanagedHelpers/GDI32.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -401,7 +401,7 @@ namespace GreenshotPlugin.UnmanagedHelpers { } } - [StructLayoutAttribute(LayoutKind.Sequential)] + [StructLayout(LayoutKind.Sequential)] public struct BITMAPINFO { /// /// A BITMAPINFOHEADER structure that contains information about the dimensions of color format. @@ -411,7 +411,7 @@ namespace GreenshotPlugin.UnmanagedHelpers { /// /// An array of RGBQUAD. The elements of the array that make up the color table. /// - [MarshalAsAttribute(UnmanagedType.ByValArray, SizeConst = 1, ArraySubType = UnmanagedType.Struct)] + [MarshalAs(UnmanagedType.ByValArray, SizeConst = 1, ArraySubType = UnmanagedType.Struct)] public RGBQUAD[] bmiColors; } diff --git a/GreenshotPlugin/UnmanagedHelpers/GDIplus.cs b/GreenshotPlugin/UnmanagedHelpers/GDIplus.cs index 05b202105..708b5e06e 100644 --- a/GreenshotPlugin/UnmanagedHelpers/GDIplus.cs +++ b/GreenshotPlugin/UnmanagedHelpers/GDIplus.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/UnmanagedHelpers/Kernel32.cs b/GreenshotPlugin/UnmanagedHelpers/Kernel32.cs index bdae3c043..eab2847b7 100644 --- a/GreenshotPlugin/UnmanagedHelpers/Kernel32.cs +++ b/GreenshotPlugin/UnmanagedHelpers/Kernel32.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/UnmanagedHelpers/PsAPI.cs b/GreenshotPlugin/UnmanagedHelpers/PsAPI.cs index fa5b832e0..94e230a57 100644 --- a/GreenshotPlugin/UnmanagedHelpers/PsAPI.cs +++ b/GreenshotPlugin/UnmanagedHelpers/PsAPI.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -42,9 +42,8 @@ namespace GreenshotPlugin.UnmanagedHelpers { /// public static void EmptyWorkingSet() { LOG.Info("Calling EmptyWorkingSet"); - using (Process currentProcess = Process.GetCurrentProcess()) { - EmptyWorkingSet(currentProcess.Handle); - } - } + using Process currentProcess = Process.GetCurrentProcess(); + EmptyWorkingSet(currentProcess.Handle); + } } } diff --git a/GreenshotPlugin/UnmanagedHelpers/Shell32.cs b/GreenshotPlugin/UnmanagedHelpers/Shell32.cs index 42e44aec7..4b5f7d50c 100644 --- a/GreenshotPlugin/UnmanagedHelpers/Shell32.cs +++ b/GreenshotPlugin/UnmanagedHelpers/Shell32.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -36,9 +36,7 @@ namespace GreenshotPlugin.UnmanagedHelpers { [DllImport("shell32", CharSet = CharSet.Unicode)] private static extern IntPtr SHGetFileInfo(string pszPath, uint dwFileAttributes, ref SHFILEINFO psfi, uint cbFileInfo, uint uFlags); - #region Structs - - [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)] + [StructLayout(LayoutKind.Sequential, CharSet=CharSet.Unicode)] private struct SHFILEINFO { public readonly IntPtr hIcon; public readonly int iIcon; @@ -49,49 +47,19 @@ namespace GreenshotPlugin.UnmanagedHelpers { public readonly string szTypeName; }; - #endregion - - #region Constants - // Browsing for directory. - private const uint BIF_RETURNONLYFSDIRS = 0x0001; - private const uint BIF_DONTGOBELOWDOMAIN = 0x0002; - private const uint BIF_STATUSTEXT = 0x0004; - private const uint BIF_RETURNFSANCESTORS = 0x0008; - private const uint BIF_EDITBOX = 0x0010; - private const uint BIF_VALIDATE = 0x0020; - private const uint BIF_NEWDIALOGSTYLE = 0x0040; - private const uint BIF_USENEWUI = (BIF_NEWDIALOGSTYLE | BIF_EDITBOX); - private const uint BIF_BROWSEINCLUDEURLS = 0x0080; - private const uint BIF_BROWSEFORCOMPUTER = 0x1000; - private const uint BIF_BROWSEFORPRINTER = 0x2000; - private const uint BIF_BROWSEINCLUDEFILES = 0x4000; - private const uint BIF_SHAREABLE = 0x8000; + // Browsing for directory. private const uint SHGFI_ICON = 0x000000100; // get icon - private const uint SHGFI_DISPLAYNAME = 0x000000200; // get display name - private const uint SHGFI_TYPENAME = 0x000000400; // get type name - private const uint SHGFI_ATTRIBUTES = 0x000000800; // get attributes - private const uint SHGFI_ICONLOCATION = 0x000001000; // get icon location - private const uint SHGFI_EXETYPE = 0x000002000; // return exe type - private const uint SHGFI_SYSICONINDEX = 0x000004000; // get system icon index private const uint SHGFI_LINKOVERLAY = 0x000008000; // put a link overlay on icon - private const uint SHGFI_SELECTED = 0x000010000; // show icon in selected state - private const uint SHGFI_ATTR_SPECIFIED = 0x000020000; // get only specified attributes private const uint SHGFI_LARGEICON = 0x000000000; // get large icon private const uint SHGFI_SMALLICON = 0x000000001; // get small icon private const uint SHGFI_OPENICON = 0x000000002; // get open icon - private const uint SHGFI_SHELLICONSIZE = 0x000000004; // get shell size icon - private const uint SHGFI_PIDL = 0x000000008; // pszPath is a pidl private const uint SHGFI_USEFILEATTRIBUTES = 0x000000010; // use passed dwFileAttribute - private const uint SHGFI_ADDOVERLAYS = 0x000000020; // apply the appropriate overlays - private const uint SHGFI_OVERLAYINDEX = 0x000000040; // Get the index of the overlay private const uint FILE_ATTRIBUTE_DIRECTORY = 0x00000010; private const uint FILE_ATTRIBUTE_NORMAL = 0x00000080; - #endregion - - /// + /// /// Options to specify the size of icons to return. /// public enum IconSize { diff --git a/GreenshotPlugin/UnmanagedHelpers/Structs.cs b/GreenshotPlugin/UnmanagedHelpers/Structs.cs index 42c7ecf94..499c4f8c6 100644 --- a/GreenshotPlugin/UnmanagedHelpers/Structs.cs +++ b/GreenshotPlugin/UnmanagedHelpers/Structs.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/UnmanagedHelpers/User32.cs b/GreenshotPlugin/UnmanagedHelpers/User32.cs index c0546ee48..9a4ed07db 100644 --- a/GreenshotPlugin/UnmanagedHelpers/User32.cs +++ b/GreenshotPlugin/UnmanagedHelpers/User32.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -60,8 +60,7 @@ namespace GreenshotPlugin.UnmanagedHelpers { public const int MONITOR_DEFAULTTONEAREST = 2; public const int CURSOR_SHOWING = 0x00000001; - #region DllImports - [DllImport("user32", SetLastError = true)] + [DllImport("user32", SetLastError = true)] public static extern bool keybd_event(byte bVk, byte bScan, uint dwFlags, int dwExtraInfo); [DllImport("user32", SetLastError = true)] [return: MarshalAs(UnmanagedType.Bool)] @@ -226,24 +225,21 @@ namespace GreenshotPlugin.UnmanagedHelpers { public static extern bool CloseDesktop(IntPtr hDesktop); - #endregion - - /// + /// /// Retrieves the cursor location safely, accounting for DPI settings in Vista/Windows 7. /// /// Point with cursor location, relative to the origin of the monitor setup /// (i.e. negative coordinates arepossible in multiscreen setups) public static Point GetCursorLocation() { if (Environment.OSVersion.Version.Major >= 6 && _CanCallGetPhysicalCursorPos) { - POINT cursorLocation; - try { - if (GetPhysicalCursorPos(out cursorLocation)) { + try { + if (GetPhysicalCursorPos(out var cursorLocation)) { return new Point(cursorLocation.X, cursorLocation.Y); - } else { - Win32Error error = Win32.GetLastErrorCode(); - LOG.ErrorFormat("Error retrieving PhysicalCursorPos : {0}", Win32.GetMessage(error)); } - } catch (Exception ex) { + + Win32Error error = Win32.GetLastErrorCode(); + LOG.ErrorFormat("Error retrieving PhysicalCursorPos : {0}", Win32.GetMessage(error)); + } catch (Exception ex) { LOG.Error("Exception retrieving PhysicalCursorPos, no longer calling this. Cause :", ex); _CanCallGetPhysicalCursorPos = false; } @@ -293,17 +289,17 @@ namespace GreenshotPlugin.UnmanagedHelpers { } } - public static uint GetGuiResourcesGDICount() { - using (Process currentProcess = Process.GetCurrentProcess()) { - return GetGuiResources(currentProcess.Handle, 0); - } - } + public static uint GetGuiResourcesGDICount() + { + using Process currentProcess = Process.GetCurrentProcess(); + return GetGuiResources(currentProcess.Handle, 0); + } - public static uint GetGuiResourcesUserCount() { - using (Process currentProcess = Process.GetCurrentProcess()) { - return GetGuiResources(currentProcess.Handle, 1); - } - } + public static uint GetGuiResourcesUserCount() + { + using Process currentProcess = Process.GetCurrentProcess(); + return GetGuiResources(currentProcess.Handle, 1); + } /// /// Helper method to create a Win32 exception with the windows message in it diff --git a/GreenshotPlugin/UnmanagedHelpers/Win32Errors.cs b/GreenshotPlugin/UnmanagedHelpers/Win32Errors.cs index 8e8d24761..92ffd2b92 100644 --- a/GreenshotPlugin/UnmanagedHelpers/Win32Errors.cs +++ b/GreenshotPlugin/UnmanagedHelpers/Win32Errors.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotPlugin/UnmanagedHelpers/WinMM.cs b/GreenshotPlugin/UnmanagedHelpers/WinMM.cs index 7050e6007..c2e46eaa7 100644 --- a/GreenshotPlugin/UnmanagedHelpers/WinMM.cs +++ b/GreenshotPlugin/UnmanagedHelpers/WinMM.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotWin10Plugin/GreenshotWin10Plugin.csproj b/GreenshotWin10Plugin/GreenshotWin10Plugin.csproj index 8166eca94..0769a926a 100644 --- a/GreenshotWin10Plugin/GreenshotWin10Plugin.csproj +++ b/GreenshotWin10Plugin/GreenshotWin10Plugin.csproj @@ -1,87 +1,20 @@ - - - + + - Debug - AnyCPU - {9801F62C-540F-4BFE-9211-6405DEDE563B} - {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - Library - Properties GreenshotWin10Plugin GreenshotWin10Plugin - v4.7.1 - 512 - - 8.1 - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true + net471 + - - - - - - - - - - - - + + PreserveNewest + - - - - - - - + - - - - {5B924697-4DCD-4F98-85F1-105CB84B7341} - GreenshotPlugin - + - - - 2.0.8 - - - 10.0.18362.2005 - - - - - -mkdir "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).dll" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\*.gsp" -copy "$(ProjectDir)bin\$(Configuration)\$(ProjectName).pdb" "$(SolutionDir)Greenshot\bin\$(Configuration)\Plugins\$(ProjectName)\" - - - \ No newline at end of file + diff --git a/GreenshotWin10Plugin/Native/DataTransferManagerHelper.cs b/GreenshotWin10Plugin/Native/DataTransferManagerHelper.cs index fec499b6c..b20725bf5 100644 --- a/GreenshotWin10Plugin/Native/DataTransferManagerHelper.cs +++ b/GreenshotWin10Plugin/Native/DataTransferManagerHelper.cs @@ -52,8 +52,7 @@ namespace GreenshotWin10Plugin.Native _windowHandle = handle; var riid = new Guid(DataTransferManagerId); - DataTransferManager dataTransferManager; - var hresult = _dataTransferManagerInterOp.GetForWindow(_windowHandle, riid, out dataTransferManager); + var hresult = _dataTransferManagerInterOp.GetForWindow(_windowHandle, riid, out var dataTransferManager); if (hresult != 0) { Log.WarnFormat("HResult for GetForWindow: {0}", hresult); diff --git a/GreenshotWin10Plugin/Properties/AssemblyInfo.cs b/GreenshotWin10Plugin/Properties/AssemblyInfo.cs index 25b4329e9..c8555b0b0 100644 --- a/GreenshotWin10Plugin/Properties/AssemblyInfo.cs +++ b/GreenshotWin10Plugin/Properties/AssemblyInfo.cs @@ -5,14 +5,7 @@ using System.Runtime.InteropServices; // General Information about an assembly is controlled through the following // set of attributes. Change these attribute values to modify the information // associated with an assembly. -[assembly: AssemblyTitle("GreenshotWin10Plugin")] [assembly: AssemblyDescription("A plug-in for Windows 10 only functionality")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("Greenshot")] -[assembly: AssemblyProduct("Windown 10 Plug-in")] -[assembly: AssemblyCopyright("Copyright © Greenshot 2007-2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] // The PluginAttribute describes the "entryType" and if the plugin is configurable [assembly: Plugin("GreenshotWin10Plugin.Win10Plugin", false)] @@ -24,8 +17,3 @@ using System.Runtime.InteropServices; // The following GUID is for the ID of the typelib if this project is exposed to COM [assembly: Guid("9801f62c-540f-4bfe-9211-6405dede563b")] - -// The assembly version, replaced by build scripts -[assembly: AssemblyVersion("1.2.0.0")] -[assembly: AssemblyInformationalVersion("1.2.0.0")] -[assembly: AssemblyFileVersion("1.2.0.0")] diff --git a/GreenshotWin10Plugin/Win10OcrDestination.cs b/GreenshotWin10Plugin/Win10OcrDestination.cs index 52e8b7fef..c2cfa498c 100644 --- a/GreenshotWin10Plugin/Win10OcrDestination.cs +++ b/GreenshotWin10Plugin/Win10OcrDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -72,18 +72,16 @@ namespace GreenshotWin10Plugin var text = Task.Run(async () => { var ocrEngine = OcrEngine.TryCreateFromUserProfileLanguages(); - using (var imageStream = new MemoryStream()) - { - ImageOutput.SaveToStream(surface, imageStream, new SurfaceOutputSettings()); - imageStream.Position = 0; + using var imageStream = new MemoryStream(); + ImageOutput.SaveToStream(surface, imageStream, new SurfaceOutputSettings()); + imageStream.Position = 0; - var decoder = await BitmapDecoder.CreateAsync(imageStream.AsRandomAccessStream()); - var softwareBitmap = await decoder.GetSoftwareBitmapAsync(); + var decoder = await BitmapDecoder.CreateAsync(imageStream.AsRandomAccessStream()); + var softwareBitmap = await decoder.GetSoftwareBitmapAsync(); - var ocrResult = await ocrEngine.RecognizeAsync(softwareBitmap); - return ocrResult.Text; - } - }).Result; + var ocrResult = await ocrEngine.RecognizeAsync(softwareBitmap); + return ocrResult.Text; + }).Result; // Check if we found text if (!string.IsNullOrWhiteSpace(text)) diff --git a/GreenshotWin10Plugin/Win10Plugin.cs b/GreenshotWin10Plugin/Win10Plugin.cs index 507b7d058..5f440ea38 100644 --- a/GreenshotWin10Plugin/Win10Plugin.cs +++ b/GreenshotWin10Plugin/Win10Plugin.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot diff --git a/GreenshotWin10Plugin/Win10ShareDestination.cs b/GreenshotWin10Plugin/Win10ShareDestination.cs index 8933b9b7a..da8191fba 100644 --- a/GreenshotWin10Plugin/Win10ShareDestination.cs +++ b/GreenshotWin10Plugin/Win10ShareDestination.cs @@ -1,6 +1,6 @@ /* * Greenshot - a free and open source screenshot tool - * Copyright (C) 2007-2016 Thomas Braun, Jens Klingen, Robin Krom + * Copyright (C) 2007-2020 Thomas Braun, Jens Klingen, Robin Krom * * For more information see: http://getgreenshot.org/ * The Greenshot project is hosted on GitHub https://github.com/greenshot/greenshot @@ -66,100 +66,94 @@ namespace GreenshotWin10Plugin { var taskCompletionSource = new TaskCompletionSource(); - using (var imageStream = new MemoryRandomAccessStream()) - using (var logoStream = new MemoryRandomAccessStream()) - using (var thumbnailStream = new MemoryRandomAccessStream()) - { - var outputSettings = new SurfaceOutputSettings(); - outputSettings.PreventGreenshotFormat(); + using var imageStream = new MemoryRandomAccessStream(); + using var logoStream = new MemoryRandomAccessStream(); + using var thumbnailStream = new MemoryRandomAccessStream(); + var outputSettings = new SurfaceOutputSettings(); + outputSettings.PreventGreenshotFormat(); - // Create capture for export - ImageOutput.SaveToStream(surface, imageStream, outputSettings); - imageStream.Position = 0; - Log.Info("Created RandomAccessStreamReference for the image"); - var imageRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(imageStream); - RandomAccessStreamReference thumbnailRandomAccessStreamReference; - RandomAccessStreamReference logoRandomAccessStreamReference; + // Create capture for export + ImageOutput.SaveToStream(surface, imageStream, outputSettings); + imageStream.Position = 0; + Log.Info("Created RandomAccessStreamReference for the image"); + var imageRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(imageStream); + RandomAccessStreamReference thumbnailRandomAccessStreamReference; + RandomAccessStreamReference logoRandomAccessStreamReference; - // Create thumbnail - using (var tmpImageForThumbnail = surface.GetImageForExport()) - { - using (var thumbnail = ImageHelper.CreateThumbnail(tmpImageForThumbnail, 240, 160)) - { - ImageOutput.SaveToStream(thumbnail, null, thumbnailStream, outputSettings); - thumbnailStream.Position = 0; - thumbnailRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(thumbnailStream); - Log.Info("Created RandomAccessStreamReference for the thumbnail"); - } - } - // Create logo - using (var logo = GreenshotResources.getGreenshotIcon().ToBitmap()) - { - using (var logoThumbnail = ImageHelper.CreateThumbnail(logo, 30, 30)) - { - ImageOutput.SaveToStream(logoThumbnail, null, logoStream, outputSettings); - logoStream.Position = 0; - logoRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(logoStream); - Log.Info("Created RandomAccessStreamReference for the logo"); - } - } - string applicationName = null; - var dataTransferManagerHelper = new DataTransferManagerHelper(handle); - dataTransferManagerHelper.DataTransferManager.TargetApplicationChosen += (dtm, args) => - { - Log.InfoFormat("Trying to share with {0}", args.ApplicationName); - applicationName = args.ApplicationName; - }; - var filename = FilenameHelper.GetFilename(OutputFormat.png, captureDetails); - var storageFile = await StorageFile.CreateStreamedFileAsync(filename, async streamedFileDataRequest => - { - // Information on how was found here: https://socialeboladev.wordpress.com/2013/03/15/how-to-use-createstreamedfileasync/ - Log.DebugFormat("Creating deferred file {0}", filename); - try - { - using (var deferredStream = streamedFileDataRequest.AsStreamForWrite()) - { - await imageStream.CopyToAsync(deferredStream).ConfigureAwait(false); - await imageStream.FlushAsync().ConfigureAwait(false); - } - // Signal that the stream is ready - streamedFileDataRequest.Dispose(); - } - catch (Exception) - { - streamedFileDataRequest.FailAndClose(StreamedFileFailureMode.Incomplete); - } - // Signal transfer ready to the await down below - taskCompletionSource.TrySetResult(applicationName); - }, imageRandomAccessStreamReference).AsTask().ConfigureAwait(false); + // Create thumbnail + using (var tmpImageForThumbnail = surface.GetImageForExport()) + { + using var thumbnail = ImageHelper.CreateThumbnail(tmpImageForThumbnail, 240, 160); + ImageOutput.SaveToStream(thumbnail, null, thumbnailStream, outputSettings); + thumbnailStream.Position = 0; + thumbnailRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(thumbnailStream); + Log.Info("Created RandomAccessStreamReference for the thumbnail"); + } + // Create logo + using (var logo = GreenshotResources.getGreenshotIcon().ToBitmap()) + { + using var logoThumbnail = ImageHelper.CreateThumbnail(logo, 30, 30); + ImageOutput.SaveToStream(logoThumbnail, null, logoStream, outputSettings); + logoStream.Position = 0; + logoRandomAccessStreamReference = RandomAccessStreamReference.CreateFromStream(logoStream); + Log.Info("Created RandomAccessStreamReference for the logo"); + } + string applicationName = null; + var dataTransferManagerHelper = new DataTransferManagerHelper(handle); + dataTransferManagerHelper.DataTransferManager.TargetApplicationChosen += (dtm, args) => + { + Log.InfoFormat("Trying to share with {0}", args.ApplicationName); + applicationName = args.ApplicationName; + }; + var filename = FilenameHelper.GetFilename(OutputFormat.png, captureDetails); + var storageFile = await StorageFile.CreateStreamedFileAsync(filename, async streamedFileDataRequest => + { + // Information on how was found here: https://socialeboladev.wordpress.com/2013/03/15/how-to-use-createstreamedfileasync/ + Log.DebugFormat("Creating deferred file {0}", filename); + try + { + using (var deferredStream = streamedFileDataRequest.AsStreamForWrite()) + { + await imageStream.CopyToAsync(deferredStream).ConfigureAwait(false); + await imageStream.FlushAsync().ConfigureAwait(false); + } + // Signal that the stream is ready + streamedFileDataRequest.Dispose(); + } + catch (Exception) + { + streamedFileDataRequest.FailAndClose(StreamedFileFailureMode.Incomplete); + } + // Signal transfer ready to the await down below + taskCompletionSource.TrySetResult(applicationName); + }, imageRandomAccessStreamReference).AsTask().ConfigureAwait(false); - dataTransferManagerHelper.DataTransferManager.DataRequested += (sender, args) => - { - var deferral = args.Request.GetDeferral(); - args.Request.Data.OperationCompleted += (dp, eventArgs) => - { - Log.DebugFormat("OperationCompleted: {0}, shared with", eventArgs.Operation); - taskCompletionSource.TrySetResult(applicationName); - }; - var dataPackage = args.Request.Data; - dataPackage.Properties.Title = captureDetails.Title; - dataPackage.Properties.ApplicationName = "Greenshot"; - dataPackage.Properties.Description = "Share a screenshot"; - dataPackage.Properties.Thumbnail = thumbnailRandomAccessStreamReference; - dataPackage.Properties.Square30x30Logo = logoRandomAccessStreamReference; - dataPackage.Properties.LogoBackgroundColor = Color.FromArgb(0xff, 0x3d, 0x3d, 0x3d); - dataPackage.SetStorageItems(new List { storageFile }); - dataPackage.SetBitmap(imageRandomAccessStreamReference); - dataPackage.Destroyed += (dp, o) => - { - Log.Debug("Destroyed."); - }; - deferral.Complete(); - }; - dataTransferManagerHelper.ShowShareUi(); - return await taskCompletionSource.Task.ConfigureAwait(false); - } - }).Result; + dataTransferManagerHelper.DataTransferManager.DataRequested += (sender, args) => + { + var deferral = args.Request.GetDeferral(); + args.Request.Data.OperationCompleted += (dp, eventArgs) => + { + Log.DebugFormat("OperationCompleted: {0}, shared with", eventArgs.Operation); + taskCompletionSource.TrySetResult(applicationName); + }; + var dataPackage = args.Request.Data; + dataPackage.Properties.Title = captureDetails.Title; + dataPackage.Properties.ApplicationName = "Greenshot"; + dataPackage.Properties.Description = "Share a screenshot"; + dataPackage.Properties.Thumbnail = thumbnailRandomAccessStreamReference; + dataPackage.Properties.Square30x30Logo = logoRandomAccessStreamReference; + dataPackage.Properties.LogoBackgroundColor = Color.FromArgb(0xff, 0x3d, 0x3d, 0x3d); + dataPackage.SetStorageItems(new List { storageFile }); + dataPackage.SetBitmap(imageRandomAccessStreamReference); + dataPackage.Destroyed += (dp, o) => + { + Log.Debug("Destroyed."); + }; + deferral.Complete(); + }; + dataTransferManagerHelper.ShowShareUi(); + return await taskCompletionSource.Task.ConfigureAwait(false); + }).Result; if (string.IsNullOrWhiteSpace(exportTarget)) { exportInformation.ExportMade = false; diff --git a/version.json b/version.json new file mode 100644 index 000000000..10ccb44d4 --- /dev/null +++ b/version.json @@ -0,0 +1,23 @@ +{ + "$schema": "https://raw.githubusercontent.com/AArnott/Nerdbank.GitVersioning/master/src/NerdBank.GitVersioning/version.schema.json", + "version": "1.3", + "publicReleaseRefSpec": [ + ".*/master$", // we release out of master + ".*/release/*$" // we release out of develop + ], + "nugetPackageVersion": { + "semVer": 2 // optional. Set to either 1 or 2 to control how the NuGet package version string is generated. Default is 1. + }, + "cloudBuild": { + "setVersionVariables": true, + "setAllVariables": true, + "buildNumber": { + "enabled": true, + "includeCommitId": { + "when": "nonPublicReleaseOnly", + "where": "buildMetadata" + } + } + }, + "inherit": false +} \ No newline at end of file